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

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

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

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

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

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

表1 不同模型的洪水預測結果
通過表1的對比結果可以看出,在訓練時的Ens值方面,改進NARX的Ens值在3個模型中最高,達到了0.862,比可信區間的閾值0.75多了0.112,比其余三個模型MLPNN、MGGP、NARX分別高出了0.191、0.166、0.004,其中MLPNN的Ens值最低為0.671,小于可信區間的閾值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的預測性能,本文使用了欒川水文站的流量水位數據進行了性能檢測,以水位每日時間序列的形式對比了不同模型觀測值與預測值,得到不同算法下的預測結果,如圖4所示.

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