時間序列

ARIMA 模型,無法擺脫低階 ACF 尖峰

  • December 16, 2014

我已經完成了擬合一個好的 ARIMA 模型的所有步驟——我繪製了數據,我查看了 ADF 測試,我查看了沒有 AR 和 MA 項只是一個常數的 ACF 圖。我想出了一個 ARMA(0,1,1) 模型,因為 ACF 在兩個滯後後切斷(第二個是負數),並且 PACF 從一階負數開始呈指數衰減。

問題是,一旦擬合了我的模型,我就無法擺脫殘差 ACF 圖中一階滯後的大正峰值。我嘗試增加 MA 術語的數量,但滯後並沒有消失,第二個術語並不重要。鑑於它是一個 MA 模型,我認為不需要進一步的差分順序。

我已經用 R 編寫了我的模型

有什麼建議嗎?

編輯:我在下麵包含了一些圖表。我在有和沒有常數的情況下測試了我的模型,因為常數不顯著,但是 AIC 在常數下較低。從理論上講,我認為沒有常數更有意義,因為我認為沒有恆定的平均趨勢。但是,排除常數(使用參數 include.mean=FALSE)不會改變殘差的 ACF 或 PACF。我用來擬合模型的程式碼是:

ArmaOhdifc01 = armaFit( ~arma(0, 1), data=OhDiff)
ArmaOhdif01 = armaFit( ~arma(0, 1), data=OhDiff, include.mean=FALSE)

下面是圖表 - 我沒有包括第一個模型的 ACF 和 PACF,因為與第二個模型沒有區別。

第一張圖只是第一個差分數據的圖

第二張圖是模型的 ACF 圖,僅在差分數據上擬合了一個常數,沒有 AR 或 MA 項

第三張圖是同一模型上的 PACF,只有一個常數

第 4 個圖是 ARMA(0,1,1) 的殘差上的 ACF,具有常數

第 6 個圖是帶有常數的 ARMA(0,1,1) 殘差上的 PACF

這是一個經典的誤解,你的模型是正確的,你總是在滯後零(而不是一)處有一個等於 1 的 acf,因為如果沒有滯後 acf = covariance(x , x_lag 0) / variance x = variance x / variance x = 1。

所以你需要注意 x 軸,有些軟體從滯後零開始顯示 ACF,有些軟體從 1 開始顯示(這更有意義)。

引用自:https://quant.stackexchange.com/questions/15802