方 威,周 建 中,周 超,楊 鑫,王 彧 蓉
(1.華中科技大學(xué) 土木與水利工程學(xué)院,湖北 武漢 430074; 2.長江勘測規(guī)劃設(shè)計研究有限責(zé)任公司,湖北 武漢 430010)
一直以來,學(xué)者們都在嘗試從物理成因的角度分析和理解流域降雨徑流過程,探索其循環(huán)規(guī)律,即用傳統(tǒng)水文模型去模擬降雨徑流過程的時空分布、邊界條件和物理過程[1]。然而,隨著傳統(tǒng)水文模型研究的逐漸深入,其考慮的參數(shù)越來越多,所需的數(shù)據(jù)日趨復(fù)雜,難以建立一套合理高效的水文模型,導(dǎo)致其計算效率也較低[2]。另一方面,由于流域產(chǎn)匯流過程的復(fù)雜性和不確定性等原因,對于參數(shù)的率定顯得日趨困難,預(yù)報模型的精度也不一定隨著模型復(fù)雜程度的提升而顯著提高,甚至?xí)龅疆悈⑼У葐栴}[3-4]。
針對傳統(tǒng)水文模型研究的瓶頸,一些學(xué)者嘗試使用數(shù)據(jù)驅(qū)動的方式去模擬降雨徑流過程。從20世紀(jì)90年代開始,人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks,ANN)及遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,RNN)被應(yīng)用于降雨模擬[5]。然而,Bengio等[6]在研究中發(fā)現(xiàn)RNN模型存在網(wǎng)絡(luò)參數(shù)尋優(yōu)過程的梯度消失問題。為解決這一問題,Hochreiter[2]等對原RNN模型進行改進,提出了長短時記憶神經(jīng)網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)。改進后的LSTM網(wǎng)絡(luò)具有極強的長序列關(guān)系擬合能力,被廣泛應(yīng)用于各個領(lǐng)域。在水文預(yù)報領(lǐng)域,也有一些學(xué)者做出了嘗試。Kratzert 等[8]發(fā)現(xiàn)LSTM模型不論在單一流域還是在多流域上均有較高的預(yù)報能力。Hu等[9]將LSTM與ANN做比較,證明LSTM的預(yù)報精度高于ANN。楊強[10]利用LSTM模型對瀾滄江烏弄龍水電站進行預(yù)見期為1個月徑流預(yù)測,結(jié)果表明LSTM模型的預(yù)測精度高。顧逸[11]將LSTM模型與GRU結(jié)合,構(gòu)建Simple-LSTM模型進行中長期預(yù)報,結(jié)果優(yōu)于BP神經(jīng)網(wǎng)絡(luò)和SVR模型。馮鈞等[12]提出一種LSTM與BP組合模型預(yù)報場次洪水。殷兆凱等[13]以隱藏層神經(jīng)元數(shù)量為代表,討論LSTM的復(fù)雜程度對模型精度的影響。上述研究多將LSTM應(yīng)用于流域長期徑流預(yù)報,而LSTM在短期徑流預(yù)報方面是否具有同樣的性能和表現(xiàn)是一個值得探討的問題。
眾所周知,除了模型結(jié)構(gòu)變化對預(yù)報精度產(chǎn)生影響,預(yù)報因子的合理選取對提高徑流預(yù)報精度也至關(guān)重要。一般來說,用于模型輸入的預(yù)報因子與預(yù)報時段的實測值之間有著極強的相關(guān)性,這樣使得利用前時刻的觀測值去預(yù)報未來值成為一種可靠的方法。然而,上述研究對模型預(yù)報因子的選取缺乏深入的探討。針對此問題,本文引入灰色關(guān)聯(lián)分析法篩選預(yù)報因子并分析其有效性。灰色關(guān)聯(lián)分析法是根據(jù)灰色因子變量之間的變化趨勢來判定聯(lián)系是否緊密,從中找出關(guān)聯(lián)性強的優(yōu)勢因子。其原理簡單,對數(shù)據(jù)無過多的要求,不會出現(xiàn)定性、定量分析不相符合的情況[14-15]。本文將灰色關(guān)聯(lián)分析法與LSTM相結(jié)合,提出了灰色關(guān)聯(lián)分析-LSTM耦合短期徑流預(yù)報模型(G-LSTM模型),實現(xiàn)時間序列預(yù)測的預(yù)見性學(xué)習(xí),并探討模型的模擬精度和應(yīng)用效果。
灰色關(guān)聯(lián)分析是以“部分信息已知、部分信息未知”的樣本數(shù)據(jù)為研究對象,通過關(guān)聯(lián)度來判斷灰色因子變量之間的變化趨勢是否一致,以找出其中的優(yōu)勢和劣勢因素,定量分析系統(tǒng)的變化趨勢[14-15],其主要步驟如下。
步驟1。根據(jù)評價目的,設(shè)X0={x0(1),x0(2),…,x0(n)}為系統(tǒng)參考序列,Xi={xi(1),xi(2),…,xi(n)}(i=1,2,3,…,m)為比較序列。
步驟2。對參考序列和比較序列均進行均值化處理,即:
(1)
步驟3。計算比較序列Xi對參考序列X0在k時刻的關(guān)聯(lián)系數(shù)ηi(k):
(2)
步驟4。計算各個時刻關(guān)聯(lián)系數(shù)的均值,作為每個比較子序列和參數(shù)序列的關(guān)聯(lián)度,關(guān)聯(lián)度ri計算公式如下:
(3)
步驟5。根據(jù)關(guān)聯(lián)度大小,對各個參數(shù)序列進行排序,并以關(guān)聯(lián)度大的原則,選出其中關(guān)聯(lián)度較高的比較子序列。
長短時記憶神經(jīng)網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)是RNN網(wǎng)絡(luò)的一種特殊類型,擅長學(xué)習(xí)長序列依賴信息。與其他神經(jīng)網(wǎng)絡(luò)一樣,LSTM由輸入層、隱藏層及輸出層組成(見圖1)。
圖1 LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Structure of LSTM
LSTM算法主要過程如下:
(1)確定模型的預(yù)報因子Xt={xt(1),xt(2),…,xt(n)}作為模型的輸入,并對輸入因子進行歸一化處理,層層向后傳播。
(2)用Sigmoid 激活函數(shù)σ處理輸入信息xt,前一時刻隱藏層狀態(tài)變量ht-1,記憶單元狀態(tài)變量ct-1,得到遺忘門的值ft,即:
ft=σ(Ufxt+Wfht-1+bf)
(4)
(5)
式中:Uf,Wf是遺忘門的可調(diào)節(jié)權(quán)重矩陣;bf是遺忘門的偏置向量。
(3)用Sigmoid激活函數(shù)σ得到輸入門it,即:
it=σ(Uixt+Wiht-1+bi)
(6)
式中:Ui,Wi是輸入門的可調(diào)權(quán)重矩陣;bi是輸入門的偏置向量。
(4)用雙曲正切激活tanh函數(shù)得到記憶單元的當(dāng)前時刻的狀態(tài)變量ct,即:
ct=tanh(Ucxt+Wcht-1+bc)
(7)
(8)
式中:Uc,Wc是記憶單元狀態(tài)變量的可調(diào)權(quán)重矩陣;bc是記憶單元狀態(tài)變量的偏置向量。
(5)用上述計算結(jié)果更新神經(jīng)元狀態(tài),即:
(9)
式中:*代表元素的智能乘積,即兩矩陣中對應(yīng)的元素相乘。
(6)用Sigmoid激活函數(shù)σ輸出門ot的值,即:
ot=σ(Uoxt+Woht-1+bo)
(10)
式中:Uo,Wo是輸出門的可調(diào)權(quán)重矩陣,bo是輸出門的偏置向量。
(7)用得到輸出門的值和記憶單元的狀態(tài)變量更新隱藏層狀態(tài)變量ht,即:
(11)
(8)將更新后的隱藏層的值傳入輸出層,得到當(dāng)前時刻的最終輸出yt:
yt=Wdht+bd
(12)
式中:Wd是輸出層的可調(diào)權(quán)重矩陣,bd是輸出層的偏置向量。
采用灰色關(guān)聯(lián)分析法與LSTM模型相結(jié)合,建立G-LSTM模型,計算步驟如下:
(1) 分析適合徑流預(yù)報的可能預(yù)報因子,利用灰色關(guān)聯(lián)分析法比較預(yù)報因子與預(yù)報徑流的相關(guān)程度。
(2) 根據(jù)關(guān)聯(lián)度大小,從預(yù)報因子集中挑選與預(yù)報徑流關(guān)聯(lián)程度較大的預(yù)報因子。
(3) 以實測徑流與相應(yīng)的預(yù)報因子作為輸入,驅(qū)動LSTM模型,對率定期樣本點進行訓(xùn)練。
(4) 根據(jù)評價指標(biāo),優(yōu)選LSTM的合適參數(shù)。
(5) 采用優(yōu)選后的LSTM模型對檢驗期樣本點進行預(yù)報,檢驗?zāi)P偷念A(yù)報性能。
為了評價所建模型的預(yù)報效果,參考SL250-2000《水文情報預(yù)報規(guī)范》,采用確定性系數(shù)、均方根誤差、平均洪峰相對誤差、平均洪量相對誤差指標(biāo)來評價徑流預(yù)報結(jié)果的優(yōu)劣。各指標(biāo)的定義如下:
(1) 確定性系數(shù)DC
(13)
(2) 均方根誤差RMSE
(14)
(3) 洪峰相對誤差PRE
(15)
(4) 洪量相對誤差VRE
(16)
為驗證模型的實用性和可靠性,選取長江上游寸灘斷面-三峽入庫斷面作為研究區(qū)間,如圖2所示,干流長600余km,流域面積約5.4萬km2。長江上游流域為亞熱帶季風(fēng)氣候,夏季暴雨頻繁,易發(fā)生洪澇災(zāi)害,而冬季降雨較少,其年降水量空間分布不均勻,由東南向西北逐漸減少;降雨量年內(nèi)分配也不均勻,汛期(6~9月)降雨占每年降雨總量的50%~70%。因此,對該區(qū)間進行精準(zhǔn)、可靠的徑流預(yù)報對于長江上游流域具有重要意義。
圖2 寸灘-三峽入庫區(qū)間流域概況Fig.2 Overview of study area
收集整理2003~2018年汛期(6~9月)寸灘站、三峽入庫、該區(qū)間支流重要控制站武隆站的日徑流數(shù)據(jù),并根據(jù)該區(qū)間80個雨量站2003~2018年汛期(6~9月)的日降雨數(shù)據(jù),利用泰森多邊形法將它們轉(zhuǎn)化區(qū)間日面雨量。其中,以2003~2014年汛期的降雨徑流數(shù)據(jù)作為模型率定樣本,以2015~2018年汛期的降雨徑流數(shù)據(jù)作為模型檢驗樣本。以前期降雨徑流數(shù)據(jù)作為輸入變量驅(qū)動模型,以三峽入庫當(dāng)前日徑流數(shù)據(jù)為輸出變量。三峽入庫流量數(shù)據(jù)是由實測出庫流量數(shù)據(jù)、壩前水位數(shù)據(jù)以及三峽水庫動庫容曲線,通過水量平衡方程反算得到;其中動庫容曲結(jié)是由鳳凰山、秭歸、巫山等水文水位流量數(shù)據(jù)近似計算得到。本文數(shù)據(jù)由中國長江電力股份有限公司提供。
預(yù)報因子的選取是模型預(yù)報建模的第一步,也是至關(guān)重要的一步。根據(jù)徑流預(yù)報的影響因素,選取三峽入庫、寸灘站、武隆站前7 d、前1 a同期日均流量以及區(qū)間前7 d降雨量共31個預(yù)報因子,從中遴選關(guān)聯(lián)度高的預(yù)報因子。利用灰色關(guān)聯(lián)分析法計算各預(yù)報因子與預(yù)報時段實測值的關(guān)聯(lián)程度,如表1所列。
表1 不同時間下各水文站點預(yù)報因子的關(guān)聯(lián)度Tab.1 Relevance of each forecast factor of stations at different time
根據(jù)關(guān)聯(lián)度大小原則,挑選三峽入庫前6 d流量qsx、寸灘站前4 d流量qct作為預(yù)報因子,即:
qsx(t)=f[qsx(t-1),qsx(t-2),qsx(t-3),
qsx(t-4),qsx(t-5),qsx(t-6),
qct(t-1),qct(t-2),qct(t-3),qct(t-4)]
(17)
同時作為對比,根據(jù)自相關(guān)系數(shù)法篩選出三峽入庫前5 d、寸灘站前3 d、武隆前1 d流量以及前1 d的降雨量作為預(yù)報因子。
在G-LSTM的構(gòu)建過程中,基于上述所選的預(yù)報因子,選用寸灘站、三峽入庫、2003~2018年汛期(6~9月)的日流量數(shù)據(jù)構(gòu)成樣本集,選取三峽入庫前6個時段的徑流量及寸灘站前4個時段的徑流量為一個樣本。然后確定模型參數(shù)和模型結(jié)構(gòu),綜合考慮模型預(yù)報效果和復(fù)雜度,將隱藏層的個數(shù)設(shè)置為2層,每層的神經(jīng)元個數(shù)分別為75和100個;在模型參數(shù)訓(xùn)練方面,為了對率定期的數(shù)據(jù)留取一小部分進行自驗證,依據(jù)經(jīng)驗,將validation_split(率定期訓(xùn)練和驗證的分割比例)設(shè)定為0.05;一次訓(xùn)練所選取的樣本數(shù)為1,訓(xùn)練代數(shù)設(shè)定為100代。模型的率定及檢驗效果如表2所示。
為論證G-LSTM模型的有效性,分別選用新安江模型、BP神經(jīng)網(wǎng)絡(luò)以及LSTM模型進行模擬預(yù)測并作對比分析。新安江模型以前期降雨及蒸發(fā)數(shù)據(jù)為輸入,考慮區(qū)域前期雨強、下墊面因素等初始條件的影響,將模型預(yù)熱期設(shè)置為45 d,并采用多目標(biāo)文化混合復(fù)形差分進化算法MOCSCDE對模型參數(shù)進行率定。而傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)按3層結(jié)構(gòu)設(shè)計,其輸入輸出與G-LSTM相同。LSTM模型參數(shù)與G-LSTM相同,預(yù)報因子選用自相關(guān)系數(shù)法得到的預(yù)報因子。本研究中,將BP神經(jīng)網(wǎng)絡(luò)隱藏層的神經(jīng)元個數(shù)設(shè)定為13個,學(xué)習(xí)率為0.5,試算后確定訓(xùn)練迭代次數(shù)為4 000次。各模型率定及檢驗結(jié)果如表2所示。
表2 各模型計算結(jié)果對比Tab.2 Comparison of different models prediction results
由表2所示:從確定性系數(shù)來看,G-LSTM模型率定期及檢驗期均在0.9以上,精度最優(yōu),擬合效果最好;新安江模型率定期及檢驗期的確定性系數(shù)在0.85左右,與G-LSTM的確定性系數(shù)分別相差0.09和0.06左右,不如G-LSTM模型的模擬效果好;BP神經(jīng)網(wǎng)絡(luò)率定期及檢驗期的確定性系數(shù)均在0.7以上,但其率定期與檢驗期的模擬效果相差較大,說明其泛化能力較差,與G-LSTM相比分別相差0.07和0.11左右,效果明顯不如G-LSTM模型好。而傳統(tǒng)的LSTM模型率定期及檢驗期的確定性系數(shù)均在0.9以下。從均方根誤差來看,G-LSTM模型均在2 000 m3/s左右,而其他模型的均方根誤差均大于2 800 m3/s,表明后者模擬出來的預(yù)報值與實測值的偏差更大,擬合的效果偏差。從洪量相對誤差來看,G-LSTM模型均小于3.5%,而新安江模型的率定期的洪量相對誤差小于4%,率定期卻大于8%,結(jié)合洪峰相對誤差來看,新安江模型檢驗期的洪峰相對誤差高達15.7%,說明新安江模型在全局中對極值點的預(yù)報不是十分準(zhǔn)確,導(dǎo)致了其在檢驗期的洪量預(yù)測出現(xiàn)較大偏差,擬合效果不佳。而BP神經(jīng)網(wǎng)絡(luò)率定期和檢驗期的洪量相對誤差均在9%以上,高于前兩者,擬合效果更差。最后,再看洪峰相對誤差,G-LSTM均低于9%,且檢驗期的洪峰相對誤差低于率定期的,而BP神經(jīng)網(wǎng)絡(luò)的洪峰相對誤差雖也均低于9%,但其檢驗期的洪峰相對誤差卻比G-LSTM的高出了3%左右,LSTM模型的洪峰相對誤差均高于9%,說明G-LSTM模型在全局中對于極值點的擬合能力較好,且泛化能力強,使得檢驗期的效果更優(yōu)于率定期,應(yīng)用效果更佳。所以,綜合比較各個模型的擬合結(jié)果來看,G-LSTM模型的精度最高,擬合效果最優(yōu)。
為進一步證明本文建立模型的性能,再分別選取2012年汛期(率定期)和2015年汛期(檢驗期)數(shù)據(jù)驅(qū)動各模型并對模擬結(jié)果進行分析,如圖3和圖4所示。由圖可知:G-LSTM模型的擬合效果明顯優(yōu)于新安江模型、BP神經(jīng)網(wǎng)絡(luò)和傳統(tǒng)的LSTM模型,尤其是其對每場洪水洪峰的模擬能力更加吻合。而新安江模型和BP神經(jīng)網(wǎng)絡(luò)的預(yù)報結(jié)果均高于實測值。這是因為新安江模型只是模擬自然現(xiàn)象,其參數(shù)過多且相互之間相關(guān)性過強,使得模型結(jié)果不可避免地存在“異參同效”的現(xiàn)象[3-4],導(dǎo)致對于最優(yōu)參數(shù)的選取存在極大的不確定性。同時,新安江模型的輸入相對固定,使得其對數(shù)據(jù)的準(zhǔn)確性存在較大的依賴,這又增加了最優(yōu)參數(shù)選取的難度。BP神經(jīng)網(wǎng)絡(luò)雖然結(jié)構(gòu)簡單,但其收斂速度慢,效率低下,且泛化能力較差,訓(xùn)練能力和預(yù)測能力存在矛盾,使得其精度較差。而LSTM模型在RNN的基礎(chǔ)上增加了輸入門、輸出門、遺忘門3個控制單元,遺忘門會篩選上一時刻輸入的徑流信息,保留與當(dāng)前時刻相關(guān)性較強的徑流信息;然后通過輸入門更新當(dāng)前的輸入徑流信息,最后通過輸出門傳送出去,這就使得對某一時段的徑流值進行預(yù)報的時候,模型不僅考慮了當(dāng)前時刻輸入的預(yù)報因子信息,也充分考慮了之前輸入的預(yù)報因子信息,從而篩選出一組相關(guān)性強的輸入因子,得出了精準(zhǔn)有效的預(yù)報流量值,且其收斂速度快而明顯,十分適用于長序列數(shù)據(jù)的擬合。同時,本次研究通過灰色關(guān)聯(lián)分析法預(yù)選相關(guān)性較高的預(yù)報因子,這又增加G-LSTM預(yù)報的準(zhǔn)確程度。而傳統(tǒng)的LSTM模型選取得到的選取預(yù)報因子不夠準(zhǔn)確,不能進行較好地模擬徑流,并在預(yù)報值和實測值之間出現(xiàn)明顯的“時滯”現(xiàn)象,使得預(yù)報不佳。因此,利用灰色關(guān)聯(lián)分析篩選出合理準(zhǔn)確的預(yù)報因子,就是G-LSTM模型優(yōu)于傳統(tǒng)LSTM模型的地方。
圖3 各模型2012年汛期模擬結(jié)果Fig.3 Simulation results of each model in the 2012 flood season
圖4 各模型2015年汛期模擬結(jié)果Fig.4 Simulation results of each model in flood season of 2015
本文將灰色關(guān)聯(lián)分析法與LSTM相結(jié)合,建立了多變量高維時序數(shù)據(jù)與預(yù)測變量的低維時序數(shù)據(jù)映射關(guān)系的短期徑流預(yù)報模型,并用于寸灘斷面-三峽入庫斷面短期徑流預(yù)報。該方法首先采用灰色關(guān)聯(lián)分析法挑選更具有代表性的預(yù)報因子作為模型輸入,在一定程度上避免了由于信息不對稱帶來的損失。然后將G-LSTM模型與新安江模型、BP神經(jīng)網(wǎng)絡(luò)和傳統(tǒng)LSTM模型進行對比研究,結(jié)果表明:基于灰色關(guān)聯(lián)分析法的G-LSTM模型率定期與檢驗期的確定性系數(shù)均在0.9以上,明顯優(yōu)于其他模型,具有極高的預(yù)測精度和極強的泛化能力,尤其是在全局性能上對汛期峰值的擬合表現(xiàn)出了極佳的跟蹤預(yù)報能力。該方法具有一定的工程應(yīng)用價值,可為短期徑流精準(zhǔn)有效預(yù)報提供新的解決方案。
G-LSTM模型學(xué)習(xí)率、最大訓(xùn)練代數(shù)以及各隱藏層神經(jīng)元個數(shù)等參數(shù)的選取仍然依賴于經(jīng)驗。后續(xù)研究可引入智能優(yōu)化算法率定參數(shù),引進信息分解技術(shù)挖掘原始樣本的可靠信息,并結(jié)合動力學(xué)隨機分布嵌入理論等,以期進一步優(yōu)化模型,提高模型的精度,使其更加可靠、實用。此外,本研究僅對一個時刻進行預(yù)測,后續(xù)將對未來更多時刻的預(yù)報效果進行研究,以期增強該方法的實用價值。