王立輝,楊輝斌, ,王銀堂,劉 勇,胡慶芳
(1. 福州大學(xué) 水利水電與港口工程系,福建 福州 350116; 2. 南京水利科學(xué)研究院 水文水資源與水利工程科學(xué)國家重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 210029)
徑流預(yù)測在水文預(yù)測預(yù)報(bào)中占有重要比例,做好徑流預(yù)測對防洪抗旱、水資源利用及水庫調(diào)度具有重要的指示作用。目前應(yīng)用較為普遍的徑流預(yù)測方法大致有兩種:一是水文模型;二是數(shù)據(jù)驅(qū)動模型。前者是具有明確產(chǎn)匯流機(jī)制的水文過程的模擬和概化,而后者則是基于數(shù)據(jù)之間的統(tǒng)計(jì)關(guān)系驅(qū)動的數(shù)據(jù)分析模型。由于部分水文資料獲取難度較大,水文模型受到一定限制,而數(shù)據(jù)驅(qū)動的機(jī)器學(xué)習(xí)模型近年來在水文預(yù)報(bào)領(lǐng)域得到高度關(guān)注。如人工神經(jīng)網(wǎng)絡(luò)[1-2]、決策樹、支持向量機(jī)[3-4](Support Vector Machine, SVM)、隨機(jī)森林[5](Random Forest, RF)及目前應(yīng)用較多的長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory, LSTM)。相對傳統(tǒng)結(jié)構(gòu)較為單一的人工神經(jīng)網(wǎng)絡(luò)在預(yù)測過程中容易存在“過擬合”問題,LSTM模型在結(jié)構(gòu)上進(jìn)行了改進(jìn),不僅有效改善了這一問題,而且也部分解決了循環(huán)神經(jīng)網(wǎng)絡(luò)中“梯度爆炸”和“維度災(zāi)害”問題,使其得到廣泛應(yīng)用[6-8]。在水文預(yù)報(bào)領(lǐng)域,Kratzert等[9]基于CAMELS數(shù)據(jù)集使用LSTM模型對241個水文流域進(jìn)行降雨徑流測試,結(jié)果表明LSTM能夠通過氣象觀測數(shù)據(jù)預(yù)測徑流,其性能可與SAC-SMA與Snow-17的耦合模型媲美。馮鈞等[10]將LSTM應(yīng)用于鄱陽湖的日徑流預(yù)測,并與人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network, ANN)和the Soil & Water Assessment Tool (SWAT)對比,發(fā)現(xiàn)LSTM有較好的預(yù)測性能。殷兆凱等[11]基于LSTM進(jìn)行降雨徑流模擬及預(yù)報(bào),發(fā)現(xiàn)LSTM在短預(yù)見期內(nèi)優(yōu)于新安江模型,同時隱藏層神經(jīng)元數(shù)量既會影響模型預(yù)報(bào)精度,也會影響模型訓(xùn)練速度。然而在一系列學(xué)習(xí)模型中,對網(wǎng)絡(luò)結(jié)構(gòu)超參數(shù)的選取一直沒有明確的定義,而它們又是機(jī)器學(xué)習(xí)的重要組成部分,因?yàn)樗鼈儠δP偷男阅墚a(chǎn)生重大影響[12]。網(wǎng)絡(luò)結(jié)構(gòu)超參數(shù)是機(jī)器學(xué)習(xí)方法在開始訓(xùn)練前設(shè)置的參數(shù),不同取值會帶來不同的預(yù)測效果,是機(jī)器學(xué)習(xí)方法中的重點(diǎn)和難點(diǎn)。因此,提出了許多優(yōu)化超參數(shù)的算法,如網(wǎng)格搜索[13]、粒子群優(yōu)化算法[14](Particle Swarm Optimization, PSO)、隨機(jī)搜索[15]、灰狼優(yōu)化算法[16](Grey Wolf Optimizer, GWO)等。傳統(tǒng)的網(wǎng)格搜索及隨機(jī)搜索等計(jì)算量較大,且易陷入局部最優(yōu)的結(jié)果。而GWO是模仿狼群社會生活的一種啟發(fā)式優(yōu)化算法,具有收斂快和全局遍歷性的特點(diǎn),Pan等[17]以馬爾可夫過程(Markov process)證明了灰狼優(yōu)化算法的全局遍歷性特點(diǎn),并結(jié)合LSTM模型實(shí)現(xiàn)機(jī)載燃油泵壽命的預(yù)測,具有較好的預(yù)測效果。Rashid等[18]對比了GWO與其他優(yōu)化算法優(yōu)化LSTM的應(yīng)用效果,發(fā)現(xiàn)GWO優(yōu)化LSTM效果較好。胡孟婷[19]在軟件定義網(wǎng)絡(luò)(SDN)網(wǎng)絡(luò)流量態(tài)勢預(yù)測中對比了GWO優(yōu)化的LSTM與BPTT優(yōu)化的LSTM,發(fā)現(xiàn)GWO優(yōu)化的LSTM模型具有更好的預(yù)測效果及收斂快等優(yōu)勢。因此,本文在此基礎(chǔ)上構(gòu)建灰狼長短期記憶模型(GWOLSTM)及灰狼人工神經(jīng)網(wǎng)絡(luò)(GWO-BP),以丹江口水庫月入庫徑流進(jìn)行實(shí)例研究,初步探討GWOLSTM模型在水文預(yù)測方面的應(yīng)用效果,為丹江口水庫月入庫徑流預(yù)測提供技術(shù)參考,同時對網(wǎng)絡(luò)超參數(shù)的選取提供參考。
LSTM是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò),與傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)的區(qū)別在于在網(wǎng)絡(luò)結(jié)構(gòu)中添加了具有記憶功能的單元。圖1展示了LSTM模型記憶單元的典型結(jié)構(gòu)。LSTM有4個處理信息的“門”(分別是遺忘門f、輸入門i及 輸出門o和一個獨(dú)特的記憶細(xì)胞c)。
圖1 LSTM網(wǎng)絡(luò)記憶單元結(jié)構(gòu)示意Fig. 1 Schematic diagram of one LSTM memory block
具體處理過程如下:
(1)在t時刻,有兩部分輸入,分別是前一時刻的輸出結(jié)果ht-1和 這一時刻的新輸入信息xt。首先計(jì)算遺忘門f,遺忘門控制輸入信息有多少將被遺忘。計(jì)算式如下:
(2)計(jì)算輸入門i,輸入門控制有多少輸入信息將參與細(xì)胞的更新。計(jì)算式如下:
(4)對之前的細(xì)胞狀態(tài)ct-1進(jìn) 行更新,細(xì)胞狀態(tài)c是LSTM模型的關(guān)鍵。計(jì)算式如下:
(5)計(jì)算輸出門o, 輸出門控制有多少信息將用于生成ht。計(jì)算式如下:
(6)將ht傳輸?shù)捷敵鰧?,輸出y。計(jì)算式如下:
式中: σ(·)為 Sigmoid函數(shù); t anh(·)為 雙曲余弦函數(shù);W、U為權(quán)重矩陣;b為偏置向量;⊙為向量標(biāo)量積;y為t時刻的輸出。
灰狼優(yōu)化算法[17](Grey Wolf Optimizer, GWO)通過模仿自然界中狼群狩獵的生活方式來實(shí)現(xiàn)目標(biāo)的最優(yōu)化。在尋找獵物中,狼群被分為4個社會等級,第一個等級被稱為頭狼,用 α表示;第二等級的狼用β表示,它服從于α 狼;第三等級的狼用δ 表示;最后底層被稱為ω狼,服從其他層次的狼。
圍獵過程如下:
(1)首先,對獵物進(jìn)行包圍:
式中:j為當(dāng)前的代數(shù);A、C為 協(xié)同系數(shù)向量;Xp為 獵物的位置向量;X為灰狼的位置向量;D為灰狼與獵物之間的距離。
其中A、C的計(jì)算方式如下:
式中:a隨 著迭代次數(shù)增加,從2線性遞減到0;r1、r2為[0,1]的隨機(jī)數(shù)向量。
(2)對獵物進(jìn)行抓捕:實(shí)際上由于不知道獵物的位置,即不知道目標(biāo)的最優(yōu)值在哪里。因此假設(shè)α 是最靠近獵物的,β 、δ 其 次,式(12)用來計(jì)算它們與獵物的距離。通過不斷更新α 、β 、δ狼的位置(式(13)),來號召其他灰狼不斷靠近獵物(式(14)),最后認(rèn)為α 狼的位置即是獵物的位置。其計(jì)算式如下:
式中:Xα(j)、Xβ(j)、Xδ(j)為j代時α 、β 、δ的位置。
利用GWO具有全局遍歷性的優(yōu)點(diǎn)對LSTM的初始權(quán)重、閾值和隱藏層神經(jīng)元數(shù)進(jìn)行自動尋優(yōu),避免人工調(diào)參耗費(fèi)大量的時間及陷入局部最優(yōu)的結(jié)果。其耦合過程如圖2。
圖2 GWO-LSTM流程Fig. 2 Flow chart of GWO-LSTM
選取漢江中上游丹江口水庫區(qū)域作為研究對象。丹江口水庫是中國南水北調(diào)中線工程的水源地,屬國家一級水源保護(hù)區(qū),總面積846 km2,有“亞洲天池”之美譽(yù),是漢江的天然水位調(diào)節(jié)器。丹江口水庫多年平均入庫水量為394.8億m3,水源來自于漢江及其支流丹江。以丹江口水庫1952—2008年的9月份和10月份的月入庫徑流資料作為預(yù)測對象。由于丹江口水庫水域位于華西秋雨區(qū),其秋汛期9、10月總徑流量占主汛期徑流量的47.7%[20]。預(yù)測因子資料采用中國國家氣候中心計(jì)算的74項(xiàng)主要環(huán)流特征量數(shù)據(jù)、海溫?cái)?shù)據(jù)(50°N~10°S,120°E~80°W格點(diǎn)數(shù)據(jù))、丹江口水庫上游流域面降雨量(圖3)、NCEP再分析資料500 hPa和100 hPa兩個等壓面的位勢高度場(全球格點(diǎn)數(shù)據(jù)144×73),NCEP再分析資料是美國國家環(huán)境預(yù)測中心(National Centers for Environmental Prediction, NCEP)和大氣研究中心(National Center for Atmospheric Research, NCAR)(https://psl.noaa.gov/data/gridded/data.ncep.reanalysis.html)的數(shù)據(jù)產(chǎn)品。時間尺度為1952—2008年的逐月資料,共57年,將總長度的80%作為訓(xùn)練期,20%作為驗(yàn)證期,即1952—1996年為訓(xùn)練期,1997—2008年為驗(yàn)證期。
圖3 丹江口水庫流域示意Fig. 3 Schematic diagram of Danjiangkou Reservoir
本文采用劉勇[20]的因子篩選方法對丹江口水庫月入庫徑流預(yù)測因子進(jìn)行篩選,即采用單相關(guān)系數(shù)及隨機(jī)森林重要性分析丹江口水庫月入庫徑流與預(yù)測因子之間的相關(guān)關(guān)系,綜合相關(guān)系數(shù)及屬性重要度,最終確定9月份的預(yù)測因子為7個,10月份的預(yù)測因子為6個,具體預(yù)測因子見表1。因此,模型的輸入層數(shù)分別為7和6,根據(jù)不同月份進(jìn)行選擇。由于LSTM結(jié)構(gòu)的復(fù)雜性,將LSTM隱藏層層數(shù)設(shè)置為1,其隱藏層神經(jīng)元數(shù)目、初始的權(quán)值和閾值利用GWO優(yōu)化確定,其中神經(jīng)元數(shù)的取值范圍為[3,50],初始權(quán)值和閾值的取值范圍為[-1,1]。模型的輸出層數(shù)為1,模型的訓(xùn)練次數(shù)設(shè)置為100,模型損失函數(shù)為均方誤差。在隱藏層后面增加一層舍棄層,防止模型出現(xiàn)過擬合。模型訓(xùn)練過程采用Adam算法進(jìn)行優(yōu)化,搭建在MATLAB平臺下實(shí)現(xiàn)。同時設(shè)置狼群數(shù)量為20,最大迭代次數(shù)為20次,優(yōu)化中適應(yīng)度采用均方根誤差,并且綜合考慮訓(xùn)練期和驗(yàn)證期的均方根誤差,設(shè)置權(quán)重為0.5和0.5。
表1 9月和10月預(yù)測因子Tab. 1 The forecast factors of September and October
模型的評價(jià)標(biāo)準(zhǔn)采用均方根誤差(Root-Mean-Square Error,ERMS)和納什效率系數(shù)(Nash-Sutcliffe Efficiency Coefficient,ENS),ERMS越 小表明誤差越小,ENS越接近1表明過程吻合性越好。Ritter等[21]指出一般ENS大于某一個值時,認(rèn)為模型的預(yù)測效果是可以接受的,這個值的范圍為0.50~0.65。
利用GWO-LSTM模型、GWO-BP模型和逐步回歸模型對丹江口水庫1952—1996年9月份和10月份的入庫徑流進(jìn)行訓(xùn)練,1997—2008年9月份和10月份的入庫徑流進(jìn)行驗(yàn)證。其訓(xùn)練期和驗(yàn)證期的ERMS和ENS結(jié)果見表2。
表2 不同模型對應(yīng)的丹江口月徑流預(yù)測精度指標(biāo)Tab. 2 Accuracy of monthly runoff prediction of Danjiangkou corresponding to different models
對比3種模型在丹江口水庫月入庫徑流預(yù)測的應(yīng)用效果,可以看到在同樣條件下,無論在訓(xùn)練期還是驗(yàn)證期,GWO-LSTM模型的均方根誤差ERMS都 低于GWO-BP和逐步回歸模型,且其納什效率系數(shù)ENS都高于GWO-BP和逐步回歸模型,這說明相對于傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型,擁有“記憶”結(jié)構(gòu)的LSTM模型在預(yù)測方面更具優(yōu)勢。再將LSTM、BP兩種非線性模型與逐步回歸模型相比,可以看到非線性模型對復(fù)雜的水文預(yù)測系統(tǒng)來說有更好的預(yù)測效果。
3種模型訓(xùn)練期及驗(yàn)證期的預(yù)測效果見圖4,圖中出現(xiàn)的負(fù)值應(yīng)將其處理為零,本文暫不處理。從中發(fā)現(xiàn),對于整體趨勢預(yù)測能力,GWO-LSTM>GWO-BP>逐步回歸模型,沒有出現(xiàn)明顯的偏離現(xiàn)象,預(yù)測性能較為穩(wěn)定。其次,峰值的捕捉能力,對于高峰現(xiàn)的捕捉,可以看到1964年和1984年的9月份與1964年的10月份,GWO-BP比GWO-LSTM和逐步回歸模型預(yù)測的結(jié)果更接近于觀測值,對洪峰有更好的反應(yīng)能力,但GWO-BP和GWO-LSTM兩者差值不大;對于低峰現(xiàn)的捕捉,3種模型的能力基本等同,GWO-BP略有優(yōu)勢,但在1994年的9月份和1990年的10月份,預(yù)測出現(xiàn)異常,表現(xiàn)出明顯的低估現(xiàn)象,可能是其簡單的網(wǎng)絡(luò)結(jié)構(gòu)所引起,對高峰現(xiàn)的過度擬合導(dǎo)致后面的低估現(xiàn)象。
圖4 各模型訓(xùn)練期對比結(jié)果Fig. 4 Training periods results of various models
綜上所述,在同等條件下,GWO-LSTM模型無論在預(yù)測精度還是泛化能力上都要優(yōu)于GWO-BP模型更優(yōu)于逐步回歸模型,雖然在峰值的捕捉能力上略有不足,但沒有出現(xiàn)較大的偏差現(xiàn)象。同時對比于近年來關(guān)于丹江口水庫月入庫徑流的預(yù)測情況,與以機(jī)器學(xué)習(xí)算法進(jìn)行的丹江口水庫月入庫徑流預(yù)測[22]相比,GWO-LSTM模型的預(yù)測效果有較大改善。與以物理模型進(jìn)行的丹江口水庫月入庫徑流預(yù)測[23]相比,GWO-LSTM模型稍有不足,但相差不大,而且相對于物理模型前期輸入資料的收集難度,機(jī)器學(xué)習(xí)模型的輸入資料收集更加容易,資料較為完整。
另外,丹江口水庫于1973年建成,其前后的產(chǎn)匯流特性發(fā)生較大變化。對比了1973年前后其預(yù)測精度的變化,1973年前后3種模型的納什效率系數(shù)及均方根誤差都發(fā)生了變化,1973年前其納什效率系數(shù)平均高于1973年后7%,均方根誤差平均低于1973年后4億m3,1973年前的預(yù)測精度整體好于1973年后,說明水庫建成前后流域的產(chǎn)匯流特性變化對機(jī)器學(xué)習(xí)方法的預(yù)測有影響,其具體變化原因需要進(jìn)一步分析。但總體上GWO-LSTM模型對丹江口水庫月入庫徑流的預(yù)測效果較好。
對GWO算法進(jìn)行驗(yàn)證,以神經(jīng)元個數(shù)和學(xué)習(xí)率為例,其結(jié)果如圖5~6??梢钥吹皆谏窠?jīng)元個數(shù)[3,50]范圍內(nèi),GWO確實(shí)可以找到全局的最優(yōu)點(diǎn)(38,17.251),而且在第4次迭代就趨于收斂。同理在學(xué)習(xí)率中也找到最優(yōu)點(diǎn)(0.033,12.224),在第2次迭代就趨于收斂,說明了GWO具有全局遍歷和收斂較快的優(yōu)點(diǎn)。
圖5 神經(jīng)元個數(shù)優(yōu)化過程Fig. 5 Optimization process of neuron number
圖6 學(xué)習(xí)率優(yōu)化過程Fig. 6 Optimization process of learning rate
然后將GWO算法應(yīng)用于LSTM神經(jīng)元個數(shù)、初始權(quán)重、閾值的優(yōu)化上,訓(xùn)練期和驗(yàn)證期效果見圖7??梢?,人工調(diào)參的預(yù)測效果不如GWO優(yōu)化,經(jīng)過GWO優(yōu)化其訓(xùn)練期的ERMS和ENS分別為8.126億m3和0.952,驗(yàn)證期為4.292億m3和0.985,人工調(diào)參訓(xùn)練期的ERMS和ENS分別為15.045億m3和0.837,驗(yàn)證期為25.171億m3和0.472,可以看到人工調(diào)參的LSTM模型其驗(yàn)證期的ENS不足0.5,未達(dá)到可接受范圍。說明GWO和LSTM結(jié)合提高了預(yù)測精度,也減少了時間成本,平均在3次后就可以達(dá)到收斂狀態(tài)。但也存在不足之處,對于GWO其全局最優(yōu)性目前并沒有較為科學(xué)嚴(yán)謹(jǐn)?shù)淖C明,仍然存在爭議;而且LSTM參數(shù)較多,優(yōu)化過程耗時較長,對實(shí)時性水文預(yù)測的能力較弱,因此可進(jìn)一步考慮將其與一些并行方法相結(jié)合。
圖7 GWO-LSTM和LSTM的模擬效果對比Fig. 7 Comparison of the simulation effects of GWO-LSTM and LSTM
基于GWO-LSTM開展丹江口水庫月入庫徑流的預(yù)測研究,對比不同模型在GWO優(yōu)化下的預(yù)測效果。結(jié)果表明:GWO-LSTM模型在預(yù)測精度和泛化能力上明顯優(yōu)于GWO-BP模型和逐步回歸模型,雖然在峰值捕捉上略有不足,但整體預(yù)測效果較好,其納什效率系數(shù)平均在0.95以上;在網(wǎng)絡(luò)結(jié)構(gòu)超參數(shù)的選擇上,超參數(shù)依據(jù)經(jīng)驗(yàn)取值其預(yù)測結(jié)果不如GWO優(yōu)化,依據(jù)經(jīng)驗(yàn)取值其驗(yàn)證期的納什效率系數(shù)不足0.5,未達(dá)到可接受范圍,而且具有一定的偶然性,為了避免局部最優(yōu)情況,建議選用帶有全局優(yōu)化特點(diǎn)的算法進(jìn)行超參數(shù)取值;驗(yàn)證了GWO算法具有全局遍歷性和收斂快的特點(diǎn)。