陶春華,時(shí)焱紅,王甫志
(1.國(guó)能大渡河大數(shù)據(jù)服務(wù)有限公司,四川 成都 610041;2.四川新能工程咨詢有限公司,四川 成都 610000)
趙人俊教授提出的時(shí)變線性匯流模型[1],在英那河[2]、丹江口[3]和俄日河等多個(gè)流域的河道徑流演算中得到廣泛應(yīng)用,在半濕潤(rùn)半干旱地區(qū)應(yīng)用效果較好。但其只考慮了預(yù)報(bào)斷面之間的空間分布和時(shí)間傳播,并未考慮區(qū)間降雨影響,降雨期預(yù)報(bào)結(jié)果較實(shí)際偏小。隨著人工智能的興起,機(jī)器學(xué)習(xí)廣泛應(yīng)用于洪水預(yù)報(bào)領(lǐng)域[4-5]。李天成等[6]學(xué)者基于流域產(chǎn)流機(jī)制,采用逐步回歸分析法篩選出影響各月徑流的主要因子,建立RBF神經(jīng)網(wǎng)絡(luò)模型,在逐月徑流預(yù)測(cè)中進(jìn)行了應(yīng)用;杜開連等[7]學(xué)者采用多元線性回歸和BP神經(jīng)網(wǎng)絡(luò)在秦淮河流域進(jìn)行洪水預(yù)報(bào)應(yīng)用,取得了較高的預(yù)報(bào)精度。本文充分考慮影響預(yù)報(bào)斷面徑流過程的區(qū)間因素,結(jié)合馬瑜君等[8]學(xué)者的模型構(gòu)建思路,構(gòu)建基于機(jī)器學(xué)習(xí)的來(lái)水預(yù)報(bào)模型,并與已有模型和實(shí)測(cè)過程進(jìn)行對(duì)比評(píng)定。預(yù)報(bào)結(jié)果表明,基于機(jī)器學(xué)習(xí)的線性回歸模型(以下簡(jiǎn)稱“LR模型”)和K鄰近算法模型(以下簡(jiǎn)稱“KNN模型”),應(yīng)用效果均優(yōu)于傳統(tǒng)的時(shí)變線性匯流模型。
俄日河系大渡河西源綽斯甲河右岸一級(jí)支流,全長(zhǎng)128 km,流域面積1 910 km2,天然落差1 845 m,河道平均坡降1.44%。俄日河干流梯級(jí)水電規(guī)劃開發(fā)方案自上而下依次為銀恩、七家寨、俄日和紅衛(wèi)橋水電站,俄日和紅衛(wèi)橋水電站現(xiàn)已開發(fā)。2016年5月項(xiàng)目施工期水情測(cè)報(bào)系統(tǒng)(下文簡(jiǎn)稱“系統(tǒng)”)投入運(yùn)行,玉科、二楷、俄日、紅衛(wèi)橋水文站開始測(cè)流,玉科至二楷水文站區(qū)間河長(zhǎng)約21 km(流域及遙測(cè)站網(wǎng)分布見圖1)。其中,二楷水文站斷面已布設(shè)河道演算(時(shí)變線性匯流)模型。
圖1 俄日河部分流域示意
本文結(jié)合俄日河流域特性和前期預(yù)測(cè)經(jīng)驗(yàn),對(duì)玉科至二楷水文站區(qū)間徑流過程進(jìn)行影響因素特征分析。結(jié)合洪水傳播時(shí)間,最終確定單個(gè)樣本主要包含當(dāng)前時(shí)刻玉科水文站實(shí)測(cè)徑流大小Q玉科,t和前1 h徑流Q玉科,t-1、前2 h徑流Q玉科,t-2、直至前5 h徑流Q玉科,t-5共計(jì)6個(gè)徑流特征項(xiàng),當(dāng)前時(shí)刻玉科至二楷水文站區(qū)間前6 hPt-6、前12 hPt-12、前24 hPt-24、前48 hPt-48、前72 hPt-72共計(jì)5個(gè)面雨量特征項(xiàng),以及當(dāng)前時(shí)刻二楷水文站實(shí)測(cè)徑流Q二楷,t,累計(jì)12個(gè)特征項(xiàng)。
利用玉科、二楷水文站已有5年的監(jiān)測(cè)整編數(shù)據(jù),分析建立樣本集,訓(xùn)練集和測(cè)試集按照3∶1比例進(jìn)行劃分。本次共收集8 714個(gè)樣本,劃分訓(xùn)練樣本6 099個(gè),測(cè)試樣本2 615個(gè),樣本特征結(jié)構(gòu)見表1。
表1 樣本集特征
本次模型構(gòu)建基于Python機(jī)器學(xué)習(xí)庫(kù),選用線性回歸、K鄰近、BP神經(jīng)網(wǎng)絡(luò)3種算法建模,模型簡(jiǎn)介和訓(xùn)練結(jié)果如下。
機(jī)器學(xué)習(xí)最基礎(chǔ)模型[9],隸屬監(jiān)督學(xué)習(xí)范疇。模型簡(jiǎn)單易構(gòu),利用訓(xùn)練樣本集,優(yōu)化訓(xùn)練出一個(gè)無(wú)限逼近樣本數(shù)據(jù)的線性方程,結(jié)合測(cè)試樣本進(jìn)行評(píng)定。本次利用樣本集中的玉科水文站6項(xiàng)實(shí)測(cè)徑流,5項(xiàng)區(qū)間面雨量以及1項(xiàng)下游二楷水文站實(shí)測(cè)徑流作為自變量,構(gòu)建二楷水文站預(yù)測(cè)回歸模型并轉(zhuǎn)換為矩陣形式。
Q(v)=v1b1+v2b2+…+v11b11+b0
(1)
(2)
式中,Q(v)為預(yù)測(cè)值;vj為特征項(xiàng)值,v0=1;bj為特征項(xiàng)對(duì)應(yīng)權(quán)值。
本次訓(xùn)練過程中,為評(píng)定參數(shù)bT的優(yōu)劣,引入損失函數(shù)評(píng)估模型
(3)
式中,J(b)為損失值;n為評(píng)定容量;Q(v)i為第i個(gè)預(yù)測(cè)值;qi為第i個(gè)期望值。
評(píng)估階段采用梯度下降法進(jìn)行局部最優(yōu)求解,min(J(b))對(duì)應(yīng)bT則為最優(yōu)解。模型訓(xùn)練集精度為88%,測(cè)試集精度為88%,訓(xùn)練權(quán)重及偏置見表2。
表2 LR模型參數(shù)結(jié)果
基于測(cè)試集,預(yù)測(cè)過程對(duì)比見圖2。
圖2 LR模型預(yù)測(cè)對(duì)比
K鄰近算法是機(jī)器學(xué)習(xí)中使用率極高的分類算法,其原理是通過測(cè)量不同樣本特征值之間的距離進(jìn)行分類,同時(shí)該算法也可用于回歸問題處理。本文在樣本集中通過找出當(dāng)前樣本的k個(gè)最逼近樣本,并將k個(gè)樣本的期望值均值賦給該樣本的思路,構(gòu)建二楷水文站預(yù)測(cè)模型。
K鄰近算法主要影響參數(shù)為鄰近點(diǎn)個(gè)數(shù)k,初次訓(xùn)練調(diào)試范圍為1至100,以1為步長(zhǎng)迭代,觀察訓(xùn)練精度、鄰近點(diǎn)數(shù)對(duì)應(yīng)過程曲線,得出最大精度對(duì)應(yīng)鄰近點(diǎn)數(shù)為56。
鄰近距離度量選用最常用的歐氏度量法[10],它定義于歐幾里得空間,以本文樣本集中Q1、Q2兩個(gè)樣本間距計(jì)算為
(4)
式中,d為鄰近距離;Q1i為Q1樣本的vi特征值;Q2i為Q2樣本的vi特征值。
將k鄰近點(diǎn)數(shù)取56帶入模型并保存,應(yīng)用測(cè)試集,預(yù)測(cè)對(duì)比過程見圖3。
圖3 KNN模型預(yù)測(cè)對(duì)比
BP神經(jīng)網(wǎng)絡(luò)是一種由輸入層、隱含層和輸出層組成,按照誤差逆向傳播算法訓(xùn)練的多層前饋算法。以模仿生物腦神經(jīng)元結(jié)構(gòu)和思維,結(jié)合河道、流域洪水組成和過程建立輸入與輸出的某種函數(shù)關(guān)系,通過訓(xùn)練選取不同的模型結(jié)構(gòu)和激活函數(shù),通過誤差判斷,再反算分配、調(diào)整,依托神經(jīng)網(wǎng)路仿真學(xué)原理,完成所需的預(yù)報(bào)任務(wù)。
(1)影響因子及激活函數(shù)。根據(jù)俄日河水情自動(dòng)測(cè)報(bào)系統(tǒng)前期應(yīng)用經(jīng)驗(yàn),影響二楷水文站斷面徑流過程的主要因子有上游主河道來(lái)水和區(qū)間來(lái)水。樣本集中玉科水文站實(shí)測(cè)徑流過程v1~v6作為主影響因子;區(qū)間降雨v7~v11作為次要影響因子,v12為期望值。傳統(tǒng)的Sigmoid等激活函數(shù),訓(xùn)練的過程中易出現(xiàn)梯度爆炸和梯度消失問題,本次激活函數(shù)選用線性整流ReLU函數(shù),在有效規(guī)避梯度消失問題的同時(shí)還能減少模型運(yùn)算成本。
(2)特征項(xiàng)歸一化。本模型輸入主要為徑流數(shù)據(jù)和降雨數(shù)據(jù),二者量級(jí)的差異可能導(dǎo)致算法收斂速度很慢甚至無(wú)法收斂。為使最優(yōu)解的尋優(yōu)速度加快、過程變平緩,本文對(duì)樣本v1~v12特征進(jìn)行線性歸一化處理[11],歸一化后樣本所有特征項(xiàng)和輸出結(jié)果均歸至0~1區(qū)間,最終呈現(xiàn)結(jié)果再進(jìn)行反歸一處理。
(3)模型訓(xùn)練及測(cè)試?;跈C(jī)器學(xué)習(xí)庫(kù)的BP神經(jīng)網(wǎng)絡(luò)算法,主要影響因素為神經(jīng)元數(shù)量a、網(wǎng)絡(luò)層數(shù)c和學(xué)習(xí)率e,初步定義a取值范圍1~30,c取值范圍1~10,e為0.001~1,訓(xùn)練次數(shù)上限5 000 次,采用試算法進(jìn)行參數(shù)調(diào)優(yōu)。本文選用均方根誤差RMSE[12]和整體達(dá)標(biāo)率η作為模型效果主評(píng)定系數(shù),參數(shù)優(yōu)化由RMSE(越逼近0,訓(xùn)練效果越好)調(diào)整,同時(shí)當(dāng)整體達(dá)標(biāo)率在90%以上時(shí)訓(xùn)練停止,整體達(dá)標(biāo)率為
η=n/N
(5)
式中,n為單次訓(xùn)練中,預(yù)測(cè)精度達(dá)標(biāo)樣本個(gè)數(shù);N為總樣本數(shù)。
模型訓(xùn)練最終確定神經(jīng)元個(gè)數(shù)a為10個(gè),學(xué)習(xí)率e為0.01,網(wǎng)絡(luò)層數(shù)c為3層,最終訓(xùn)練精度為82%,測(cè)試集預(yù)測(cè)精度為81%,預(yù)測(cè)過程對(duì)比見圖4。
圖4 BP模型預(yù)測(cè)對(duì)比
通過訓(xùn)練及測(cè)試比對(duì),各模型訓(xùn)練精度和測(cè)試精度見表3??梢钥闯觯跈C(jī)器學(xué)習(xí)的各模型中,LR模型訓(xùn)練及測(cè)試效果最好,除LR外,其余2種模型訓(xùn)練結(jié)果均存在過擬合狀態(tài)。
表3 訓(xùn)練及測(cè)試預(yù)測(cè)精度統(tǒng)計(jì) %
對(duì)各模型預(yù)測(cè)結(jié)果和期望結(jié)果進(jìn)一步比對(duì)結(jié)果見表4??梢钥闯?,針對(duì)2 615個(gè)測(cè)試集樣本,測(cè)試最小精度最大為L(zhǎng)R模型的62.66%,最大正偏差最小為L(zhǎng)R模型的10.6 m3/s,最小負(fù)偏差最大為L(zhǎng)R模型的-20.3 m3/s。
表4 測(cè)試集預(yù)測(cè)精度特征統(tǒng)計(jì)
為進(jìn)一步檢驗(yàn)?zāi)P托Ч?,在?shí)測(cè)徑流對(duì)比基礎(chǔ)上,加入流域前期已有預(yù)報(bào)模型時(shí)變線性匯流模型進(jìn)行應(yīng)用效果對(duì)比。選用20161011-21號(hào)、20190911-21號(hào)、20200706-11號(hào)、20200915-1001號(hào)等4場(chǎng)實(shí)測(cè)徑流過程,4場(chǎng)實(shí)測(cè)徑流數(shù)據(jù)均未處于訓(xùn)練和測(cè)試樣本集中,各場(chǎng)次預(yù)測(cè)精度特征結(jié)果見表5~8,各模型綜合預(yù)測(cè)平均精度結(jié)果見表9,預(yù)報(bào)對(duì)比結(jié)果見圖5。
圖5 綜合預(yù)測(cè)對(duì)比
從表5~9可知,基于4場(chǎng)實(shí)測(cè)徑流過程預(yù)報(bào)中,LR模型綜合預(yù)測(cè)效果最好,KNN模型次之,BP神經(jīng)網(wǎng)絡(luò)模型稍差。LR模型綜合預(yù)報(bào)精度為85.39%,KNN模型綜合預(yù)報(bào)精度為83.24%,BP模型綜合預(yù)報(bào)精度為75.43%,時(shí)變線性模型綜合預(yù)報(bào)精度為78.26%。LR和KNN模型實(shí)測(cè)徑流對(duì)比預(yù)測(cè)效果均優(yōu)于已有的時(shí)變線性匯流模型,而BP神經(jīng)網(wǎng)絡(luò)實(shí)測(cè)徑流預(yù)測(cè)運(yùn)用效果最差。
表5 20161011-21號(hào)預(yù)測(cè)精度特征統(tǒng)計(jì)
表6 20190911-21號(hào)預(yù)測(cè)精度特征統(tǒng)計(jì)
表7 20200706-11號(hào)預(yù)測(cè)精度特征統(tǒng)計(jì)
表8 20200915-1001號(hào)預(yù)測(cè)精度特征統(tǒng)計(jì)
表9 平均預(yù)測(cè)精度統(tǒng)計(jì) %
時(shí)變線性匯流模型參數(shù)涵蓋了河道基本特征,如河長(zhǎng)、河寬、比降、糙率等,通過對(duì)參數(shù)的率定,河道特征的了解,可以有效地掌控河系洪水傳播規(guī)律。模型主要輸入為上游實(shí)測(cè)徑流,對(duì)區(qū)間降雨徑流未作考慮,汛期預(yù)報(bào)誤差較大,需配合其他模型使用。本文結(jié)合俄日河流域特性,基于機(jī)器學(xué)習(xí),構(gòu)建了3種來(lái)水預(yù)報(bào)模型并與時(shí)變線性匯流模型進(jìn)行應(yīng)用對(duì)比,主要結(jié)論有:
(1)針對(duì)4場(chǎng)實(shí)測(cè)徑流過程預(yù)報(bào)對(duì)比,基于機(jī)器學(xué)習(xí)的3種來(lái)水預(yù)報(bào)模型,根據(jù)預(yù)報(bào)區(qū)間水文時(shí)空分布特征,結(jié)合區(qū)間降雨影響,預(yù)報(bào)過程與實(shí)測(cè)過程基本一致。最終LR模型綜合預(yù)報(bào)精度為85.39%,KNN模型綜合預(yù)報(bào)精度為83.24%,BP模型綜合預(yù)報(bào)精度為75.43%,時(shí)變線性模型綜合預(yù)報(bào)精度為78.26%。時(shí)變線性匯流模型預(yù)報(bào)結(jié)果較實(shí)測(cè)結(jié)果整體偏小,LR模型和KNN模型預(yù)報(bào)效果均優(yōu)于傳統(tǒng)模型;而BP模型受迭代次數(shù)、層數(shù)、學(xué)習(xí)率、神經(jīng)元數(shù)等綜合影響,其激活函數(shù)又是在選用線性整流ReLU函數(shù)前提下,本文并未訓(xùn)練出最佳模型,模型仍有一定的進(jìn)步空間。
(2)根據(jù)俄日河流域徑流形成特性進(jìn)行樣本特征工程構(gòu)建,較其他傳統(tǒng)樣本構(gòu)建方式,其樣本特征的選用提出了結(jié)合傳播時(shí)間范圍內(nèi)的徑流過程和區(qū)間累計(jì)降雨過程組合的方式。該方式不僅考慮了徑流的前期傳播過程,同時(shí)考慮了區(qū)間流域前期影響降雨和實(shí)時(shí)降雨情況。在LR模型預(yù)報(bào)應(yīng)用中,測(cè)試集和實(shí)測(cè)徑流驗(yàn)證均取得了較好的預(yù)報(bào)效果。這種樣本特征構(gòu)建思路和模型應(yīng)用思路可用于類似預(yù)報(bào)工作中。
(3)基于機(jī)器學(xué)習(xí)的預(yù)測(cè)模型,預(yù)測(cè)效果的優(yōu)劣主要取決于影響因子的抉擇和訓(xùn)練樣本的質(zhì)量和容量,影響因子考慮越全面、樣本真實(shí)性越高、樣本數(shù)量越多,模型訓(xùn)練結(jié)果也越好。而在一些實(shí)測(cè)徑流、降雨數(shù)據(jù)等缺乏的流域,模型應(yīng)用效果將會(huì)受限。