1. 引言
经济的快速发展使得城市可供利用开发的土地越来越少,房地产市场越来越成熟使得二手房市场交易日益活跃。今年三月北京市西城区文昌胡同的一处学区房卖出46万一平。有些房子是小朋友上好学校的通行证,可能是房子很贵的原因。同样房子周围有没有地铁也是影响房价的因素。通过对北京市二手房价格影响因素进行分析并对房价做出预测,为二手房价格评估提供理论依据和实践指导具有重要意义。对二手房的已有研究成果较多。仲小瑾 [1] (2008)将多元线性回归模型应用于房价影响因素研究预测中。李菲等 [2] (2004)使用灰色系统理论对线性回归模型进行完善和改进,建立房价预测模型。张辉 [3] (2013)将非线性模型神经网络用于房价评估领域。陈静 [4] (2008)将支持向量机模型用于西安市房价评估中。郭志强 [5] (2013)将支持向量机用于房价预测中,发现预测结果明显优于岭回归与神经网络模型。这些研究成果中,线性回归模型遇到非线性问题会产生较大误差,神经网络稳定性较差以及对结果解释性较差,支持向量机解释性差。
随机森林由Brieman 2001年提出至今,已经被广泛应用于生态学、经济管理、生物医学、信用评价等领域。其不易出现过度拟合、很好的处理类别变量、解释性好、对噪声数据的容忍性、精度高等优点使其成为一种广泛使用的回归分类算法。本文用随机森林方法对北京市二手房价格影响因素进行分析并对房价做出预测,首先根据问题背景以及获取数据的局限性初步给出九个影响二手房价格因素,分别为:subway、school、long、lat、cate、bedrooms、halls、area、floor。基于16,795套在售二手房数据建立随机森林模型,由随机森林变量重要性输出以及逐步删除变量得到解释性变化值,从而得到影响北京市二手房价格的主要因素并进行分析,最后利用随机森林OOB样本数据对房价进行预测。同时本文还将神经网络模型、支持向量机模型作为对比模型,进行房价预测。发现在预测方面,随机森林有着更加精确的预测效果。
2. 随机森林模型介绍
近年来,作为机器学习方法之一的随机森林受到越来越广泛的关注。随机森林 [6] 是一种统计学习理论,利用bootstrap抽样的方式从原始数据集中抽取多个样本,对每个bootstrap样本进行决策树建模,组合多个决策树投票得到最终预测结果。大量理论实践研究都表明随机森林具有很高的预测准确率,对异常值和噪声具有很好的容忍度,且不易出现过度拟合。随机森林作为一种非线性的建模工具,是目前数据挖掘、生物信息学最热门最前言的研究领域之一。
决策树是构成随机森林的基本单位,一个简单的决策树模型如图1,其是一个树状结构,由根节点、中间节点以及叶结点组成。每一步根据变量的分类效果选择合适的划分,最终做出分类和预测
随机森林(图2)是由决策树组成,通过组合多个决策树分类器进行分类和预测。其工作机制大致为:首先通过bootstrap抽样选择一系列训练集,在每个训练集上对特征进行随机的选取并通过基尼指标等其他指标对数据集进行合适的划分,生成一系列不剪枝的决策树。最后投票决定最优分类做出预测。
随机森林具体算法如下:
输入:1.训练集![](//html.hanspub.org/file/1-1760115x11_hanspub.png)
2.待测样本![](//html.hanspub.org/file/1-1760115x12_hanspub.png)
For: ![](//html.hanspub.org/file/1-1760115x13_hanspub.png)
1) 对原式训练集S Bootstrap抽样,生成训练集![](//html.hanspub.org/file/1-1760115x14_hanspub.png)
2) 使用
生成一棵不剪枝的树![](//html.hanspub.org/file/1-1760115x16_hanspub.png)
a.从d个特征中随机选取
个特征
b.在每个节点上从
个特征依据Gini指标选取最优特征
c.分裂直到树生长到最大
End
输出:1.树的集合![](//html.hanspub.org/file/1-1760115x19_hanspub.png)
2.对待测样本
,决策树
输出![](//html.hanspub.org/file/1-1760115x22_hanspub.png)
回归:![](//html.hanspub.org/file/1-1760115x23_hanspub.png)
分类:![](//html.hanspub.org/file/1-1760115x24_hanspub.png)
由上述随机森林算法可得,随机森林的随机性主要体现在如下两方面:1) bootstrap抽样产生的样本随机性。本文关于北京市16,795套二手房数据,通过bootstrap抽样,假设我们得到500个训练集,每个训练集中将近37%的数据不会出现,训练集之间两两差异很大,由此对数据进行了充分利用;2) 在每个训练集上选择特征的随机性。在每个训练集上每一步进行特征选择时,不同于bagging的方法,随机森林会根据变量的个数确定选择几个特征。本文关于二手房数据的9个变量中,每一棵树生成时每一步划分我们选择3个变量,从3个变量中根据Gini指标确定最优的划分变量,生成不剪枝的决策树,依次生成一系列不剪枝决策树,相对于bagging方法,通过这样的特征选取进一步提高了数据的利用率,从而提高了预测精度。由这两点的随机性决定着随机森林的分类预测效果。
3. 二手房的随机森林模型
3.1. 变量的选取
本文主要对北京市二手房价格影响因素进行分析研究并对房价进行预测。收集某二手房中介网站2016年5月底北京城内六区(东城、西城、朝阳、海淀、丰台、石景山) 16,795套在售二手房相关数据。
下面介绍本文各变量的选取:
1) 响应变量
本文选取在售二手房Price (每平米的均价)作为响应变量。
2) 预测变量
美国学者Butler提出了影响房地产价格的三大特征变量 [7] :区位特征,建筑特征以及邻里环境。区位特征指的是住宅小区位于城市哪个区域,包含与固定区位属性相关的一些特征。一般选取到城镇中心区的距离量化该特征。建筑特征简而言之即为住宅本身的客观状况,包括:户型、面积、建筑年龄、建筑结构、装修、车库等。邻里环境具体指住宅小区的人文环境、自然环境以及治安管理等。这三种特征变量包含着属性的隐含价格,因为消费者对于属性的支付意愿是从住宅价格间接得到的。
据此我们根据三大特征变量选择出九个变量作为本文的预测变量。区位特征选择:subway (是否地铁沿线)、school (是否为学区房)、long (所在小区所处的经度)、lat (所在小区所处的纬度)、cate (东城、西城、海淀、朝阳、丰台石、景山)。建筑特征选择:bedrooms (卧室数)、halls (厅总数)、area (房屋总面积)、floor (basement, low, middle, high)。由于住宅小区及治安管理缺乏统计标准以及环境变量的数据获取途径有限。邻里环境变量没有出现在本文中。
3.2. 随机森林模型的建立
随机森林模型是Breiman (2001)首次提出,通过建立一系列的决策树组成随机森林模型,最终投票做出最后的预测。该算法具有需要调整的参数较少、不必担心过度拟合、分类速度快、能高效处理大样本数据、能估计特征因素的重要性、很好的处理类别变量、有较强的抗噪声能力等优点。与线性回归相比,避免了线性回归事先假定的线性关系不符合实际造成较大误差的情况。且随机森林不用对函数形式事先进行假设,避免了假设误差。
运用随机森林方法进行二手房价格评估,随机森林可以处理分类和回归问题。本文对于二手房的研究属于回归预测问题。随机森林回归的基本思想是:首先利用自助抽样法,从原始数据集中抽取B个样本,且每个样本容量都与原始数据集相同;然后对B个样本分别建立B棵树,得到B个结果;最后,对这B个结果取平均值得到最终的预测结果。基于随机森林的二手房价格评估模型计算如下:
二手房的随机森林模型由B棵树组成,
,其中
是二手房的P维特征向量。结果会产生B个结果
。其中,
是第b棵树的预测结果。对于回归问题预测值为所有树预测结果的平均。算法流程如下:
1) 原始数据含样本量为16,795,应用bootstrap方式抽样选择500个样本集,构建500棵决策树。每次抽样未被抽到的样本构成OOB样本作为随机森林的验证样本。
2) 样本中变量个数为9,每一棵决策树每一个节点随机选择
个变量进行基尼指标计算,确定合适的变量得到合适的划分。使用随机森林做回归时,通常选取
。本文每一次划分选择3个变量。
3) 每一棵决策树生长到最大,无需进行剪枝,重复上述步骤直到生成500棵决策树。
通过如上步骤,建立得到二手房的随机森林价格评估模型,将OOB样本输入随机森林模型得到房价预测精度。
3.3. 特征变量重要性评价
随机森林可以给出变量重要性排序,本文据此得出影响二手房价格的重要预测变量。其次,本文通过依此删除预测变量的方式计算方差解释性差值,得到变量重要性排序。删除某个变量后解释性差值变化越大,证明这个变量越重要;解释性差值变化越小,证明这个变量越不重要。
记删除变量后方差的解释性为:![](//html.hanspub.org/file/1-1760115x31_hanspub.png)
方差解释性变化为:![](//html.hanspub.org/file/1-1760115x32_hanspub.png)
变量分别如表1。
为了提高计算准确性,随机森林运行十次得到方差解释性如表2。
方差平均解释性为:85.12%。
逐个删除自变量,输入随机森林模型,方差解释性如表3。
方差的解释性变化如表4。
由此可得,可以按照重要性将变量分为三个层次:第一层次包括lat、long、cate三个方差的解释性差值最大的变量,这表明大多数人选择二手房时首先考虑房子所在的地理位置(纬度、经度和区域)。选择了房子的地理位置后,第二层次变量包括房子的总面积(area)以及卧室的数目(bedrooms)。第三层次的学区房和是否临近地铁这两个变量方差解释性差值较小,为重要性相对较弱的变量,分析其原因,是否临
![](Images/Table_Tmp.jpg)
Table 3. Erase variables of variance explanatory
表3. 逐个删除变量方差解释性
![](Images/Table_Tmp.jpg)
Table 4. Changes of variance explanatory
表4. 方差解释性变化
近地铁是房子所处地理位置的一部分因素,大多数情况下可以由房子的地理位置确定,因此作为单独变量影响较小;而学区房受众群体比较单一,其重要性只针对有孩子需要上学的家庭,样本较大时这种重要性会被减弱。
随机森林输出的变量重要性如表5。
由表5可得,cate,lat和long同上述方差解释性差值一样,为最重要的三个变量,表明大多数人选择二手房时首先考虑房子所在的地理位置。school,subway和area为接下来重要的变量。这个结果与上述方差解释性得到的结果具有大致相同的趋势。
![](Images/Table_Tmp.jpg)
Table 5. Output of RF variable importance
表5. RF变量重要性输出
3.4. 二手房房价预测
通过bootstrap抽样,未被抽到的样本组成了B个袋外数据(out-of-bag, OOB),构成OOB样本。每次bootstrap抽样,将近37%的样本不会被抽中。本文将入袋样本作为测试集,将袋外样本作为验证集。采用下述的方式衡量房价的预测精度:
(1)
(2)
其中n为16,795套二手房数据的袋外数据量。
为袋外数据的预测价格,
为袋外数据的实际价格。ESS为残差平方和。J为残差平方和取平方根。
随机森林每一次bootstrap抽样,会产生不同的OOB样本,不同的OOB样本计算ESS会得到不同的预测精度,为了保证预测准确性,对十次bootstrap得到的袋外数据计算预测误差并取平均,为了方便与下文其他模型对比,我们取预测误差平均的
,计算结果如表6。
为了更加直观的看到随机森林的预测效果,我们使用R软件在16795个数据集的OOB样本中随机抽取15个样本,得到其预测价格与实际价格并计算预测误差如表7。我们看到预测误差基本可以控制在10%左右,说明随机森林预测效果良好。
4. 模型对比
分类和回归模型使用较好且常用的有神经网络模型与支持向量机模型。本文将数据输入这两个对比模型得到预测误差如下:
计算得到支持向量机十次的预测误差并取平均如表8。
计算得到神经网络十次的预测误差并取平均如表9。
本文关于北京市二手房数据我们得到方差的解释性达到85.12%,表明所得数据里包含着大量可提取的有效信息,进一步变量重要性的输出对预测精度高做出合理的解释。将北京市二手房的9个预测变量分为三个层次,第一层次包括lat、long和cate,三个表明房屋地理位置的变量;第二层次包括area和bedrooms,两个表明房屋建筑特征的变量;第三层次包含subway、school等重要性相对较弱的变量。相对于神经网络模型和支持向量机模型直接给出预测精度,随机森林变量重要性的输出对房价进行了合理
![](Images/Table_Tmp.jpg)
Table 6. Prediction accuracy of RF model OOB sample
表6. RF模型OOB样本预测精度
![](Images/Table_Tmp.jpg)
Table 7. Some predictions of house prices
表7. 房价部分预测情况
![](Images/Table_Tmp.jpg)
Table 8. Prediction accuracy of SVM model
表8. SVM模型预测精度
![](Images/Table_Tmp.jpg)
Table 9. Prediction accuracy of NN model
表9. NN模型预测精度
的解释。由上神经网络和支持向量机对比模型可得,支持向量机模型预测的误差仅次于随机森林模型预测误差,但误差较大,约为随机森林误差的一倍。神经网络的误差较大,不适合于本文二手房房价评估模型。
5. 总结
本文构建了二手房价格评估的随机森林模型。在三大特征变量中选择了9个预测变量,对北京市城内六区16,795套在售的二手房数据进行了房价影响因素以及房价预测研究。研究表明,cate,lat和long为影响房价的最重要变量。进一步本文利用OOB样本实现了对随机森林模型预测精度的外推,得到了随机森林有着较好的预测精度。最后本文引入对比模型神经网络模型以及支持向量机模型对房价进行预测,得到支持向量机模型的预测效果仅次于随机森林模型的预测效果,而神经网络模型预测误差较大,不适用于本文的房价预测。
基金项目
中国石油大学(北京)本科教育教学改革项目,项目编号21G16091。