首页 > 解决方案 > 检查残差:Forecast -> checkresiduals 和 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))

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

谢谢!

标签: rtime-seriesarimaforecast

解决方案


您问题的两个部分都与该功能的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函数时应该小心。

高温高压


推荐阅读