灰色 GM(1,1)模型在重庆商品房销售价格预测中的应用

本文探讨了灰色GM(1,1)模型在预测重庆市2021-2023年商品房销售价格中的应用,基于2012-2020年数据建立模型,并通过Python实现,分析预测结果与实际数据的相对误差,为购房者决策提供依据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

灰色 GM(1,1)模型在重庆商品房销售价格预测中的应用
AdamCY888

摘要:本文针对重庆市商品房价格预测问题,介绍了GM(1,1)模型基本原理,利用Python程序设工具,建立GM(1,1)灰色预测模型并进行预测,得到未来三年的预测价格并进行模型评价,从而为购房者提供决策。
关键词:GM(1,1)、重庆、商品房、销售价格、预测

一、 引言

    我国的房地产市场已进入快速发展时期,如何采取有效的措施对商品房价格进行价格引导,减少或消除价格偏离导致的不利影响,是事关我国房地产行业可持续发展的一个重要课题。因此,对商品房销售价格的合理分析和准确预测成为当务之急。
    重庆由于其独特的背景在全国各地的房价中处于“低价格”水平,在选择对象中具有研究价值,选取灰色 GM(1,1)模型对重庆市区 2021、2022、2023 年商品房价格进行预测分析,并拟合2012-2020年房价数据进行对比,测算其相对误差。

二、GM(1,1)模型基本原理

    灰色系统理论由我国学者邓聚龙等于 20 世纪 80 年代提出, 灰色系统是指相对于一定的认识层次,系统内部的信息部分已知, 部分未知, 即信息不完全的系统。
    灰色系统理论认为, 由于各种环境因素对系统的影响, 使得表现系统行为特征的离散数据呈现出离乱, 但是这一无规的离散序列是潜在的有规序列的一种表现, 系统总是有其整体功能, 也就必然蕴含着某种内在规律。因而任何随机过程都可看作是在一定时空区域变化的灰色过程, 随机量可看作是灰色量, 通过生成变换可将无规序列变成有规序列。
    GM(1,1)模型的基本原理是基于原始数据逐步变化特性,在数据处理过程中,对原始数列进行累加生成,能够生成具有指数增长规律的数列,通过建立一阶微分方程并对数据进行累减生成,即可得到预测数据。

2.1、模型的建立方法

(1)累加生成
    将原始数列作为随机数列做一次累加,得到累加生成序列 x i ( 1 ) ( i = 0 , 1 , 2 , . . . n ) x_{i}^{(1)}(i=0,1,2,...n) xi(1)(i=0,1,2,...n) 并且满足指数增长规律,因此, x i ( 1 ) ( i = 0 , 1 , 2 , . . . n ) x_{i}^{(1)}(i=0,1,2,...n) xi(1)(i=0,1,2,...n) 满足一阶线性微分方程:
d X ( 1 ) d t + a X ( 1 ) = u \frac{\mathrm{d} X^{(1)}}{\mathrm{d}t}+aX^{(1)}=u dtdX(1)+aX(1)=u
    其中, t t t 代表时间, X ( 1 ) X^{(1)} X(1)是时间的函数。

(2)参数估计
     a a a 为待辨识参数,亦称发展系数,利用最小二乘法求解其近似值。计 u u u 为灰作用量,即待辨识内生变量,则:
a ^ = ( B T B ) − 1 B T y n = ( a u ) \hat{a}=(B^{T}B)^{-1}B^{T}y_{n}=\binom{a}{u} a^=(BTB)1BTyn=(ua)
    然后,将近似值代入原微分方程进行求解。其中:
B = ( − 1 2 ( x 1 ( 1 ) + x 2 ( 1 ) ) 1 − 1 2 ( x 2 ( 1 ) + x 3 ( 1 ) ) 1 : : − 1 2 ( x n − 1 ( 1 ) + x n ( 1 ) ) 1 ) B=\begin{pmatrix} -\frac{1}{2}(x_{1}^{(1)}+x_{2}^{(1)}) & 1 \\ -\frac{1}{2}(x_{2}^{(1)}+x_{3}^{(1)})& 1 \\ : & :\\ -\frac{1}{2}(x_{n-1}^{(1)}+x_{n}^{(1)}) & 1\\ \end{pmatrix} B=21(x1(1)+x2(1))21(x2(1)+x3(1)):21(xn1(1)+xn(1))11:1

y n = [ x 2 ( 0 ) x 3 ( 0 ) : x n ( 0 ) ] y_{n}=\begin{bmatrix} x_{2}^{(0)}\\ x_{3}^{(0)}\\ :\\ x_{n}^{(0)}\\ \end{bmatrix} yn=x2(0)x3(0):xn(0)

(3)求解模型
    对原微分方程求解,可以得到离散时间响应函数,原微分方程的近似解为:
X i + 1 ( 1 ) = [ X i ( 0 ) − u a ] e − a i + u a X_{i+1}^{(1)}=[X_{i}^{(0)}-\frac{u}{a}]e^{-ai}+\frac{u}{a} Xi+1(1)=[Xi(0)au]eai+au

(4)模型预测
    若检验合格,则可以用模型进行预测。
    计算出:
X i + 1 ( 2 ) = X i + 1 ( 1 ) − X i ( 1 ) , X i + 2 ( 2 ) = X i + 2 ( 1 ) − X i + 1 ( 1 ) , . . . X_{i+1}^{(2)}=X_{i+1}^{(1)}-X_{i}^{(1)},X_{i+2}^{(2)}=X_{i+2}^{(1)}-X_{i+1}^{(1)},... Xi+1(2)=Xi+1(1)Xi(1),Xi+2(2)=Xi+2(1)Xi+1(1),...
    即得到 X i + 1 ( 0 ) , X i + 2 ( 0 ) , . . . X_{i+1}^{(0)},X_{i+2}^{(0)},... Xi+1(0),Xi+2(0),...的预测值。

2.2、模型基本特点

    灰色系统理论核心和基础的灰色模型(GreyMode1), 简称 GM 模型, 概括而言具有以下 3 个特点:
    (1)建模所需信息较少, 通常只要有 4 个以上数据即可建模;
    (2)不必知道原始数据分布的先验特征, 对无规或不服从任何分布的任意光滑离散的原始序列, 通过有限次的生成即可转化成为有规序列;
    (3)建模的精度较高, 可保持原系统的特征, 能较好地反映系统的实际状况。
    本文选用灰色 GM(1,1)模型,并借助Python程序设计,使得对重庆房价进行预测研究具有可行性。

三、房价预测模型的建立

3.1、原始数据的获取

    重庆市区为四个直辖市之一,吸引着各地的眼光,外来人口不断增加,房地产行业也不断发展,如何更好的掌握商品房销售价格增长规律,对城市的发展至关重要。以重庆市区 2012-2020 年商品房销售价格为例,对模型的灵敏性进行检验,通过“安居客”平台统计资料可查得相关数据。通过Python程序设计计算GM(1,1)参数并进行拟合预测,代码见附录一。

3.2、模型的应用

    根据灰色预测模型构建原理可得原始数据为:
     [ 6550 , 6896 , 6718 , 6289 , 7493 , 9925 , 12080 , 11187 , 11275 ] T [ 6550, 6896, 6718, 6289, 7493,9925,12080,11187,11275]^{T} [6550,6896,6718,6289,7493,9925,12080,11187,11275]T
    对原始数列进行累加,生成累加生成序列为:
     [ 6550 , 13446 , 20164 , 26453 , 33946 , 43871 , 55951 , 67138 , 78413 ] T [6550, 13446, 20164, 26453, 33946, 43871, 55951, 67138, 78413]^{T} [6550,13446,20164,26453,33946,43871,55951,67138,78413]T

    可求得参数B 矩阵:
B = [ − 9.99800 e + 03 1 − 1.68050 e + 04 1 − 2.33085 e + 04 1 − 3.01995 e + 04 1 − 3.89085 e + 04 1 − 4.99110 e + 04 1 − 6.15445 e + 04 1 − 7.27755 e + 04 1 ] B = \begin{bmatrix} -9.99800e+03 & 1\\ -1.68050e+04 & 1\\ -2.33085e+04& 1\\ -3.01995e+04& 1\\ -3.89085e+04 & 1\\ -4.99110e+04 & 1\\ -6.15445e+04 & 1\\ -7.27755e+04 & 1 \end{bmatrix} B=9.99800e+031.68050e+042.33085e+043.01995e+043.89085e+044.99110e+046.15445e+047.27755e+0411111111

     y y y矩阵为:
y = [ 6896 , 6718 , 6289 , 7493 , 9925 , 12080 , 11187 , 11275 ] T y= [6896,6718, 6289, 7493, 9925,12080,11187,11275]^{T} y=[6896,6718,6289,7493,9925,12080,11187,11275]T
    将以上参数带入公式 GM(1,1)求解,最小二乘估计参数为:
     a a a = -0.09682929, b b b =4549.89922748 , b / a b/a b/a = -46988.87347486
    将求解的 a a a b b b 数值带入公式,可以得到 GM(1,1)模型的函数式将 2012-2020 年原始数据带入公式,即可求得相对应的预测值。

3.3、房价预测及评价

    模型通过对房价进行预测,求得 2021-2023 年重庆市区商品房销售价格预测值,以及2012-2020 年的拟合值以及相对误差。

2021-2023 年重庆市区商品房销售价格预测值(元/m2)
年份202120222023
预测价格134941484916341
2012-2020 年重庆市区商品房销售价格、检验值以及拟合相对误差
年份201220132014201520162017201820192020
实际价格655068966718628974939925120801118711275
拟合价格65506275 6905 7599 8362 9202 10126 11143 12262
相对误差——-9.01%2.78%20.82%11.60%-7.29%-16.18%-0.39%8.76%

四、结论

    (1)求得 2021、2022、2023 年的预测值
    (2)从上述对于 2012-2020 年的拟合值中可以发现,其拟合值并不等于真实值,且相对误差有一定波动,模型效果一般。
    (3)针对上述(2)尚需改进的地方在于对拟合结果进行检验,判断GM(1,1)模型在本 问题研究中拟合效果的优良程度。

参考文献

[1]赵泰,迟建英.灰色 GM(1,1)模型在商品房销售价格预测中的应用[J].价值工程,2019.23(35):76—77
[2]王全意. 重庆直辖以来城乡居民收入差距变化趋势预测[J].重庆理工大学学报(社会学科),2011,25(1):45—50

附录一

#项目:实现GM(1,1)模型,求解参数及预测拟合。
#author:AdamCY888

import numpy as np
from math import e
m = 0
x0 = [ 6550, 6896,  6718, 6289, 7493,9925,12080,11187,11275]##2012-2020 年数据
x1 = list()
b = list()
for i in x0:
      m += i
      x1.append(m) ## x1 为 x0 的一次累加向量
for i in range(len(x0)-1):
      b.append(list((-0.5*(x1[i]+x1[i+1]),1)))
B = np.mat(b) ##高维列表转换为矩阵
Y = np.transpose(np.mat(x0[1:])) 
a = np.dot(np.dot(np.linalg.inv(np.dot(np.transpose(B),B)),np.transpose(B)),Y)
z = a[1]/a[0]
print("一次累加序列矩阵为:\n",x1)
print("B 矩阵为:\n",B)
print("Y 矩阵为:\n",Y)
print("最小二乘估计参数为:\n",a)
print("a = %s,b = %s"%(a[0],a[1]))
print("b/a = %s\n"%z)
mmm = list()
for i in range(len(x0)+2):
      A = (1-pow(e,float(a[0]))) * (x0[0] - z)*pow(e,-(float(a[0]))*(i+1) )
      mmm.append(A)
      print("%d 年的拟合值为%s" %(2013+i,A))
for i in range(len(x0)-1):
      AA = 100*abs(x0[i+1] - mmm[i])/x0[i+1]
      print("%d 年相对误差为:%s"%(2013+i,AA))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高山莫衣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值