Are Language Models Actually Useful forTime Series Forecasting?
Abstract
大型语言模型(LLMs)正在被应用于时间序列预测领域。但语言模型对于时间序列预测真的有用吗?在一系列对三种最新且流行的基于LLM的时间序列预测方法的消融研究中,我们发现,移除LLM组件或将其替换为基本的注意力层并不会降低预测性能——在大多数情况下,结果甚至有所提升!我们还发现,尽管预训练LLM的计算成本巨大,但其效果并不优于从零开始训练的模型,无法有效表示时间序列中的顺序依赖关系,也无法在少样本设定下提供帮助。此外,我们还对时间序列编码器进行了探索,发现分块和注意力结构的表现与基于LLM的预测方法相似。
1.Introduction
时间序列分析是许多领域中的关键问题,包括疾病传播预测 [8]、零售销售分析 [3]、医疗健康 [25, 16] 和金融 [30]。近期,时间序列分析领域有大量工作(在GitHub上的相关代码库总星标超过1200个)集中于将预训练的大型语言模型(LLMs)应用于时间序列的分类、预测和异常检测 [14, 49, 21, 4, 5, 31, 13, 43, 15]。这些论文提出,由于语言模型在处理文本中顺序依赖关系方面表现出色,它们可能能够泛化到时间序列数据中的顺序依赖关系。这一假设并不令人意外,因为语言模型在当今机器学习研究中已经无处不在。然而,语言建模与时间序列预测之间的直接联系仍然大多未被明确界定。那么,语言建模对传统时间序列任务究竟有多大益处呢?
我们的观点简单却深刻:流行的基于LLM的时间序列预测方法表现与不使用LLM的基本消融版本相同或更差,但却需要数量级更高的计算成本。通过广泛的消融研究,我们揭示了当前时间序列预测文献中一个令人担忧的趋势。我们的目标并非暗示语言模型永远不会对时间序列有用。事实上,最新研究表明,语言模型与时间序列之间存在许多激动人心且充满前景的交互方式,比如时间序列推理 [24, 7, 44, 41, 36]、社会理解 [6] 和金融推理 [35, 19]。然而,我们旨在强调一个令人惊讶的发现:现有方法几乎没有充分利用预训练语言模型在既有时间序列任务中的内在推理能力。
我们通过对三种流行且最新的基于LLM的预测方法 [49, 14, 21] 进行三项消融实验来证实我们的观点,实验使用了八个来自参考方法的标准基准数据集以及另五个来自MONASH的数据集 [12]。首先,我们成功复现了原始论文中的结果。接着,我们展示了将语言模型替换为简单的注意力层、基本的Transformer块、随机初始化的语言模型,甚至完全移除语言模型,依然能获得相当或更好的性能。在另外五个未被参考方法研究过的数据集上,也观察到了相同的性能表现。
接下来,我们将这些方法与其消融版本在训练和推理速度上进行比较,结果显示,这些更简单的方法在保持相似性能的情况下,训练和推理时间最多可减少三个数量级。随后,为了探究LLM预测器性能的来源,我们进一步研究了时间序列编码器。我们发现,使用简单线性模型与由分块和注意力机制组成的编码器,可以实现与LLM相似的预测性能。接着,我们测试了LLM的序列建模能力是否能够迁移到时间序列数据中,通过对输入时间序列进行随机打乱,结果发现性能并未出现显著变化。最后,我们证明,即使在训练数据量仅为10%的少样本设定下,LLM也未能改善时间序列预测性能。我们讨论了这些发现的影响,并建议基于大型语言模型的时间序列方法更适用于需要文本推理的多模态应用 [4, 11, 37]。
我们这篇文章的核心贡献如下:
• 我们针对将时间序列数据输入LLM进行预测的方法,提出了三种简单的消融方法。我们对三种顶级方法在十三个标准数据集上进行了消融实验,结果发现LLM未能显著提升时间序列预测性能,反而在训练和推理过程中大幅增加了计算成本。
• 我们通过重新初始化LLM的权重(即移除预训练)来研究LLM预训练的影响。结果显示,这对预测性能没有任何影响。此外,通过对输入时间序列进行随机打乱,我们未找到任何证据表明LLM能够成功将文本中的序列建模能力迁移到时间序列数据上,同时也未显示出LLM在少样本场景下能提供帮助。
• 我们发现,使用简单的分块和注意力机制作为编码器的模型,就能实现与LLM相似的性能。这表明,尽管当前对LLM的应用热潮迅速蔓延,但LLM的实际效益与时间序列预测问题之间存在巨大落差。
2.Related Work
在这里,我们总结了与基于LLM的时间序列模型相关的关键工作。这些工作大致可以分为三个类别:(i) 使用LLM进行时间序列预测;(ii) LLM时间序列模型中的编码器;(iii) 面向时间序列的小型高效神经网络模型。
使用LLM进行时间序列预测 最近,随着大型语言模型(LLMs)[10, 28, 33] 的发展及其在多模态任务中的能力展示,越来越多的研究者成功地将LLM应用于时间序列预测任务 [13, 15, 5, 4]。Chang等人 [5] 通过微调GPT-2的Transformer模块和位置编码,使预训练的LLM与时间序列数据对齐,用于预测任务。Zhou等人 [49] 提出了一种类似的微调方法,名为“OneFitAll”,使用GPT-2进行时间序列预测。此外,Jin等人 [14] 引入了一种重编程方法,将LLM的词嵌入与时间序列嵌入对齐,并在LLaMA [33] 上展示了良好的时间序列数据表示能力。同样,CALF [21] 和TEST [31] 通过调整词嵌入,使LLM能够有效地预测时间序列数据。除了时间序列预测模型,Liu等人 [22] 表明,这些模型还能扩展用于健康时间序列分类任务,如心率和日步数。这些模型还被证明在少样本设定下优于监督神经网络模型。
LLM时间序列模型中的编码器 为了使LLM从文本中学习,必须先将文本离散化并编码为1 × d的词语标记向量 [10, 28, 33]。同样,基于LLM的时间序列方法通过学习离散的时间序列标记来进行建模。一种方法是将时间序列分割成重叠的块(patch),这种方法有效地缩短了时间序列长度,同时保留了其特征 [14, 49, 5, 4, 27, 26]。另一种方法是基于时间序列的趋势、季节性成分和残差成分进行分解 [4, 27]。最后,Liu等人 [21] 使用Transformer将多变量时间序列作为输入,使不同通道能够学习其他通道的动态。这些嵌入过程之后,通过一个线性神经网络层,将时间序列编码投影到与预训练LLM相同的维度。
小型高效的神经网络预测模型 除了LLM之外,还有大量研究致力于开发更小且更高效的框架,这些框架在时间序列预测中表现优于规模庞大的模型 [18, 46, 32, 23, 2]。例如,Zeng等人 [45] 提出了DLinear,一个结合了分解技术的极其简单的模型,其预测性能优于当时基于Transformer的最先进时间序列架构,如Informer [47]、FEDformer [48] 和Autoformer [39]。此外,Xu等人 [42] 引入了一个仅包含10k参数的轻量级模型,该模型捕捉了时间序列的幅度和相位信息,性能优于基于Transformer的模型。
![[Are Language Models Actually Useful forTime Series Forecasting?-文章表 1&表 2.png]]
3 实验设置
我们使用三种最先进的时间序列预测方法,并针对LLMs提出三种消融方法:(i) “w/o LLM”(不使用LLM);(ii) “LLM2Attn”(将LLM替换为注意力层);(iii) “LLM2Trsf”(将LLM替换为Transformer块)。为了评估LLM在时间序列预测中的有效性,我们在八个标准数据集上测试了这些方法。
3.1 语言模型与时间序列的参考方法
我们对三种最近使用LLM进行时间序列预测的方法进行了实验。所有模型均发布于2023年12月至2024年5月之间,且十分流行,其GitHub代码库累计获得了1,245颗星。这些方法总结于表2,并采用GPT2 [28] 或LLaMA [33] 作为基础模型,结合不同的对齐和微调策略。
• OneFitsAll [49]:OneFitsAll,有时称为GPT4TS,对输入的时间序列应用实例归一化(instance norm)和分块(patching),然后将其输入到一个线性层中,以获取供语言模型使用的输入表示。在训练过程中,语言模型的多头注意力和前馈层被冻结,而位置嵌入和层归一化会被优化。最终使用一个线性层将语言模型的最终隐藏状态转换为预测结果。
• Time-LLM [14]:在Time-LLM中,输入的时间序列通过分块进行标记化,并通过多头注意力与词嵌入的低维表示进行对齐。对齐输出与描述性统计特征的嵌入相结合,然后被输入到一个预训练且冻结的语言模型中。语言模型的输出表示被展平,并通过一个线性层以生成预测结果。
• CALF [21]:CALF将输入时间序列的每个通道视为一个标记。其架构的一部分是“文本分支”,使用交叉注意力将时间序列表示与语言模型词嵌入的低维表示进行对齐。然后,该表示被输入到一个预训练且冻结的语言模型中,以获取“文本预测”。与此同时,“时间分支”根据输入的时间序列学习一个预训练语言模型的低秩适配器,以生成“时间预测”并用于推断。该模型包含额外的损失项,以强制这些表示之间的相似性。
可复现性说明:在对每个模型进行实验时,我们尽力复现其原始论文中的实验条件。我们使用了原始的超参数、运行环境和代码,包括模型架构、训练循环和数据加载器。为了确保公平的比较,我们尽可能在结果中附上了原始论文中的误差指标。
![[Are Language Models Actually Useful forTime Series Forecasting?-图 1.png]]
图 1:图1:所有LLM消融方法概述• 图(a):使用LLM作为基础模型进行时间序列预测。在一些研究中,LLM组件被冻结 [14, 13],而在其他研究中,这些组件会进行微调 [49, 21, 4]。• 图(b):移除LLM组件,仅保留剩余的模型结构。• 图(c):用单层自注意力机制替换LLM组件。• 图(d):用简单的Transformer替换LLM组件。
3.2 Proposed Ablations
为了隔离LLM在基于LLM的预测模型中的影响,我们提出了三种消融方法:移除LLM组件或用简单模块替换它。具体而言,对于每种方法,我们进行了以下三种修改:
• w/o LLM (图1 (b)):我们完全移除语言模型,直接将输入标记传递到参考方法的最终层。
• LLM2Attn (图1 (c)):我们用一个随机初始化的多头注意力层替换语言模型。
• LLM2Trsf (图1 (d)):我们用一个随机初始化的Transformer块替换语言模型。
在上述消融方法中,我们保持预测模型的其余部分不变(可训练)。例如,如图1 (a) 所示,在移除LLM后,输入编码会直接传递到输出投影层。或者,如图1 (b) 或 (c) 所示,在用注意力或Transformer替换LLM后,它们与原始方法的剩余结构一起进行训练。
3.3 Datasets and Evaluation Metrics
基准数据集
我们在以下真实世界数据集上进行评估:
- ETT [20]:涵盖与电力变压器相关的七个因素,分为四个子集:ETTh1 和 ETTh2(每小时记录),以及 ETTm1 和 ETTm2(每15分钟记录)。
- Illness [39]:包含美国疾病控制中心(CDC)每周记录的流感病例数据,描述了就诊患者中出现类似流感症状患者的比例。
- Weather [39]:来自2010年至2013年间美国1600个地点的本地气候数据,每个数据点包含11个气候特征。
- Traffic [39]:来自加利福尼亚交通部门的每小时数据,包含旧金山湾区高速公路的道路占用率。
- Electricity [34]:包含2012年至2014年间321位用户的每小时用电量数据。ETT数据集的训练-验证-测试划分为60%-20%-20%,而Illness、Weather 和 Electricity 数据集的划分分别为70%-10%-20%。这些数据集的统计信息列于表1中。值得注意的是,这些数据集(相同的划分和规模)已被广泛用于评估基于LLM和其他神经网络模型在时间序列数据上的预测能力 [47, 49, 4, 14, 5, 45, 39, 48]。
- Exchange Rate [17]:收集于1990年至2016年,包含八个国家(澳大利亚、英国、加拿大、瑞士、中国、日本、新西兰和新加坡)的每日汇率数据。
- Covid Deaths [12]:包含2020年1月至2020年8月间,266个国家和地区的每日新冠肺炎死亡统计数据。
- Taxi (30 min) [1]:包含2015年1月至2016年1月期间,纽约市1214个地点的出租车行程数据,每30分钟采集一次,平均1,478个样本。
- NN5 (Daily) [12]:包含英国111台ATM的每日现金取款数据,每台ATM有791个数据点。
- FRED-MD [12]:包含自1959年1月1日以来由美联储发布的107个每月宏观经济指数,从FRED-MD数据库中提取。
评估指标与设置
我们通过预测值与时间序列真实值之间的平均绝对误差(MAE)和均方误差(MSE)来报告结果。数学表达如下:
• 给定一个包含 个元素的测试集:
$$
\begin{align}
\text{MAE} = \frac{1}{|D|} \sum_{t_i \in D} \left| c_i - \hat{c}i \right|
\
\text{MSE} = \frac{1}{|D|} \sum{t_i \in D} \left( c_i - \hat{c}i \right)^2
\end{align}
$$
其中,$c{i}$和$\hat{c_i}$ 分别表示时间序列第$i$个索引处的真实值和预测值。
![[Are Language Models Actually Useful forTime Series Forecasting?-图 2.png]]
图2:在上述示例中,只有使用LLM的OneFitsAll在ETTh1数据集上的表现优于消融方法,但其自助法置信区间存在显著重叠。这些图展示了OneFitsAll、CALF和Time-LLM在使用LLMs和消融(即不使用LLM、LLM2Attn和LLM2Trsf)情况下,分别在ETTh1、ETTm2和Electricity数据集上的比较结果,虚线表示原始工作的结果。关于MSE和其他数据集的图表可参见附录中的图5和图6。
4 Results
在本节中,我们详细评估了所有基准大型语言模型(LLM)在时间序列预测任务中的表现。具体而言,我们提出以下研究问题:
• RQ1:预训练语言模型是否有助于提升预测性能?
• RQ2:基于LLM的方法是否值得付出计算成本?
• RQ3:语言模型的预训练是否有助于预测任务的表现?
• RQ4:LLM是否能够表示时间序列中的序列依赖关系?
• RQ5:LLM是否有助于少样本学习?
• RQ6:模型的性能提升来源于何处?
4.1 预训练语言模型是否有助于提升预测性能?
我们的结果表明,预训练LLM目前尚未对时间序列预测任务产生明显的帮助。总体而言,如表3所示,在13个数据集和两个评估指标上,消融方法在26/26个案例中均优于Time-LLM方法,在22/26个案例中优于CALF,在19/26个案例中优于OneFitsAll。我们按照参考文献[49, 14, 21]中的方法,对不同预测长度的结果进行了平均。在所有预测长度(13个数据集和4个预测长度)上,消融方法在35/40、31/40 和 29/40 个案例中分别优于Time-LLM、CALF 和 OneFitsAll(基于MAE指标)。
为确保公平对比,我们还报告了每种方法的原始论文结果与我们复现实验的结果。具体数据可参见附录E.1。为了更好地评估LLM与消融方法的有效性,我们为每个任务提供了95%自助法置信区间。即使在LLM表现较好的任务中(例如OneFitsAll在ETTh1数据集上的表现,见图2),其与消融方法“w/o LLM”的置信区间在MAE指标上仍存在显著重叠。其他数据集的结果和MSE指标可参考附录中图5和图6。
综上所述,根据上述评估结果,我们难以得出LLM对时间序列预测任务有效的结论。
4.2 基于LLM的方法是否值得付出计算成本?
在前一节中,我们已经展示了LLM在时间序列预测任务中并未显著提升性能。在本节中,我们在考虑这些方法性能的同时,评估其计算强度。这些参考方法中的语言模型使用了数亿甚至数十亿参数来执行时间序列预测任务。即使语言模型的参数被冻结,它们在训练和推理过程中依然带来了显著的开销。
例如,Time-LLM拥有6642M参数,在Weather数据集上的训练时间为3003分钟,而消融方法仅有0.245M参数,平均训练时间为2.17分钟。关于其他方法在ETTh1和Weather数据集上的训练信息,请参见表4。
在推理时间方面,我们将总时间除以最大批量大小,以估算每个样本的推理时间。Time-LLM、OneFitsAll 和 CALF分别比修改后的消融方法慢28.2、2.3 和 1.2 倍。例如,在图3中,绿色标记(消融方法)通常低于红色标记(LLM),并且分布在坐标轴的左侧,表明其计算成本更低且预测性能更好。其他数据集的结果和MSE指标请参见附录中的图7 和 图8。
综上所述,LLM在时间序列预测任务中的计算强度并未带来相应的性能提升。
4.3 语言模型的预训练是否有助于预测任务的表现?
我们的评估结果表明,使用语言数据集进行预训练对于时间序列预测任务是没有必要的。为了验证预训练过程中学到的知识是否对预测性能有实质性的提升,我们对CALF [21] 语言模型进行了不同预训练与微调组合的实验:
- Pretrain + Finetune (Pre+FT)
这是原始方法,其中预训练的语言模型在时间序列数据上进行微调。在CALF的情况下,基础语言模型被冻结,并学习低秩适配器(LoRA)。 - Random Initialization + Finetune (woPre+FT)
语言预训练学习到的文本知识是否对时间序列预测有帮助?在此方法中,我们随机初始化语言模型的权重(消除预训练的任何影响),从零开始训练LLM。 - Pretrain + No Finetuning (Pre+woFT)
在时间序列数据上进行微调的贡献有多大?在此基线上,我们同样冻结语言模型,不学习LoRAs。该模型的结果表明,基础语言模型在未额外指导下处理时间序列的表现。 - Random Initialization + No Finetuning (woPre+woFT)
该基线方法将输入时间序列随机投影到预测输出,作为与其他方法对比的基础参考。
总体而言,表5中的结果显示,在8个数据集上,基于MAE和MSE指标:
• “Pretraining + Finetune” 方法在3次实验中表现最佳;
• “Random Initialization + Finetune” 方法在8次实验中表现最佳。
这表明语言知识对时间序列预测的帮助非常有限。然而,“Pretrain + No Finetuning” 和 基线“Random Initialization + No Finetuning” 分别在5次和0次实验中表现最佳,进一步证明语言知识在微调过程中并没有实质性贡献。详细结果请参见附录中的表20。
总结:预训练文本知识对时间序列预测的贡献极为有限。
4.4 LLM是否能够表示时间序列中的序列依赖关系?
大多数使用LLM的时间序列预测方法通过微调位置编码来帮助理解序列中时间步的位置 [4, 49, 21, 5, 31]。我们预期,如果一个时间序列模型具备良好的位置表示能力,当输入数据被打乱时,其预测性能会显著下降 [45]。
我们对时间序列数据应用了三种打乱操作:
- 随机打乱整个序列(“sf-all”),
- 仅打乱序列的前半部分(“sf-half”),
- 交换序列的前半部分和后半部分(“ex-half”)。
如表6所示,基于LLM的方法在输入打乱时的表现并不比消融方法更脆弱。这一结果表明,LLM在表示时间序列的序列依赖关系方面并无独特的优势。
4.5 LLM是否有助于少样本学习?
本节评估表明,LLM在少样本学习场景中仍未表现出显著的实用价值。
尽管我们的结果显示LLM对时间序列预测无明显帮助,但预训练权重中编码的知识有可能在数据稀缺的少样本场景中提供优势。为验证这一假设,我们在每个数据集的10%数据量上训练了模型及其消融版本,特别对Time-LLM方法中的LLaMA进行了评估。
• 表7中的结果表明,将LLaMA与完全去除LLM(w/o LLM)进行比较,两者分别在8个案例中表现更好,差异并不明显。
• 我们对基于GPT-2的CALF方法进行了类似实验,结果见表8。结果显示,在少样本场景中,消融方法的表现甚至优于LLM。
综上所述,LLM在少样本学习中的表现并未显示出预期的优势。
4.6 性能提升到底来自于哪里?
在本节中,我们评估了LLM时间序列模型中常用的编码技术。我们的研究发现,结合分段(Patching)与单层注意力机制(One-Layer Attention) 是一种简单且有效的选择。
在第3.2小节中,我们发现简单的LLM消融方法并未导致性能下降。为了理解为何这些简单方法表现如此出色,我们选择了一些在LLM时间序列任务中常用的编码技术进行分析,例如:
• 分段(Patching) [49, 14, 5, 31, 21],
• 分解(Decomposition) [4, 27],
• 基本Transformer模块 也可用于辅助编码 [21]。
这些编码技术的应用帮助我们深入理解了简单方法为何在性能上能够与复杂的LLM方法相媲美甚至超越。
具体结果如附录表18所示,表明结合分段(Patching)和注意力机制的结构,命名为PAttn ,在较小的数据集(时间戳少于100万)上表现优于大多数其他编码方法,甚至可以与LLM方法相媲美。其详细结构如图4所示,包括以下步骤:
- 对时间序列应用实例归一化(Instance Norm),
- 随后进行分段(Patching)和投影,
- 最后通过单层注意力机制实现分段之间的特征学习。
对于较大数据集,例如Traffic(约1500万条)和Electricity(约800万条),名为“LTrsf”的模型表现更好。该模型使用了CALF [21] 的编码器结构,最终通过单个线性层对时间序列嵌入进行投影以生成预测。
其他编码器的详细结构可参见附录D.3小节。
综上所述,分段(Patching)在编码过程中起到了关键作用。此外,基础的注意力机制(Attention) 和 Transformer模块也在编码中表现出有效性。
5. Conclusion
在本文中,我们表明,尽管LLM在时间序列预测领域备受关注,但它们并未显著提升性能。通过实验,我们发现简单的消融方法在性能上与LLM方法相当甚至更优,同时大大降低了计算成本。
需要强调的是,我们的目标并非宣称LLM在时间序列分析中毫无用处。做出这样的结论可能会过于短视。相反,我们建议研究社区将更多关注点放在LLM与时间序列结合所能激发的更具前景的任务上,例如:
• 时间序列推理 [24, 7, 44, 36],
• 社会理解 [6]。
这些任务可能成为时间序列与语言交互领域的新突破点,值得进一步探索。