全文总结
这篇论文提出了一种基于解码器架构的时间序列预测基础模型TimesFM,旨在通过零样本学习在多种公共数据集上实现接近于监督学习模型的预测精度。
研究背景
- 研究问题:这篇文章要解决的问题是如何设计一个时间序列基础模型,使其在零样本情况下在各种公共数据集上的表现接近最先进的监督预测模型。
- 研究难点:该问题的研究难点包括:时间序列数据没有明确定义的词汇或语法;模型需要支持不同历史长度、预测长度和时间粒度的预测;与庞大的文本数据相比,时间序列数据的获取难度较大。
- 相关工作:该问题的研究相关工作有:传统的统计方法如ARIMA和GARCH;基于深度学习的单变量模型如DeepAR和Temporal Convolutions;全局多变量模型如VAR和深度学习模型如SYD和ZMW;以及最近的一些工作,如使用大型语言模型进行时间序列预测的GFQW23和ZNW+23。
研究方法
这篇论文提出了TimesFM模型,用于解决时间序列预测问题。具体来说,
- 输入层处理:首先将时间序列分解为连续的非重叠片段,每个片段通过残差块处理成向量,并加上位置编码后输入到Transformer层。公式如下:
tj=InputResidualBlock(y~j⊙(1−m~j))+PEj
其中,y~j表示第j个片段,m~j表示掩码,PEj表示位置编码。
- 堆叠Transformer层:模型的主要参数在多个堆叠的Transformer层中,每层包含多头自注意力机制和前馈网络。公式如下:
oj=StackedTransformer((t1,m˙1),⋯,(tj,m˙j))
其中,m˙j表示第j个token的掩码指示器。
- 输出层处理:输出token通过另一个残差块映射到预测值。公式如下:
y^pj+1:pj+h= OutputResidualBlock(oj)
- 损失函数:训练时使用均方误差(MSE)作为损失函数。公式如下:
TrainLoss=N1j=1∑NMSE(y^pj+1:pj+h,ypj+1:pj+h)
- 训练和推理:模型采用解码器模式进行训练,推理时使用自回归解码生成未来预测。
实验设计
- 数据收集:预训练语料库包括来自Google Trends、Wiki Pageviews和合成时间序列的数据。具体数据来源包括Google Trends 3、Wiki Pageviews 4、合成时间序列生成器等。
- 数据混合和训练:训练数据混合了80%的真实数据和20%的合成数据,真实数据混合提供了等权重的小时、亚小时、日、周和月数据。最大上下文长度根据时间序列的长度动态调整。
- 模型规模:实验中使用了三个规模的模型:17M、70M和200M参数。
结果与分析
-
零样本评估:在Darts、Monash和Informer数据集上进行零样本评估,结果表明TimesFM在多个数据集上的表现接近或超过了最先进的监督模型。例如,在Monash数据集上,TimesFM的平均缩放MAE为0.6829,接近N-BEATS模型的表现。
-
消融研究:通过消融研究验证了不同设计选择的效果,包括模型规模、自回归解码、输入片段长度和合成数据的使用。结果表明,适当的模型规模和输入片段长度可以提高模型性能,而合成数据的使用有助于提高模型在未充分代表的时间粒度上的泛化能力。
总体结论
这篇论文提出了TimesFM,一种具有出色零样本性能的时间序列基础模型。该模型在多种公共数据集上的表现接近最先进的监督预测模型,且训练和推理成本较低。研究结果表明,通过大规模预训练,可以设计出一个适用于多种时间序列预测任务的通用基础模型,为下游应用提供了新的可能性。
论文评价
优点与创新
- 零样本性能接近全监督模型:设计了一个时间序列基础模型TimesFM,在多种公共数据集上的零样本性能接近于每个单独数据集上最先进的监督预测模型。
- 大规模预训练数据集:使用了一个包含真实世界和合成数据的大规模时间序列语料库,满足了基础模型训练所需的数据量和多样性。
- 解码器风格的注意力架构:采用输入分块的方式,在时间序列语料库上进行高效预训练。
- 适应不同历史长度、预测长度和时间粒度:模型能够在推理时适应不同的预测历史长度、预测长度和时间粒度。
- 较小的模型规模:与最新的大型语言模型相比,TimesFM的参数规模(200M参数)和预训练数据量(约100B时间点)都要小得多,但零样本性能却非常接近全监督方法。
- 合成数据的贡献:通过合成数据补充真实世界数据,增强了模型的泛化能力,特别是在处理稀有频率的时间序列时表现更好。
不足与反思
- 提示调优:在LLM中,提示调优技术如链式思维可以显著提高性能,但在时间序列基础模型中尚不明确。
- 概率预测:框架内训练概率损失函数是直接的,但作为首项工作,未作为主要关注点,留待未来探索。
- 协变量处理:目前模型未预训练协变量,寻找大量带有有意义协变量的预训练数据是一个挑战。
- 更多微调研究:尽管进行了微调研究,但在存在协变量的情况下进行更深入的微调研究将是有益的。
- 其他架构:由于训练基础模型的成本较高,未在预训练中进行过多的超参数调优,尝试其他架构如全MLP结构或高效线性状态空间模型将是有趣的。
- 可解释性:深度基础模型在大规模语料库上训练可能本质上不如统计方法如ARIMA、ETS可解释,未来可以使用LOCO、SHAP等方法在一定程度上归因特征重要性。
关键问题及回答
问题1:TimesFM模型在预训练过程中如何处理时间序列数据?
TimesFM模型在预训练过程中将时间序列数据分解为连续的非重叠片段,每个片段通过残差块处理成向量,并加上位置编码后输入到Transformer层。具体来说,输入层处理公式如下:
tj=InputResidualBlock(y~j⊙(1−m~j))+PEj
其中,y~j表示第j个片段,m~j表示掩码,PEj表示位置编码。通过这种方式,模型能够有效地处理不同长度的历史记录,并在训练过程中学习到时间序列的模式。
问题2:TimesFM模型在零样本评估中的表现如何?与其他基线模型相比有何优势?
在零样本评估中,TimesFM模型在Darts、Monash和Informer数据集上表现出色,接近或超过了基线模型的性能。例如,在Monash数据集上,TimesFM的平均缩放MAE为0.6829,接近N-BEATS模型的性能。与其他基线模型相比,TimesFM的优势在于其能够在没有针对特定任务进行训练的情况下,仍然在多个数据集上实现良好的零样本预测能力。此外,TimesFM模型的训练和推理过程更加高效,计算成本相对较低。
问题3:TimesFM模型的消融研究揭示了哪些设计选择的优劣?
消融研究验证了TimesFM模型中不同设计选择的效果。具体来说:
- 模型规模:适当的模型规模可以提高性能,但过大的模型可能会导致过拟合。实验表明,200M参数的模型在大多数情况下表现最佳。
- 自回归解码:虽然自回归解码在长序列预测中效果较好,但在零样本预测中,TimesFM采用了输出片段长度大于输入片段长度的方法,减少了自回归步数,提高了效率。
- 输入片段长度:输入片段长度对模型性能有显著影响,适当的输入片段长度可以在保持计算效率的同时提高预测精度。实验结果显示,输入片段长度为32时,模型性能最佳。
- 合成数据的使用:合成数据对于处理稀有频率的时间序列数据至关重要,能够显著提高模型在罕见情况下的泛化能力。实验表明,没有合成数据的模型在Monash数据集上的表现明显下降。
文章中的TimesFM(Time-series Foundation Model)模型在时间序列预测领域有几个创新点:
-
解码器架构:
- TimesFM采用了解码器风格的注意力机制,而不是编码器-解码器架构。这种设计使得模型能够并行处理整个上下文窗口,并在看到不同数量的输入片段后自动预测未来。
-
输入和输出片段的长度:
- 输入片段和输出片段的长度可以不同。具体来说,输出片段的长度可以大于输入片段的长度。这种设计允许模型在一次前向传播中预测更大的时间窗口,从而提高效率。
-
补丁遮蔽:
- 在训练过程中,使用随机遮蔽策略来确保模型能够处理各种上下文长度,从1到最大上下文长度。这有助于防止模型仅对特定倍数的上下文长度进行过拟合。
-
大规模预训练数据集:
- TimesFM在一个包含真实世界和合成数据的大规模时间序列语料库上进行预训练。该语料库包括来自Google趋势、维基百科页面访问统计和合成时间序列的数据,总共包含约1000亿个时间点。
-
零样本性能:
- TimesFM在多种未见过的预测数据集上展示了接近最先进的零样本预测性能。这意味着模型无需针对每个新数据集进行额外的训练,从而显著减少了计算需求。
-
高效的前向传播:
- 通过将时间序列分解为片段并在训练期间减少输入到变换器的标记数量,TimesFM提高了推理速度。
-
长距离预测:
- 与传统的自回归解码相比,TimesFM通过直接预测整个预测范围来提高长距离预测的准确性。
-
单一基础模型:
- TimesFM是一个单一的基础模型,能够在不同的预测历史长度、预测长度和时间粒度上进行工作,适用于多种领域和应用。
这些创新点使得TimesFM在时间序列预测任务中表现出色,尤其是在零样本学习和跨领域应用方面。