二、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 的取值有關。