基于隐马尔科夫模型的天气预报算法研究毕业论文
2021-03-11 23:59:35
摘 要
在本课题研究中,尝试在MATLAB中利用隐马尔科夫模型进行天气预测,将未知的天气变化作为隐藏状态,将动植物变化和同期的天气预报作为模型中的观测状态,从而在不直接观测天气的情况下,达到预测未来天气状况的目的。隐马尔科夫模型是一种统计分析模型,它用来描述一个隐含未知参数的马尔科夫过程。在隐马尔科夫模型中涉及到了三种经典算法,分别是前向算法、维特比算法、BW算法,我们将用这三个算法来建立可以进行天气预测的隐马尔科夫模型。我们将调取北京市观象台近期的历史天气数据来对模型进行训练,并将模型预测结果和已知的隐藏状态进行对比,来验证隐马尔科夫模型的准确性。我们还将进一步研究在序列长度增加时,对模型中的状态转移矩阵和混淆矩阵是否有影响,对输出结果是否有影响,我们通过对误差率的分析来进行对比。
关键词:隐马尔科夫模型;天气预报;MATLAB
Abstract
In this research we try to use the hidden Markov model for weather forecast, the weather will change as the unknown hidden state. Unknown weather changes as a hidden state. The changes of plants and animals and the weather forecast in the same period were taken as the observation state in the model. Therefore, the aim of predicting the future weather condition is not observed directly. Hidden Markov model (HMM) is a statistical analysis model, which is used to describe a Markov process with unknown parameters. We will use the classic three algorithms in the model which are forward algorithm, Vitby algorithm and BW algorithm to build the hidden Markov model of weather forecast. After training the model with a large amount of historical data, we compare the model predictions with the known hidden states to verify the accuracy of the hidden Markov model. We will further investigate whether the state transition matrix, aliasing matrix and the output in the model are influenced when the sequence length increases.
Key Words: Hidden Markov model;Weather Forecast;MATLAB
目录
1.绪论 1
1.1 研究目的及意义 1
1.2 国内外研究现状 1
1.3课题研究的基本内容 2
2.基于隐马尔科夫模型的天气预测算法研究 4
2.1马尔科夫模型 4
2.2隐马尔科夫模型的构成 4
2.3HMM的三个基本问题 6
2.3.1前向算法 6
2.3.2维特比算法 8
2.3.3Baum-Welch算法 9
3.算法实现与仿真分析 11
3.1阴晴雨预测模块 11
3.1.1模型的建立 11
3.1.2实验结果 12
3.1.3数据分析 13
3.2温度变化预测模块 15
3.2.1模型的建立 15
3.2.2实验结果 15
3.2.3数据分析 16
3.3PM2.5预测模块 17
3.3.1模型的建立 17
3.3.2实验结果 18
3.3.3数据分析 18
3.4Matlab GUI 交互界面的设计 19
4.总结 21
致谢 22
参考文献 23
1.绪论
1.1 研究目的及意义
天气预报是大气变化规律在近期及当前天气情况的基础上的应用,能够预计在未来一段时间的天气状况。其准确率对生产生活的合理安排、加强救灾工作,制定急救气象计划等具有关键的作用,能最大限度地避免或减少灾害损失,提高人们的生活和生产效率。因此对天气预报准确性的关注上升到了保障国民生产生活的高度,提高天气预报的准确性成为了世界气象组织和各国科学家们面临的亟待解决的问题。
传统的天气预报研究是根据对卫星云图和天气图的分析,结合气象资料、地形、季节特点和群众经验等综合研究后作出的判断,虽已日臻成熟,但准入门槛较高。统计模型的出现,能够让人们在不直接观测天气的情况下,建立与天气变化相关的动植物活动,推算出最大概率出现的天气变化情况,天气预报的准确性、时效性、针对性和精细化水平可得到进一步的提高。因此,利用统计分析模型对天气状况进行合理有效的处理就成为了一种很自然的想法。
隐马尔科夫模型是一种统计分析模型,它是用来描述一个含有未知参数的马尔可夫过程[15]。其难点是从可见参数中确定该过程的隐含参数,然后利用这些参数进行进一步的分析,例如模式识别。在一个正常的马尔可夫模型中,观察者可以直接看见状态序列的改变,使得状态的转换概率就是全部的参数。但在隐马尔可夫模型中,观察者们能够直接看见的是与状态相关的某些变量,而状态序列本身则变为不可见的[14]。在每一种状态下对应于的几种输出符号都是存在一定的概率分布,所以输出符号序列可以揭示有关状态序列的一些信息。在本次的课题研究中将尝试利用隐马尔科夫模型进行天气预测,将未知的天气变化作为模型中的隐藏状态,将动植物变化和同期天气预报作为模型中的观察状态。
隐马尔科夫模型作为信号处理的一个重要方面,在图像处理、语音合成和生物信号处理等方向得到了广泛的应用,并取得了诸多重要的成果。因此,结合实际应用,深入研究各种新型隐马尔科夫模型及其性质,具有重要的意义。本次研究提高了天气预报的准确性,拓宽了隐马尔科夫模型的应用范围,使得隐马尔科夫模型的分析和应用更为深刻。
1.2 国内外研究现状
隐马尔科夫模型创立于上世纪70年代,语音识别是其最初的应用之一,始于70年代中期,并在80年代得到了传播和发展[7],后来成功地应用于声学信号的建模中。迄今为止,科学家们仍然认为它是实现快速和准确的语音识别系统的最成功的方法[5]。在80年代后半期,隐马尔科夫模型开始应用到生物序列,特别是在DNA分析中。此后,它逐渐成为生物信息学领域不可缺少的技术。
90年代以来,隐马尔科夫模型逐渐应用于人类行为分析和网络安全。1992年,Yamato等人第一次将隐马尔科夫模型引入到人的行为分析中,研究了行为分析的各种状态空间算法。隐马尔科夫模型的优良特性使得停滞在行为分析上近30年的研究重新成为热点,得以进入高速发展时期。1999年,Warrender等人将隐马尔科夫模型引入到入侵检测中,随后在该领域迅速得到广泛应用,并逐渐显示出它的优越性。除此之外,隐马尔科夫模型在网络安全领域的研究也开始小有成就,应用于数据库异常检测、Web用户异常访问等的检测中[10]。