r - 检查残差: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))
是否足以指定正确的最大阶数和回归量?
谢谢!
解决方案
您问题的两个部分都与该功能的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
函数时应该小心。
高温高压
推荐阅读
- visual-studio-2017 - Visual Studio 2017 - VSIX 包在更新 NuGet 包后停止工作
- php - PHP:递归函数中的计数器变量在返回“1”之前倒计时
- java - 未选中单选按钮,不使用单选组的清除检查功能,因为单选组清除检查进入循环
- zfs - 正在删除 ZFS 数据
- java - 如何在字符串上并行化繁重的进程
- python - Python:求解线性系统 Ax=b,但只需要解的第一个元素并且 A 是稀疏矩阵
- sql - 如何比较两个表的两列数据并在SQL中保存其百分比差异
- javascript - 反应提交表单不发送 POST 请求
- c# - SPAudit.WriteAuditEvent 重载不可用
- python-3.x - WAG 矩阵实现