時間序列-ARMA

時間序列為統計學的一種方法,最初使用的領域在經濟、財務領域,而後也推廣到像是生物、大氣或是行銷等領域。時間序列架構在時間類型的相關資料,藉由一些數學假設,讓資料達到穩態 ( Stationary ),使得過去的資料得以預測未來的資料。在這篇則會介紹最基本的 ARMA 模型、如何挑選及 R 的實作。

Stationary

穩態 (Stationary) 為時間序列的基本假設,若資料符合穩態的假設,則可以得到

(i) \mu_x (t) 與 t 獨立

(ii) \gamma(t+h, t) 再任意 h 下,與 t 獨立

將這兩個定義簡短的解釋就是,在資料符合穩態的情況下,資料的期望值與所在的時間點無關,只與經歷的時間期間有關。(wiki)

ARMA

ARMA 為 Autoregressive model 和 Moving average model 的結合,Autoregressive model 又稱 AR 模型,AR(p) 使用落後 p 期的資料作為自變數預測未來資料。Moving average 又稱 MA 模型,MA(q) 使用落後 q 期的預測誤差項作為自變數預測未來資料。而 ARMA 則是 AR 與 MA 模型的結合。數學式為

X_t = \Sigma_{i=1}^{p}\varphi_i X_{t-i} + \Sigma_{i=1}^{q}\theta_i \varepsilon_{t-i}

如何挑選適合的 ARMA(p,q) ?

在統計學上有簡單判斷 ARMA 的落後項,通常會將資料做 ACF 與 PACF 的分析,挑選 \alpha < 0.05 的落後項。

R 實作

在這裡使用 Johnson and Johnson 1960-1980 每季 EPS 作為這次實際操作的資料。

install.packages(astsa)
library(astsa)
head(jj) # jj 為 Johnson and Johnson 1960-1980 每季 EPS 
jj.nu 
jj.dif 
jj.dif 
acf2(jj.dif) #藉由 ACF, PACF 判斷挑選 參數為 (4,0,1)
fit 
plot(fit$x,col="red")
lines(fitted(fit),col="blue")

由這個圖判斷選取 (4,0,1) 做為模型的參數

rplot03

紅色線 jj.dif 資料,藍色線為模型配適結果

rplot02rplot04

結論

時間序列最重要的基礎假設為 stationary ,然而其實很多資料都沒有符合這個假設,也就是變異數會隨著時間變動而有所改變,所以衍生產生了 ARCH,甚至後來的 GARCH 模型,還有許多 GARCH 模型的變形,讓模型更加貼近實際世界。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s