時間序列預測之--ARIMA模型


什么是 ARIMA模型

ARIMA模型的全稱叫做自回歸移動平均模型,全稱是(ARIMA, Autoregressive Integrated Moving Average Model)。也記作ARIMA(p,d,q),是統計模型(statistic model)中最常見的一種用來進行時間序列 預測的模型。

1. ARIMA的優缺點

優點: 模型十分簡單,只需要內生變量而不需要借助其他外生變量。

缺點:
1.要求時序數據是穩定的(stationary),或者是通過差分化(differencing)后是穩定的。
2.本質上只能捕捉線性關系,而不能捕捉非線性關系。
注意,采用ARIMA模型預測時序數據,必須是穩定的,如果不穩定的數據,是無法捕捉到規律的。比如股票數據用ARIMA無法預測的原因就是股票數據是非穩定的,常常受政策和新聞的影響而波動。

2. 判斷是時序數據是穩定的方法。

嚴謹的定義: 一個時間序列的隨機變量是穩定的,當且僅當它的所有統計特征都是獨立於時間的(是關於時間的常量)。
判斷的方法:

  1. 穩定的數據是沒有趨勢(trend),沒有周期性(seasonality)的; 即它的均值,在時間軸上擁有常量的振幅,並且它的方差,在時間軸上是趨於同一個穩定的值的。
  2. 可以使用Dickey-Fuller Test進行假設檢驗。(另起文章介紹)

3. ARIMA的參數與數學形式

ARIMA模型有三個參數:p,d,q。

  • p--代表預測模型中采用的時序數據本身的滯后數(lags) ,也叫做AR/Auto-Regressive項
  • d--代表時序數據需要進行幾階差分化,才是穩定的,也叫Integrated項。
  • q--代表預測模型中采用的預測誤差的滯后數(lags),也叫做MA/Moving Average項

先解釋一下差分: 假設y表示t時刻的Y的差分。

\[ if \ d=0 ,\ y_t = Y_t \\[2ex] if \ d=1 ,\ y_t = Y_t-Y_{t-1} \\[2ex] if \ d=2 ,\ y_t = (Y_t-Y_{t-1}) -(Y_{t-1}-Y_{t-2}) \\ =Y_t-2Y_{t-1}+Y_{t-2}\]

ARIMA的預測模型可以表示為:

Y的預測值 = 常量c and/or 一個或多個最近時間的Y的加權和 and/or 一個或多個最近時間的預測誤差。

假設p,q,d已知,
ARIMA用數學形式表示為:

\[\widehat{y_t} = \mu + \phi_1*y_{t-1} + ...+ \phi_p*y_{t-p} + \theta_1*e_{t-1} +...+\theta_q*e_{t-q} \]

\[其中, \phi表示AR的系數,\theta表示MA的系數 \]

4.ARIMA模型的幾個特例

1.ARIMA(0,1,0) = random walk:

當d=1,p和q為0時,叫做random walk,如圖所示,每一個時刻的位置,只與上一時刻的位置有關。
file-list
預測公式如下:

\[\widehat Y_t = \mu + Y_{t-1} \]

2. ARIMA(1,0,0) = first-order autoregressive model:

p=1, d=0,q=0。說明時序數據是穩定的和自相關的。一個時刻的Y值只與上一個時刻的Y值有關。

\[\widehat Y_t = \mu + \phi_1*Y_{t-1}. \\ where,\ \phi \in [-1,1] , 是一個斜率系數 \]

3. ARIMA(1,1,0) = differenced first-order autoregressive model:

p=1,d=1,q=0. 說明時序數據在一階差分化之后是穩定的和自回歸的。即一個時刻的差分(y)只與上一個時刻的差分有關。

\[ \widehat y_t = \mu +\phi_1*y_{t-1} \\ 結合一階差分的定義,也可以表示為:\widehat Y_t-Y_{t-1} = \mu+ \phi_1 * (Y_{t-1} - Y_{t-2})\\ 或者 \widehat Y_t = \mu +Y_{t-1} + \phi_1 * (Y_{t-1} - Y_{t-2}) \]

4. ARIMA(0,1,1) = simple exponential smoothing with growth.

p=0, d=1 ,q=1.說明數據在一階差分后市穩定的和移動平均的。即一個時刻的估計值的差分與上一個時刻的預測誤差有關。

\[ \widehat y_t = \mu + \alpha_1*e_{t-1} \\ 注意q=1的差分y_t與p=1的差分y_t的是不一樣的 \\ 其中,\widehat y_t = \widehat Y_t-\widehat Y_{t-1} , \ e_{t-1}={Y_{t-1} - \widehat Y_{t-1}} , 設\theta_1 = 1- \alpha_1 \\ 則也可以寫成: \widehat Y_t = \mu + \widehat Y_{t-1} + \alpha_1 ({Y_{t-1} - \widehat Y_{t-1}}) \\ = \mu +Y_{t-1} - \theta_1*e_{t-1}\]

5. ARIMA(2,1,2)

在通過上面的例子,可以很輕松的寫出它的預測模型:

\[ \widehat y_t = \mu + \phi_1 * y_{t-1} + \phi_2 * y_{t-2} - \theta_1 * e_{t-1} - \theta_2* e_{t-2} \\ 也可以寫成: \widehat Y_t = \mu + \phi_1 * (Y_{t-1} - Y_{t-2}) + \phi_2 * (Y_{t-2} - Y_{t-3}) - \theta_1 *(Y_{t-1} - \widehat Y_{t-1}) -\theta_2 *(Y_{t-2} - \widehat Y_{t-2}) \]

6. ARIMA(2,2,2)

\[ \widehat y_t = \mu + \phi_1 * y_{t-1} + \phi_2 * y_{t-2} - \theta_1 * e_{t-1} - \theta_2* e_{t-2} \\ \widehat Y_t = \mu + \phi_1 * (Y_{t-1}-2Y_{t-2} + Y_{t-3}) + \phi_2 * (Y_{t-2}-2Y_{t-3} + Y_{t-4}) - \theta_1 *(Y_{t-1} - \widehat Y_{t-1})- \theta_2* (Y_{t-2} - \widehat Y_{t-2}) \]

7. ARIMA建模基本步驟

  1. 獲取被觀測系統時間序列數據;
  2. 對數據繪圖,觀測是否為平穩時間序列;對於非平穩時間序列要先進行d階差分運算,化為平穩時間序列;
  3. 經過第二步處理,已經得到平穩時間序列。要對平穩時間序列分別求得其自相關系數ACF 和偏自相關系數PACF,通過對自相關圖和偏自相關圖的分析,得到最佳的階層 p 和階數 q
  4. 由以上得到的d、q、p,得到ARIMA模型。然后開始對得到的模型進行模型檢驗。
    具體例子會在另一篇文章中給出。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM