全文链接:http://tecdat.cn/?p=32427
在当前海量数据和资源的情况下,面对客户需求,如何找准需求标的和问题核心,并围绕该目标问题挖掘数据、确定市场重要关联因素、分层分类筛选可能关联因素,是当前数据分析运用的关键
任务/目标
此项目根据全美房地产相关多源数据(查看文末了解数据免费获取方式),旨在用数据创建一个报告, 全方面多维度展示美国房屋市场现状。以房屋售价为核心,梳理主要相关指标,并挖掘其他可能相关性指标,通过对单一或多个指标,精准选择合理算法建模,对房屋市场未来发展作出预测,用以更好的展现市场的全貌。
数据准备:
前期数据来源:通过搜过官方或者新闻媒体的行业报告中的数据来源,初始数据包括:月度房地产相关数据
后期数据来源:根据探索性分析后的结果,有针对性的在开源数据库进行关键词搜索,包括
探索性数据分析(EDA):
通过对数据进行清洗,将数据可视化;从统计分布,地域分布,时间分布等多维度进行分析、寻找数据之间的关系,并由此分析出更多可能相关因素,以进一步深入挖掘。
为了更清晰的表现数据,采用R中flexdashboard制作可互动性报告,并尽可能采用多种不同的图表,以最大效用可视化数据。例如:创建条形图,对比房屋挂牌价和实际售价的分布;或者创建地图,以示不同地区房屋售价或者租金分布的差异。
创建预测模型:
使用预测模型,以更好的了解行业未来的发展趋势:
SARIMA 时间序列模型
基于arima时间序列模型之上,考虑了季节性因素。把过去的值(AR)、过去的预测误差(MA)、过去值之间的差异(I)和季节长度(S)作为预测参数。通过对PACF和ACF的分析,找到最优参数,来进行预测。
VAR 时间序列模型
VAR也称为向量自回归模型, 是一种在自回归模型的基础上扩展模型。VAR模型即将内生滞后值,也将同期的外生滞后项视为回归量,可在单个模型中同时预测多个时间序列相关变量。
XGBoost 模型
是一种常见的决策树算模型,他通过不对的已有的树修正再创建新书,直到最优结果。当用于时间序列预测时,需要把时间序列数据转化为监督数据:把需要预测目标数据为因变量,把时间点拆分为年份和月,作为哑变量。
其他可能性因素相关性验证:
除去房屋市场自身产业指标对房价的影响,再挖掘其他可能性影响因素后,需要验证这些指标是否相关。
相关系数矩阵
直观的表现出不同指标关联性的强弱。
特征提取模型
通过建模型,降低数据维度,挑选出重要指标。既可以为日后预测建模提供统计学的数据参考,也可以侧面说明该指标对房价有很大的影响
1. PCA 主成分分析
通常用于减少维数。它用于将具有许多列的数据集减少到较少的列数,而不会丢失数据的本质。作为附带结果,它还提供了变量之间的相关性。PCA将24个指标缩减为能解释90%的主要成分数,并将特征在降维方面起了作用的重要程度排名筛选出最重要的五个特征。
2. LASSO
Lasso算法是一种监督算法,尝试找出所有独立变量与目标变量之间的相关性。Lasso变量的系数逼近零,实现收缩。通过交叉验证找到最佳约束参数。
EDA 结果:
下图仅为报告的可交互式dashboard部分截图,涵盖了部分EDA结果。
通过EDA的分析,我发现房价展现出较为稳定的周期性和增长趋势,并和部分其他指标有着关联性,因此挑选了三种不同的模型可能适用的模型(VAR,SARIMA,XGBOOST),在下一部分进行预测分析。
同时EDA也展示房屋市场各类指标表现出较强的地域差异,由此展开深入挖掘,通过二次数据搜索和调查,进行相关性分析。
PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络、KMEANS聚类、地理可视化
01
02
03
04
预测模型结果:
三个模型中最精确的是SARIMA模型。但是从图像来看该模型没有很好的计算出季节性,经过再次尝试在去掉季节性因素后SARIMA模型的准确率又有了进一步提升。
而从Var 模型的系数p值结果来看,相关外生因素并没有显著性差异。XGBoost模型在面对有明显趋势的时间序列数据并不占优。
以三个预测模型作为参考,但是基本上都预示了房价在未来会稳定上涨的趋势。
其他可能性因素相关性分析结果:
下图从左至右分别是相关系数矩阵、PCA和LASSO算法结果的可视化
额外的24个因素中,虽然不同的方法结果有所不同,总的来说教育产业相关的指标均表现出较高的相关性,可以得出结论,房屋市场和教育产业高度相关。同时这些高度相关的指标也可以作为一个特征选择的参考,以便日后做进一步研究。
以上展现所有的结果,包括:数据可视化,算法应用等都是研究房屋市场现状的一个手段不是目的。
想要用数据分析全方面的了解一个行业,不能仅限于行业里的数字研究,还需要发散性思考,结合市场调查或者行业领域专家的意见,对分析角度进行增补。这样才能更好的将数据分析运用到实际中去。
在此对Xueyan Liu对本文所作的贡献表示诚挚感谢,她在乔治城大学完成了数据科学专业的硕士学位。擅长数据整理,可视化数据和模型,统计学习,机器学习, 时间序列。
本文选自《R语言分析房屋市场:arima、VAR时间序列、XGBoost、主成分分析、LASSO可视化报告》。
点击标题查阅往期内容
R语言贝叶斯广义线性混合(多层次/水平/嵌套)模型GLMM、逻辑回归分析教育留级影响因素数据
高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据
Python高维变量选择:SCAD平滑剪切绝对偏差惩罚、Lasso惩罚函数比较
R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择的分类模型案例
广义线性模型glm泊松回归的lasso、弹性网络分类预测学生考试成绩数据和交叉验证
贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析免疫球蛋白、前列腺癌数据
R语言RSTAN MCMC:NUTS采样算法用LASSO 构建贝叶斯线性回归模型分析职业声望数据
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现
R语言高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据(含练习题)
Python中LARS和Lasso回归之最小角算法Lars分析波士顿住房数据实例
R语言Bootstrap的岭回归和自适应LASSO回归可视化
R语言实现贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析
R语言用LASSO,adaptive LASSO预测通货膨胀时间序列
R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析
R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择的分类模型案例
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现
r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现
Python中LARS和Lasso回归之最小角算法Lars分析波士顿住房数据实例
R语言Bootstrap的岭回归和自适应LASSO回归可视化
R语言实现贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析
R语言用LASSO,adaptive LASSO预测通货膨胀时间序列
R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析
R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择的分类模型案例
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现
r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现
R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析
数据分享|R语言逻辑回归、线性判别分析LDA、GAM、MARS、KNN、QDA、决策树、随机森林、SVM分类葡萄酒交叉验证ROC
R语言用Rcpp加速Metropolis-Hastings抽样估计贝叶斯逻辑回归模型的参数
R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病
R语言中贝叶斯网络(BN)、动态贝叶斯网络、线性模型分析错颌畸形数据
R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归
R语言实现贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析
R语言用WinBUGS 软件对学术能力测验建立层次(分层)贝叶斯模型
R语言和STAN,JAGS:用RSTAN,RJAG建立贝叶斯多元线性回归预测选举数据
R语言贝叶斯推断与MCMC:实现Metropolis-Hastings 采样算法示例
R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化
R语言随机搜索变量选择SSVS估计贝叶斯向量自回归(BVAR)模型
R语言实现MCMC中的Metropolis–Hastings算法与吉布斯采样
R语言贝叶斯推断与MCMC:实现Metropolis-Hastings 采样算法示例
R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化
R语言MCMC:Metropolis-Hastings采样用于回归的贝叶斯估计
R语言用lme4多层次(混合效应)广义线性模型(GLM),逻辑回归分析教育留级调查数据
R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析