鄔述飛,劉 遠(yuǎn),金 鍇
(湖北省恩施土家族苗族自治州水文水資源勘測(cè)局,湖北 恩施 445000)
用水量是區(qū)域生產(chǎn)生活、生態(tài)環(huán)境用水的總度量,準(zhǔn)確掌握用水情況,對(duì)合理調(diào)配、科學(xué)管理水資源尤為重要[1~2]。恩施位于湖北省經(jīng)濟(jì)、人口、水資源密集地帶,但近幾年來(lái)隨著工業(yè)化發(fā)展區(qū)域用水需求增加,起用水結(jié)構(gòu)也隨著發(fā)生改變。鑒于此,本文擬以恩施地區(qū)為案例,闡釋基于隨機(jī)森林算法的用水量預(yù)測(cè)模型構(gòu)建與方法有效性,并為區(qū)域水資源規(guī)劃與管理提供參考依據(jù)。
隨機(jī)森林(Random Forest,RF)是Breiman等[3]提出的集成多棵決策樹(shù)(Decision tree)模型{h(X,θk),k=1,2,…,}而形成的融合算法。該算法借助隨機(jī)子空間和自助聚集理論,運(yùn)用bootstrap方法從全部特征變量屬性中進(jìn)行隨機(jī)等概率地放回抽樣,對(duì)每個(gè)bootstrap樣本構(gòu)建決策樹(shù),通過(guò)打分尋找得分最高結(jié)果作為分類(lèi)或回歸的結(jié)果[4]。該算法主要流程為:
先利用bootstrap隨抽樣法從原始訓(xùn)練集T={(x1,y1),(x2,y2),…,(xn,yn)}中抽取n個(gè)樣本,記作訓(xùn)練集Tt,進(jìn)行k次抽樣,則有k個(gè)獨(dú)立樣本形成的訓(xùn)練集。
然后對(duì)各bootstrap訓(xùn)練集構(gòu)建回歸決策樹(shù)組合模型,單樹(shù)由根節(jié)點(diǎn)遍歷向下分裂,使其自由生長(zhǎng)而不剪枝處理,k棵樹(shù)集成即為隨機(jī)森林。對(duì)于單棵樹(shù),從隨機(jī)選擇的m個(gè)屬性中選出最優(yōu)屬性進(jìn)行分裂。
生成的單棵樹(shù)模型即為獨(dú)立領(lǐng)域的專家,組合k棵樹(shù)中得分最高的類(lèi)別即為預(yù)測(cè)的結(jié)果。RF回歸預(yù)測(cè)結(jié)果表示為k棵回歸模型的預(yù)測(cè)結(jié)果是k棵決策樹(shù){h(X,θi,i=1,2,...,k)}回歸的均值:
式中:P(x)為隨機(jī)森林組合模型結(jié)果,pi為單棵樹(shù)分類(lèi)模型,I為指示函數(shù),Y為輸出變量[5]。
用水量主要受供水量、用水需求的制約,其中供水量的直接影響因素有水資源總量、降水量等,用水需求則體現(xiàn)為水資源供應(yīng)對(duì)人口、經(jīng)濟(jì)發(fā)展的承載。在借鑒前人研究的基礎(chǔ)上[6],綜合考慮恩施市人口、經(jīng)濟(jì)、水資源環(huán)境等三方面因素,確定用水量預(yù)測(cè)模型的解釋因子,依次為:總?cè)丝跀?shù)(萬(wàn)人)、水資源總量(億 m3)、人均水資源量、d.GDP(億元)、單位 gDP 耗水量、第一產(chǎn)業(yè)占GDP的比重(%)、有效灌溉面積(千hm2)、城市人均日生活用水量(L)、農(nóng)業(yè)人口數(shù)(萬(wàn)人)、第一產(chǎn)業(yè)用水總量(億m3)、第二產(chǎn)業(yè)用水總量 (億m3)、第三產(chǎn)業(yè)用水總量 (億m3)、降水量(mm)。指標(biāo)數(shù)據(jù)的時(shí)間域?yàn)?000年~2015年,從《恩施統(tǒng)計(jì)年鑒》(2001~2015)、《恩施市水資源公報(bào)》(2000~2015) 中提取指標(biāo)原始數(shù)據(jù)。
2.2.1 變量設(shè)置與參數(shù)優(yōu)選
選取的13個(gè)變量分屬不同量綱,不具可比性且其絕對(duì)數(shù)值差異較大,出于預(yù)測(cè)模型精度的考慮,將其進(jìn)行歸一化處理[7]。將所有樣本數(shù)據(jù)劃分為兩部分,2000年~2010年的數(shù)據(jù)為訓(xùn)練樣本,2011年~2015年的數(shù)據(jù)為檢測(cè)樣本,兩類(lèi)樣本中解釋變量作為輸入值,用水量數(shù)據(jù)作為輸出值,在RStudio1.0平臺(tái)上調(diào)用randorForest程序包進(jìn)行編程實(shí)現(xiàn),樣例代碼參見(jiàn)[8]。
2.2.2 預(yù)測(cè)結(jié)果與精度比較
圖1和表1分別為RF算法計(jì)算得到訓(xùn)練樣本和測(cè)試樣本的預(yù)測(cè)結(jié)果。為比較算法優(yōu)越性,另使用RBF、SVM實(shí)施建模預(yù)測(cè)。依圖1可知,3種不同算法均能夠較好擬合用水量變化,對(duì)訓(xùn)練樣本各年份用水量預(yù)測(cè)的相對(duì)誤差介于-0.372億m3~0.464億m3之間,表明訓(xùn)練模型精度可靠。2000年~2010年恩施市用水量總體呈上升趨勢(shì),而于2003年用水量較之于往常年份有所降低,對(duì)這種局部異常 (圖1-a、1-b),SVM和RBF算法未能準(zhǔn)確模擬,RF模型則能夠通過(guò)各解釋變量變化特征捕捉到這一細(xì)節(jié)變化。訓(xùn)練模型統(tǒng)計(jì)顯示,RF、SVM、RBF訓(xùn)練模型的平均絕對(duì)誤差依次為0.78%、0.89%、0.67%。測(cè)試結(jié)果表明,基于RF的預(yù)測(cè)結(jié)果最優(yōu),其平均絕對(duì)誤差僅為0.94%,而基于SVM和RF的預(yù)測(cè)結(jié)果的平均絕對(duì)誤差分別為1.15%、1.58%。綜合來(lái)看,基于RF的用水量預(yù)測(cè)模型精度高、預(yù)測(cè)效果良好,能夠適用于用水量預(yù)測(cè)建模。
圖1 三種預(yù)測(cè)模型訓(xùn)練精度對(duì)比
表1 三種模型測(cè)試精度與相對(duì)誤差
2.2.3 解釋變量重要性分析
在RF的每棵樹(shù)中,使用隨機(jī)抽取的訓(xùn)練自助樣本構(gòu)造決策樹(shù),并計(jì)算未選擇數(shù)據(jù)即袋外數(shù)據(jù)(Out of bag,OOB)對(duì)模型的性能影響,即袋外誤差,然后隨機(jī)對(duì)OOB數(shù)據(jù)全部特征加入噪聲干擾,再次計(jì)算袋外誤差,變量重要性為兩次OOB誤差之差經(jīng)標(biāo)準(zhǔn)化后在所有樹(shù)中的平均值,其值越大,表明該變量對(duì)模型的重要性越大[9]。應(yīng)用randomForest程序包中的importance函數(shù)獲取重要性分值(圖 2),可知農(nóng)業(yè)人口數(shù)(萬(wàn)人)、總?cè)丝跀?shù)(萬(wàn)人)、城市人均日生活用水量(m3)的分值最大,依次為達(dá)4.48、4.05、4.04,表明其對(duì)模型精度具有重要影響;第三產(chǎn)業(yè)用水總量、GDP(億元)、第一產(chǎn)業(yè)占GDP的比重(%)、單位GDP耗水量、第二產(chǎn)業(yè)用水總量(億m3)、第一產(chǎn)業(yè)用水總量(億m3)的重要性分值介于2.93~3.93之間,它們對(duì)模型精度的影響次之;其他變量的重要性分值僅為0.083~0.072左右,表明其對(duì)模型精度貢獻(xiàn)較差,在后續(xù)建模中應(yīng)予以替換。
圖2 解釋變量的重要性
隨機(jī)森林算法能夠較好地?cái)M合2000年~2015年恩施市用水量變化,訓(xùn)練誤差與預(yù)測(cè)誤差均較小,表明該模型具有一定應(yīng)用價(jià)值。用水量預(yù)測(cè)模型受多維因子共同制約,隨機(jī)森林算法能夠排除多維因素非線性的影響,并輸出各因子對(duì)模型精度的影響荷載,這對(duì)于預(yù)測(cè)因子的篩選和模型精度提高具有重要意義?;陔S機(jī)森林算法的用水量預(yù)測(cè)模型較于傳統(tǒng)RBF和SVM算法的精度高,泛化能力強(qiáng),具有一定優(yōu)越性。