嚴春華,侯鈞宇,梅 杰,蔣肇冰,姜中清,徐喬婷
(1.江蘇省水利勘測設(shè)計研究院有限公司,江蘇揚州 225100;2.淮安市水利工程建設(shè)管理服務(wù)中心,江蘇淮安 223001)
流域中河流、水庫、湖泊徑流量的預(yù)測對流域的性態(tài)掌握和安全判斷十分重要。目前,基于智能算法對徑流量的預(yù)測[1-2]研究成果很多,如左亞會等[3]基于改進RBF網(wǎng)絡(luò)模型實現(xiàn)了對流域水文的中長期預(yù)測;張上要等[4]借助TCN 算法構(gòu)建徑流量預(yù)測模型,實現(xiàn)對渭河流域月徑流量的預(yù)測;唐銘澤等[5]通過ASWPD-BO-GRU 3 個算法建立了月徑流量預(yù)測模型,其預(yù)測模型的精度滿足工程的需要;嚴春華等[6]結(jié)合偏自相關(guān)分析方法和殘差修正方法提出了徑流量GRU 的預(yù)測模型?;谥悄芩惴軌?qū)搅髁窟M行較好的預(yù)測且精度較高,但徑流量作為非穩(wěn)態(tài)的復(fù)雜變量,各河流不同斷面的徑流量具有時變性和互異性,需要進一步分析徑流量所包含的特性,從而構(gòu)建合理的預(yù)測模型,以提高徑流量的預(yù)測精度。
直接學(xué)習(xí)預(yù)測徑流量,容易受到徑流量中噪聲殘差的影響,導(dǎo)致預(yù)測精度較難提高。為解決該問題,需對徑流量進行分量分解。(1)本文采用(variational mode decomposition,VMD)算法對徑流量進行分解,以更全面反映徑流量所包含的特征信息。該算法已大量應(yīng)用到水利工程中的信號分解,得到了工程實際驗證。陳天涯等[7]通過VMD 算法對水電機組振動信號進行分解,從而提高了水電機組振動預(yù)測的精度;張建中等[8]借助VMD對大壩變形測值進行分解,構(gòu)建了基于優(yōu)化VMD 與GRU 的混凝土壩變形預(yù)測模型,提高了大壩變形預(yù)測模型的預(yù)測水平。徑流量除了包含不同特征外,還具有一定的時間效應(yīng),即前后徑流量有時間尺度上的關(guān)聯(lián)性,需要刻畫這種關(guān)聯(lián)性,以提高徑流量的預(yù)測精度。(2)本文采用BiLSTM 深度學(xué)習(xí)算法對時間效應(yīng)進行捕捉,同時得到徑流量各分量的映射網(wǎng)絡(luò)。該算法通過正向和反向雙向?qū)W習(xí)訓(xùn)練,能夠得到變量前后間的關(guān)系,該算法已經(jīng)在電力、土木、水利等多個行業(yè)領(lǐng)域應(yīng)用。習(xí)偉等[9]采用BiLSTM 算法并融合多元影響因素對配電臺區(qū)負荷進行了預(yù)測;杜睿山等[10]基于CNN-BiLSTM-AM提出了儲層巖石脆性指數(shù)預(yù)測模型;劉可真等[11]基于BiLSTM構(gòu)建了小水電日發(fā)電量預(yù)測模型,并較大幅度地提高了預(yù)測精度。雖然BiLSTM 深度學(xué)習(xí)算法的學(xué)習(xí)能力強,但該算法具有復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),導(dǎo)致該算法為達到全局最優(yōu)容易出現(xiàn)局部過擬合的現(xiàn)象,同時復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)還會降低算法的學(xué)習(xí)效率。因此,采用Dropout 技術(shù)對BiLSTM 的網(wǎng)絡(luò)進行優(yōu)化,以提高其學(xué)習(xí)精度和效率。
綜上,本文采用VMD算法對徑流量進行變量分解,得到IMF 系列分量,并采用Dropout 技術(shù)對BiLSTM進行優(yōu)化,然后對徑流量各個IMF分量進行訓(xùn)練學(xué)習(xí),得到各個IMF 分量的映射網(wǎng)絡(luò),將各個IMF 分量的預(yù)測值相加即為徑流量的預(yù)測值,從而構(gòu)建基于VMD-BiLSTM 徑流量預(yù)測模型。為了驗證該模型的精度,計算研究對比模型的徑流量預(yù)測值及精度,其中對比模型包括VMD-LSTM 模型、BiLSTM和LSTM模型。
徑流量具有較高的非穩(wěn)態(tài)特性,是非穩(wěn)態(tài)信號的一種。對于非穩(wěn)態(tài)的信號分解,經(jīng)驗?zāi)B(tài)分解(empirical mode decomposition,EMD)是常用的方法。但對于非線性程度高的變量,借助EMD分解容易存在模態(tài)混疊,其表現(xiàn)為包含不同信息特征的分量摻雜在一起,揭示分量信息的不全面。為解決該問題,集合經(jīng)驗?zāi)B(tài)分解(ensemble empirical mode decomposition,EEMD)對EMD 進行了優(yōu)化處理,但該分解方法由于加入白噪聲而較為嚴重地影響了分解速度,噪聲處理也存在一定的難題。2014年有研究提出VMD 算法以從根本上解決EMD 和EEMD所存在的問題。與EMD 系列的自適應(yīng)方法最大的區(qū)別是,VMD借助迭代來確定每個模態(tài)函數(shù)和對應(yīng)的中心頻率和帶寬,并把信號的局部特征進行放大處理,得到了更加精確穩(wěn)定的各分解分量的信息。
VMD 通過建立求解變分問題來完成原始信號的分解。VMD 算法通常采用交替乘子算法進行變分問題的解答。VMD分解的基本思路為首先采用交替乘子算法更新IMF 分量中心頻率,然后借助傅里葉逆變換得到IMF 分量在時域上的表示,最后求得原始信號的IMF系列分量。變分問題的求解對信號特征要求較高,可以把信號轉(zhuǎn)換為擴展的Lagrange,再借助交替乘子算法以交替更新模態(tài)函數(shù)uk、ωk中心頻率和拉格朗日算子λ的方式完成對變分問題的解答。由此可知,VMD算法的實現(xiàn)流程為:
第一步:對uk、ωk、λ進行初始化處理,并確定循環(huán)次數(shù)n。
第二步:循環(huán)計算n=n+1。
第三步:通過VMD 迭代計算uk和ωk,其中只迭代頻域ω>0的部分。
第四步:計算拉格朗日算子λ。
第五步:循環(huán)步驟2 至步驟4,直到滿足設(shè)置精度要求或者停止條件,從而得到K個unk+1。
第六步:通過反傅里葉變換對K個unk+1進行變換,計算實部部分,可以得到最后的K個模態(tài)分量的時域表示uk(t)。
由于徑流量具有時間效應(yīng),而單向的LSTM 模型較難捕捉前后時間尺度上的信息,因此,通過2個方向的LSTM 網(wǎng)絡(luò)學(xué)習(xí),可實現(xiàn)預(yù)測模型對徑流量雙向信息的捕捉。而為了LSTM 可以實現(xiàn)對特征2個方向的學(xué)習(xí),構(gòu)建了雙向?qū)W習(xí)的LSTM算法,即為BiLSTM模型。
由于BiLSTM模型是由LSTM網(wǎng)絡(luò)拼接而成,首先需要了解LSTM 網(wǎng)絡(luò)結(jié)構(gòu)。LSTM 網(wǎng)絡(luò)結(jié)構(gòu)是RNN 的一種,其學(xué)習(xí)的反饋機制一致,再引入記憶單元(memory cell)和門(gate)機制,實現(xiàn)對歷史信息的傳遞和丟棄處理。而且記憶單元具有獨特的門控機制,解決了梯度下降中的衰減問題,有效避免了網(wǎng)絡(luò)學(xué)習(xí)中的梯度消失現(xiàn)象。LSTM通過輸入門(input gate)、遺忘門(forget gate)和輸出門(output gate)來完成對訓(xùn)練學(xué)習(xí)中的信息處理。如果有新的神經(jīng)單元輸入,遺忘門和記憶單元相乘丟棄記憶單元中的無效信息;緊接著輸入門則把當(dāng)前時刻的有效輸入矩陣和當(dāng)前的計算狀態(tài)更新到記憶單元;最終輸出門把當(dāng)前記憶單元的值輸出,同時更新隱藏層的信息,用于下一個神經(jīng)網(wǎng)絡(luò)層的輸入。LSTM內(nèi)部神經(jīng)元表達式見式(1)到式(6)。
(1)遺忘門輸出值ft的表達式為
(2)輸入門輸出值it的表達式為
(3)內(nèi)部記憶單元輸入值c%t的表達式為
(4)內(nèi)部記憶單元ct的表達式為
(5)輸出門輸出值ot的表達式為
(6)隱藏層輸出值ht的表達式為
式中:xt為t時刻輸入層的輸入向量;ht為隱藏層的輸出向量;ot為輸出層的輸出向量;W和b分別為各自門所對應(yīng)的權(quán)重矩陣和偏置量。
BiLSTM 模型是通過拼接一個向前一個向后的LSTM 神經(jīng)網(wǎng)絡(luò),從而得到徑流量時序的每個點的上下時刻的相互影響的信息。BiLSTM 網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 BiLSTM網(wǎng)絡(luò)結(jié)構(gòu)
BiLSTM 與LSTM 相似,一般采用BPTT 算法對梯度進行求解,并解決了算法在學(xué)習(xí)過程中信息發(fā)散和梯度爆炸的難題,從而最大效率地學(xué)習(xí)到間隔比較遠的信息。由于BiLSTM 較之LSTM 的結(jié)構(gòu)復(fù)雜,存在計算速度慢和學(xué)習(xí)時間長的問題,需要對BiLSTM 的學(xué)習(xí)網(wǎng)絡(luò)進行優(yōu)化以進一步提高算法的效率和精度。其中BiLSTM 深度學(xué)習(xí)算法常存在的問題就是非線性訓(xùn)練的過擬合,因此在對其網(wǎng)絡(luò)優(yōu)化的過程中需要重點解決該問題。Dropout 技術(shù)的最大優(yōu)勢在于可以處理學(xué)習(xí)過程中的過擬合問題。為了解決BiLSTM 深度學(xué)習(xí)所存在的問題,采用Dropout 技術(shù)對其網(wǎng)絡(luò)結(jié)構(gòu)進行優(yōu)化。當(dāng)學(xué)習(xí)網(wǎng)絡(luò)的參數(shù)較多而提高的數(shù)據(jù)集較少時,容易存在過度學(xué)習(xí)訓(xùn)練的情況,即僅僅保證訓(xùn)練集的精度高而驗證集的精度卻相對較低,無法滿足預(yù)測的需要,所以需要對學(xué)習(xí)網(wǎng)絡(luò)進行正則化處理,盡可能地避免過擬合現(xiàn)象,減少學(xué)習(xí)網(wǎng)絡(luò)的失誤程度,提高模型的學(xué)習(xí)能力。Dropout 技術(shù)從優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)出發(fā)而不是采用代價函數(shù)來解決過擬合的問題。Dropout的核心邏輯為通過BiLSTM算法在學(xué)習(xí)的過程中停止一定數(shù)量的神經(jīng)元并保證該次學(xué)習(xí)的權(quán)重不變,來提高算法的擬合效率和擬合精度。Dropout技術(shù)的邏輯框架如圖2所示。
圖2 Dropout優(yōu)化邏輯框架
本文通過VMD算法和BiLSTM深度學(xué)習(xí)算法聯(lián)合構(gòu)建徑流量預(yù)測模型,詳細流程如下:
第一步:收集研究流域?qū)ο蟮膹搅髁抠Y料,以及流域的降水和水位等水文資料。
第二步:確定所研究流域的數(shù)據(jù)集,劃分數(shù)據(jù)集的訓(xùn)練階段和預(yù)測階段,數(shù)據(jù)集包括訓(xùn)練集和預(yù)測集。
第三步:采用VMD 算法對徑流量進行分解,得到最優(yōu)的分解IMF分量。
第四步:通過BiLSTM 算法對徑流量的各IMF分量進行訓(xùn)練,其中降水和水位是輸入量,IMF分量為輸出量。
第五步:得到輸入集和IMF分量的映射網(wǎng)絡(luò),將各IMF分量相加即為徑流量的擬合值。
第六步:把預(yù)測集中的輸入變量代到訓(xùn)練好的各IMF分量的映射網(wǎng)絡(luò),得到各IMF分量的預(yù)測值。
第七步:將各徑流量IMF 分量的預(yù)測值相加得到徑流量的預(yù)測值。
第八步:計算對比模型的徑流量預(yù)測值,對比模型包括VMD-LSTM模型、BiLSTM和LSTM模型。
第九步:分析各徑流量預(yù)測模型的精度和誤差。
綜上可知,基于VMD-BiLSTM的徑流量預(yù)測模型實現(xiàn)流程如圖3所示。
圖3 基于VMD-BiLSTM的徑流量預(yù)測模型實現(xiàn)框架
長江一級某支流,干流全長423 km,流域面積1.67萬km2。徑流量的監(jiān)測斷面位于湖北省巴東縣,該斷面的徑流量過程線如圖4所示。徑流量的數(shù)據(jù)集時間從2015 年1 月1 日到2017 年7 月1 日,監(jiān)測頻次為一天一次,其中訓(xùn)練階段從2015 年1 月1 日到2017年2月28日,預(yù)測階段從2017年3月1日到2017年7月1日(圖中框中標(biāo)出)。與徑流量具有較高相關(guān)性的降水和水位作為預(yù)測模型的輸入,兩者的具體變化情況分別如圖5和圖6所示。
圖4 斷面的徑流量
圖5 斷面的控制流域內(nèi)的平均降水量
圖6 斷面的水位過程線
首先,對徑流量進行VMD 分解,從而得到徑流量的IMF 分量。徑流量的各IMF 分量情況如圖7所示。
圖7 徑流量分解的各IMF
采用BiLSTM 算法對徑流量的分量IMF1 到IMF5依次進行訓(xùn)練擬合,并將各分量相加得到徑流量的擬合值?;赩MD-BiLSTM 預(yù)測模型擬合值的決定系數(shù)R2為0.99,表明該模型的訓(xùn)練學(xué)習(xí)能力高,其中該模型的具體擬合值如圖8所示。
圖8 基于VMD-BiLSTM預(yù)測模型的徑流量擬合值
將預(yù)測集的輸入變量代入BiLSTM 訓(xùn)練好的各IMF 分量的網(wǎng)絡(luò)映射模型,則可以得到徑流量各分量的預(yù)測值。由各分量的預(yù)測值相加便得到徑流量的預(yù)測值,徑流量的預(yù)測結(jié)果如圖9 所示以及徑流量的預(yù)測殘差如圖10所示。
圖9 基于VMD-BiLSTM預(yù)測模型的徑流量預(yù)測值
圖10 基于VMD-BiLSTM預(yù)測模型的徑流量預(yù)測殘差
為評估和驗證VMD-BiLSTM模型的預(yù)測精度,同時計算VMD-LSTM模型、BiLSTM模型和LSTM模型的預(yù)測值,并與之進行對比。4 個模型的徑流量預(yù)測結(jié)果如圖11所示。
圖11 不同模型的徑流量預(yù)測情況
為評價各預(yù)測模型的預(yù)測效果,通過以下3 個指標(biāo)進行計算分析。3個精度評價指標(biāo)依次為平均絕對誤差(MAE)、均方誤差(MSE)和平均絕對百分比誤差(MAPE),計算方式分別為
式中,xi為徑流量的實測值;yi為徑流量xi與之對應(yīng)的預(yù)測值。
由圖11 和表1 可知:與其他3 個模型對比,VMD-BiLSTM 模型的預(yù)測誤差最小,精度最高,表明該徑流量預(yù)測模型具有較高的優(yōu)越性。VMDBiLSTM 模型比BiLSTM 模型的精度高,表明對徑流量進行分量分解可以更好地訓(xùn)練學(xué)習(xí)各分量的特征,從而提高徑流量的預(yù)測精度。VMD-BiLSTM 模型比VMD-LSTM 模型的精度提高幅度較大,以及BiLSTM 模型的精度比LSTM模型高,皆說明在考慮徑流量時間尺度下的前后影響,徑流量預(yù)測模型的結(jié)果精度可以進一步提高,因此,需要考慮徑流量時間效應(yīng)所產(chǎn)生的作用。
表1 各預(yù)測模型的誤差情況
本文基于VMD-BiLSTM 構(gòu)建了徑流量預(yù)測模型,主要結(jié)論如下:
(1)VMD法可以實現(xiàn)對非穩(wěn)態(tài)的徑流量進行變量分解,降低直接對徑流量分析的難度;優(yōu)化下的BiLSTM能夠?qū)搅髁康母鱅MF進行訓(xùn)練學(xué)習(xí),可以得到精度較高的映射網(wǎng)絡(luò),從而得到了效果較好的徑流量預(yù)測模型。
(2)通過工程案例可知,與其他預(yù)測模型相比,VMD-BiLSTM 徑流量預(yù)測模型的精度最高,該模型能夠?qū)搅髁窟M行預(yù)測,5.8%的誤差水平滿足工程實踐的需要,可以為流域的徑流量預(yù)測提供新的方法。
(3)本文從數(shù)學(xué)模型出發(fā),借助深度學(xué)習(xí)算法建立了徑流量預(yù)測模型。為了進一步提高預(yù)測結(jié)果的魯棒性,可以結(jié)合徑流量物理模型進行聯(lián)合預(yù)測。