王 盼,陸寶宏,張瀚文,張 巍,孫銀鳳,季 妤
基于隨機森林模型的需水預(yù)測模型及其應(yīng)用
王 盼,陸寶宏,張瀚文,張 巍,孫銀鳳,季 妤
(河海大學(xué)水文水資源學(xué)院,江蘇南京 210098)
為解決需水預(yù)測模型精度問題,嘗試基于隨機森林模型的分類和回歸功能構(gòu)建需水預(yù)測模型。以蘇州市需水量預(yù)測為研究實例,首先應(yīng)用隨機森林模型的分類功能將需水預(yù)測因子分類,經(jīng)計算發(fā)現(xiàn)第一產(chǎn)業(yè)比例、人口、灌溉面積、萬元產(chǎn)值用水量和國民經(jīng)濟生產(chǎn)總值為最重要的解釋變量。在此基礎(chǔ)上,用隨機森林模型的回歸功能對需水進(jìn)行預(yù)測,同時采用相同的訓(xùn)練數(shù)據(jù)建立基于BP神經(jīng)網(wǎng)絡(luò)和RBF神經(jīng)網(wǎng)絡(luò)的需水預(yù)測模型,通過對比3個模型的預(yù)測結(jié)果,發(fā)現(xiàn)隨機森林模型能有效預(yù)測需水量,且精度較高。
需水預(yù)測;隨機森林模型;神經(jīng)網(wǎng)絡(luò)模型;解釋變量;OOB交叉驗證
隨著人口的增加和經(jīng)濟的快速增長,水資源短缺已成為制約國民經(jīng)濟和社會可持續(xù)發(fā)展的瓶頸。研究需水問題,科學(xué)預(yù)測需水量,對環(huán)境和社會經(jīng)濟的協(xié)調(diào)發(fā)展有重要的意義。
傳統(tǒng)的需水預(yù)測方法有時間序列法和相關(guān)分析法。時間序列法主要包括趨勢外推法、隨機模型等,相關(guān)分析法主要包括回歸分析法、彈性系數(shù)法、灰色預(yù)測以及用水定額法。影響需水量的因素較多,且我國需水量數(shù)據(jù)時間系列短,因此用常規(guī)的預(yù)測方法來保證需水預(yù)測精度是比較困難的。近年來有學(xué)者利用人工神經(jīng)網(wǎng)絡(luò)[1-2]、小波神經(jīng)網(wǎng)絡(luò)模型[3]和支持向量機[4]等方法對區(qū)域需水量進(jìn)行預(yù)測。這些方法能以較高精度逼近任何非線性連續(xù)函數(shù)[5],從而通過訓(xùn)練樣本數(shù)據(jù)得到精確的預(yù)測結(jié)果。單分類器的計算精度往往差強人意,且容易引發(fā)過度擬合現(xiàn)象,因此,越來越多的學(xué)者通過集成的方法來提高預(yù)測精度。集成的方法即分類器組合方法。2001年,Breiman[6]將他在1996年提出的Bagging集成學(xué)習(xí)理論和Ho[7]在1998年提出的隨機子空間理論相結(jié)合而提出隨機模型;2007年,有學(xué)者[8]通過對Random Forests進(jìn)行分析,提出了Random Multi-Nomial Logit(RMNL)和Random Naive Bayes(RNB)兩種算法,并進(jìn)行了實驗與SVM進(jìn)行了比較;2008年,該學(xué)者又將MultiNomial Logit和Random Forests這兩種方法結(jié)合起來,實現(xiàn)了一種新的多分類器的模型Random Multi-Nomial Logit(RMNL),通過使用Random Forests彌補了Multi-Nomial Logit方法不能處理大的特征空間的缺點。國內(nèi)有關(guān)隨機森林模型的應(yīng)用集中在生物信息學(xué)[9-10]、醫(yī)學(xué)診斷[11]以及文檔檢索[12]上,對理論的探討還比較少。筆者考慮到影響需水量的因素眾多,采用隨機森林算法構(gòu)建需水預(yù)測模型,并進(jìn)行實例研究。
1.1 隨機森林理論
隨機森林(random forests)模型是一種比較新的機器學(xué)習(xí)模型。經(jīng)典的機器學(xué)習(xí)模型是神經(jīng)網(wǎng)絡(luò),有半個多世紀(jì)的歷史了。神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果精確,但是計算量很大。20世紀(jì)80年代Leo Breiman等[6]發(fā)明了分類樹的算法,通過反復(fù)二分?jǐn)?shù)據(jù)進(jìn)行分類或回歸,使計算量大大降低。2001年Breiman把分類樹組合成隨機森林,在每棵決策樹的構(gòu)建過程中使用了兩次隨機,一是構(gòu)建決策樹時使用的訓(xùn)練樣本是通過bootstrap法在原始數(shù)據(jù)集中隨機獲取的;二是每棵決策樹所使用的解釋變量也是在原有特征集的基礎(chǔ)上隨機獲取,生成很多分類樹,再匯總分類樹的結(jié)果。隨機森林模型在運算量沒有顯著提高的前提下提高了預(yù)測精度。由于隨機森林模型對多線性不敏感,預(yù)測結(jié)果對缺失數(shù)據(jù)和非平衡的數(shù)據(jù)比較穩(wěn)健,可以很好地預(yù)測多達(dá)幾千個解釋變量的作用[13],被譽為當(dāng)前最好的算法之一[14]。
決策樹是隨機森林模型的基礎(chǔ)分類器,其構(gòu)造由一個獨立同分布的隨機向量決定。如果將決策樹看成分類任務(wù)中的一個專家,那么隨機森林模型就是許多專家在一起對某種任務(wù)進(jìn)行分類。隨機森林模型是由多個決策樹{h(X,θk)}組成的分類器,其中θk是獨立同分布的隨機變量。輸入向量X的最終所屬類別由森林中所有決策樹投票決定。
在隨機森林模型中,當(dāng)決策樹的數(shù)目很大時,遵循大數(shù)定律。隨機森林模型不會隨著分類樹的增加而過度擬合,但有一個有限的泛化誤差值,這表明隨機森林模型可以為未知實例預(yù)測提供很好的參考思路。隨機森林模型也可以用來處理回歸問題。有關(guān)隨機森林模型的基本理論的介紹詳見文獻(xiàn)[8]。
1.2 模型的構(gòu)建和參數(shù)選取
文中使用R語言中的Random Forests包構(gòu)建隨機森林分類及回歸模型,使用的函數(shù)主要有Biplot、partialPlot、Random Forests、importance、varImpPlot、predict等。
隨機森林模型的構(gòu)建過程中,預(yù)測性能很大程度上依賴于參數(shù)的選取。為了保證參數(shù)選取完全獨立于測試數(shù)據(jù),降低泛化性,在模型訓(xùn)練的過程中,隨機森林模型使用的是OOB交叉驗證算法。在隨機森林的試驗中,裝袋法(Bagging)和隨機特征選擇并行應(yīng)用。裝袋法中每一個新訓(xùn)練集,都是由原始訓(xùn)練集使用Bootstrapping隨機重復(fù)采樣得到的。應(yīng)用這種方法生成的訓(xùn)練集只能包含原訓(xùn)練集約67%的樣本,其余的樣本作為袋外數(shù)據(jù),這樣就可以用袋外數(shù)據(jù)來評價模型的性能。隨機森林模型對所有袋外樣本的擬合誤差是其預(yù)報誤差的無偏估計,這樣可以保證訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集完全獨立,從而提高預(yù)測精度。
筆者應(yīng)用隨機森林模型的分類功能來評價各解釋變量的重要性。文中的需水量預(yù)測因子是解釋變量,需水量是被解釋變量,構(gòu)建的隨機森林模型可解釋各變量的重要性。對所有檢驗樣本來說,隨機打亂某一解釋變量取值,采用原模型對測試樣本進(jìn)行再次預(yù)測,袋外擬合誤差越大,說明該解釋變量越重要。在解釋變量貢獻(xiàn)度的基礎(chǔ)上,應(yīng)用隨機森林模型的回歸功能進(jìn)行需水預(yù)測。
2.1 蘇州市用水現(xiàn)狀
蘇州市位于長江三角洲、太湖流域腹部,多年平均降水量為1 100 mm,年徑流量的多年平均值為240000萬m3。隨著城市化的發(fā)展,蘇州市工業(yè)用水和生活用水量增長明顯,用水總量從2000年的516060萬m3增至2010年的783 140萬m3。盡管水利部門加大從長江及太湖的引水力度,但水資源短缺仍是制約蘇州市持續(xù)快速發(fā)展的重要因素之一。
2.2 需水預(yù)測因子的選取與解釋
圖1 各解釋變量對需水量的影響
影響需水預(yù)測的因子有很多,綜合考慮社會經(jīng)濟因素,筆者選取人口(a)、灌溉面積(b)、國內(nèi)生產(chǎn)總值(c)、第一產(chǎn)業(yè)比例(d)、第二產(chǎn)業(yè)比例(e)、第三產(chǎn)業(yè)比例(f)、萬元產(chǎn)值用水量(g)以及人均綜合生活用水量(h)8個指標(biāo)。這些指標(biāo)能全面反映蘇州市的需水現(xiàn)狀。由于數(shù)據(jù)預(yù)處理對隨機森林模型的計算結(jié)果基本沒有影響,所以可直接使用指標(biāo)值進(jìn)行計算,但是在使用BP模型和RBF神經(jīng)網(wǎng)絡(luò)模型進(jìn)行需水預(yù)測時,需要對原始數(shù)據(jù)進(jìn)行歸一化處理。這里選取《蘇州市水資源公報》2000—2010年的需水量數(shù)據(jù),其中,將2000—2007年的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),將2008—2010年的數(shù)據(jù)作為測試數(shù)據(jù)。
使用R語言中的程序包來分析解釋變量的重要性。圖1為各解釋變量的部分依賴圖,表明每個解釋變量對需水量的影響,是對每個變量的邊際效應(yīng)的圖形描述。圖2為主成分得分及荷載在主成分空間的散點圖,是變量和記錄在第一、第二主成分上的值。圖3中,精度平均下降率是用來度量去除一個解釋變量后隨機森林分類的準(zhǔn)確度降低的程度,該參數(shù)值越大,則該變量越重要。對于文中的需水預(yù)測模型來講,最重要的解釋變量為第一產(chǎn)業(yè)比例、人口、灌溉面積、萬元產(chǎn)值用水量和國內(nèi)生產(chǎn)總值,在進(jìn)行需水預(yù)測時,應(yīng)注意對這5個變量的預(yù)測精度進(jìn)行控制。
圖2 主成分分析散點圖
圖3 各解釋變量重要性度量
2.3 預(yù)測結(jié)果及誤差分析
考慮到隨機森林模型是一種可以有效避免過度擬合的新型機器學(xué)習(xí)語言,適用于計算長系列數(shù)據(jù),筆者嘗試將其應(yīng)用到短系列數(shù)據(jù)的計算中。為了驗證預(yù)測結(jié)果的可靠性和預(yù)測精度,筆者用相同的訓(xùn)練樣本分別建立了基于BP神經(jīng)網(wǎng)絡(luò)和RBF神經(jīng)網(wǎng)絡(luò)的需水預(yù)測模型,以便進(jìn)行預(yù)測結(jié)果的比較。其中,BP神經(jīng)網(wǎng)絡(luò)模型的網(wǎng)絡(luò)隱含層和輸出層均采用S型函數(shù),而RBF神經(jīng)網(wǎng)絡(luò)的作用函數(shù)為高斯函數(shù)。這兩種模型的預(yù)測過程均是在Matlab中實現(xiàn)的。
利用OOB交叉驗證法得到的隨機森林模型預(yù)測結(jié)果為:決策樹的數(shù)量在取120的時候,模型誤差最小。隨機森林模型計算得到的預(yù)測值和實際需水量的比較結(jié)果見表1。使用隨機森林模型和BP神經(jīng)網(wǎng)絡(luò)模型和RBF神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練數(shù)據(jù)所得到的對比結(jié)果見圖4,3種模型平均相對誤差(絕對值)分別為2.009%、4.588%、3.603%。使用3種模型對2008—2010年的需水預(yù)測結(jié)果的比較見表2。由表2可見,使用隨機森林模型、BP神經(jīng)網(wǎng)絡(luò)模型和RBF神經(jīng)網(wǎng)絡(luò)模型,預(yù)測結(jié)果的平均相對誤差(絕對值)分別為2.318%、4.834%和3.920%。由此可見,隨機森林模型的預(yù)測精度較高,用于需水預(yù)測效果很好,是一種有效的需水預(yù)測方法。不難看出,隨機森林模型也可以應(yīng)用于短系列數(shù)據(jù)的計算中,且預(yù)測精度高于其他兩種模型。
表1 隨機森林(RF)模型的預(yù)測值與實際需水量的比較
圖4 3種需水預(yù)測模型預(yù)測結(jié)果對比
表2 3種模型的預(yù)測結(jié)果與實際需水量的相對誤差
隨機森林模型適用于計算大規(guī)模數(shù)據(jù),而文中由于資料有限,用于計算的樣本偏少,在計算中發(fā)現(xiàn),隨著選取解釋變量個數(shù)的增加,單棵決策樹的強度不會產(chǎn)生很大變化,但樹與樹之間的相關(guān)性會增加;同時,泛化誤差與OBB誤差隨著特征個數(shù)的增加而增大。而根據(jù)Breiman的理論,強度越大且相關(guān)性越小的隨機森林模型預(yù)測結(jié)果越好。樣本過少是導(dǎo)致誤差存在的主要原因,增大樣本容量,增加解釋變量的數(shù)量,可以很大程度提高預(yù)測精度。隨機森林模型是一種有效的估計缺失數(shù)據(jù)的方法,當(dāng)集中有大比例的數(shù)據(jù)缺失時仍然可以保持預(yù)測精度不變。
利用隨機森林模型的特征及其在回歸和分類上的重要應(yīng)用,筆者使用短系列數(shù)據(jù)建立了基于隨機森林模型的需水預(yù)測模型,用于解釋變量的重要性和進(jìn)行需水量的預(yù)測。經(jīng)過獨立數(shù)據(jù)集的驗證,表明所選影響因子能夠較好反映需水量特征,該模型能有效預(yù)測需水量。此外,文中還利用BP神經(jīng)網(wǎng)絡(luò)和RBF神經(jīng)網(wǎng)絡(luò)算法構(gòu)建了預(yù)測模型,3種模型的預(yù)測結(jié)果表明,使用隨機森林模型得到的預(yù)測結(jié)果要優(yōu)于2種神經(jīng)網(wǎng)絡(luò)算法的結(jié)果,同時反映出解釋變量選取的合理性和有效性。
對隨機森林模型的泛化性有嚴(yán)格的數(shù)學(xué)證明,該算法不會過度擬合。比起廣義線性模型,隨機森林模型對數(shù)據(jù)前提條件的要求等要寬松得多,因此其應(yīng)用前景非常廣闊。
[1]雷雨,鄭旭榮,李玉芳,等.神經(jīng)網(wǎng)絡(luò)方法在城市需水量預(yù)測中的應(yīng)用[J].石河子大學(xué)學(xué)報:自然科學(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ù)測中的應(yīng)用[J].成都理工大學(xué)學(xué)報:自然科學(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ù)測中的應(yīng)用[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]劉俊萍,暢明琦.基于支持向量機的需水預(yù)測研究[J].太原理工大學(xué)學(xué)報,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ù)測的隨機森林模型[J].東南大學(xué)學(xué)報:自然科學(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īng)膠質(zhì)瘤特征基因選擇的研究[J].生物物理學(xué)報, 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].山東大學(xué)學(xué)報:理學(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è)科研專項(201201026)
王盼(1989—),女,碩士研究生,研究方向為水資源規(guī)劃與管理。E-mail:hhu_wp@163.com
陸寶宏,副教授。E-mail:lubaohong@126.com