孫龍飛,郭秀吉,王 婷,顏小飛,王子路,王遠(yuǎn)見
(1.黃河水利委員會(huì) 黃河水利科學(xué)研究院,河南 鄭州 450003;2.水利部黃河下游河道與河口治理重點(diǎn)實(shí)驗(yàn)室,河南 鄭州 450003)
水少沙多、水沙關(guān)系不平衡是黃河的典型特征,為更好地處理黃河泥沙問題,需利用小浪底水庫開展調(diào)水調(diào)沙,2002 年以來的調(diào)水調(diào)沙實(shí)踐對(duì)發(fā)揮水庫綜合效益、減輕下游河道淤積、恢復(fù)河槽行洪輸沙能力等產(chǎn)生了重要作用[1-2]。 目前,針對(duì)小浪底水庫調(diào)水調(diào)沙,眾多學(xué)者在異重流排沙理論和技術(shù)[3-5]、水沙運(yùn)動(dòng)模擬[6-7]、黃河下游河道河床演變[8-9]等方面進(jìn)行了大量研究,取得了豐富的理論成果。 然而,對(duì)于出庫泥沙不同組分的估算研究卻較少,實(shí)際上,黃河下游的沖淤受流量與含沙量匹配條件、泥沙組分特性影響,為了有效控制黃河下游的淤積,小浪底出庫水沙搭配應(yīng)在一定的范圍之內(nèi)[10-12]。 因此,系統(tǒng)地掌握水庫出庫泥沙組分特性,對(duì)于減輕黃河下游淤積、充分發(fā)揮調(diào)水調(diào)沙作用具有重要意義。 此外,影響水庫出庫泥沙組分特性的因素較多,為綜合考慮不同因素的影響效果,并解決高維度、非線性關(guān)系建立的難題,本文結(jié)合機(jī)器學(xué)習(xí)算法建立眾多因素與出庫泥沙各組分的關(guān)系模型,實(shí)現(xiàn)出庫泥沙組分的準(zhǔn)確估算,以期為小浪底水庫的科學(xué)調(diào)度,以及調(diào)水調(diào)沙的運(yùn)用方式和方案優(yōu)化提供技術(shù)支撐。
通過機(jī)器學(xué)習(xí)算法進(jìn)行水庫出庫泥沙組分特性估算的數(shù)據(jù)分析和模型建立,本文首先給出所采用的3種機(jī)器學(xué)習(xí)算法的基本原理;接著,確定水庫出庫泥沙組分特性的輸入、輸出變量,并分別建立水庫出庫泥沙各組分(粗沙、細(xì)沙和中沙)估算模型;然后,提出基于不同機(jī)器學(xué)習(xí)算法的水庫出庫泥沙組分估算基本流程;最后,通過小浪底水庫實(shí)例分析,對(duì)比不同算法模型的估算準(zhǔn)確性,進(jìn)而優(yōu)選水庫出庫泥沙組分估算模型。
1.1.1 KNN 算法
K 最鄰近(K Nearest Neighbor,KNN)算法是進(jìn)行數(shù)據(jù)挖掘的一種成熟算法,可以應(yīng)用于分類、回歸和搜索等。 所謂K 最鄰近,就是指每個(gè)樣本數(shù)據(jù)都可以用與它最接近的K個(gè)鄰居代表。 KNN 算法的基本原理是將當(dāng)前新數(shù)據(jù)的每個(gè)特征與具有相似特征的樣本數(shù)據(jù)進(jìn)行對(duì)比匹配,然后以樣本數(shù)據(jù)中最相似的K個(gè)數(shù)據(jù)的屬性值作為輸出結(jié)果[13-14]。 其中,樣本之間的相似性通過距離衡量,距離的計(jì)算公式如下:
式中:xi為樣本X的第i個(gè)特征;yi為樣本Y的第i個(gè)特征;p值代表距離計(jì)算方式,其值不同,采用的距離計(jì)算方法不同。
1.1.2 XGBoost 算法
極限梯度提升( eXtreme Gradient Boosting,XGBoost)算法是優(yōu)化后的分布式梯度提升樹模型,其通過特征分裂來生成不同的樹模型,并依靠不斷地增加決策樹至模型中來減小結(jié)果誤差,同時(shí)在目標(biāo)函數(shù)中引入正則項(xiàng)以約束損失函數(shù)值的下降和模型的復(fù)雜度,防止模型過擬合[15-16]。 XGBoost 算法的目標(biāo)函數(shù)如下:
式中:yi為樣本真實(shí)值;為樣本的預(yù)測(cè)值;l(yi,)為反映yi與兩者差異的損失函數(shù);n為樣本數(shù);Ω(fj) 為正則項(xiàng),用于控制模型復(fù)雜度,避免過擬合;fj為第j個(gè)樹的模型;m為分類回歸樹個(gè)數(shù)。
通過在正則化函數(shù)中添加懲罰項(xiàng)來控制模型訓(xùn)練中的過擬合問題,正則項(xiàng)定義為
式中:T為葉子節(jié)點(diǎn)總數(shù);wj為葉子j的權(quán)重;γ和λ為模型懲罰系數(shù)。
1.1.3 GPR 算法
高斯過程回歸(Gaussion Process Regression,GPR)方法是一種非線性的、基于貝葉斯思想的無參推斷方法,可以通過適當(dāng)?shù)母咚惯^程組合來進(jìn)行建模,從函數(shù)空間的角度分析,高斯過程可以看作函數(shù)的分布是從有限維度空間到無限維的推廣[17-18]。 對(duì)于GPR 算法,其一般模型的形式為
式中:εi為獨(dú)立的高斯白噪聲,一般可假設(shè)其均值為0,方差用σ2表示,即可記作εi~N(0,σ2n) 。
根據(jù)貝葉斯原理,高斯過程先利用訓(xùn)練數(shù)據(jù)學(xué)習(xí)建立先驗(yàn)分布,然后在進(jìn)入測(cè)試階段時(shí)轉(zhuǎn)變?yōu)楹篁?yàn)分布,因此訓(xùn)練數(shù)據(jù)的輸出變量y與測(cè)試數(shù)據(jù)的輸出變量y?之間的聯(lián)合先驗(yàn)分布為
式中:K(X,X) 為n × n階對(duì)稱正定的協(xié)方差矩陣;k(x?,x?) 為x?自身的協(xié)方差;K(x?,X) =KT(X,x?) 為n ×1 階協(xié)方差矩陣;In為n維單位矩陣。
由此可以得到高斯過程回歸方程:
式中:?為y?的均值;cov(y?) 為y?的方差。
水庫出庫泥沙組分受入庫流量、入庫含沙量、入庫泥沙粒徑、出庫流量、壩前水位等因素影響,本研究考慮的水庫出庫泥沙組分影響因子(輸入變量)包括入庫流量Q1、入庫含沙量S1、入庫細(xì)沙(粒徑在0.025 mm以下)百分比Ps0、入庫粗沙(粒徑在0.050 mm 以上)百分比Pc0、出庫流量Q2、出庫含沙量S2、壩前水位ZW,分別以出庫粗沙百分比Pc、出庫細(xì)沙百分比Ps作為輸出變量,建立各影響因素與水庫出庫泥沙粗沙和細(xì)沙百分比的綜合估算模型,再根據(jù)估算結(jié)果計(jì)算出庫中沙百分比Pm,所建立模型的表達(dá)式如下:
(1)選擇合適的樣本數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行歸一化預(yù)處理,以消除不同變量之間量綱差異所帶來的影響,歸一化公式為
式中:ω′為歸一化后數(shù)據(jù);ω為原始數(shù)據(jù);為原始數(shù)據(jù)平均值;σ為原始數(shù)據(jù)標(biāo)準(zhǔn)差。
(2)按照一定的分配比例對(duì)數(shù)據(jù)進(jìn)行分割,確定訓(xùn)練樣本和預(yù)測(cè)樣本,其中輸入、輸出變量分別見式(9)和式(10)。
(3)將訓(xùn)練樣本分別代入3 種不同機(jī)器學(xué)習(xí)算法中進(jìn)行訓(xùn)練,建立水庫出庫泥沙各組分估算模型。
(4)將測(cè)試數(shù)據(jù)的輸入變量分別代入模型進(jìn)行計(jì)算,得到出庫粗沙百分比和出庫細(xì)沙百分比,然后通過式(11)計(jì)算得到出庫中沙百分比。
(5)以估算的出庫粗沙、細(xì)沙和中沙百分比,與實(shí)際出庫泥沙組分作比較,以評(píng)估不同模型估算精度,這里將平均絕對(duì)誤差EMAE、均方根誤差ERMSE以及決定系數(shù)R2作為模型估算精度的評(píng)估指標(biāo),其計(jì)算公式如下:
式中:n為測(cè)試數(shù)據(jù)樣本數(shù);P′為估算的出庫泥沙組分百分比;P0為實(shí)際出庫泥沙組分百分比;P-為實(shí)際出庫泥沙組分百分比的平均值。
(6)分析比較各模型的評(píng)估指標(biāo)差異,進(jìn)而優(yōu)選機(jī)器學(xué)習(xí)算法及對(duì)應(yīng)的水庫出庫泥沙組分估算模型。
小浪底水庫大壩位于河南省洛陽市以北40 km 的黃河干流上,其控制流域面積69.4 萬km2,占黃河流域面積的92.3%,控制黃河流域近100%的泥沙。 庫區(qū)原始庫容126.5 億m3,其中防洪庫容約40.5 億m3,攔沙庫容約75.5 億m3,可以長期保持有效庫容51 億m3,是黃河干流三門峽水庫以下唯一能夠取得較大庫容的控制性工程。 小浪底與三門峽、陸渾、故縣等干支流水庫聯(lián)合運(yùn)用,可以在一定時(shí)期很大程度上緩解黃河下游洪水威脅、泥沙淤積、供水矛盾等問題。
小浪底庫區(qū)為峽谷型,平面形態(tài)上窄下寬。 根據(jù)河道平面形態(tài)的不同,將庫區(qū)劃分為上、下兩段。 上段自三門峽水文站至板澗河口,長約62.4 km,河谷底寬200~400 m。 下段自板澗河口至小浪底攔河壩,長約61 km,河谷底寬800~1 400 m,其中距壩25~29 km 之間的八里胡同庫段河谷底寬僅200~300 m。
本文以小浪底水庫2002—2019 年調(diào)水調(diào)沙期水沙系列數(shù)據(jù)為例進(jìn)行分析,按照訓(xùn)練數(shù)據(jù)∶測(cè)試數(shù)據(jù)=8 ∶2 的分配比例,將原始數(shù)據(jù)中170 個(gè)樣本數(shù)據(jù)用于訓(xùn)練、43 個(gè)樣本數(shù)據(jù)用于測(cè)試估算。
2.2.1 出庫泥沙各組分估算值與實(shí)際值相關(guān)性
不同機(jī)器學(xué)習(xí)算法模型估算的出庫泥沙各組分(粗沙、細(xì)沙和中沙)與實(shí)際出庫各組分(粗沙、細(xì)沙和中沙)之間的相關(guān)性如圖1~圖3 所示。
由圖1~圖3 可見,整體上,不同出庫泥沙組分估算模型所得的估算值與實(shí)際值之間均滿足線性關(guān)系,各模型的決定系數(shù)R2介于0.83 ~0.91 之間,反映出各模型所得估算值與實(shí)際值的相關(guān)性良好,表明了通過機(jī)器學(xué)習(xí)的方法實(shí)現(xiàn)綜合考慮不同影響因素的出庫泥沙組分估算的有效性。
此外,針對(duì)出庫粗沙百分比估算,GPR 算法的決定系數(shù)R2高于XGBoost 算法。 但在出庫細(xì)沙和中沙百分比估算方面,XGBoost 算法則優(yōu)于GPR 算法,表明不同的數(shù)據(jù)關(guān)系條件下,不同機(jī)器學(xué)習(xí)算法的適用效果有所不同。 同時(shí),相比于另外兩種算法,KNN 算法在出庫泥沙組分估算方面表現(xiàn)出其優(yōu)越性,無論是粗沙、細(xì)沙還是中沙估算,其模型的決定系數(shù)R2均最大。
2.2.2 出庫泥沙各組分誤差分布統(tǒng)計(jì)
為分析不同模型估算的具體誤差,統(tǒng)計(jì)各模型估算值與實(shí)際值之間的誤差分布,如圖4~圖6 所示。
由圖4~圖6 可見,不同模型估算結(jié)果的誤差值分布各不相同,相比之下,在不同出庫泥沙組分估算方面,3 種算法中KNN 算法的估算結(jié)果處于最小誤差范圍的樣本數(shù)量均更多,且隨著誤差值增大,其樣本數(shù)量呈遞減趨勢(shì),表明KNN 算法的估算結(jié)果更集中于誤差較小范圍,其估算的準(zhǔn)確性相對(duì)更高。
2.2.3 不同估算模型評(píng)估指標(biāo)統(tǒng)計(jì)
為從整體上評(píng)價(jià)各模型的估算效果,進(jìn)一步統(tǒng)計(jì)不同模型估算值與實(shí)際值間的平均絕對(duì)誤差EMAE、均方根誤差ERMSE以及決定系數(shù)R2,結(jié)果見表1。
表1 不同機(jī)器學(xué)習(xí)算法模型評(píng)估指標(biāo)統(tǒng)計(jì)
由表1 可見,整體上,各模型估算值與實(shí)際值之間的EMAE和ERMSE均較小,表明應(yīng)用機(jī)器學(xué)習(xí)算法進(jìn)行出庫泥沙組分估算是有效的,其中KNN 算法模型的EMAE以及ERMSE均最小,且其決定系數(shù)R2最大,表明在現(xiàn)有數(shù)據(jù)條件下,利用KNN 算法能夠更好地實(shí)現(xiàn)水庫出庫泥沙組分的準(zhǔn)確估算。
為了掌握小浪底水庫出庫泥沙組分特性,利用2002—2019 年調(diào)水調(diào)沙期水沙系列數(shù)據(jù),分別采用3種不同的機(jī)器學(xué)習(xí)算法,建立了包括入庫流量、入庫含沙量、入庫細(xì)沙百分比、入庫粗沙百分比、出庫流量、出庫含沙量、壩前水位在內(nèi)的不同影響因子的水庫出庫泥沙各組分估算模型。 實(shí)例分析結(jié)果表明,不同模型所得估算值與實(shí)際值之間成良好線性關(guān)系,各模型決定系數(shù)R2介于0.83 ~0.91 之間,表明了通過機(jī)器學(xué)習(xí)的方法實(shí)現(xiàn)綜合考慮不同影響因素的出庫泥沙組分估算的有效性。 在現(xiàn)有數(shù)據(jù)條件下,KNN 算法所建立模型的評(píng)估指標(biāo)均最好,表明相對(duì)于其余兩種算法,KNN算法在出庫泥沙組分估算方面的準(zhǔn)確性和精度更高。本文所提出方法可以為實(shí)現(xiàn)水庫出庫泥沙組分的準(zhǔn)確估算提供新的途徑。