劉 偉 王云雷 宋家俊
(西藏大學(xué)工學(xué)院, 西藏 拉薩 850000)
伊犁河谷被譽(yù)為新疆的“塞外江南”,但同時也是新疆地區(qū)山洪的易發(fā)區(qū)、高發(fā)區(qū)和重災(zāi)區(qū)[1]。由山洪及其引發(fā)的滑坡、泥石流等次生地質(zhì)災(zāi)害,對當(dāng)?shù)厝嗣竦纳敭a(chǎn)安全、農(nóng)林牧業(yè)的生產(chǎn)、交通運(yùn)輸和基礎(chǔ)設(shè)施都造成了嚴(yán)重影響和極大損失。伊寧縣是伊犁河谷的經(jīng)濟(jì)、政治、文化中心,預(yù)測該地區(qū)山洪暴發(fā)的主要影響因素降水量值,對于預(yù)防該地區(qū)山洪以及由山洪引發(fā)的滑坡、泥石流等次生災(zāi)害發(fā)生具有重要意義。
近年來,新疆的總體氣候特征由暖干向暖濕過渡,降雨日數(shù)及強(qiáng)度呈現(xiàn)增加的趨勢,直接導(dǎo)致洪災(zāi)發(fā)生頻率顯著增加[2-3]?,F(xiàn)有針對伊犁河谷地區(qū)山洪影響因素的研究已較為全面,都有相關(guān)的研究論證。例如,從氣候背景、天氣診斷分析[4],得出冬春季溫度回升是山洪發(fā)生的主要?dú)庀笠蛩刂唬粡牡匦蔚孛蔡卣餮芯砍霭l(fā)[5],可知山麓、山前平原和河谷地帶洪水較為易發(fā);通過分析歷年降水量數(shù)據(jù),確定臨界致災(zāi)雨量指標(biāo),對洪災(zāi)易發(fā)區(qū)進(jìn)行等級劃分[6]。
本文基于深度學(xué)習(xí),搭建不同的神經(jīng)網(wǎng)絡(luò)模型,即反向傳播神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network,BP)、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)、長短期記憶網(wǎng)絡(luò)(Long Short Term Memory,LSTM)、門循環(huán)單元網(wǎng)絡(luò)(Gate Recurrent Unit,GRU),然后通過比較分析不同的神經(jīng)網(wǎng)絡(luò)對降水量值模擬的性能,選擇最優(yōu)的神經(jīng)網(wǎng)絡(luò)模型,從而預(yù)測山洪產(chǎn)生的主要影響因子[7]即降水量的值,為預(yù)測伊寧地區(qū)山洪災(zāi)害的發(fā)生提供有力參考。
采用數(shù)據(jù)為NOAA提供的2015年至2022年5月19日伊寧縣站點(diǎn)的氣象監(jiān)測數(shù)據(jù),包括溫度、露點(diǎn)溫度、海平面氣壓、本站氣壓、能見度、風(fēng)向風(fēng)速、最大風(fēng)速、陣風(fēng)、最高溫、最低溫、降水量等氣象要素。所用數(shù)據(jù)實(shí)驗(yàn)前都將進(jìn)行缺失值和歸一化等預(yù)處理,保證實(shí)驗(yàn)結(jié)果的可靠性。
神經(jīng)網(wǎng)絡(luò)通過模擬人腦機(jī)理,使輸入樣本數(shù)據(jù)在通過神經(jīng)網(wǎng)絡(luò)模型計算后獲得不同的權(quán)重參數(shù),最后輸出數(shù)據(jù)進(jìn)行推理預(yù)測。本文將2015—2021年伊寧縣7年的氣象數(shù)據(jù)作為訓(xùn)練集,將溫度、露點(diǎn)溫度、本站氣壓、能見度、風(fēng)向風(fēng)速、最大風(fēng)速、最高溫、最低溫8個影響因子輸入BP、RNN、LSTM、GRU 4種不同的神經(jīng)網(wǎng)絡(luò)模型,使損失函數(shù)趨近于0,從而得到4種不同的預(yù)測降水量值的網(wǎng)絡(luò)模型。再以截至2022年5月19日的氣象數(shù)據(jù)作為測試集,將降水量值的8個影響因子放入模型預(yù)測降水量,以均方誤差作為檢驗(yàn)?zāi)P托阅艿臉?biāo)準(zhǔn),均方誤差越小,模型性能越好,從而得到伊寧地區(qū)降水量預(yù)測的最佳神經(jīng)網(wǎng)絡(luò)模型。
1.2.1 BP算法模型
BP神經(jīng)網(wǎng)絡(luò)算法的學(xué)習(xí)過程中包含信息前向傳播和誤差反向傳播兩個階段。在信息前向傳播階段,從輸入層開始,輸入元素經(jīng)隱藏層逐層傳輸?shù)捷敵鰧?。如果輸出層的?shí)際輸出結(jié)果與所期望的輸出結(jié)果不一致,網(wǎng)絡(luò)將進(jìn)行誤差反向傳播。誤差從輸出層傳輸?shù)降谝粋€隱藏層,并分配給每一層的所有單元。誤差信息是修正各單位權(quán)重和偏置的依據(jù)。信息前向傳播和誤差反向傳播階段的權(quán)重調(diào)整周期一直持續(xù)到收斂為止。在權(quán)重和偏置不斷調(diào)整的過程中,網(wǎng)絡(luò)一直處于學(xué)習(xí)的過程中。這個過程循環(huán)進(jìn)行,直到網(wǎng)絡(luò)的輸出誤差達(dá)到預(yù)期要求的計算精度,或者進(jìn)行到學(xué)習(xí)次數(shù)達(dá)到預(yù)設(shè)值為止[8-9]。
前向傳播階段是典型的3層BP神經(jīng)網(wǎng)絡(luò),輸入信息從第一個隱藏層開始,經(jīng)過第二個隱藏層,傳輸?shù)捷敵鰧?,在輸出端產(chǎn)生輸出信息。如果輸出信息滿足要求,則終止計算。否則,網(wǎng)絡(luò)將被轉(zhuǎn)移到誤差的反向傳播階段。其中,輸入樣本X=[x1,x2,…,xn],權(quán)重W=[w1,w2,…,wn],偏置B=[b1,b2,…,bn],輸出Y=[y1,y2,…,yn]。3層BP網(wǎng)絡(luò)結(jié)構(gòu)見圖1。
圖1 3層BP網(wǎng)絡(luò)結(jié)構(gòu)
1.2.2 RNN算法模型
RNN神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)算法的重要組成部分。與全連接神經(jīng)網(wǎng)絡(luò)相比,最大的不同在于隱藏層單元之間不是相互獨(dú)立的。隱藏層神經(jīng)元不僅相互關(guān)聯(lián),而且當(dāng)前隱藏層細(xì)胞的狀態(tài)也受到歷史輸入數(shù)據(jù)的影響。這個特性使得提取時序數(shù)據(jù)結(jié)構(gòu)的時序關(guān)系非常有效。RNN是一種用于處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)。在不同的時間步,RNN循環(huán)權(quán)重并跨時間步連接[10]。
由圖2可知,當(dāng)用RNN計算當(dāng)前狀態(tài)時,它不僅取決于當(dāng)前的輸入,而且取決于前一狀態(tài)的輸出,即當(dāng)前輸入xt和前一狀態(tài)輸出st-1共同決定當(dāng)前狀態(tài)st,即
圖2 RNN神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
ot=g(Vst)
st=f(Uxt+WSt-1)
式中:V為隱藏層到輸出層之間的權(quán)重矩陣;U為輸入層到隱藏層之間的權(quán)重矩陣;f、g均為激活函數(shù);W為隱藏層和隱藏層之間不同時間的權(quán)重矩陣。循環(huán)迭代代入,便可得到
ot=g(Vst)=g[Vf(Uxt+WSt-1)]
1.2.3 LSTM算法模型
LSTM是RNN循環(huán)神經(jīng)網(wǎng)絡(luò)的一種優(yōu)化形式,因?yàn)闃?biāo)準(zhǔn)的RNN不會對以往的信息進(jìn)行選擇,而是機(jī)械地疊加以往的信息,導(dǎo)致RNN存在著梯度消失和梯度爆炸的問題,LSTM可有效解決這兩個問題。相較于RNN,LSTM引入了輸入門、遺忘門、輸出門3個結(jié)構(gòu)[11]。LSTM結(jié)構(gòu)見圖3。其中,f、g為激活函數(shù),Z為輸入樣本。Zi對輸入門進(jìn)行表達(dá),在這個部分對輸入進(jìn)行選擇性的記憶,重點(diǎn)記錄相關(guān)性強(qiáng)的信息;Zf對遺忘門進(jìn)行表達(dá),選擇性地錄入重要信息,遺棄次要信息;Zo對輸出門進(jìn)行表達(dá),過濾出需要得到的輸出部分。LSTM模型表達(dá)式如下:
圖3 LSTM結(jié)構(gòu)(某時間節(jié)點(diǎn))
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的一種優(yōu)化形式,但是相較于LSTM,GRU的結(jié)構(gòu)更加簡單,也可以理解為LSTM的一種變體,LSTM有3個門結(jié)構(gòu),GRU只有重置門和更新門2個門結(jié)構(gòu)[12]。GRU模型結(jié)構(gòu)見圖4。
圖4 GRU模型結(jié)構(gòu)
Z對更新門進(jìn)行表達(dá),更新門幫助模型決定到底要將多少過去的信息傳遞到未來;r對重置門進(jìn)行表達(dá),重置門決定了怎樣將當(dāng)前新的輸入信息與之前的記憶信息相結(jié)合;h表示重置之后的數(shù)據(jù);St是更新記憶之后的表達(dá)式,即最終的記憶。GRU模型表達(dá)式如下:
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種神經(jīng)網(wǎng)絡(luò)模型對2015—2021年降水量值訓(xùn)練的結(jié)果。從圖中可以看出,BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練結(jié)果最差,對原始數(shù)據(jù)擬合效果并不理想,擬合曲線大致為一段弧線。RNN神經(jīng)網(wǎng)絡(luò)相對于BP神經(jīng)網(wǎng)絡(luò)的擬合能力有了一些提高,但在擬合時時間損耗較多,整體擬合效果不理想。LSTM神經(jīng)網(wǎng)絡(luò)的擬合效果比較理想,基本能擬合原始曲線且時間損耗較小。GRU神經(jīng)網(wǎng)絡(luò)的擬合效果較之于LSTM差一些,但是比RNN神經(jīng)網(wǎng)絡(luò)效果要好。
圖5 BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型
圖6 RNN神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型
圖7 LSTM神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型
圖8 GRU神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型
同時從表1各個神經(jīng)網(wǎng)絡(luò)的損失函數(shù)值的大小來看,LSTM神經(jīng)網(wǎng)絡(luò)是4種神經(jīng)網(wǎng)絡(luò)里面擬合效果最好的。LSTM神經(jīng)網(wǎng)絡(luò)優(yōu)于GRU神經(jīng)網(wǎng)絡(luò),GRU神經(jīng)網(wǎng)絡(luò)優(yōu)于RNN神經(jīng)網(wǎng)絡(luò),RNN神經(jīng)網(wǎng)絡(luò)優(yōu)于BP神經(jīng)網(wǎng)絡(luò)。
表1 4種神經(jīng)網(wǎng)絡(luò)模型損失值變化
圖9~圖12為利用訓(xùn)練過的4種神經(jīng)網(wǎng)絡(luò)模型對截至2022年5月19日降水量值反歸一化的預(yù)測情況。從圖中可以比較清楚地看出,4種模型中LSTM的預(yù)測效果最好,BP的預(yù)測效果最差。
圖9 BP神經(jīng)網(wǎng)絡(luò)測試模型
圖10 RNN神經(jīng)網(wǎng)絡(luò)測試模型
圖11 LSTM神經(jīng)網(wǎng)絡(luò)測試模型
圖12 GRU神經(jīng)網(wǎng)絡(luò)測試模型
4種神經(jīng)網(wǎng)絡(luò)模型預(yù)測均方誤差見表2。表2也佐證了訓(xùn)練集中LSTM模型效果最好的結(jié)論。同時發(fā)現(xiàn)訓(xùn)練集中表現(xiàn)較好的GRU模型,在MSE評估上比RNN遜色了一些,這是由于數(shù)據(jù)量不夠充足的緣故導(dǎo)致出現(xiàn)了一些誤差,如果同時考慮模型評價指標(biāo)MSE和時間性能的話,GRU依然是優(yōu)于RNN模型的,BP模型的效果最差。
表2 4種神經(jīng)網(wǎng)絡(luò)模型預(yù)測均方誤差
本文通過構(gòu)建BP、RNN、LSTM、GRU4種不同的神經(jīng)網(wǎng)絡(luò)模型,對伊寧縣日降水量值進(jìn)行預(yù)測分析,實(shí)驗(yàn)結(jié)果表明,4種神經(jīng)網(wǎng)絡(luò)模型相比較,LSTM模型對于伊寧縣地區(qū)降水量值的預(yù)測效果最好,均方誤差可以達(dá)到0.06194096,其預(yù)測的降水量值可以作為預(yù)防山洪的一個重要指標(biāo),并能結(jié)合其他影響山洪暴發(fā)的因素,有效地為當(dāng)?shù)胤罏?zāi)減災(zāi)提供科學(xué)依據(jù)。
訓(xùn)練預(yù)測模型中輸入的溫度、露點(diǎn)溫度、本站氣壓、能見度、風(fēng)向風(fēng)速、最大風(fēng)速、最高溫、最低溫等氣象影響因子在某種程度上不能非常確切地表達(dá)出與降水量的緊密相關(guān)性,因此,也對輸入訓(xùn)練模型的氣象因子的選擇提出了更高的要求。