<img class="hide-on-website" height="100px" src="https://ts.gluon.ai/dev/_static/gluonts.svg">
# GluonTS - Probabilistic Time Series Modeling in Python
[![PyPI](https://img.shields.io/pypi/v/gluonts.svg?style=flat-square&color=b75347)](https://pypi.org/project/gluonts/)
[![GitHub](https://img.shields.io/github/license/awslabs/gluonts.svg?style=flat-square&color=df7e66)](./LICENSE)
[![Static](https://img.shields.io/static/v1?label=docs&message=stable&color=edc775&style=flat-square)](https://ts.gluon.ai/)
[![Static](https://img.shields.io/static/v1?label=docs&message=dev&color=edc775&style=flat-square)](https://ts.gluon.ai/dev/)
[![PyPI Downloads](https://img.shields.io/pypi/dm/gluonts?style=flat-square&color=94b594)](https://pepy.tech/project/gluonts)
**📢 BREAKING NEWS**: We released **Chronos**, a suite of pretrained models for zero-shot time series forecasting. Chronos can generate accurate probabilistic predictions for new time series not seen during training. Check it out [here](https://github.com/amazon-science/chronos-forecasting)!
GluonTS is a Python package for probabilistic time series modeling, focusing on deep learning based models,
based on [PyTorch](https://pytorch.org) and [MXNet](https://mxnet.apache.org).
## Installation
GluonTS requires Python 3.7 or newer, and the easiest way to install it is via
`pip`:
```bash
# install with support for torch models
pip install "gluonts[torch]"
# install with support for mxnet models
pip install "gluonts[mxnet]"
```
See the [documentation](https://ts.gluon.ai/stable/getting_started/install.html)
for more info on how GluonTS can be installed.
## Simple Example
To illustrate how to use GluonTS, we train a DeepAR-model and make predictions
using the airpassengers dataset. The dataset consists of a single time
series of monthly passenger numbers between 1949 and 1960. We train the model
on the first nine years and make predictions for the remaining three years.
```py
import pandas as pd
import matplotlib.pyplot as plt
from gluonts.dataset.pandas import PandasDataset
from gluonts.dataset.split import split
from gluonts.torch import DeepAREstimator
# Load data from a CSV file into a PandasDataset
df = pd.read_csv(
"https://raw.githubusercontent.com/AileenNielsen/"
"TimeSeriesAnalysisWithPython/master/data/AirPassengers.csv",
index_col=0,
parse_dates=True,
)
dataset = PandasDataset(df, target="#Passengers")
# Split the data for training and testing
training_data, test_gen = split(dataset, offset=-36)
test_data = test_gen.generate_instances(prediction_length=12, windows=3)
# Train the model and make predictions
model = DeepAREstimator(
prediction_length=12, freq="M", trainer_kwargs={"max_epochs": 5}
).train(training_data)
forecasts = list(model.predict(test_data.input))
# Plot predictions
plt.plot(df["1954":], color="black")
for forecast in forecasts:
forecast.plot()
plt.legend(["True values"], loc="upper left", fontsize="xx-large")
plt.show()
```
![[train-test]](https://ts.gluon.ai/static/README/forecasts.png)
Note, the forecasts are displayed in terms of a probability distribution and
the shaded areas represent the 50% and 90% prediction intervals.
## Contributing
If you wish to contribute to the project, please refer to our
[contribution guidelines](https://github.com/awslabs/gluonts/tree/dev/CONTRIBUTING.md).
## Citing
If you use GluonTS in a scientific publication, we encourage you to add the following references to the related papers,
in addition to any model-specific references that are relevant for your work:
```bibtex
@article{gluonts_jmlr,
author = {Alexander Alexandrov and Konstantinos Benidis and Michael Bohlke-Schneider
and Valentin Flunkert and Jan Gasthaus and Tim Januschowski and Danielle C. Maddix
and Syama Rangapuram and David Salinas and Jasper Schulz and Lorenzo Stella and
Ali Caner Türkmen and Yuyang Wang},
title = {{GluonTS: Probabilistic and Neural Time Series Modeling in Python}},
journal = {Journal of Machine Learning Research},
year = {2020},
volume = {21},
number = {116},
pages = {1-6},
url = {http://jmlr.org/papers/v21/19-820.html}
}
```
```bibtex
@article{gluonts_arxiv,
author = {Alexandrov, A. and Benidis, K. and Bohlke-Schneider, M. and
Flunkert, V. and Gasthaus, J. and Januschowski, T. and Maddix, D. C.
and Rangapuram, S. and Salinas, D. and Schulz, J. and Stella, L. and
Türkmen, A. C. and Wang, Y.},
title = {{GluonTS: Probabilistic Time Series Modeling in Python}},
journal = {arXiv preprint arXiv:1906.05264},
year = {2019}
}
```
## Links
### Documentation
* [Documentation (stable)](https://ts.gluon.ai/stable/)
* [Documentation (development)](https://ts.gluon.ai/dev/)
### References
* [JMLR MLOSS Paper](http://www.jmlr.org/papers/v21/19-820.html)
* [ArXiv Paper](https://arxiv.org/abs/1906.05264)
* [Collected Papers from the group behind GluonTS](https://github.com/awslabs/gluonts/tree/dev/REFERENCES.md): a bibliography.
### Tutorials and Workshops
* [Tutorial at IJCAI 2021 (with videos)](https://lovvge.github.io/Forecasting-Tutorial-IJCAI-2021/) with [YouTube link](https://youtu.be/AB3I9pdT46c).
* [Tutorial at WWW 2020 (with videos)](https://lovvge.github.io/Forecasting-Tutorial-WWW-2020/)
* [Tutorial at SIGMOD 2019](https://lovvge.github.io/Forecasting-Tutorials/SIGMOD-2019/)
* [Tutorial at KDD 2019](https://lovvge.github.io/Forecasting-Tutorial-KDD-2019/)
* [Tutorial at VLDB 2018](https://lovvge.github.io/Forecasting-Tutorial-VLDB-2018/)
* [Neural Time Series with GluonTS](https://youtu.be/beEJMIt9xJ8)
* [International Symposium of Forecasting: Deep Learning for Forecasting workshop](https://lostella.github.io/ISF-2020-Deep-Learning-Workshop/)
Raw data
{
"_id": null,
"home_page": "https://github.com/awslabs/gluonts/",
"name": "gluonts",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "gluon-ts-dev@amazon.com",
"keywords": null,
"author": "Amazon",
"author_email": "gluon-ts-dev@amazon.com",
"download_url": "https://files.pythonhosted.org/packages/fb/55/2324f99620fbe84eb4d98eae1b8f62b153ed0ff9a503b46e8957cb4c161e/gluonts-0.16.0.tar.gz",
"platform": null,
"description": "<img class=\"hide-on-website\" height=\"100px\" src=\"https://ts.gluon.ai/dev/_static/gluonts.svg\">\n\n# GluonTS - Probabilistic Time Series Modeling in Python\n\n[![PyPI](https://img.shields.io/pypi/v/gluonts.svg?style=flat-square&color=b75347)](https://pypi.org/project/gluonts/)\n[![GitHub](https://img.shields.io/github/license/awslabs/gluonts.svg?style=flat-square&color=df7e66)](./LICENSE)\n[![Static](https://img.shields.io/static/v1?label=docs&message=stable&color=edc775&style=flat-square)](https://ts.gluon.ai/)\n[![Static](https://img.shields.io/static/v1?label=docs&message=dev&color=edc775&style=flat-square)](https://ts.gluon.ai/dev/)\n[![PyPI Downloads](https://img.shields.io/pypi/dm/gluonts?style=flat-square&color=94b594)](https://pepy.tech/project/gluonts)\n\n**\ud83d\udce2 BREAKING NEWS**: We released **Chronos**, a suite of pretrained models for zero-shot time series forecasting. Chronos can generate accurate probabilistic predictions for new time series not seen during training. Check it out [here](https://github.com/amazon-science/chronos-forecasting)!\n\nGluonTS is a Python package for probabilistic time series modeling, focusing on deep learning based models,\nbased on [PyTorch](https://pytorch.org) and [MXNet](https://mxnet.apache.org).\n\n\n## Installation\n\nGluonTS requires Python 3.7 or newer, and the easiest way to install it is via\n`pip`:\n\n```bash\n# install with support for torch models\npip install \"gluonts[torch]\"\n\n# install with support for mxnet models\npip install \"gluonts[mxnet]\"\n```\n\nSee the [documentation](https://ts.gluon.ai/stable/getting_started/install.html)\nfor more info on how GluonTS can be installed.\n\n## Simple Example\n\nTo illustrate how to use GluonTS, we train a DeepAR-model and make predictions\nusing the airpassengers dataset. The dataset consists of a single time\nseries of monthly passenger numbers between 1949 and 1960. We train the model\non the first nine years and make predictions for the remaining three years.\n\n```py\nimport pandas as pd\nimport matplotlib.pyplot as plt\n\nfrom gluonts.dataset.pandas import PandasDataset\nfrom gluonts.dataset.split import split\nfrom gluonts.torch import DeepAREstimator\n\n# Load data from a CSV file into a PandasDataset\ndf = pd.read_csv(\n \"https://raw.githubusercontent.com/AileenNielsen/\"\n \"TimeSeriesAnalysisWithPython/master/data/AirPassengers.csv\",\n index_col=0,\n parse_dates=True,\n)\ndataset = PandasDataset(df, target=\"#Passengers\")\n\n# Split the data for training and testing\ntraining_data, test_gen = split(dataset, offset=-36)\ntest_data = test_gen.generate_instances(prediction_length=12, windows=3)\n\n# Train the model and make predictions\nmodel = DeepAREstimator(\n prediction_length=12, freq=\"M\", trainer_kwargs={\"max_epochs\": 5}\n).train(training_data)\n\nforecasts = list(model.predict(test_data.input))\n\n# Plot predictions\nplt.plot(df[\"1954\":], color=\"black\")\nfor forecast in forecasts:\n forecast.plot()\nplt.legend([\"True values\"], loc=\"upper left\", fontsize=\"xx-large\")\nplt.show()\n```\n\n![[train-test]](https://ts.gluon.ai/static/README/forecasts.png)\n\nNote, the forecasts are displayed in terms of a probability distribution and\nthe shaded areas represent the 50% and 90% prediction intervals.\n\n\n## Contributing\n\nIf you wish to contribute to the project, please refer to our\n[contribution guidelines](https://github.com/awslabs/gluonts/tree/dev/CONTRIBUTING.md).\n\n## Citing\n\nIf you use GluonTS in a scientific publication, we encourage you to add the following references to the related papers,\nin addition to any model-specific references that are relevant for your work:\n\n```bibtex\n@article{gluonts_jmlr,\n author = {Alexander Alexandrov and Konstantinos Benidis and Michael Bohlke-Schneider\n and Valentin Flunkert and Jan Gasthaus and Tim Januschowski and Danielle C. Maddix\n and Syama Rangapuram and David Salinas and Jasper Schulz and Lorenzo Stella and\n Ali Caner T\u00fcrkmen and Yuyang Wang},\n title = {{GluonTS: Probabilistic and Neural Time Series Modeling in Python}},\n journal = {Journal of Machine Learning Research},\n year = {2020},\n volume = {21},\n number = {116},\n pages = {1-6},\n url = {http://jmlr.org/papers/v21/19-820.html}\n}\n```\n\n```bibtex\n@article{gluonts_arxiv,\n author = {Alexandrov, A. and Benidis, K. and Bohlke-Schneider, M. and\n Flunkert, V. and Gasthaus, J. and Januschowski, T. and Maddix, D. C.\n and Rangapuram, S. and Salinas, D. and Schulz, J. and Stella, L. and\n T\u00fcrkmen, A. C. and Wang, Y.},\n title = {{GluonTS: Probabilistic Time Series Modeling in Python}},\n journal = {arXiv preprint arXiv:1906.05264},\n year = {2019}\n}\n```\n\n## Links\n\n### Documentation\n\n* [Documentation (stable)](https://ts.gluon.ai/stable/)\n* [Documentation (development)](https://ts.gluon.ai/dev/)\n\n### References\n\n* [JMLR MLOSS Paper](http://www.jmlr.org/papers/v21/19-820.html)\n* [ArXiv Paper](https://arxiv.org/abs/1906.05264)\n* [Collected Papers from the group behind GluonTS](https://github.com/awslabs/gluonts/tree/dev/REFERENCES.md): a bibliography.\n\n### Tutorials and Workshops\n\n* [Tutorial at IJCAI 2021 (with videos)](https://lovvge.github.io/Forecasting-Tutorial-IJCAI-2021/) with [YouTube link](https://youtu.be/AB3I9pdT46c). \n* [Tutorial at WWW 2020 (with videos)](https://lovvge.github.io/Forecasting-Tutorial-WWW-2020/)\n* [Tutorial at SIGMOD 2019](https://lovvge.github.io/Forecasting-Tutorials/SIGMOD-2019/)\n* [Tutorial at KDD 2019](https://lovvge.github.io/Forecasting-Tutorial-KDD-2019/)\n* [Tutorial at VLDB 2018](https://lovvge.github.io/Forecasting-Tutorial-VLDB-2018/)\n* [Neural Time Series with GluonTS](https://youtu.be/beEJMIt9xJ8)\n* [International Symposium of Forecasting: Deep Learning for Forecasting workshop](https://lostella.github.io/ISF-2020-Deep-Learning-Workshop/)\n",
"bugtrack_url": null,
"license": "Apache License 2.0",
"summary": "Probabilistic time series modeling in Python.",
"version": "0.16.0",
"project_urls": {
"Documentation": "https://ts.gluon.ai/stable/",
"Homepage": "https://github.com/awslabs/gluonts/",
"Source Code": "https://github.com/awslabs/gluonts/"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "81114ed339d6eec2ef6deadf300fb945bdce1b0e39557fe67fce38966e137416",
"md5": "bbb8f1a0c8ab42f8f8f9203aad3ba035",
"sha256": "6260774b19c8b1908bf698e04f8f85a92715732dec6950da52b91be5544d456b"
},
"downloads": -1,
"filename": "gluonts-0.16.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "bbb8f1a0c8ab42f8f8f9203aad3ba035",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 1519150,
"upload_time": "2024-11-11T08:51:05",
"upload_time_iso_8601": "2024-11-11T08:51:05.875573Z",
"url": "https://files.pythonhosted.org/packages/81/11/4ed339d6eec2ef6deadf300fb945bdce1b0e39557fe67fce38966e137416/gluonts-0.16.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fb552324f99620fbe84eb4d98eae1b8f62b153ed0ff9a503b46e8957cb4c161e",
"md5": "95c3c6f04440d27978e2900f58633ad7",
"sha256": "706ae751566f57c8405c604b9d1531652de2237a55f27a004612498d90212918"
},
"downloads": -1,
"filename": "gluonts-0.16.0.tar.gz",
"has_sig": false,
"md5_digest": "95c3c6f04440d27978e2900f58633ad7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 1317514,
"upload_time": "2024-11-11T08:51:07",
"upload_time_iso_8601": "2024-11-11T08:51:07.550341Z",
"url": "https://files.pythonhosted.org/packages/fb/55/2324f99620fbe84eb4d98eae1b8f62b153ed0ff9a503b46e8957cb4c161e/gluonts-0.16.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-11 08:51:07",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "awslabs",
"github_project": "gluonts",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "gluonts"
}