Probabilistic hierarchical forecasting with statistical and econometric methods
BottomUp
, TopDown
, MiddleOut
, MinTrace
and ERM
, as well as probabilistic coherent prediction methods such as Normality
, Bootstrap
, and PERMBU
.BottomUp
: Simple addition to the upper levels.TopDown
: Distributes the top levels forecasts trough the hierarchies.MiddleOut
: It anchors the base predictions in a middle level. The levels above the base predictions use the bottom-up approach, while the levels below use a top-down.MinTrace
: Minimizes the total forecast variance of the space of coherent forecasts, with the Minimum Trace reconciliation.ERM
: Optimizes the reconciliation matrix minimizing an L1 regularized objective.Normality
: Uses MinTrace variance-covariance closed form matrix under a normality assumption.Bootstrap
: Generates distribution of hierarchically reconciled predictions using Gamakumaraβs bootstrap approach.PERMBU
: Reconciles independent sample predictions by reinjecting multivariate dependence with estimated rank permutation copulas, and performing a Bottom-Up aggregation.HierarchicalForecast
integrates publicly available processed datasets, evaluation metrics, and a curated set of standard statistical baselines. In this library we provide usage examples and references to extensive experiments where we showcase the baselineβs use and evaluate the accuracy of their predictions. With this work, we hope to contribute to Machine Learning forecasting by bridging the gap to statistical and econometric modeling, as well as providing tools for the development of novel hierarchical forecasting algorithms rooted in a thorough comparison of these well-established models. We intend to continue maintaining and increasing the repository, promoting collaboration across the forecasting community.
uv
as Python package manager, for which you can find installation instructions here. You can then install HierarchicalForecast
with:
statsforecast
and datasetsforecast
as additional packages. If not installed, install it via your preferred method, e.g. pip install statsforecast datasetsforecast
.
The datasetsforecast
library allows us to download hierarhical datasets and we will use statsforecast
to compute the base forecasts to be reconciled.
You can open a complete example in Colab