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