0

我认为这里有些奇怪。例如,以下代码为残差和创新提供了相同的值:

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"
  )

那么残差和创新应该是不同的。

4

1 回答 1

1

提供的.residaugment()包含响应残差,而不是回归残差。我已经更新了文档以澄清这一点:https ://github.com/tidyverts/fabletools/commit/c0efd7166bca06450d7b18d3d0530fdeac67cce7

响应残差 ( .resid) 是来自原始响应变量的反向转换预测的误差。创新残差 ( .innov) 是来自模型的误差(在可能不同的转换响应变量上)。由于您的模型不转换数据,因此响应残差 ( .resid) 和创新残差 ( .innov) 是相同的。

目前无法使用该函数获得回归残差(执行回归后,应用 ARIMA 过程之前的残差)augment()。这是将来很高兴拥有的东西。

于 2021-01-29T01:15:13.303 回答