鐘 聰,王永文,2,劉衛(wèi)林,2,吳美芳,程永娟
(1.南昌工程學(xué)院 水利與生態(tài)工程學(xué)院,江西 南昌 330000;2.江西省水文水資源與水環(huán)境重點(diǎn)實(shí)驗(yàn)室, 江西 南昌 330000;3.景德鎮(zhèn)市水文局,江西 景德鎮(zhèn) 333000)
洪水預(yù)報(bào)是防洪非工程的關(guān)鍵措施之一,其預(yù)報(bào)精度對水利工程的調(diào)度運(yùn)行和防洪救災(zāi)的實(shí)施有著重大影響[1]。洪水預(yù)報(bào)應(yīng)用傳統(tǒng)的預(yù)報(bào)方法之外,還可以采用人工神經(jīng)網(wǎng)絡(luò)模型進(jìn)行洪水預(yù)報(bào)。神經(jīng)網(wǎng)絡(luò)模型在洪水預(yù)報(bào)中有著廣泛的應(yīng)用[2]。金保明等[3]應(yīng)用了基于反向傳播算法的神經(jīng)網(wǎng)絡(luò)模型對閩江支流崇陽溪流域進(jìn)行洪水預(yù)報(bào);劉歡等[4]進(jìn)行了基于BP神經(jīng)網(wǎng)絡(luò)模型的河道洪水反向演算研究;王竹等[5]根據(jù)大伙房流域特點(diǎn)提出了一種半分布式BP神經(jīng)網(wǎng)絡(luò)洪水預(yù)報(bào)模型。該模型本質(zhì)上是一種“黑箱”統(tǒng)計(jì)模型[6],通過控制變量法率定BP人工神經(jīng)網(wǎng)絡(luò)的參數(shù),結(jié)果表明可以獲得一個(gè)較好的預(yù)報(bào)精度[7]。昌江流域目前采用的仍然是傳統(tǒng)的洪水預(yù)報(bào)方法,即新安江模型和馬斯京根模型,但是,由于流域內(nèi)在2019年新建成了浯溪口水利樞紐工程,改變了流域水文特性,需要重新調(diào)整水文預(yù)報(bào)模型。因此,本文構(gòu)建了人工神經(jīng)網(wǎng)絡(luò)模型,以昌江流域?yàn)槔?yàn)證了該模型在一定程度上具有準(zhǔn)確性和實(shí)用性。
昌江主河道長254.0km,東北鄰新安江、秋蒲河、青弋江,西毗潼津河,南靠饒河,似扇形。浮梁縣境內(nèi)的潭口水文站以上為上游,潭口水文站至景德鎮(zhèn)市城區(qū)內(nèi)的渡峰坑水文站河段為中游,渡峰坑水文站以下至鄱陽縣姚公渡為下游。
人工神經(jīng)網(wǎng)絡(luò)模型通常由輸入層、輸出層和隱含層組成, 通過學(xué)習(xí)和訓(xùn)練一定數(shù)量的樣本, 確定模型相關(guān)參數(shù),正向信息傳播和反向誤差傳播這兩個(gè)交替迭代過程構(gòu)成了神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程[8]。正向傳播時(shí),樣本由輸入層經(jīng)過隱層計(jì)算后傳遞到輸出層。輸出值與預(yù)設(shè)值經(jīng)過比較后,如果其誤差大于設(shè)定值時(shí),誤差的反向傳播階段開始執(zhí)行。反向傳播時(shí),輸出誤差將以特定方式傳播到隱層和輸出層,各連接之間的閾值和權(quán)值得到不斷修正。網(wǎng)絡(luò)的訓(xùn)練學(xué)習(xí)過程就是這種信號的正向和反向傳播過程。網(wǎng)絡(luò)的輸出誤差在預(yù)設(shè)值之內(nèi)或訓(xùn)練次數(shù)達(dá)到預(yù)設(shè)次數(shù)之前重復(fù)進(jìn)行,當(dāng)網(wǎng)絡(luò)訓(xùn)練結(jié)束后,采用導(dǎo)出的代碼進(jìn)行預(yù)測。研究表明一個(gè)3層的BP神經(jīng)網(wǎng)絡(luò)可以實(shí)現(xiàn)任何復(fù)雜的映射問題[9],所以選擇3層結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)模型,如圖1所示。
圖1 神經(jīng)網(wǎng)絡(luò)三層模型
BP算法的實(shí)現(xiàn)過程如下:
設(shè)h、i、j依次是輸入神經(jīng)元、隱層神經(jīng)元和輸出神經(jīng)元,每層的節(jié)點(diǎn)數(shù)目依次是nh、ni和nj,隱層節(jié)點(diǎn)i和輸出層節(jié)點(diǎn)j的閾值依次是θi和θj,隱層節(jié)點(diǎn)i和輸入層節(jié)點(diǎn)h間的權(quán)值是whi,輸出層節(jié)點(diǎn)j和隱層節(jié)點(diǎn)i間的權(quán)值是wij,x和y依次是每一個(gè)節(jié)點(diǎn)的輸入和輸出。
第一步:初始化。設(shè)下列樣本是歸一化之后的輸入、輸出樣本
{xk,h,dk,j|k=1,2,…,nk;h=1,2,…,nh;j=1,2,…,nj;}
(1)
nk是樣本容量。將(-1,1)區(qū)間上的隨機(jī)數(shù)值賦給各連接權(quán){whi}、{wij}和閾值{θi}、{θj}。
第二步:置k=1,網(wǎng)絡(luò)(h=1,2,…,nh;j=1,2,…,nj) 收到樣本對(xk,h,dk,j)。
在利益相關(guān)者的權(quán)力意識不斷覺醒時(shí)代,分權(quán)是高等教育管理的趨勢,我國正在致力構(gòu)建高等教育治理能力和治理體系的現(xiàn)代化,作為其中一環(huán),我國高等教育分權(quán)改革也隨著國家治理范式的轉(zhuǎn)變逐漸走向公開化、法治化和問責(zé)化。
第三步:隱層各節(jié)點(diǎn)的輸入xi、輸出yi(i=1,2,…,ni)的計(jì)算
(2)
yi=1/(1+e-xi)
(3)
第四步:對輸出層中每個(gè)節(jié)點(diǎn)的輸入xj和輸出yj進(jìn)行計(jì)算,其中(j=1,2,…,nj)
(4)
yj=1/(1+e-xj)
(5)
第五步:計(jì)算總輸入變化時(shí)輸出層各節(jié)點(diǎn)所收到的單樣本點(diǎn)誤差Ek的變化率
(6)
第六步:計(jì)算總輸入變化時(shí)隱層各節(jié)點(diǎn)所收到的單樣本點(diǎn)誤差的變化率
(7)
第七步:各連接的權(quán)值和閾值的修正
(8)
(9)
(10)
(11)
式中,t—修正次數(shù),學(xué)習(xí)速率η∈(0,1),動(dòng)量因子α∈(0,1)。當(dāng)η相對大時(shí),算法迅速收斂,但是也許會產(chǎn)生不穩(wěn)定的情況;當(dāng)η相對小時(shí),算法收斂可能相對慢一些;α和η的效果相反。
第八步:置k=k+1,網(wǎng)絡(luò)收到學(xué)習(xí)模式對(xk,h,dk,j),跳到第三步,直到訓(xùn)練完全部nk個(gè)模式對,跳到第九步。
第九步:重復(fù)第二步到第八步,直到網(wǎng)絡(luò)全局誤差函數(shù)
(12)
比之前假定的一個(gè)較小值要小或?qū)W習(xí)次數(shù)比預(yù)先設(shè)定的值要多時(shí),學(xué)習(xí)完成。
本文擬構(gòu)建基于BP神經(jīng)網(wǎng)絡(luò)的洪水預(yù)報(bào)模型,提前3h預(yù)報(bào)昌江渡峰坑水文站洪水。選取流域面平均雨量和上游浯溪口洪水過程為輸入變量,干流下游渡峰坑水文站相應(yīng)洪水流量為輸出,采用最速下降動(dòng)量反向傳播算法建立渡峰坑水文站洪水流量預(yù)報(bào)模型。由于浯溪口剛剛建成,缺乏實(shí)測水文數(shù)據(jù),暫時(shí)采用下游距離不遠(yuǎn)的樟樹坑的水文數(shù)據(jù)代替。采用2016—2017年的14場洪水資料對所構(gòu)建的神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練率定參數(shù),然后利用訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型對2018年與2019年洪水過程進(jìn)行預(yù)報(bào)。
通常對輸入層、隱含層和輸出層進(jìn)行設(shè)計(jì),即對網(wǎng)絡(luò)層數(shù)的選擇、各層神經(jīng)元數(shù)的選擇、各層激活函數(shù)的選用等來確定BP 網(wǎng)絡(luò)結(jié)構(gòu)[10- 12]。采用matlab軟件自帶的神經(jīng)網(wǎng)絡(luò)時(shí)間系列工具箱來訓(xùn)練人工神經(jīng)網(wǎng)絡(luò)。根據(jù)洪水預(yù)報(bào)的特點(diǎn),選擇Nonlinearinput-output結(jié)構(gòu)。在有機(jī)器的監(jiān)督學(xué)習(xí)中,通過嘗試,把數(shù)據(jù)集分為3部分,分別為70%的訓(xùn)練集,15%的驗(yàn)證集,15%的測試集。隱含層節(jié)點(diǎn)數(shù)的選擇并沒有行之有效的方法,可通過試錯(cuò)法進(jìn)行選擇。通過多次嘗試,當(dāng)隱含層節(jié)點(diǎn)數(shù)取為11時(shí),訓(xùn)練效果較好??紤]到流域?qū)嶋H情況,預(yù)見期取3個(gè)時(shí)段時(shí)效果較好。神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法采用Levenberg-Marquardt算法,它具有牛頓法與梯度法的優(yōu)點(diǎn),收斂速度較快。其余參數(shù)采用神經(jīng)網(wǎng)絡(luò)工具箱默認(rèn)的參數(shù)。
在研究過程中,采用洪峰絕對誤差絕對值、相對誤差絕對值、峰現(xiàn)時(shí)間絕對誤差以及確定性系數(shù)評價(jià)洪水流量預(yù)報(bào)模型的精度[13],相應(yīng)指標(biāo)計(jì)算方法如下:
相對誤差公式:
(13)
確定性系數(shù)公式:
(14)
絕對誤差公式:
Δ=Qc-Q0
(15)
采用2016—2017年的14場洪水資料作為檢驗(yàn)樣本模擬渡峰坑水文站的洪水流量過程,各場次實(shí)測和預(yù)測洪水流量過程線如圖2所示,每場洪水的洪峰流量模擬及預(yù)報(bào)誤差見表1。
圖2 渡峰坑洪水訓(xùn)練洪峰折線圖
續(xù)圖2 渡峰坑洪水訓(xùn)練洪峰折線圖
表1 渡峰坑洪水訓(xùn)練統(tǒng)計(jì)表
表2 渡峰坑洪水檢驗(yàn)統(tǒng)計(jì)表
從圖2和表1的14次洪水模擬結(jié)果來看,洪水過程模擬結(jié)果擬合度較好,只有1場洪水洪峰流量誤差大于10%,但均在15%之內(nèi);有2場洪水峰現(xiàn)時(shí)間誤差分別為36h和6h,其余均在2h以內(nèi),峰現(xiàn)合格率為86%。有1場洪水確定性系數(shù)小于0.7,合格率為93%。
參數(shù)率定后,利用所構(gòu)建的神經(jīng)網(wǎng)絡(luò)預(yù)報(bào)模型對渡峰坑水文站2018年和2019年的洪水?dāng)?shù)據(jù)進(jìn)行驗(yàn)證,驗(yàn)證期間徑流量實(shí)測值與模擬值的擬合結(jié)果如圖3所示,驗(yàn)證期模型適應(yīng)性指標(biāo)計(jì)算結(jié)果見表2。
根據(jù)圖3與表2的8次洪水預(yù)測結(jié)果可知: 2018年4場次洪水檢驗(yàn)中,只有20180702場次洪水洪峰模擬誤差為11.3%,其余洪峰流量相對誤差均在3%之內(nèi);有2場洪水峰現(xiàn)時(shí)間誤差較大,分別為12h和10h。2019年4場次洪水檢驗(yàn)中,有3場洪峰流量誤差均在7%之內(nèi),但20190705場次洪水洪峰模擬誤差為17.5%;201905161場次洪水峰現(xiàn)時(shí)間誤差較大,為6h??傮w上,2018—2019年8場次洪水除20180702和20180707場次洪水外,其余場次洪水模擬確定性系數(shù)均在85%以上,確定性系數(shù)檢驗(yàn)有6場洪水合格。2場不合格均為2018年7月份的洪水,經(jīng)分析,主要是浯溪口水利樞紐施工影響。
圖3 渡峰坑洪水檢驗(yàn)洪峰折線圖
本文以鄱陽湖昌江流域?yàn)檠芯繉ο螅x取流域面平均雨量和其上游樟樹坑水文站洪水過程為輸入,渡峰坑水文站出流量為輸出,建立渡峰坑水文站洪水預(yù)報(bào)BP神經(jīng)網(wǎng)絡(luò)模型。從模擬和檢驗(yàn)結(jié)果來看,采用人工神經(jīng)網(wǎng)絡(luò)模型進(jìn)行洪水預(yù)報(bào)時(shí),渡峰坑水文站洪水過程模擬和檢驗(yàn)效果較好,可作為傳統(tǒng)預(yù)報(bào)方式的有益參考,但因昌江上游私人電站開啟時(shí)間的不確定性,潭口與渡峰坑之間新建浯溪口水利樞紐的影響,預(yù)報(bào)峰現(xiàn)時(shí)間具有不確定性。