王 盼,陸寶宏,張瀚文,張 巍,孫銀鳳,季 妤
基于隨機(jī)森林模型的需水預(yù)測(cè)模型及其應(yīng)用
王 盼,陸寶宏,張瀚文,張 巍,孫銀鳳,季 妤
(河海大學(xué)水文水資源學(xué)院,江蘇南京 210098)
為解決需水預(yù)測(cè)模型精度問題,嘗試基于隨機(jī)森林模型的分類和回歸功能構(gòu)建需水預(yù)測(cè)模型。以蘇州市需水量預(yù)測(cè)為研究實(shí)例,首先應(yīng)用隨機(jī)森林模型的分類功能將需水預(yù)測(cè)因子分類,經(jīng)計(jì)算發(fā)現(xiàn)第一產(chǎn)業(yè)比例、人口、灌溉面積、萬元產(chǎn)值用水量和國民經(jīng)濟(jì)生產(chǎn)總值為最重要的解釋變量。在此基礎(chǔ)上,用隨機(jī)森林模型的回歸功能對(duì)需水進(jìn)行預(yù)測(cè),同時(shí)采用相同的訓(xùn)練數(shù)據(jù)建立基于BP神經(jīng)網(wǎng)絡(luò)和RBF神經(jīng)網(wǎng)絡(luò)的需水預(yù)測(cè)模型,通過對(duì)比3個(gè)模型的預(yù)測(cè)結(jié)果,發(fā)現(xiàn)隨機(jī)森林模型能有效預(yù)測(cè)需水量,且精度較高。
需水預(yù)測(cè);隨機(jī)森林模型;神經(jīng)網(wǎng)絡(luò)模型;解釋變量;OOB交叉驗(yàn)證
隨著人口的增加和經(jīng)濟(jì)的快速增長(zhǎng),水資源短缺已成為制約國民經(jīng)濟(jì)和社會(huì)可持續(xù)發(fā)展的瓶頸。研究需水問題,科學(xué)預(yù)測(cè)需水量,對(duì)環(huán)境和社會(huì)經(jīng)濟(jì)的協(xié)調(diào)發(fā)展有重要的意義。
傳統(tǒng)的需水預(yù)測(cè)方法有時(shí)間序列法和相關(guān)分析法。時(shí)間序列法主要包括趨勢(shì)外推法、隨機(jī)模型等,相關(guān)分析法主要包括回歸分析法、彈性系數(shù)法、灰色預(yù)測(cè)以及用水定額法。影響需水量的因素較多,且我國需水量數(shù)據(jù)時(shí)間系列短,因此用常規(guī)的預(yù)測(cè)方法來保證需水預(yù)測(cè)精度是比較困難的。近年來有學(xué)者利用人工神經(jīng)網(wǎng)絡(luò)[1-2]、小波神經(jīng)網(wǎng)絡(luò)模型[3]和支持向量機(jī)[4]等方法對(duì)區(qū)域需水量進(jìn)行預(yù)測(cè)。這些方法能以較高精度逼近任何非線性連續(xù)函數(shù)[5],從而通過訓(xùn)練樣本數(shù)據(jù)得到精確的預(yù)測(cè)結(jié)果。單分類器的計(jì)算精度往往差強(qiáng)人意,且容易引發(fā)過度擬合現(xiàn)象,因此,越來越多的學(xué)者通過集成的方法來提高預(yù)測(cè)精度。集成的方法即分類器組合方法。2001年,Breiman[6]將他在1996年提出的Bagging集成學(xué)習(xí)理論和Ho[7]在1998年提出的隨機(jī)子空間理論相結(jié)合而提出隨機(jī)模型;2007年,有學(xué)者[8]通過對(duì)Random Forests進(jìn)行分析,提出了Random Multi-Nomial Logit(RMNL)和Random Naive Bayes(RNB)兩種算法,并進(jìn)行了實(shí)驗(yàn)與SVM進(jìn)行了比較;2008年,該學(xué)者又將MultiNomial Logit和Random Forests這兩種方法結(jié)合起來,實(shí)現(xiàn)了一種新的多分類器的模型Random Multi-Nomial Logit(RMNL),通過使用Random Forests彌補(bǔ)了Multi-Nomial Logit方法不能處理大的特征空間的缺點(diǎn)。國內(nèi)有關(guān)隨機(jī)森林模型的應(yīng)用集中在生物信息學(xué)[9-10]、醫(yī)學(xué)診斷[11]以及文檔檢索[12]上,對(duì)理論的探討還比較少。筆者考慮到影響需水量的因素眾多,采用隨機(jī)森林算法構(gòu)建需水預(yù)測(cè)模型,并進(jìn)行實(shí)例研究。
1.1 隨機(jī)森林理論
隨機(jī)森林(random forests)模型是一種比較新的機(jī)器學(xué)習(xí)模型。經(jīng)典的機(jī)器學(xué)習(xí)模型是神經(jīng)網(wǎng)絡(luò),有半個(gè)多世紀(jì)的歷史了。神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果精確,但是計(jì)算量很大。20世紀(jì)80年代Leo Breiman等[6]發(fā)明了分類樹的算法,通過反復(fù)二分?jǐn)?shù)據(jù)進(jìn)行分類或回歸,使計(jì)算量大大降低。2001年Breiman把分類樹組合成隨機(jī)森林,在每棵決策樹的構(gòu)建過程中使用了兩次隨機(jī),一是構(gòu)建決策樹時(shí)使用的訓(xùn)練樣本是通過bootstrap法在原始數(shù)據(jù)集中隨機(jī)獲取的;二是每棵決策樹所使用的解釋變量也是在原有特征集的基礎(chǔ)上隨機(jī)獲取,生成很多分類樹,再匯總分類樹的結(jié)果。隨機(jī)森林模型在運(yùn)算量沒有顯著提高的前提下提高了預(yù)測(cè)精度。由于隨機(jī)森林模型對(duì)多線性不敏感,預(yù)測(cè)結(jié)果對(duì)缺失數(shù)據(jù)和非平衡的數(shù)據(jù)比較穩(wěn)健,可以很好地預(yù)測(cè)多達(dá)幾千個(gè)解釋變量的作用[13],被譽(yù)為當(dāng)前最好的算法之一[14]。
決策樹是隨機(jī)森林模型的基礎(chǔ)分類器,其構(gòu)造由一個(gè)獨(dú)立同分布的隨機(jī)向量決定。如果將決策樹看成分類任務(wù)中的一個(gè)專家,那么隨機(jī)森林模型就是許多專家在一起對(duì)某種任務(wù)進(jìn)行分類。隨機(jī)森林模型是由多個(gè)決策樹{h(X,θk)}組成的分類器,其中θk是獨(dú)立同分布的隨機(jī)變量。輸入向量X的最終所屬類別由森林中所有決策樹投票決定。
在隨機(jī)森林模型中,當(dāng)決策樹的數(shù)目很大時(shí),遵循大數(shù)定律。隨機(jī)森林模型不會(huì)隨著分類樹的增加而過度擬合,但有一個(gè)有限的泛化誤差值,這表明隨機(jī)森林模型可以為未知實(shí)例預(yù)測(cè)提供很好的參考思路。隨機(jī)森林模型也可以用來處理回歸問題。有關(guān)隨機(jī)森林模型的基本理論的介紹詳見文獻(xiàn)[8]。
1.2 模型的構(gòu)建和參數(shù)選取
文中使用R語言中的Random Forests包構(gòu)建隨機(jī)森林分類及回歸模型,使用的函數(shù)主要有Biplot、partialPlot、Random Forests、importance、varImpPlot、predict等。
隨機(jī)森林模型的構(gòu)建過程中,預(yù)測(cè)性能很大程度上依賴于參數(shù)的選取。為了保證參數(shù)選取完全獨(dú)立于測(cè)試數(shù)據(jù),降低泛化性,在模型訓(xùn)練的過程中,隨機(jī)森林模型使用的是OOB交叉驗(yàn)證算法。在隨機(jī)森林的試驗(yàn)中,裝袋法(Bagging)和隨機(jī)特征選擇并行應(yīng)用。裝袋法中每一個(gè)新訓(xùn)練集,都是由原始訓(xùn)練集使用Bootstrapping隨機(jī)重復(fù)采樣得到的。應(yīng)用這種方法生成的訓(xùn)練集只能包含原訓(xùn)練集約67%的樣本,其余的樣本作為袋外數(shù)據(jù),這樣就可以用袋外數(shù)據(jù)來評(píng)價(jià)模型的性能。隨機(jī)森林模型對(duì)所有袋外樣本的擬合誤差是其預(yù)報(bào)誤差的無偏估計(jì),這樣可以保證訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集完全獨(dú)立,從而提高預(yù)測(cè)精度。
筆者應(yīng)用隨機(jī)森林模型的分類功能來評(píng)價(jià)各解釋變量的重要性。文中的需水量預(yù)測(cè)因子是解釋變量,需水量是被解釋變量,構(gòu)建的隨機(jī)森林模型可解釋各變量的重要性。對(duì)所有檢驗(yàn)樣本來說,隨機(jī)打亂某一解釋變量取值,采用原模型對(duì)測(cè)試樣本進(jìn)行再次預(yù)測(cè),袋外擬合誤差越大,說明該解釋變量越重要。在解釋變量貢獻(xiàn)度的基礎(chǔ)上,應(yīng)用隨機(jī)森林模型的回歸功能進(jìn)行需水預(yù)測(cè)。
2.1 蘇州市用水現(xiàn)狀
蘇州市位于長(zhǎng)江三角洲、太湖流域腹部,多年平均降水量為1 100 mm,年徑流量的多年平均值為240000萬m3。隨著城市化的發(fā)展,蘇州市工業(yè)用水和生活用水量增長(zhǎng)明顯,用水總量從2000年的516060萬m3增至2010年的783 140萬m3。盡管水利部門加大從長(zhǎng)江及太湖的引水力度,但水資源短缺仍是制約蘇州市持續(xù)快速發(fā)展的重要因素之一。
2.2 需水預(yù)測(cè)因子的選取與解釋
圖1 各解釋變量對(duì)需水量的影響
影響需水預(yù)測(cè)的因子有很多,綜合考慮社會(huì)經(jīng)濟(jì)因素,筆者選取人口(a)、灌溉面積(b)、國內(nèi)生產(chǎn)總值(c)、第一產(chǎn)業(yè)比例(d)、第二產(chǎn)業(yè)比例(e)、第三產(chǎn)業(yè)比例(f)、萬元產(chǎn)值用水量(g)以及人均綜合生活用水量(h)8個(gè)指標(biāo)。這些指標(biāo)能全面反映蘇州市的需水現(xiàn)狀。由于數(shù)據(jù)預(yù)處理對(duì)隨機(jī)森林模型的計(jì)算結(jié)果基本沒有影響,所以可直接使用指標(biāo)值進(jìn)行計(jì)算,但是在使用BP模型和RBF神經(jīng)網(wǎng)絡(luò)模型進(jìn)行需水預(yù)測(cè)時(shí),需要對(duì)原始數(shù)據(jù)進(jìn)行歸一化處理。這里選取《蘇州市水資源公報(bào)》2000—2010年的需水量數(shù)據(jù),其中,將2000—2007年的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),將2008—2010年的數(shù)據(jù)作為測(cè)試數(shù)據(jù)。
使用R語言中的程序包來分析解釋變量的重要性。圖1為各解釋變量的部分依賴圖,表明每個(gè)解釋變量對(duì)需水量的影響,是對(duì)每個(gè)變量的邊際效應(yīng)的圖形描述。圖2為主成分得分及荷載在主成分空間的散點(diǎn)圖,是變量和記錄在第一、第二主成分上的值。圖3中,精度平均下降率是用來度量去除一個(gè)解釋變量后隨機(jī)森林分類的準(zhǔn)確度降低的程度,該參數(shù)值越大,則該變量越重要。對(duì)于文中的需水預(yù)測(cè)模型來講,最重要的解釋變量為第一產(chǎn)業(yè)比例、人口、灌溉面積、萬元產(chǎn)值用水量和國內(nèi)生產(chǎn)總值,在進(jìn)行需水預(yù)測(cè)時(shí),應(yīng)注意對(duì)這5個(gè)變量的預(yù)測(cè)精度進(jìn)行控制。
圖2 主成分分析散點(diǎn)圖
圖3 各解釋變量重要性度量
2.3 預(yù)測(cè)結(jié)果及誤差分析
考慮到隨機(jī)森林模型是一種可以有效避免過度擬合的新型機(jī)器學(xué)習(xí)語言,適用于計(jì)算長(zhǎng)系列數(shù)據(jù),筆者嘗試將其應(yīng)用到短系列數(shù)據(jù)的計(jì)算中。為了驗(yàn)證預(yù)測(cè)結(jié)果的可靠性和預(yù)測(cè)精度,筆者用相同的訓(xùn)練樣本分別建立了基于BP神經(jīng)網(wǎng)絡(luò)和RBF神經(jīng)網(wǎng)絡(luò)的需水預(yù)測(cè)模型,以便進(jìn)行預(yù)測(cè)結(jié)果的比較。其中,BP神經(jīng)網(wǎng)絡(luò)模型的網(wǎng)絡(luò)隱含層和輸出層均采用S型函數(shù),而RBF神經(jīng)網(wǎng)絡(luò)的作用函數(shù)為高斯函數(shù)。這兩種模型的預(yù)測(cè)過程均是在Matlab中實(shí)現(xiàn)的。
利用OOB交叉驗(yàn)證法得到的隨機(jī)森林模型預(yù)測(cè)結(jié)果為:決策樹的數(shù)量在取120的時(shí)候,模型誤差最小。隨機(jī)森林模型計(jì)算得到的預(yù)測(cè)值和實(shí)際需水量的比較結(jié)果見表1。使用隨機(jī)森林模型和BP神經(jīng)網(wǎng)絡(luò)模型和RBF神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練數(shù)據(jù)所得到的對(duì)比結(jié)果見圖4,3種模型平均相對(duì)誤差(絕對(duì)值)分別為2.009%、4.588%、3.603%。使用3種模型對(duì)2008—2010年的需水預(yù)測(cè)結(jié)果的比較見表2。由表2可見,使用隨機(jī)森林模型、BP神經(jīng)網(wǎng)絡(luò)模型和RBF神經(jīng)網(wǎng)絡(luò)模型,預(yù)測(cè)結(jié)果的平均相對(duì)誤差(絕對(duì)值)分別為2.318%、4.834%和3.920%。由此可見,隨機(jī)森林模型的預(yù)測(cè)精度較高,用于需水預(yù)測(cè)效果很好,是一種有效的需水預(yù)測(cè)方法。不難看出,隨機(jī)森林模型也可以應(yīng)用于短系列數(shù)據(jù)的計(jì)算中,且預(yù)測(cè)精度高于其他兩種模型。
表1 隨機(jī)森林(RF)模型的預(yù)測(cè)值與實(shí)際需水量的比較
圖4 3種需水預(yù)測(cè)模型預(yù)測(cè)結(jié)果對(duì)比
表2 3種模型的預(yù)測(cè)結(jié)果與實(shí)際需水量的相對(duì)誤差
隨機(jī)森林模型適用于計(jì)算大規(guī)模數(shù)據(jù),而文中由于資料有限,用于計(jì)算的樣本偏少,在計(jì)算中發(fā)現(xiàn),隨著選取解釋變量個(gè)數(shù)的增加,單棵決策樹的強(qiáng)度不會(huì)產(chǎn)生很大變化,但樹與樹之間的相關(guān)性會(huì)增加;同時(shí),泛化誤差與OBB誤差隨著特征個(gè)數(shù)的增加而增大。而根據(jù)Breiman的理論,強(qiáng)度越大且相關(guān)性越小的隨機(jī)森林模型預(yù)測(cè)結(jié)果越好。樣本過少是導(dǎo)致誤差存在的主要原因,增大樣本容量,增加解釋變量的數(shù)量,可以很大程度提高預(yù)測(cè)精度。隨機(jī)森林模型是一種有效的估計(jì)缺失數(shù)據(jù)的方法,當(dāng)集中有大比例的數(shù)據(jù)缺失時(shí)仍然可以保持預(yù)測(cè)精度不變。
利用隨機(jī)森林模型的特征及其在回歸和分類上的重要應(yīng)用,筆者使用短系列數(shù)據(jù)建立了基于隨機(jī)森林模型的需水預(yù)測(cè)模型,用于解釋變量的重要性和進(jìn)行需水量的預(yù)測(cè)。經(jīng)過獨(dú)立數(shù)據(jù)集的驗(yàn)證,表明所選影響因子能夠較好反映需水量特征,該模型能有效預(yù)測(cè)需水量。此外,文中還利用BP神經(jīng)網(wǎng)絡(luò)和RBF神經(jīng)網(wǎng)絡(luò)算法構(gòu)建了預(yù)測(cè)模型,3種模型的預(yù)測(cè)結(jié)果表明,使用隨機(jī)森林模型得到的預(yù)測(cè)結(jié)果要優(yōu)于2種神經(jīng)網(wǎng)絡(luò)算法的結(jié)果,同時(shí)反映出解釋變量選取的合理性和有效性。
對(duì)隨機(jī)森林模型的泛化性有嚴(yán)格的數(shù)學(xué)證明,該算法不會(huì)過度擬合。比起廣義線性模型,隨機(jī)森林模型對(duì)數(shù)據(jù)前提條件的要求等要寬松得多,因此其應(yīng)用前景非常廣闊。
[1]雷雨,鄭旭榮,李玉芳,等.神經(jīng)網(wǎng)絡(luò)方法在城市需水量預(yù)測(cè)中的應(yīng)用[J].石河子大學(xué)學(xué)報(bào):自然科學(xué)版,2006 (1):22-25.(LEI Yu,ZHENG Xurong,LI Yufang,et al. Application of neural network methods on the urban water demand forecasting[J].Journal of Shihezi University:Natural Science,2006(1):22-25.(in Chinese))
[2]龍訓(xùn)建,錢鞠,梁川.基于主成分分析的BP神經(jīng)網(wǎng)絡(luò)及其在需水預(yù)測(cè)中的應(yīng)用[J].成都理工大學(xué)學(xué)報(bào):自然科學(xué)版,2010,37(2):206-210.(LONG Xunjian,QIAN Ju,LIANG Chuan.Water demand forecast model of BP neutral networks based on principle component analysis [J].Journal of Chengdu University of Technology:Science &Technology Edition,2010,37(2):206-210.(in Chinese))
[3]羅利民,方浩,仲躍,等.小波神經(jīng)網(wǎng)絡(luò)算法在區(qū)域需水預(yù)測(cè)中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2006(3):200-201.(LUO Limin,FANG Hao,ZHONG Yue,et al.The algorithm of wavelet neural network and its application to area water demand prediction[J].Computer Engineering and Applications,2006(3):200-201.(in Chinese))
[4]劉俊萍,暢明琦.基于支持向量機(jī)的需水預(yù)測(cè)研究[J].太原理工大學(xué)學(xué)報(bào),2008(3):299-302.(LIU Junping, CHANG Mingqi.Water demand prediction model based on support vector machine[J].Journal of Taiyuan University of Technology,2008(3):299-302.(in Chinese))
[5]LU B,GU H,XIE Z,et al.Stochastic simulation for determining the design flood of cascade reservoir systems [J].Hydrology Research,2012,43(1/2):54-63.
[6]BREIMAN L.Bagging predictors[J].Machine Learning, 1996,24(2):123-140.
[7]HO T K.Random subspace method for constructing decision forests[J].IEEE TransactionsonPattern Analysis and Machine Intelligence,1998,20(8):832-844.
[8]BREIMAN L.Random forests[J].Machine Learning, 2001,45(1):5-32.
[9]PRINZIE A,VAN DEN POEL D.Random forests for multiclass classification:random multinomial logit[J]. Expert Systems with Applications,2008,34(3):1721-1732.
[10]馬昕,郭靜,孫嘯.蛋白質(zhì)中RNA-結(jié)合殘基預(yù)測(cè)的隨機(jī)森林模型[J].東南大學(xué)學(xué)報(bào):自然科學(xué)版,2012(1):50-54.(MA Xin,GUO Jing,SUN Xiao.Prediction of RNA-binding residues in proteins using random forest [J].Journal of Southeast University:Natural Science Edition,2012(1):50-54.(in Chinese))
[11]來海鋒,韓斌,厲力華,等.基于集成類隨機(jī)森林方法的神經(jīng)膠質(zhì)瘤特征基因選擇的研究[J].生物物理學(xué)報(bào), 2010(9):833-845.(LAI Haifeng,HAN Bin,LI Lihua,et al.An intefrated semi-random forests based approach to geneselectionforgliomaclassification[J].Acta Biophysica Sinica,2010(9):833-845.(in Chinese))
[12]張華偉,王明文,甘麗新.基于隨機(jī)森林的文本分類模型研究[J].山東大學(xué)學(xué)報(bào):理學(xué)版,2006(3):139-143. (ZHANGHuawei,WANGMingwen,GANLixin. Automatic text classification model based on random forest [J].Journal of Shandong University:Natural Science, 2006(3):139-143.(in Chinese))
[13]BREIMAN L.Statistical modeling:the two cultures[J]. Statistical Science,2001,16(3):199-215.
[14]IVERSON L R,PRASAD A M,MATTHEWS S N,et al. Estimating potential habitat for 134 eastern US tree species under six climate scenarios[J].Forest Ecology and Management,2008,254(3):390-406.
Water demand prediction model based on random forests model and its application
WANG Pan,LU Baohong,ZHANG Hanwen,ZHANG Wei,SUN Yinfeng,JI Yu
(College of Hydrology and Water Resources,Hohai University,Nanjing 210098,China)
In order to improve the accuracy of a water demand prediction model,we attempted to use the classification and regression functions of the random forests model to construct a water demand prediction model. Taking the water demand forecast in Suzhou City as a case study,we used the classification function to classify the water demand prediction factors,and found that the most significant explaining variables were the primary industrial structure,population,irrigation area,water use per 10 000 yuan,and GDP.On this basis,we used the regression function to predict the water demand,and used the same training data to construct the water demand prediction model based on the BP neural network and RBF neural network models.Through comparison of the prediction results of the three models,we drew the conclusions that the random forests model can effectively forecast the water demand,and it has higher precision than the other two models.
water demand prediction;random forests model;neural network model;explaining variable;OOB cross validation
P333.9
A
1004-6933(2014)01-0034-04
201304-10 編輯:彭桃英)
10.3969/j.issn.1004-6933.2014.01.007
國家自然科學(xué)基金(NSFC-50979023);水利部公益性行業(yè)科研專項(xiàng)(201201026)
王盼(1989—),女,碩士研究生,研究方向?yàn)樗Y源規(guī)劃與管理。E-mail:hhu_wp@163.com
陸寶宏,副教授。E-mail:lubaohong@126.com