1 GM系列单变量预测—GM(1,1)残差模型
1.1 基本概念
导数还原值:
$X^{(0)}$为原始数据,$X^{(1)}$为$X^{(0)}$的$1-AGO$序列,$GM(1,1)$模型的时间响应式为:
$$ \hat x^{(1)}(k+1)={(x^{(0)}(1)+\frac ba)}e^{(-ak)}+\frac ba $$
则称:
$$ d\hat x^{(1)}(k+1)=(-a){(x^{(0)}(1)+\frac ba)}e^{(-ak)} $$
为导数还原值。
累减还原值:
$\hat x^{(0)}(k+1)=\hat x^{(1)}(k+1)-\hat x^{(1)}(k)$称为累减还原值。
====================导数还原值与累减还原值一致,当且仅当$|a|\rightarrow0$时======================
证明:
$$ \begin{aligned} \hat x^{(0)}(k+1)&=\hat x^{(1)}(k+1)-\hat x^{(1)}(k)\\ &={(x^{(0)}(1)+\frac ba)}e^{(-ak)}+\frac ba-{({(x^{(0)}(1)+\frac ba)}e^{-a(k-1)}+\frac ba)}\\ &=(x^{(0)}(1)+\frac ba)e^{(-ak)}(1-e^a)\\ \end{aligned} $$
对$e^a$进行泰勒展开可得:
$$ e^a=1+a+\frac{a^2}{2!}+\cdots+\frac{a^n}{n!}+\cdots $$
故
$$ 1-e^a=-(a+\frac{a^2}{2!}+\cdots+\frac{a^n}{n!}+\cdots) $$
所以
$$ \hat x^{(0)}(k+1)=(x^{(0)}(1)+\frac ba)e^{(-ak)}(-a-\frac{a^2}{2!}-\cdots-\frac{a^n}{n!}-\cdots)) $$
由上述导数还原值与累减还原值对比可知,当$|a|\rightarrow0$时,$\hat x^{(0)}(k+1)\approx d\hat x^{(1)}(k+1)$
此时GM(1,1)即可以看作是差分方程也可以看作为微分方程。
可建模残差尾段:
已知$X^{(1)}$的残差数列为:
$$ \xi^{(0)}={\{\xi^{(0)}(1),\xi^{(0)}(2),\cdots,\xi^{(0)}(n)\}} $$
其中$\xi^{(0)}(k)= x^{(1)}(k)-\hat x^{(1)}(k)$,若存在$k_0$满足:
1)$\forall k\ge k_0,\xi^{(0)}(k)符号一致$;
2)$n-k_0\ge4$;
则称
$$ (|\xi^{(0)}(k_0)|,|\xi^{(0)}(k_0+1|,\cdots,|\xi^{(0)}(n)|) $$
为可建模残差尾段,记为
$$ \begin{aligned} \xi^{(0)}&=(\xi^{(0)}(k_0),\xi^{(0)}(k_0+1),\cdots,\xi^{(0)}(n))\\ &=(|\xi^{(0)}(k_0)|,|\xi^{(0)}(k_0+1|,\cdots,|\xi^{(0)}(n)|) \end{aligned} $$
1.2 模型说明与结论
- GM(1,1)残差模型作用:当原始数据序列建立的GM(1,1)模型检验不合格(需要三种检验都满足合格要求,模型检验才为合格)时,需要用GM(1,1)残差模型来修正。
- 综上所述,当$|a|\rightarrow0$时,导数还原值与累减还原值不一致,此时为了减小复运算造成的误差,需要进行残差修正——用$X^{(1)}$的残差修正$X^{(1)}$的模拟值$\hat x^{(1)}(k+1)$。
已知
$$ \begin{aligned} \xi^{(0)}&=(\xi^{(0)}(k_0),\xi^{(0)}(k_0+1),\cdots,\xi^{(0)}(n))\\ &=(|\xi^{(0)}(k_0)|,|\xi^{(0)}(k_0+1|,\cdots,|\xi^{(0)}(n)|) \end{aligned} $$
为可建模残差尾段,若1-AGO序列为
$$ \xi^{(1)}=(\xi^{(1)}(k_0),\xi^{(1)}(k_0+1),\cdots,\xi^{(0)}(n)) $$
则其GM(1,1)模型的时间响应式为
$$ \hat\xi^{(1)}(k+1)=(\xi^{(0)}(k_0)-\frac {b_\xi}{a_\xi})e^{-a_\xi(k-k_0)}+\frac{b_\xi}{a_\xi},k\ge k_0 $$
则残差尾段$\hat\xi^{(0)}$的模拟序列为
$$ \hat\xi^{(0)}=(\hat\xi^{(0)}(k_0),\hat\xi^{(0)}(k_0+1),\cdots,\hat\xi^{(0)}(n)) $$
其中
$$ \begin{aligned} \hat\xi^{(0)}(k+1)&=\hat\xi^{(1)}(k+1)-\hat\xi^{(1)}(k)\\ &=(\xi^{(0)}(k_0)-\frac {b_\xi}{a_\xi})e^{-a_\xi(k-k_0)}-(\xi^{(0)}(k_0)-\frac {b_\xi}{a_\xi})e^{-a_\xi(k-k_0-1)}\\ &=(1-e^{a_\xi})(\xi^{(0)}(k_0)-\frac {b_\xi}{a_\xi})e^{-a_\xi(k-k_0)}\\ &\approx(-a_\xi)(\xi^{(0)}(k_0)-\frac {b_\xi}{a_\xi})e^{-a_\xi(k-k_0)},k\ge k_0 \end{aligned} $$
用$X^{(1)}$的残差$\hat\xi^{(0)}$修正$X^{(1)}$的模拟值$\hat x^{(1)}(k+1)$,则修正后的时间响应式为:
$$ \hat x^{(1)}(k+1)= \begin{cases} (x^{(0)}(1)-\frac ba)e^{-ak}+\frac ba & k\lt k_0\\ (x^{(0)}(1)-\frac ba)e^{-ak}+\frac ba+\hat\xi^{(0)}(k+1) &k\ge k_0 \end{cases}\\ $$
其中
$$ \hat\xi^{(0)}(k+1)=(\pm a_\xi)(\xi^{(0)}(k_0)-\frac {b_\xi}{a_\xi})e^{-a_\xi(k-k_0)},k\ge k_0 $$
此时称该模型为残差修正GM(1,1)模型,简称残差GM(1,1)模型。其中残差修正值为:
$$ \hat\xi^{(0)}(k+1)=(\pm a_\xi)(\xi^{(0)}(k_0)-\frac {b_\xi}{a_\xi})e^{-a_\xi(k-k_0)},k\ge k_0 $$
这应与残差尾段符号保持一致。
用$X^{(0)}$的残差
$$ \epsilon^{(0)}={\{\epsilon^{(0)}(k),k=1,2,\cdots,n}\} $$
其中
$$ \epsilon^{(0)}(k)=|x^{(0)}(k)-\hat x^{(0)}(k)| $$
修正$X^{(0)}$的模拟值$\hat x^{(0)}(k+1)$,则根据$\hat X^{(1)}到\hat X^{(0)}$的不同还原方式得到两种还原式残差修正模型的时间响应式,即累减还原式的残差修正模型、导数还原式的残差修正模型。
当残差取值为:
$$ \epsilon^{(0)}=(\epsilon^{(0)}(k_0),\epsilon^{(0)}(k_0+1),\cdots,\epsilon^{(0)}(n)) $$
则称之为可建模残差尾段,利用上述处理方法,同理得出残差尾段$\epsilon^{(0)}$的模拟序列为:
$$ \hat\epsilon^{(0)}={\{\hat\epsilon^{(0)}(k),k=k_0,k_0+1,\cdots,n\}}\\ 其中\hat\epsilon^{(0)}(k+1)=(-a_\epsilon)(\frac{b_\epsilon}{a_\epsilon}+\epsilon^{(0)}(k_0))e^{-a_\epsilon(k-k_0)} $$
累减还原式的残差修正模型:若
$$ \hat x^{(0)}(k+1)=\hat x^{(1)}(k+1)-\hat x^{(1)}(k)=(1-e^a)(x^{(0)}(1)+\frac ba)e^{(-ak)} $$
则对应的残差修正时间响应式为:
$$ \hat x^{(0)}(k+1)= \begin{cases} (1-e^a)(x^{(0)}(1)+\frac ba)e^{(-ak)} & k\lt k_0\\ (1-e^a)(x^{(0)}(1)+\frac ba)e^{(-ak)}\pm(a_\epsilon)(\frac{b_\epsilon}{a_\epsilon}+\epsilon^{(0)}(k_0))e^{-a_\epsilon(k-k_0)} &k\ge k_0 \end{cases} $$
导数还原式的残差修正模型:若
$$ d\hat x^{(1)}(k+1)=(-a){(x^{(0)}(1)+\frac ba)}e^{(-ak)} $$
则对应的残差修正时间响应式为:
$$ \hat x^{(0)}(k+1)= \begin{cases} (-a){(x^{(0)}(1)+\frac ba)}e^{(-ak)} & k\lt k_0\\ ((-a){(x^{(0)}(1)+\frac ba)}e^{(-ak)}\pm(a_\epsilon)(\frac{b_\epsilon}{a_\epsilon}+\epsilon^{(0)}(k_0))e^{-a_\epsilon(k-k_0)} &k\ge k_0 \end{cases} $$