灰色預測模型GM(1,1) 與例題分析

灰色預測模型


灰色預測的概念

(1)灰色系統、白色系統和黑色系統

  • 白色系統是指一個系統的內部特徵是完全已知的,既系統信息是完全充分的。
  • 黑色系統是一個系統的內部信息對外界來說是一無所知的,只能通過它與外界的聯繫來加以觀測研究。
  • 灰色系統介於白色和黑色之間,灰色系統內的一部分信息是已知的,另一部分信息是未知的,系統內各因素間有不確定的關係。

(2)灰色預測法

  • 灰色預測法是一種預測灰色系統的預測方法。
  • 灰色預測通過鑑別系統因素之間發展趨勢的相異程度,即進行關聯分析,並對原始數據進行生成處理來尋找系統變動的規律,生成有較強規律性的數據序列,然後建立相應的微分方程模型,從而預測事物未來發展趨勢的狀況。

關聯分析

  關聯分析實際上是動態過程發展態勢的量化比較分析。所謂發展態勢比較,也就是系統各時期有關統計數據的集合關係的比較。

  例如,某地區1977~1983年總收入與養豬、養兔收入資料見下表格。

1977197819791980198119821983
總收入182022404448
養豬101516243840
養兔3212102218

根據該表格,做曲線圖:

image

  由上圖易看出,曲線 A(總收入)與曲線 B(養豬收入)發展趨勢比較接近,而與 曲線 C(養兔收入)相差較大,因此可以判斷,該地區對總收入影響較直接的是養豬業, 而不是養兔業。

  很顯然,幾何形狀越接近,關聯程度也就越大。當然,直觀分析對於稍微複雜些 的問題則顯得難於進行。因此,需要給出一種計算方法來衡量因素間關聯程度的大小。


灰色生成數列

  灰色系統理論認爲,儘管客觀表象複雜,但總是有整體功能的,因此必然蘊含某種內在規律。關鍵在於如何選擇適當的方式去挖掘和利用它。灰色系統時通過對原始數據的整理來尋求其變化規律的,這是一種就數據尋求數據的現實規律的途徑,也就是灰色序列的生產。一切灰色序列都能通過某種生成弱化其隨機性,顯現其規律性。數據生成的常用方式有累加生成累減生成加權累加生成

(1)累加生成(AGO)

  設原始數列爲x(0)=(x0(1),x0(2),.x0(n))x(0)=(x0(1),x0(2),….x0(n)),令 

x(1)(k)=i=1kx(0)(i),k=1,2,...,nx(1)(k)=∑i=1kx(0)(i),k=1,2,...,n

x(1)=(x1(1),x1(2),.x1(n))x(1)=(x1(1),x1(2),….x1(n))

  稱所得到的新數列爲數列x(0)x(0)的1次累加生成數列。類似的有 

x(r)(k)=i=1kx(r1)(i),k=1,2,...,n,r1x(r)(k)=∑i=1kx(r−1)(i),k=1,2,...,n,r≥1

  稱爲x(0)x(0)的r次累加生成數列。

(2)累減生成(IAGO)

  如果原始數列爲x(1)=(x1(1),x1(2),.x1(n))x(1)=(x1(1),x1(2),….x1(n)),令 

x(0)(k)=x(1)(k)x(1)(k1),k=2,3,...,nx(0)(k)=x(1)(k)−x(1)(k−1),k=2,3,...,n

  稱所得到的數列x(0)x(0)x(1)x(1)的1次累減生成數列。 可以看出,通過累加數列的到的新數列,可以通過累減生成還原出原始數列。

(3)加權鄰值生成

  如果原始數列爲x(1)=(x1(1),x1(2),.x1(n))x(1)=(x1(1),x1(2),….x1(n)),稱任意一對相鄰元素x(0)(k1),x(0)(k)x(0)(k−1),x(0)(k)互爲鄰值。對於常數α[0,1]α∈[0,1],令 

z(0)(k)=αx(0)(k)+(1α)x(0)(k1),k=2,3,,nz(0)(k)=αx(0)(k)+(1−α)x(0)(k−1),k=2,3,…,n

  由此得到的數列稱爲鄰值生成數,權αα也稱爲生成係數。 特別地,當生成係數α=0.5α=0.5時,則稱該數列爲均值生成數,也稱爲等權鄰值生成數。

累加生成的特點

  一般經濟數列都是非負數列。累加生成能使任意非負數列、擺動的與非擺動的,轉化爲非減的、遞增的。

image

image


灰色模型GM(1,1)

  灰色系統理論是基於關聯空間、光滑離散函數等概念定義灰導數與灰微分方程,進而用離散數據列建立微分方程形式的動態模型,即灰色模型是利用離散隨機數經過生成變爲隨機性被顯著削弱而且較有規律的生成數,建立起的微分方程形式的模型,這樣便於對其變化過程進行研究和描述。

  G表示grey(灰色),M表示model(模型)

  定義x(1)x(1)的灰導數爲 

d(k)=x(0)(k)=x(1)(k)x(1)(k1)d(k)=x(0)(k)=x(1)(k)−x(1)(k−1)

  令z(1)(k)z(1)(k)爲數列x(1)x(1)的鄰值生成數列,即 
z(1)(k)=αx(1)(k)+(1α)x(1)z(1)(k)=αx(1)(k)+(1−α)x(1)

  於是定義GM(1,1)的灰微分方程模型爲 
d(k)+αz(1)(k)=bx(0)(k)+αz(1)(k)=bd(k)+αz(1)(k)=b或x(0)(k)+αz(1)(k)=b

  其中,x(0)(k)x(0)(k)稱爲灰導數,αα稱爲發展係數,z(1)(k)z(1)(k)稱爲白化背景值,b稱爲灰作用量。

  將時刻k=2,3,…,n代入上式有 

x(0)(2)+αz(1)(2)=bx(0)(3)+αz(1)(3)=b...x(0)(n)+αz(1)(n)=b{x(0)(2)+αz(1)(2)=bx(0)(3)+αz(1)(3)=b...x(0)(n)+αz(1)(n)=b

  引入矩陣向量記號: 
u=[ab]Y=x(0)(2)x(0)(2)...x(0)(n)B=z(1)(2)z(1)(3)...z(1)(n)11...1u=[ab]Y=[x(0)(2)x(0)(2)...x(0)(n)]B=[−z(1)(2)1−z(1)(3)1......−z(1)(n)1]

  於是GM(1,1)模型可表示爲Y=BuY=Bu.

  那麼現在的問題就是求a和b的值,我們可以用一元線性迴歸,也就是最小二乘法求它們的估計值爲 

u=[ab]=(BTB)1BTYu=[ab]=(BTB)−1BTY


GM(1,1)的白化型

  對於GM(1,1)的灰微分方程,如果將時刻k=2,3,…,n視爲連續變量t,則之前的x(1)x(1)視爲時間t函數,於是灰導數x(0)(k)x(0)(k)變爲連續函數的導數dx(1)(t)dtdx(1)(t)dt,白化背景值z(1)(k)z(1)(k)對應於導數x(1)(t)x(1)(t)。於是GM(1,1)的灰微分方程對應於的白微分方程爲: 

dx(1)(t)dt+ax(1)(t)=bdx(1)(t)dt+ax(1)(t)=b


GM(1,1)灰色預測的步驟

1.數據的檢驗與處理

  爲了保證GM(1,1)建模方法的可行性,需要對已知數據做必要的檢驗處理。

  設原始數據列爲x(0)=(x0(1),x0(2),.x0(n))x(0)=(x0(1),x0(2),….x0(n)),計算數列的級比 

λ(k)=x(0)(k1)x(0)(k),k=2,3,...,nλ(k)=x(0)(k−1)x(0)(k),k=2,3,...,n

  如果所有的級比都落在可容覆蓋區間X=(e2n+1,e2n+1)X=(e−2n+1,e2n+1)內,則數列x(0)x(0)可以建立GM(1,1)模型且可以進行灰色預測。否則,對數據做適當的變換處理,如平移變換: 
y(0)(k)=x(0)(k)+c,k=1,2,...,ny(0)(k)=x(0)(k)+c,k=1,2,...,n

  取c使得數據列的級比都落在可容覆蓋內。

2.建立GM(1,1)模型

  不妨設x(0)=(x0(1),x0(2),.x0(n))x(0)=(x0(1),x0(2),….x0(n))滿足上面的要求,以它爲數據列建立GM(1,1)模型 

x(0)(k)+αz(1)(k)=bx(0)(k)+αz(1)(k)=b

  用迴歸分析求得a,b的估計值,於是相應的白化模型爲 
dx(1)(t)dt+ax(1)(t)=bdx(1)(t)dt+ax(1)(t)=b

  解爲 
x(1)(t)=(x(0)(1)ba)ea(t1)+bax(1)(t)=(x(0)(1)−ba)e−a(t−1)+ba

  於是得到預測值 
x^(1)(k+1)=(x(0)(1)ba)eak+ba,k=1,2,...,n1x^(1)(k+1)=(x(0)(1)−ba)e−ak+ba,k=1,2,...,n−1

  從而相應地得到預測值: 
x^(0)(k+1)=x^(1)(k+1)x^(1)(k),k=1,2,...,n1x^(0)(k+1)=x^(1)(k+1)−x^(1)(k),k=1,2,...,n−1

3.檢驗預測值

(1)殘差檢驗:計算相對殘差

ε(k)=x(0)(k)x^(0)(k)x(0)(k),k=1,2,...,nε(k)=x(0)(k)−x^(0)(k)x(0)(k),k=1,2,...,n

  如果對所有的|ε(k)|<0.1|ε(k)|<0.1,則認爲到達較高的要求;否則,若對所有的|ε(k)|<0.2|ε(k)|<0.2,則認爲達到一般要求。

(2)級比偏差值檢驗:計算

ρ(k)=110.5a1+0.5aλ(k)ρ(k)=1−1−0.5a1+0.5aλ(k)

  如果對所有的|ρ(k)|<0.1|ρ(k)|<0.1,則認爲達到較高的要求;否則,若對於所有的|ρ(k)|<0.2|ρ(k)|<0.2,則認爲達到一般要求。


灰色預測計算實例

image

image

image

image

image

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章