王建金,石 朋,2,瞿思敏,肖紫薇,戴韻秋,陳穎冰,陳星宇
(1.河海大學(xué) 水文水資源學(xué)院,南京 210098;2.河海大學(xué) 水文水資源與水利工程科學(xué)國家重點(diǎn)實(shí)驗(yàn)室,南京 210098)
水文模型是洪水預(yù)報中應(yīng)用最廣泛的預(yù)報方式之一,通過流域歷史長期水文資料率定模型參數(shù),而后用于實(shí)際水文預(yù)報工作中。水文現(xiàn)象在時間上具有極為明顯的連續(xù)性和相關(guān)性,單個時刻預(yù)報的誤差如若不能及時消除,勢必會對未來預(yù)報的精度產(chǎn)生影響,長期積累的誤差甚至?xí)?dǎo)致預(yù)報結(jié)果嚴(yán)重偏離,這時就需要應(yīng)用實(shí)時修正技術(shù)[1]。
BP神經(jīng)網(wǎng)絡(luò)算法是從現(xiàn)代控制理論引入水文的一種智能算法,廣泛應(yīng)用于洪水預(yù)報、水質(zhì)分類和水資源規(guī)劃等水文領(lǐng)域[2,3]。該算法采用有導(dǎo)師學(xué)習(xí)的模式,要求預(yù)報的結(jié)果必須有實(shí)測的真值指導(dǎo)模型率定,因而在實(shí)時修正領(lǐng)域只能對水文預(yù)報的最終結(jié)果進(jìn)行修正。傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)修正算法基于誤差自回歸的預(yù)報原理[4],預(yù)報精度與二階AR模型類似[5],且無法延長預(yù)見期,應(yīng)用受到較大限制。
本文對BP神經(jīng)網(wǎng)絡(luò)的基本原理結(jié)合水文物理規(guī)律進(jìn)行改進(jìn),解決了修正量無直接對應(yīng)的實(shí)測數(shù)據(jù)指導(dǎo)模型率定的限制,與馬斯京根匯流模型耦合,實(shí)時修正主河道各河段的區(qū)間入流,在不損失預(yù)見期的前提下,提升預(yù)報精度。選取海南省定安河流域歷史洪水資料對算法的穩(wěn)定性和可靠性進(jìn)行檢驗(yàn)[6],并與二階AR模型[7]的修正結(jié)果進(jìn)行對比。
馬斯京根法是在1938年由G.T.麥卡錫提出的河道匯流演算模型,依據(jù)上游斷面洪水過程推求下游出流,在國內(nèi)外均有廣泛應(yīng)用實(shí)例。伴隨著水文預(yù)報由集總式模型向半分布式、分布式水文模型發(fā)展的總體趨勢,流域內(nèi)各計算單元得到的出流結(jié)果均需要按一定原則匯入河道,馬斯京根匯流模型在眾多匯流算法中效果顯著。流域內(nèi)不同位置產(chǎn)流的匯流時間有較大差異,當(dāng)前時刻的預(yù)報結(jié)果受上游之前時刻的河道區(qū)間入流影響較大,及時修正主河道各河段區(qū)間入流的誤差對預(yù)報的準(zhǔn)確性意義重大。
傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)修正算法采用有導(dǎo)師指導(dǎo)的學(xué)習(xí)模式,修正量必須有直接的實(shí)測真值指導(dǎo)神經(jīng)網(wǎng)絡(luò)的率定。該算法基于誤差自回歸的原理,輸入量為預(yù)報時刻前N個時段的預(yù)報誤差信息,計算得到預(yù)報時刻的誤差值,計算流程如下:
et=Qp,t-Qo,t
(1)
et+L=FBP(et,et-1,…,et-N+1)
(2)
(3)

在實(shí)時修正領(lǐng)域,各時段間誤差的自相關(guān)性在鄰近時刻達(dá)到最強(qiáng),故而預(yù)報精度會隨著預(yù)見期的增加逐步下降,且對于模型計算過程中無實(shí)測真值的中間變量,例如各子流域計算的產(chǎn)流量,主河道的區(qū)間入流量等不具有修正能力。
本文對神經(jīng)網(wǎng)絡(luò)算法中反向傳播部分進(jìn)行改進(jìn),實(shí)現(xiàn)了與馬斯京根匯流模型耦合,以流域最終出流指導(dǎo)主河道區(qū)間入流修正的耦合修正算法。
以流域概化后主河道有m處河段區(qū)間入流的情況為例,模型輸入為控制斷面實(shí)測出流和預(yù)報流量,輸出為m處河段L個小時前的區(qū)間入流修正量,修正后重新計算L個小時的馬斯京根演算過程即得到最終預(yù)報結(jié)果,計算流程如下:
ΔQm,t=FBPC(Qp,t+L,Qo,t+L)
(4)
(5)

BP神經(jīng)網(wǎng)絡(luò)算法通過正向計算結(jié)果和反向傳播誤差信息修正網(wǎng)絡(luò),基本原理詳見文獻(xiàn)[8]。當(dāng)神經(jīng)網(wǎng)絡(luò)正向傳播得到各河段計算誤差ΔQm,并經(jīng)由馬斯京根匯流得最終計算誤差ΔQp后,反向傳播部分的改進(jìn)方式如下:
基于馬斯京根線性演算的特點(diǎn),假定各河段區(qū)間入流修正量的誤差與修正后演算的最終出流量的誤差之間也存在線性關(guān)系,則以下關(guān)系成立:
ΔQmo-ΔQm=km(Qo-Qp)
(6)
式中:ΔQmo和ΔQm分別為第m個河段區(qū)間入流的誤差的真值和計算值;Qo是實(shí)測流量;Qp是修正后的計算流量;km為匯流演算的比例系數(shù),大小介于0和1之間。
由神經(jīng)網(wǎng)絡(luò)算法可知:
ΔQm=wk1mo(k-1)1+wk2mo(k-1)2+…+wknmo(k-1)n+θkm
(7)
式中:wkim是k-1層第i個節(jié)點(diǎn)對應(yīng)k層第m個節(jié)點(diǎn)的權(quán)值;o(k-1)i是k-1層第i個節(jié)點(diǎn)的輸出;θkm是k層第m個節(jié)點(diǎn)的閾值。
模型第m個河段的誤差函數(shù):
(8)
因此,神經(jīng)網(wǎng)絡(luò)最后一層由第m個河段區(qū)間入流誤差導(dǎo)致的權(quán)值、閾值的修正公式如下:
(9)
(10)
倒數(shù)第二層由第m個河段區(qū)間入流誤差導(dǎo)致的權(quán)值、閾值的誤差修正公式如下:
(11)
ηkm(Qo-Qp)wkimo(k-1)i(1-o(k-1)i)o(k-2)j
(12)
其余各層按上式方式繼續(xù)推導(dǎo)即可,由上述公式可知,只要確定了各河段匯流演算的修正比例系數(shù)km,該改進(jìn)方案就可以達(dá)到預(yù)期的目的。km的取值提供以下3種方式:①在馬斯京根匯流過程中保留每一步入流和出流的中間變量,基于數(shù)理統(tǒng)計的方式進(jìn)行線性擬合確定;②采用馬斯京根匯流系數(shù)的計算方式獲得;③基于神經(jīng)網(wǎng)絡(luò)本身的學(xué)習(xí)能力采用二速收斂法:神經(jīng)網(wǎng)絡(luò)各層的修正是一個遞推的模式,只需要關(guān)注最后一層的網(wǎng)絡(luò)修正。
采用最速下降法確定誤差反向傳播的修正方向,然后將兩種不同修正速率進(jìn)行反向傳播,構(gòu)建km1和km2,改進(jìn)的修正準(zhǔn)則如下:
(13)
式中:ΔQp為計算流量的誤差;ΔQmp為神經(jīng)網(wǎng)絡(luò)計算的第m個河段的修正量;sign(·)為符號判斷函數(shù),判斷正負(fù)號。
令km1?km2且介于0到1之間,即神經(jīng)網(wǎng)絡(luò)計算的修正量方向與模型誤差方向相反時,采用km2進(jìn)行大幅度的糾正,反之采用km1只進(jìn)行小幅度的修正,首先達(dá)到單次修正時所有河段的修正量方向相同,然后達(dá)到修正量的大小符合要求。以上準(zhǔn)則確保了相應(yīng)權(quán)值和閾值可以在正確方向上進(jìn)行修正,在大量數(shù)據(jù)反復(fù)率定的情況下,該算法最終可以很好地收斂。
定安河流域位于海南島中部偏東北,與樂會水流域共同構(gòu)成萬泉河的兩大源頭。地處熱帶季風(fēng)性氣候區(qū),全年高溫,年平均氣溫不低于22 ℃。雨量充沛,年平均降雨1 639 mm,有明顯的旱季和雨季,洪澇災(zāi)害多發(fā)于5月到翌年的10月,全年降雨的70%~90%發(fā)生這一時期。全流域雨量站共計11處,流域出口處建有加報水文站,集水面積1 257 km2。該流域具有多年水文氣象連續(xù)監(jiān)測資料,選取共計20場次洪開展本次研究。
定安河流域運(yùn)用泰森多邊形的方式共計劃分為11個子流域,分別由新安江模型計算各子流域的出流結(jié)果,出流結(jié)果作為區(qū)間入流匯入主河道并應(yīng)用馬斯京根河段連續(xù)演算至流域出口斷面。經(jīng)演算,共計7個河段有區(qū)間入流匯入,需要進(jìn)行實(shí)時修正。神經(jīng)網(wǎng)絡(luò)耦合修正模型與馬斯京根匯流模型耦合,輸入節(jié)點(diǎn)為當(dāng)前時刻預(yù)報流量和實(shí)測值,網(wǎng)絡(luò)采用雙隱層模式,隱含層節(jié)點(diǎn)為4和10,修正預(yù)報前1個時刻主河道的7個區(qū)間入流,設(shè)置單次修正幅度最大不超過20%。

圖1 定安河流域泰森多邊形劃分圖Fig.1 Thiessen polygon partition of Dingan River watershed
保留新安江模型和馬斯京根匯流模型計算過程中的所有中間變量作為學(xué)習(xí)樣本,選取10場次洪率定,10場次洪驗(yàn)證的交叉驗(yàn)證方式,設(shè)置初始學(xué)習(xí)效率系數(shù)0.1,動量系數(shù)0.15,采用均方根誤差作為判斷準(zhǔn)則,目標(biāo)精度0.01,最大循環(huán)次數(shù)10 000 次,經(jīng)多次率定網(wǎng)絡(luò)在1200次左右時即達(dá)到最優(yōu)值,全局誤差變化見圖2。由圖可知,率定數(shù)據(jù)和驗(yàn)證數(shù)據(jù)的誤差均一致下降說明網(wǎng)絡(luò)訓(xùn)練效果較好,且該算法收斂迅速,相較傳統(tǒng)算法數(shù)萬次的循環(huán)次數(shù)改進(jìn)明顯。

圖2 神經(jīng)網(wǎng)絡(luò)交叉驗(yàn)證過程誤差變化圖Fig.2 Error variation of neural network cross validation process
單時段修正檢驗(yàn)的目的在于驗(yàn)證模型的穩(wěn)定性,上游各河段區(qū)間入流的修正結(jié)果將在多個時段后才會顯現(xiàn)出來,如果模型輸出的修正量存在較大誤差,只看當(dāng)前時刻的修正結(jié)果可能掩蓋模型本身的缺陷。為達(dá)到這個目的,保留整場次洪的所有中間變量,每個時段進(jìn)行一次修正后不再修正,同時記錄下當(dāng)前時刻,2 h之后、4 h之后的改善結(jié)果,記為BPCQ0、BPCQ2和BPCQ4。修正效果指標(biāo)采用百分比偏差和納什效率系數(shù),驗(yàn)證期10場次洪的單時段修正效果見表1。

表1 驗(yàn)證期單時段耦合修正結(jié)果統(tǒng)計表Tab.1 Statistics for the accuracy of single period coupling correction during calibration period
注:“Mean”這一欄,ΔR和ΔQ的均值為絕對值的平均值,并非直接相加后求平均。
由表1可知:定安河流域經(jīng)過多次人機(jī)交互率定后,XAJ模型直接計算后模擬結(jié)果的平均NSE達(dá)到0.914,模擬效果較好,但存在多場洪水洪峰偏離較大的情況。BP神經(jīng)網(wǎng)絡(luò)耦合修正后,ΔR的平均偏差BPQC0為3.09%,BPCQ2為3.69%,BPCQ4為4.19%相較修正前4.9%的偏差略有下降,且最大偏差由18.83%降低為BPCQ0的-8.01%,BPCQ2的11.49%和BPCQ4的15.51%。在洪峰方面,BPCQ0的ΔQ均值較修正前的8.08%降低到0.19%,BPQ2降低到5.1%,BPQ4的ΔQ也僅為6.03%,說明洪峰預(yù)報精度提升顯著。BPCQ0的平均NSE達(dá)到了0.978,BPQ2為0.958,BPQ4為0.934均高于修正前的0.914,說明耦合修正模型的修正效果確實(shí)具有持續(xù)作用。

圖3 次洪20081003和20131109單時段修正結(jié)果對比圖Fig.3 single period coupling correction comparison of the flood 20081003 and 20131109
實(shí)時修正檢驗(yàn)的目的在于驗(yàn)證模型在實(shí)際應(yīng)用中的可靠性,分別采用BP耦合修正和二階AR模型對定安河流域的20場次洪進(jìn)行實(shí)時修正。二階AR模型選用最近5個時段的誤差信息對預(yù)報結(jié)果進(jìn)行動態(tài)修正,因?yàn)锳R模型的修正效果隨著預(yù)見期增加會明顯下降,故選取修正后最近一個時段的預(yù)報結(jié)果進(jìn)行對比分析,驗(yàn)證BP耦合修正算法的可靠性,實(shí)時修正檢驗(yàn)結(jié)果見表2。由表2可知:修正后,徑流深平均偏差由6.08%分別降為BPC的2.03%和AR(2)的2.91%;在洪峰方面,BPC由XAJ模型ΔQ均值的10.19%降低為2.65%,AR(2)則降低為4.94%。平均NSE的提升方面,BPC由修正前的0.894提高到0.985,AR(2)則為0.97。
綜上可見,BP耦合修正算法在定安河流域的實(shí)時修正檢驗(yàn)過程中,徑流深、洪峰和NSE指標(biāo)方面均較二階AR模型更優(yōu),該算法的可靠性得到驗(yàn)證。

表2 定安河流域20場次洪實(shí)時修正結(jié)果對比Tab.2 Comparison of results of real-time updating for 20 floods of Dingan River watershed
注:“Mean”這一欄,ΔR和ΔQ的均值為絕對值的平均值,并非直接相加后求平均。

圖4 次洪20011021和20020817實(shí)時修正結(jié)果對比圖Fig.4 Real-time updating comparison of the flood 20011021 and 20020817
本文提出將BP神經(jīng)網(wǎng)絡(luò)與馬斯京根匯流模型耦合修正的新方法,該算法收斂迅速且不損失預(yù)見期,拓展了BP神經(jīng)網(wǎng)絡(luò)算法在實(shí)時修正領(lǐng)域的應(yīng)用。選取海南省定安河流域作為研究區(qū),通過單時段修正檢驗(yàn)構(gòu)建三種對比方案,證明了該算法的修正效果具有穩(wěn)定性,實(shí)時修正檢驗(yàn)的結(jié)果表明該算法在徑流深、洪峰和納什效率系數(shù)方面的精度均有一定提升,在修正效果方面整體優(yōu)于二階AR模型,是一種可靠的修正算法,具有進(jìn)一步研究的價值。
□
[1] 包為民.水文預(yù)報[M].北京:中國水利水電出版社,2006.
[2] 盧韋偉,周建中,陳 璐,等.考慮預(yù)報因子選擇的神經(jīng)網(wǎng)絡(luò)降雨徑流模型[J].水電能源科學(xué),2013,31(6):21-25.
[3] 王 炎,王船海,王 妮,等.BP神經(jīng)網(wǎng)絡(luò)在感潮河段水動力洪水預(yù)報中的應(yīng)用[J].水力發(fā)電,2016,42(2):21-25.
[4] 鄭春成.湯河水庫實(shí)時洪水預(yù)報技術(shù)研究[J].水利信息化,2012,(3):37-39.
[5] 韓 通,李致家,劉開磊,等.山區(qū)小流域洪水預(yù)報實(shí)時校正研究[J].河海大學(xué)學(xué)報(自然科學(xué)版), 2015,43(3):208-214.
[6] Si W, Bao W, Gupta H V.Updating real-time flood forecasts via the dynamic system response curve method[J]. Water Resources Research, 2015,51(7):5 128-5 144.
[7] 陳 攀,姜志群.AR模型在寶珠寺水庫實(shí)時洪水預(yù)報校正中的應(yīng)用[J].水利信息化,2014(3):41-44.
[8] 韓力群.人工神經(jīng)網(wǎng)絡(luò)教程[M].北京:北京郵電大學(xué)出版社, 2006.