以苏州商品房房价为研究对象,帮助客户建立了灰色预测模型 GM (1,1)、 BP神经网络房价预测模型,利用R语言分别实现了 GM (1,1)和 BP神经网络房价预测可视化。
由于房价的长期波动性及预测的复杂性,利用传统的方法很难准确预测房价,而灰色模型 GM (1,1)和神经网络的结合在一定程度上可以很好的解决这个问题。
文章首先介绍了 GM (1,1)模型和神经网络模型,然后利用R语言和其工具箱提供的预测房价功能,对住宅类商品房销售价格进行预测。
结果表明该方法能够有效提高房价预测的精度,为房地产市场管理者及投资者提供一定的参考。
灰色模型
灰色预测的主要特点是模型使用的不是原始数据序列,而是生成的数据序列。
灰色模型(Grey Model, GM)的核心在于通过对原始数据进行累加生成或其他形式的处理,使得原本看似无规律的数据呈现出近似的指数规律,进而基于这种规律进行建模。这种方法在数据分析和预测领域有着广泛的应用,尤其适用于那些历史数据较少、序列完整性和可靠性较低的情况。
其核心体系是灰色模型(Grey Model,GM),即对原始数据作累加生成(或其他方法生成)得到近似的指数规律再进行建模的方法。优点是不需要很多的数据,就能解决历史数据少、序列的完整性及可靠性低的问题;能利用微分方程来充分挖掘系统的本质,精度高;能将无规律的原始数据进行生成得到规律性较强的生成序列,运算简便,易于检验,不考虑分布规律,不考虑变化趋势。
然而,灰色模型也存在一些局限性,主要体现在:
- 适用范围有限:灰色模型主要适用于中短期的预测,对于长期预测的效果可能不佳。此外,它更适用于指数增长的预测,对于其他类型的增长模式可能不太适用。
- 对数据的依赖性:虽然灰色模型对数据量的要求不高,但数据的质量和分布仍然会对模型的预测效果产生影响。如果数据存在较大的噪声或异常值,可能会对模型的准确性造成干扰。
#训练数据
train=mynx[1:floor(length(mynx)*0.8)]
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)#拟合
gm=GM11(train,length(mynx)+20,mynx)#预测20年的房价
随时关注您喜欢的主题
从灰色模型的结果来看,未来的趋势房价有较大上涨。
神经网络预测
fcast <- forecast(fit,h=20)
plot(fcast)
从神经网络模型预测的结果来看,未来的房价会有较平稳的增长。
可下载资源
关于作者
Kaizong Ye是拓端研究室(TRL)的研究员。在此对他对本文所作的贡献表示诚挚感谢,他在上海财经大学完成了统计学专业的硕士学位,专注人工智能领域。擅长Python.Matlab仿真、视觉处理、神经网络、数据分析。
本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。
非常感谢您阅读本文,如需帮助请联系我们!