Apache License 2.0

项目介绍

awslabs/gluonts 是一个托管在 GitHub 上的开源项目,主要使用 Python 编写,采用 Apache License 2.0 许可证,目前获得 5.3k 个 Star、844 次 Fork。

仓库全名
awslabs/gluonts
开源许可证
Apache License 2.0
Star 数
5.3k
Fork 数
844
未关闭 Issue
497

README 摘要

GluonTS - Probabilistic Time Series Modeling in Python 📢 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! GluonTS is a Python package for probabilistic time series modeling, focusing on deep learning based models, based on PyTorch…

完整内容见 GitHub 原始 README 或本页 。

常见问题

gluonts 用什么语言开发?

主要使用 Python 编写,采用 Apache License 2.0 许可证,目前有 5.3k 个 Star。

gluonts 可以免费商用吗?

仓库采用 Apache License 2.0 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 gluonts 的源码?

可以直接克隆仓库:git clone https://github.com/awslabs/gluonts.git,默认分支为 dev;安装与运行步骤见仓库 README。

gluonts 最近还在维护吗?

仓库最近一次更新为 3 周前,当前有 497 个未关闭 Issue;Star 数为 5.3k,可作为社区活跃度的参考。

README

GluonTS - Probabilistic Time Series Modeling in Python

PyPI GitHub Static Static PyPI Downloads

📢 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!

GluonTS is a Python package for probabilistic time series modeling, focusing on deep learning based models, based on PyTorch.

Installation

GluonTS requires Python 3.10 to 3.14. We recommend using uv for managing environments:

# install with support for torch models
uv pip install "gluonts[torch]"

For development:

# clone the repository
git clone https://github.com/awslabs/gluonts.git
cd gluonts

# install with all development dependencies
uv sync --all-extras

You can also install via pip:

pip install "gluonts[torch]"

See the documentation 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.

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]

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.

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:

@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}
}
@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}
}

Documentation

References

Tutorials and Workshops

评论

暂无评论