数学建模学习笔记——预测类型1
雨中漫步
预测的方法比较多,包含统计分析法,弹性系数法,灰色预测法,模糊数学法,神经网络法,优选组合法和小波分析法等等,下面让我来介绍一下
灰色预测模型(Grey Model,GM)
特点:模型使用的是生成的数据序列,而不是传统的原始数据序列,其核心是灰色模型,对原始数据进行方法生成得到近似指数规律在进行建模。
优点:不需要很多数据就可以解决历史数据少,序列的完整性和可靠性的问题;运算简单,利于检验;不考虑分布规律和趋势。
缺点:只适用于中短期的预测,不适用于非指数增长的预测
###GM(1,1)模型预测步骤
####(1)数据的检验与处理
对已知的数据列作一定检验处理。设参考数据为:$\left( x^{\left( 0 \right)}\left( 1 \right) ,x^{\left( 0 \right)}\left( 2 \right) …x^{\left( 0 \right)}\left( n \right) \right) $,计算序列的级比:
λ
(
k
)
=
x
(
0
)
(
k
−
1
)
x
(
0
)
(
k
)
,
k
=
2
,
3...
\lambda \left( k \right) =\frac{x^{\left( 0 \right)}\left( k-1 \right)}{x^{\left( 0 \right)}\left( k \right)},k=2,3...
λ(k)=x(0)(k)x(0)(k−1),k=2,3...
若所有级比都在可溶覆盖$\left( e{-\frac{2}{n+1}},e{\frac{2}{n+2}} \right) $内,则可以对序列做GM(1,1)灰色预测,否则需要一定变换将其变为符合要求的序列,一般我们做的是平移变换。
####建立模型
对序列做一次累加处理后生成:
(
x
(
1
)
(
1
)
,
x
(
1
)
(
2
)
.
.
.
x
(
1
)
(
n
)
)
\left( x^{\left( 1 \right)}\left( 1 \right) ,x^{\left( 1 \right)}\left( 2 \right) ...x^{\left( 1 \right)}\left( n \right) \right)
(x(1)(1),x(1)(2)...x(1)(n))
其中:
x
(
1
)
(
k
)
=
∑
i
=
1
k
x
(
1
)
(
i
)
x^{\left( 1 \right)}\left( k \right) =\sum_{i=1}^k{x^{\left( 1 \right)}\left( i \right)}
x(1)(k)=∑i=1kx(1)(i)
做均值生成序列:
z
(
1
)
(
k
)
=
0.5
x
(
1
)
(
k
)
+
0.5
x
(
1
)
(
k
−
1
)
z^{\left( 1 \right)}\left( k \right) =0.5x^{\left( 1 \right)}\left( k \right) +0.5x^{\left( 1 \right)}\left( k-1 \right)
z(1)(k)=0.5x(1)(k)+0.5x(1)(k−1)
建立灰微分方程:
x
(
0
)
(
k
)
=
a
z
(
1
)
(
k
)
=
b
x^{\left( 0 \right)}\left( k \right) =az^{\left( 1 \right)}\left( k \right) =b
x(0)(k)=az(1)(k)=b
相应的白化微分方程为:
d
x
(
1
)
/
d
t
=
a
x
(
1
)
(
t
)
=
b
dx^{\left( 1 \right)}/dt =ax^{\left( 1 \right)}\left( t \right) =b
dx(1)/dt=ax(1)(t)=b
利用最小二乘法并求出:
x
∧
(
1
)
(
k
+
1
)
=
(
x
∧
(
0
)
(
0
)
−
b
∧
a
∧
)
e
−
a
∧
k
+
b
∧
a
∧
\overset{\land}{x}^{\left( 1 \right)}\left( k+1 \right) =\left( \overset{\land}{x}^{\left( 0 \right)}\left( 0 \right) -\frac{\overset{\land}{b}}{\overset{\land}{a}} \right) e^{-\overset{\land}{a}k}+\frac{\overset{\land}{b}}{\overset{\land}{a}}
x∧(1)(k+1)=⎝⎛x∧(0)(0)−a∧b∧⎠⎞e−a∧k+a∧b∧
并且:
x
∧
(
0
)
(
k
+
1
)
=
x
∧
(
1
)
(
k
+
1
)
−
x
∧
(
1
)
(
k
)
\overset{\land}{x}^{\left( 0 \right)}\left( k+1 \right)=\overset{\land}{x}^{\left( 1 \right)}\left( k+1 \right)-\overset{\land}{x}^{\left( 1 \right)}\left( k \right)
x∧(0)(k+1)=x∧(1)(k+1)−x∧(1)(k)
####检验预测值
(1)残差检验。令残差为
ξ
(
k
)
\xi \left( k \right)
ξ(k),计算:
ξ
(
k
)
=
x
(
0
)
(
k
)
−
x
∧
(
0
)
(
k
)
x
(
0
)
(
k
)
\xi \left( k \right) =\frac{x^{\left( 0 \right)}\left( k \right) -\overset{\land}{x}^{\left( 0 \right)}\left( k \right)}{x^{\left( 0 \right)}\left( k \right)}
ξ(k)=x(0)(k)x(0)(k)−x∧(0)(k)
如果\xi \left( k \right)<0.2,则可认为达到一般要求。如果\xi \left( k \right)<0.1,则可认为达到较高要求。
(2)级比偏差检验。首先利用数据计算出
λ
(
k
)
\lambda \left( k \right)
λ(k)再用发展系数
a
a
a求出级比偏差:
ρ
(
k
)
=
1
−
(
1
−
0.5
a
1
+
0.5
a
)
λ
(
k
)
\rho \left( k \right) =1-\left( \frac{1-0.5a}{1+0.5a} \right) \lambda \left( k \right)
ρ(k)=1−(1+0.5a1−0.5a)λ(k)
####预测预报
由GM(1,1)模型可得到指定失去的预测值,根据实际问题的需要,给出相应的预测报告