论文:Temporal Data Meets LLM - Explainable Financial Time Series Forecasting
下载地址:https://arxiv.org/pdf/2306.11025v1.pdf
1、问题背景
金融领域是时间序列预测技术的一个重要应用场景。与普通的时序预测不同,金融领域的时间序列预测建模面对着更加复杂的挑战,而这些挑战可以使用大模型来解决,主要体现在以下3个方面。
第一点是如何建模复杂的序列间关系。在股价预测中,不同股票价格之间存在很强的依赖关系或关联关系,因此能否建模好序列间关系至关重要。大模型的序列建模能力和多序列关系建模很强,因此我们可以尝试将大模型这些能力应用到序列预测中。
第二点是对文本数据的处理能力。目前的金融场景时间序列预测问题,很多都重点研究如何处理金融资讯信息,融入到时间序列预测建模中。股价的波动很多程度上来源于金融资讯,只靠单纯的时间序列建模是无法涵盖全部信息的。这种多模态信息的有效引入,对于金融场景时序预测效果有很大帮助。大模型天然的具有强大的文本处理能力,因此自然成为这个问题的有力解决方案。
第三点是可解释性,这也是各个领域的深度学习模型都追求的一个点,如何让模型的预测结果更具可解释性,能让预测结果更有价值,指导我们的行动。大模型的可解释性也很强,例如通过思维链等方式让大模型生成给出答案的原因。
基于以上考虑,本文尝试了利用大模型做时间序列,同时解决上述3个问题。
2、实现方法
整体的建模方法主要包括对时间序列的处理、对文本信息的引入、prompt设计、基于Instruction Tuning的大模型微调4个部分。
时间序列处理:文中将时间序列通过离散化的方式转换为符号表示,文中的预测目标是纳斯达克100各个公司股票投资回报,即周期末相比周期初股价涨幅。文中将涨幅变成符号,比如D1代表跌1%以内,U2代表涨2%以内等等。处理成这种符号化的表示,方便输入到后续的大模型中。
文本信息引入:在文本信息方面,文中利用GPT4进行信息生成,包括公司的整体介绍、可能影响股价的优势和劣势等文本信息。此外,对于新闻资讯信息,使用GPT4进行摘要生成和关键字抽取,作为后续的输入。公司介绍和摘要生成的例子如下:
prompt设计:有了上述信息,整体的预测prompt如下图所示,输入包括离散化后的时间序列符号化表示、GPT4生成的公司简介、新闻摘要等信息,让大模型给出预测结果。
Instruction Tuning:只基于这种zero-shot的方式可能无法发挥大模型最强的能力,因此文中进一步采用了Instruction Tuning,使用上述方式构造30k的周预测和7k月预测数据,用开源的LLaMa模型进行Instruction Tuning。(关于Instruction Tuning在之前的文章有过多次介绍,本质上就是将任务转换成文本,以语言模型为目标微调大模型)
3、实验结果
下表是文中的实验结果,主要对比大模型之间的效果,以及其与一些简单时间序列预测方式的效果差异。整体来看,用大模型进行这种粗粒度预测是可行的,同时GPT4的效果非常显著,GPT4的few-shot效果要优于基于LLaMa的instruction tuning方法。
4、总结
大模型在序列数据上的应用,是一个值得研究的点。文中通过这种离散化时间序列的方式,进行基于大模型的预测,是有潜力改变金融场景时间序列预测范式的一个方式。