Skip to main content

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

https://github.com/carlomazzaferro/scikit-hts/workflows/main%20workflow/badge.svg?branch=master https://badge.fury.io/py/scikit-hts.svg Documentation Status Coverage Downloads/Month Slack

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.

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

P: Planned
W: WIP

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)

0.5.3 (2021-02-23)

0.5.4 (2021-04-20)

0.5.6 (2021-04-20)

0.5.7 (2021-05-30)

0.5.8 (2021-05-30)

0.5.9 (2021-05-30)

0.5.10 (2021-06-5)

0.5.11 (2021-06-5)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scikit-hts-0.5.12.tar.gz (60.8 kB view details)

Uploaded Source

Built Distribution

scikit_hts-0.5.12-py2.py3-none-any.whl (38.7 kB view details)

Uploaded Python 2 Python 3

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

Hashes for scikit-hts-0.5.12.tar.gz
Algorithm Hash digest
SHA256 1a817844e9fa3acb0e1f17e129d0abcc3ed40fb64df3da880e23d68378aa65cd
MD5 6626f9a7713496d9d96b5932e15664ae
BLAKE2b-256 db6c970a4bb7c3ab0e3879fbf1ad65e7baa8298b7ce890a970c13e103a197ba1

See more details on using hashes here.

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

Hashes for scikit_hts-0.5.12-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2cf868dd2507a71e6429f2e964f964765f992a9d93da5f59e10d3e3e536b7647
MD5 e4ef3b29b3892025feb81aec983da203
BLAKE2b-256 f29adf9a1f67939c0234223373d9107aa637d5514798fdfc3c361667d14a8279

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page