刘 伟 王云雷 宋家俊
(西藏大学工学院, 西藏 拉萨 850000)
伊犁河谷被誉为新疆的“塞外江南”,但同时也是新疆地区山洪的易发区、高发区和重灾区[1]。由山洪及其引发的滑坡、泥石流等次生地质灾害,对当地人民的生命财产安全、农林牧业的生产、交通运输和基础设施都造成了严重影响和极大损失。伊宁县是伊犁河谷的经济、政治、文化中心,预测该地区山洪暴发的主要影响因素降水量值,对于预防该地区山洪以及由山洪引发的滑坡、泥石流等次生灾害发生具有重要意义。
近年来,新疆的总体气候特征由暖干向暖湿过渡,降雨日数及强度呈现增加的趋势,直接导致洪灾发生频率显著增加[2-3]。现有针对伊犁河谷地区山洪影响因素的研究已较为全面,都有相关的研究论证。例如,从气候背景、天气诊断分析[4],得出冬春季温度回升是山洪发生的主要气象因素之一;从地形地貌特征研究出发[5],可知山麓、山前平原和河谷地带洪水较为易发;通过分析历年降水量数据,确定临界致灾雨量指标,对洪灾易发区进行等级划分[6]。
本文基于深度学习,搭建不同的神经网络模型,即反向传播神经网络(Back Propagation Neural Network,BP)、循环神经网络(Recurrent Neural Network,RNN)、长短期记忆网络(Long Short Term Memory,LSTM)、门循环单元网络(Gate Recurrent Unit,GRU),然后通过比较分析不同的神经网络对降水量值模拟的性能,选择最优的神经网络模型,从而预测山洪产生的主要影响因子[7]即降水量的值,为预测伊宁地区山洪灾害的发生提供有力参考。
采用数据为NOAA提供的2015年至2022年5月19日伊宁县站点的气象监测数据,包括温度、露点温度、海平面气压、本站气压、能见度、风向风速、最大风速、阵风、最高温、最低温、降水量等气象要素。所用数据实验前都将进行缺失值和归一化等预处理,保证实验结果的可靠性。
神经网络通过模拟人脑机理,使输入样本数据在通过神经网络模型计算后获得不同的权重参数,最后输出数据进行推理预测。本文将2015—2021年伊宁县7年的气象数据作为训练集,将温度、露点温度、本站气压、能见度、风向风速、最大风速、最高温、最低温8个影响因子输入BP、RNN、LSTM、GRU 4种不同的神经网络模型,使损失函数趋近于0,从而得到4种不同的预测降水量值的网络模型。再以截至2022年5月19日的气象数据作为测试集,将降水量值的8个影响因子放入模型预测降水量,以均方误差作为检验模型性能的标准,均方误差越小,模型性能越好,从而得到伊宁地区降水量预测的最佳神经网络模型。
1.2.1 BP算法模型
BP神经网络算法的学习过程中包含信息前向传播和误差反向传播两个阶段。在信息前向传播阶段,从输入层开始,输入元素经隐藏层逐层传输到输出层。如果输出层的实际输出结果与所期望的输出结果不一致,网络将进行误差反向传播。误差从输出层传输到第一个隐藏层,并分配给每一层的所有单元。误差信息是修正各单位权重和偏置的依据。信息前向传播和误差反向传播阶段的权重调整周期一直持续到收敛为止。在权重和偏置不断调整的过程中,网络一直处于学习的过程中。这个过程循环进行,直到网络的输出误差达到预期要求的计算精度,或者进行到学习次数达到预设值为止[8-9]。
前向传播阶段是典型的3层BP神经网络,输入信息从第一个隐藏层开始,经过第二个隐藏层,传输到输出层,在输出端产生输出信息。如果输出信息满足要求,则终止计算。否则,网络将被转移到误差的反向传播阶段。其中,输入样本X=[x1,x2,…,xn],权重W=[w1,w2,…,wn],偏置B=[b1,b2,…,bn],输出Y=[y1,y2,…,yn]。3层BP网络结构见图1。
图1 3层BP网络结构
1.2.2 RNN算法模型
RNN神经网络是深度学习算法的重要组成部分。与全连接神经网络相比,最大的不同在于隐藏层单元之间不是相互独立的。隐藏层神经元不仅相互关联,而且当前隐藏层细胞的状态也受到历史输入数据的影响。这个特性使得提取时序数据结构的时序关系非常有效。RNN是一种用于处理序列数据的神经网络。在不同的时间步,RNN循环权重并跨时间步连接[10]。
由图2可知,当用RNN计算当前状态时,它不仅取决于当前的输入,而且取决于前一状态的输出,即当前输入xt和前一状态输出st-1共同决定当前状态st,即
图2 RNN神经网络结构
ot=g(Vst)
st=f(Uxt+WSt-1)
式中:V为隐藏层到输出层之间的权重矩阵;U为输入层到隐藏层之间的权重矩阵;f、g均为激活函数;W为隐藏层和隐藏层之间不同时间的权重矩阵。循环迭代代入,便可得到
ot=g(Vst)=g[Vf(Uxt+WSt-1)]
1.2.3 LSTM算法模型
LSTM是RNN循环神经网络的一种优化形式,因为标准的RNN不会对以往的信息进行选择,而是机械地叠加以往的信息,导致RNN存在着梯度消失和梯度爆炸的问题,LSTM可有效解决这两个问题。相较于RNN,LSTM引入了输入门、遗忘门、输出门3个结构[11]。LSTM结构见图3。其中,f、g为激活函数,Z为输入样本。Zi对输入门进行表达,在这个部分对输入进行选择性的记忆,重点记录相关性强的信息;Zf对遗忘门进行表达,选择性地录入重要信息,遗弃次要信息;Zo对输出门进行表达,过滤出需要得到的输出部分。LSTM模型表达式如下:
图3 LSTM结构(某时间节点)
Z=tanh(W[xt,ht-1])
Zi=σ(Wi[xt,ht-1])
Zf=σ(Wf[xt,ht-1])
Zo=σ(Wo[xt,ht-1])
1.2.4 GRU算法模型
GRU也是RNN的一种优化形式,但是相较于LSTM,GRU的结构更加简单,也可以理解为LSTM的一种变体,LSTM有3个门结构,GRU只有重置门和更新门2个门结构[12]。GRU模型结构见图4。
图4 GRU模型结构
Z对更新门进行表达,更新门帮助模型决定到底要将多少过去的信息传递到未来;r对重置门进行表达,重置门决定了怎样将当前新的输入信息与之前的记忆信息相结合;h表示重置之后的数据;St是更新记忆之后的表达式,即最终的记忆。GRU模型表达式如下:
Z=σ(xtUz+st-1Wz)
r=σ(xtUr+st-1Wr)
h=tanh[xtUh+(st-1⊙r)Wh]
st=(1-Z)⊙h+Z⊙st-1
图5~图8分别为4种神经网络模型对2015—2021年降水量值训练的结果。从图中可以看出,BP神经网络的训练结果最差,对原始数据拟合效果并不理想,拟合曲线大致为一段弧线。RNN神经网络相对于BP神经网络的拟合能力有了一些提高,但在拟合时时间损耗较多,整体拟合效果不理想。LSTM神经网络的拟合效果比较理想,基本能拟合原始曲线且时间损耗较小。GRU神经网络的拟合效果较之于LSTM差一些,但是比RNN神经网络效果要好。
图5 BP神经网络训练模型
图6 RNN神经网络训练模型
图7 LSTM神经网络训练模型
图8 GRU神经网络训练模型
同时从表1各个神经网络的损失函数值的大小来看,LSTM神经网络是4种神经网络里面拟合效果最好的。LSTM神经网络优于GRU神经网络,GRU神经网络优于RNN神经网络,RNN神经网络优于BP神经网络。
表1 4种神经网络模型损失值变化
图9~图12为利用训练过的4种神经网络模型对截至2022年5月19日降水量值反归一化的预测情况。从图中可以比较清楚地看出,4种模型中LSTM的预测效果最好,BP的预测效果最差。
图9 BP神经网络测试模型
图10 RNN神经网络测试模型
图11 LSTM神经网络测试模型
图12 GRU神经网络测试模型
4种神经网络模型预测均方误差见表2。表2也佐证了训练集中LSTM模型效果最好的结论。同时发现训练集中表现较好的GRU模型,在MSE评估上比RNN逊色了一些,这是由于数据量不够充足的缘故导致出现了一些误差,如果同时考虑模型评价指标MSE和时间性能的话,GRU依然是优于RNN模型的,BP模型的效果最差。
表2 4种神经网络模型预测均方误差
本文通过构建BP、RNN、LSTM、GRU4种不同的神经网络模型,对伊宁县日降水量值进行预测分析,实验结果表明,4种神经网络模型相比较,LSTM模型对于伊宁县地区降水量值的预测效果最好,均方误差可以达到0.06194096,其预测的降水量值可以作为预防山洪的一个重要指标,并能结合其他影响山洪暴发的因素,有效地为当地防灾减灾提供科学依据。
训练预测模型中输入的温度、露点温度、本站气压、能见度、风向风速、最大风速、最高温、最低温等气象影响因子在某种程度上不能非常确切地表达出与降水量的紧密相关性,因此,也对输入训练模型的气象因子的选择提出了更高的要求。