我正在使用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))
足以指定正确的最大阶数和回归数吗?
谢谢!
答案 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