第一个!时间序列大模型!

1 TimeGPT 简介

TimeGPT 是第一个能针对时间序列的基础大模型!

这就意味着,它能够为训练期间没见过的那些多样化的数据集,做出准确的预测。而且呢,我们评估了一下这个模型,发现它与统计、机器学习和深度学习方法比起来,性能、效率和简单性都表现得超级好!

这项研究也给我们带来了一个启示:**AI其他领域的见解,其实也可以很好地应用到时间序列分析上。**这样一来,大规模的时间序列模型就能借助当代深度学习的进步,帮助我们更准确地预测未来,减少不确定性。

2 时间序列

时间序列是什么呢?简单来说,它就是按照时间顺序排列的一系列数据。这些数据可以帮助我们识别出时间模式、趋势和周期性变化,从而预测未来的价值,为决策过程提供信息。不过,虽然大家都想预测未来,但目前对于时间序列的理论和实践理解,其实还没有达成共识。

在深度学习方面,预测界也存在一些分歧。有些人觉得深度学习方法真的很有用,能够更准确地预测;但也有些人持怀疑态度,觉得它可能没那么准确,还可能很复杂。不过,现在有了TimeGPT这个新模型,相信这些疑虑都会慢慢消散啦!它不仅能准确预测多样化数据集,而且在性能、效率和简单性方面也都表现得很好。所以,如果你对时间序列分析感兴趣,或者想更准确地预测未来,那就一定要关注这个新模型啦!

图片

图1 单系列预测和多系列预测示意图

3 文献综述

深度学习预测模型在Makridakis比赛中赢了,现在被很多产业用在大型任务上。它最开始成功是因为改进了RNN和CNN,这两种方法本来是为了NLP和CV用的。但结果它们在预测时间序列时做得特别棒。另一种方法叫做前馈网络,因为它的计算既快又简单,所以也被常常使用。最近,基于Transformer的模型越来越受欢迎,因为在大规模和复杂的任务中,它们表现得特别出色。虽然我们还没有完全了解基础模型在时间序列预测中的潜力,但已经有一些迹象显示它可能也很有用。

4 时间序列的大模型

基础模型依赖跨领域泛化能力,尤其是面对新数据集。迁移学习是将一个任务的知识用于新任务。预测模型给出一个函数fθ : X 7→ Y,其中X是特征空间,Y是因变量空间。我们考虑X = {y[0:t] , x[0:t+h]}和Y = {y[t+1:t+h]},目标是估计以下条件分布:

在这里插入图片描述

迁移学习简单来说,就是先在一个大数据集上训练好一个模型,然后再用这个模型去处理另一个新任务。在这个过程中,有两种方式:一种是零样本学习,就是直接用这个训练好的模型去处理新任务;另一种是微调,就是在新的数据集上再训练一下这个模型,让它更好地适应新任务。

TimeGPT这个模型的基础思想是,利用大规模公开的时间序列数据集来训练模型,这样模型就能洞察到很多时间上的规律。而且,数据集越大,模型的表现也就越好。TimeGPT用了很多不同的数据集,所以它能够识别出很多时间上的模式,从而在处理新任务时表现得更好。

5 TimeGPT
5.1 介绍及使用

TimeGPT是Nixtla公司研发的一个用于预测任务的智能模型。这个模型采用了生成式预训练Transformer技术,有自我关注机制和局部位置编码。它由很多层的编码器和解码器组成,每个部分都有残差连接和层归一化,使得预测更准确。

TimeGPT这个模型很强大,它可以处理不同频率和特征的时间序列,也能适应不同大小的输入和预测范围。最厉害的是,它只需要用历史数据作为输入,不用再次训练,就能对新的时间序列进行准确的预测。

为了让TimeGPT更加强大,开发者们用了历史上最大的数据集来训练它,这个数据集包含了超过1000亿行的金融、天气、能源和网络数据。这么一来,TimeGPT就能更好地学习和理解各种数据模式,提高预测的准确率。

为了让大家都能方便地使用TimeGPT,开发者们还提供了一个API接口。通过这个接口,用户可以轻松地调用TimeGPT的预测功能,来预测未来的事件。这样一来,无论是做金融分析、天气预报,还是其他需要预测的任务,TimeGPT都能帮你一把。

图片

安装

pip install nixtlats

如何使用

只需导入库,设置好凭证,然后用两行代码就可以开始预测!

df = pd.read_csv('https://raw.githubusercontent.com/Nixtla/transfer-learning-time-series/main/datasets/electricity-short.csv')
from nixtlats import TimeGPT
timegpt = TimeGPT(# defaults to os.environ.get("TIMEGPT_TOKEN")    
    token ='my_token_provided_by_nixtla')
fcst_df = timegpt.forecast(df, h=24, level=[80,90])
"""INFO:nixtlats.timegpt:Validating inputs...
    INFO:nixtlats.timegpt:Preprocessing dataframes...
    INFO:nixtlats.timegpt:Inferred freq: H
    INFO:nixtlats.timegpt:Restricting input...
    INFO:nixtlats.timegpt:Calling Forecast Endpoint..."""
    timegpt.plot(df, fcst_df, level=[80,90], max_insample_length=24*5)

图片

5.2 训练数据集

TimeGPT的训练过程可不是闹着玩的,它用了一个超大的公开时间序列数据集,这个数据集有1000亿个数据点呢!包括了金融、经济等多个方面。这个数据集有个特点,就是变化多端,有时间模式、季节性、周期和趋势,还有噪声和异常值呢。在处理这些数据时,我们只是简单地做了些基本的操作,比如格式化、填补缺失值等,尽量保留了原始信息。这种处理方式让TimeGPT能应对各种复杂场景,提升它的稳定性和泛化能力,这样就能更准确地预测未知时间序列了。

5.3 训练TimeGPT

为了训练TimeGPT,我们在NVIDIA A10G GPU集群上搞了一番。我们试着调整学习率、批大小等超参数,发现大的批大小和小的学习率效果更好。我们用PyTorch框架进行训练,还用了Adam方法,学习率衰减到初始值的12%。

5.4 不确定度量化

概率预测能帮助我们评估模型预测的不确定性,这在风险评估和决策时很有用。保形预测是个不错的方法,它能生成具有指定覆盖率精度的预测区间,而且不需要严格的分布假设,适用于模型和时间序列的未知领域。在新时间序列推理中,我们用滚动预测来估算模型预测特定目标时间序列的误差。

图片

图4 TimeGPT和各组模型在月频率上的相对平均绝对误差(rMAE)。图中每个豆子代表一组模型的rMAE分布,中心线显示平均值。TimeGPT的性能领先,其次是深度学习方法、统计方法、机器学习和基线模型。其他频率的结果类似。

在这里插入图片描述

图2 TimeGPT 在最大的公开时间序列集合中进行了训练,并且可以预测未见过的时间序列,而无需重新训练其参数

6 实验结果

传统的方法来评估预测模型的效果,比如把数据分成训练集和测试集,可能没办法很好地评估出模型的真实能力。因为一个好的预测模型,要能预测出全新、以前从没见过的数据序列。

咱们这节就要探讨一下,TimeGPT这个模型到底有多厉害。咱们拿了大量的、各种领域的时间序列数据来测试它,有三十多万个呢!这些测试数据都是TimeGPT之前没见过的。咱们在每个时间序列的最后一个预测窗口进行评估,这个窗口的长度会根据数据采样的频率而变化。

TimeGPT模型就是根据过去的数据来预测未来的,就像图3那样,而且它在预测的时候不会重新训练它的权重,这就是所谓的“零样本”预测。咱们还根据不同的频率设定了不同的预测范围,这样更能反映出真实应用的情况。比如说,频率为12的时候就表示每个月的数据,1就表示每周,7表示每天,24就表示每小时的数据。

在这里插入图片描述

图3 新时间序列的推断。TimeGPT以目标值的历史值和额外的外生变量作为输入,生成预测。我们依靠基于历史误差的保形预测来估计预测区间。

本文研究了基准测试中的性能分析,涉及基线、统计、机器学习和神经预测模型。基线和统计模型基于历史值训练,机器学习采用全局和深度学习,排除了Prophet和ARIMA等模型。评估指标包括相对平均绝对误差和相对均方根误差,这些指标以季节性朴素模型为基准归一化,提高了结果的可解释性,并有助于比较不同频率的结果。为确保数值稳定性和评估一致性,这些指标进行了全局归一化处理。具体计算见方程2。

图片

6.1 零样本推理

TimeGPT在零样本推理测试中表现卓越,无需微调即可在测试集上展现卓越性能。表1展示了其零样本结果,性能显著优于其他模型。实际应用中,TimeGPT通过简洁快速的预测方式,提高了预测效率,降低了计算成本和实现复杂性,从而更具竞争力。表1呈现了TimeGPT的主要性能结果,使用零样本推断、rMAE和rRMSE测量,得分越低越好。最佳模型以粗体突出,第二佳模型以下划线突出,第三佳模型以虚线突出。

图片

6.2 微调

微调是基础模型和基于transformer架构的关键步骤。基础模型通过预训练在大量数据上捕获通用特征,但需针对特定背景或领域进行调整。微调利用特定任务数据集调整模型参数,使其适应新任务要求并保持广泛理解,提高特定领域性能。由于transformer架构的灵活性和学习复杂模式的能力,微调特别有益。因此,微调是连接基础模型广泛能力和目标任务特性的桥梁。图5展示了TimeGPT在测试集上针对时间序列子集的微调步骤数与准确度提高的关系。

图片

图5 对测试集的时间序列子集进行微调后的 TimeGPT 性能

6.3 时间比较

TimeGPT在零样本推断方面的GPU推断速度仅需0.6毫秒/系列,与简单季节性朴素推断相当。相比之下,传统统计方法和全局模型(如LGBM、LSTM和NHITS)速度较慢,每系列分别需要600毫秒和57毫秒。因此,TimeGPT的总速度远胜于其他方法。

7 讨论和未来的研究

现在预测这事儿挺复杂的,得处理数据、训练模型,还得选模型。但是呢,TimeGPT把这个过程简化了,省去了好多麻烦,还能做出顶级的表现。这就好像把高级车开到了平民家,对预测领域影响挺大的。基础模型就像是个引路人,改变了我们以前的做法。TimeGPT就是在时间序列这块儿引入了这个基础模型,给以后的发展铺平了路,可以说是这个时间序列领域的大事儿。不过,这事儿也不是完美的,还有一些限制和问题需要去解决。虽然TimeGPT表现得很好,但我们还是要关注那些限制和问题。

那么,未来的研究方向有哪些呢?首先,就是时间序列嵌入,就是把时间序列变成一种可以直接用的数据形式。另外,时间序列分类的基础模型,还有真正****多模态和多时态的基础模型,这些都可能是以后研究的热门方向。这些方向都有助于我们做出更强大、更通用的预测模型。

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值