House Price Prediction Based on Machine Learning
The real estate industry is an important component of China’s national economy, affecting livelihoods and national economic planning. Trends in housing prices directly impact financial stability and overall macroeconomic development. Therefore, researching and predicting housing prices are crucial for individual consumers, real estate developers, and national macroeconomic regulators. This study is based on housing sales data and basic property information from King County, USA, collected from May 2020 to May 2021 via the Kaggle platform. Support Vector Machine (SVM) and XGBoost models were employed to predict housing prices. Evaluation criteria including Mean Absolute Error, Root Mean Square Error, and coefficient of determination were used to assess and compare the predictive performance of these models. The conclusion drawn was that the XGBoost model demonstrated the best fitting and predictive performance. Overall, this research provides a scientific approach to housing price prediction, offering valuable insights for both sellers and buyers in the housing market.
Housing Price Prediction
近些年来,我国的商品房价格总体呈现上涨趋势,尽管最近有所回落,但人们对购房的需求依然高涨,同时房地产市场也出现了倒买倒卖等问题,导致行业发展逐渐偏离正常轨道。因此,准确了解房价发展趋势,找到较为合适的房价预测方法对于有购房需求的人们来说就显得尤为重要。
随着人工智能技术的迅速发展,机器学习已经深入到各行各业,并取得了显著的成就。机器学习利用计算机处理人类思考和归纳经验的过程,能够解决很多复杂的问题,利用机器学习提供的算法分析数据成为了当前数据分析与建模的主流方法。所以,顺应大数据和机器学习的发展趋势,利用机器学习算法分析预测房价问题更具科学性和前瞻性。
房屋价格受多种因素影响,如地理位置、房屋年龄和状态、周边环境和设施和经济市场等。过去,大多数房价预测模型采用回归方法,但其精度有限,泛化能力不强,特别是在高维度数据和共线性特征存在时表现更为明显。本文针对这些问题,提出了基于特征选择和机器学习的房价预测模型,对美国King County房屋销售价格的影响因素进行实证研究,所建立模型能够在一定条件下较为准确地对房价进行预测。
房价不仅仅是经济状况的晴雨表,它更直接关系到房地产开发商和购房者的切身利益。因此,建立精准的房价预测模型不仅对金融市场至关重要,也对人们的日常生活和社会经济稳定具有深远意义。然而,有太多影响房价的因素,这给房价预测带来了巨大的挑战。房价与其他宏观经济因素之间存在着微妙的相互作用,使得预测过程非常复杂。
SVR模型在处理非线性数据和噪声较多的情况下表现优异,而XGBoost模型在处理高维数据和追求高准确性的问题上具有明显优势。因此,可以充分发挥它们各自的优势,提高房价预测模型的准确性和鲁棒性。
从整体上来看,对房价的预测研究可以归结为两类,一类是对房价进行定性估价预测,更多的是倾向于经济学分析,主要关注市场信息,很少使用数学模型。另一类侧重于定量分析,利用数学模型对房价进行量化预测。
国外与房价的相关研究起步较早,因为国外的住房商品化早于国内,且房地产交易数据相对完整。
最开始的研究大多数将房价作为时间序列数据,通过历史价格数据的训练学习建立模型,并对未来进行预测。例如,Rangan Gupta
现如今,机器学习渗入到科学的各行各业中,随机森林是一个包含多个决策树的分类器,预测方法后来也渐渐发展为基于树的模型方法。例如,Gu等
目前国内外学者大致有两种思路:一是把房价的变化看作是一个时间序列来预测房价。二是分析房价的影响因素,利用影响因素建立指标体系来预测房价。
与国外研究过程类似,侯普光和乔泽群
为了谋求算法思想上的创新以及构建新的模型框架,提出了使用回归支持向量机模型(SVR),它具有高水平的小样本学习能力,申瑞娜等
综上所述,国内外学者在房价预测研究中有着很多贡献。但目前对房价预测的研究依然存在一定的局限性和缺陷。由于国内房地产业发展时间短,基于时间序列的样本数据量少、不完整,所以利用时间序列模型预测我国的房价效果并不好,而且房价具有波动性、非线性、易受外界因素干扰等特性,线性模型可能对数据中的异常值非常敏感,这些异常值可能会对模型参数产生显著影响,因此通过线性求解房价,可能会造成预测不准确、忽略关键因素等问题,因此,使用更为复杂和灵活的机器学习模型通常能够提供更准确的预测和分析结果,帮助更好地理解和把握房价趋势。
支持向量回归(SVR)是一种用于连续型输出变量预测的方法。SVR的核心理念在于通过定义一个最优边界,即超平面或曲线,来最大化拟合数据点与该边界之间的边际距离,以最小化预测误差,如
在支持向量机中,核函数的选择非常重要,它决定了模型能够学习的函数空间。常见的核函数包括:
1) 线性核函数(Linear Kernel)
线性核函数主要适用于线性可分的情况下,在输入的样本特征维数很大的时候使用。
2) 多项式核函数(Polynomial Kernel)
其中c为常数,d为多项式的阶数。通过多项式函数将数据映射到高维空间,可以处理一定程度的非线性关系。
3) 高斯核函数(Gaussian Kernel)
也称为径向基函数(RBF),通过高斯分布将数据映射到无穷维的特征空间,可以处理更复杂的非线性关系。
4) sigmoid核函数(Sigmoid Kernel)
通过sigmoid函数将数据映射到高维空间,适用于二分类问题。
XGBoost预测模型是一种典型的基于集成思想的有监督的加法线性组合模型,里面的每一个基学习器均采用回归树,其训练形式是采用前向分步算法逐棵优化基学习器,当模型训练到第t棵回归树时,就需要拟合前t − 1棵树对训练样本分类回归预测所形成的残差,这样在原有模型的基础上就会增添一棵新的树,每次增添的是使目标函数值最小的树,与GBDT不同的是,XGBoost模型迭代的目标函数中除了包含常见的损失函数之外,还考虑了模型的复杂度,用正则项表示。
XGBoost模型作为boosting模型中目前最为出色的算法,线性与非线性分类器统筹兼顾,对目标函数引入泰勒公式二阶展开提高了模型的精度,灵活性也更强了。
在回归预测领域中,常有的模型评价指标有:平均绝对误差,简写为MAE,该指标能够不受正负相抵的影响;均方根误差,简写为RMSE,该指标适合于不同模型对同一数据的预测效果比较;拟合优度R方值,该指标能够忽略量纲的因素影响,用回归平方和与总体平方和之比来表示,其中,RMSE与MAE的值体现误差大小,值越小,说明模型的效果越好,R方的范围为[0~1],其值越靠近1,说明模型的拟合预测效果越好,预测的准确度越高,评价指标公式如下:
本文通过Kaggle在线平台,获取了美国King County从2020年5月至2021年5月的房屋销售价格以及房屋的基本信息数据,其中包含卧室数、浴室数和房屋面积等12个特征变量。
绘制目标变量销售价格的分布图,结果如
采用对目标变量取对数的方法,使其右偏分布近似转化成正态分布,以便于后续的模型构建,取对数后的分布图如
我们通过绘制热力图进行特征选择,根据
变量类型 |
变量名称 |
目标量 |
销售价格–对数 |
特征量 |
卧室数 |
浴室数 |
|
房屋面积 |
|
楼层数 |
|
房屋评分 |
|
建筑面积 |
|
地下室面积 |
|
纬度 |
SVR预测模型流程如
利用网络搜索法确定SVR预测模型最优参数组合,如
参数 |
数值 |
核函数 |
rbf |
gamma |
0.1 |
C |
10 |
epsilon |
0.1 |
评价指标 |
数值 |
R2 |
0.6842 |
RMSE |
0.426502 |
MAE |
0.317856 |
参数 |
数值 |
max_depth |
8 |
learning_rate |
0.01 |
n_estimators |
1000 |
objective |
reg: squarederror |
booster |
gbtree |
random_state |
0 |
下面计算XGBoost模型测试集的RMSE、MAE和R2,如
评价指标 |
数值 |
R2 |
0.8221 |
RMSE |
0.219554 |
MAE |
0.161956 |
如
模型名称 |
R2 |
RMSE |
MAE |
SVR |
0.6842 |
0.426502 |
0.317856 |
XGBoost |
0.8221 |
0.219554 |
0.161956 |
随着机器学习技术的高速发展,基于大数据的机器学习预测模型在各行各业得到了广泛的认可和应用。变幻莫测的房价成为了当前社会的焦点话题,如果能够较为准确地预测房价,对购房者、售房者都有很大的辅助作用。本文分析了国内外房价预测的研究现状,拟探索一种基于机器学习的房价预测模型,来实现房价的预测,并根据预测模型建立房价预测系统,实现其应用价值。本文选择SVR模型和XGBoost模型作为预测房价的基础模型,通过网格搜索法优化参数,最终得到XGBoost模型的预测性能优于SVR模型。
基于已有文献的发现,构建组合模型是一个具有潜力和前景的研究方向。通过整合多种模型的预测能力,组合模型往往能够取得比单一模型更优秀的预测效果。例如,陈绵旺
房价的影响因素不仅仅是Kaggle平台提供特征变量,还有包括文化、政策,甚至是周边的配套情况,如学区房、地铁等都需要获取。