I just started to use {fable}
and the {tidyverts}
family of tools and so far it's going quite well.
I'm currently interested in producing long term probabilistic forecasts from daily data (with a monthly or quarterly resolution being fine or preferred). My understanding is, that temporal aggregation could help reduce model uncertainty and also propagate known daily influences (especially holiday effects) to the e.g. quarterly level and improve accuracy that way.
For the daily data I plan on using prophet + covariates, for the higher aggregates (monthly to yearly) exponantial smoothing seems appropriate.
While I wonder if this approach seems generally promising, I am not quite sure how to structure the forecast problem using {thief}
to arrive at probabilistic forecasts.
PS: I found this helpful post for hourly data, but I'm running into problems implementing it for daily data (e.g. creating meaningful aggregations and combining the forecasts): https://stats.stackexchange.com/questions/352121/how-to-forecast-hourly-as-well-as-daily-data-in-r
To produce probabilistic forecasts using
{thief}
you'll need to convert the fable into a{forecast}
styleforecast
object. The basic minimal structure of aforecast
object (and how it can be produced from a fable distribution, which can be obtained for prophet via{fable.prophet}
) is:Created on 2020-12-10 by the reprex package (v0.3.0)
You can then use these forecast structures with
thief::reconcilethief()
to reconcile them.That said, temporal (and cross-temporal) reconciliation is currently being developed for
{fable}
. The relevant development issue is here: https://github.com/tidyverts/fabletools/issues/59 There are some complexities with reconciling daily or sub-daily temporal to monthly and annual hierarchies which have not yet been implemented, but the prototype currently works well for >monthly bottom levels. This recent presentation at ISF2020 introduces temporal reconciliation with{fable}
: https://www.youtube.com/watch?v=6D7rNHZ5E-Q&t=1120It's worth noting that the intervals from
{thief}
are simply the sum of intervals from higher temporal frequencies. These intervals are not optimal, and so will differ from the optimal probabilistic forecast distributions that will be given by{fable}
.