包紅軍,王莉莉,李致家
(1.國(guó)家氣象中心,北京 100081;2.河海大學(xué)水文水資源學(xué)院,江蘇 南京 210098)
洪水預(yù)報(bào)是防洪減災(zāi)環(huán)節(jié)中增加對(duì)洪水災(zāi)害響應(yīng)時(shí)間的最重要的非工程手段之一,合適的實(shí)時(shí)校正模型可以有效地減少流域洪水預(yù)報(bào)的不確定性提高其預(yù)報(bào)精度,特別是水位預(yù)報(bào)的實(shí)時(shí)校正,是洪水調(diào)度的重要依據(jù)[1-3]。實(shí)時(shí)校正模型根據(jù)現(xiàn)代系統(tǒng)理論和方法,對(duì)預(yù)報(bào)模型的機(jī)構(gòu)或參數(shù)或狀態(tài)變量或輸入向量或預(yù)報(bào)值進(jìn)行某種修正,使其更符合客觀實(shí)際,以提高預(yù)報(bào)精度。即利用當(dāng)前的預(yù)報(bào)誤差,建立對(duì)系統(tǒng)模型與預(yù)報(bào)的現(xiàn)時(shí)校正的回饋機(jī)制[4]。
基于實(shí)時(shí)校正方法理論,主要可以分為以下三類實(shí)時(shí)校正[4-6]:①以現(xiàn)代系統(tǒng)理論為基礎(chǔ)的系統(tǒng)類方法,對(duì)狀態(tài)變量的實(shí)時(shí)校正,主要以Kalman濾波理論作為常用。近年來,許多研究使用Kalman濾波狀態(tài)和量測(cè)方程描述河道洪水演算過程:李致家等[7]提出半自適應(yīng)Kalman濾波河道水位實(shí)時(shí)預(yù)報(bào)模型,在淮河中下游應(yīng)用效果良好,葛守西等[8]建立水動(dòng)力學(xué)模型與Kalman濾波耦合預(yù)報(bào)模型,李菁和王傳海等[9]提出平原區(qū)河網(wǎng)基于節(jié)點(diǎn)傳播的水動(dòng)力學(xué)與Kalman濾波耦合預(yù)報(bào)模型等。②以現(xiàn)代時(shí)間序列分析為基礎(chǔ)的統(tǒng)計(jì)類方法,直接對(duì)預(yù)報(bào)模型的參差序列進(jìn)行預(yù)測(cè),與預(yù)報(bào)模型本身分離,方法主要為誤差自回歸系列模型[5,10-13]。③上述①與②的結(jié)合。一方面對(duì)預(yù)報(bào)模型過程狀態(tài)變量的實(shí)時(shí)校正更新,另一方面對(duì)預(yù)報(bào)結(jié)果進(jìn)行進(jìn)一步的訂正。
自20世紀(jì)90年代以來,隨著計(jì)算機(jī)等技術(shù)飛速發(fā)展,人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network)以其快速的訓(xùn)練學(xué)習(xí)和強(qiáng)大的數(shù)據(jù)挖掘能力,在水文預(yù)報(bào)中得到了廣泛的應(yīng)用,特別是BP算法的前饋神經(jīng)網(wǎng)絡(luò)(簡(jiǎn)稱BP網(wǎng)絡(luò))[11,12,14]。包紅軍等建立基于BP神經(jīng)網(wǎng)絡(luò)的皖南小流域降雨徑流日模型[15],袁晶等將BP神經(jīng)網(wǎng)絡(luò)應(yīng)用于水文實(shí)時(shí)預(yù)報(bào)中[16],闞光遠(yuǎn)等基于BP神經(jīng)網(wǎng)絡(luò)建立流域匯流模型[17],Thirumalaiah指出,人工神經(jīng)網(wǎng)絡(luò)應(yīng)用于水文模擬的同時(shí)還可以應(yīng)用于洪水實(shí)時(shí)校正[14]。
本次研究將BP神經(jīng)網(wǎng)絡(luò)應(yīng)用于河道洪水的多斷面實(shí)時(shí)校正中。由于BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)易陷入局部極小,且水文擬合學(xué)習(xí)過程中產(chǎn)生的振蕩與樣本數(shù)據(jù)相關(guān)程度高,過擬合現(xiàn)象易出現(xiàn),網(wǎng)絡(luò)泛化能力降低,因此,本次研究以淮河中游干流河道預(yù)報(bào)為例,將遞推最小二乘法與BP神經(jīng)網(wǎng)絡(luò)結(jié)合,建立基于人工神經(jīng)網(wǎng)絡(luò)的水位預(yù)報(bào)多斷面實(shí)時(shí)校正模型,旨在克服網(wǎng)絡(luò)易陷入局部最小與對(duì)初始值敏感和對(duì)噪聲適應(yīng)性不夠的問題。
利用水文水動(dòng)力學(xué)模型預(yù)報(bào)出來河道斷面流量之后,可以采用圣維南方程組中的動(dòng)量方程求解水位[5,7]。在淮河干流,慣性項(xiàng)相對(duì)較小[4],可忽略去慣性項(xiàng),得到:
(1)
式中:Z為水位;x為沿水流方向的水平距離;Sf為水力比降。
(2)
式中:n為曼寧系數(shù),[無量綱];Q為流量,m3/s;A為過水?dāng)嗝婷娣e,m2;R為水力半徑,m。
以θ為差分因子,應(yīng)用四點(diǎn)隱式差分格式,得到:
(3)
利用迭代法即可求解斷面水位,n、A和R均可取自斷面資料。
目前,BP神經(jīng)網(wǎng)絡(luò)被廣泛應(yīng)用于時(shí)間序列的預(yù)報(bào)中[14]。本次研究采用自適應(yīng)BP神經(jīng)網(wǎng)絡(luò)作為實(shí)時(shí)校正模型,該模型實(shí)質(zhì)是誤差非線性自回歸模型(NAR(P))。
O=F1[W2×F1(W1×P+B1)+B2]
(4)
式中O=[z(t),z(t-1),…,z(t-q+1)]T,q為樣本序列的長(zhǎng)度。
(5)
r為輸入層神經(jīng)元的個(gè)數(shù),即為自回歸項(xiàng)階數(shù)。
本次研究根據(jù)文獻(xiàn)[15]方法,選取自回歸項(xiàng)的階數(shù)為3,即輸入層神經(jīng)元個(gè)數(shù)為3個(gè),輸出層神經(jīng)元為1,隱含層神經(jīng)元據(jù)經(jīng)驗(yàn)方法由下述公式推求。
S=sqrt(I+O)+m
(6)
式中:S為隱含層節(jié)點(diǎn)數(shù);I為輸入層節(jié)點(diǎn)數(shù)與O為輸出層節(jié)點(diǎn)數(shù)。本次研究中取m為4,因此S為8。
為了能夠及時(shí)的更新參數(shù)以加入新息,遞歸神經(jīng)網(wǎng)絡(luò)多步預(yù)報(bào)方法采用一種動(dòng)態(tài)的BP算法。網(wǎng)絡(luò)每隔L步更新一次參數(shù)以適應(yīng)多步預(yù)報(bào);另外考慮到水位預(yù)報(bào)的時(shí)變特性,這里采用一種改進(jìn)的有限記憶網(wǎng)絡(luò)作為實(shí)時(shí)校正模型。具體步驟如下:
(1)根據(jù)現(xiàn)有資料樣本,計(jì)算得到網(wǎng)絡(luò)初始權(quán)值W和偏差矢量B。
(3)根據(jù)下述公式計(jì)算預(yù)報(bào)誤差:
(7)
根據(jù)是否滿足期望誤差的情況,如滿足期望誤差,則不修正權(quán)值及偏差矢量,并返回第二步,不滿足期望誤差則轉(zhuǎn)向第四步。
(4)沿預(yù)報(bào)區(qū)間[k+1,k+L]修正網(wǎng)絡(luò)權(quán)值和偏差矢量:沿預(yù)報(bào)區(qū)間誤差函數(shù)斜率下降的方向修正權(quán)值和偏差矢量[18]。
(8)
(9)
(5)當(dāng)網(wǎng)絡(luò)全局誤差小于期望誤差,返回第二步。
將上述式(4)改寫一個(gè)多輸入多輸出的系統(tǒng)為:
O=F1[W2×F1(W1×P+B1)+B2]
(10)
式中O=(O1,O2,…,ONP),P=(P1,P2,…,PNP);Oi=[zi(t),zi(t-1),…,zi(t-q+1)]T,q為樣本序列的長(zhǎng)度;
(11)
構(gòu)建基于神經(jīng)網(wǎng)絡(luò)的河道多斷面實(shí)時(shí)校正模型。NP為河道水位預(yù)報(bào)的斷面數(shù)。
本次研究以王家壩水文站至魯臺(tái)子水文站的淮河干流為試驗(yàn)河段(如圖1所示)。河段右岸有史河、淠河兩個(gè)支流匯入,并且還有2個(gè)蓄洪區(qū)(城西湖蓄洪區(qū)、城東湖蓄洪區(qū));左岸有潁河一個(gè)主要支流匯入,另外還有洪河分洪道、谷河和潤(rùn)河匯入和蒙洼蓄洪區(qū)、姜唐聯(lián)湖蓄洪區(qū)、南潤(rùn)段、邱家湖、潤(rùn)趙段3個(gè)行洪區(qū)。王家壩至魯臺(tái)子河段共有3個(gè)水文站與4個(gè)水位站,在整個(gè)流域防汛中,一直處于洪水預(yù)報(bào)關(guān)鍵之處[19]。
圖1 淮河王家壩至魯臺(tái)子河系圖Fig.1 Sketch of the River basin from WJB to LTZ station of Huaihe River
王家壩至魯臺(tái)子河段全長(zhǎng)155.16 km。根據(jù)王家壩-魯臺(tái)子河道水利工程的位置、支流的匯入位置、水文站水位站的位置和行蓄洪區(qū)位置情況,河段共分十段。河段的概化見圖2。
圖2 王家壩至魯臺(tái)子河道分段處理Fig.2 Main channel partition from WJB to LTZ station of Huaihe River
采用擴(kuò)散波非線性水位預(yù)報(bào)模型,由于淮河干流河道比降較低,屬于擴(kuò)散波,因而以魯臺(tái)子實(shí)測(cè)水位為邊界條件,向上游推求水位。對(duì)于一個(gè)洪水預(yù)報(bào)系統(tǒng),一般有多個(gè)輸入和輸出,因而實(shí)時(shí)校正也應(yīng)該是多輸入多輸出的[20]。以淮河王家壩至 魯臺(tái)子河段作為試驗(yàn)流域,根據(jù)公式(10)和公式(11)構(gòu)建王家壩至魯臺(tái)子河道水位預(yù)報(bào)多斷面實(shí)時(shí)校正模型?;春恿饔蜃孕轮袊?guó)成立以來發(fā)生多次洪水,如1954年、1968年、1975年、1991年、2003年和2007年等??紤]下墊面變化對(duì)洪水的影響,本次研究中,選擇流域下墊面特別是水利工程較為穩(wěn)定的1996-2008年的典型洪水進(jìn)行研究,且研究中涉及資料均來自于中華人民共和國(guó)水文年鑒,資料可靠準(zhǔn)確。選擇該河段1996至2008年的12場(chǎng)較大洪水進(jìn)行網(wǎng)絡(luò)的訓(xùn)練與檢驗(yàn)。多斷面實(shí)時(shí)校模型中,水位選取南照集、潤(rùn)河集、正陽關(guān),即 為3,神經(jīng)網(wǎng)絡(luò)3個(gè)輸入,3個(gè)輸出。以1996-2007年洪水進(jìn)行網(wǎng)絡(luò)訓(xùn)練,時(shí)間步長(zhǎng)為6 h,有限記憶長(zhǎng)度為24 h。2008年的兩場(chǎng)洪水用來檢驗(yàn)。模型具體水位預(yù)報(bào)步驟如下:
(1)根據(jù)公式(10)和(11)建立淮河中游王家壩至魯臺(tái)子河段水位預(yù)報(bào)BP神經(jīng)網(wǎng)絡(luò)實(shí)時(shí)校正模型,取南照集、潤(rùn)河集和正陽關(guān)3個(gè)斷面作為實(shí)時(shí)校正預(yù)報(bào)斷面;
(2)根據(jù)研究流域1996-2007年歷史典型洪水資料,計(jì)算得到BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值W和偏差矢量B;
(3)在2008年洪水實(shí)時(shí)校正預(yù)報(bào)中,在擴(kuò)散波水位預(yù)報(bào)模型基礎(chǔ)上,根據(jù)有限記憶最小二乘法,記憶長(zhǎng)度取為24 h,實(shí)時(shí)修正權(quán)值W和偏差矢量B;
(4)根據(jù)修正后的權(quán)值W和偏差矢量B代入公式(10),得到多斷面實(shí)時(shí)校正水位預(yù)報(bào)值。
通過兩場(chǎng)2008年洪水的檢驗(yàn),得出神經(jīng)網(wǎng)絡(luò)有較強(qiáng)的泛化能力,使得水位預(yù)報(bào)精度有了明顯的提高(如圖3~4)。根據(jù)表1~3,可得南照集站水位在兩場(chǎng)檢驗(yàn)洪水中,水位峰值誤差減少至0.39 mm和0.35 mm,潤(rùn)河集水位峰值誤差減少至0.23 mm和0.29 mm,正陽關(guān)水位峰值誤差減少至0.12 mm和0.05 mm,確定性系數(shù)和平均水位絕對(duì)誤差均有明顯的提高和改善。
圖3 20080704次洪水水位預(yù)報(bào)校正過程線Fig.3 Realtime correction hydrograph of waterlevel forecast (No. 20080704 flood event)
圖4 20080813次洪水水位預(yù)報(bào)校正過程線圖Fig.4 Realtime correction hydrograph of waterlevel forecast (No. 20080813 flood event)
洪號(hào)實(shí)測(cè)洪峰水位預(yù)報(bào)峰值誤差校正峰值絕對(duì)誤差預(yù)報(bào)平均誤差校正平均誤差預(yù)報(bào)確定性系數(shù)校正確定性系數(shù)2008070424.70-0.800.390.590.140.8120.9802008081325.15-0.650.350.640.180.5970.955
表2 潤(rùn)河集校正前后比較表Tab.2 Results comparison before and after realtime correction in Runheji station
表3 正陽關(guān)校正前后比較表Tab 3 Results comparison before and after realtime correction in Zhengyangguan station
對(duì)于20080704號(hào)洪水,實(shí)時(shí)校正后的水位預(yù)報(bào)過程更接近于水位實(shí)測(cè)過程,南照集斷面水位預(yù)報(bào)確定性系數(shù)為0.98,潤(rùn)河集確定性系數(shù)為0.987,正陽關(guān)確定性細(xì)數(shù)為0.997,均高于不考慮實(shí)時(shí)校正的水位預(yù)報(bào)的0.812、0.874、0.874。特別是在洪水漲洪過程,實(shí)時(shí)校正后的水位預(yù)報(bào)更接近于實(shí)際洪水過程,這對(duì)于實(shí)際生產(chǎn)中的防洪調(diào)度更為有利,這也說明所建的實(shí)時(shí)校正是合理的,可以用于水位的實(shí)時(shí)洪水預(yù)報(bào)中。當(dāng)然,神經(jīng)網(wǎng)絡(luò)是需要足量的歷史訓(xùn)練樣本來訓(xùn)練模型內(nèi)在的非線性關(guān)系隨著樣本的增加網(wǎng)絡(luò)的泛化能力會(huì)有更好的提高。
本次研究從理論上分析、探討了神經(jīng)網(wǎng)絡(luò)的特點(diǎn)和應(yīng)用到洪水水位預(yù)報(bào)實(shí)時(shí)校正中的研究?jī)r(jià)值?;谡`差自回歸模型,建立河道水位預(yù)報(bào)的BP神經(jīng)網(wǎng)絡(luò)多斷面實(shí)時(shí)校正模型。根據(jù)實(shí)時(shí)校正研究特點(diǎn),建立預(yù)報(bào)殘差的非線性誤差自回歸模型,以神經(jīng)網(wǎng)絡(luò)來模擬模型的非線性。在分析了BP神經(jīng)網(wǎng)絡(luò)的特點(diǎn)以及存在的問題的基礎(chǔ)上,采用有限記憶最小二乘法來改進(jìn)網(wǎng)絡(luò)的學(xué)習(xí)方法,將神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程看成是對(duì)非線性系統(tǒng)模型參數(shù)估計(jì),使得網(wǎng)絡(luò)有機(jī)結(jié)合最小二乘優(yōu)良的估計(jì)性能和神經(jīng)網(wǎng)絡(luò)強(qiáng)大的學(xué)習(xí)能力和非線性逼近能力。采用遞推形式進(jìn)行實(shí)時(shí)校正,跟蹤洪水預(yù)報(bào)的殘差變化。通過在淮河中游河道水位預(yù)報(bào)實(shí)時(shí)校正中應(yīng)用結(jié)果表明,上述的改進(jìn)措施使得網(wǎng)絡(luò)在學(xué)習(xí)過程中快速、穩(wěn)定的收斂,能夠較準(zhǔn)確的跟蹤河道洪水預(yù)報(bào)誤差的變化,取得的精度良好。
(1)本次研究中,由于能夠獲取的斷面資料有限,應(yīng)用非線性擴(kuò)散波模型進(jìn)行水位預(yù)報(bào)。目前,一二維水動(dòng)力學(xué)模型在水位模擬與預(yù)報(bào)中體現(xiàn)的性能更高[21,22]。將BP神經(jīng)網(wǎng)絡(luò)多斷面水位預(yù)報(bào)實(shí)時(shí)校正模型與水動(dòng)力學(xué)模型結(jié)合進(jìn)行河道洪水實(shí)時(shí)預(yù)報(bào)是進(jìn)一步提高河道水位預(yù)報(bào)精度的重要手段。
(2)本次研究中,采用經(jīng)驗(yàn)方法確定BP神經(jīng)網(wǎng)絡(luò)模型的隱含層神經(jīng)元個(gè)數(shù)。在BP神經(jīng)網(wǎng)絡(luò)中隱含層神經(jīng)元個(gè)數(shù)對(duì)網(wǎng)絡(luò)訓(xùn)練質(zhì)量影響很大,引入全局優(yōu)化方法進(jìn)行推求隱含層神經(jīng)元個(gè)數(shù)是有效解決方法[23]。
□