写在前面:
内容出自课程《数学建模学习交流》,主讲人:清风
灰色预测是对既含有已知信息又含有不确定信息的系统进行预
测,就是对在一定范围内变化的、与时间有关的灰色过程进行预测。
灰色预测对原始数据进行生成处理来寻找系统变动的规律,并
生成有较强规律性的数据序列,然后建立相应的微分方程模型,从
而预测事物未来发展趋势的状况。
GM(1,1)
原理
设
x(0)=(x(0)(1),x(0)(2),...,x(0)(n))是最初的非负数据列,对其进行一次累加得到新的生成数据列
x(1):
x(1)=(x(1)(1),x(1)(2),...,x(1)(n))
其中,
x(1)(m)=∑i=1mx(0)(i),m=1,2,...,n,
令
z(1)为数列
x(1)的紧邻均值生成数列,即
z(1)=(z(1)(2),z(1)(3),...,z(1)(n)),其中
z(1)(m)=δx(1)m+(1−δ)x(1)(m−1),m=2,3,...,n且δ=0.5
称
x(0)(k)+az(1)(k)=b为
GM(1,1)模型的基本形式
(k=2,3,...,n),其中,
b表示灰作用量,
−a表示发展系数。
==>
x(0)(k)=−az(1)(k)+b
==>
y=kx+b
通常情况下,若
∣a∣>2,则模型贴合度极差,建议更换预测方式;其余情况越小越好。
还可以对进行修正:
x^1(k+1)={(x0(1)−ab)e−ak+ab(x0(1)−ab)e−ak+ab±aε(ε0(k0)−aεbε)e−a(k−k0)
检验
拓展
GM(1,1)一般只适用于单调指数增长序列,若数据呈现饱和的S型,可以考虑下面几个模型:
Verhulst模型
Verhulst模型的灰微分方程在GM(1,1)的基础上做出了更改:
x(0)(k)=−az(1)(k)+b(z1)2
预测方程:
x^1(k+1)=bx1(0)+(a−bx1(0))eakax1(0)
GM(2,1)模型