国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于集成學(xué)習(xí)的房價預(yù)測模型

2017-11-14 16:36楊博文曹布陽
電腦知識與技術(shù) 2017年29期
關(guān)鍵詞:隨機森林

楊博文+曹布陽

摘要:隨著國民生活水平的提高,人們對房產(chǎn)的需求不斷增加,對房價的關(guān)注度也持續(xù)變高。房價作為多指標(biāo)影響因子,受到很多條件的影響[2-4][11]?,F(xiàn)有房價預(yù)測模型多屬于單一預(yù)測算法,預(yù)測精度不理想,當(dāng)數(shù)據(jù)噪聲較大時又容易出現(xiàn)過擬合現(xiàn)象。針對這些問題,提出基于集成學(xué)習(xí)的房價預(yù)測模型。選用預(yù)測效果較好的Extra Trees,Random Forest,GBDT,XGB算法作為基礎(chǔ)預(yù)測模型,分別訓(xùn)練并對四種基礎(chǔ)模型進行stacking[1][5]集成,最終得到集成學(xué)習(xí)的房價預(yù)測模型。在加州房價數(shù)據(jù)集上試驗表明,本方法相比于單一預(yù)測模型能夠有效提高預(yù)測的準(zhǔn)確率及穩(wěn)定性,證實了本模型的有效性。

關(guān)鍵詞:集成學(xué)習(xí);房價預(yù)測;極度隨機樹; 隨機森林;GBDT;XGB; Stacking

中圖分類號:TP391 文獻標(biāo)識碼:A 文章編號:1009-3044(2017)29-0191-04

1 概述

房地產(chǎn)不僅是國民經(jīng)濟的支柱產(chǎn)業(yè),更和民生問題密不可分,隨著房產(chǎn)越炒越熱,人們對于房價的關(guān)注度也持續(xù)變高,因此能夠較為精準(zhǔn)地對房價進行預(yù)測也變得越來越有意義。房價作為多指標(biāo)影響因子,不僅受時間,區(qū)域的影響,房屋年齡、附近地理條件、人文、交通等等因素也同樣會對房價產(chǎn)生不同程度的影響?,F(xiàn)有的預(yù)測模型多屬于單一預(yù)測算法預(yù)測,預(yù)測精度并不理想,如人工神經(jīng)網(wǎng)絡(luò),當(dāng)數(shù)據(jù)量不夠龐大時預(yù)測效果得不到保證;而簡單的集成模型如隨機森林,當(dāng)噪音較大時會出現(xiàn)過擬合,對于不同級別的屬性的數(shù)據(jù),級別劃分較多的屬性也會對隨機森林產(chǎn)生很大的影響?;谝陨蠁栴},本研究提出一種基于集成學(xué)習(xí)的房價預(yù)測模型,該模型集成了多個單一集成預(yù)測模型,包括極度隨機樹(ET), 隨機森林(RF), GBDT, XGB。利用集成學(xué)習(xí)方法中的stacking集成方法,首先對數(shù)據(jù)集進行劃分,利用每個預(yù)測模型(學(xué)習(xí)器)對房價特征進行提取并在第一個訓(xùn)練集分別訓(xùn)練,在第二個訓(xùn)練集上測試這幾個學(xué)習(xí)器,把得到的測試結(jié)果作為輸入,正確回應(yīng)作為輸出,訓(xùn)練一個高層學(xué)習(xí)器作為我們最終的預(yù)測模型。實驗采用加州房價數(shù)據(jù)進行訓(xùn)練與預(yù)測,通過不斷訓(xùn)練和調(diào)參,利用均方誤差對單一預(yù)測模型與基于集成學(xué)習(xí)的房價預(yù)測模型進行誤差對比分析,實驗結(jié)果較為理想,證明了本研究方法的有效性和可行性。

1.1 相關(guān)技術(shù)及現(xiàn)狀簡介

本研究主要使用到四種基本預(yù)測模型,分別是Extra Trees,RF,GBDT,XGB。但現(xiàn)存的這四種較優(yōu)的預(yù)測模型具有優(yōu)點的同時也存在著不足:

1.1.1 隨機森林模型[7]

隨機森林是以決策樹為基本單元,通過集成學(xué)習(xí)的思想將多棵樹集成的一種算法。

相比于簡單的決策樹,隨機森林有以下幾個優(yōu)點:

1) 在當(dāng)前的很多數(shù)據(jù)集上,相比其他算法有很大的優(yōu)勢,表現(xiàn)良好;

2) 由于特征子集是隨機選擇的,因此它能夠處理很高維度的數(shù)據(jù),并且不用做特征選擇;

3) 在生成過程中能夠獲得到內(nèi)部生成誤差的一種無偏估計,泛化能力好;

不足體現(xiàn)在:

1) 隨機森林在某些噪音較大的分類或回歸問題上會過擬合;

2) 對于有不同取值的屬性的數(shù)據(jù),取值劃分較多的屬性會對隨機森林產(chǎn)生更大的影響。

1.1.2 極度隨機樹模型

Extra Trees, 也叫Extremely Randomized Trees, 是一種決策樹的組合方法。與隨機森林類似,同樣的bootstrap了樣本,隨機選取部分特征來構(gòu)造一棵樹,但相較于隨機森林,極度隨機樹對于劃分點的選擇更為隨機。優(yōu)點體現(xiàn)在:

1) 相比于標(biāo)準(zhǔn)的隨機森林來說,極度隨機樹使得決策的邊界更加平滑;

2) 極度隨機樹使用訓(xùn)練樣本直接構(gòu)建隨機數(shù),對bagging的方式進行了修正,因此,當(dāng)數(shù)據(jù)噪聲較大或數(shù)據(jù)量較大時極度隨機樹表現(xiàn)要優(yōu)于隨機森林。

不足體現(xiàn)在:由于樣本劃分點更為隨機,可能存在選取結(jié)果不是最優(yōu)的情況,受數(shù)據(jù)的影響預(yù)測結(jié)果有時具有隨機性,容易不穩(wěn)定。

1.1.3 梯度提升決策樹模型

GBDT (Gradient Boosting Decision Tree)[8], 是一種迭代的決策樹算法,該算法由多棵決策樹組成,所有樹的結(jié)論累加起來做最終答案,被認(rèn)為是一種泛化能力較強的算法。組成GBDT的樹是回歸樹,因此,GBDT大多用來做回歸預(yù)測。

優(yōu)點明顯:它的非線性變換比較多,表達能力強,而且不需要做復(fù)雜的特征工程和特征變換。缺點主要體現(xiàn)在:Boost是一個串行過程,不好并行化,而且計算復(fù)雜度高,同時不太適合高維洗漱特征。

基于以上目前較優(yōu)的預(yù)測算法模型的分析,當(dāng)前模型對于預(yù)測大多存在,數(shù)據(jù)量噪聲大時容易過擬合、預(yù)測結(jié)果不穩(wěn)定、預(yù)測精度低等不足,因此基于這些問題,考慮進行集成學(xué)習(xí)訓(xùn)練處一個較優(yōu)的集成預(yù)測模型。

2 集成學(xué)習(xí)的房價預(yù)測模型

基于集成學(xué)習(xí)預(yù)測模型可以對多特征的單一時間或空間數(shù)據(jù)進行穩(wěn)定的預(yù)測。但這里只針對加州房價數(shù)據(jù)進行訓(xùn)練,使其能夠作為房價預(yù)測的一個穩(wěn)定的預(yù)測模型。圖1表示了整個實驗的模型訓(xùn)練及集成過程。

2.1 數(shù)據(jù)預(yù)處理

本研究采用加州房價數(shù)據(jù)作為模型訓(xùn)練與檢驗的數(shù)據(jù)集。通過對原始數(shù)據(jù)集進行分析發(fā)現(xiàn),數(shù)據(jù)不僅包括經(jīng)緯度、房屋面積、房屋年齡等這些數(shù)值數(shù)據(jù),還包括是在海岸附近還是內(nèi)地的非數(shù)值數(shù)據(jù);同時數(shù)據(jù)中還存在一些空數(shù)據(jù)。因此在對模型進行訓(xùn)練之前要首先對數(shù)據(jù)進行清洗,對于選取的特征的非數(shù)值數(shù)據(jù)進行數(shù)值化處理,同時對空數(shù)據(jù)進行替換;處理結(jié)果如表1,表2所示。

通過清洗好的數(shù)據(jù)進行分析,我們得到了15個屬性特征,由于數(shù)據(jù)集包含20000條左右的數(shù)據(jù),特征太多容易導(dǎo)致預(yù)測結(jié)果過擬合,因此還需要對數(shù)據(jù)進行降維處理,以避免過擬合情況的發(fā)生,這里我們采用主成分分析(PCA)的方法對數(shù)據(jù)進行降維。首先構(gòu)建樣本矩陣X, 基于特征維數(shù)及數(shù)據(jù)個數(shù)構(gòu)建一個15*20000的樣本矩陣X=[x1,x2,…,xn]15*20000, 作為樣本;然后,我們求這個樣本的協(xié)方差矩陣C,通過計算求出協(xié)方差矩陣C應(yīng)該有15個特征值和特征向量,因此我們根據(jù)特征值的大小進行排序并由此調(diào)整特征向量的排布 D =sort(D); V=sort(V); 保留排序最靠前的特征值, 根據(jù)公式計算降維后的新樣本矩陣Y作為最終的訓(xùn)練樣本。endprint

2.2 單一預(yù)測算法訓(xùn)練

本研究基于stacking[9-10]集成學(xué)習(xí)方法進行集成,因此首先要對選取的ET, RF, GBDT, XGB算 法分別進行訓(xùn)練,采用四種算法相對應(yīng)的回歸模型,利用上一步降維后得到的新樣本矩陣Y作為四種算法的訓(xùn)練樣本進行輸入;我們對數(shù)據(jù)樣本進行了切分,采用總數(shù)據(jù)樣本的99.5%作為訓(xùn)練集,0.5%作為測試集,以驗證預(yù)測結(jié)果的有效性,從而對模型參數(shù)做出調(diào)整以達到各自模型預(yù)測的最好效果。通過多次試驗測試對各個模型參數(shù)進行調(diào)整,結(jié)果如表3所預(yù)測效果最優(yōu)。

調(diào)整參數(shù)后對測試集進行預(yù)測,并與真實數(shù)據(jù)進行對比,四種模型預(yù)測結(jié)果分別如圖2所示。

通過均方誤差計算各自的損失函數(shù)結(jié)果如表4所示。

通過損失函數(shù)結(jié)果分析,GBDT和XGB兩種模型的預(yù)測效果要優(yōu)于ET和RF。接下來我們將對四種模型進行集成,并用同樣的方法來評估結(jié)果,以證明集成的有效性

2.3 模型集成及訓(xùn)練

在前一節(jié),我們已經(jīng)對選用的四種基本模型進行了訓(xùn)練,并得到了相應(yīng)的預(yù)測模型及預(yù)測結(jié)果,因此,我們在此基礎(chǔ)上對模型進行stacking集成,以得到最終的集成模型。這個訓(xùn)練過程主要分為兩層:假設(shè)給定的樣本數(shù)據(jù)集L包含n個樣本,這里選取的加州房價數(shù)據(jù)包含20000個樣本,即L={{ xi, yi }, i=1,2,…,n }, 其中xi是第i個樣本的特征值通過降維后的條件值,yi是第i個樣本的房價真實值,n=20000, 一共有4個不同算法的學(xué)習(xí)器。為了防止過擬合的情況,在構(gòu)造第二層數(shù)據(jù)集時采用了交叉驗證的思想,即將原始數(shù)據(jù)集隨機分成數(shù)目大致相等的K個部分L1, L2, … , Lk, 定義Lk和L^-k = L — Lk, k= 1,2, … , k分別為第k折交叉驗證的測試集和訓(xùn)練集,在訓(xùn)練集上分別訓(xùn)練這4個算法,得到4個模型,然后在測試集上進行預(yù)測得到預(yù)測值,記為Zij, 表示第i個樣本經(jīng)過第j個算法的預(yù)測。這個過程重復(fù)K次,則原始數(shù)據(jù)集每一個樣本都有t個與之對應(yīng)的預(yù)測值,這些預(yù)測值與對應(yīng)樣本的真實值組成第二層數(shù)據(jù)集Lcv = {( Zi1, Zi2,…, Zit,yi), i = 1,2,…,n}。即集成訓(xùn)練的訓(xùn)練集為前一步所有預(yù)測結(jié)果與原始樣本真實值組成的新的數(shù)據(jù)集,在Lcv上再次學(xué)習(xí)得到最終的集成預(yù)測模型。

通過上一節(jié)結(jié)果對比發(fā)現(xiàn)GDBT模型對于預(yù)測效果較為理想,因此我們再次選用GDBT作為訓(xùn)練模型,同樣的也對n_estimators, learning_rate, subsample, verbose等參數(shù)進行調(diào)整并當(dāng)取得穩(wěn)定最優(yōu)解時作為選取的參數(shù)值,最終得到n_estimators=100, learning_rate=0.05, subsample=0.75, verbose=20時預(yù)測結(jié)果最優(yōu)。至此,基于集成學(xué)習(xí)的房價預(yù)測模型訓(xùn)練并構(gòu)建完成,接下來將對此模型進行評估以驗證其有效性。

2.4 結(jié)果分析

與四種基本模型相似,我們同樣做出集成模型在預(yù)測集上的預(yù)測房價與實際房價的對比圖如圖3所示。

其中坐標(biāo)橫軸表示房價各種特征降維后的一維值,縱軸表示房價值;藍色表示實際房價,橙色表示預(yù)測房價。由于預(yù)測差異細微,通過對比圖不能很直觀地看出集成模型的效果,因此我們依然利用損失函數(shù),通過均方誤差的方法來評估每個模型的預(yù)測效果,結(jié)果如表5所示。

通過均方誤差結(jié)果進行對比分析可以看出,利用集成學(xué)習(xí)預(yù)測模型預(yù)測,相比于其他四種基礎(chǔ)的預(yù)測模型的預(yù)測結(jié)果,均方誤差降低了6.7%左右,預(yù)測效果優(yōu)于四種基礎(chǔ)模型中的任意一種。實驗結(jié)果表明,基于集成學(xué)習(xí)的房價預(yù)測模型對于提高房價的預(yù)測效果是有效的。

3 結(jié)論

本研究提出了一種集成學(xué)習(xí)的房價預(yù)測模型,該模型通過stacking的集成學(xué)習(xí)方法,集成了ET, RF, GBDT, XGB四種基本的算法,使用加州房價數(shù)據(jù),提取多個有效特征,對目標(biāo)數(shù)據(jù)降維并分別進行訓(xùn)練,將各自的預(yù)測結(jié)果作為集成模型的輸入進行二次訓(xùn)練得到最終的預(yù)測模型。該模型的優(yōu)點在于可以在一定程度上提高房價的預(yù)測效果,并能夠有效避免當(dāng)數(shù)據(jù)噪聲較大或特征較多時過擬合的情況發(fā)生。相比于其他的預(yù)測算法,雖然預(yù)測效果不一定在所有情況下都優(yōu)于單一算法預(yù)測模型,但通過多算法集成互補的思想極大提高了模型的穩(wěn)定性,通過多次實驗證明其預(yù)測效果穩(wěn)定,同時預(yù)測精度也較為理想。下一步工作中,將采用更多不同特征數(shù)據(jù)對該模型進行測試,進一步優(yōu)化該集成模型,以提高模型的性能及預(yù)測準(zhǔn)確度。

參考文獻:

[1] 周志華. 機器學(xué)習(xí)[M].北京:清華大學(xué)出版社, 2016.

[2] 李東月. 房價預(yù)測模型的比較研究[J]. 工業(yè)技術(shù)經(jīng)濟, 2006, 25(9):65-67.

[3] 陳世鵬, 金升平. 基于隨機森林模型的房價預(yù)測[J]. 科技創(chuàng)新與應(yīng)用, 2016 (4):52-52.

[4] Rajan U, Seru A, Vig V. The failure of models that predict failure: Distance, incentives, and defaults[J]. Journal of Financial Economics, 2015, 115(2):237-260.

[5] Burger E M, Moura S J. Building Electricity Load Forecasting via Stacking Ensemble Learning Method with Moving Horizon Optimization[J]. 2015.

[6] Chen T, He T. Xgboost: extreme gradient boosting[J]. R package version 0.4-2, 2015.

[7] 李欣海. 隨機森林模型在分類與回歸分析中的應(yīng)用[J]. 應(yīng)用昆蟲學(xué)報, 2013, 50(4):1190-1197.

[8] Liu J, Wu C. A gradient-boosting decision-tree approach for firm failure prediction: an empirical model evaluation of Chinese listed companies[J]. JOURNAL OF RISK MODEL VALIDATION, 2017, 11(2):43-64.

[9] Sikora R. A modified stacking ensemble machine learning algorithm using genetic algorithms[M]//Handbook of Research on Organizational Transformations through Big Data Analytics. IGI Global, 2015: 43-53.

[10] Sikora R. A modified stacking ensemble machine learning algorithm using genetic algorithms[M]//Handbook of Research on Organizational Transformations through Big Data Analytics. IGI Global, 2015: 43-53.

[11] Glaeser E L, Nathanson C G. An extrapolative model of house price dynamics[J]. Journal of Financial Economics, 2017.endprint

猜你喜歡
隨機森林
拱壩變形監(jiān)測預(yù)報的隨機森林模型及應(yīng)用
基于隨機森林算法的B2B客戶分級系統(tǒng)的設(shè)計
基于多視角特征融合與隨機森林的蛋白質(zhì)結(jié)晶預(yù)測
基于TM影像的土地覆蓋分類比較研究