检查残差: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
我正在使用 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