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
statsmodelsandsklearnwill 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
- An interactive plotting tool to visualise train test splits and forecasts.
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.3759863
@software{forecast_tools,
author = {Monks, Thomas},
title = {forecast-tools},
month = dec,
year = 2023,
publisher = {Zenodo},
doi = {10.5281/zenodo.3759863},
url = {https://zenodo.org/doi/10.5281/zenodo.3759863}
}
Contributing to forecast-tools
Please fork Dev, make your modifications, run the unit tests and submit a pull request for review.
We provide a conda environment for development of forecast-tools. We recommend use of mamba as opposed to conda (although conda will work) as it is FOSS and faster. Install from mini-forge
Development environment:
mamba env create -f binder/environment.yml
mamba activate forecast_tools
Unit tests are provided and can be run via hatch and its coverage extension. Run the following in the terminal.
To run tests in multiple Python environments (3.9-3.12)
hatch test --all
To obtain a coverage report run
hatch test --cover
All contributions are welcome and must include unit tests!
Metadata
Release files for forecast-tools 0.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| forecast_tools-0.4.1.tar.gz | 24.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| forecast_tools-0.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 50.8 kB
Release files / forecast_tools-0.4.1.tar.gz
| Download URL | forecast_tools-0.4.1.tar.gz |
|---|---|
| Size | 24.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
47fc3b3402d68577ae7f5cfb2744452b146fabb3fd4779f33190f21c16cbaae6
|
|
BLAKE2b-256 checksum How to use checksums |
0e73ffe91da4b582160160bd8c5501832773fc3d49345c8569bb2f96fe24bc2b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.21
|
Release files / forecast_tools-0.4.1-py3-none-any.whl
| Download URL | forecast_tools-0.4.1-py3-none-any.whl |
|---|---|
| Size | 26.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7bf3bab8c04b4db3d062c121d649fcd9d425e1c2989117c28247423919d67c50
|
|
BLAKE2b-256 checksum How to use checksums |
c865d2fd80fb15346e14586399488468a2ae670a91a1fedd950a08938f15b080
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.21
|