R语言用灰色模型 GM (1,1)、神经网络预测房价数据和可视化

以苏州商品房房价为研究对象,帮助客户建立了灰色预测模型 GM (1,1)、 BP神经网络房价预测模型,利用R语言分别实现了 GM (1,1)和 BP神经网络房价预测可视化。

 

由Kaizong Ye,Liao Bao撰写

由于房价的长期波动性及预测的复杂性,利用传统的方法很难准确预测房价,而灰色模型 GM (1,1)和神经网络的结合在一定程度上可以很好的解决这个问题。

文章首先介绍了 GM (1,1)模型和神经网络模型,然后利用R语言和其工具箱提供的预测房价功能,对住宅类商品房销售价格进行预测。

结果表明该方法能够有效提高房价预测的精度,为房地产市场管理者及投资者提供一定的参考。

灰色模型

灰色预测的主要特点是模型使用的不是原始数据序列,而是生成的数据序列。

灰色模型(Grey Model, GM)的核心在于通过对原始数据进行累加生成或其他形式的处理,使得原本看似无规律的数据呈现出近似的指数规律,进而基于这种规律进行建模。这种方法在数据分析和预测领域有着广泛的应用,尤其适用于那些历史数据较少、序列完整性和可靠性较低的情况。

其核心体系是灰色模型(Grey Model,GM),即对原始数据作累加生成(或其他方法生成)得到近似的指数规律再进行建模的方法。优点是不需要很多的数据,就能解决历史数据少、序列的完整性及可靠性低的问题;能利用微分方程来充分挖掘系统的本质,精度高;能将无规律的原始数据进行生成得到规律性较强的生成序列,运算简便,易于检验,不考虑分布规律,不考虑变化趋势。

然而,灰色模型也存在一些局限性,主要体现在:

  1. 适用范围有限:灰色模型主要适用于中短期的预测,对于长期预测的效果可能不佳。此外,它更适用于指数增长的预测,对于其他类型的增长模式可能不太适用。
  2. 对数据的依赖性:虽然灰色模型对数据量的要求不高,但数据的质量和分布仍然会对模型的预测效果产生影响。如果数据存在较大的噪声或异常值,可能会对模型的准确性造成干扰。
#训练数据  

train=mynx[1:floor(length(mynx)*0.8)]

image.png
image.png

视频

人工神经网络ANN中的前向传播和R语言分析学生成绩数据案例

探索见解

去bilibili观看

探索更多视频

GM11<-function(x0,t,x){     #x0为输入训练数据序列列,t为预测个数,x为原始数据(训练数据+测试集)  
  x1<-cumsum(x0) #一次累加生成序列1-AG0序列  
  b<-numeric(length(x0)-1)  
  n<-length(x0)-1  
  for(i in 1:n){ #生成x1的紧邻均值生成序列
  
  \n','\n') #利用最小二乘法求得参数估计值a,u  
  y<-numeric(length(c(1:t)))  
  y[1]<-x1[1]  
  for(w in 1:(t-1)){  #将a,u的估计值代入时间响应序列函数计算x1拟合序列y
GM11(train,lnx),mynx)#拟合
image.png
image.png

图片

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

阅读文章


gm=GM11(train,length(mynx)+20,mynx)#预测20年的房价
image.png

随时关注您喜欢的主题


image.png

从灰色模型的结果来看,未来的趋势房价有较大上涨。

image.png

神经网络预测

fcast <- forecast(fit,h=20)  
plot(fcast)
image.png
image.png

从神经网络模型预测的结果来看,未来的房价会有较平稳的增长。


可下载资源

关于作者

Kaizong Ye拓端研究室(TRL)的研究员。在此对他对本文所作的贡献表示诚挚感谢,他在上海财经大学完成了统计学专业的硕士学位,专注人工智能领域。擅长Python.Matlab仿真、视觉处理、神经网络、数据分析。

本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。

​非常感谢您阅读本文,如需帮助请联系我们!

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498

关注有关新文章的微信公众号


永远不要错过任何见解。当新文章发表时,我们会通过微信公众号向您推送。

技术干货

最新洞察

This will close in 0 seconds