ARIMA模型怎麼根據拖尾和截尾來判斷p,q?
或者有其他好方法?
一般先進行 次差分轉化為 來考慮。所以下面先介紹EACF(extended ACF)如何定 的階,然後用一個模擬的 例子來展示如何在R語言中用EACF定階。
相關理論
首先拖尾跟截尾都是對自相關函數(ACF)和偏自相關函數(PACF)而言的。對於 模型,我們有
可以看出,對於純 或 模型,ACF和PACF的拖尾截尾性質很明顯,可以因此很容易地定階。但是對於混合的 模型而言,便不是那麼方便了。
文獻[1]提出了EACF方法,對於未知的 ,採用迭代的過程來定階。假設當前AR階數為 , MA階數為 ,則我們可以通過一系列的 次回歸(這裡略去,具體過程可以參見文獻[1])來一致估計出AR的係數 ,然後構造自回歸殘差
的ACF便稱為EACF。當 , 近似 模型,所以其ACF會滯後 階後截尾。當 ,會出現過擬合,這也將導致 的MA階數增加,文獻[1]中指出將EACF的信息匯總在一張表中,若 的 階滯後ACF顯著不為0,則第 行和第 列元素用符號`x`表示,否則用0表示。這樣理論上 有一個由0構成的三角模式。下圖是 的理論EACF,零三角的左上角的0所在的行列表徵了ARMA的階。
R語言實現
下面舉個例子
從EACF表還是很容易得出階數,需要注意,對於ARIMA模型,我們需要先進行差分,如例子中的`diff`,然後再按照ARMA來考慮。另外,eacf在TSA包中。
參考文獻
[1] Tsay, R. S. and Tiao, G. (1984). 「Consistent estimates of autoregressive parameters and
extended sample autocorrelation function for stationary and nonstationary ARMA
Models.」 Journal of the American Statistical Association, 79, 385, 84–96.
推薦閱讀:
※Arima
※基於GARCH模型的平安銀行股票研究和危機預警——R語言描述
※利用python進行時間序列分析——從隨機遊走到GARCH模型(三)【完】
※參考場景:時間序列分析