Skip to content

Releases: Nixtla/hierarchicalforecast

v0.4.3

21 Oct 15:04
b331c4c
Compare
Choose a tag to compare

New Features

Dependencies

  • As of v0.4.3, hierarchicalforecast no longer officially supports Python 3.8, which is EOL.

v0.4.2

15 Aug 20:24
9e80646
Compare
Choose a tag to compare

New Features

  • Add sparse top-down reconciliation via TopDownSparse @christopher-titchen (#277)
  • Decrease wall time of _get_PW_matrices for BottomUp and BottomUpSparse @christopher-titchen (#276)
  • Efficient MinTrace (ols/wls_var/wls_struct/mint_cov/mint_shrink) @elephaint (#264)

Documentation

Dependencies

Enhancement

v0.4.1

21 Nov 18:35
Compare
Choose a tag to compare

Bug Fixes

Documentation

Enhancement

v0.4.0

03 Oct 22:40
Compare
Choose a tag to compare

New Features

  • Sparse Reconciliation @mcsqr (#210)
  • [FEAT] Probabilistic Forecasting Util Functions @dluuo (#195)
  • [FEAT] NeuralForecast Compatibility and Example Notebook @dluuo (#188)

Bug Fixes

  • fix aggregate function @jmoralez (#232)
  • [FIX] Aggregate unbalanced datasets @FedericoGarza (#190)
  • Fix assignment to unbound variable @nickto (#187)

Documentation

  • [Doc] Updated FavoritaComplete evaluation @kdgutier (#220)
  • [Doc] Added baseline version detail for replicability @kdgutier (#218)
  • [Doc] Added HierE2E Favorita baseline @kdgutier (#217)
  • [Doc] aggregate showdoc + external reconciliation tutorials' improvements @kdgutier (#214)
  • [Doc] First iteration of HierE2E baseline execution + Documentation detail improvements @kdgutier (#212)
  • [Doc] Added baseline experiments and minor protection to Normality reconciler @kdgutier (#203)
  • [FEAT] HierarchicalForecast With GluonTS Example Notebook @dluuo (#200)
  • [Doc] Fix intro installation typo @kdgutier (#193)

Enhancement

  • Fixes for large datasets @mcsqr (#229)
  • Rename MSSE into RelMSE, add new implementation of MSSE @nickto (#185)
  • [FEAT] Core Numeric Type and Null Protections @dluuo (#181)

v0.3.0

02 Mar 18:15
Compare
Choose a tag to compare

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 and num_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 for normality and permbu 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

Full Changelog: v0.2.1...v0.3.0

v0.2.1

30 Nov 00:23
Compare
Choose a tag to compare

What's Changed

  • Introduction tutorial in #102
  • [FIX] Docs source links in #107
  • [FIX] General plot_hierarchical_predictions_gap in #106
  • Doc: Updated ReadMe in #111
  • FEAT: add installation guide in #114
  • FEAT: Documentation Outline in #112
  • [FIX] Add correct link to StatsForecast in #115
  • [FIX] Deprecate mycolorpy dependency in #116
  • [FEAT] Add conda badge to readme in #117

Full Changelog: v0.2.0...v0.2.1

v0.2.0

28 Oct 16:19
Compare
Choose a tag to compare

What's Changed

  • MinTrace's protection to Schafer-Strimmer covariance and eliminated statsmodels dependency in #97

Full Changelog: v0.1.3...v0.2.0

v0.1.3

25 Oct 22:50
Compare
Choose a tag to compare

What's Changed

  • Utils documentation title change + H. aggregation gap plot in #71
  • PERMBU in #73
  • [FEAT] Non-negative reconciliation in #78
  • [FIX] Examples numbering in #84
  • [FEAT,BREAKING CHANGE] Add PERMBU integration to HierarchicalReconciliation class in #83
  • [FEAT] Add test same series Y and S in #94

Full Changelog: v0.1.2...v0.1.3

v0.1.2

05 Oct 04:00
Compare
Choose a tag to compare

What's Changed

  • [FIX] Methods' name in #67

Full Changelog: v0.1.1...v0.1.2

v0.1.1

05 Oct 03:02
Compare
Choose a tag to compare

What's Changed

  • Improved documentation, contribution instructions and .gitignore in #57
  • Intro paragraph for documentation, tutorial titles, gitignore protect… in #60
  • Fixed missing documentation plots, working README example in #61
  • [FIX] Plot single-valued time series in #64
  • [FIX] h=1 evaluation in #63
  • [FIX] Make Y_df optional for the reconcile method in #65

Full Changelog: v0.1.0...v0.1.1