20+时序模型,一款时间序列建模神器:GluonTS

时间序列数据是以时间为索引的数据点的集合,它存在于各个领域和行业,零售行业的商品销售时间序列,来自监控设备、应用程序或云资源的指标,或者物联网传感器生成的测量时间序列等等,都是时间序列数据的例子。

与时间序列有关的最常见机器学习任务,包括_预测、平滑处理、侦测(例如界外值、异常点或变化点侦测)以及分类等。

今天,我们介绍的这款工具为 Gluon Time Series (GluonTS),它是一个专门为概率时间序列建模而设计的工具包,GluonTS 简化了时间序列模型的开发和实验,用于预测或异常检测等常见任务。

技术提升

本文由技术群粉丝分享,项目源码、数据、技术交流提升,均可加交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友

方式①、添加微信号:mlc2060,备注:来自CSDN +技术交流
方式②、微信搜索公众号:机器学习社区,后台回复:加群

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值