崔雅博,羅清元,劉麗娜
(1.開封大學 信息工程學院,河南 開封 475004;2.河南省水文水資源局 站網(wǎng)監(jiān)測處,鄭州 450003;3.鄭州大學 河南省超算中心,鄭州 450001)
近年來,在我國頻繁出現(xiàn)的反常降雨天氣經(jīng)常導致流域內(nèi)發(fā)生各種自然災害,其中洪災的破壞力非常巨大,已經(jīng)成為防災減災領域中關注的焦點.水文監(jiān)測和預報預警是防御洪水災害工作的重要環(huán)節(jié).及時監(jiān)測到流域內(nèi)雨情變化信息并準確預測預報洪水,對有效運用防洪工程措施、制定正確的防御決策和減少災害損失具有重要的指導意義[1-3].由于影響洪災的因素有很多,簡單的模型不能進行準確預測,為了最大限度降低突發(fā)洪水給人們造成的財產(chǎn)損失和生命威脅,專家們對洪水預測模型和方法的研究逐漸增多[4-5].劉志飛[6]采用最小二乘支持向量機的方法建立了洪水預測和預報框架,通過流域內(nèi)水位的變化趨勢對洪水災害的發(fā)生進行預測,取得了不錯的效果;段生月等[7]將正則化GRU神經(jīng)網(wǎng)絡融合到洪水預測框架中,從而解決了傳統(tǒng)神經(jīng)網(wǎng)絡對洪水預測準確度不高的問題;王占明[8]運用灰色系統(tǒng)模型對海城未來可能發(fā)生大于或等于1 000 m3/s和2 000 m3/s的洪水進行預測分析,能夠滿足降雨產(chǎn)生地表徑流的灰色特性,且預測精度較高;馮鈞等[9]采用被研究流域內(nèi)的大量歷史水文數(shù)據(jù)建立了洪水災害預測模型,并處理洪水流量水文時間序列,利用建立的模型對洪災的發(fā)展態(tài)勢進行快速預報.
由于時間序列具有隨時間變化的特點,時間序列的完整建模一直面臨著巨大的挑戰(zhàn).為了更好地表示時間序列數(shù)據(jù),常將時間序列數(shù)據(jù)進行重置和篩選以便于模擬.Danandeh等[10]提出對原始時間序列數(shù)據(jù)進行平方根計算和歸一化處理,來去除序列中的非平穩(wěn)特征,但此方法在方便模擬時間序列數(shù)據(jù)的同時,也抑制了原數(shù)據(jù)的差異,從而降低了最終的預測性能;李文等[11]提出了一個處理時間序列數(shù)據(jù)的框架,對數(shù)據(jù)進行預處理,該方法雖然取得了較高預測性能,但人為手動計算過多,步驟較為繁瑣;方方等[12]采用將小波變換與基因表達相結合的形式完善了時間序列數(shù)據(jù)的預測,提高了最終的檢測精度.為了對洪水災害進行更準確地預測,本文建立了一個具有外部輸入的非線性自回歸網(wǎng)絡(nonlinear auto-regressive model with exogenous inputs,NARX),并將其與基于小波變換的數(shù)據(jù)預處理模塊進行耦合,對時域和頻域進行分析,利用多基因編程(multi-gene genetic programming,MGGP)進行特征選擇,以獲得信息豐富和無噪聲的輸入數(shù)據(jù).利用欒川水文站近15年的水文數(shù)據(jù)對改進的NARX進行驗證和測試,并與MLPNN算法、MGGP算法和原始NARX模型進行了比較,結果表明,本文提出的改進方法能穩(wěn)定且準確地對洪水進行預測.
本文的改進思路是將小波變換(wavelet transform,WT)和MGGP集成到NARX中建立混合動態(tài)網(wǎng)絡,從而實現(xiàn)對流域內(nèi)洪水災害的預測.
針對非線性問題,人工神經(jīng)網(wǎng)絡是一種常用的智能解決方法[13-14],其中多層感知器神經(jīng)網(wǎng)絡(multi-layer perceptron neural networks,MLPNN)是水文應用中最為流行的一種神經(jīng)網(wǎng)絡.圖1為MLPNN典型的結構框圖,大量的神經(jīng)元在各個層之間相互連接.在輸入層,一個神經(jīng)元相當于一個預測器;在輸出層,一個神經(jīng)元可以代表一個響應.在隱藏層,神經(jīng)元的數(shù)量取決于問題的復雜性.這些神經(jīng)元中的信息傳遞都是不帶任何一個循環(huán)的前向傳播.

圖1 MLPNN結構
MGGP模型[15-16]是一種有監(jiān)督的進化學習算法,其采用了適者生存的概念,線性結合了低深度基因編程(GP),并創(chuàng)建了一個簡化適應度的解決方案.GP基因是一種樹狀結構的計算機程序,具有連接分支、根、內(nèi)部和終端節(jié)點.圖2為低深度基因編程.三級基因由1個根節(jié)點、3個內(nèi)節(jié)點和4個終端節(jié)點組成,它們通過分支連接符(數(shù)學運算符)連接.

圖2 低深度基因編程
MGGP方法的進化從染色體的產(chǎn)生開始,之后用染色體作為父母產(chǎn)生后代.這一過程涉及3種遺傳操作:繁殖、交叉和突變.在繁殖過程中,父母僅僅通過復制自己來繁殖后代,因此不會產(chǎn)生額外的基因信息.在交叉過程中,兩個新基因通過親本之間交換材料產(chǎn)生.在突變過程中,用預定義的操作參數(shù)控制隨機子樹結構,從而產(chǎn)生一個新的基因.
MGGP模型中的主要開發(fā)過程包括:首先定義初始參數(shù)(函數(shù)集、種群大小、生成數(shù)、遺傳操作率和最大基因數(shù));然后生成一個基因種群,并創(chuàng)建一個解,再基于目標函數(shù)來檢驗模型的效率,使用遺傳操作產(chǎn)生新的基因,如果不滿足停止條件,重復最后一步;最后用低深度的GP基因構建出MGGP算法,其表達式為
(1)
式中:C為常數(shù);ci為第i個基因Gi的權重;ng為存活的基因數(shù);C和ci均由最小二乘法確定.
德國人把目光投向了一個數(shù)量龐大的人群,那就是全職媽媽。這些媽媽經(jīng)過一定的培訓,就成為了身兼母親和護理員兩職的可用人才。有關數(shù)據(jù)顯示,目前德國1.1萬多家養(yǎng)老機構的62萬從業(yè)人員中,超過60%都是非全職的。在1.2萬居家護理企業(yè)的27萬從業(yè)人員中,非全職的比例甚至超過了70%,絕大部分都是全職媽媽。
時間數(shù)據(jù)的基本信息通常隱藏在頻域內(nèi),而在時域內(nèi)并不容易獲得[17].為了揭示時間序列的關鍵特征,通常會執(zhí)行數(shù)據(jù)轉換.傅里葉變換是最早使用的頻率內(nèi)容提取方法之一.但如果從時間域轉換到頻域,時間信息就會丟失.WT作為一種改進方法,可以同時捕獲時間和頻率信息.
WT產(chǎn)生了一個非平穩(wěn)的時間尺度表示數(shù)據(jù)及其關系,從而揭示了數(shù)據(jù)的趨勢、分解點和不連續(xù)性.具體來說,是將原始信號分解為低頻和高頻元素,并在時頻域進行分析,這種處理技術允許檢查原始數(shù)據(jù)中看不見的細節(jié),從而提高數(shù)據(jù)挖掘模型的計算精度.WT被分為連續(xù)WT(continuous WT,CWT)和離散WT(discrete WT,DWT),主要區(qū)別是尺度參數(shù)的離散化方式.時間序列f(t)的連續(xù)小波變換WA,B(t)表達式為
(2)
式中:t為時間;Ψ*為小波函數(shù)或母小波Ψ的復共軛;A為膨脹(尺度)參數(shù);B為平移(位置)參數(shù).
在每個A和B上計算CWT系數(shù)會得到大量的數(shù)據(jù).作為一種替代方法,DWT采用了縮放(低通濾波器)和小波(高通濾波器)函數(shù),尺度和位置的值由兩個參數(shù)所占權重決定,其計算過程為:通過低通和高通濾波器將時間序列數(shù)據(jù)分解為近似分量和細節(jié)分量,前者代表低頻、高尺度分量,后者代表高頻、低尺度分量,然后分別用低通和高通濾波器分析低頻和高頻內(nèi)容.通過上述方式,將時間數(shù)據(jù)分為背景信息和有價值的瑣碎屬性信息.
改進的NARX是一個基于循環(huán)網(wǎng)絡的模型,具體思路是將該模型與數(shù)據(jù)預處理模塊相結合,并將預處理模塊的輸出作為外源輸入,流程圖如圖3所示.

圖3 改進的NARX流程圖
該模型具體由3個階段組成:
階段一.由于DWT具有高計算效率和易于實現(xiàn)的特點,將輸入的時間序列數(shù)據(jù)經(jīng)過DWT,時間序列數(shù)據(jù)被分解成近似分量和細節(jié)分量,但并不是所有分解后獲得的子信號都提供相同的信息.
階段二.細節(jié)分量的子信號輸入到MGGP,以消除可能干擾模型性能的冗余信息.MGGP生成一個顯式表達式,表示對目標的貢獻,MGGP此時被用作擴展細節(jié)的選擇工具[18].由于其將GP樹線性結合,僅提高基于目標函數(shù)的適應度,往往會產(chǎn)生復雜的進化解,這可能會導致出現(xiàn)水平膨脹和過擬合的情況.為了解決這一問題,采用了帕累托前沿(PF)方法來優(yōu)化模型的精度和復雜性.具體流程為:首先限制最大的基因數(shù)量,以降低模型的復雜性和過擬合的風險,然后計算所有進化解的復雜度,并比較模型整體的復雜度和擬合度,最后平衡模型的準確性和復雜度,進而選擇最佳模型中縮放后的細節(jié)分量.
階段三.將近似分量和縮放細節(jié)分量作為非線性自回歸網(wǎng)絡的外部輸入,這個動態(tài)網(wǎng)絡由三層(類似于MLPNN)組成,該網(wǎng)絡具有反饋功能,通過連接前面的輸出形成反饋循環(huán),使其具有多步預測特性,具體計算過程為
y(t-1),…,y(t-Δt2))
(3)
式中:y、a和ds分別為輸出、近似分量和縮放細節(jié)分量;Δt1為輸入延遲;Δt2為反饋延遲;F為函數(shù)符號.

本文實驗均在同一個硬件平臺上完成,平臺設備為i5-9300HF處理器(主頻2.40 GHz)和GTX1660Ti(顯存6 GB)顯卡.
納什效率系數(shù)(Ens)是評估觀測值和預測值之間擬合程度的指標,可以用來驗證預測模型是否達到最優(yōu).當Ens接近1時,表示當前的模型達到一個最優(yōu)的預測狀態(tài),此時預測的估計值為一個理想的狀態(tài),可信度高;當Ens接近0時,表示估計的結果接近觀測值的平均值水平,表示整體的結果較為可信;當Ens小于0時,則表示此時的模型是不可信的.通常將Ens大于0.75視為可信狀態(tài)區(qū)間.Ens的計算公式為
(4)

平均絕對誤差(MAE)用來描述預測值與觀測值之間絕對誤差的平均值.均方根誤差(RMSE)則用來描述模型值與觀測值之間的差異,為所有絕對誤差平方和的均方根.
MLPNN是一個有監(jiān)督的學習網(wǎng)絡.預測值作為輸入,當前觀測值作為目標,本文采用LM算法對網(wǎng)絡進行訓練,然后將仿真誤差反向傳播,以調整網(wǎng)絡的權值和偏差.該網(wǎng)絡具有S型隱含神經(jīng)元和線性輸出神經(jīng)元,通過試錯過程獲得最優(yōu)的隱含神經(jīng)元數(shù)量.本文將MAE設為適應度函數(shù),如果訓練達到最大值10 000個epoch或MAE低于閾值0.01時,則終止計算.其中,1個epoch指將所有訓練數(shù)據(jù)全部訓練一次,激活函數(shù)采用linear激活函數(shù).
在MGGP模型中,基因的數(shù)量被限制為5個,每個基因的最大深度設置為4.初始種群規(guī)模為300代,最大代數(shù)為150代,適應度函數(shù)為RMSE.經(jīng)過一系列實驗,繁殖率、交叉率和突變率分別調整為0.3、0.86和0.15.
本文提出的改進NARX模型,其外部輸入為水文時間序列數(shù)據(jù)的小波分解分量,因此需要選擇適當?shù)男〔ǎ疚牟捎昧顺S玫腍ear小波[20]作為外部輸入的小波函數(shù).與MLPNN類似,原始NARX網(wǎng)絡和改進NARX網(wǎng)絡均使用LM算法與MAE適應度函數(shù)進行訓練;如果計算達到最大值10 000個epoch或MAE低于閾值0.01,則終止計算.
本文實驗數(shù)據(jù)為欒川水文站近15年所測水文數(shù)據(jù),其中按每天收集到的系列數(shù)據(jù)累計共3 425個,按8∶2的比例分為訓練集和測試集.經(jīng)過統(tǒng)計,低水位設定為2.8,高水位設定為6.9.對MLPNN、MGGP、NARX和改進NARX模型進行了評估和比較.針對MLPNN和MGGP兩種模型,采用短期記憶結構來提高學習性能.針對改進NARX模型,則在原始NARX網(wǎng)絡的基礎上利用小波分解和對MGGP的尺度分析,并通過將前饋神經(jīng)網(wǎng)絡與非線性自回歸模型相結合,為洪水預測提供了更穩(wěn)定的預測模型.表1為不同模型的洪水預測結果.

表1 不同模型的洪水預測結果
通過表1的對比結果可以看出,在訓練時的Ens值方面,改進NARX的Ens值在3個模型中最高,達到了0.862,比可信區(qū)間的閾值0.75多了0.112,比其余三個模型MLPNN、MGGP、NARX分別高出了0.191、0.166、0.004,其中MLPNN的Ens值最低為0.671,小于可信區(qū)間的閾值0.75;同時改進NARX的RMSE和MAE值也小于其他3種算法,分別為0.158和0.069.上述結果說明在訓練過程中改進NARX的擬合性能最好,誤差最小.在測試的預測結果對比中,改進NARX同樣達到了最好的性能,其中Ens值最高為0.778,遠高于Ens值最低的MGGP模型,此外MGGP的測試Ens值要相對其他算法下降的幅度最大,說明MGGP的泛化能力相對較低.在誤差方面,改進NARX的RMSE和MAE值在與其他3種算法的對比中仍然是最小的,分別為0.179和0.066,驗證了改進NARX在洪水預測方面的有效性.
為了進一步直觀地評估改進NARX的預測性能,本文使用了欒川水文站的流量水位數(shù)據(jù)進行了性能檢測,以水位每日時間序列的形式對比了不同模型觀測值與預測值,得到不同算法下的預測結果,如圖4所示.

圖4 不同算法對比結果
通過圖4的對比結果可以看出:MLPNN、MGGP、NARX和改進NARX這4種模型都能夠很好地捕捉水位值在4~6之間的時間變化.然而,在水位值接近7以及大于7時,或者在水位值低于3接近2的情況下,傳統(tǒng)的3種模型都不能獲得理想的預測值,且都在一定程度上低估了水位值.而本文方法引入了外部輸入的改進NARX模型,能準確地預測水位值,即使在水位突變的情況下也能進行準確地預測,從而驗證了改進NARX具有更強的洪水預測能力.
為了獲得更加準確的洪水預測結果,本文建立了混合動態(tài)神經(jīng)網(wǎng)絡,該網(wǎng)絡結合數(shù)據(jù)預處理模塊,構建了一個具有外源性輸入的非線性自回歸網(wǎng)絡.通過對水文數(shù)據(jù)進行小波變換,將其分解為一個低頻的近似分量和一個高頻的細節(jié)分量,利用MGGP模型處理高頻分量消除了冗余信息,最后將兩種分量輸入NARX,從而得到更加準確的預測結果.利用欒川水文站收集的近15年期間的水文數(shù)據(jù),對所提模型進行了評估,并與幾種傳統(tǒng)的機器學習方法進行了比較,實驗結果表明,本文提出的改進混合動態(tài)神經(jīng)網(wǎng)絡能夠對洪水災害給出更加準確的預測結果.