检查残差:预测->残差和bgtest

时间:2018-12-16 12:06:47

标签: r time-series arima forecast

我正在使用Rob Hyndman的forecast包,并且我想从checkresiduals函数中提取一些值。有没有一种方法可以调用checkresiduals(model),然后提取该函数调用的Ljung-Box测试的p值,滞后和df?该函数仅将输出打印到控制台,如下所示:

> checkresiduals(arima_model)

    Ljung-Box test

data:  Residuals from ARIMA(0,1,3)(2,0,1)[7]
Q* = 29.221, df = 8, p-value = 0.00029

如果我反而对使用auto.arima发现的模型所指定的参数运行Breusch-Godfrey测试感兴趣,那么

bgtest(auto.arima(time_series))

足以指定正确的最大阶数和回归数吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

问题的两个部分都与功能forecast::checkresiduals的实际工作方式有关。该函数是用纯R语言编写的,因此建议通过在控制台中运行forecast::checkresiduals命令来遍历代码。

对于LB情况,您可以像这样获得p值:

arima_model <- forecast::auto.arima(WWWusage)
LBtest <- Box.test(zoo::na.approx(residuals(arima_model))
                   , fitdf = length(arima_model$coef)
                   , lag = max( length(arima_model$coef) + 3
                                , min(10, length(residuals(arima_model))/5) )
                   , type = 'Ljung')

LBtest$p.value

问题的第二部分更加复杂,取决于您的数据和分析的上下文,但是在使用auto.arima函数时应格外小心。

HTH