Research on Predicting Second Hand Housing Transaction Prices Based on XGBoost Model
This article takes the second-hand housing price data of Chengdu in 2022 as the research object, and constructs a random forest model and XGBoost model to predict the second-hand housing price. Firstly, the dataset is cleaned and visualized to construct virtual variables. Then, a heat map is drawn and the entropy method is used for feature value screening to select important features for training the model. Subsequently, prediction systems based on random forest and XGBoost were developed using grid search techniques, and the accuracy of the models was measured using three key indicators: coefficient of determination, mean square error, and mean absolute error. After model comparison and result analysis, it was found that the optimized XGBoost model had good prediction results for second-hand housing prices, with an accuracy rate of 90.3%.
Second Hand Housing Prices
随着中国城市化步伐的加快,城市居住人口持续攀升。受限于土地资源的有限性,城市房价呈现出逐步攀升的趋势。因此,配备设施较为完整且价格较划算的二手房成为了不少青年的选择。二手房周边往往拥有便利的交通以及丰富的商业资源和教育资源。但是,许多买家和卖家通常因为销售渠道复杂、住房情况条件差异大,二手房的价格评定没有统一标准,因此,购房者在对二手房进行价格评估时,往往难以达到精确和客观的标准。在我国,房地产价格评估方法主要有市场法、收益法、成本法等,它们大多适用于不同的市场环境,受主观影响较大
2002年,Lennart B
由于房价越炒越高,导致了大多数的购房者看向二手房市场,因此近几年出现了二手房市场蓬勃发展现象。在房地产市场分析的学术领域,众多学者通过创新的方法和技术,提供了对房价影响因素及其预测的深刻见解。陈世鹏等
XGBoost是Boosting算法的一种。Boosting算法的思想是将许多弱分类器集成在一起形成一个强大的分类器
XGBoost的算法原理在于连续地增加新的决策树。在每次迭代中,新加入的树都会针对前一轮预测的误差进行拟合。这一过程重复进行,直至形成包含K棵树的完整模型。预测一个样本的分数,实际上是根据这个样本的特征,每棵树中会落到其对应的一个叶子节点,每个叶子节点对应一个分数,最后将每棵树对应的分数加起来就是该样本的预测值
,
其中 表示第i个样本的预测值, 表示第i个真实值, 代表训练损失函数。常用的损失函数有以下两种:
1) 平方损失函数
2) 逻辑回归损失函数
本文的原始数据是从阿里云天池获取的开源数据——2022年成都市二手房交易数据,共有14个指标和14,659条数据。
首先对数据进行了预处理和清洗,并对数据进行了统一的单位处理,由于该数据比较完整,经检查没有缺失值和异常值,所以可以发现数据较准确,可信度高。此外,对分类变量进行了转换为虚拟变量处理,即对对象数据类型转化为模型可识别的类型。
特征选取可以将高维数据转化为低维数据,从而达到数据降维的作用,通过删掉冗余和不相关的特征来进一步降维,以减少模型过度拟合,减少特征数量,从而提高泛化能力,还可以让模型得到更好的解释,通过增强特征值之间的联系加快模型的训练速度,从而获得更好的性能
本文中的特征经初步筛选共11个,分别是房屋所属市辖区、所在楼层、户型结构、建筑类型、房屋朝向、建筑结构、装修情况、配备电梯、交易权属、建筑面积和总房价。通过绘制热力图发现,有的特征与房价相关性强,有的比较弱。热力图展示了不同变量之间的相关性,热力图的行和列分别代表不同的变量,颜色的深浅表示相关性的强度,颜色越深表示相关性越强。从热力图中可以看出户型结构与建筑面积的相关性为0.39,表示有中等程度的正相关性。户型结构与配备电梯的相关性为−0.21,表示有轻微的负相关性。户型结构与所在楼层的相关性为0.076,表示有轻微的正相关性,意味着户型结构可能随着楼层的增加而变得更加复杂或多样化。户型结构与建筑类型的相关性为0.13,表示有轻微的正相关性。建筑类型与配备电梯的相关性为−0.5,表示有强负相关性。建筑面积与所在楼层的相关性为0.05,表示有轻微的正相关性。建筑面积与建筑类型的相关性为0.077,表示有轻微的正相关性。从而看出户型结构、建筑面积等特征相关性较好,房屋所属市辖区、房屋朝向、装修情况、建筑类型等数据维度对房价影响较小,本文忽略这些特征。
回归模型的预测结果和真实值都是连续的,常用的回归模型评价指标有R2、MSE和MAE,假设有 个样本, , 分别代表第 个样本的实际值和预测值,用 表示 个实际值的平均值。
1) 决定系数(R-Squared, R2)一般用在回归模型中,用于评估预测值和实际值的符合程度,该指标的取值介于0到1之间,其值越接近1,表明模型对因变量方差的解释能力越强,从而模型的准确性越高;反之,若值越小,则意味着模型的解释力和准确性相对较低
R2定义如下:
2) 均方误差(MSE)是指预测值与真实值之差的平方的期望值。MSE是衡量数据波动性的一个指标,它反映了预测模型与实际数据的接近程度,MSE值的降低,表明模型的预测精度得到了提升。
MSE定义如下:
3) 平均绝对误差(MAE)用于评估预测结果和真实值的接近程度,其值越小说明拟合效果越好
MAE定义如下:
本文使用了线性回归模型、随机森林模型和XGBoost模型对成都二手房房价进行预测,统一采用了Sklearn包中的train_test_split( )函数,把原始数据按照比例划分为训练集和测试集,由于训练集合过小的话会导致欠拟合,所以将实验数据的70%作为训练集,30%作为测试集
由于通过熵值法手动选择筛选指标个数的做法并不严谨,所以将代码进行二次优化,且由于第一次优化过后线性回归方程的拟合效果并不如其他两个模型,所以在二次优化时,直接剔除线性回归模型,
只选取随机森林和XGBoost模型进行优化。将熵值法替换为RFE特征选择,与熵值法相比,RFE通过递归删除特征,使得模型更加专注于重要的特征,从而提高了模型的预测准确度。且RFE在每次迭代中只考虑剩余的特征,因此计算量相对较小,提高了计算效率。并且RFE可以输出被选择的特征集合,就不需要手动筛选个数,增加了准确性,也减少了工作量。
此外,通过网格搜索法((GridSearchCV))对随机森林方程的树的最大深度max_depth和森林中树的数量n_estimators做了参数调节,对于树的最大深度,测试了三个不同的深度值(例如5,10,15)。对于森林中树的数量,测试了三个不同的树数量(例如100,200,300)。对XGBoost模型的学习率(learning_rate)、max_depth和n_estimators叶进行参数调节
在本文中,从测试数据集中分别计算了线性回归、随机森林以及XGBoost三种模型的评价指标,结果如
R2 | MSE | MAE | |
线性回归模型 | 0.085 | 4487390808171.969 | 3325.653 |
随机森林 | 0.248 | 3687939313299.952 | 7561.426 |
XGBoost模型 | 0.256 | 3648063029321.772 | 8561.466 |
R2 | MSE | MAE | |
线性回归模型 | 0.603 | 1944944939377.614 | 173152.504 |
随机森林 | 0.853 | 719498490957.419 | 224981.523 |
XGBoost模型 | 0.834 | 812526188231.589 | 258817.536 |
R2 | MSE | MAE | |
随机森林 | 0.859 | 690116324089.372 | 344325.531 |
XGBoost模型 | 0.903 | 573083127172.155 | 340561.704 |
本文通过构建线性回归模型、随机森林和XGBoost模型对二手房房价进行预测,通过数据预处理、特征工程以及模型构建等环节的精心设计,我们优化了房价预测模型,使其预测结果更贴近实际市场价值。通过模型优化,将XGBoost模型的R2提升至0.903,如
真实值 | 线性回归 | 随机森林 | XGBoost | |||
预测值 | 预测误差 | 预测值 | 预测误差 | 预测值 | 预测误差 | |
949,198 | 1185111.631 | 24.85% | 1018282.916 | 7.28% | 943985.25 | 0.55% |
2,306,570 | 2547989.367 | 10.47% | 2349308.98 | 1.85% | 2217678.5 | 3.85% |
3,904,560 | 3420350.717 | 12.40% | 3885626.04 | 0.48% | 3818799 | 2.20% |
1,035,988 | 1960463.073 | 89.24% | 1062816.651 | 2.59% | 1015695.75 | 1.96% |
2,102,430 | 2443966.966 | 16.24% | 2315790.51 | 10.15% | 2202411.5 | 4.76% |
172,326 | 191030.1793 | 10.85% | 187835.777 | 9.00% | 171991.8438 | 0.19% |
1,368,000 | 1167558.728 | 14.65% | 1318147.476 | 3.64% | 1311244.125 | 4.15% |
成都市作为四川省省会,在全省经济社会发展中发挥着核心增长的作用,成都市商品住宅市场也真正占据四川商品住宅市场的核心地位。房地产调控政策不是一刀切,而是根据不同的时间、不同的市场、不同的问题需要通过贷款政策、土地政策、税收政策、人才落户政策、规定首付比例政策、出台二手房指导价等政策相互配合并及时做出调整。
政府通过巧妙地运用政策工具和市场自我调节机制,为二手房市场的稳定与繁荣提供支持,确保了市场的有序发展。政府应加强对二手房中介市场的监管,制定和完善相关法律法规,规范中介机构的经营行为,中介机构应公开房源信息、交易价格、服务费用等关键信息,提高市场透明度,保护消费者权益。也可以通过制定行业标准和规范,推动中介机构提高服务质量,维护市场秩序。中介机构应加强对从业人员的培训和管理,提高他们的专业素养和道德水平。同时,建立从业人员信用档案,记录其从业行为和信誉状况,以便消费者查询和选择。
购房者可以通过供需关系、政策变化、经济走势等方面了解市场动态,从而避免盲目跟风或恐慌性购买。中介机构在二手房交易中扮演着重要角色,购房者可以通过沟通,表达自身预期,得到提供相应的价格预测信息。购房者可以通过教育和培训活动,提高自身的市场敏感度和分析能力,使自身能够更好地理解和利用价格预测信息。
本研究依托真实的成都市二手房交易数据,从基于网络爬虫技术的数据获取到基于机器学习的价格预测,通过对比实验的方式实现了成都市二手房价格的有效评估。相较于对二手房均价和挂牌价的研究,预测二手房成交价具有更直接的现实意义。它能够在一定程度上指导购房者做出合理的购买决策,减少不必要的经济风险,但本文研究内容也有以下几点的不足:
1、本文在模型构建的数据采集和加工过程中实施了多种策略,但仍可能存在一定的数据质量问题。例如,部分数据(如房屋内部装修情况、楼层高低、物业管理质量等)可能存在缺失、异常或噪声等问题,这可能会对预测结果产生一定的影响。未来研究可以进一步探索数据清洗和预处理技术,以提高数据质量。
2、本研究采用了线性回归和随机森林模型对成都市二手房成交价格的相关影响因素进行了变量筛选,对于模型可能难以完全考虑所有影响房价的外部因素,如自然灾害、社会事件等突发事件。在后续的学习过程中,还需深化对特征工程的理解,以期通过变量筛选获得更精确的预测模型基础变量组。
3、本研究主要基于历史数据进行预测,房地产市场变化迅速,模型可能无法及时反映最新的市场动态,导致预测滞后。未来研究可以探索将实时数据引入模型,以提高预测的实时性和准确性。
综合分析表明,应用XGBoost模型于成都市二手房市场的价格预测具有实际应用价值。在未来的研究工作中,我们将持续深化学习,针对当前研究的不足进行改进和优化。
本研究受到闽江学院华纳数字孪生系统研发实验室(MJUGJSYS2022004)、虚拟仿真实验课程项目(MJUYLKC2022029)的支持。