LSTPrompt:无需训练,大型语言模型如何变身时间序列预测高手?

学术   2024-09-02 13:34   北京  

本文介绍了一种新的时序预测方法,通过提示(Prompting)现成的大型语言模型(Large Language Models, LLMs)来进行零样本(Zero-Shot)时间序列预测,这种方法在保持计算效率的同时,显示出强大的预测能力。

LSTPrompt: Large Language Models as Zero-Shot Time Series Forecasters by Long-Short-Term Prompting

https://arxiv.org/pdf/2402.16132v1

unsetunset论文方法unsetunset

零样本时间序列预测的目标是基于参考时间序列 (具有回顾窗口大小 )来预测未来时间序列 (具有预测窗口大小 ),而不需要对目标序列进行预先暴露或训练。

为了利用大型语言模型(LLMs)的显著泛化能力来解决零样本时间序列预测任务,需要将时间序列数据与自然语言模态对齐。一种将时间序列数据与LLMs对齐的方法是将时间序列数据呈现为文本。现有的零样本时间序列预测提示策略将时间序列数据表示为数值字符串,并将时间序列预测任务视为基于文本的下一个词预测。然而,这些策略忽略了动态时间序列数据中固有的复杂预测机制的需求。没有明确的指导,现有策略可能会产生不准确的预测,并且不确定性很高。

为了解决这个问题,作者提出了LSTPrompt,这是一种为零样本时间序列预测任务量身定制的提示方法,通过提供信息性的提示来引导LLMs。LSTPrompt包含两个组件:(1) TimeDecomp,将时间序列预测任务分解为子任务以进行系统推理;(2) TimeBreath,通过定期休息来适应预测策略。

TimeDecomp

TimeDecomp的引入是基于这样的观察:将复杂问题分解为更简单、顺序的步骤可以帮助LLMs构建一个连贯的推理路径。 然而,将这种思维链或逐步策略应用于时间序列预测任务尚未被探索。

TimeDecomp将时间序列预测任务分解为短期和长期预测子任务。这是基于短期和长期预测的不同预测机制。特别是,TimeDecomp提示LLMs相应地将预测时间步骤划分为短期和长期。然后,它引导LLMs通过每个子任务,指导它们关注特定方面:短期预测强调趋势变化和动态模式,而长期预测强调统计属性和周期模式。TimeDecomp的思维链过程遵循逐步提示:

  • 它用特定数据集提示任务,
  • 将任务分解为短期和长期子任务,
  • 引导LLMs结合适当的机制和领域知识。

在文章的“方法论”部分的2.3节中,作者介绍了LSTPrompt方法的另一个关键组件:TimeBreath。这个组件是为了解决在进行时间序列预测(TSF)任务时,需要在不同的时间步骤之间进行变化的推理,并且过长的预测范围可能会压倒LLMs的推理能力的问题。

TimeBreath

TimeBreath鼓励LLMs在进行时间序列预测的顺序推理过程中,采取“有节奏的呼吸”。在具有H个时间步的预测任务中,TimeBreath引导LLMs每k步进行一次“呼吸”,其中k是一个超参数,决定了“呼吸”的频率。

TimeBreath的直觉是鼓励LLMs定期重新评估预测机制,特别是对于可能需要不同推理的远期时间步骤。通过“休息”,TimeBreath帮助LLMs避免之前不相关的推理,并促进适应当前预测的预测机制。

LSTPrompt

基准评估

为了评估LSTPrompt的性能,作者使用了三个常见的时间序列预测基准数据集:Darts、Monash和Informer。尽管这些数据集可能用于训练LLMs,但在这些数据集上评估LSTPrompt允许在对齐的设置内进行公平比较,严格遵循零样本时间序列预测任务的既定设置。

数据集选择

为了评估LSTPrompt的真正零样本能力,作者在三个来自不同领域的并发数据集上进行了实验:流感样疾病(ILI)、股票和天气。这些数据集确保测试数据是在2023年6月之后,而大多数LLMs只训练到2022年。使用这些数据集确保了零样本属性,即使是对于GPT4也是如此。

实验结果

对比不同的LLMs

  • 在先前的实验中,基于最合适的LLMs展示了预测结果(例如,LLMTime使用GPT3.5-Turbo-Instruct,LSTPrompt使用GPT4)。
  • 然而,当在不同的LLMs上评估时,包括LSTPrompt在内的零样本TSF方法可能会出现性能差异。
  • 因此,研究者调查并解释了使用GPT3.5-Turbo、GPT3.5-Turbo-Instruct和GPT4与LSTPrompt结合的潜在影响。
  • 结果表明,与GPT3.5-Turbo和GPT3.5-Turbo-Instruct相比,结合GPT4.0的LSTPrompt表现更好。

模块有效性

  • 为了理解TimeDecomp和TimeBreath的重要性,作者分析了三个消融版本的LSTPrompt的性能差异:(1) Base,使用标准提示;(2) LSTPrompt\TD,从LSTPrompt中排除TimeDecomp;(3) LSTPrompt\TB,从LSTPrompt中排除TimeBreath。
  • 研究者包括了最先进的链式思考方法(Chain-of-Thought,简称CoT)以突出与一般任务的最佳提示策略的性能差异。
  • 结果证明了TimeDecomp和TimeBreath的有效性。与Base提示相比,加入TimeDecomp和TimeBreath分别将平均NMAE降低了26.8%和34.1%。同时使用这两个模块比Base提示提高了平均性能46.7%。

 学习大模型 & 讨论Kaggle  #


△长按添加竞赛小助手

每天大模型、算法竞赛、干货资讯

与 36000+来自竞赛爱好者一起交流~

Coggle数据科学
Coggle全称Communication For Kaggle,专注数据科学领域竞赛相关资讯分享。
 最新文章