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