(河南省南陽水文水資源勘測(cè)局,河南 南陽 473000)
徑流預(yù)報(bào)是水利水電工程設(shè)計(jì)、施工和運(yùn)行管理的重要依據(jù),在防洪減災(zāi)、水資源優(yōu)化配置等方面發(fā)揮著顯著的作用[1]。因此準(zhǔn)確有效地延長徑流預(yù)見期、提高徑流預(yù)報(bào)精度有著至關(guān)重要的意義[2-3]。目前,水文學(xué)者對(duì)徑流及其影響因子的關(guān)系進(jìn)行了大量的研究[4-6],常用的有多元回歸模型、逐步回歸模型、最小二乘法等,但是受天文、氣候、植被、地質(zhì)地貌等因素的影響,水文預(yù)報(bào)呈現(xiàn)出隨機(jī)性、高維性、模糊性等特點(diǎn)[7]。隨機(jī)森林回歸(Random Forest Regression,RFR)算法是由L. Breiman等[8]于2001年共同提出的一種基于決策樹的集成學(xué)習(xí)算法,可以同時(shí)處理連續(xù)、離散屬性,具有運(yùn)行效率高、防止過擬合、強(qiáng)穩(wěn)健性和抗噪性等優(yōu)點(diǎn),但是該方法在水文領(lǐng)域應(yīng)用較少。因此,本文選取1970~2010年西峽水文站年降水量、年蒸發(fā)量、年平均流量、年均氣溫、年均相對(duì)濕度和年均氣壓作為預(yù)報(bào)因子,基于R語言構(gòu)建隨機(jī)森林回歸算法,建立徑流預(yù)測(cè)模型,為實(shí)際工程中徑流預(yù)測(cè)問題的研究提供技術(shù)支撐。
本文的分析數(shù)據(jù)主要來源于西峽水文站1970~2010年的水文及氣象數(shù)據(jù),主要包括流量、徑流量、降水量、蒸發(fā)量、氣溫、相對(duì)濕度和氣壓等資料。西峽水文站系長江流域丹江水系老灌河干流上的主要控制站,為國家級(jí)一類站,控制流域面積3 418 km2,區(qū)間干流長度165 km,多年來平均降水量846 mm。
(2)隨機(jī)子空間。在構(gòu)建回歸決策樹的過程中,每個(gè)分裂節(jié)點(diǎn)在特征空間中隨機(jī)選擇若干特征構(gòu)建特征子空間,并選出最優(yōu)特征子空間進(jìn)行分裂,保證樹的獨(dú)立性和隨機(jī)性。在RFR中,樹的個(gè)數(shù)(ntree)和隨機(jī)特征數(shù)(mtry)決定著模型的最終預(yù)測(cè)能力。
1.2.1 預(yù)報(bào)模型構(gòu)建
(1)樣本劃分。以選取的6個(gè)預(yù)報(bào)因子作為解釋變量,以西峽水文站年徑流作為目標(biāo)變量,劃分1970~2000年數(shù)據(jù)為訓(xùn)練樣本,2000~2010年數(shù)據(jù)為驗(yàn)證樣本,采用訓(xùn)練樣本構(gòu)建預(yù)報(bào)模型,利用檢驗(yàn)樣本對(duì)模型預(yù)報(bào)精度進(jìn)行評(píng)價(jià)。
(2)預(yù)報(bào)模型構(gòu)建?;赗語言的randomForest函數(shù)構(gòu)建隨機(jī)森林模型[9],其中mtry默認(rèn)為輸入變量的1/3,本文選取變量有6個(gè),則mtry值取2。通過實(shí)驗(yàn)得到不同決策樹個(gè)數(shù)的模型誤差與ntree的關(guān)系(如圖1所示),模型錯(cuò)誤率隨著ntree的增加逐漸降低,錯(cuò)誤率在ntree為300時(shí)達(dá)到最低(2.92%),之后隨著ntree值的增加,模型的錯(cuò)誤率仍保持較低且穩(wěn)定的狀態(tài)。該特征充分證明了RFR算法具有防止過擬合的能力。
圖1 不同ntree對(duì)應(yīng)的模型錯(cuò)誤率
考慮到模型的精度和運(yùn)算效率問題,實(shí)驗(yàn)最終選擇mtry=2,ntree=300進(jìn)行建模。
1.2.2 模型變量重要性評(píng)價(jià)
RFR通過計(jì)算解釋方差百分比(variance explained)來評(píng)價(jià)模型的預(yù)測(cè)能力。用方差增量(increase in mean squared error,IncMSE)以及節(jié)點(diǎn)純度增量(increase in node purity, IncNodePurity)兩個(gè)指標(biāo)來定性衡量特征變量對(duì)目標(biāo)變量的重要性。IncMSE為采用隨機(jī)變量替換某一變量對(duì)模型預(yù)測(cè)結(jié)果的影響,若該隨機(jī)變量使方差顯著改變,則表示原變量相當(dāng)重要;IncNodePurity則利用同質(zhì)性增加原理來衡量變量的重要性[9]。
1.2.3 模型評(píng)價(jià)與檢驗(yàn)
本文通過評(píng)價(jià)模型的擬合效果和檢驗(yàn)?zāi)P皖A(yù)測(cè)結(jié)果來評(píng)價(jià)模型的預(yù)測(cè)能力。通過計(jì)算RFR模型的決定系數(shù)(R2)和均方根誤差(RMSE)來評(píng)價(jià)模型的擬合效果[10]。
(1)
(2)
分別對(duì)RFR模型預(yù)測(cè)結(jié)果進(jìn)行檢驗(yàn),通過計(jì)算總體相對(duì)誤差(Rs)、平均相對(duì)誤差(E)、平均相對(duì)誤差絕對(duì)值(E′)3個(gè)統(tǒng)計(jì)量指標(biāo)以及精度P來評(píng)價(jià)模型的預(yù)測(cè)能力[10]。
(3)
(4)
(5)
(6)
隨機(jī)森林算法可以用來評(píng)估所選特征變量的重要性,有效避免了一般回歸問題面臨的多元共線性問題[11]。本文特征變量的重要性評(píng)價(jià)如表1所示??梢钥闯瞿昶骄髁?、年蒸發(fā)量、年降水量、年平均相對(duì)濕度對(duì)于徑流模型的預(yù)報(bào)有較大的貢獻(xiàn)。
表1 RFR模型變量重要性評(píng)價(jià) %
2.2.1 模型評(píng)價(jià)
通過實(shí)驗(yàn)得到預(yù)測(cè)模型的均方根誤差(RMSE)為 0.0382,決定系數(shù)(R2)為0.89,可知模型預(yù)測(cè)精度較好。
2.2.2 模型檢驗(yàn)
RFR模型預(yù)測(cè)結(jié)果如表2所示,檢驗(yàn)數(shù)據(jù)的平均相對(duì)誤差在16%以內(nèi),精度較高。
表2 徑流量模型預(yù)測(cè)檢驗(yàn)結(jié)果
通過計(jì)算模型偏差統(tǒng)計(jì)量評(píng)價(jià)模型的預(yù)測(cè)能力,結(jié)果如表3所示,可以看出模型預(yù)報(bào)能力較好。
表3 模型總體預(yù)測(cè)結(jié)果檢驗(yàn)
(1)本文建立的RFR徑流預(yù)報(bào)模型R2為 0.89,RMSE為 0.038 2,模型的擬合效果較好;模型預(yù)測(cè)結(jié)果的總相對(duì)誤差為0.034,預(yù)測(cè)精度P為91.52%。綜上表明本文構(gòu)建的RFR徑流預(yù)報(bào)模型預(yù)報(bào)能力較好。
(2)在多樣本、多指標(biāo)、復(fù)雜的水文預(yù)報(bào)問題處理中,RFR算法可以評(píng)估各個(gè)特征變量的重要性,對(duì)離群值不敏感,在隨機(jī)干擾較多的情況下表現(xiàn)穩(wěn)健,且不易產(chǎn)生過度擬合。而且RFR算法包含估計(jì)缺失值的算法,在水文資料存在缺失的情況下(1971~1975年有資料缺失)能夠彌補(bǔ)缺失值,使預(yù)測(cè)結(jié)果仍可維持較高的精度。