Metadata-Version: 2.1
Name: scikit-hts
Version: 0.4.0
Summary: Hierarchical Time Series forecasting
Home-page: UNKNOWN
Author: Carlo Mazzaferro
Author-email: carlo.mazzaferro@gmail.com
License: UNKNOWN
Keywords: scikit-hts
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Dist: numpy (>=1.17.4)
Requires-Dist: pandas (>=0.25.3)
Requires-Dist: scipy (>=1.3.2)
Requires-Dist: scikit-learn (>=0.21.3)
Requires-Dist: statsmodels (==0.10.2)
Requires-Dist: tqdm (==4.43)
Provides-Extra: all
Requires-Dist: numpy (>=1.17.4) ; extra == 'all'
Requires-Dist: pandas (>=0.25.3) ; extra == 'all'
Requires-Dist: fbprophet (>=0.6) ; extra == 'all'
Requires-Dist: scipy (>=1.3.2) ; extra == 'all'
Requires-Dist: scikit-learn (>=0.21.3) ; extra == 'all'
Requires-Dist: statsmodels (==0.10.2) ; extra == 'all'
Requires-Dist: folium (==0.10.0) ; extra == 'all'
Requires-Dist: h3 (==3.4.3) ; extra == 'all'
Requires-Dist: pmdarima (>=1.5.1) ; extra == 'all'
Requires-Dist: holidays (==0.9.12) ; extra == 'all'
Requires-Dist: tqdm (==4.43) ; extra == 'all'
Provides-Extra: auto_arima
Requires-Dist: pmdarima (>=1.5.1) ; extra == 'auto_arima'
Provides-Extra: dev
Requires-Dist: bumpversion (==0.5.3) ; extra == 'dev'
Requires-Dist: sphinx-rtd-theme (==0.4.3) ; extra == 'dev'
Requires-Dist: numpydoc (==0.9.1) ; extra == 'dev'
Requires-Dist: numpy (>=1.17.4) ; extra == 'dev'
Requires-Dist: pandas (>=0.25.3) ; extra == 'dev'
Requires-Dist: scipy (>=1.3.2) ; extra == 'dev'
Requires-Dist: scikit-learn (>=0.21.3) ; extra == 'dev'
Requires-Dist: pmdarima (==1.5.1) ; extra == 'dev'
Requires-Dist: statsmodels (==0.10.2) ; extra == 'dev'
Requires-Dist: holidays (==0.9.12) ; extra == 'dev'
Requires-Dist: tqdm (==4.43) ; extra == 'dev'
Provides-Extra: distributed
Requires-Dist: distributed (==2.13.0) ; extra == 'distributed'
Provides-Extra: geo
Requires-Dist: folium (==0.10.0) ; extra == 'geo'
Requires-Dist: h3 (==3.4.3) ; extra == 'geo'
Provides-Extra: prophet
Requires-Dist: fbprophet (>=0.6) ; extra == 'prophet'
Provides-Extra: test
Requires-Dist: pytest (==5.2.0) ; extra == 'test'
Requires-Dist: pytest-cov (==2.5.0) ; extra == 'test'
Requires-Dist: pytest-mock (==1.10.0) ; extra == 'test'
Requires-Dist: pytest-runner (==4.2) ; extra == 'test'

##########
scikit-hts
##########

Hierarchical Time Series with a familiar API


.. image:: https://travis-ci.org/carlomazzaferro/scikit-hts.svg?branch=master
    :target: https://travis-ci.org/carlomazzaferro/scikit-hts

.. image:: https://badge.fury.io/py/scikit-hts.svg
    :target: https://badge.fury.io/py/scikit-hts

.. image:: https://readthedocs.org/projects/racket/badge/?version=latest
    :target: https://racket.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation Status

.. image:: https://coveralls.io/repos/github/carlomazzaferro/scikit-hts/badge.svg?branch=master
    :target: https://coveralls.io/github/carlomazzaferro/scikit-hts?branch=master
    :alt: Coverage

.. image:: https://pepy.tech/badge/scikit-hts/month
     :target: https://pepy.tech/project/scikit-hts/month
     :alt: Downloads/Month

.. image:: https://img.shields.io/badge/join-us%20on%20slack-gray.svg?longCache=true&logo=slack&colorB=brightgreen
    :target: https://join.slack.com/t/scikit-hts/shared_invite/zt-d5is54bp-iOeagm7Jv68ZTkjk_zezrA
    :alt: Slack


* `MIT License`_
* Documentation: https://scikit-hts.readthedocs.io/en/latest/

.. _`MIT License`: https://github.com/carlomazzaferro/scikit-hts/blob/master/LICENSE

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.


.. [1] `Forecasting Principles and Practice. Rob J Hyndman and George Athanasopoulos. Monash University, Australia <https://otexts.com/fpp2/>`_.

.. note:: **STATUS**: alpha. Active development, but breaking changes may come.


Features
--------

* Supported and tested on ``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 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.

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage



=======
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.3.1 (2020-03-28)
------------------

* Testing for all reconciliation methods, line coverage > 80%


