当前位置:   article > 正文

R语言软件对房屋价格预测:回归、LASSO、决策树、随机森林、GBM、神经网络和SVM可视化|数据分享...

R语言软件对房屋价格预测:回归、LASSO、决策树、随机森林、GBM、神经网络和SVM可视化|数据分享...

全文链接:https://tecdat.cn/?p=34827

在房地产市场中,准确地预测房屋价格是至关重要的。过去几十年来,随着数据科学和机器学习的快速发展,各种预测模型被广泛应用于房屋价格预测中。而R语言作为一种强大的数据分析和统计建模工具,被越来越多的研究者和从业者选择用于房屋价格预测点击文末“阅读原文”获取完整代码数据)。

相关视频

本文将介绍帮助客户使用R语言软件进行房屋价格预测的几种常见方法,包括回归、LASSO、决策树、随机森林、GBM、神经网络和支持向量机(SVM)。通过这些方法的比较和分析,我们将探讨它们在房屋价格查看文末了解数据免费获取方式预测中的优势和不足,并通过可视化的方式展示它们的预测结果。

首先读取数据。

data=read.csv("Amsing.csv")

 查看原始数据(直接从Ames评估办公室获得)用于税务评估目的,但本身直接预测房屋售价。

 首先查看部分数据,以观看数据中有哪些变量。

head(data)

30fa6951318760f80b37ba86f53334ea.png

获取数据的基本统计量。

summary(data)

1940658a4db1fc60a6ed695562a02bde.png

adc867e3146013f8811f7512952fd64e.png

对房屋面积进行可视化,可以让我们对房屋的面积有一个直观的影响,从而也可以排除掉一部分异常点的影响。

8649527c9377abc4417322bc17e17d79.png

59553f9fc102427108c512ec9229cb05.png

从可视化结果来看,可以发现数据中存在较多的异常数据。可能会影响后续的预测过程,因此将它们去除。

查看数据结构

通过查看数据结构,我们可以了解到,哪些数据是数值变量比如房屋面积,总体质量建立年份,哪些数据是因此变量比如街道,土地坡度,房屋状况,哪些数据的因子有哪些。

str(data)

649d8384a58f7daf83703037d1ae3407.png

d828d55c137c77aa4453384b12aef5bf.png

绘制相关散点图

通过绘制相关散点图,我们可以查看数值变量之间存在哪些关系?

20d732cbe8d696b13b02138fc3dff255.png


点击标题查阅往期内容

73cae7c3c1685cba59df27bf6fffe4bf.jpeg

线性回归和时间序列分析北京房价影响因素可视化案例

outside_default.png

左右滑动查看更多

outside_default.png

01

89aaf702b82bbb1d8d2b444a17095bc4.png

02

b41b6d7637aa48ed06fc29a789ce1425.png

03

67725290a7acf688e450c65e43530a1d.png

04

45d82b99f0daf4de69b131ea455da9e5.png

看变量之间的相关系数,我们可以找到相关性高的变量:

9c4eaadf716d03cebd7e547e79dd3a89.png

从相关系数和散点图来看,我们可以看到,房屋价格 和房屋的总体质量,建立年份,房屋面积,房屋层高 等变量存在相关关系。

 
然后我们查看数据中是否存在共线性问题

kappa(corr, exact = T)

4c7da865ab945c3d1b76fe2407ce1e0e.png

查看变量之间的boxplot图

9e198dc9fc733bb5ccccecd8b1b92417.png

867f1b238a0c80f0f28a9b067413fe5f.png

bdff215c725562e3a5a12b7a78c5a087.png

正如我们从不同变量之间的箱线图和上面的房屋销售价格中看到的,高销售价格的房屋有更多的卧室、浴室和车库。

正如我们从房屋售价和质量之间的箱线图上看到的,高售价房屋的质量更高。

提取训练集,测试集

indices = sample(nrow(data), nrow(data)*0.7)

回归模型 linear regression

3a70bdbdae80db46658791feb4b7279a.png

从回归模型的结果来看,我们可以看到部分变量是显著的,说明他们对房屋的价格,有很大的影响。显著的变量有车库面积,走廊,浴池,总体质量,房屋层高等等。从R方的结果来看,R方等于93%,因此,模型解释了房屋价格大部分的方差,可以说模型的拟合效果非常良好

残差表现来看模型的拟合好坏

ce22390c5e537c02c3fda77319fc252c.png

左上方的图是一个散点图,用于表示拟合值和残差的关系。从图中可以看到,除了第二个异常值外,其余所有点都在纵坐标值-1和+1之间随机分布。

接下来的图是一个散点图,表示拟合值的标准化偏差和残差的关系,其意义与上述相似。右上方的图显示随机误差项服从正态分布,这是因为正态QQ图可以近似视为一条直线。

右下方的图进一步证实了第二个观察值是一个异常值,它对回归方程的影响相对较大。

lasso 模型

在建立lasso模型之后,我们绘制误差变化图

77be9185c7d2e341713089c39fff55e7.png

绘制系数变化图

4329c9c47982b6610fe7d5749e395127.png

LASSO回归复杂度调整的程度由参数λ来控制,λ越大对变量较多的线性模型的惩罚力度就越大,从而最终获得一个变量较少的模型。因此误差最小的点对应选取log(lamda)=9为最优模型。

regression  trees 回归树模型

拟合模型

b4a8d1a0c9a2378a1847ea14b75c0102.png

绘制决策树

a0793710334cf9f2daf8f72b958edc28.png

从结果来看,房屋的价格主要受到总体质量,走廊,房屋层高,车库等因素影响

一般来说,车库面积越大,总体质量越高,层高越高,那么价格就越高

然后通过得到的决策树模型进行预测得到误差

random forests 随机森林模型

模型结果

b7ecabc771ae9d88f86358b810ab7cf0.png

从随机森林模型的结果来看, 一共生成了五百个随机树,房屋价格的方差被解释了76.75%

得到变量,重要性结果

e8bea872a9f811df814d5af76e67232d.png

从结果来看,可以得到和决策树类似的结论,可以看到,房屋建立的年份,以及车库面积房屋层高等因素对房屋的价格都有重要的影响。

对变量的重要性进行可视化

79bff7526199941dffea8696ae5c5b9f.png

在得到模型之后,对测试集进行预测,并且得到误差

GBM模型

09b8e3908c5bf062e68ca59d40bbf6ce.png

a0456e98b12afee5ad212ea556388212.png

从模型结果来看,可以得到和决策树随机森林类似的结果。上面是相对重要性变量的图,可以看到建立年份,车库面积,房屋层高对房屋的价格有重要的影响

neural    network 神经网络

建立神经网络模型

07ec8ed953c16ba62348c0befeeb8e95.png

0267e9ca11f6f508e8c2e429beeaabe9.png

从结果来看,得到一个三层的神经网络以及641个神经元,得到的结果已经完全converged。因此模型拟合较好,所以对测试集进行预测,并且得到误差结果

SVM模型

 用svm建立分类模型

使用回归核函数数据进行支持,向量机建模

8f70572d20930421709224ff6c726659.png

从结果来看,可以得到它的最优参数以及支持向量的个数124个。在得到模型结果后,对测试集进行预测,并且得到误差结果。

总结评估

在对数据进行六个模型建模后,分别得到了每个模型的误差结果,然后我们将所有的误差结果进行汇总,并且比较每个模型的优劣。

测试误差:随机森林最小,回归次之,其他模型较大。准确度:随机森林最优,但训练复杂。效率:回归模型较高。解释度:决策树模型可解释,神经网络不可解释。其他模型需提高准确度。综上,推荐随机森林预测房屋价格。

数据获取

在公众号后台回复“房价数”,可免费获取完整数据。

e3a46d71dcd21baf6442e78ed43548aa.jpeg

本文中分析的数据分享到会员群,扫描下面二维码即可加群!

9f2b2da25d8964bbec1e8001ff832389.png

fed5d85ce4f964003e8f2cc970b7ff6d.png

点击文末“阅读原文”

获取全文完整代码数据资料。

本文选自《R语言软件对房屋价格预测:回归、LASSO、决策树、随机森林、GBM、神经网络和SVM可视化》。

e0ac93ed7489e44ddb442751215e5408.jpeg

c4071d4dce786a4ad766831dd221cfd1.png

点击标题查阅往期内容

数据分享|R语言逻辑回归、线性判别分析LDA、GAM、MARS、KNN、QDA、决策树、随机森林、SVM分类葡萄酒交叉验证ROC

R语言贝叶斯广义线性混合(多层次/水平/嵌套)模型GLMM、逻辑回归分析教育留级影响因素数据

逻辑回归Logistic模型原理R语言分类预测冠心病风险实例

数据分享|用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化

R语言高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据(含练习题)

Python中LARS和Lasso回归之最小角算法Lars分析波士顿住房数据实例

R语言Bootstrap的岭回归和自适应LASSO回归可视化

R语言Lasso回归模型变量选择和糖尿病发展预测模型

R语言实现贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析

基于R语言实现LASSO回归分析

R语言用LASSO,adaptive LASSO预测通货膨胀时间序列

R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析

R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择的分类模型案例

Python中的Lasso回归之最小角算法LARS

r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现

r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现

R语言实现LASSO回归——自己编写LASSO回归算法

R使用LASSO回归预测股票收益

python使用LASSO回归预测股票收益

f39bbfce93cea5c04a209a1c0110e39e.png

c131552507c38e25c60725418ca7aad2.jpeg

85fac313e4fe4684737480af32031b09.png

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号