翁茂峰,劉瑩瑩,寇思飛,梁 曦,劉蕊蕊
(1.中國電建集團西北勘測設(shè)計研究院有限公司,西安 710065;2.陜西省水利電力勘測設(shè)計研究院,西安 710001)
水文計算工作常需較長系列的水文資料。隨著系列長度的增加,水文計算準(zhǔn)確性越高。由于水文站遷移、特殊原因撤站、水利工程建設(shè)等影響因素,導(dǎo)致無法保證水文系列中的連續(xù)[1],而且常規(guī)的水文分析方法在預(yù)測缺失系列數(shù)據(jù)時,存在一定的缺陷[2-3]。傳統(tǒng)的插補延長方法是基于同一流域不同水文站之間存在線性關(guān)系得以使用,但不同水文站數(shù)據(jù)受到許多因素的影響,可能存在非線性關(guān)系。因此,需要新的方法來實現(xiàn)有效的水文系列插補延長。
在過去的幾十年中,機器學(xué)習(xí)(ML)[4]技術(shù)已被證明是解決具有多參數(shù)的非線性回歸和分類問題的強大統(tǒng)計工具。它可通過學(xué)習(xí)以前的事件來制定輸入屬性和輸出目標(biāo)之間的潛在相關(guān)性,而無需進行顯式編程。近年來,學(xué)者們已經(jīng)普遍認識到機器學(xué)習(xí)算法(MLA)的效率優(yōu)于線性統(tǒng)計方法。機器學(xué)習(xí)算法中能用于數(shù)據(jù)分析預(yù)測的模型包括增強回歸樹、分類、回歸樹、多元自適應(yīng)回歸樣條、支持向量機、隨機森林、和混合判別分析等,并且類似的新穎算法已在其他領(lǐng)域成功實現(xiàn)[4-6]。
在這些新算法中,支持向量機回歸(SVR)、BP神經(jīng)網(wǎng)絡(luò)和XGBoot模型都具有較好的效果。其中支持向量機回歸(SVR)[4-5]遵循SVM的回歸策略,該策略已被廣泛應(yīng)用于山洪和洪水階段的預(yù)測,洪水頻率,滑坡和水位。BP神經(jīng)網(wǎng)絡(luò)[6]是較為常用的人工神經(jīng)網(wǎng)絡(luò),具有較好的預(yù)測性能。XGBoot模型[7]基于梯度提升決策樹算法,可以有效地防止過擬合現(xiàn)象,具有較為優(yōu)秀的性能。不過,這些模型尚未用于水文系列插補延長領(lǐng)域。因此有必要利用這些模型來預(yù)測水文系列,以達到有效的插補延長效果。此外,為了凸顯機器學(xué)習(xí)模型的效果,本文也利用傳統(tǒng)線性模型的方法進行水文插補延長,并對這些模型進行對比分析。以期為水文系列插補延長提供新的有效方法。
支持向量機回歸(Support vector regression, SVR)[5,8-10]模型是根據(jù)內(nèi)核統(tǒng)計學(xué)習(xí)理論,以結(jié)構(gòu)風(fēng)險最小化原則為基礎(chǔ)的一種新型機器學(xué)習(xí)方法,其特點是能夠解決小樣本、非線性和高維數(shù)據(jù)空間模式識別等問題(Vapnik 1995)。SVR的類型有epsilon-SVR和nu-SVR 2種,常用的核函數(shù)類型有線性linear核函數(shù)、多項式核函數(shù)、徑向基RBF核函數(shù)、sigmoid核函數(shù)等。在SVR中,核函數(shù)類型、懲罰參數(shù)Cost、核參量gamma等3個參數(shù)對建模精度有很大的影響[11-13]。本研究中,核函數(shù)類型需經(jīng)多次試算來確定,用訓(xùn)練集交叉驗證和網(wǎng)格搜索法(Grid search)進行參數(shù)尋優(yōu),按照均方差最小原則確定懲罰參數(shù)Cost和核參量gamma的值[14]。
BNP結(jié)構(gòu)是多層感知器(MLP),通常使用誤差反向傳播(EBP),簡稱為反向傳播算法(BP)作為算法[17-20]。BPN的主要組件如下所示:
(1) 輸入層:代表神經(jīng)元編號的網(wǎng)絡(luò)輸入變量,用于由特定問題確定的處理。更多的輸入神經(jīng)元導(dǎo)致更高的BPN復(fù)雜度,并在控制訓(xùn)練時間和錯誤收斂方面更加困難。
(2) 隱藏層:代表輸入單元之間的交叉影響。隱藏層的數(shù)量可以是一個或多個,通常通過故障測試方法或經(jīng)驗法則來確定,而優(yōu)化的數(shù)量則取決于測試收斂效果。
(3) 輸出層:代表具有特定問題確定的待處理神經(jīng)元數(shù)量的網(wǎng)絡(luò)輸出變量。
神經(jīng)網(wǎng)絡(luò)具有較高的準(zhǔn)確率,因為它可以構(gòu)建非線性模型并表示變量之間的交叉。另外,神經(jīng)網(wǎng)絡(luò)具有高度的適應(yīng)性,可以接受邏輯、數(shù)字、有序分類、無序分類的變體作為輸入,并且可以廣泛地應(yīng)用于函數(shù)反射、數(shù)值數(shù)組預(yù)測、樣本分類、數(shù)據(jù)/圖表壓縮和圖像識別。
對于SVR、XGBoost以及BPN,使用PLS-Toolbox工具箱實現(xiàn)。
通過決定系數(shù)R2和均方根誤差(Root mean squared error,RMSE)來綜合評價模型的效果。R2越接近于1,RMSE越接近于0,表征模型的預(yù)測精度越高,預(yù)測能力越強。R2和RMSE的計算公式如下:
(1)
(2)
為驗證應(yīng)用機器學(xué)習(xí)技術(shù)建立水文模型來解決水文系列插補延長問題的適用性,選取了位于陜西省安塞縣延河流域的安塞水文站[21](地理坐標(biāo)東經(jīng)109°19′,北緯36°56′)和位于陜西省延安市上砭溝村的棗園水文站[22](地理坐標(biāo)為東經(jīng)109°20′,北緯36°38′)。其中安塞水文站控制流域面積1 334 km2,有1981—2015年實測水文資料。棗園水文站控制流域面積719 km2,有1971—2015年實測水文資料。
利用1991—2015年的2個站點數(shù)據(jù)作為建模集,用以校正模型。1981—1990年的兩站數(shù)據(jù)作為驗證集來驗證及評價模型。
由于安塞水文站與棗園水文站在不同河流上,為了確認兩者之間是否存在相關(guān)關(guān)系。對兩者的數(shù)據(jù)進行相關(guān)性分析,發(fā)現(xiàn)兩者之間的相關(guān)系數(shù)為0.78,其顯著性水平可達P>0.001(極顯著)。由此可以發(fā)現(xiàn),2個站點之間存在一定的相關(guān)關(guān)系,為后續(xù)的研究分析提供了基礎(chǔ)。
利用PLS-Toolbox工具箱,進行編程,將站點數(shù)據(jù)導(dǎo)入。并以1991—2015年的2個站點數(shù)據(jù)建立模型,再用1981—1990年的數(shù)據(jù)來驗證模型效果。具體計算過程在計算機中進行。
圖1 線性模型建模散點圖
圖2 線性模型驗證散點圖
2.4.1支持向量機模型結(jié)果
圖3 支持向量機模型建模散點圖
圖4 支持向量機網(wǎng)格尋優(yōu)結(jié)果圖
圖5 支持向量機模型驗證散點圖
2.4.2XGBoost模型結(jié)果
圖6 XGBoot模型建模散點圖
圖7 XGBoot模型驗證散點圖
2.4.3BP神經(jīng)網(wǎng)絡(luò)模型結(jié)果
圖8 BP神經(jīng)網(wǎng)絡(luò)模型建模散點圖
圖9 BP神經(jīng)網(wǎng)絡(luò)模型驗證散點圖
圖10 不同模型的殘差分布圖
為了便于直觀的對比模型,繪制以下模型殘差分布圖。圖中的散點表示,各個預(yù)測值與實測值的差距,離虛線越遠,表示其偏差越大。對比4幅子圖可以發(fā)現(xiàn),XGBoot模型的殘差分布最廣,其范圍在-500~3 000萬m3之間。線性模型其次,其殘差范圍在-500~2 500萬m3之間。BPN模型與線性模型的效果基本接近,殘差范圍也與其基本相似。所有模型中SVR的效果最佳,其殘差范圍最窄,為-600~1 400萬m3,說明SVR模型更加適用于水文插補延長。此外,從建模效果上比較也可以發(fā)現(xiàn),XGB模型的效果最佳,但是驗證效果較差,說明該模型過擬合,并不適合用于水文插補延長。而其余3個模型中SVR模型其建模效果和驗證效果都較好,相比較而言,模型更穩(wěn)定。
本文將不同類型的機器學(xué)習(xí)模型應(yīng)用于水文徑流系列插補延長,并與傳統(tǒng)的水文插補延長模型進行對比。得到以下結(jié)論:
(3) SVR模型結(jié)合網(wǎng)格尋優(yōu)可以得到有效的水文插補延長模型,其驗證均方根誤差僅為271.88萬m3。