Дополните таблицу: остатки и инновации от регрессии с моделью ошибок ARMA одинаковы

Я думаю, здесь есть что-то странное. Например, следующий код дает одинаковые значения для остатков и нововведений:

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

Тогда остатки и нововведения разные как и должны быть.


person QuantumJazz    schedule 28.01.2021    source источник


Ответы (1)


Столбец .resid, предоставленный augment(), содержит остатки ответа, а не остатки регрессии. Я обновил документацию, чтобы уточнить это: https://github.com/tidyverts/fabletools/commit/c0efd7166bca06450d7b18d3d0530fdeac67cce7

Остаток ответа (.resid) - это ошибка предсказаний с обратным преобразованием исходной переменной ответа. Остаток инноваций (.innov) - это ошибка модели (на потенциально другой преобразованной переменной отклика). Поскольку ваша модель не преобразует данные, остатки ответа (.resid) и остатки инноваций (.innov) одинаковы.

В настоящее время нет способа получить остатки регрессии (остатки после выполнения регрессии, до применения процесса ARIMA) с помощью функции augment(). Это то, что было бы неплохо иметь в будущем.

person Mitchell O'Hara-Wild    schedule 29.01.2021