Hierarchical Time Series forecasting
Project description
Hierarchical Time Series with a familiar API. This is the result from not having found any good implementations of HTS on-line, and my work in the mobility space while working at Circ (acquired by Bird scooters).
My work on this is purely out of passion, so contributions are always welcomed. You can also buy me a coffee if you’d like:
ETH / BSC Address: 0xbF42b9c8F7B69D52b8b986AA4E0BAc6838Af6698
Documentation: https://scikit-hts.readthedocs.io/en/latest/
Overview
Building on the excellent work by Hyndman [1], we developed this package in order to provide a python implementation of general hierarchical time series modeling.
Note
STATUS: alpha. Active development, but breaking changes may come.
Features
Supported and tested on python 3.6, python 3.7 and python 3.8
Implementation of Bottom-Up, Top-Down, Middle-Out, Forecast Proportions, Average Historic Proportions, Proportions of Historic Averages and OLS revision methods
Support for representations of hierarchical and grouped time series
Support for a variety of underlying forecasting models, inlcuding: SARIMAX, ARIMA, Prophet, Holt-Winters
Scikit-learn-like API
Geo events handling functionality for geospatial data, including visualisation capabilities
Static typing for a nice developer experience
Distributed training & Dask integration: perform training and prediction in parallel or in a cluster with Dask
Examples
You can find code usages here: https://github.com/carlomazzaferro/scikit-hts-examples
Roadmap
- More flexible underlying modeling support
[P] AR, ARIMAX, VARMAX, etc
[P] Bring-Your-Own-Model
[P] Different parameters for each of the models
- Decoupling reconciliation methods from forecast fitting
[W] Enable to use the reconciliation methods with pre-fitted models
Credits
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
History
0.1.0 (2020-01-02)
First release on PyPI.
0.2.0 (2018-02-13)
Major feature implementation and documentation
Static typing
Testing - 44% coverage
0.2.3 (2020-03-28)
Testing up to 75%
Exogenous variable support
Extensive docs
0.3.0 (2020-03-28)
Parallel and distributed training
0.4.0 (2020-03-28)
Testing for all reconciliation methods, line coverage > 80%
0.4.1 (2020-03-28)
Python 3.6 support
0.5.2 (2020-03-28)
Added support for no revision, thanks @ryanvolpi
Added multiple example at https://github.com/carlomazzaferro/scikit-hts-examples, thanks @vtoliveira
Logging fixes and usability improvements
0.5.3 (2021-02-23)
Support for grouped time series, thanks to @noahsa! See: https://github.com/carlomazzaferro/scikit-hts/pull/51
0.5.4 (2021-04-20)
Fixed long-standing BU forcasting bug, thanks to @javierhuertay! See: https://github.com/carlomazzaferro/scikit-hts/issues/35
0.5.6 (2021-04-20)
Fixed input sanitization for convenience methods. See: https://github.com/carlomazzaferro/scikit-hts/issues/65
0.5.7 (2021-05-30)
Ability to build hierarchies from tabular data. Thanks @noahsa! See: https://github.com/carlomazzaferro/scikit-hts/pull/70
0.5.8 (2021-05-30)
Fix long-standing bugs related to transformers implementation. See: https://github.com/carlomazzaferro/scikit-hts/issues/66, https://github.com/carlomazzaferro/scikit-hts/issues/33, https://github.com/carlomazzaferro/scikit-hts/issues/38
0.5.9 (2021-05-30)
Fix long-standing bugs related to handling exogenous variables. See: https://github.com/carlomazzaferro/scikit-hts/issues/55
0.5.10 (2021-06-5)
Minor bug fix for transforms fixed: https://github.com/carlomazzaferro/scikit-hts/issues/66#issuecomment-855223892
0.5.11 (2021-06-5)
Further fix to exogenous variable handling, thanks to @wilfreddesert! See: https://github.com/carlomazzaferro/scikit-hts/issues/75
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file scikit-hts-0.5.12.tar.gz
.
File metadata
- Download URL: scikit-hts-0.5.12.tar.gz
- Upload date:
- Size: 60.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.7.1 requests/2.26.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a817844e9fa3acb0e1f17e129d0abcc3ed40fb64df3da880e23d68378aa65cd |
|
MD5 | 6626f9a7713496d9d96b5932e15664ae |
|
BLAKE2b-256 | db6c970a4bb7c3ab0e3879fbf1ad65e7baa8298b7ce890a970c13e103a197ba1 |
File details
Details for the file scikit_hts-0.5.12-py2.py3-none-any.whl
.
File metadata
- Download URL: scikit_hts-0.5.12-py2.py3-none-any.whl
- Upload date:
- Size: 38.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.7.1 requests/2.26.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2cf868dd2507a71e6429f2e964f964765f992a9d93da5f59e10d3e3e536b7647 |
|
MD5 | e4ef3b29b3892025feb81aec983da203 |
|
BLAKE2b-256 | f29adf9a1f67939c0234223373d9107aa637d5514798fdfc3c361667d14a8279 |