中圖法分類號(hào):TV11 文獻(xiàn)標(biāo)志碼:A
DOI:10.16232/j.cnki.1001-4179.2025.06.001
0 引言
洪水預(yù)報(bào)作為流域抗洪減災(zāi)最重要的非工程措施之一,對(duì)降低洪水風(fēng)險(xiǎn)以及水資源系統(tǒng)的統(tǒng)一規(guī)劃管理起著重要作用[1]。但受洪水預(yù)報(bào)過程中輸人預(yù)報(bào)因子、模型結(jié)構(gòu)、參數(shù)等因素影響,洪水預(yù)報(bào)過程偏離真實(shí)值,嚴(yán)重影響洪水預(yù)報(bào)效果[2]。為了提高洪水預(yù)報(bào)的準(zhǔn)確性,必須在使用水文模型進(jìn)行預(yù)報(bào)的基礎(chǔ)上進(jìn)行實(shí)時(shí)誤差校正。
洪水預(yù)報(bào)誤差實(shí)時(shí)校正是洪水預(yù)報(bào)過程的重要組成部分,其根據(jù)實(shí)時(shí)采集或預(yù)報(bào)的降雨-洪水過程動(dòng)態(tài)信息,對(duì)預(yù)報(bào)模型結(jié)構(gòu)、預(yù)報(bào)因子、模型參數(shù)及預(yù)報(bào)結(jié)果等進(jìn)行動(dòng)態(tài)調(diào)整,使預(yù)報(bào)結(jié)果更符合洪水實(shí)際發(fā)展過程,從而提升洪水預(yù)報(bào)精度[3-5]。根據(jù)預(yù)報(bào)誤差特點(diǎn),洪水預(yù)報(bào)誤差校正方法大致上分為兩類:終端誤差校正和過程誤差校正方法[3]。終端誤差校正不直接考慮產(chǎn)生于預(yù)報(bào)過程中的誤差,而是在水文模型預(yù)報(bào)結(jié)束后直接對(duì)預(yù)測(cè)出的水位或流量進(jìn)行校正,此類方法包括誤差自回歸(auto regressive,AR)模型[6-7]、K最鄰近(K-nearest neighbor,KNN)模型[8-9]、BP(backpropagation)神經(jīng)網(wǎng)絡(luò)模型[10]等,盡管在不同應(yīng)用場(chǎng)景下取得了不錯(cuò)的應(yīng)用效果,但模型自身局限性導(dǎo)致難以充分挖掘誤差序列數(shù)據(jù)內(nèi)的關(guān)鍵特征,使得校正效果隨著預(yù)見期增加下降嚴(yán)重。過程誤差校正則通過對(duì)預(yù)報(bào)模型在預(yù)報(bào)過程中各子過程的狀態(tài)變量或參數(shù)變量進(jìn)行校正,從而達(dá)到降低最終誤差的目的,如基于卡爾曼濾波(Kalman filter,KF)[11-12]、基于K均值聚類分析的實(shí)時(shí)分類修正方法[13]和動(dòng)態(tài)系統(tǒng)響應(yīng)曲線法[14]等。此類方法適用于任何線性隨機(jī)系統(tǒng),但同時(shí)需要明確流域內(nèi)產(chǎn)匯流規(guī)律,因此這類校正方法對(duì)流域內(nèi)實(shí)測(cè)資料要求過高,應(yīng)用不夠廣泛。
實(shí)時(shí)校正依據(jù)誤差序列的相關(guān)性對(duì)預(yù)報(bào)時(shí)刻誤差進(jìn)行校正,其本質(zhì)是數(shù)據(jù)挖掘應(yīng)用范疇。機(jī)器學(xué)習(xí)技術(shù)的興起也促進(jìn)了終端誤差校正模型的發(fā)展,采用機(jī)器學(xué)習(xí)模型構(gòu)建反映誤差序列非線性關(guān)系的映射函數(shù)[15-17]并進(jìn)行訓(xùn)練,可以顯著提高誤差校正的精度或穩(wěn)定性。極限梯度提升(eXtremegradientboosting,XG-Boost)[18]是梯度提升決策樹算法(gradient boosting de-cisiontree,GBDT)[9]的優(yōu)化,通過集成多個(gè)弱分類器成為一個(gè)強(qiáng)分類器,具有模型泛化能力強(qiáng)、執(zhí)行效率高、復(fù)雜度低等特點(diǎn),被廣泛應(yīng)用于內(nèi)容分類、競(jìng)價(jià)排名、行為預(yù)測(cè)等領(lǐng)域。本文基于XGBoost的洪水預(yù)報(bào)誤差實(shí)時(shí)校正技術(shù),針對(duì)XGBoost模型學(xué)習(xí)速率、最大的弱學(xué)習(xí)器個(gè)數(shù)、樹的最大深度、懲罰項(xiàng)系數(shù)4個(gè)參數(shù)難以優(yōu)選的問題,提出采用混合遺傳優(yōu)化算法(SP-GA)進(jìn)行優(yōu)化,構(gòu)建基于SPGA-XGBoost的誤差智能校正模型用于水文預(yù)報(bào)結(jié)果誤差校正;最后以長(zhǎng)江流域螺山站為例,評(píng)估基于SPGA-XGBoost模型的洪水預(yù)報(bào)誤差實(shí)時(shí)校正效果,以期為智能校正技術(shù)的發(fā)展提供參考。
1洪水預(yù)報(bào)實(shí)時(shí)校正模型構(gòu)建方法
1.1 誤差序列構(gòu)建
場(chǎng)次洪水過程中,由于影響洪水的要素處于不斷變化中,因此會(huì)連續(xù)進(jìn)行洪水預(yù)報(bào)從而產(chǎn)生多次預(yù)報(bào)結(jié)果,產(chǎn)生的洪水預(yù)報(bào)誤差可根據(jù)預(yù)見期抽象為預(yù)報(bào)預(yù)見期的函數(shù)[15]。圖1為實(shí)時(shí)水位預(yù)報(bào)誤差示意圖。圖1中,實(shí)線 Z 為水位的實(shí)測(cè)過程,虛線為實(shí)時(shí)水位預(yù)報(bào)過程; ZFn 為第 n 次實(shí)時(shí)水位預(yù)報(bào)過程( n=1,2 …,N;N 為實(shí)時(shí)預(yù)報(bào)次數(shù)); δnj 為第 n 次預(yù)見期為 j 的實(shí)時(shí)預(yù)報(bào)誤差。設(shè) tn 為第 n 次實(shí)時(shí)預(yù)報(bào)時(shí)刻,則:

對(duì)于特定預(yù)見期 j(j∈{6,12,18,…,114,120}) ,可以計(jì)算得到的預(yù)報(bào)誤差數(shù)據(jù)共有 N 個(gè),即[δ1j(t1+j),δ2j(t2+j),…,δNj(tN+j)], )
水文預(yù)報(bào)終端誤差校正模型,實(shí)質(zhì)上是為了發(fā)掘過去時(shí)刻誤差與未來時(shí)刻誤差之間的非線性映射關(guān)系。設(shè)模型階數(shù)為
為待定參數(shù)),構(gòu)建映射關(guān)系的有效數(shù)對(duì) (X,Y) 有max {N-p,0} 個(gè),其中 Y= f(X) 。



1.2 誤差校正流程
洪水預(yù)報(bào)是一個(gè)連續(xù)“滾動(dòng)”預(yù)報(bào)過程,在此過程中,預(yù)報(bào)模型依據(jù)預(yù)報(bào)時(shí)刻的水文氣象實(shí)況信息對(duì)預(yù)見期內(nèi)的水位流量過程進(jìn)行連續(xù)動(dòng)態(tài)預(yù)報(bào),形成一系列預(yù)報(bào)結(jié)果。因此,洪水預(yù)報(bào)誤差與預(yù)報(bào)模型、預(yù)見期相關(guān)。誤差校正指根據(jù)預(yù)報(bào)過程中實(shí)時(shí)采集到的信息(預(yù)報(bào)信息、實(shí)測(cè)信息等)或者其他相關(guān)信息作為樣本,經(jīng)一系列計(jì)算后將預(yù)測(cè)結(jié)果進(jìn)行合理校正,從而實(shí)時(shí)地降低預(yù)報(bào)誤差。洪水預(yù)報(bào)實(shí)時(shí)校正主要分成誤差預(yù)測(cè)模型構(gòu)建和實(shí)時(shí)校正兩個(gè)部分,其流程如圖2所示。

(1)誤差預(yù)測(cè)模型訓(xùn)練。選擇歷史數(shù)據(jù)集中前 n 次預(yù)報(bào)結(jié)果與實(shí)測(cè)值間的誤差構(gòu)建誤差預(yù)測(cè)模型。其中 In(ti)(i=0,1,2,…,n-1,n∈R) 表示 ti 時(shí)刻的水位實(shí)測(cè)值,經(jīng)過洪水預(yù)報(bào)模型計(jì)算后,得到該時(shí)刻預(yù)見期 j(6h 的整數(shù)倍,即 j=6,12,…,6m,m∈R) 的預(yù)報(bào)值 Fij ;并根據(jù) ti+j 時(shí)刻的實(shí)際觀測(cè)值 Oij 計(jì)算得到 ti 時(shí)刻、預(yù)見期 j 的預(yù)報(bào)誤差 δij=Oij-Fij 。以前 n 次預(yù)報(bào)誤差序列 δ1j,δ2j,…,δnj 為輸入,選擇合適的機(jī)器學(xué)習(xí)模型,訓(xùn)練并構(gòu)建誤差預(yù)測(cè)模型。
建立誤差預(yù)測(cè)模型本質(zhì)上是采用機(jī)器學(xué)習(xí)算法學(xué)習(xí) tn+1 時(shí)刻、預(yù)見期 j 的誤差信息 δn+1j 與過去相同預(yù)見期下誤差序列 δ1j,δ2j,…,δnj 之間的非線性映射關(guān)系,可表示為

對(duì)序列長(zhǎng)度為 L 的歷史數(shù)據(jù)集,采用滑動(dòng)窗口技術(shù)將其預(yù)報(bào)誤差序列分割成長(zhǎng)度為 n 的子序列 {(δ1j δ2j,…,δnj) …,δnj),(δ2j,δ3j,…,δn+1j),…,(δL-nj,δL-n+1j,…, διj)} ,然后以其為輸人訓(xùn)練得到誤差預(yù)測(cè)模型 f(δj) 。
(2)誤差實(shí)時(shí)校正。將洪水預(yù)報(bào)模型 tn 時(shí)刻、預(yù)見期 j 的預(yù)報(bào)結(jié)果 Fn+ij 和誤差預(yù)測(cè)模型預(yù)測(cè)的誤差值δn+ij 進(jìn)行運(yùn)算,即可得到洪水預(yù)報(bào)模型 tn 時(shí)刻、預(yù)見期j 的實(shí)時(shí)校正結(jié)果。
2 基于XGBoost的預(yù)報(bào)誤差校正模型
XGBoost算法通過不斷迭代,生成新樹以擬合前樹的殘差,具有訓(xùn)練速度快且穩(wěn)定、擬合效果好等特點(diǎn),在數(shù)據(jù)分析領(lǐng)域、分類和預(yù)測(cè)領(lǐng)域中都有著廣泛的應(yīng)用。將XGBoost算法引入水文預(yù)報(bào)誤差校正中,提出一種基于SPGA-XGBoost的誤差校正模型,即以XGBoost構(gòu)建誤差校正模型,利用融合粒子群算法(particle swarmoptimization,PSO)[2o]和模擬退火算法(simulatedannealing,SA)[21]的混合遺傳優(yōu)化算法(SPGA)對(duì)XGBoost的超參數(shù)進(jìn)行尋優(yōu),并通過實(shí)驗(yàn)來探究其在水文預(yù)報(bào)結(jié)果校正中的能力。
2.1 混合遺傳優(yōu)化算法(SPGA)
遺傳算法作為一種經(jīng)典的群體智能算法,在全局最優(yōu)解的搜索方面有著獨(dú)特的效率,但局部搜索能力不足。本文提出融合粒子群算法和模擬退火算法的混合遺傳算法(SPGA),以提升算法對(duì)于最優(yōu)解的搜尋能力。
SPGA首先引入粒子群算法公式作為變異算子,讓種群內(nèi)個(gè)體可以依據(jù)自身迄今最優(yōu)解和種群最優(yōu)解及個(gè)體進(jìn)化的速度來智能調(diào)整變異的方向和幅度,使變異操作具有方向指導(dǎo)作用,不再是簡(jiǎn)單的隨機(jī)變異;然后在種群進(jìn)化過程中引入模擬退火算法的判斷函數(shù),以判定是否進(jìn)行SA操作。
fave-fminlt;α
式中: fave 為種群內(nèi)平均適應(yīng)度值: fmin 為種群內(nèi)最優(yōu)個(gè)體所對(duì)應(yīng)的適應(yīng)度值; α 為判斷種群趨于穩(wěn)定時(shí)的閾值。
2.2 SPGA-XGBoost誤差校正模型框架
SPGA-XGBoost模型由3部分組成:輸入層、模型構(gòu)建層、輸出層。輸入層包括使用實(shí)測(cè)值和預(yù)測(cè)值構(gòu)建的誤差序列、數(shù)據(jù)預(yù)處理以及劃分訓(xùn)練測(cè)試集等;模型構(gòu)建層包括定義目標(biāo)函數(shù)以及迭代次數(shù),計(jì)算一階導(dǎo)數(shù)、二階導(dǎo)數(shù)和目標(biāo)函數(shù),插入新的樹并更新目標(biāo)函數(shù),待滿足迭代需求后,輸出最優(yōu)模型參數(shù);輸出層則反歸一化XGBoost計(jì)算模擬的誤差值,將其與原預(yù)測(cè)值相加計(jì)算后,輸出校正結(jié)果值。
模型以SPGA算法對(duì)XGBoost的學(xué)習(xí)速率(learing_rate)最大的弱學(xué)習(xí)器個(gè)數(shù)(n_estimators)、樹的最大深度(max_depth)、懲罰項(xiàng)系數(shù)(gamma)等參數(shù)進(jìn)行尋優(yōu)。待SPGA尋優(yōu)結(jié)束后,XGBoost模型使用得到的最優(yōu)參數(shù)解進(jìn)行誤差模擬計(jì)算時(shí),判斷結(jié)果是否符合預(yù)期,如果符合,則反歸一化模擬誤差值后輸出,否則繼續(xù)使用SPGA算法尋優(yōu),直至滿足預(yù)期。SPGA-XG-Boost校正模型框架如圖3所示。

2.3 SPGA-XGBoost構(gòu)建流程
(1)輸入數(shù)據(jù)準(zhǔn)備。計(jì)算水文預(yù)報(bào)模型第 j 個(gè)預(yù)報(bào)時(shí)段長(zhǎng)的預(yù)測(cè)結(jié)果和實(shí)測(cè)值之間的誤差序列 Errj= {δ1j,δ2j,…,δNj} 。XGBoost的輸人誤差序列為 x= {δn-1j(tn-1+j),δn-2j(tn-2+j),…,δn-ij(tn-i+j)},δnj 為第n 次實(shí)時(shí)預(yù)報(bào)預(yù)見期 j( 時(shí)段數(shù) j∈{6,12,18,24} 的預(yù)報(bào)誤差。對(duì)輸入數(shù)據(jù)進(jìn)行歸一化和標(biāo)準(zhǔn)化處理。
(2)XGBoost算法訓(xùn)練可以反映誤差序列非線性關(guān)系的強(qiáng)學(xué)習(xí)器。XGBoost模型首先應(yīng)用一組CART樹作為弱學(xué)習(xí)器,接著通過創(chuàng)建一個(gè)最小化正則化目標(biāo)的樹集合以提高樹的性能。XGBoost將若干個(gè)小型學(xué)習(xí)模塊集成到一個(gè)更強(qiáng)的學(xué)習(xí)模塊中,充分提取誤差序列的特征。XGBoost模型中輸出的誤差模擬值與輸人數(shù)據(jù)間的關(guān)系為
etj=fSPGA-XGBoost(δn-1j(tn-1+j),δn-2j(tn-2+j),…,δn-ij(tn-i+j))
式中: etj 為SPGA-XGBoost模型在時(shí)刻 χt 計(jì)算得到的誤差模擬值;
是 t-i 時(shí)刻的誤差;fSPGA-XGBoost 是通過SPGA-XGBoost模型確定的抽象映射函數(shù)。
(3)誤差計(jì)算與輸出。記 e 為預(yù)測(cè)值
與實(shí)測(cè)值 Zobs 的差值;經(jīng)過XGBoost模型輸出的誤差模擬值記作 e′ ;計(jì)算 Zpre 和 Zobs 的納什系數(shù) ?e 和 e′ 的納什系數(shù)作為評(píng)價(jià)指標(biāo)值 fe 和 fe′ 。判斷評(píng)價(jià)指標(biāo)值的大小,如果 fe′gt;fe ,則反歸一化誤差模擬值后輸出,再將其與初始預(yù)測(cè)值相加,即為最終校正結(jié)果;否則繼續(xù)使用SP-GA算法對(duì)XGBoost進(jìn)行參數(shù)尋優(yōu)。誤差計(jì)算流程如圖4所示。

3 實(shí)例驗(yàn)證與分析
3.1 實(shí)驗(yàn)條件
螺山站位于長(zhǎng)江中游,是控制長(zhǎng)江、清江及洞庭湖等干支流的重要水情控制站,上距洞庭湖湖口30.5km ,下距右岸支流陸水河
、左岸支流漢江208.0km ,其地理位置如圖5所示。螺山站特殊的地理位置決定了其上承長(zhǎng)江上游干流、清江和洞庭湖來水,下受漢江和陸水等支流水位頂托[22],加之其所在河段內(nèi)的江湖關(guān)系復(fù)雜多變,導(dǎo)致螺山站水流情勢(shì)多樣化,常常會(huì)形成繩套形的水位流量關(guān)系[23]。螺山站長(zhǎng)久以來采用大湖演算模型[24]進(jìn)行水位預(yù)報(bào),簡(jiǎn)單起見,將其簡(jiǎn)化成7條水位流量關(guān)系線,隨著洪水發(fā)展,水位流量關(guān)系在這7條線間變化。

本研究選擇螺山站大湖演算模型2018年1月1日至2020年12月31日的預(yù)報(bào)方案1,采用預(yù)報(bào)時(shí)段長(zhǎng)為 6,12,18,24h 的預(yù)報(bào)結(jié)果和實(shí)測(cè)結(jié)果對(duì)構(gòu)建的誤差校正模型進(jìn)行實(shí)驗(yàn)分析,實(shí)驗(yàn)時(shí)段內(nèi)數(shù)據(jù)共153440條記錄,實(shí)驗(yàn)訓(xùn)練集和測(cè)試集按7:3劃分,并采用 Max-Min 歸一化方法,將數(shù)據(jù)歸一化到0~1之間。為評(píng)判所建立模型的優(yōu)劣,采用均方根誤差RMSE、確定性系數(shù) R2 、平均絕對(duì)誤差MAE和納什系數(shù)NSE對(duì)預(yù)測(cè)結(jié)果和校正結(jié)果進(jìn)行評(píng)價(jià)。
3.2 參數(shù)優(yōu)化算法對(duì)比
分別用遺傳算法(genetic algorithm,GA)[25]、PSO、布谷鳥搜索算法(cuckoo search,CS)[26]和 SPGA 算法優(yōu)化XGBoost模型參數(shù),以均方根誤差RMSE作為適應(yīng)度函數(shù),XGBoost模型的learing_rate范圍為[0.01,0.5],n_estimators 范圍為[10,220],max_depth范圍為[1,10],gamma范圍為[0,0.2]。為最大限度發(fā)揮各優(yōu)化算法的性能,參考相關(guān)文獻(xiàn)[20.,25]及反復(fù)測(cè)試后進(jìn)行相關(guān)參數(shù)的設(shè)置。具體如下:GA,PSO,CS和SPGA中的最大迭代次數(shù)均為50,種群規(guī)模為20;GA算法交叉概率 cp=0.85 ,變異概率 mp=0.05 ;PSO算法解維度 dim=4 ,慣性參數(shù) w=0.5 ,學(xué)習(xí)因子 c1?c2 分別為0.2 和0.5;CS尋優(yōu)參數(shù)個(gè)數(shù) dim=4 ,發(fā)現(xiàn)概率 pa= 0.25;SPGA中交叉概率是0.8,初始溫度 T 是 100 。4種尋優(yōu)算法的收斂曲線如圖6所示。
由圖6可知,預(yù)見期為 6h 時(shí),PSO,SPGA,CS和GA算法分別經(jīng)過20,21,22,24次迭代后收斂至最佳適應(yīng)度值 0.168,0.106,0.151,0.141 。從相同條件下的迭代次數(shù)和最佳適應(yīng)度值變化可知,SPGA算法均優(yōu)于GA,PSO,CS算法,表明SPGA算法在4種算法中參數(shù)尋優(yōu)能力相對(duì)最強(qiáng),最優(yōu)解誤差相對(duì)最小。分析SPGA算法可知,SPGA中引入了PSO公式作為變異算子,使得變異操作具備了學(xué)習(xí)的能力,大大增強(qiáng)了算法的局部搜索能力,能夠更快地搜索到最優(yōu)解。此外,SPGA算法在迭代后期進(jìn)行的模擬退火操作,更進(jìn)一步提升了算法跳出局部最優(yōu)解搜尋全局最優(yōu)解的能力。因此,使用SPGA算法對(duì)XG-Boost參數(shù)進(jìn)行優(yōu)化是可行有效的,可以尋得較優(yōu)的XGBoost參數(shù)。

3.3 SPGA-XGBoost校正結(jié)果分析
將SPGA-XGBoost校正模型用于螺山站大湖演算模型預(yù)報(bào)結(jié)果校正,將測(cè)試集中的誤差序列作為輸入,誤差計(jì)算模擬值作為輸出,輸入誤差序列長(zhǎng)度經(jīng)逐步回歸確定為3。使用SPGA算法對(duì)XGBoost的參數(shù)進(jìn)行多次尋優(yōu),通過比較分析適應(yīng)度結(jié)果值與實(shí)驗(yàn)結(jié)果的變化,最終確定不同預(yù)見期的參數(shù)如表1所列。

使用SPGA-XGBoost模型對(duì)螺山站水文數(shù)據(jù)進(jìn)行誤差校正。以預(yù)見期 6h 和 18h 為例,圖7展示了大湖演算模型預(yù)測(cè)未校正值以及經(jīng)過SPGA-XGBoost模型校正后的結(jié)果,圖中時(shí)段為2020年2月5日至12月31日,評(píng)價(jià)指標(biāo)結(jié)果如表2所列。

表2校正前后評(píng)價(jià)指標(biāo)對(duì)比

由表2可知,經(jīng)過SPGA-XGBoost模型校正后的RMSE,MAE 較校正前明顯減小,而NSE較校正前均有較大提高,如當(dāng)預(yù)見期為 6h 時(shí),校正后相對(duì)校正前RMSE值降低約 0.343m,MAE 值降低約 0.276m ,NSE值提高約0.01;預(yù)見期為 12,18,24h 時(shí),4項(xiàng)評(píng)估指標(biāo)在校正前后的變化情況和 6h 基本類似。表明SPGA-XGBoost校正模型對(duì)預(yù)測(cè)精度的貢獻(xiàn)率在逐漸增加,校正效果越來越明顯。
3.4 不同校正模型對(duì)比分析
為進(jìn)一步驗(yàn)證SPGA-XGBoost誤差校正模型的性能,將其與BP,KNN,GBDT,STGCN4種校正算法在螺山站的水位預(yù)報(bào)校正情況進(jìn)行對(duì)比。其中SPGA-XGBoost,BP,GBDT,STGCN和KNN輸人均使用相同的誤差序列,反饋模擬算法使用最新時(shí)刻的實(shí)測(cè)及預(yù)報(bào)值作為輸入,5種算法輸出均為誤差模擬值。
其中SPGA-XGBoost模型的參數(shù)細(xì)節(jié)見表1;KNN法使用Leave-one-out和交叉檢驗(yàn)來確定參數(shù)K 值為4;GBDT參數(shù)尋優(yōu)參見文獻(xiàn)[15],STGCN參數(shù)參見文獻(xiàn)[16];BP神經(jīng)網(wǎng)絡(luò)則使用GA算法確定隱含層神經(jīng)元的個(gè)數(shù)為2,學(xué)習(xí)率為0.01,激發(fā)函數(shù)為Re-Lu,優(yōu)化器為Adam。圖8展示了預(yù)見期為 12h 的大湖演算模型預(yù)測(cè)校正前以及經(jīng)過5種模型校正后的結(jié)果曲線圖,實(shí)驗(yàn)時(shí)段為2020年2月5日至12月31日。表3給出了5種校正模型在不同預(yù)見期內(nèi)的評(píng)價(jià)指標(biāo)值及預(yù)見期內(nèi)各評(píng)價(jià)指標(biāo)的平均值。

由圖8和表3可知,5種校正模型校正后的水位曲線相較未校正前的都更加靠近實(shí)測(cè)水位曲線,且5種校正模型的各項(xiàng)評(píng)價(jià)指標(biāo)相較未校正前也都有所改善。對(duì)于不同預(yù)見期下不同校正方法,圖8中SPGA-
XGBoost和STGCN模型的校正曲線相對(duì)其他3種方法更貼合實(shí)測(cè)水位曲線;在細(xì)節(jié)圖中的洪峰水位校正上,SPGA-XGBoost模型最為準(zhǔn)確,GBDT,STGCN,KNN表現(xiàn)不相上下,BP模型則相對(duì)欠佳。對(duì)比表3各模型預(yù)見期內(nèi)評(píng)價(jià)指標(biāo)的平均值,SPGA-XGBoost模型相較未校正前RMSE值降低 0.440m,MAE 值降低 0.356m,NSE 提高0.016,也分別優(yōu)于STGCN,GB-DT,KNN和BP模型對(duì)應(yīng)的指標(biāo)項(xiàng)
為進(jìn)一步分析各校正模型在同一預(yù)見期內(nèi)的性能差異,圖9展示預(yù)見期 6~24h 內(nèi)各校正模型評(píng)價(jià)指標(biāo)RMSE和 R2 的對(duì)比。

由圖9可知,隨預(yù)見期增加,各模型校正能力均出現(xiàn)一定程度的下降,但相同預(yù)見期內(nèi)不同方法間校正性能依舊存在較大差距。當(dāng)校正預(yù)見期為 6h 時(shí),各方法校正精度相差不大;當(dāng)校正預(yù)見期大于 6h 時(shí),SPGA-XGBoost和KNN的校正精度逐漸與BP模型、反饋模擬方法拉開差距,其中反饋模擬方法隨預(yù)見期增加誤差校正能力下降最快。反饋模擬技術(shù)僅關(guān)注預(yù)報(bào)時(shí)刻臨近實(shí)測(cè)水位與預(yù)報(bào)水位,因而短期校正效果不錯(cuò),但運(yùn)用過程中誤差不斷累積,使得校正效果不穩(wěn)定。BP模型結(jié)構(gòu)復(fù)雜,參數(shù)眾多,易陷入局部最優(yōu)并且難以捕捉誤差序列數(shù)據(jù)之間的前后時(shí)序關(guān)系。KNN方法在樣本數(shù)據(jù)不夠平衡時(shí),對(duì)稀有數(shù)據(jù)的預(yù)測(cè)準(zhǔn)確率會(huì)偏低,例如在模擬水位極值的時(shí)候,效果會(huì)明顯弱于 SPGA -XGBoost。
通過分析可知,SPGA-XGBoost算法通過樹節(jié)點(diǎn)劃分讓損失函數(shù)最小化來判斷誤差模擬值是否能達(dá)到既定期望,每一次的誤差模擬計(jì)算都受上一次誤差模擬結(jié)果的影響,能充分挖掘誤差序列的相關(guān)關(guān)系,提高水位預(yù)報(bào)精度,實(shí)驗(yàn)結(jié)果也表明SPGA-XGBoost模型能夠提升水位預(yù)報(bào)結(jié)果校正的精度,具有一定的潛力和適用性。

4結(jié)語
本文以基于機(jī)器學(xué)習(xí)的洪水預(yù)報(bào)誤差智能校正為研究目標(biāo),提出一種基于SPGA-XGBoost的誤差校正模型。依據(jù)水文預(yù)報(bào)模型的預(yù)測(cè)值和實(shí)測(cè)值構(gòu)建誤差序列作為誤差校正模型的輸人,使用機(jī)器學(xué)習(xí)領(lǐng)域新型算法XGBoost構(gòu)建誤差校正模型以充分挖掘誤差序列非線性關(guān)系。同時(shí)針對(duì)XGBoost算法的一些重要參數(shù)需要尋優(yōu)的情況,提出融合PSO和SA的混合遺傳優(yōu)化算法SPGA,用以對(duì)XGBoost的超參數(shù)進(jìn)行尋優(yōu),從而更好地挖掘誤差序列的時(shí)序特征以提升誤差校正的精度。大湖演算模型預(yù)測(cè)結(jié)果校正實(shí)驗(yàn)表明,SPGA-XGBoost校正模型較傳統(tǒng)誤差校正方法有較好的效果,相對(duì)未校正前 RMSE,MAE 分別降低 0.440m 和0.356m,NSE 提升0.016,且性能更穩(wěn)定,可用于不同預(yù)見期洪水預(yù)報(bào)結(jié)果的實(shí)時(shí)校正。后續(xù)將繼續(xù)開展結(jié)合本文方法與過程誤差校正方法進(jìn)行聯(lián)合校正的研究,提升模型的校正精度和豐富應(yīng)用場(chǎng)景。
參考文獻(xiàn):
[1]葛守西.現(xiàn)代洪水預(yù)報(bào)技術(shù)[M].北京:中國(guó)水利水電出版社,1999.
[2] 包為民,張建云.水文預(yù)報(bào)[M].4版.北京:中國(guó)水利水電出版社,2009.
[3] 閆成增,張娜,湯成反,等.長(zhǎng)江上游“ 20?8′ ’洪水預(yù)報(bào)及預(yù)警實(shí)踐[J].水利水電快報(bào),2021,42(1):1-9.
[4] 肖楊.多站點(diǎn)聯(lián)合校正的實(shí)時(shí)洪水預(yù)報(bào)應(yīng)用:以湖南省沅水五強(qiáng)溪水庫(kù)為例[J].人民長(zhǎng)江,2020,51(增1):6-9.
[5] 程海云,葛守西,李玉榮.水動(dòng)力學(xué)模型實(shí)時(shí)校正方法研究[J].人民長(zhǎng)江,2005,36(2):6-8.
[6] 劉可新,徐海卿,龐麗麗,等.實(shí)時(shí)洪水預(yù)報(bào)中基于嶺估計(jì)的AR修正模型研究[J].中國(guó)水利水電科學(xué)研究院學(xué)報(bào)(中英文),2023,21(3):212-221,235.
[7] 張娟,鐘平安,徐斌,等.洪水預(yù)報(bào)自回歸實(shí)時(shí)校正多步外延方法研究[J].水文,2019,39(6):41-45,6.
[8]SHAMSELDIN A Y,O\"CONNOR K M.A nearest neighbour linearperturbation model for river flow forecasting[J]. Journal of Hydrology,1996,179(1/4) :353-375.
[9]徐杰,李致家,霍文博,等.半濕潤(rùn)流域洪水預(yù)報(bào)實(shí)時(shí)校正方法比較[J].河海大學(xué)學(xué)報(bào)(自然科學(xué)版),2019,47(4):317-322.
[10]袁晶,張小峰.基于遺忘因子和誤差修正的水文實(shí)時(shí)預(yù)報(bào)方法研究[J].中國(guó)農(nóng)村水利水電,2006(9):32-35.
[11]葛守西,程海云,李玉榮.水動(dòng)力學(xué)模型卡爾曼濾波實(shí)時(shí)校正技術(shù)[J].水利學(xué)報(bào),2005,36(6):687-693.
[12]孫逸群,包為民,江鵬,等.基于無跡卡爾曼濾波的新安江模型實(shí)時(shí)校正方法[J].湖泊科學(xué),2018,30(2):488-496.
[13]KANUNGOT,MOUNTDM,NETANYAHUNS,etal.Alocal searchapproximation algorithm for k - means clustering[J]. ComputationalGeometry,2004,28(2/3) :89-112.
[14] SI W,GUPTA H V,BAO W,et al. Improved dynamic system responsecurve method for real - time flood forecast updating[J].Water Re-sources Research,2019,51(7) :5128-5144.
[15]崔震,郭生練,王俊,等.基于GR4J-LSTM混合模型的洪水預(yù)報(bào)研究[J].人民長(zhǎng)江,2022,53(7):1-7.
[16]余宇峰,李薇,李珂,等.基于STGCN的洪水預(yù)報(bào)誤差實(shí)時(shí)校正方法[J].水文,2022,42(5):35-40.
[17]巫義銳,郭鴻飛,錢程,等.基于特征增強(qiáng)與時(shí)序感知的洪水預(yù)報(bào)模型[J].人民長(zhǎng)江,2021,52(增2):21-26,44.
[18] CHEN TQ,GUESTRIN C. XGBoost: a scalable tree boosting system[C]//Proceedings of the 22nd ACM SIGKDD International Confer-ence on Knowledge Discovery and Data Mining,2016.
[19]FRIEDMAN J H. Greedy function approximation: a gradient boostingmachine[J].Annals of Statistics,2001,29(5):1189-1232.
[20]公茂果,焦李成,楊咚咚,等.進(jìn)化多目標(biāo)優(yōu)化算法研究[J].軟件學(xué)報(bào),2009,20(2):271-289.
[21]景會(huì)成,王穎.模擬退火算法優(yōu)化PSO_GA算法解決柔性流水車間調(diào)度問題[J].小型微型計(jì)算機(jī)系統(tǒng),2020,41(5):996-999.
[22]江磊,曾子悅.洞庭湖出流對(duì)荊江河段洪水位頂托影響分析[J].水利水電快報(bào),2024,45(10):8-11.
[23]戴明龍,王立海,李立平,等.2020年長(zhǎng)江螺山站水位流量關(guān)系分析[J].人民長(zhǎng)江,2022,53(5):118-122,142.
[24]鄒冰玉,李世強(qiáng).大湖演算模型在螺山站單值化后的適應(yīng)性分析[J].水文,2011,31(增1):140-142,147.
[25]馬永杰,云文霞.遺傳算法研究進(jìn)展[J].計(jì)算機(jī)應(yīng)用研究,2012,29(4):1201-1206,1210.
[26]胡欣欣.求解函數(shù)優(yōu)化問題的改進(jìn)布谷鳥搜索算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2013,34(10):3639-3642.
(編輯:謝玲姻)
Abstract:Real-time errorcorrectionservesasacrucialmeans toenhance theaccuracyoffloodforecast.Toaddressthe problemofpooraccuracyandstabilityoftraditionalerorcorectionmodels,weincorporatemachinelearnngtechnologyintothetraining process of theerorsequence mapping functionand propose an intellgent errorcorrection method basedon SPGA-XGoost. Thismethodinitiallyconstructsanerrorsequencebsedonthepredictedandmeasuredvaluesofthetraditionalhydrologicalforecastingmodelasheiutofterrorrcondelandotctsarrorrionodeltfullyexloeheoareltionshipof theerorsequencebythedeep learning algorithm XGBost.Moreover,ahybrid geneticoptimizationalgorithm SPGA whichcombinesparticleswarmoptimizationalgorithmandsimulatedannealingalgorithm,isproposedtooptimizethehyprparametersof XGBost model,thereby itcanbeterminethetimingcharacteristicsoferorsequensandimprovetheauracyoferror correction.TheexperimentalresultsofLuoshanStationonChangjiangRiverindicatethattheRMSEandMAEof themodelaredecreased by 0.440m and 0.356 m respectively,and the NSE is improved by O.016 compared with the uncorrected model,which is superior to the STGCN,GBDTandKNN.The SPGA-XGBoost modelcanfullydiscover thecorelations withn the errorsequence and improve the accuracy of water level forecast,and has good applicability and application prospect.
Keywords:floodforecast error;error intellgentcorretion;XGBoost;hybridgeneticoptimizationalgorithm;LuoshanStation; Changjiang River