Я пытаюсь сделать иерархическое прогнозирование по образцу Мастерская Роба Хайндмана по Rstudio.conf, и возникли некоторые проблемы. Вот мой код:
library(dplyr)
library(tsibbledata)
library(tsibble)
library(fable)
aus_retail_2013_tr <- aus_retail %>%
filter(Month <= yearmonth("2013 Dec"))
aus_retail_2013_vl <- aus_retail %>%
filter(Month > yearmonth("2013 Dec"))
hmod <- aus_retail_2013_tr %>%
aggregate_key(State*Industry, Turnover=sum(Turnover)) %>%
model(ar=ARIMA(log(Turnover))) %>%
reconcile(ar_adj=min_trace(ar))
fcasts_hmod <- forecast(hmod, aus_retail_2013_vl)
fcasts_hmod %>%
filter(is_aggregated(Industry), State == "Victoria") %>%
autoplot()
Результат графика ниже.
Мои основные проблемы:
- Похоже, что сверка вообще не изменила прогнозы. Изображение показывает, что линии
ar
иar_adj
идентичны. - Прогноз рассчитан только на период с 2014 по 2015 год, тогда как я знаю, что полный набор данных относится к 2018 году.
Как я могу это исправить? Последнее, вероятно, связано с тем, что не все временные ряды охватывают весь период, но как я могу заставить reconcile
не пропускать пропущенные периоды?
Это с dplyr 0.8.5, fable 0.2.0, fabletools 0.1.3 и tsibble 0.8.6. Я получаю одинаковые результаты как в Ubuntu / R 3.6.3, так и в Windows 10 / R 4.0.0.
PS. Попытка сделать прогноз на фиксированный горизонт приводит к ошибке:
> fcasts_hmod <- forecast(hmod, h="5 years")
Error: Reconciliation of non-normal forecasts is not yet supported.
Run `rlang::last_error()` to see where the error occurred.
forecast
:Reconciliation of temporal hierarchies is not yet supported.
- person Hong Ooi   schedule 28.05.2020hts
? - person Stephan Kolassa   schedule 28.05.2020