检查残差:Forecast -> checkresiduals and bgtest

Checking residuals: Forecast -> checkresiduals and bgtest

我正在使用 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))

是否足以指定正确的最大阶数和回归量?

谢谢!

您问题的两部分都与函数 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