时间序列预测在各个领域都有着广泛的应用,无论是零售、金融、制造业、医疗保健还是自然科学。在零售行业,提高需求预测准确性可以显著降低库存成本并增加收入。在这些应用场景下,深度学习(DL)模型已经成为主流,特别是在多变量时间序列预测任务中,其表现非常出色,在各种竞赛和实际应用中都取得了显著成就。
与此同时,大型基础语言模型的快速发展也为自然语言处理(NLP)任务带来了巨大的进步,极大地提升了翻译、检索增强生成、代码补全等任务的性能。这些NLP模型通过海量文本数据进行训练,数据来源多种多样,包括爬虫、开源代码等。训练后的模型不仅能够识别语言中的模式,还具备零样本学习的能力。比如,在检索任务中,大型模型能够回答与当前事件相关的问题并对其进行总结。
尽管基于深度学习的预测器在很大程度上优于传统方法,并且在降低训练和推理成本方面取得了进展,但仍然面临着一些挑战。大多数深度学习模型需要长时间的训练和验证周期,之后才能在新的时间序列上测试模型。相比之下,时间序列预测的基础模型则可以在不需要额外训练的情况下,对没见过的时间序列数据提供即时预测,使用户能够更专注于改进零售需求规划等实际下游任务的预测。
最近,Google Research的研究人员提出了一个名为TimesFM的基础时序预测模型。该模型在1000亿个「真实世界时间点」上进行了预训练。相较于最新的大型语言模型(LLMs),TimesFM规模要小得多,只有200 M参数。
实验结果显示,即使在这样较小的规模下,TimesFM在各种未见过的数据集上表现出了令人印象深刻的「零样本性能」,跟那些在这些数据集上明确训练过的、最先进的、有监督方法相当接近。
研究人员计划在今年晚些时候通过Google Cloud Vertex AI为外部客户提供TimesFM模型。与LLMs不同,TimesFM采用了一种仅解码器的训练方式。其训练过程包括以下三个步骤:首先,文本被分解为称为子词(subwords)的token;然后,这些tokens被馈送到堆叠的因果Transformer层,生成与每个输入token对应的输出。值得注意的是,该层无法处理未来的tokens,即future tokens。
时间序列预测的基础模型应该具有足够的能力来编码来自大型预训练数据集的所有模式(patterns),并且适应可变的上下文和范围长度,即模型观察到的内容和查询模型预测的内容。在推理期间,LLM每次生成一个token的输出,对应于第i个token的输出总结了来自先前token的所有信息,并预测第(i+1)个token。
举例来说,模型可能会首先生成token为「The」,然后以输入提示「法国的首都是哪里?」为条件生成下一个token「首都」(captial)等,直到生成完整的答案:「法国的首都是巴黎」(The capital of France is Paris)。假设,使用512个时间点的时间序列进行训练,对于TimesFM模型,输入patch长度为32,输出patch长度为128。与LLMs相似,研究人员采用了堆叠的Transformer层作为TimesFM模型的主要构建块。
在时间序列预测的背景下,将一个patch(一组连续的时间点)视为一个token,这一思路源自于最近的长期预测工作。具体任务是在堆叠的Transformer层末尾预测下一个时间点patch,针对给定第i个输出来预测第(i+1)个时间点patch。然而,TimesFM与语言模型有几个关键的区别。首先,模型需要一个具有残差连接的多层感知器块,将时间序列的patch转换为token。这个块可以与位置编码(PE)一起沿着输入传递到Transformer层。
为此,我们采用了类似于之前长期预测工作中使用的残差块。其次,堆叠的Transformer输出的token可用于预测比输入patch长度更长的后续时间点的长度。换句话说,输出patch长度可以大于输入patch长度。模型同时被训练为使用前96个时间点来预测接下来的224个时间点,使用前64个时间点来预测时间点65至192,使用前32个时间点来预测时间点33至160等等。
在模型中,如果输出patch长度等于输入patch长度32,那么对于相同的任务,模型经历八次生成步骤而非2次,增加了错误累积的风险。因此,在实验结果中可以看到,更长的输出patch长度会带来更好的长期预测性能。
就像LLMs可以通过更多token变得更好一样,TimesFM需要大量合法的时间序列数据来学习和改进。研究人员花了大量的时间来创建和评估训练数据集,发现两个比较好的方法:合成数据有助于基础。可以使用统计模型或物理模拟生成有意义的合成时间序列数据,基本的时间模式可以引导模型学习时间序列预测的语法。
真实世界的感受,源自真实世界的数据。研究人员聚焦于公共时间序列数据集,精心挑选了1000亿个时间点的庞大语料库,融汇其中。这一数据集包含了Google趋势和维基百科页面浏览量等信息,跟踪着用户的兴趣点,生动展现着诸多其他真实世界时间序列的趋势和模式。这些数据的运用,有助于TimesFM深入理解更为宏大的图景,从而提升其在「训练期间未曾见过的、特定领域上下文」中的泛化性能。
研究人员通过对常见时间序列基准的运用,对TimesFM进行了零样本评估,以观察其在未曾见过的数据上的表现。结果显示,TimesFM的性能不仅优于大多数统计方法,如ARIMA、ETS等,还能够与甚至超越一些经过明确训练的强大深度学习模型相匹敌,例如DeepAR、PatchTST等。
为了进一步评估TimesFM的可用性,研究人员转向了Monash Forecasting Archive,这一数据集涵盖了来自各个领域的数万个时间序列,包括交通、天气和需求预测等,其数据频率从几分钟到每年不等。研究人员依据现有文献,对适当缩放的平均绝对误差(MAE)进行了检查,以获取对该数据集整体表现的平均值。
可以看到,研究人员对比了TimesFM和GPT-3.5使用llmtime(ZS)提出的特定提示技术进行预测的结果。证明了TimesFM的性能优于llmtime(ZS)。Zero-shot(ZS)TimesFM比大多数监督方法都要好,包括最近的深度学习模型。
对于Monash数据集,TimesFM(ZS)与其他有监督和零样本方法的比例MAE进行了比较。在大多数Monash数据集中,预测长度通常不会太长,大多是短期或中期的。此外,研究人员还测试了TimesFM对常用基准长期预测的性能,与最先进的基线PatchTST(以及其他长期预测基线)进行了比较。
在ETT数据集上,研究人员绘制了MAE,用于预测未来96和192个时间点的任务。在每个数据集的最后一个测试窗口上计算指标。相对于ETT数据集上的llmtime(ZS)和长期预测基线,TimesFM(ZS)的最后一个窗口MAE表现更佳。综上所述,TimesFM不仅在性能上超过了llmtime(ZS),而且与在相应数据集上显式训练的有监督PatchTST模型的性能相匹配。
研究人员训练了一个仅用于解码器的基础模型,使用了一个庞大的预训练语料库,包含1000亿个真实世界的时间点。这个语料库主要包括来自Google趋势的搜索兴趣时间序列数据和维基百科的页面浏览量。他们采用了TimesFM架构,在各种公共基准测试中(不同的领域和粒度),即使是一个相对较小的200 M参数预训练模型也展现出了相当好的零样本性能。这些结果表明了该模型的强大性能。