灰度預測模型

常用的預測方法(如回歸分析),需要較大的樣本,如果樣本較小,常造成較大的誤差,使預測目標失效?;叶阮A測模型(Gray Forecast Model)是通過利用少量的、不完全的信息,建立數學模型并做出預測的一種預測方法。本文將對這種預測模型進行詳細介紹。由于部分公式書寫麻煩,本文直接插入了公式圖片。

1. 灰度系統理論

灰度系統理論是由華中理工大學鄧聚龍教授于1982年提出并發展而成的解決灰色系統的理論和方法,該方法將一般的系統論、信息論和控制論的觀點與數學方法結合在一起。首先看一下灰度理論中的幾個概念。

1.1 灰度系統

灰度系統是指“部分信息已知,部分未知”的“小樣本”,“貧信息”的不確定性系統。系統中各因素間有不確定的關系。
作為兩個極端,如果系統中信息完全確定,則成為白色系統;相反,信息完全不確定的系統為黑色系統,只能通過它與外界的聯系來加以觀測研究。區別白色和黑色系統的重要標志是系統中各因素之間是否具有確定關系。

1.2 灰度系統的特點

灰色系統可以充分利用已知信息尋求系統的運動規律,使用灰色數學處理不確定量,使之量化,因此,灰色系統理論能夠處理貧信息或小樣本的系統。

2. 灰色預測方法

灰度預測法是對灰色系統進行預測的方法。通過關聯分析和數據處理來尋找系統變動的規律,生成有較強規律性的數據序列。然后用來預測兩種不同的目標,一種是預測某時刻的特征量來預測未來發展趨勢。另一種是固定特征量閾值,通過分析特征量出現時刻的規律,預測未來達到閾值的時間點。

2.1 灰色預測類型

(1) 數列預測。用觀察到的反映預測對象特征的時間序列構造灰色預測模型,預測未來某一時刻的特征量,或達到某一特征量的時間。
(2) 災變或異常值預測。利用灰度模型預測異常值出現的特定時間。
(3) 季節災變或異常值預測。預測災變或異常值發生在一年內哪個時間區間或季節內。
(4) 拓撲預測。將原始數據做曲線,在曲線上按照閾值尋找發生的所有時間點,并以該時間點構成的序列構建預測模型,建立模型預測該閾值的時間點。
(5) 系統預測。 通過對系統行為特征指標建立一組相關聯的灰度預測模型,預測系統中眾多變量間的相互協調關系的變化。


下面我們對具體的集中預測模型進行介紹。

3. GM(1,1)模型

3.1 數據/數列生成

我們獲取到的未作處理的數據被稱為原始數列,按照某種要求經過處理后生成的數列為生成數列,我們可以從中發現原始數列中沒有表現出的內在規律。
常用的數據處理方法有累加生成、累減生成、均值生成。
(1) 累加生成
通過依次累加某時刻之前的數據得到新的數列,記為AGO(Accumulating Ceneration Operator)。
設x^(0)為原始序列,既有
![][1]
[1]: http://latex.codecogs.com/svg.latex?$x{(0)}=[x{(0)}(1),x{(0)}(2),...,x{(0)}(n)]$
按照下列公式生成新的累加數列:
![][2]
[2]: http://latex.codecogs.com/svg.latex?$x{(1)}(k)=\sum_{i=1}{k}x^{(0)}(i);k=1,2,...,n$
則稱x(1)為x(0)的一次累加生成數列:
![][3]
[3]: http://latex.codecogs.com/svg.latex?$x{(1)}=[x{(1)}(1),x{(1)}(2),...,x{(1)}(n)]$
類似的有r次累加生成:
![][4]
[4]: http://latex.codecogs.com/svg.latex?$x{(r)}(k)=\sum_{i=1}{k}x^{(r-1)}(i);k=1,2,...,n$
(2)累減生成
對原始數列的數據依次作前后兩個數據相減的運算,記為IAGO(Inverse Accumulating Ceneration Operator)。累減生成可以將累加生成序列還原成非生成序列。
我們設x^(1)為原始序列,則有
![][5]
[5]: http://latex.codecogs.com/svg.latex?$x{(1)}=[x{(1)}(1),x{(1)}(2),...,x{(1)}(n)]$
如果令:
![][6]
[6]: http://latex.codecogs.com/svg.latex?$x{(0)}(k)=x{(1)}(k)-x^{(1)}(k-1)$
則可生成一次累減序列x^(0):
![][7]
[7]: http://latex.codecogs.com/svg.latex?$x{(0)}=[x{(0)}(1),x{(0)}(2),...,x{(0)}(n)]$
更一般地,有:
![][8]
[8]: http://latex.codecogs.com/svg.latex?$x{(r-1)}(k)=x{(r)}(k)-x^{(r)}(k-1)$
均值生成序列分為鄰均值生成和非鄰均值生成兩種,就暫時不在本文詳細介紹了,以后再補充。

3.2模型建立

給定觀測數據序列
![][9]
[9]: http://latex.codecogs.com/svg.latex?$x{(0)}=[x{(0)}(1),x{(0)}(2),...,x{(0)}(n)]$
經過一次累加后,得到序列:
![][10]
[10]: http://latex.codecogs.com/svg.latex?$x{(1)}=[x{(1)}(1),x{(1)}(2),...,x{(1)}(n)]$
設x^(1)滿足一階常微分方程
![][11]
[11]: http://latex.codecogs.com/svg.latex?${dx{(1)}}/{dt}+ax{(1)}=u$
其中a是發展灰數或發展系數,u為內生控制灰數或灰作用量,是對系統的常定輸入。該方程滿足當初始條件為:
![][12]
[12]: http://latex.codecogs.com/svg.latex?$when:t=t_{0},x{(1)}=x{(1)}(t_0)$
則有解為:
![][13]
[13]: http://latex.codecogs.com/svg.latex?$x{(1)}(t)=[x{(1)}(t_0)-u/a]e^{-a(t-t_0)}+u/a$
對等間距取樣的離散值,則有
![][19]
[19]: http://latex.codecogs.com/svg.latex?$when:t_0=1\\x{(1)}(k+1)=[x{(1)}(1)-u/a]e^{-ak}+u/a$
由于x(1)對t求導涉及x(1)的兩個時刻值,因此,x^(1)(i)取前后兩個時刻的平均代替更合理。即有:
![][14]
[14]: http://latex.codecogs.com/svg.latex?$1/2[x{(r)}(i)+x{(r)}(i-1)],(i=2,3,...,N)$
寫成矩陣表達的形式為:
![][15]
[15]: http://latex.codecogs.com/svg.latex?$\begin{bmatrix}x{(0)}(2)\x{(0)}(3)\...\x{(0)}(N)\end{bmatrix}=\begin{bmatrix}-1/2[x{(1)}(2)+x{(1)}(1)]&1\-1/2[x{(1)}(3)+x{(1)}(2)]&1\...\-1/2[x{(1)}(N)+x^{(1)}(N-1)]&1\end{bmatrix}\begin{bmatrix}a\u\end{bmatrix}$
如果用符號代表上式的向量或矩陣,則有
![][16]
[16]: http://latex.codecogs.com/svg.latex?$y=BU$
其中,
![][17]
[17]: http://latex.codecogs.com/svg.latex?$U=[a,u]{T}\\y=[x{(0)}(2),x{(0)}(3),...,x{(0)}(N)]{T}\\B=\begin{bmatrix}-1/2[x{(1)}(2)+x{(1)}(1)]&1\-1/2[x{(1)}(3)+x{(1)}(2)]&1\...\-1/2[x{(1)}(N)+x^{(1)}(N-1)]&1\end{bmatrix}$
利用最小二乘法估計上式,可得:
![][18]
[18]: http://latex.codecogs.com/svg.latex?\hat{U}=\begin{bmatrix}\hat{a}\\hat{u}\end{bmatrix}=(B{T}B){-1}B^{T}y
將上式得到的估計值a和u帶入求離散解的公式,得到時間響應方程
![][20]
[20]: http://latex.codecogs.com/svg.latex?\hat{x{(1)}}(k+1)=[x{(1)}(1)-\frac{\hat{u}}{\hat{a}}]e^{-\hat{a}k}+\frac{\hat{u}}{\hat{a}}
當k=1,2,...,N-1時,由上式計算得到的結果是擬合值,當k>=N時,結果為預測值。這是相對于一次累加序列的擬合值,用后減運算還原,就可得原始序列的擬合值和預測值。

3.3 精度檢驗

(1) 殘差檢驗:預測得到的一次累加序列進行累減計算,得到原始序列估計值,再計算其與原始序列的絕對殘差序列和相對殘差序列。
殘差:
![][21]
[21]: http://latex.codecogs.com/svg.latex?E(k)=x{(0)}(k)-\hat{x{(0)}}(k),k=2,3,...N;
相對殘差:
![][22]
[22]: http://latex.codecogs.com/svg.latex?e(k)=[x{(0)}(k)-\hat{x{(0)}}(k)]/x^{(0)}(k),k=2,3,...N;
(2) 后驗差檢驗:分別計算
原始序列x^(0)的均值:
![][23]
[23]: http://latex.codecogs.com/svg.latex?\bar{X}=\frac{1}{N}\sum_{k=1}{N}x{(0)}(k)
原始序列x^(0)的方差:
![][24]
[24]: http://latex.codecogs.com/svg.latex?S_1=\sqrt{\frac{1}{N}\sum_{k=1}{N}[x{(0)}(k)-\bar{X}]^2}
殘差的均值:
![][25]
[25]: http://latex.codecogs.com/svg.latex?\bar{E}=\frac{1}{N-1}\sum_{k=2}^{N}E(k)
殘差的方差:
![][26]
[26]: http://latex.codecogs.com/svg.latex?S_2=\sqrt{\frac{1}{N-1}\sum_{k=2}{N}[E(k)-\bar{E}]2}
后驗差比值:
![][27]
[27]: http://latex.codecogs.com/svg.latex?C=\frac{S_2}{S_1}
小誤差概率:
![][28]
[28]: http://latex.codecogs.com/svg.latex?P=P{|E(k)-\bar{E}|<0.6745S_1}
對比精度等級對照表,如下表所示。
![][29]
[29]: http://latex.codecogs.com/svg.latex?\begin{array}{c|lcr}level&\text{P}&\text{C}&\text{Level}\\hline1&{\textgreater0.95}&{\textless0.35}&Good\2&{\textgreater0.80}&{\textless0.45}&Qualified\3&{\textgreater0.70}&{\textless0.5}&Barely-passing\4&\leq0.70&\geq0.65&Unqualified\end{array}
評價模型的指標C越小越好,P越大越好,一般按照Max{P的level,C的level}來確定模型的精度級別。
(3) 關聯度檢驗
關聯度分析時根據因素之間發展態勢的相似或相異程度,分析事物動態關聯的特征和程度。后期再作補充。


由于灰度預測模型是給予一階常微分方程建立的,故被稱為一階一元灰色模型,記為GM(1,1)。特別注意,原始數據中如果有負數,需要先進行“數據整體提升”處理,再做一次累加,避免累加時正負抵消。


4. GM(1,1)殘差模型

如果用原始時間序列建立的GM(1,1)模型檢驗不合格或精度不理想時,要對建立的模型進行殘差修正,可以提高模型的預測精度。
我們設
![][30]
[30]: http://latex.codecogs.com/svg.latex?\varepsilon{(0)}=(\varepsilon{(0)}(1),\varepsilon{(0)}(2),...,\varepsilon{(0)}(n))
其中,我們稱
![][31]
[31]: http://latex.codecogs.com/svg.latex?\varepsilon(k)=x{(0)}(k)-\hat{x}{(1)}(k)
為X^(1)的殘差序列。若存在k0滿足如下條件
![][32]
[32]: http://latex.codecogs.com/svg.latex?1.\forall{k}\gek_0,\varepsilon^{(0)}(k)\textless0or*\varepsilon^{(0)}\textgreater0;\\****2.when:n-k_0\ge4;
則稱
![][33]
[33]: http://latex.codecogs.com/svg.latex?(|\varepsilon{(0)}(k_0)|,|\varepsilon{(0)}(k_0+1)|,...,|\varepsilon^{(0)}(n)|)
為可建模殘差尾段,仍記為
![][34]
[34]: http://latex.codecogs.com/svg.latex?(\varepsilon{(0)}(k_0),\varepsilon{(0)}(k_0+1),...,\varepsilon^{(0)}(n))
對其進行一次累加,得到序列
![][35]
[35]: http://latex.codecogs.com/svg.latex?(\varepsilon{(1)}(k_0),\varepsilon{(1)}(k_0+1),...,\varepsilon^{(1)}(n))
利用GM(1,1)建模后的時間響應式為:
![][36]
[36]: http://latex.codecogs.com/svg.latex?\varepsilon{(1)}(k+1)=(\varepsilon{(0)}(k_0)-\frac{\hat{u}}{\hat{a}})e^{[-a(k-k_0)]}+\frac{\hat{u}}{\hat{a}},{k}\ge{k_{0}}
則殘差尾段的模擬序列為:
![][37]
[37]: http://latex.codecogs.com/svg.latex?\hat{\varepsilon}{(0)}=(\hat{\varepsilon}{(0)}(k_0),\hat{\varepsilon}{(0)}(k_0+1),...,\hat{\varepsilon}{(0)}(n))
其中
![][39]
[39]: http://latex.codecogs.com/svg.latex?\hat{\varepsilon}{(0)}(k+1)=-\hat{a}(\hat{\varepsilon}{(0)}(k_0)-\frac{\hat{u}}{\hat{a}})e^{[-\hat{a}(k-k_0)]},k\ge{k_0}
如果用上式修正X^(1),則稱修正后的時間響應式為
![][38]
[38]: http://latex.codecogs.com/svg.latex?\hat{\varepsilon}{(1)}(k+1)=\left{\begin{array}{ll}(x{(0)}(1)-\frac{u}{a})e{-ak}+\frac{u}{a},k\textless{k_0};(1)\\(x{(0)}(1)-\frac{u}{a})e{-ak}+\frac{u}{a}\pm\hat{a}(\varepsilon{(0)}(k_0)-\frac{\hat{u}}{\hat{a}})e^{[-\hat{a}(k-k_0)]},k\ge{k_0};(2)\end{array}\right.
因此為殘差修正GM(1,1)模型,簡稱殘差GM(1,1)

5. GM(n,h)模型

GM(n,h)模型是微分方程模型,可用于對描述對象做長期、連續、動態的反映。從原則上講,某一灰色系統無論內部機制如何,只要能將系統原始數據表示為原始時間序列,并保證值非負,則可用GM模型對系統表示和預測。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,431評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,637評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,555評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,900評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,629評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,976評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,976評論 3 448
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,139評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,686評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,411評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,641評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,129評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,820評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,233評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,567評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,362評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,604評論 2 380

推薦閱讀更多精彩內容