李函諭 魏嘉銀 盧友軍
摘? 要:針對深圳市二手房市場房價預(yù)測問題,結(jié)合相關(guān)的八個特征變量,利用隨機(jī)森林模型訓(xùn)練房價預(yù)測模型。在研究過程中為使得模型準(zhǔn)確率與泛化能力更高,使用交叉驗(yàn)證與網(wǎng)格搜索法,繪制學(xué)習(xí)曲線尋找最優(yōu)參數(shù),最后完成二手房價格預(yù)測模型的構(gòu)建,預(yù)測精度達(dá)82.22%。結(jié)合相關(guān)政策,得出近年來深圳市二手房地產(chǎn)均價雖仍會上漲但總體較為穩(wěn)定、且漲幅較小,以及近十年小戶型的房源增量減少的主要結(jié)論。
關(guān)鍵詞:網(wǎng)絡(luò)爬蟲;隨機(jī)森林;深圳二手房價;網(wǎng)格搜索
中圖分類號:TP311? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識碼:A文章編號:2096-4706(2021)15-0100-05
Abstract: Aiming at the problem of house price prediction in Shenzhen second-hand house market, combined with eight relevant characteristic variables, the house price prediction model is trained by using random forest model. During the course of research, to improve the accuracy and generalization ability of the model, the cross validation and grid search method are used to draw the learning curve and find the optimal parameters, the construction of the second-hand house price prediction model is completed finally, and the prediction accuracy reaches 82.22%. Combined with relevant policies, it is concluded that although the average price of second-hand real estate in Shenzhen will still rise in recent years, it is generally relatively stable with a small increase, and the increase of house supply of small houses has decreased in recent ten years.
Keywords: web crawler; random forest; Shenzhen second-hand house price; grid search
0? 引? 言
房產(chǎn)作為如今經(jīng)濟(jì)社會的主要經(jīng)濟(jì)支柱,不管是用于剛需居住還是用于理財投資,對于國人的影響意義深遠(yuǎn),對購房者而言,房價是影響購房者決策的重要因素[1]。從不同角度對房價變化趨勢的探索一直都是人們關(guān)注的熱點(diǎn)問題。針對房價預(yù)測問題,高玉明、張仁津[2]等人通過遺傳算法對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn),在貴陽市的房價預(yù)測中獲得較高預(yù)測精度,但并未結(jié)合當(dāng)?shù)卣邔Ψ績r進(jìn)行定性分析;董倩、李偉[3]等人基于網(wǎng)絡(luò)搜索房產(chǎn)交易信息,對16個城市建立了各自適應(yīng)的房產(chǎn)指數(shù)預(yù)測模型,使得房產(chǎn)價格模型的時效性得到一定解決,但對于影響模型的最佳參數(shù)探究欠缺。本文從購房者角度出發(fā),獲取2020年深圳市3月與7月在售房產(chǎn)網(wǎng)站的不同維度二手房產(chǎn)數(shù)據(jù),通過交叉驗(yàn)證下隨機(jī)森林算法訓(xùn)練房產(chǎn)價格預(yù)測模型,再結(jié)合網(wǎng)格搜索找到使得模型泛化能力最佳的參數(shù),通過均方誤差(MSE)與擬合優(yōu)度(R2)對模型進(jìn)行評估,同時結(jié)合相關(guān)政策與一定統(tǒng)計(jì)分析,輔助購房者綜合各方面的因素進(jìn)行科學(xué)決策。
1? 數(shù)據(jù)準(zhǔn)備
1.1? 數(shù)據(jù)獲取方式
房源數(shù)據(jù)的來源可以通過走訪相關(guān)政府住建單位或通過中介等實(shí)地考察當(dāng)?shù)囟稚唐贩康脑谑矍闆r獲取,但是用這種方式獲取數(shù)據(jù)存在時間成本高、花費(fèi)精力大、數(shù)據(jù)量少、效率低等缺點(diǎn)。隨著信息技術(shù)的發(fā)展,人們越來越多地通過網(wǎng)絡(luò)來獲取相關(guān)的信息,在買賣二手房時也主要是通過網(wǎng)絡(luò)來發(fā)布和獲取數(shù)據(jù)。因此,在明確模型構(gòu)建所需的特征后,對于房源數(shù)據(jù)的獲取,本文通過網(wǎng)絡(luò)爬蟲技術(shù)來進(jìn)行高效的自動化數(shù)據(jù)抓取。
1.2? 主題數(shù)據(jù)確定
由于人們在購買二手房時,主要關(guān)注房源的小區(qū)、戶型、面積、裝修、朝向、建房年代、轄區(qū)、總價這八個基本屬性,而這些屬性也正是現(xiàn)在的二手房交易網(wǎng)站均有提供的信息,于是本文將其作為主要的數(shù)據(jù)爬取目標(biāo)。本文從某房產(chǎn)網(wǎng)站上爬取三月份與七月份總共2 940個樣本數(shù)據(jù)用于模型的訓(xùn)練與預(yù)測,部分?jǐn)?shù)據(jù)如表1所示。
2? 數(shù)據(jù)預(yù)處理
為了對2020年深圳市二手房產(chǎn)特征進(jìn)行分析,并建立房價預(yù)測模型,對于原始數(shù)據(jù)的預(yù)處理工作會直接影響模型結(jié)果的好壞,所以需要對數(shù)據(jù)進(jìn)行預(yù)處理以提高數(shù)據(jù)質(zhì)量[4],主要工作包括去重、空值處理、去冗余數(shù)據(jù)平滑噪聲數(shù)據(jù)等。本文運(yùn)用Python的數(shù)據(jù)分析工具Pandas和科學(xué)計(jì)算庫Numpy對已爬取的數(shù)據(jù)進(jìn)行預(yù)處理工作,主要完成了對爬取后的樣本數(shù)據(jù)進(jìn)行去重、缺失值填補(bǔ)、字符串的剪切、房屋建房年份離散化以及對類別特征進(jìn)行獨(dú)熱編碼工作等,此時數(shù)據(jù)清洗工作基本完成。
3? 深圳市二手房價預(yù)測回歸模型
準(zhǔn)備好數(shù)據(jù)之后,接下來嘗試運(yùn)用隨機(jī)森林回歸模型來建立二手房價的預(yù)測模型,以期能夠輔助購房者做出更有科學(xué)依據(jù)的購房決策。
3.1? 隨機(jī)森林
隨機(jī)森林(random forest, RF)是一種具有代表性的集成算法,它以多棵相互獨(dú)立的決策樹作為基評估器,通過集成各個決策樹的建模評估結(jié)果,運(yùn)用平均或多數(shù)表決原則,可隨機(jī)地生成幾百個至幾千個分類樹,然后選擇重復(fù)程度最高的樹作為最終結(jié)果,同時該算法對多元共線以及數(shù)據(jù)離群值并不敏感,適用于房產(chǎn)價格這種波動較大的數(shù)據(jù)[5-6]。
3.2? 房價預(yù)測模型及評估
scikit-learn(簡稱sklearn)是基于Python的機(jī)器學(xué)習(xí)模塊,提供了常用的分類、回歸、降維和聚類等機(jī)器學(xué)習(xí)算法實(shí)現(xiàn),可以直接運(yùn)用于模型訓(xùn)練。本文運(yùn)用sklearn來進(jìn)行模型的訓(xùn)練和評估。
3.2.1? 模型訓(xùn)練
對于本文的研究,數(shù)據(jù)源為已經(jīng)處理好的數(shù)據(jù),被解釋對象即預(yù)測特征為房屋總價(total_price)。在建模的過程中,首先調(diào)用sklearn模塊中的RandomForestRegressor函數(shù)對數(shù)據(jù)在默認(rèn)參數(shù)下進(jìn)行10次交叉驗(yàn)證的模型訓(xùn)練,其次調(diào)用cross_val_score函數(shù)以計(jì)算模型的擬合優(yōu)度與均方誤差,最后將建立的模型與支持向量機(jī)(support vector machine, SVM)模型進(jìn)行對比以驗(yàn)證所建立模型的有效性。隨機(jī)森林模型構(gòu)建的關(guān)鍵代碼如下:
rfc=RandomForestRegressor( random_state=90)
R2=cross_val_score(rfc,X,y,cv=10,scoring=’r2’).mean()
MSE=cross_val_score(rfc,X,y,cv=10,scoring=’neg_mean_squared_error’).mean()
3.2.2? 模型評價指標(biāo)
對于回歸模型而言,cross_val_score結(jié)果可輸出為模型預(yù)測的擬合優(yōu)度(R2)與均方誤差(MSE)以作為模型準(zhǔn)確率與穩(wěn)定性的評估,兩個評估指標(biāo)意義如下:
擬合優(yōu)度(或決定系數(shù))可以解釋回歸模型在多大程度上解釋了被解釋特征的變化,或者說回歸模型對觀測值的擬合程度如何,可以作為模型預(yù)測的準(zhǔn)確性評價指標(biāo)來評估回歸模型的準(zhǔn)確性。擬合優(yōu)度(R2)的定義為:
均方誤差(MSE)是指被預(yù)測值與樣本真實(shí)值之差平方的期望值。MSE是衡量平均誤差的一種較為方便的方法,MSE可以評價數(shù)據(jù)的變化程度,MSE值越小,說明預(yù)測模型的穩(wěn)定性也越好。均方誤差(MSE)的定義為:
3.2.3? 模型評估結(jié)果
對于默認(rèn)參數(shù)下的隨機(jī)森林和SVM模型,其訓(xùn)練結(jié)果如表2所示。
從結(jié)果來看,隨機(jī)森林決定系數(shù)接近0.8,說明了10次交叉驗(yàn)證下隨機(jī)森林建立的房價預(yù)測模型模型能在80%的程度解釋了二手房價的變化程度,相比SVM準(zhǔn)確率更好;均方誤差也表明該模型的穩(wěn)定性較好,可見基于隨機(jī)森林構(gòu)建的房價預(yù)測模型更適用于預(yù)測深圳市二手房價格。為了避免模型在訓(xùn)練集上陷入過擬合或欠擬合的情況,需要進(jìn)一步對模型的泛化能力進(jìn)行評估與調(diào)整。
3.3? 通過網(wǎng)格搜索模型最優(yōu)參數(shù)
3.3.1? 泛化誤差與參數(shù)調(diào)整思路
泛化誤差是指模型對未知數(shù)據(jù)的預(yù)測值的誤差,其反映了模型的泛化能力。不管模型欠擬合或過擬合,泛化誤差都會變大,當(dāng)模型的泛化誤差最小時,模型的復(fù)雜度最佳。隨機(jī)森林屬于樹模型,樹的深度越深,越易陷入過擬合從而使得模型復(fù)雜度增加。因此對模型參數(shù)的調(diào)整思路為使模型的泛化誤差減小的同時使其復(fù)雜度接近最佳的模型復(fù)雜度。
3.3.2? 網(wǎng)格搜索隨機(jī)森林最佳模型參數(shù)
在構(gòu)建隨機(jī)森林模型時,對模型泛化能力有敏感影響的參數(shù)主要有評估器數(shù)量(n_estimators)、最大深度(max_depth)、葉節(jié)點(diǎn)最小樣本(min_samples_leaf)數(shù)以及最大特征(max_features),其影響如表3所示。
參數(shù)對模型的影響趨勢可以通過繪制學(xué)習(xí)曲線及其走勢來判斷,以評估器數(shù)量為例,通過設(shè)定1到200個評估器,繪制每次增加10個評估器的學(xué)習(xí)曲線,可以找到學(xué)習(xí)曲線中模型評分(R2)最高的大致范圍,再繼續(xù)縮小范圍,即可找到最佳的評估器數(shù)量,對其余三個超參數(shù)也采用相同的方式,最終參數(shù)的學(xué)習(xí)曲線如圖1所示。
根據(jù)學(xué)習(xí)曲線,對于最大深度max_depth,隨著深度增加,模型的可解釋率增加后趨于穩(wěn)定,對準(zhǔn)確率影響不大,但模型的泛化誤差變大;對于最小葉子節(jié)點(diǎn)數(shù)min_samples_leaf,增加每個葉子節(jié)點(diǎn)的數(shù)量也會使得模型的可解釋率降低,所以對以上兩個參數(shù),將其設(shè)置為默認(rèn)值即可。對其余兩個參數(shù)可觀察曲線找到準(zhǔn)確率的最高值,最終對各個超參數(shù)進(jìn)行調(diào)整后模型的準(zhǔn)確率可達(dá)82.22%,相比尋優(yōu)前提升了2%,此時模型接近最佳復(fù)雜度,泛化能力最好,最優(yōu)參數(shù)如表4所示。
4? 模型解釋與特征定性分析
對普通讀者而言,由數(shù)據(jù)分析構(gòu)建得到的模型是難以理解的,為增加可解釋性,可以通過繪制相應(yīng)的可視化圖形,以使讀者能直觀地理解模型本身的含義。
本文根據(jù)前述構(gòu)建的隨機(jī)森林模型通過Graphivz軟件來繪制相應(yīng)的可視化樹圖,由于隨機(jī)森林模型的分支很多不便于解釋,此處只選取其中一顆子樹的部分分枝來闡述,如圖2所示。由圖2知,該決策樹分支以福田區(qū)作為主要分裂條件來對該節(jié)點(diǎn)包含的13個樣本進(jìn)行分裂,根據(jù)面積、戶型等不同的決策條件最終對每個子節(jié)點(diǎn)進(jìn)行了預(yù)測。
為進(jìn)一步觀察各特征對于購房決策影響的重要程度,可以繪制相應(yīng)的柱形圖,如圖3所示,從圖中可知對模型影響最大的特征為房屋面積(area),影響程度達(dá)0.6。
為驗(yàn)證模型的擬合效果,可以通過繪制模型的預(yù)測值-真實(shí)值散點(diǎn)圖,如圖4所示,圖中的點(diǎn)線為預(yù)測值與真實(shí)值相等的理想預(yù)測直線,由圖可見散點(diǎn)靠攏理想效果直線,表明預(yù)測效果比較理想。
對于不同轄區(qū)房價的分布情況,可以繪制相應(yīng)的均價箱線圖以清楚地展示各轄區(qū)房源價格的總體分布,如圖5所示。對于各年代房源的分布情況可以繪制小提琴圖直觀地呈現(xiàn)不同年代房源的存量與總價分布情況,如圖6所示。
根據(jù)圖5可知,深圳市二手房龍崗區(qū)[7]的房價最低,但是在售房源最多,投資屬性強(qiáng),適合做理財投資,而隨著經(jīng)濟(jì)下行的壓力越大,交易量必定會受影響。南山區(qū)均價最高,主要因?yàn)槟仙絽^(qū)科技企業(yè)多,常住人口高,地段好,所以對房源的需求量大,而豪宅稅的調(diào)整[8-9]會促使更多人參與買房,所以至少2020年深圳市二手房房價還會上漲。隨著新型冠狀病毒疫情的蔓延與控制,使得人們的居住愿望變強(qiáng)[10],所以房價仍在上漲,但是7月的調(diào)控新政策減小了房價上漲的勢頭,嚴(yán)格控制了漲幅,使得房價回歸在穩(wěn)定的趨勢。
根據(jù)圖6可知,深圳市房地產(chǎn)2010—2020年的二手房源量較少,在售二手房源的修建年份主要集中在2000—2010年,房齡較大,近10年的新房量少是導(dǎo)致如今二手房增量少的主要原因。
根據(jù)以上結(jié)果,可以對二手房價格有一個基礎(chǔ)的認(rèn)知,然后再結(jié)合深圳購房政策變化、稅收等因素,便能從不同角度觀察和發(fā)現(xiàn)深圳市二手房特點(diǎn)[11-12]。
5? 結(jié)? 論
在本文的研究中,首先對深圳二手房產(chǎn)數(shù)據(jù)進(jìn)行爬取,利用Python各功能模塊對原始數(shù)據(jù)進(jìn)行預(yù)處理,運(yùn)用隨機(jī)森林算法建立房價預(yù)測模型并尋找最佳模型超參數(shù),獲得顯著的精度,與SVM模型的對比結(jié)果表明,本文的預(yù)測模型在準(zhǔn)確率與穩(wěn)定性方面都更好;然后,對模型進(jìn)行了可視化解釋并結(jié)合當(dāng)時的實(shí)際政策對二手房特征進(jìn)行定性分析;最后實(shí)現(xiàn)了房價預(yù)測模型穩(wěn)定性與泛化能力的有效結(jié)合,為有購房需求的人提供了相應(yīng)的決策依據(jù)。
參考文獻(xiàn):
[1] 張智鵬,鄭大慶.影響區(qū)域房價的客觀因素挖掘分析 [J].計(jì)算機(jī)應(yīng)用與軟件,2019,36(11):32-38+85.
[2] 高玉明,張仁津.基于遺傳算法和BP神經(jīng)網(wǎng)絡(luò)的房價預(yù)測分析 [J].計(jì)算機(jī)工程,2014,40(4):187-191.
[3] 董倩,孫娜娜,李偉.基于網(wǎng)絡(luò)搜索數(shù)據(jù)的房地產(chǎn)價格預(yù)測 [J].統(tǒng)計(jì)研究,2014,31(10):81-88.
[4] 劉馨,張衛(wèi)軍,石泉,等.基于數(shù)據(jù)挖掘與清洗的高爐操作參數(shù)優(yōu)化 [J].東北大學(xué)學(xué)報(自然科學(xué)版),2020,41(8):1153-1160.
[5] ANTIPOV E A,POVSKAYA E B. Mass appraisal of residential apartments:An application of Random forest for valuation and a CART-based approach for model diagnostics [J].Expert Systems with Applications,2012,39(2):1772-1778.
[6] 顧桐,許國良,李萬林,等.基于集成LightGBM和貝葉斯優(yōu)化策略的房價智能評估模型 [J].計(jì)算機(jī)應(yīng)用,2020,40(9):2762-2767.
[7] 百度百科.深圳市行政區(qū)劃 [EB/OL].[2021-04-23].https://baike.baidu.com/item/%E6%B7%B1%E5%9C%B3%E5%B8%82%E8%A1%8C%E6%94%BF%E5%8C%BA%E5%88%92/18655114?fr=aladdin.
[8] 深圳市規(guī)劃和國土資源委員會.深圳市安居型商品房定價實(shí)施細(xì)則 [EB/OL].(2017-12-17).http://www.sz.gov.cn/slhwz/zcfg/content/post_9177804.html.
[9] 深圳市司法局.深圳市房地產(chǎn)市場監(jiān)管辦法(修訂征求意見稿) [EB/OL].(2020-10-22).http://sf.sz.gov.cn/hdjlpt/yjzj/answer/7097#feedback.
[10] 陳興蜀,常天祐,王海舟,等.基于微博數(shù)據(jù)的“新冠肺炎疫情”輿情演化時空分析 [J].四川大學(xué)學(xué)報(自然科學(xué)版),2020,57(2):409-416.
[11] 張望舒,馬立平.城市二手房價格評估方法研究——基于Lasso-GM-RF組合模型對北京市二手房價格的分析 [J].價格理論與實(shí)踐,2020(9):172-175+180.
[12] CHEN L J,YAO X J,LIU Y L,et al. Measuring Impacts of Urban Environmental Elements on Housing Prices Based on Multisource Data-A Case Study of Shanghai,China [J/OL].ISPRS International Journal of Geo-Information,2020,9(106):1-23.
作者簡介:李函諭(1996-),男,苗族,貴州貴陽人,碩士研究生在讀,研究方向:統(tǒng)計(jì)建模與分析、大數(shù)據(jù)處理與分析;魏嘉銀(1986-),男,漢族,福建三明人,副教授,碩導(dǎo),博士,研究方向:算法設(shè)計(jì)與分析、大數(shù)據(jù)處理與分析;盧友軍(1985-),男,漢族,貴州遵義人,碩導(dǎo),博士,研究方向:復(fù)雜網(wǎng)絡(luò)。
3169500338292