v0.3.0
Computational Efficiency Improvements
- New
aggregate
function that generates the hierarchical time series and the aggregation constraints matrix. Improve from$O((N_{a}+N_{b})^{2}log(N_{a}+N_{b}))$ to$O((N_{a}+N_{b})$ . - Vectorization of the creation of probabilistic prediction levels, before done in for loops now performed in a single vectorized numpy call.
Evaluation Utilities
- Added scaled continuous ranked probability scores (sCRPS).
- Added mean scaled squared errors (MSSE).
- Added energy score metric.
- Added random sampling outputs to probabilistic reconcilers.
- Added
core.bootstrap_reconcile
method to apply over different random seeds the reconcilers and generate standard deviations.
Refactorization of the HierarchicalForecast classes
- Overall improvement of the
core.reconciliation
method. - Decoupled the probabilistic reconciler classes from the mean reconciler classes.
- Decoupled fit protections from reconciliation.
- Reconciler's inputs now mostly receive mostly numpy arrays.
- Simplified and deprecated dependencies.
Documentation Improvements
- Installation guide.
- New introduction tutorial with minimal, intuitive example.
- Tutorial on evaluation of reconciliation probabilistic reconciliation baselines.
New Collaborators and HierarchicalForecast Paper
- We started a fruitful collaboration with Souhaib Ben Taieb
and Shanika Wickramasuriya. - We submitted the HierarchicalForecast library paper to the Journal of Machine Learning Research.
What's Changed
- [FEAT] Ignore jupyter notebooks as part of
languages
in #120 - [FEAT] Factorizing reverse_sigmah from HierarchicalReconciliation in #121
- [FEAT] Decoupling
_reconcile
, from_get_PW_matrices
. in #123 - [FEAT] PW initialization in #124
- Prob Reconciler's tests location in #125
- Core Refactorization + Reconcilers.fit in #128
- CircleCI in #129
- Shared
HReconciler
+predict
method in #131 - [FEAT] Reconciler's sample method in #133
- [FEAT] CRPS, MSSE and Energy Score metrics in #134
- time tracking utils in #135
- [FEAT] Faster creation of ProbReconciler's ordered levels in #137
- [FIX] Matplotlib and numba errors in #142
- [FIX] Circle ci integration in #141
- [BUG] PERMBU
unique_id
order andnum_samples
in #143 - [Bug] Fixed
S_df
categorical index ordering in #145 - [FEAT] seed/num_samples usage possibility + MSSE evaluation example in #147
- [FEAT] Faster
aggregate
function + Gaussian Log Score in #150 - [FIX] Documentation + Update bib reference in #156
- light improvements to readme in #157
- [FIX] Use micromamba instead of miniconda (CI) in #167
- [BUG] Added
level
domain protection fornormality
andpermbu
methods in #166 - Level domain protection in #169
- Omit expensive linear algebra when not necessary in MinTrace in #171
- [FIX] Add correct github link in #173
- [DOCS] Improved index, intro, quick start, and geographical forecasts in #175
New Contributors
- @melopeo made their first contribution in #157
- @mcsqr made their first contribution in #171
- @cchallu made their first contribution in #175
Full Changelog: v0.2.1...v0.3.0