forecast-tools
: fundamental tools to support the forecasting process in python.
forecast-tools has been developed to support forecasting education and applied forecasting research. It is MIT licensed and freely available to practitioners, students and researchers via PyPi. There is a long term plan to make forecast-tools available via conda-forge.
Vision for forecast-tools
- Deliver high quality reliable code for forecasting education and practice with full documentation and unit testing.
- Provide a simple to use pythonic interface that users of
statsmodels
andsklearn
will recognise. - To improve the quality of Machine Learning time series forecasting and encourage the use of best practice.
Features:
- Implementation of classic naive forecast benchmarks such as Naive Forecast 1 along with prediction intervals
- Implementation of scale-dependent, relative and scaled forecast errors.
- Implementation of scale-dependent and relative metrics to evaluate forecast prediction intervals
- Rolling forecast origin and sliding window for time series cross validation
- Built in daily level datasets
Two simple ways to explore forecast-tools
pip install forecast-tools
- Click on the launch-binder at the top of this readme. This will open example Jupyter notebooks in the cloud via Binder.
- Read our documentation on GitHub pages
Citation
If you use forecast-tools for research, a practical report, education or any reason please include the following citation.
Monks, Thomas. (2020). forecast-tools: fundamental tools to support the forecasting process in python. Zenodo. http://doi.org/10.5281/zenodo.3969789
@software{forecast_tools_3969789,
author = {Thomas Monks},
title = {forecast-tools: fundamental tools to support the forecasting process in python},
year = 2020,
publisher = {Zenodo},
doi = {10.5281/zenodo.3969789},
url = {https://doi.org/10.5281/zenodo.3969789}
}
Contributing to forecast-tools
Please fork Dev, make your modifications, run the unit tests and submit a pull request for review.
Development environment:
conda env create -f binder/environment.yml
conda activate forecast_dev
Unit tests are provided and can be run from the command pytest
and its coverage extension. Run the following in the terminal.
pytest --cov=forecast_tools tests/
All contributions are welcome and must include unit tests!