我觉得这里有些奇怪的地方。例如,下面的代码为残差和新息提供了相同的值:
fit <- us_change %>%
model(ARIMA(Consumption ~ Income)) %>%
augment()augment()函数似乎只提取新息值,并将其用于回归的残差。当我们使用residuals()提取残差和新息时,可以看到这一点
bind_rows(
`Regression Errors` = as_tibble(residuals(fit, type = "regression")),
`ARIMA Errors` = as_tibble(residuals(fit, type = "innovation")),
.id = "type"
)那么残差和创新是不同的,因为它们应该是。
发布于 2021-01-29 09:15:13
augment()提供的.resid列包含响应残差,而不是回归残差。我已经更新了文档来澄清这一点:https://github.com/tidyverts/fabletools/commit/c0efd7166bca06450d7b18d3d0530fdeac67cce7
响应残差(.resid)是对原始响应变量进行反向转换预测的误差。创新残差(.innov)是来自模型的误差(在潜在的不同的、转换的响应变量上)。由于您的模型不会转换数据,因此响应残差(.resid)和创新残差(.innov)是相同的。
目前没有办法使用augment()函数获得回归残差(执行回归后的残差,在应用ARIMA过程之前)。这将是一个美好的未来。
https://stackoverflow.com/questions/65934435
复制相似问题