二、GM(1,1)模型
2.1 GM(1,1)模型概述
灰色预测经常用来解决数据量较少且不能直接发现规律的数据。对于包含不确定信息的序列,灰色预测方法通过对原始数据进行处理,使之转化为灰色序列,并建立微分方程模型模型
GM(1,1)模型是灰色预测理论的基本模型,也是灰色系统理论中运用最广泛的一种动态预测模型,模型由一个单变量的一阶微分方程构成。GM(1,1)模型适合对“少数据,贫信息”的对象进行中短期预测
2.2 GM(1,1)数据处理方法
在灰色系统中,能获得的信息非常有限,且不易发现内部规律,因此我们需要一些处理,减弱序列的随机性,使得一般规律可以显现。处理方式主要有以下三种:累加生成、累减生成和加权邻值生成
2.3 GM(1,1)模型方法的可行性检验
由原始序列
X(0)=(x(0)(1),x0(2),...,x0(n))
设 σ(k)为序列X(0) 的级比,若满足:
σ(k)∈(en+1−2,en+12)
其中 n 为原始序列的数据个数,则X(0) 可建立GM(1,1) 模型,并进行灰色预测。
2.4 GM(1,1)预测模型的构建
设原始序列X(0)=(x(0)(1),x0(2),...,x0(n))满足上述条件,其中x(0)(k)≥0
(1)序列的累加处理
将原始序列进行一次累加生成后处理后,生成 X(0)的1-AGO 序列 (累加生成序列):
X(1)=(x(1)(1),x(1)(2),...,x(1)(n))
其中
x(1)(k)=i=1∑kx(0)(i) k=1,2,......,n
(2)计算紧邻均值序列Z(1)=(z(1)(2),z(1)(3),...,z(1)(n))
其中z(1)(k)=21(x(1)(k)+x(1)(k−1))
(3)建立相关模型
建立一阶微分线性方程,即灰色微分方程,得到 GM(1,1)模型的均值形式:x(0)(k)+az(1)(k)=b
通过 GM(1,1) 模型相应的白化微分方程:
dtdx(1)+ax(1)=b
其中 a 表示发展系数,反映了x^(1) 和x^(0) 的发展态势; b 表示灰色作用量,或者内生控制灰数,是从行为序列中挖掘出来的数据,反映的是数据变化的关系,其确切内涵是灰的。
(4)计算 a、b
设 a^ 为待估参数向量,令 a^=[ab],利用最小二乘法求解,可得:
a^=(BTB)−1BTY
其中B、Y 分别为
B=⎣⎢⎢⎢⎡−z(1)(2)−z(1)(3)⋮−z(1)(n)11⋮1⎦⎥⎥⎥⎤,Y=⎣⎢⎢⎢⎡x(0)(2)x(0)(3)⋮x(0)(n)⎦⎥⎥⎥⎤
(5)建立 GM(1,1) 的时间响应式,即预测模型
⎩⎨⎧x^(1)(k+1)=(x(0)(1)−ab)e−ak+ab,k=1,2⋯,nx^(0)(k+1)=x^(1)(k+1)−x^(1)(k)
2.5 GM(1,1) 模型的检验
检验灰色预测模型效果主要包括三种方法:残差检验、关联度检验和后验差检验方法,以此来检验模型的准确性。
(1) 残差检验
按预测模型计算 x^(1)(k),并将 x^(1)(i)累减生成 x^(0)(k),然后计算原始序列 x(0)(k) 与 x^(0)(k)的绝对误差序列即相对误差序列。
⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧残差:ε(k)=x(0)(k)−x^(0)(k)相对误差:Δk=x(0)(k)∣ε(k)∣平均相对误差:Δ=n−11k=2∑nΔk
若对相应序列残差有 Δk<10% ,则代表用 GM(1,1) 模型的模拟精度较高,若 Δk<20% 则代表用 GM(1,1) 模型的模拟精度一般。
GM(1,1) 模型建模精度:
p=(1−Δ)×100%
(2)关联度检验法
绝对误差:
Δ(0)(k)=∣∣∣x(0)(k)−x^(0)(k)∣∣∣
得出最大值、最小值
⎩⎪⎨⎪⎧Δmax(0)=maxΔ(0)(k)Δmin(0)=minΔ(0)(k)
计算关联系数
η(k)=Δ(0)(k)+ρΔmax(0)Δmax(0)+ρΔmin(0),ρ=0.5,k=1,2,⋯,n
得出关联度
r=n1k=1∑nη(k)
根据经验,当 p =0.5 时,关联度 r >0.6 时可认为模型的预测效果较好。
(3)后验差检验
原始序列的均值
xˉ(0)=n1k=1∑nx(0)(k)
计算的原始序列的标准差:
S1=n−1∑[x(0)(k)−xˉ(0)]2
残差序列的均值:
Δ(0)=n1k=1∑n[x(0)(k)−x^(0)(k)]
计算绝对误差序列的标准差:
S2=n−1∑[Δ(0)(k)−Δ(0)]2
计算后验差比值为::
C=S1S2
计算小误差概率:
P=p{∣∣∣Δ(0)(k)−Δ(0)∣∣∣<0.6745S1}
GM(1,1) 通常用后验差检验方法来评价预测结果的好坏,主要根据其中的后验差比值(C)和小误差概率(P)这两个数值来检验模型。根据 C 和 P 的大小可以将灰色模型的预测精度分为以下几个等级,如下表
后验差比值 C |
小误差概率 P |
预测精度等级 |
<0.35 |
>0.95 |
好(一级) |
<0.50 |
>0.80 |
合格(二级) |
<0.65 |
>0.70 |
勉强合格(三级) |
>=0.65 |
<=0.65 |
不合格 (四级) |
2.6 GM(1,1) 模型的适用范围
建立于灰色理论基础上的GM(1,1)模型具有所需样本量小,无需考虑数据分布规律,模型预测精度较高,且易于计算检验,决定了GM(1,1)模型被广泛的应用于经济生活各个领域。但这并非说明GM(1,1)模型应用具有随意性与其他任何数学模型相同GM(1,1)模型也有其适用范围,若超出其适用范围使用GM(1,1)模型往往很难得到满意的的结果。
GM(1,1)模型的参数与GM(1,1)模型适用性之间的关系得到如下结论
(1)当 -a ≤ 0.3时,GM(1,1)模型可用于中长期预测;
(2)当 0.3 < -a ≤ 0.5时,GM(1,1)模型可用于短期预测,中长期预测需谨慎;
(3)当 0.5 < -a ≤ 0.8时,用GM(1,1)模型作短期预测慎用;
(4)当 0.8 < -a ≤ 1.0时,需采用残差修正GM(1,1)模型;
(5)当 1 < -a 时,不宜使用GM(1,1)模型。
2.7 GM(1,1) 残差模型
当原始数据序列x(0)(k)建立的GM(1,1)模型检验不合格时,可以用GM(1,1)残差模型来修正。如果原始序列建立的GM(1,1)模型不够精确,也可以用GM(1,1)残差模型来提高精度。
若用原始序列 x(0)(k) 建立的GM(1,1)模型
x^(1)(k+1)=(x(0)(1)−ab)e−ak+ab,k=1,2⋯,n
可获得生成序列x(1)(k)的预测值,定义残差序列e(0)(k)=x(1)(k)−x^(1)(k)。则对应的残差序列为:e(0)(k)={e(0)(1),e(0)(2),⋯,e(0)(n)}
计算其生成序列e(1)(k),并据此建立相应的GM(1,1)模型:
e^(1)(k+1)=(e(0)(1)−aebe)e−ak+aebe,k=1,2⋯,n
得修正模型
x^(1)(k+1)=(x(0)(1)−ab)e−ak+ab+δ(k−i)(−ae)[e(0)(1)−aebe]e−ak
其中
δ(k−i)={1,k≥i0,k<i
为修正系数。
应用此模型时要考虑:
(1)一般不是使用全部残差数据来建立模型,而只是利用了部分残差。
(2)修正模型所代表的是差分微分方程,其修正作用与δ(k−i) 中的 i 的取值有关。