如何在ARIMA模型的基礎上建立ARIMA-GARCH模型(R語言)?

ARIMA模型的殘差檢驗出來是自相關的,原數據檢驗出來有ARCH效應,想知道怎麼建立ARIMA-GARCH模型?

另外因為不太確定自己目前模型建得對不對,望高人指點,模型情況如下:

1. 原數據是平穩的,但自己看ACF、PACF、EACF得出來的ARIMA模型和用auto.arima選出來的模型不一樣,auto.arima的ARIMA模型AIC值更小(但其實二者AIC值都達到了9900+),但又聽說金融類數據最好不要用auto.arima來選模型據說非常不準,不知道這時候應該選哪一種?

2. 用上述自動選擇的ARIMA模型診斷的時候發現殘差是自相關的,用McLeod.Li.test檢驗原數據是有ARCH效應的,不知道McLeod.Li.test能不能用來檢驗殘差?在R里輸入McLeod.Li.test(residuals(mod1))出來的結果p值全在0.05以下一條水平的圓圈,這算是可以在這個ARIMA基礎上建立GARCH的意思嗎?

我查了其他地方似乎都沒有介紹怎樣建立ARIMA-GARCH模型的,求指導。


謝邀。我對ARIMA也不是非常了解,畢竟沒用過。試著強答一下。

如果想構建ARMA-GARCH模型的話,在R語言裡面可以用rugarch這個包,詳細的方法可以查看這個鏈接:How to fit ARMA+GARCH Model In R?

稍微搬運一下:

如果以 ARMA(1,1)-GARCH(1,1) 模型為例:

spec &<- ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1), submodel = NULL, external.regressors = NULL, variance.targeting = FALSE), mean.model = list(armaOrder = c(1, 1), external.regressors = NULL, distribution.model = "norm", start.pars = list(), fixed.pars = list())) garch &<- ugarchfit(spec = spec, data = data, solver.control = list(trace=0))

以下語句可以返回 ARMA(1,1) 和 GARCH(1,1) 的係數:

garch@fit$coef

以下語句返回時變標準差:

garch@fit$sigma

等等,題主可以自己再看看garch變數下的其他元素。

上面提到的僅僅是ARMA-GARCH模型,至於ARIMA-GARCH模型,可以參考這個鏈接Fitting ARIMA-GARCH model using quot;rugarchquot; package

還是搬運一下:

如果你的模型是ARIMA(p,d,q)對應序列x ,可以先用 ugarchspec 構建ARMA(p,q) 模型,然後在調用 ugarchfit 函數時用 diff(x,d) 取代掉原來的x 即可。

題主另外還提到了兩個問題,第一個問題恕我知識有限無法解答。第二個問題的話,可以看這個鏈接McLeod.Li.test結果如何解釋 - R語言論壇 - 經管之家(原人大經濟論壇)

McLoed.Li.test實際上是一個假設檢驗的過程,圖中的那些圓圈每一個都對應一個p值,所有的p值都在0.05以上才算通過了檢驗。

一家之言,望各位批評指正。


推薦閱讀:

怎麼在不減少變數下消除多重共線性?
估計量與估計值之間的區別?
Deaton 獲得諾獎是否意味著 Banerjee 和 Duflo 等人關於貧困的研究不受認可?
學習計量經濟學的學生需要學習編程嗎?如果需要,要學習到什麼程度,有什麼好的建議嗎?

TAG:數據分析 | 機器學習 | 計量經濟學 | R編程語言 | 時間序列分析 |