時間序列模型:ARIMA

本章涉及知識點:

1、時間序列分析

2、平穩時間序列

3、白噪聲

4、AR自回歸模型

5、MA滑動平均模型

6、ARMA模型

7、ARIMA模型

8、差分計算

9、相關性分析—協方差

10、相關性分析—Pearson相關系數

11、時間序列相關性分析—ACK和PACK

12、AIC和BIC準則

13、一階自相關檢驗—DW檢驗

14、ARIMA模型的步驟

15、ARIMA模型實戰案例

一、時間序列分析

時間序列:在一段時間T內,按照時間順序測量某個隨機變量的取值序列。即

時間序列

區別于一般的時間函數為

一般的時間函數

其中自變量是時間t,表示在f的作用法則下,將自變量t映射為因變量y

而時間序列函數為

時間序列函數

其中自變量是Xt的前p個序列值,表示在f的作用法則下,將自變量Xt的前p個序列值映射為因變量Xt

綜上分析可知

(1)對于單值函數f(t),關心的是時間t和實值y的映射關系

(2)對于時間序列Xt,關心的是Xt的前p個序列值和Xt的映射關系

二、平穩時間序列

獨立時間序列:X_{n+1}對于{X_{1},X_{2},...,X_{n}}均彼此獨立,即任意X_{t}都不含有X_{n+1}的信息

穩定時間序列:X_{n+1}的信息隱含在其歷史{X_{1},X_{2},...,X_{n}}之中

我們需要由歷史來推測未來,則研究的序列對象是穩定時間序列,其必須滿足:

(1)EX_{t}^{2} < \infty

(2)EX_{t} = \mu

(3)cov(X_{i},X_{j})  =E[(X_{i} - \mu )(X_{j} - \mu )] = \gamma_{i-j}

即穩定時間序列滿足:常量的均值、常量的方差、與時間t無關的自協方差

且對于任意序列X_{i}X_{j},共同平移k步后的序列得到的序列X_{i+k}X_{j+k}具有相同的協方差,即

cov(X_{i}, X_{j}) = cov(X_{i+k}, X_{j+k})

上式稱為協方差結構的平移不變性

對于平穩序列的任意n階自協方差矩陣

\Gamma _{n} =  \begin{bmatrix} \gamma_{0}&...  & \gamma_{n-1}\\  ...&  ...& ...\\  \gamma_{n-1}&...  & \gamma_{0}\end{bmatrix}

任意取一個n維向量a,則

a\Gamma_{n}a^{T} = \sum_{i=1}^n \sum_{j=1}^n  a_{i}  a_{j} \gamma_{i-j}

= \sum_{i=1}^n \sum_{j=1}^n a_{i}  a_{j} E[(X_{i} -\mu  )(X_{j} -\mu  )]

= E[\sum_{i=1}^n \sum_{j=1}^n a_{i}  a_{j} (X_{i} -\mu  )(X_{j} -\mu  )]

= E[\sum_{i=1}^n  a_{i}  (X_{i} -\mu  )^{2}] = var[\sum_{i=1}^n  a_{i}  (X_{i} -\mu  )] \geq 0

則證明平穩序列的任意n階自協方差矩陣是非負定矩陣

三、白噪聲

白噪聲服從高斯分布,記時間序列\{X_{t} \}對于任意i和j,如果滿足

?EX_{t} = \mu \ , cov(X_{i}, X_{j}) = \left\{\begin{matrix}\sigma^{2}, \ i = j\\ 0, \ i \neq j\end{matrix}\right.

則時間序列\{X_{t} \}是一個白噪聲,記為WN(\mu , \sigma ^2)

我們一般用白噪聲來驗證原始時間序列和擬合時間序列的殘差序列

即原始時間序列為\{X_{t} \},擬合時間序列為\{Y _{t} \},則殘差序列\{e_{t}  \}為:

\{e_{t}  \} \  = \{X_{t}  \}   -  \{Y_{t}  \}

\{e_{t}  \}近似的滿足白噪聲,則時間序列模型很好的捕捉了自相關性

例如:對于隨機變量U1,U2,...獨立分布且都在(0,2pi)上均勻分布,假設時間序列為:

X_{t} = b\cos(at+U_{t})

則分別計算EX_{t}^2EX_{t},得

EX_{t}^2 = \frac{b^2}{2\pi}\int_{0}^{2\pi}  \cos(at+u)^2du

= \frac{b^2}{2\pi}\int_{0}^{2\pi}  \frac{1+\cos[2(at+u)]}{2} du

= \frac{b^2}{2\pi}[ \frac{1}{2} \int_{0}^{2\pi}du +  \frac{1}{4} \int_{0}^{2\pi} \cos(2at+2u)d(2at+2u)] = \frac{b^2}{2}

EX_{t} = \frac{b}{2\pi}\int_{0}^{2\pi}  \cos(at+u)du  = 0

則時間序列\{X_{t}\}是獨立的WN(0, \frac{b^2}{2} )正態白噪聲

四、AR自回歸模型

對于任意一個穩定時間序列\{X_{t}\},當滿足如下關系:

X_{t} = \alpha_{1}X_{t-1}  + \alpha_{2}X_{t-2} + ... + \alpha_{p}X_{t-p} + w_{t}  = \sum_{i=1}^p \alpha_{i}X_{t-i} + w_{t}

\{X_{t}\}為一個p階的自回歸模型,記為AR(p)模型

AR(p)模型的意義為:

(1)任意一個t時刻的序列值 = t時刻的前p個序列值的線性組合 + t時刻的隨機誤差

(2)以歷史序列為自變量,建立線性模型來預測未來

五、MA滑動平均模型

對于任意一個穩定時間序列\{X_{t}\},由AR模型得到自回歸系數的估計為(\alpha_{1}...\alpha_{p})

\{ \varepsilon_{t }  \}\{X_{t}\}的殘差序列,即

\varepsilon_{t-q} = X_{t} -\sum_{i=1}^p \alpha_{i}X_{t-i}

則當滿足如下關系:

X_{t} =  \beta_{1}\varepsilon_{t-1}  + \beta _{2}\varepsilon_{t-2} + ... + \beta _{q}\varepsilon_{t-q} + w_{t}  = \sum_{i=1}^q \beta_{i}\varepsilon_{t-i} + w_{t}

\{X_{t}\}為一個q階的滑動平均模型,記為MA(q)模型,其中\{ \varepsilon_{t }  \}滿足WN(0, \sigma ^2)白噪聲

MA(q)模型的含義為:

(1)任意一個t時刻的序列值 = t時刻的前q個序列的白噪聲累加和的線性組合 + t時刻的隨機誤差?

(2)以歷史白噪聲為自變量,建立線性模型來預測未來

六、ARMA模型

將一個p階的自回歸模型和一個q階的滑動平均模型組合在一起,便得到了一個階數為(p,q)的自回歸滑動平均模型,記為ARMA(p,q)模型,

X_{t} =  \alpha_{1}X_{t-1} +...+\alpha_{p}X_{t-p}  + \beta_{1}\varepsilon_{t-1}  +...+ \beta _{q}\varepsilon_{t-q} + w_{t}

= \sum_{i=1}^p \alpha_{i}X_{t-i}  + \sum_{i=1}^q \beta_{i}\varepsilon_{t-i} + w_{t}

ARMA(p,q)模型的意義為:

(1)將AR和MA模型的優勢線性互補起來

(2)以歷史序列和歷史白噪聲序列為自變量,建立線性模型來預測未來

七、ARIMA模型

ARIMA模型:對時間序列\{X_{t}\}進行d次差分得到一個新的差分時間序列\{Y_{t}\},再對該序列使用ARMA模型,為此ARIMA模型比ARMA模型多了一層思想:差分

八、差分計算

對于任意一個時間序列\{X_{t}\}進行d次差分,設x_{t}是t時刻\{X_{t}\}的差分值

當d=0時,x_{t}  = X_{t}

當d=1時,x_{t}  = X_{t}  - X_{t-1}

當d=2時,x_{t}  = X_{t}  - X_{t-1}  - (X_{t-1}  - X_{t-2} ) = X_{t}  -2 X_{t-1} + X_{t-2}

一般的,一個非平穩序列經過d次差分后,可以轉化為平穩時間序列

九、相關性分析—協方差

假設兩個隨機變量X和Y滿足未知的概率分布,則我們可以使用協方差來衡量X和Y之間的相關性

cov(X, Y) = E[(X-E(X))(Y-E(Y))]

而在實際應用中,由于整體的概率分布未知(無法計算出數學期望),則用X和Y的觀測值來計算樣本的協方差,其中\mu_{X}\mu_{Y}分別為X和Y的均值

cov(X, Y) = \frac{1}{n-1} \sum_{i=1}^n (x_{i}-\mu_{X})(y_{i}-\mu_{Y})

cov(X, Y)  >0,X和Y正相關,有相同的變化趨勢

cov(X, Y)  <0,X和Y負相關,有相反的變化趨勢

cov(X, Y)  =0,X和Y沒有線性關系

用協方差描述隨機變量的相關性,只能做到定性分析,無法做到定量分析,比如:一組身高和體重的協方差為205.6,這個數值是一個正數,只能說明身高體重具有正相關型,而并沒有給出其相關性大小的判斷標準。

因此協方差具有量綱效應

十、相關性分析—Pearson相關系數

為了對隨機變量的相關性做定量分析,需要消除協方差之間的量綱,為此引入Pearson相關系數

corr(X,Y) = \frac{E[(X-E(X))(Y-E(Y))]}{\sqrt{var(X)}\sqrt{var(Y)} }=\frac{cov(X,Y)}{\sigma_{X}\sigma_{Y}}

=\frac{ \sum_{i=1}^n (x_{i}-\mu_{X})(y_{i}-\mu_{Y})}{\sum_{i=1}^n (x_{i}-\mu_{X})\sum_{i=1}^n (y_{i}-\mu_{Y})}

通過X和Y的標準差歸一化X和Y的協方差,且corr(X,Y) \  \epsilon \  [-1,+1]

corr(X,Y) =1,X和Y正相關

corr(X,Y) =-1,X和Y負相關

corr(X,Y) =0,X和Y沒有線性關系

0<|corr(X,Y) |<1,X和Y具有一定程度的線性關系

十一、時間序列相關性分析—ACK和PACK

由于時間序列的自變量是一維的,則使用Pearson相關系數判斷其相關性時,需要找到除自身序列值外的一個變量與之比較關系,為此時間序列有如下特點:

時間序列只能比較自己和自己滯后的序列值,即形成自相關關系

ACK自相關系數:度量變量過去的行為對變量現在的影響,即

ACK (k) = \frac{cov(X_{1,k},X_{k+1,n})}{\sigma_{X}^2} =  \frac{\sum_{t=1}^{n-k}(x_{t}-\mu_{X})(x_{t+k}-\mu_{X})}{\sum_{t=1}^n(x_{t}-\mu_{X})^2}

ACK表示:歷史序列\{  x_{1},...,x_{k} \}和當前序列\{  x_{k+1},...,x_{n} \}之間的相關性

PACK偏自相關系數:計算某一個變量對另一個變量的相關程度時,把其他變量視為常數

PACK (k) = \frac{cov(X_{1,k} - \mu_{X_{1,k}},X_{k+1,n} - \mu_{X_{k+1,n}})}{\sigma(X_{1,k} - \mu_{X_{1,k}})\sigma(X_{k+1,n} - \mu_{X_{k+1,n}})}

= \frac{\sum_{t=1}^{n-k}  (x_{t+k} - \mu_{X_{k+1,n}}-\mu_{X}) (x_{t} - \mu_{X_{1,k}} -\mu_{X})}{\sum_{t=1}^k(x_{t} - \mu_{X_{1,k}}-\mu_{X})\sum_{t=k+1}^n(x_{t} - \mu_{X_{k+1,n}}-\mu_{X})}

PACK表示:計算時間序列\{  x_{t} \}\{  x_{t+k} \}的相關性影響,需要排除k-1個(\{  x_{t+1}  \}... \{  x_{t+k-1} \})中間變量的影響

十二、AIC和BIC準則

AIC和BIC準則可以輔助量化ARMA模型的定階通過最小化AIC和BIC指標來搜索出模型的最優階數p和q

AIC準則:全稱是最小化信息量準則,定義為

AIC(k) =  - 2\ln(L) + 2k

其中k為模型的階數,L為模型的極大似然函數

AIC準則有一定的缺陷:即樣本容量很大時,k的懲罰因子一直是常數2,與樣本容量沒有關系,這樣會導致AIC增大

BIC準則:全稱是貝葉斯信息準則,定義為

BIC(k) =  - 2\ln(L) + k\ln(n)

其中n為樣本容量

BIC很好的彌補了AIC的不足,將樣本容量n關聯到k的懲罰因子中

十三、一階自相關檢驗—DW檢驗

由ACK的定義

ACK (k) = \frac{cov(X_{1,k},X_{k+1,n})}{\sigma_{X}^2} =  \frac{\sum_{t=1}^{n-k}(x_{t}-\mu_{X})(x_{t+k}-\mu_{X})}{\sum_{t=1}^n(x_{t}-\mu_{X})^2}

我們設e_{t}=x_{t}-\mu_{X},e_{t+1}=x_{t+1}-\mu_{X},則構造統計量DW為:

DW=\frac{\sum_{t=1}^{n-1}(e_{t+1} - e_{t})}{\sum_{t=1}^{n}e_{t}^{2}}

分析DW,當n非常大時,有\sum_{t=1}^{n}e_{t}^{2} \approx \sum_{t=1}^{n-1}e_{t}^{2} \approx \sum_{t=1}^{n-1}e_{t+1}^{2},則

DW=\frac{\sum_{t=1}^{n-1}e_{t+1}^{2} + e_{t}^{2} - 2e_{t+1}e_{t}}{\sum_{t=1}^{n}e_{t}^{2}}  \approx  2(1 - \frac{\sum_{t=1}^{n-1}e_{t+1}e_{t}}{\sum_{t=1}^{n}e_{t}^{2}} )=2(1-ACK(1))

DW檢驗有以下特點:

(1)DW檢驗僅適用于一階自相關的檢驗

(2)如果不存在一階自相關,一般也不存在高階序列相關

(3)實際應用中,對于序列相關問題一般只進行DW檢驗

由ACK(1)的取值來決定DW的取值情況:

當ACK(1)=1,說明相關變量組存在一階正相關,DW=0

當ACK(1)=-1,說明相關變量組存在一階負相關,DW=4

當ACK(1)=0,說明相關變量組完全不相關,DW=2

十四、ARIMA模型的步驟

通過上述知識點,我們可以歸納出ARIMA模型的步驟為:

(1)獲取觀測的時間序列,檢驗序列的平穩性

(2)縮小序列值域,一般取對數序列

(3)對于非平穩序列,通過d次差分運算轉化為穩定序列

(4)ADF單根檢驗,觀察p-value值是否小于5%

(5)模型定階:對平穩時間序列分別求自相關系數ACF和偏自相關系數PACF,通過AIC、BIC準則得到最佳的階數p和q

(6)模型訓練:通過(p,d,q)階數訓練ARIMA模型,學習到殘差序列

(7)模型檢驗:殘差序列是否滿足白噪聲、DW檢驗一階自相關性、觀察殘差序列擬合原始殘差序列效果

(8)模型測試:殘差序列逆向還原擬合時間序列,殘差序列交叉驗證測試集

十五、ARIMA模型實戰案例

setp1:獲取時間序列樣本集

樣本數據為1949年1月到1960年12月每月的乘客數量

數據集
數據集

我們通過原始序列的滑動均值和方差,觀察其穩定性

原序列平穩性檢驗
原序列平穩性檢驗

可以看到原始序列的滑動均值/方差都有逐漸增大的趨勢,該序列不穩定

setp2:取對數和一階差分,通過滑動均值和方差、以及ADF單根檢驗差分序列是否滿足穩定性

差分序列平穩性檢驗
差分序列平穩性檢驗

可以看到,差分后滑動均值/方差逐漸趨于平穩,P值小于5%,差分序列是穩定的

setp3:模型定階,畫出ACF和PACF的圖像

ACF和PACF

上下兩條灰線之間是置信區間

非統計學專業出身,肉眼定階法缺乏經驗。所以在階數和數據量不大的場景下,可以選擇暴力定階法,通過遍歷可能的階數,計算ACK和PACK對應于AIC和BIC準則下的最小值,作為最優階數p和q的參考

暴力定階法

上述選出基于BIC準則下最優參數(p,q)=(10,7)

setp4:訓練ARIMA模型,即ARIMA(10,1,7),得到模型和殘差序列

訓練ARIMA模型

setp5:檢驗模型學習效果

(1)殘差序列是否滿足白噪聲—qq圖

qq圖

qq圖的x軸表示正態分布分位數,y軸為樣本分位數,可以看到殘差序列基本位于一條直線上,即滿足白噪聲

(2)DW檢測一階相關性

DW檢測
DW檢測

(3)觀察學習到的差分序列擬合效果

檢驗差分序列擬合結果

setp6:模型測試效果

(1)殘差序列逆向還原擬合時間序列

殘差序列逆向還原擬合時間序列

(2)殘差序列交叉驗證測試集

殘差序列交叉驗證測試集
交叉驗證

實驗結果可以看到,隨著時間的推移,模型的擬合效果和預測效果較為理想

案例代碼見:時間序列模型:ARIMA

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 時間序列簡介 時間序列 是指將同一統計指標的數值按其先后發生的時間順序排列而成的數列。時間序列分析的主要目的是根據...
    熙淺閱讀 177,364評論 15 55
  • 1 概念 ARIMA模型,全稱為自回歸積分滑動平均模型(Autoregressive Integrated ...
    風逝流沙閱讀 44,733評論 1 48
  • 一、基本概念 1.隨機時序分析的基本概念1)隨機變量:簡單的隨機現象,如某班一天學生出勤人數,是靜態的。2)隨機過...
    apricoter閱讀 6,577評論 0 10
  • 姓名:車文揚 學號:16020199006 轉載至:https://www.cnblogs.com/babyfei...
    o錯覺_42a1閱讀 22,817評論 0 8
  • 他們說我短發的樣子像個男孩子,他們說女孩子就是應該穿著漂亮的裙子,斯斯文文地講話,不說臟話。可是我不懂,難道所有的...
    云笙閱讀 186評論 2 3