王 盼,陸寶宏,張瀚文,張 巍,孫銀鳳,季 妤
基于隨機森林模型的需水預測模型及其應用
王 盼,陸寶宏,張瀚文,張 巍,孫銀鳳,季 妤
(河海大學水文水資源學院,江蘇南京 210098)
為解決需水預測模型精度問題,嘗試基于隨機森林模型的分類和回歸功能構建需水預測模型。以蘇州市需水量預測為研究實例,首先應用隨機森林模型的分類功能將需水預測因子分類,經計算發現第一產業比例、人口、灌溉面積、萬元產值用水量和國民經濟生產總值為最重要的解釋變量。在此基礎上,用隨機森林模型的回歸功能對需水進行預測,同時采用相同的訓練數據建立基于BP神經網絡和RBF神經網絡的需水預測模型,通過對比3個模型的預測結果,發現隨機森林模型能有效預測需水量,且精度較高。
需水預測;隨機森林模型;神經網絡模型;解釋變量;OOB交叉驗證
隨著人口的增加和經濟的快速增長,水資源短缺已成為制約國民經濟和社會可持續發展的瓶頸。研究需水問題,科學預測需水量,對環境和社會經濟的協調發展有重要的意義。
傳統的需水預測方法有時間序列法和相關分析法。時間序列法主要包括趨勢外推法、隨機模型等,相關分析法主要包括回歸分析法、彈性系數法、灰色預測以及用水定額法。影響需水量的因素較多,且我國需水量數據時間系列短,因此用常規的預測方法來保證需水預測精度是比較困難的。近年來有學者利用人工神經網絡[1-2]、小波神經網絡模型[3]和支持向量機[4]等方法對區域需水量進行預測。這些方法能以較高精度逼近任何非線性連續函數[5],從而通過訓練樣本數據得到精確的預測結果。單分類器的計算精度往往差強人意,且容易引發過度擬合現象,因此,越來越多的學者通過集成的方法來提高預測精度。集成的方法即分類器組合方法。2001年,Breiman[6]將他在1996年提出的Bagging集成學習理論和Ho[7]在1998年提出的隨機子空間理論相結合而提出隨機模型;2007年,有學者[8]通過對Random Forests進行分析,提出了Random Multi-Nomial Logit(RMNL)和Random Naive Bayes(RNB)兩種算法,并進行了實驗與SVM進行了比較;2008年,該學者又將MultiNomial Logit和Random Forests這兩種方法結合起來,實現了一種新的多分類器的模型Random Multi-Nomial Logit(RMNL),通過使用Random Forests彌補了Multi-Nomial Logit方法不能處理大的特征空間的缺點。國內有關隨機森林模型的應用集中在生物信息學[9-10]、醫學診斷[11]以及文檔檢索[12]上,對理論的探討還比較少。筆者考慮到影響需水量的因素眾多,采用隨機森林算法構建需水預測模型,并進行實例研究。
1.1 隨機森林理論
隨機森林(random forests)模型是一種比較新的機器學習模型。經典的機器學習模型是神經網絡,有半個多世紀的歷史了。神經網絡預測結果精確,但是計算量很大。20世紀80年代Leo Breiman等[6]發明了分類樹的算法,通過反復二分數據進行分類或回歸,使計算量大大降低。2001年Breiman把分類樹組合成隨機森林,在每棵決策樹的構建過程中使用了兩次隨機,一是構建決策樹時使用的訓練樣本是通過bootstrap法在原始數據集中隨機獲取的;二是每棵決策樹所使用的解釋變量也是在原有特征集的基礎上隨機獲取,生成很多分類樹,再匯總分類樹的結果。隨機森林模型在運算量沒有顯著提高的前提下提高了預測精度。由于隨機森林模型對多線性不敏感,預測結果對缺失數據和非平衡的數據比較穩健,可以很好地預測多達幾千個解釋變量的作用[13],被譽為當前最好的算法之一[14]。
決策樹是隨機森林模型的基礎分類器,其構造由一個獨立同分布的隨機向量決定。如果將決策樹看成分類任務中的一個專家,那么隨機森林模型就是許多專家在一起對某種任務進行分類。隨機森林模型是由多個決策樹{h(X,θk)}組成的分類器,其中θk是獨立同分布的隨機變量。輸入向量X的最終所屬類別由森林中所有決策樹投票決定。
在隨機森林模型中,當決策樹的數目很大時,遵循大數定律。隨機森林模型不會隨著分類樹的增加而過度擬合,但有一個有限的泛化誤差值,這表明隨機森林模型可以為未知實例預測提供很好的參考思路。隨機森林模型也可以用來處理回歸問題。有關隨機森林模型的基本理論的介紹詳見文獻[8]。
1.2 模型的構建和參數選取
文中使用R語言中的Random Forests包構建隨機森林分類及回歸模型,使用的函數主要有Biplot、partialPlot、Random Forests、importance、varImpPlot、predict等。
隨機森林模型的構建過程中,預測性能很大程度上依賴于參數的選取。為了保證參數選取完全獨立于測試數據,降低泛化性,在模型訓練的過程中,隨機森林模型使用的是OOB交叉驗證算法。在隨機森林的試驗中,裝袋法(Bagging)和隨機特征選擇并行應用。裝袋法中每一個新訓練集,都是由原始訓練集使用Bootstrapping隨機重復采樣得到的。應用這種方法生成的訓練集只能包含原訓練集約67%的樣本,其余的樣本作為袋外數據,這樣就可以用袋外數據來評價模型的性能。隨機森林模型對所有袋外樣本的擬合誤差是其預報誤差的無偏估計,這樣可以保證訓練數據集和測試數據集完全獨立,從而提高預測精度。
筆者應用隨機森林模型的分類功能來評價各解釋變量的重要性。文中的需水量預測因子是解釋變量,需水量是被解釋變量,構建的隨機森林模型可解釋各變量的重要性。對所有檢驗樣本來說,隨機打亂某一解釋變量取值,采用原模型對測試樣本進行再次預測,袋外擬合誤差越大,說明該解釋變量越重要。在解釋變量貢獻度的基礎上,應用隨機森林模型的回歸功能進行需水預測。
2.1 蘇州市用水現狀
蘇州市位于長江三角洲、太湖流域腹部,多年平均降水量為1 100 mm,年徑流量的多年平均值為240000萬m3。隨著城市化的發展,蘇州市工業用水和生活用水量增長明顯,用水總量從2000年的516060萬m3增至2010年的783 140萬m3。盡管水利部門加大從長江及太湖的引水力度,但水資源短缺仍是制約蘇州市持續快速發展的重要因素之一。
2.2 需水預測因子的選取與解釋

圖1 各解釋變量對需水量的影響
影響需水預測的因子有很多,綜合考慮社會經濟因素,筆者選取人口(a)、灌溉面積(b)、國內生產總值(c)、第一產業比例(d)、第二產業比例(e)、第三產業比例(f)、萬元產值用水量(g)以及人均綜合生活用水量(h)8個指標。這些指標能全面反映蘇州市的需水現狀。由于數據預處理對隨機森林模型的計算結果基本沒有影響,所以可直接使用指標值進行計算,但是在使用BP模型和RBF神經網絡模型進行需水預測時,需要對原始數據進行歸一化處理。這里選取《蘇州市水資源公報》2000—2010年的需水量數據,其中,將2000—2007年的數據作為訓練數據,將2008—2010年的數據作為測試數據。
使用R語言中的程序包來分析解釋變量的重要性。圖1為各解釋變量的部分依賴圖,表明每個解釋變量對需水量的影響,是對每個變量的邊際效應的圖形描述。圖2為主成分得分及荷載在主成分空間的散點圖,是變量和記錄在第一、第二主成分上的值。圖3中,精度平均下降率是用來度量去除一個解釋變量后隨機森林分類的準確度降低的程度,該參數值越大,則該變量越重要。對于文中的需水預測模型來講,最重要的解釋變量為第一產業比例、人口、灌溉面積、萬元產值用水量和國內生產總值,在進行需水預測時,應注意對這5個變量的預測精度進行控制。

圖2 主成分分析散點圖

圖3 各解釋變量重要性度量
2.3 預測結果及誤差分析
考慮到隨機森林模型是一種可以有效避免過度擬合的新型機器學習語言,適用于計算長系列數據,筆者嘗試將其應用到短系列數據的計算中。為了驗證預測結果的可靠性和預測精度,筆者用相同的訓練樣本分別建立了基于BP神經網絡和RBF神經網絡的需水預測模型,以便進行預測結果的比較。其中,BP神經網絡模型的網絡隱含層和輸出層均采用S型函數,而RBF神經網絡的作用函數為高斯函數。這兩種模型的預測過程均是在Matlab中實現的。
利用OOB交叉驗證法得到的隨機森林模型預測結果為:決策樹的數量在取120的時候,模型誤差最小。隨機森林模型計算得到的預測值和實際需水量的比較結果見表1。使用隨機森林模型和BP神經網絡模型和RBF神經網絡模型訓練數據所得到的對比結果見圖4,3種模型平均相對誤差(絕對值)分別為2.009%、4.588%、3.603%。使用3種模型對2008—2010年的需水預測結果的比較見表2。由表2可見,使用隨機森林模型、BP神經網絡模型和RBF神經網絡模型,預測結果的平均相對誤差(絕對值)分別為2.318%、4.834%和3.920%。由此可見,隨機森林模型的預測精度較高,用于需水預測效果很好,是一種有效的需水預測方法。不難看出,隨機森林模型也可以應用于短系列數據的計算中,且預測精度高于其他兩種模型。

表1 隨機森林(RF)模型的預測值與實際需水量的比較

圖4 3種需水預測模型預測結果對比

表2 3種模型的預測結果與實際需水量的相對誤差
隨機森林模型適用于計算大規模數據,而文中由于資料有限,用于計算的樣本偏少,在計算中發現,隨著選取解釋變量個數的增加,單棵決策樹的強度不會產生很大變化,但樹與樹之間的相關性會增加;同時,泛化誤差與OBB誤差隨著特征個數的增加而增大。而根據Breiman的理論,強度越大且相關性越小的隨機森林模型預測結果越好。樣本過少是導致誤差存在的主要原因,增大樣本容量,增加解釋變量的數量,可以很大程度提高預測精度。隨機森林模型是一種有效的估計缺失數據的方法,當集中有大比例的數據缺失時仍然可以保持預測精度不變。
利用隨機森林模型的特征及其在回歸和分類上的重要應用,筆者使用短系列數據建立了基于隨機森林模型的需水預測模型,用于解釋變量的重要性和進行需水量的預測。經過獨立數據集的驗證,表明所選影響因子能夠較好反映需水量特征,該模型能有效預測需水量。此外,文中還利用BP神經網絡和RBF神經網絡算法構建了預測模型,3種模型的預測結果表明,使用隨機森林模型得到的預測結果要優于2種神經網絡算法的結果,同時反映出解釋變量選取的合理性和有效性。
對隨機森林模型的泛化性有嚴格的數學證明,該算法不會過度擬合。比起廣義線性模型,隨機森林模型對數據前提條件的要求等要寬松得多,因此其應用前景非常廣闊。
[1]雷雨,鄭旭榮,李玉芳,等.神經網絡方法在城市需水量預測中的應用[J].石河子大學學報:自然科學版,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]龍訓建,錢鞠,梁川.基于主成分分析的BP神經網絡及其在需水預測中的應用[J].成都理工大學學報:自然科學版,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].計算機工程與應用,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].太原理工大學學報,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]馬昕,郭靜,孫嘯.蛋白質中RNA-結合殘基預測的隨機森林模型[J].東南大學學報:自然科學版,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].生物物理學報, 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].山東大學學報:理學版,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
國家自然科學基金(NSFC-50979023);水利部公益性行業科研專項(201201026)
王盼(1989—),女,碩士研究生,研究方向為水資源規劃與管理。E-mail:hhu_wp@163.com
陸寶宏,副教授。E-mail:lubaohong@126.com