金保明,李 蕓,張 烜,高蘭蘭,周傳爭,付曉雷
(1.福州大學(xué)土木工程學(xué)院,福建福州350116;2.云南省水文水資源局,云南昆明650106)
基于反向傳播算法的崇陽溪流域洪水流量預(yù)報
金保明1,李 蕓2,張 烜1,高蘭蘭1,周傳爭1,付曉雷1
(1.福州大學(xué)土木工程學(xué)院,福建福州350116;2.云南省水文水資源局,云南昆明650106)
基于反向傳播算法原理,采用試錯法確定BP模型的隱含層節(jié)點數(shù),并加入動量項,選取崇陽溪流域建陽水文站洪水流量過程及其上游武夷山水文站、支流麻沙水文站相應(yīng)洪水流量過程資料,同時考慮建陽站前期流量的自回歸影響,建立建陽站最速下降動量反向傳播洪水流量預(yù)報模型。計算結(jié)果表明,模型預(yù)測精度符合要求,可以作為流域預(yù)測洪水的方法之一,為流域防汛會商和指揮調(diào)度提供依據(jù)。
洪水預(yù)報;流量;BP算法;神經(jīng)網(wǎng)絡(luò)
河道洪水預(yù)報是一個比較復(fù)雜的問題,除了采用傳統(tǒng)的預(yù)報方法外,也可采用反向傳播算法建立非線性的神經(jīng)網(wǎng)絡(luò)洪水預(yù)報模型進行預(yù)報。神經(jīng)網(wǎng)絡(luò)應(yīng)用于洪水預(yù)報的初期,一般是對最基本的反向傳播網(wǎng)絡(luò)直接應(yīng)用。之后,有人針對反向傳播算法存在的問題提出改進的方法,包括自適應(yīng)調(diào)整學(xué)習(xí)率法[1]、附加動量法[2]、彈性BP算法[3]、LM算法[4]等?;诜聪騻鞑ニ惴ǖ纳窠?jīng)網(wǎng)絡(luò)由于其具有良好的自組織性、自適應(yīng)性和容錯性,為非線性系統(tǒng)的建模和預(yù)測提供了方便,在洪水流量預(yù)報方面具有獨特的優(yōu)勢。例如,戴會超等[5]建立了具有洪峰識別的宜昌站洪水流量過程反向傳播模型;Qing Hua Luan等[6]基于反向傳播算法,依據(jù)上游沙縣、洋口、七里街的流量與區(qū)間雨量建立了十里庵洪水預(yù)報模型;陳田慶等[7]尋求基于反向傳播神經(jīng)網(wǎng)絡(luò)的馬斯京根模型參數(shù)動態(tài)估計方法;胡健偉等[8]設(shè)計出基于反向傳播算法的洪水預(yù)報模型;韓通等[9]提出引入K最近鄰算法用于洪水預(yù)報實時校正并采用BP算法實時校正,結(jié)果表明前者對確定性系數(shù)改善最優(yōu),后者對洪峰誤差校正更精確;Liu Wen-Cheng等[10]采用反向傳播算法和遺傳算法神經(jīng)網(wǎng)絡(luò)對臺灣北部淡水河的水位進行預(yù)測,均取得較好的效果。因此,反向傳播神經(jīng)網(wǎng)絡(luò)應(yīng)用于流域洪水預(yù)報的效果較好,適用性比較強。本次采用最速下降法并加入動量項修正權(quán)值與偏置值,建立流域反向傳播洪水預(yù)報模型,并以崇陽溪流域為實例進行研究。
反向傳播算法應(yīng)用于有樣本資料的流域進行洪水預(yù)報可以起到很好效果。其主要通過多層網(wǎng)絡(luò)實現(xiàn),第一層輸入有關(guān)資料(如洪水流量或雨量等),采用有關(guān)的學(xué)習(xí)法則進行訓(xùn)練,輸出的結(jié)果作為下一層的輸入,繼續(xù)向前傳播;將最后一層輸出結(jié)果與實際結(jié)果進行比較,得出誤差(一般采用均方誤差);接著運用鏈式法則和雅可比矩陣推求敏感性,將敏感性從最后一層通過網(wǎng)絡(luò)逐層被往回傳播到第一層;然后采用有關(guān)方法更新每一層的權(quán)值和偏置值;反復(fù)迭代訓(xùn)練,最終使實際輸出結(jié)果與模型計算的結(jié)果之差足夠小,其誤差最小的模型就是所要建立的模型。
1.1 信息傳播過程
反向傳播網(wǎng)絡(luò)(簡稱BP網(wǎng)絡(luò))是一種多層前向的神經(jīng)網(wǎng)絡(luò),其中某一層的輸出表示為[11]
am+1=fm+1(wm+1am+bm+1),m=0,1,…,M-1
(1)
式中,w、b、M分別為網(wǎng)絡(luò)的權(quán)值向量、偏置值向量和層數(shù)。
第一層從外部接收輸入:a0=p。其中,p為輸入向量。最后一層輸出為整個網(wǎng)絡(luò)的輸出:a=aM。
1.2 性能指數(shù)和敏感性
(2)
第m層網(wǎng)絡(luò)輸入是該層權(quán)值和偏置值的函數(shù)
(3)
1.3 最速下降動量反向傳播法
該算法是最速下降反向傳播算法的變形,表示為[11]
Δwm(k)=γΔwm(k-1)-(1-γ)αsm(am-1)T
(4)
Δbm(k)=γΔbm(k-1)-(1-γ)αsm
(5)
式中,α為學(xué)習(xí)速度;γ為動量系數(shù)(0≤γ<1);Δw、Δb分別為權(quán)值和偏置值矩陣的變化量。由于使用了動量項,可以在保證算法穩(wěn)定前提下提高學(xué)習(xí)速度,同時可以加速收斂進程。
BP網(wǎng)絡(luò)不同層的敏感度之間存在如下關(guān)系
(6)
式中,n為第m+1層網(wǎng)絡(luò)輸入矩陣。最后一層,即當(dāng)m=M時
(7)
因此,各層各個元素的敏感度均可以從t與a間的誤差通過網(wǎng)絡(luò)一步一步反向遞推至第一層。即
(t-a)→sM→…→s2→s1
(8)
算法過程主要包括:①信息正向傳播過程。運用式(1)通過網(wǎng)絡(luò)將輸入向前傳播。②誤差反向傳播過程。運用式(7)和式(6)計算各層各個元素的敏感度、并通過網(wǎng)絡(luò)將敏感性反向傳播,運用式(4)和式(5)更新權(quán)值和偏置值。③完成訓(xùn)練和收斂過程。重復(fù)以上步驟進行反復(fù)訓(xùn)練,直到網(wǎng)絡(luò)輸出的誤差小于給定的值ε,或迭代運算達到規(guī)定的次數(shù),訓(xùn)練便終止,最終確定的權(quán)值和偏置值等參數(shù)就可用于模型的模擬。
2.1 流域概況
崇陽溪為閩江上游建溪流域的主要支流,建陽水文站為其主要控制站,位于建陽市城區(qū),站址以上流域面積4 848 km2,其洪水流量主要由崇陽溪、麻陽溪兩條支流洪水組合而成,上游設(shè)有武夷山水文站、麻沙水文站,集水面積分別為1 078、787 km2(見圖1)。建陽水文站多年平均流量188 m3/s,實測最大流量8 380 m3/s(出現(xiàn)時間1998年6月22日)。每年汛期由于北方冷空氣南下與西南暖濕氣流相遇,往往產(chǎn)生雨區(qū)廣、雨量多、強度大、歷時長的鋒面大暴雨,造成洪澇災(zāi)害。20世紀80年代以來相繼發(fā)生了9場大暴雨洪水。
圖1 崇陽溪流域水系示意
2.2 模型的構(gòu)建
崇陽溪干流的洪水流量主要由崇陽溪、麻陽溪兩條支流洪水組合而成,相對來講崇陽溪干流的洪水流量與崇陽溪支流的洪水流量相關(guān)系數(shù)較大,與麻沙溪支流的洪水流量相關(guān)系數(shù)較小。由于缺乏支流站點到干流站點的區(qū)間入流量資料,此次分析時考慮了建陽站前期流量的自回歸影響,以彌補缺乏區(qū)間入流可能造成計算結(jié)果誤差偏大的不足。因此,以上游崇陽溪支流武夷山水文站前τ1小時洪水流量Q1(t-τ1)、麻沙溪支流麻沙水文站前τ2小時洪水流量Q2(t-τ2)、下游崇陽溪干流建陽水文站前T小時洪水流量Q(t-T)作為模型的輸入,下游崇陽溪干流建陽水文站相應(yīng)洪水流量Q(t)為輸出,采用最速下降動量反向傳播算法建立崇陽溪流域洪水流量預(yù)報模型,其中網(wǎng)絡(luò)的有關(guān)參數(shù)通過試算優(yōu)化得出。用簡化的河道洪水流量預(yù)報模型[12]表示為
Q(t)=f[Q1(t-τ1),Q2(t-τ2),Q(t-T)]+ε(t)
(9)
式中,Q(t)、Q(t-T)分別為建陽站t、t-T時刻的洪水流量,m3/s;Q1(t-τ1)為武夷山站t-τ1時刻的洪水流量,m3/s;Q2(t-τ2)為麻沙站t-τ2時刻的洪水流量,m3/s;τ1、τ2分別為武夷山站、麻沙站至建陽站的洪水傳播時間;T為考慮建陽站流量自回歸影響的某一時間間隔,一般T>τ1且T>τ2;ε為模型誤差;f為從輸入空間到輸出空間的非線性映射。
依據(jù)反向傳播算法原理及其在水文水資源應(yīng)用的有關(guān)研究表明:對于一個三層網(wǎng)絡(luò),如果在第二層(即隱含層)采用S形傳輸函數(shù)、在第三層(輸出層)采用線性傳輸函數(shù),只要第二層中設(shè)置了足夠的神經(jīng)元,就幾乎能以任意精度逼近任何非線性映射[13-14]。因此網(wǎng)絡(luò)采用三層結(jié)構(gòu)(輸入層、隱含層和輸出層)。輸入層包括三個節(jié)點:Q1(t-τ1)、Q2(t-τ2)、Q(t-T);輸入層至隱含層函數(shù)采用雙曲正切S型函數(shù),隱含層至輸出層采用線性函數(shù);輸出層一個節(jié)點Q(t)。
2.3 樣本數(shù)據(jù)處理
選取1959年至2012年間崇陽溪流域建陽水文站及其支流崇陽溪武夷山站、麻沙溪麻沙站42場洪水流量過程資料進行分析。其中,1959年至2002年36場洪水過程資料作為訓(xùn)練樣本,2005年至2012年6場洪水過程資料作為檢驗樣本進行驗證。
由于不同站點的流量變化幅度不一樣,為了取得比較好的收斂效果,常對訓(xùn)練樣本中的流量資料進行標準規(guī)格化。即分別將三個水文站點的洪水流量數(shù)據(jù)轉(zhuǎn)變成[-1,1]范圍的值
y=2×(Q-Qmin)/(Qmax-Qmin)-1
(10)
式中,Q、Qmax、Qmin分別為訓(xùn)練樣本各站的流量值、最大值、最小值;y為標準規(guī)格化后的值。
最后對網(wǎng)絡(luò)輸出的結(jié)果采用式(11)進行反歸一化處理求得建陽站的相應(yīng)洪水流量
Q=0.5×(y+1)×(Qmax-Qmin)+Qmin
(11)
2.4 模型參數(shù)的計算
由于輸入層節(jié)點、輸出層節(jié)點以及網(wǎng)絡(luò)層數(shù)均可依據(jù)實際情況確定,因此模型結(jié)構(gòu)取決于隱含層節(jié)點數(shù)。本次采用試錯法確定。首先確定隱含層節(jié)點數(shù)的大致范圍,構(gòu)建不同節(jié)點數(shù)的反向傳播網(wǎng)絡(luò),分別進行調(diào)試計算,并對所有網(wǎng)絡(luò)計算結(jié)果進行分析比較,從中選取最佳的節(jié)點數(shù)。本次隱含層節(jié)點數(shù)分別采用3、4、5、6、7、8、9七種方案進行試算,經(jīng)對比發(fā)現(xiàn)采用6個節(jié)點數(shù)的方案最優(yōu),因此最終確定建陽水文站最速下降動量反向傳播洪水流量預(yù)報模型采用3- 6-1的結(jié)構(gòu)。此外經(jīng)過調(diào)試,網(wǎng)絡(luò)的學(xué)習(xí)速率取0.02,動量系數(shù)取0.6,訓(xùn)練90000次后訓(xùn)練樣本的平均均方誤差為0.0023。最后得到各層間連接的權(quán)值及偏置值。
輸入層至隱含層權(quán)值
輸入層至隱含層偏置值
隱含層至輸出層權(quán)值[0.058 0 -0.330 3 0.223 8 0.213 2 -0.629 6 -0.669 6];隱含層至輸出層偏置值[0.483 1]。
圖2 建陽站各場次洪水流量預(yù)報過程線
2.5 模型預(yù)報結(jié)果
采用2005年至2012年的6場洪水資料作為檢驗樣本模擬預(yù)測建陽水文站的洪水流量過程,各場次實測和預(yù)測洪水流量過程線見圖2。
對于每場洪水,采用洪水過程線中所有流量數(shù)據(jù)點絕對誤差絕對值的平均值和相對誤差絕對值的平均值、以及模型的確定性系數(shù)評價洪水流量預(yù)報模型的精度,詳見洪水流量預(yù)報過程誤差統(tǒng)計表1。同時,對每場洪水的洪峰流量預(yù)報誤差進行統(tǒng)計分析,詳見表2。
表1 建陽水文站最速下降動量反向傳播洪水流量過程預(yù)報誤差統(tǒng)計
表2 建陽水文站最速下降動量反向傳播洪峰流量預(yù)報誤差統(tǒng)計
從表1可看出,建陽站6場洪水過程預(yù)報的平均相對誤差在10%以內(nèi),確定性系數(shù)均在0.9以上;從表2可看出,各次洪峰流量預(yù)測值與實測值相對誤差也在10%以內(nèi),說明模型預(yù)測的精度符合要求。
選取系列較長且具有代表性、可靠性和一致性的流量資料,綜合分析網(wǎng)絡(luò)模型的結(jié)構(gòu),采用試錯法確定模型的隱含層節(jié)點數(shù),率定和計算模型的相關(guān)參數(shù),并加入動量項進行濾波處理,建立了建陽水文站最速下降動量反向傳播洪水流量預(yù)報模型。應(yīng)用結(jié)果表明,該模型所需求的輸入數(shù)據(jù)為上游有關(guān)水文站點的流量資料、下游水文站的前期流量,操作靈活簡便,計算速度快,預(yù)報準確度較好,是一種比較實用的洪水預(yù)報方法。如果能夠收集到流域上下游水文站點區(qū)間洪水流量資料和雨量資料,代替下游水文站的前期流量,其預(yù)報精度和實效性會更好。在實際工作中,可以充分利用流域內(nèi)洪水預(yù)警系統(tǒng)中的測報資料作為輸入,采用上述模型進行預(yù)報,將預(yù)報輸出與其他洪水預(yù)報方法的結(jié)果進行比較,互為驗證;然后根據(jù)雨情水情的發(fā)展,適時修正預(yù)報,為流域防洪減災(zāi)服務(wù)。
[1]范磊, 張運陶, 程正軍. 基于MATLAB的改進BP神經(jīng)網(wǎng)絡(luò)及其應(yīng)用[J]. 西華師范大學(xué)學(xué)報, 2005, 26(1): 70- 73.
[2]徐敬, 王秀坤, 胡家升. 基于神經(jīng)網(wǎng)絡(luò)的無源多傳感屬性數(shù)據(jù)關(guān)聯(lián)[J]. 系統(tǒng)仿真學(xué)報, 2003, 15(1): 127- 129.
[3]蘇高利, 鄧芳萍. 論基于MATLAB語言的BP神經(jīng)網(wǎng)絡(luò)的改進算法[J]. 科技通報, 2003, 19(2): 130- 135.
[4]郭軍. BP神經(jīng)網(wǎng)絡(luò)算法研究[D]. 武漢: 華中科技大學(xué), 2005.
[5]戴會超, 何文社, 曹叔尤. 基于誤差修正的BP神經(jīng)網(wǎng)絡(luò)模型在河道洪水預(yù)報中的應(yīng)用[J]. 水電能源科學(xué), 2006, 24(1): 69- 71.
[6]QING Hualan, YAO Cheng, ZHA Xinima. Test on flood prediction-model using artificial neural network for Shiilian Hydrologic Station on Minchiang, China[J]. Applied Mechanics and Materials, 2011, 39: 555- 561.
[7]陳田慶, 解建倉, 張剛, 等. 基于BP神經(jīng)網(wǎng)絡(luò)的馬斯京根模型參數(shù)動態(tài)估計[J]. 水力發(fā)電學(xué)報, 2012, 31(3): 32- 38.
[8]胡健偉, 周玉良, 金菊良. BP神經(jīng)網(wǎng)絡(luò)洪水預(yù)報模型在洪水預(yù)報系統(tǒng)中的應(yīng)用[J]. 水文, 2015, 35(1): 22- 25.
[9]韓通, 李致家, 劉開磊, 等. 山區(qū)小流域洪水預(yù)報實時校正研究[J]. 河海大學(xué)學(xué)報: 自然科學(xué)版, 2015(3): 208- 213.
[10]LIU Wencheng, CHUNG Chuanen. Enhancing the predicting accuracy of the water stage using a physical-based model and an artificial neural network-genetic algorithm in a river system[J]. Water (Switzerland), 2014, 6(6): 1642- 1661.
[11]HAGAN M T, DEMUTH H B, BEALE M H. 神經(jīng)網(wǎng)絡(luò)設(shè)計[M]. 戴葵, 等譯. 北京: 機械工業(yè)出版社, 2002.
[12]金保明. BP神經(jīng)網(wǎng)絡(luò)在閩江十里庵流量預(yù)測中的應(yīng)用[J]. 水電能源科學(xué), 2010, 28(9): 12- 14
[13]MINNS A W, HALL M J. Artificial neural networks as rainfall-runoff models[J]. Hydrological Sciences Journal, 1996, 40(1): 399- 417.
[14]HORNJK K M, STINCHCOMBE M, WHITE H. Multilayer feedforward networks are universal approximators[J]. Neural Networks, 1989, 2(5): 359- 366.
(責(zé)任編輯 陳 萍)
Research on Flood Flow Forecast of Chongyang River Watershed Based on Back Propagation Algorithm
JIN Baoming1, LI Yun2, ZHANG Xuan1, GAO Lanlan1, ZHOU Chuanzheng1, FU Xiaolei1
(1. College of Civil Engineering, Fuzhou University, Fuzhou 350116, Fujian, China;2. Hydrology and Water Resources Bureau of Yunnan Province, Kuiming 650106, Yunnan, China)
Based on the principle of Back Propagation algorithm, the number of hidden layer nodes of BP model is determined by trial and error method and the momentum item is added, the steepest descent momentum Back Propagation Neural Network forecast model is established for the flood flow process of Jianyang Hydrological Gauging Station in Chongyang River Watershed. The model uses corresponding flood flow processes of two hydrological gauging stations in the branches of Chongyang River, which are Masha Station in Masha River and Wuyishan Station in Chongyang River, and at the same time, the autoregressive flood flow of Jianyang Hydrological Station is also considered. The results show that the forecast accuracy of model meets application requirements. The forecast model could be used as one of flood flow prediction method and the scientific basis for flood control and flood preparation of watershed.
flood forecasting; flow; Back Propagation algorithm; neural network
2017- 02- 13
福建省自然科學(xué)基金資助項目(2016J01734);河海大學(xué)水文水資源與水利工程科學(xué)國家重點實驗室開放基金面上項目(2015490311)
金保明(1970—),男,福建浦城人,高級工程師,博士,主要從事水文水資源等方面的研究.
TV124;P338
A
0559- 9342(2017)08- 0022- 04