全文链接:http://tecdat.cn/?p=32427
原文出处:拓端数据部落公众号
分析师:Xueyan Liu
在当前海量数据和资源的情况下,面对客户需求,如何找准需求标的和问题核心,并围绕该目标问题挖掘数据、确定市场重要关联因素、分层分类筛选可能关联因素,是当前数据分析运用的关键。
解决方案
任务/目标
此项目根据全美房地产相关多源数据,旨在用数据创建一个报告, 全方面多维度展示美国房屋市场现状。以房屋售价为核心,梳理主要相关指标,并挖掘其他可能相关性指标,通过对单一或多个指标,精准选择合理算法建模,对房屋市场未来发展作出预测,用以更好的展现市场的全貌。
数据准备:
前期数据来源:通过搜过官方或者新闻媒体的行业报告中的数据来源,初始数据包括:月度房地产相关数据
后期数据来源:根据探索性分析后的结果,有针对性的在开源数据库进行关键词搜索,包括
探索性数据分析(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也展示房屋市场各类指标表现出较强的地域差异,由此展开深入挖掘,通过二次数据搜索和调查,进行相关性分析。
预测模型结果:
三个模型中最精确的是SARIMA模型。但是从图像来看该模型没有很好的计算出季节性,经过再次尝试在去掉季节性因素后SARIMA模型的准确率又有了进一步提升。
而从Var 模型的系数p值结果来看,相关外生因素并没有显著性差异。XGBoost模型在面对有明显趋势的时间序列数据并不占优。
以三个预测模型作为参考,但是基本上都预示了房价在未来会稳定上涨的趋势。
其他可能性因素相关性分析结果:
下图从左至右分别是相关系数矩阵、PCA和LASSO算法结果的可视化
额外的24个因素中,虽然不同的方法结果有所不同,总的来说教育产业相关的指标均表现出较高的相关性,可以得出结论,房屋市场和教育产业高度相关。同时这些高度相关的指标也可以作为一个特征选择的参考,以便日后做进一步研究。
总结
以上展现所有的结果,包括:数据可视化,算法应用等都是研究房屋市场现状的一个手段不是目的。
想要用数据分析全方面的了解一个行业,不能仅限于行业里的数字研究,还需要发散性思考,结合市场调查或者行业领域专家的意见,对分析角度进行增补。 这样才能更好的将数据分析运用到实际中去。
关于分析师
最受欢迎的见解
1.在python中使用lstm和pytorch进行时间序列预测
2.python中利用长短期记忆模型lstm进行时间序列预测分析
3.Python用RNN循环神经网络:LSTM长期记忆、GRU门循环单元、回归和ARIMA对COVID-19新冠疫情新增人数时间序列
4.Python TensorFlow循环神经网络RNN-LSTM神经网络预测股票市场价格时间序列和MSE评估准确性
5.r语言copulas和金融时间序列案例
6.R 语言用RNN循环神经网络 、LSTM长短期记忆网络实现时间序列长期利率预测
7.Matlab创建向量自回归(VAR)模型分析消费者价格指数 (CPI) 和失业率时间序列
8.r语言k-shape时间序列聚类方法对股票价格时间序列聚类
9.R语言结合新冠疫情COVID-19股票价格预测:ARIMA,KNN和神经网络时间序列分析
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
战术卧倒 golang中常见的日志包是logrus, 根据logrus的胚子和我们的生产要求,给出一个生产可用的logrus实践姿势。 主谓宾定状补 logrus是一个结构化的、可插拔的、兼容golang标准log api的日志库。 快速过一下能力 支持对ou…