I have been learning how to use the very handy fable package (along with forecast, fabletools, etc.) and I have looked at fpp2 and fpp3 in the processes. fpp2 chapter 10 talks about hierarchical forecasting and the bottom up, middle out, and top down methods in which you forecast one level of a series and aggregate / disaggregate the series up and / or down. This is done with the hts
and forecast
packages.
fpp3 talks about the fable
package but I dont see (apologies if I missed it) a section talking about forecasting hierarchies. What I have found thus far is that fable
forecasts all the series in a hierarchy together as opposed to the older approach of forecasting one level. And you can use reconcile
to... well reconcile these with each other. I've looked for more explanation and examples but the only ones I've found use reconcile
with min_trace
like this:
if (requireNamespace("fable", quietly = TRUE)) {
library(fable)
lung_deaths_agg <- as_tsibble(cbind(mdeaths, fdeaths)) %>%
aggregate_key(key, value = sum(value))
lung_deaths_agg %>%
model(lm = TSLM(value ~ trend() + season())) %>%
reconcile(lm = min_trace(lm)) %>%
forecast()
}
So my questions are:
- Are there other more in depth resources I'm missing for forecasting using
fable
?- Specifically a list of all the reconciliation methods and how they should be used?
- Can you use something like bu, mo, td reconciliation with
reconcile
? - Are approaches like
min_trace
considered better in all respects than bu, mo, td approaches and so I should just not worry about it?
Thanks very much for any help anyone could offer!