賈 島
(河南理工大學(xué)測繪與國土信息工程學(xué)院,河南 焦作 454000)
徑流量是水文研究的重要內(nèi)容之一,徑流預(yù)測對于水資源管理、災(zāi)害監(jiān)測及對水資源合理開發(fā)利用具有重要意義[1]。
目前,徑流預(yù)測的水文模型主要有概念模型、物理模型和數(shù)據(jù)驅(qū)動模型。概念模型相對簡單,所需參數(shù)少,計算量小,但模型容易欠擬合,預(yù)測失真;物理模型需要相對較多的參數(shù),預(yù)測效果更好,但實際應(yīng)用中,因過程復(fù)雜和所需數(shù)據(jù)眾多具有一定的難度[2]。近年來,隨著大數(shù)據(jù)的發(fā)展,水文數(shù)據(jù)和觀測資料日益豐富,各種數(shù)據(jù)挖掘算法大量涌現(xiàn),學(xué)科交叉性不斷增強(qiáng),故而數(shù)據(jù)驅(qū)動模型越來越受到重視[3]。
循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)作為深度學(xué)習(xí)的一種,是一類以序列(sequence)數(shù)據(jù)為輸入、在序列演進(jìn)方向進(jìn)行遞歸循環(huán)單元按鏈?zhǔn)竭B接的遞歸神經(jīng)網(wǎng)絡(luò)[4]。RNN神經(jīng)網(wǎng)絡(luò)對于處理時序數(shù)據(jù)具有很大的優(yōu)勢,但在處理長時間序列數(shù)據(jù)時模型會出現(xiàn)梯度消失和梯度爆炸問題。而長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory networks, LSTM )是RNN神經(jīng)網(wǎng)絡(luò)的發(fā)展,通過神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中的門機(jī)制解決了RNN 神經(jīng)網(wǎng)絡(luò)問題。與傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)相比,LSTM神經(jīng)網(wǎng)絡(luò)解決了依賴問題,能夠有效應(yīng)用于長時間序列數(shù)據(jù)的建模,特定的記憶單元代替了 RNN 鏈?zhǔn)浇Y(jié)構(gòu)中的隱藏層節(jié)點,實現(xiàn)了對時間序列數(shù)據(jù)的保留和記憶[5],在基于時序數(shù)據(jù)預(yù)測研究中得到了廣泛應(yīng)用。
劉青豪[6]等在地表沉降時序預(yù)測中發(fā)現(xiàn),LSTM神經(jīng)網(wǎng)絡(luò)模型對大區(qū)域時序形變的短期預(yù)測有效;岳振華[7]等在地表沉降中利用互相關(guān),對地面沉降預(yù)測時間序列進(jìn)行聚類,再進(jìn)行LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)預(yù)測,建立了具有較高精度的沉降預(yù)測模型。
采用LSTM神經(jīng)網(wǎng)絡(luò)進(jìn)行黑河流域祁連水文站月徑流預(yù)測,比較了不同輸入數(shù)據(jù)對模型預(yù)測精度的影響,研究結(jié)果有望為黑河上游的水資源開發(fā)與保護(hù)、防洪抗旱、生產(chǎn)力合理規(guī)劃、區(qū)域經(jīng)濟(jì)綠色可持續(xù)發(fā)展提供科學(xué)依據(jù)。
黑河流域地理坐標(biāo)介于98°~101°30′E,38°~42°N,面積約為14.29萬km2。黑河上游位于青藏高原北麓的祁連山地,屬祁連山-青海湖氣候區(qū),降水多,蒸發(fā)少,氣溫低,流量年內(nèi)變化汛期主要集中在4—9月份,占年流量的80%。近幾十年來,黑河流域中下游地區(qū)人口增加,人類活動影響范圍增大,且中下游用水急劇增加,故對上游徑流量進(jìn)行準(zhǔn)確預(yù)測對整個流域區(qū)域水資源合理規(guī)劃和利用具有重要的意義。圖1為研究區(qū)域示意圖。
圖1 黑河上游示意圖Fig.1 Sketch map of upstream of Heihe
所用數(shù)據(jù)為黑河上游祁連水文站2000—2016年月徑流數(shù)據(jù)和降水?dāng)?shù)據(jù),其中2000—2014年月數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)集,2015年和2016年數(shù)據(jù)作為驗證數(shù)據(jù)集。預(yù)處理過程中對數(shù)據(jù)進(jìn)行質(zhì)量控制,對數(shù)據(jù)進(jìn)行歸一化處理。
1.3.1 長短期記憶神經(jīng)網(wǎng)絡(luò)
相對于循環(huán)神經(jīng)網(wǎng)絡(luò),LSTM單元結(jié)構(gòu)更為復(fù)雜,包括遺忘門、輸入門和輸出門。神經(jīng)單元結(jié)構(gòu)如圖2所示。
圖2 LSTM神經(jīng)單元結(jié)構(gòu)Fig.2 LSTM neural unit structure
遺忘門通過Sigmoid激活函數(shù)(即σ),輸入信息為上一個輸出ht-1(隱含狀態(tài)[3])和當(dāng)前輸入xt,獲得一個0~1的輸出向量ft。
ft=σ(Wf·[ht-1,xt]+bf)
(1)
it=σ(Wi·[ht-1,xt]+bi)
(2)
(3)
神經(jīng)元更新階段,通過下列式子的計算,將上一次處理之后記憶的信息和當(dāng)前處理階段保留的信息進(jìn)行運算,通過這一步,Ct處于變化中,隨著神經(jīng)網(wǎng)絡(luò)的循環(huán)不停更新。
(4)
輸出門:ot通過Sigmoid函數(shù)確定當(dāng)前被輸出的信息,并與tanh函數(shù)進(jìn)行計算,獲得最終輸出結(jié)果ht。
ot=σ(Wo·[ht-1,xt]+bo)
(5)
ht=ot*tanh(Ct)
(6)
訓(xùn)練過程中的損失函數(shù)采用常用的均方誤差(Mean Squared Error)為:
(7)
采用三層LSTM神經(jīng)網(wǎng)絡(luò)層結(jié)構(gòu)搭建LSTM預(yù)測模型,第三層LSTM神經(jīng)網(wǎng)絡(luò)層加入dropout,LSTM神經(jīng)網(wǎng)絡(luò)最后加入units為1的全連接層進(jìn)行降維。學(xué)習(xí)步長設(shè)置為3,LSTM神經(jīng)網(wǎng)絡(luò)層的隱藏層units依次為128、64和32,激活函數(shù)采用Relu,優(yōu)化器選擇Adam。
1.3.2 模型評估
為驗證模型預(yù)測效果,用Mean Squared Error(MSE)、MAE、MAP和確定系數(shù)Coefficient of Determination(R2)評估模型之間預(yù)測值和測量值之間的準(zhǔn)確性。
均方誤差Mean Squared Error (MSE)是估計值與真值之差平方的期望,MSE越小,預(yù)測結(jié)果與實測結(jié)果誤差越小,均方誤差公式與損失函數(shù)相同。
均方根誤差Root Mean Squared Error(RMSE)是均方誤差的算數(shù)平方根,通過RMSE反映模型預(yù)測和測量數(shù)據(jù)之間的信息,且RMSE數(shù)值越小,預(yù)測精度越高,公式如下:
(8)
平均絕對誤差Mean Absolute Error(MAE)是絕對誤差的平均值,公式如下:
(9)
平均絕對百分誤差Mean Absolute Error Percentage Error(MAPE):
(10)
R2為衡量模型復(fù)制結(jié)果的程度(數(shù)值上與納什系數(shù)NSE相同[3]),范圍在[-∞,1],值越大模型效果越好。R2公式如下:
(11)
使用TensorFlow和Theano包、Sequential類,搭建神經(jīng)網(wǎng)絡(luò)模型,對時間序列徑流數(shù)據(jù)進(jìn)行預(yù)測。模型訓(xùn)練過程中,時間步長為3,根據(jù)損失函數(shù),程序采用早停法和神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)經(jīng)驗確定訓(xùn)練次數(shù)。
LSTM預(yù)測結(jié)果與實測數(shù)據(jù)均具有較好的相關(guān)性,但在5—9月份時預(yù)測精度低于其他月份。由于黑河上游屬于中緯度北溫帶,全年降水主要集中在5—9月份,期間徑流波動范圍較大,隨機(jī)性強(qiáng),基于時序歷史徑流數(shù)據(jù)進(jìn)行建模預(yù)測時,精度有所下降,當(dāng)同時引入徑流和降雨數(shù)據(jù)時,預(yù)測精度大大提高。
表1為基于徑流和降水?dāng)?shù)據(jù)的LSTM神經(jīng)網(wǎng)絡(luò)2015—2016年徑流預(yù)測結(jié)果各參數(shù)對比,其中樣本數(shù)據(jù)為2000—2014年的降水、徑流數(shù)據(jù),標(biāo)簽數(shù)據(jù)均為2000—2014年徑流數(shù)據(jù)。
表1 徑流預(yù)測結(jié)果Tab.1 Runoff prediction results
分析表1可知,LSTM神經(jīng)網(wǎng)絡(luò)模型基于徑流數(shù)據(jù)進(jìn)行預(yù)測,Dropout=0.2取得最優(yōu)預(yù)測結(jié)果,RMSE、MAE、MAPE和R2結(jié)果分別為140.07、75.01、0.20和0.871。引入降水?dāng)?shù)據(jù)后,預(yù)測精度明顯提高,在Dropout=0.05時,RMSE、MAE、MAPE和R2結(jié)果分別為110.54、70.72、0.19和0.919。訓(xùn)練樣本為降水?dāng)?shù)據(jù)時,與徑流數(shù)據(jù)和徑流、降水?dāng)?shù)據(jù)為樣本進(jìn)行訓(xùn)練的模型相比,MAPE均相對較大,預(yù)測值與實測值偏差在30%左右,模型擬合效果較差;訓(xùn)練數(shù)據(jù)樣本為徑流數(shù)據(jù)和徑流、降水?dāng)?shù)據(jù)時,MAPE在20%左右。
選擇LSTM對黑河上游祁連水文站月徑流進(jìn)行了預(yù)測,單獨以降水或歷史徑流作為輸入特征,神經(jīng)網(wǎng)絡(luò)模型取得了較好的預(yù)測效果,確定系數(shù)均能達(dá)到0.86以上。
分析平均絕對百分比誤差MAPE,單獨以降水?dāng)?shù)據(jù)進(jìn)行預(yù)測,LSTM和全連接LSTM預(yù)測結(jié)果R2和RMSE精度相當(dāng),但相對于徑流數(shù)據(jù)的預(yù)測結(jié)果,MAPE更大。基于徑流數(shù)據(jù)或以徑流、降水?dāng)?shù)據(jù)進(jìn)行預(yù)測,MAPE均在0.2左右,兩種模型預(yù)測精度更高,模型擁有更好的擬合精度,模型誤差更小。LSTM神經(jīng)網(wǎng)絡(luò)以徑流和降水進(jìn)行預(yù)測,預(yù)測精度進(jìn)一步提高。降水作為徑流的重要因子,進(jìn)一步提升了LSTM神經(jīng)網(wǎng)絡(luò)徑流預(yù)測的精度。該研究結(jié)果與胡慶芳等[3]利用LSTM進(jìn)行安康站日徑流預(yù)測時引入降水?dāng)?shù)據(jù)且預(yù)測精度提升相符。