20+时序模型,GluonTS:一个专门为时间序列建模而设计的工具包
Posted Python学习与数据挖掘
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20+时序模型,GluonTS:一个专门为时间序列建模而设计的工具包相关的知识,希望对你有一定的参考价值。
欢迎关注 ,专注 Python、数据分析、数据挖掘、好玩工具!
时间序列数据是以时间为索引的数据点的集合,它存在于各个领域和行业,零售行业的商品销售时间序列,来自监控设备、应用程序或云资源的指标,或者物联网传感器生成的测量时间序列等等,都是时间序列数据的例子。
与时间序列有关的最常见机器学习任务,包括_预测、平滑处理、_侦测(例如界外值、异常点或变化点侦测)以及分类等。
今天,我们介绍的这款工具为 Gluon Time Series (GluonTS),它是一个专门为概率时间序列建模而设计的工具包,GluonTS 简化了时间序列模型的开发和实验,用于预测或异常检测等常见任务。
它提供了科学家快速构建新模型、高效运行和分析实验以及评估模型准确性所需的所有必要组件和工具。欢迎收藏学习,喜欢点赞支持。文末提供技术交流群
GluonTS特点
借助 GluonTS,用户可以利用包含有用抽象的预构建块来构建时间序列模型。GluonTS 还利用这些构建块构建了流行模型的参考实现,这些参考实现既可以作为模型探索的出发点,也可以用于模型的比较。
此外,GluonTS 中包含了多种工具,让研究人员不再需要重复实施数据处理、回测、模型比较和评估的方法。
安装
pip install gluonts
# as gluonts relies on mxnet
# install MXnet using
pip pip install mxnet
入门
我们已经看到使用 TensorFlow 和 PyTorch 进行时间序列预测,但它们带有大量代码并且需要对框架非常熟练。 GluonTS 提供用于运行时间序列预测的简单且即时的代码,这里是运行 GluonTS 以使用 DeepAR 预测 Twitter 数量的示例代码。
from gluonts.dataset import common
from gluonts.model import deepar
from gluonts.trainer import Trainer
import pandas as pd
#读取数据
url = "https://raw.githubusercontent.com/numenta/NAB/master/data/realTweets/Twitter_volume_AMZN.csv"
df = pd.read_csv(url, header=0, index_col=0)
data = common.ListDataset([{
"start": df.index[0],
"target": df.value[:"2015-04-05 00:00:00"]
}], freq="5min")
#初始化deepAR模型
trainer = Trainer(epochs=10)
estimator = deepar.DeepAREstimator(
freq="5min", prediction_length=12, trainer=trainer)
predictor = estimator.train(training_data=data)
# 得到预测结果
prediction = next(predictor.predict(data))
print(prediction.mean)
prediction.plot(output_file='graph.png')
下面是 AMZN 股票代码的推文量预测的案例
GluonTS模型
参考链接:
https://analyticsindiamag.com/gluonts-pytorchts-for-time-series-forecasting/
https://github.com/awslabs/gluon-ts
技术交流
欢迎转载、收藏、有所收获点赞支持一下!
目前开通了技术交流群,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友
- 方式①、发送如下图片至微信,长按识别,后台回复:加群;
- 方式②、添加微信号:dkl88191,备注:来自CSDN
- 方式③、微信搜索公众号:Python学习与数据挖掘,后台回复:加群
以上是关于20+时序模型,GluonTS:一个专门为时间序列建模而设计的工具包的主要内容,如果未能解决你的问题,请参考以下文章
成功解决 ModuleNotFoundError: No module named ‘gluonts.torch.modules.distribution_output‘
成功解决 ModuleNotFoundError: No module named ‘gluonts.torch.modules.distribution_output‘