TimeGPT:首个时间序列基础模型介绍与实践
1. 引言
时间序列数据在金融、医疗保健、气象学、社会科学等领域是不可或缺的。识别时间模式、趋势和周期性变化对于预测未来价值和为决策过程提供信息至关重要。然而,目前对时间序列的理论和实践理解尚未在从业者中达成共识,预测科学领域的努力未能实现真正通用的预训练模型的承诺。
TimeGPT 是第一个用于时间序列的基础模型,能够为训练期间未见过的多样化数据集生成准确的预测。大规模时间序列模型通过利用当代深度学习进步的能力,使精确预测和减少不确定性成为可能。通过对预训练模型进行了评估,并与既定的统计、机器学习和深度学习方法进行了比较,证明了 TimeGPT 在性能、效率和简单性方面表现出色。
2. 背景与挑战
2.1 深度学习的优势与局限
深度学习方法在时间序列分析中具有显著优势,如全局性、可扩展性、灵活性和潜在准确性,能有效学习复杂数据依赖关系,避免复杂特征工程。然而,其有用性、准确性和复杂性受到质疑。学术研究人员和从业者对深度学习模型的优越性能看法不一,有人质疑其基本假设,而一些行业领导者报告其增强了成果,简化了分析流程。
时间序列分析领域对神经预测方法的性能持怀疑态度,源于评估设置未对齐或定义不清晰、次优模型、缺乏符合要求的大规模标准化数据集。更大和更多样化的数据集能使更复杂的模型在各种任务中表现得更好。
2.2 现有模型综述
深度学习预测模型在研究和产业中广泛应用,其成功源于对已建立的架构(RNN 和 CNN)的改进。这些模型最初是为自然语言处理和计算机视觉设计的,但现已广泛应用于时间序列预测。
- RNNs:如 DeepAR 用于概率预测。
- CNNs:在多项任务中表现优于 RNN。
- 前馈网络:由于计算成本低、效率高,也经常被使用,N-BEATS 和 NHITS 是著名的例子。
- Transformer:近年来,基于 Transformer 的模型越来越受欢迎,因为它们在大规模设置和复杂任务中表现出卓越的性能。TFT 和 MQTransformer 是早期的例子,通过 Prob-sparse 自注意力机制,Informer 为长序列预测引入了 Transformers。此后,该概念在 Autoformer、FEDformer 和 PatchTST 等模型中得到了进一步改进。
基础模型在时间序列预测任务中的潜力仍然未被充分探索,但有迹象表明可以在不降低性能的情况下将预训练模型转移到不同任务上,且在时间序列预测任务中存在数据和模型规模的扩展律。
3. 时间序列的基础模型原理
3.1 迁移学习
迁移学习是指将一项任务中学到的知识应用于解决新任务的能力。在时间序列预测中,预测模型提供一个函数 fθ,将特征空间 X 映射到因变量空间 Y。设定中,X 包括目标时间序列 y 和外生协变量 x,Y 为目标时间序列的未来部分。预测任务的目标是估计条件分布。
迁移学习是在大型源数据集上预训练模型,以提高其在新预测任务上的性能。本文探讨了两种情况:零样本学习和微调。
- 零样本学习:直接转移预训练的模型解决新任务,无需在新数据集上重新训练参数。
- 微调:进一步在新数据集上训练模型(从预先训练的参数开始)。
基础模型的核心思想是利用这些原则,通过最大的公开可用时间序列数据集进行训练,利用数据集和模型规模的比例关系。多种多样的数据集允许 TimeGPT 从未有过的大量时间模式中获得洞见,这些模式跨越多个领域。
4. TimeGPT 实践指南
4.1 模型介绍
TimeGPT 是一种由 Nixtla 开发的专门用于预测任务的生成式预训练 Transformer 模型,具有自我关注机制,采用历史值窗口生成预测,添加局部位置编码,由多层编码器 - 解码器结构组成,每个结构都具有残差连接和层归一化。最后,线性层将解码器的输出映射到预测窗口维度。
TimeGPT 旨在处理不同频率和特征的时间序列,同时适应不同的输入大小和预测范围。这种适应性在很大程度上归因于 TimeGPT 所基于的基于 transformer 的底层架构。
TimeGPT 可以仅使用历史值作为输入,无需训练即可对新时间序列进行准确预测。TimeGPT 在历史上最大的数据集上进行了训练,该数据集包含超过 1000 亿行的金融、天气、能源和网络数据,并使时间序列分析的力量大众化。该工具能够在几秒钟内辨别模式并预测未来的数据点。
TimeGPT 模型'读取'时间序列数据的方式与人类读取句子的方式非常相似——从左到右。它查看过去数据的窗口,我们可以将其视为'标记',并预测接下来会发生什么。该预测基于模型在过去数据中识别并推断未来的模式。
API 为 TimeGPT 提供了一个接口,允许用户利用其预测功能来预测未来的事件。TimeGPT 还可以用于其他与时间序列相关的任务,如假设场景、异常检测、财务预测等。


