1. 引言
气象变化带来的天气变化时刻影响着各行各业的日常生活,气象数据作为气象灾害预报以及情势预报分析的重要参数,可为应对极端自然灾害预警提供合理参考 [1]。气象变化本身就是一个受多因素影响且存在极端情况的过程。然而,随着全球经济的飞速发展,人类对自然界气候的影响逐年增大,改变气象数据的因素逐渐增多也更加复杂,导致建立气象预测模型的难度增加,从而加大了气象预测研究的工作难度。
进入二十一世纪后,气象观测领域无论是在观测方法、观测技术还是观测设备以及气象观测站数量上都得到了迅速发展。虽然气象观测站能够保存和收集到大量的历史和实时气象数据资料,却缺乏有效的手段加以利用,一般仅根据传统的数理统计学知识对获取的气象数据资料进行修正和预测 [2]。为了迎接大数据时代的到来,也为了充分利用气象观测站收集的气象数据资料,本文利用深度学习及神经网络相关技术知识对气象时序数据进行建模,构建的网络模型可以利用大量气象时序数据学习隐藏在数据背后的关联 [3]。本文针对平均风速、地表温度和降水气象时序数据建立时间序列预测模型,通过搭建各种经典神经网络形成时间序列预测混合模型,寻找普通神经网络预测时序数据存在的不足,并在此基础上利用小波阈值降噪技术组合相关神经网络模型来进行气象时序数据的预测。
基于上述分析,本文提出了一种适用于气象时序数据预测的方法。本文的主要贡献分为两个部分:
1) 将气象站收集的真实气象数据用于小波阈值降噪法进行降噪,解决因噪声影响预测结果的准确性问题。
2) 将降噪后的气象时序数据输入深度学习循环神经网络中进行预测。
本文结构如下:第二章介绍小波变换阈值降噪与LSTM网络,第三章展示实验,第四章总结本文。
2. 相关知识
2.1. 小波变换降噪
小波变换是一种利用小波函数平移和缩放形成不同分辨率的时域和频率窗口,从而完成对信号的高、低频多尺度分解,实现对信号时间、频率的局部化分析的工具 [3]。依据处理的时间序列信息属性不同,小波变换分为连续和离散两种类型。本文的气象时序数据属于离散数据,故将使用离散小波变换。
小波函数
指的是一类有限长且快速衰减至0的震荡波,其振幅具有正负相间的特征,幅度平均值为0,即
,小波函数可以是不对称、不规则的形状,该波形可以被缩放和平移以匹配不同的输入信号。由于不同的小波函数在处理时序信号时各有优缺点,因此需要选择不同的小波函数适用于不同类型时序数据的降噪,且没有一种小波函数可以适用于任何类型时序信号的降噪。经过多次实验验证,针对本文的气象时序数据,使用sym8小波函数分解降噪效果最好。
小波变换降噪法就是根据小波分解后得到的有效信号和噪声在不同频率上得到的小波系数具有不同的特征进行区分。一般而言,随着小波函数尺度增大而增大的小波系数是由有效信号分解产生,而随着小波函数尺度增大而快速衰减的小波系数则是由噪音分解产生。含有噪声的信号经过小波变换多尺度分析得到小波系数后,会先进行阈值估值,再通过特定的阈值函数将低于阈值的小波系数全部忽略,最后经过小波逆变换算法重构降噪信号。
如图1所示为小波变换阈值降噪法,小波阈值降噪法首先确定一个关于小波系数的阈值,判定小于选定阈值的小波系数为噪音生成,需要忽略以达到降噪的效果;将判定大于选定阈值的小波系数为有效信号产生的,需要经过阈值函数处理后用于信号的重构。小波阈值降噪法具体步骤为:
![](//html.hanspub.org/file/20-1542432x9_hanspub.png?20220329082846200)
Figure 1. Wavelet noise reduction process
图1. 小波降噪过程
1) 小波分解:选择一种小波函数,对时序信号进行指定层数小波分解;
2) 阈值处理过程:先通过阈值估值准则选取合适的阈值,再使用相应的阈值函数对各个尺度下小波变换分解后得到小波系数进行处理;
3) 小波重构:使用阈值函数计算后的估计小波系数得到重构的降噪信号。
2.2. LSTM循环神经网络
传统的神经网络模型中,信息流从在网络结构内是单向流动的,在面对很多需要前后关联信息的时序问题时却表现的无能为力。而循环神经网络通过巧妙的设计理念,通过引入记忆单元和反馈机制形成动态神经网络理论来处理时序问题。对于时序数据中不同时刻的输入信息处理使用完全相同的单元结构和参数,从而形成递归循环的观念 [4]。虽然理论上,循环神经网络能够完成任意长度的时间序列数据任务。但通过研究发现,LSTM循环神经网络恰好能满足本文关于气象时序数据预测的需求,其在处理时间序列预测方面表现出良好的性能。
长短期记忆网络(Long Short-Term Memory networks, LSTM)是为了解决SimpleRNN循环神经网络缺陷,提升循环神经网络性能而提出的改进网络 [5]。LSTM网络在SimpleRNN单元结构上进行改进后提出,LSTM网络利用特殊的记忆单元设计在时间轴上引入细胞状态的基础上在一定程度上解决了SimpleRNN存在的长期依赖和梯度消失和梯度爆炸问题,因此在时间序列预测和自然语言处理 [6] 等众多应用领域获得巨大成功。如图2所示,LSTM网络通过三个由Sigmoid函数构成的遗忘门、输入门和输出门,分别选择性地遗忘,输入,输出历史时刻和当前时刻的信息,从而使网络能够记住更长历史时刻内的信息模式。
![](//html.hanspub.org/file/20-1542432x10_hanspub.png?20220329082846200)
Figure 2. LSTM network element structure
图2. LSTM网络单元结构
3. 实验与分析
3.1. 数据集
时间序列是值按规定时间间隔采集的一系列数据,其中,气象数据易受极端天气、周期性规律等因素影响,导致时序数据呈现出强波动性、强非线性、高噪音、非平稳的特点。本文使用的气象时序数据以天为单位,对所有数据进行异常检测完成清洗后,清除明显偏离正常范围的异常数据后。将9个连续日的气象数据作为一个小时间序列,即利用9天的时间参数构成9 × 1的向量作为特征,将下一天的气象数据作为标签。最终获取关于平均风速、地表温度、降水、气温和相对湿度5个气象参数的多维数据集。将全部5个气象时序数据中的百分之八十样本数据作为训练集,剩下的数据归纳到测试集,至于训练中的验证集则再次选取上述训练集中百分之十的样本数据即可。
本文实验首先分析从气象站获取的平均风速、地表温度、降水、气温和相对湿度气象时序数据,使用Python语言中的pywt包,实现小波降噪模块的功能。在数据预处理过程中,先后剔除样本数据中的空缺值和异常值,再利用小波变换对信号进行高频、低频分量的分解重组。按照以下各步骤分别针对平均风速、地表温度、降水、气温和相对湿度气象时序数据进行预测:
1) 剔除空缺值和异常值后的样本数据,使用sym8小波函数进行层数为4的小波分解;
2) 使用rigrsure无偏风险自适应阈值估值准则确定各层小波系数的阈值后,使用软阈值函数处理后的估计小波系数,得到降噪后的信号;
3) 将降噪后的时序数据,输入基于小波变换和注意力机制的混合神经网络预测模型,得到样本数据的预测值。
a) 输入气象站逐日2分钟平均风速总计5685条实验据,经过数据预处理剔除样本数据中空缺值和异常值后,依据时间与平均风速的函数关系,经过小波变换阈值降噪处理后的结果与原始时序信号对比结果,如图3所示。
![](//html.hanspub.org/file/20-1542432x11_hanspub.png?20220329082846200)
Figure 3. Comparison of average wind speed time series data after wavelet transformation
图3. 平均风速时序数据经小波变换后的对比图
b) 输入气象站逐日地表温度总计8211条实验据,经过数据预处理剔除样本数据中空缺值和异常值后,依据时间与地表温度的函数关系,经过小波变换阈值降噪处理后的结果与原始时序信号对比结果,如图4所示。
![](//html.hanspub.org/file/20-1542432x12_hanspub.png?20220329082846200)
Figure 4. Comparison of surface temperature time series data after wavelet transformation
图4. 地表温度时序数据经小波变换后的对比图
c) 输入气象站逐日降水总计8728条实验据,经过数据预处理剔除样本数据中空缺值和异常值后,依据时间与降水的函数关系,经过小波变换阈值降噪处理后的结果与原始时序信号对比结果,如图5所示。
![](//html.hanspub.org/file/20-1542432x13_hanspub.png?20220329082846200)
Figure 5. Comparison of precipitation time series data after wavelet transformation
图5. 降水时序数据经小波变换后的对比图
3.2. 实验效果与分析
如图6~8所示,实验绘制了基于小波变换和LSTM循环神经网络模型在测试集上对平均风速、地表温度和降水气象数据预测值与真实值的对照图,图中纵坐标分别表示平均风速、地表温度和降水,横坐标表示时序,深绿色实线为真实样本数据值,蓝色实线为模型下一时间步的预测值。
通过上述三个实验对比图像,可以发现,同一预测模型针对不同气象时序数据的预测效果有很大区别。说明在面对复杂多变的气象时序面前,神经网络虽然可以表现出很强的适应性,但依旧不能完美匹配每一项气象时序数据背后隐藏的映射关系。另一方面,相对与单一LSTM神经网络模型,本文提出的基于小波变换和LSTM神经网络混合模型在所有三个气象预测指标的预测效果上都带来了明显的提高,证明本文提出的改进方法是实证有效的。
![](//html.hanspub.org/file/20-1542432x14_hanspub.png?20220329082846200)
Figure 6. Comparison between the predicted average wind speed and the actual values
图6. 平均风速预测值与真实值对照图
![](//html.hanspub.org/file/20-1542432x15_hanspub.png?20220329082846200)
Figure 7. Comparison between the predicted surface temperature and the actual values
图7. 地表温度预测值与真实值对照图
![](//html.hanspub.org/file/20-1542432x16_hanspub.png?20220329082846200)
Figure 8. Comparison between the predicted precipitation and the actual values
图8. 降水预测值与真实值对照图
4. 结语
本文针对非平稳、非线性、多波动的气象时序数据,建立了经小波变换降噪处理后基于LSTM循环神经网络预测模型。首先,利用小波变换阈值降噪法,得到时间序列上的平稳数据。接下来使用LSTM网络学习气象数据的时序信息,以达到提高预测准确率的目的。虽然本文提出的混合网络模型目前仅在多维气象时序数据进行预测,但可以拓展到各种时序预测场景,例如:水质预测、污染气体排放预测等任务中 [7]。
加入小波变换降噪的神经网络预测模型,实现小波变换理论与深度学习知识的交叉使用,也丰富了小波变换的实际应用。为了寻找出合适的气象时间序列预测方法,提高单一深度神经网络模型的预测效果,提出了本文的混合模型。但本文混合模型中使用的LSTM网络是:单向LSTM。单向LSTM网络进行时间序列预测存在的问题是,LSTM网络只能通过历史时刻的信息对当前时刻的数据进行预测。但模型有可能需要更多的信息参与当前时刻的计算,因此将单向LSTM替换为双向Bi-LSTM利用其叠加输出的隐藏状态,结合前后时序信息,理论上可以更好地保留和控制上下文信息,从而实现更好的预测效果 [8]。但单向循环神经网络可以更好地模拟现实预测情况,因为在实际应用中,更多时候只有历史时刻的数据而并没有未来时刻的数据作为支撑而致使其应用受限。