论文标题:From News to Forecast: Iterative Event Reasoning in LLM-Based Time Series Forecasting
论文链接:https://arxiv.org/abs/2409.17515
这篇论文很有意思,在时间序列预测任务中引入了外部的知识,即文章中说的新闻数据。我们知道传统时间序列预测任务一直以来的思路都是改模型架构,然后卷指标。但这篇文章相当于另辟蹊径,通过爬取新闻数据,作为模型额外输入,以此来增强时间序列预测效果。
这种方案在业界,特别是金融量化领域已经很普遍,例如一套鲁棒性比较强的系统,至少要包含量价因子、基本面因子等。这里的基本面因子,我们可以认为是论文外部新闻数据。原因也容易理解,像政策转变、突发事件、情绪变化对股价的影响很难直接从量价上找到合理解释,但从新闻事件中却容易推断发掘出事件因果。这也是这篇文章主要的出发点。
这篇文章利用大型语言模型(LLM)对文本和时间序列数据进行推理来增强时间序列预测,将社会事件整合到预测模型中,使新闻内容与时间序列波动相匹配。
LLM在文中充当了核心角色。一方面,作者利用LLM agent来迭代过滤不相关的新闻,并采用类似人类的推理来评估预测;另一方面,通过将选定的新闻事件与时间序列数据相结合,对预训练大模型进行了微调,来预测时序变化。
此外本文开源了代码,从结果来看,预测准确性是确实有显著的提高,这表明合理利用非结构化新闻数据确实是有助于提升预测效果的。
时间序列预测中整合文本信息的流程:(A) 检索相关的原始新闻和补充信息。(B) 基于大语言模型(LLM)的代理对不同预测时间范围的相关新闻进行分析和筛选。(C&D) 将筛选出的新闻和上下文信息与时间序列数据结合,用于微调LLM预测模型。(E) 预测结果与真实值之间的差异会触发对历史新闻和数据的回顾,以重新处理遗漏信息并优化推理逻辑。
01 问题定义
如何把时间序列预测任务转换为LLM能处理的任务?
与大语言模型(LLMs)一致,时间序列预测也可被视为序列条件生成问题。以 LLaMa 语言模型为例,假设存在一个数字序列 {123,456},LLaMa 的分词器会将该数字视为数字标记的序列。
在此基础上,我们把新闻事件E加入到条件概率,如下面红框所示,这样就整合了新闻数据和时序数据。
02 微调大语言模型进行时序预测
尽管大模型具备一定生成时间序列预测的能力,直接给出时序数据、新闻数据就进行少样本预测仍然很难。首先,时间序列的输出控制较为困难,因为输出数字token并不常见。其次,新闻与时间序列之间的联系通常需要从历史数据中推导,这超出了使用大语言模型进行少样本时间序列预测的常规范围。
作者采用监督指令调优方法,将配对的时序数据、新闻数据训练大语言模型,格式化为文本输入 - 输出对,用低秩适应(LoRA)方法。
02 基于大语言模型进行新闻筛选、聚合和推理分析
首先基于预测任务的时间频率、地域范围等信息检索匹配新闻及补充信息,如针对 2019 - 2021 年澳大利亚州级电力需求收集相关新闻并初步筛选;然后利用 LLM 的类人推理能力设计新闻筛选推理代理,通过少样本提示和思维链方法生成初始筛选逻辑,按影响时长和相关性分类新闻并输出含摘要、地域等的 JSON 结果,再基于预测误差分析迭代优化筛选策略;最后通过对比预测结果与真实值识别因新闻遗漏导致的误差,经预测评估、遗漏识别和逻辑更新的三阶段提示设计及 “预测 - 评估 - 更新” 闭环流程,逐步完善新闻筛选逻辑,以提升模型对时间序列预测的准确性。
03 整体pipeline
上图是文章整体的pipeline,新闻推理agent和评估agent与LLM预测模型的微调相结合以提高训练数据质量,流程为:
从实验结果来看,本文提出的将外部新闻添加到时序预测任务的方法是有效的。通过将基于大语言模型(LLM)把新闻整合到时间序列预测中,在电力需求、汇率、比特币市场等多个领域显著提升了预测准确性,且在处理突发和复杂事件时表现出色。
本文的局限性
适用领域有限:在气象等人类活动影响较小的领域适用性较差。
模型输入限制:受预训练 LLM 最大 token 长度约束,处理大量时间序列或多序列时可能出现数据截断,影响长期预测准确性。
未来的研究方向
新闻内容归因分析:确定影响预测准确性的关键因素,优化新闻整合流程。