首页 > 其他分享 >大语言模型关于时间序列预测的文章和关于LLM做金融预测的文章

大语言模型关于时间序列预测的文章和关于LLM做金融预测的文章

时间:2024-01-27 10:34:59浏览次数:24  
标签:embedding 预测 模型 TS LLM https 文章 序列

任务: 寻找大语言模型关于 时间序列预测的 文章  和 关于LLM做金融预测的文章

 

下面是我的总结:

所有的文章都是为了解决一个问题:TS数据和文本数据之间的对齐问题。

 

将时间序列(Time Series, TS)与LLM融合的方式有两条路线:

(1)LLM-for-TS:针对TS数据,从头开始设计并预训练一个基本的大型模型,然后为各种下游任务相应地微调模型;

(2)使用现有的预训练模型,仅创建一个TS专用的embedding层;

(3)使用现有的预训练模型,创建一个TS专用的embedding层,并对某些层进行简单微调

 

总结:有用的Patching方法、基于提示学习的方法、使用lora微调位置编码层和归一化层

 

下面是每一篇的文章:

-------------------------------------------------------------------------------------------------

 

1. 路线(1)

TimeGPT:第一个时间序列的大模型

知乎介绍 https://zhuanlan.zhihu.com/p/663615513

论文地址 https://arxiv.org/pdf/2310.03589.pdf

TimeGPT是一个预训练模型,

 

首个时间序列基础大模型

多层Encoder+Decoder组成

训练集:1000亿行的金融、天气、能源和网络数据。

评估指标包括相对平均绝对误差和相对均方根误差

 

-------------------------------------------------------------------------------------

 

2.路线(2)

TEST:Text Prototype Aligned Embedding to Activate LLM’s Ability for Time Series

中文标题:基于对比学习的时序数据embedding

知乎介绍 https://zhuanlan.zhihu.com/p/678655295

论文地址 https://arxiv.org/abs/2308.08241v1

 

创建一个新的embdeeing层,仅供TS数据使用

其它的数据如提示语进入之前LLM的embedding层

 

(1)将TS token化,并训练编码器的encoder,用对比学习表征TS tokens;

      对比学习中:时间序列标记 和 文本标记词(大、小、上升、下降、稳定、波动) 在embedding层的向量相似度拉近或远离。

  冻结原始LLM的所有参数,只训练新创建的embedding层。

  损失函数 = 对比学习的损失函数

(2)然后使用prompt learning来训练提示词模板

 

-----------------------------------------------------------------------------------------

 

3.路线(2)

One Fits All: Power General Time Series Analysis by Pretrained LM

知乎介绍 https://zhuanlan.zhihu.com/p/650863164

论文地址 https://arxiv.org/abs/2302.11939

使用LM大模型+微调时间序列,对时间序列的下游任务进行预测;

 

微调方法:

冻结原本LLM的所有参数

创建一个新的embedding层,仅供TS数据使用

新增加一个Normalization 层,输入是TS数据,输出是均值和方差,输出和新的embedding的TS的token拼接,输入到LLM中

因为LLM的上下文长度受限,使用 补丁Nie聚合相邻的方式保证输入给LLM的token的长度不变。

只调整新的embedding层。

 

4.路线(2)

Large Language Models Are Zero-Shot Time Series Forecasters

这篇文章:说的是一种构造新的embedding层的方法,仅供TS数据使用。

具体的方式:(具体我没看懂,但是应该挺简单的)

利用语言模型的条件概率建模数字,就是根据前面的数字预测下一位为各个数字的概率,是一种迭代的层次softmax结构,加上大模型的表征能力,可以适配各种各样的分布类型,这也是大模型可以以这种方式用于时间序列预测的原因。同时,模型对于下一个数字预测的概率,也可以转换成对不确定性的预测,实现时间序列的不确定性预估。

 

5.路线(2)

TIME-LLM: TIME SERIES FORECASTING BY REPROGRAMMING LARGE LANGUAGE MODELS

 

提出了一种reprogramming方法,将时间序列映射到文本,实现时间序列和文本这两种模态之间的对齐

具体实现方法为,首先将时间序列分成多个patch,每个patch通过MLP得到一个embedding。然后,将patch embedding映射到语言模型中的词向量上,实现时间序列片段和文本的映射和跨模态对齐。 这个patch就是文章9中的patching思想。

 

 

 

从图中可以看出:冻结了LLM的所有的参数,只调整了红框中的两部分。

 

-------------------------------------

6.路线(2)

Lag-Llama: Towards Foundation Models for Time Series Forecasting

 

核心包括特征层面和模型结构层面的设计

 

原始时间序列不同时间窗口的历史序列统计值,获得lag features

将 lag features 输入到 LLM 中

只调整llama模型中的normalization方式和position encoding,注意不是微调,是直接写死。LLM模型参数冻结。

修改模型的最后的输出层,获得多头注意力中的多head,拟合概率分布函数如高斯分布,获得freedom、mean、scale三个参数传入到MLP中,获得最后的结果

 

7.路线(2)

Spatial-Temporal Large Language Model for Traffic Prediction

交通预测,预测交通流量

 

新增embedding层仅用TS层

冻结前F层的LLM的所有参数,全量调F层后面的LLM的多头注意力层的参数

LLM的输出接入回归卷积层

 

8.路线(3)

Two-Stage Fine-Tuning for Time-Series Forecasting with Pre-Trained LLMs

知乎介绍 https://zhuanlan.zhihu.com/p/652524958

论文地址 https://arxiv.org/pdf/2308.08469.pdf

注:因本文没有开源源代码,所以争议性很大。但确实是一篇好文章

 

PatchTST方法基于patching通道独立性的思想将多变量时间序列数据视为多个单变量时间序列,将单个序列划分成不同的patch。

首先通过监督微调将模型与时间序列的特性进行对其,引导LLM适应时间序列的数据;

接下来以下游预测任务为导向进一步对模型进行微调,从而保障不破坏语言模型固有特性的基础上使得模型能够更好地适配配各类不同域的数据和下游任务

 

专门为Ts创建的embedding层、

文章写了微调(分为两步:自回归的微调和下有任务的微调)、

使用lora和layer normalization turn 的方式进行微调、

 

 

 

9.路线(2)

A Time Series is Worth 64 Words: Long-term Forecasting with Transformers

知乎介绍 https://zhuanlan.zhihu.com/p/602332939

论文位置 https://arxiv.org/pdf/2211.14730.pdf

 

本文提出了Patching的思想,它可以将TS和文本数据对齐。很多文章都引用这个文章。

它们都是将时间序列分成若干个时间段(可以重叠,也可以不重叠),每一个时间段就是一个token,再加上位置编码,输入到Transformer的Encoder中,Encoder输出向量flatten得到预测头

本文还有其它的知识点(还没有认真的看):Channel-independence、自监督学习

 

 

 

  1. 路线(2)Preformer

论文地址 https://arxiv.org/pdf/2202.11356.pdf

 

本文提出了Preformer的思想,它可以将TS和文本数据对齐。

它们都是将时间序列分成若干个时间段,每一个时间段就是一个token

Preformer 是在 Patching前提出来的,效果没有Patching好。 Patching是根据这篇文章继续研究得出来的。

 

 

11.路线(3)OFA:One Fits All:Power General Time Series Analysis by Pretrained LM

知乎介绍 https://zhuanlan.zhihu.com/p/664785806

论文地址 https://arxiv.org/abs/2302.11939

 

冻结预训练模型的embedding层和自注意力块

对位置嵌入和层归一化进行了微调

没有为TS数据专门重新创建embedding层

采用可逆实例归一化来解决实例分布变化影响大多数时间序列预测方法准确性的问题。这种方法通过计算输入时间序列的均值和方差进行归一化,然后将它们添加回输出

采用了缺失填充来提取局部语义信息。通过聚合相邻的时间步形成基于补丁的单个令牌,填充大大增加了输入的历史时间范围,同时保持了令牌长度相同并减少了转换器模型的冗余信息。

采用Patching的思想

 

 

 

12.路线(3)PromptCast: A New Prompt-based Learning Paradigm for Time Series Forecasting

 

知乎介绍 https://zhuanlan.zhihu.com/p/673922129

论文地址 https://arxiv.org/pdf/2210.08964.pdf

 

基于提示的时间序列预测学习范式 PromptCast

通过提示此模板,将TS转换为文本信息

本文的效果不好,但是提出了一个方案,使用prompt turning或者p-turning的方式来对LLM进行微调,使LLM适应TS数据

 

 

13.TEMPO: Prompt-based Generative Pre-trained Transformer for Time Series Forecasting

Tempo:基于提示工程的预训练时序预测模型

 

知乎地址 https://zhuanlan.zhihu.com/p/675515880

论文地址 https://web3.arxiv.org/pdf/2310.04948.pdf

 

Tempo模型首先将复杂的时间序列解耦为趋势项、季节项和残差项,进一步将其映射到相应的隐藏空间,以构建GPT能够识别的输入。

Tempo构造了一个prompt池,为解耦得到的不同成分分配不同的提示词,使得模型利用历史信息来适应时间序列分布的变化。

 

本文的性能较好,比文章12好。

 

 

13.Temporal Data Meets LLM -- Explainable Financial Time Series Forecasting

论文地址 https://arxiv.org/pdf/2308.08469.pdf

 

时间序列的处理、对文本信息的引入、prompt设计、基于Instruction Tuning的大模型微调4个部分。

 

标签:embedding,预测,模型,TS,LLM,https,文章,序列
From: https://www.cnblogs.com/donefive/p/17991165

相关文章

  • Bellman-ford 详解
    讲解  模板 第1题    bellman-ford练习查看测评数据信息给定一个n个点m条边的有向图,图中可能存在重边但不存在自环,边权可能为负数。请你求出从1号点到n号点最短距离,如果无法从1号点走到n号点,输出impossible。1≤n≤500,1≤m≤10000,任意边长的绝对值......
  • Bellman-Ford
    \(Bellman-Ford\)求单源最短路,可以判断有无负权回路(若有,则不存在最短路),时效性较好,时间复杂度\(O(VE)\)。\(Bellman-Ford\)算法是求解单源最短路径问题的一种算法。单源点的最短路径问题是指:给定一个加权有向图\(G\)和源点\(s\),对于图\(G\)中的任意一点\(t\),求从\(s\)到\(t\)......
  • 文章索引
    游记类2023年2023NOIP2023CSP复赛2023CSP初赛复盘题解类ABC比赛系列复盘USACO2023-2024赛季复盘2024年题目选讲CSP模拟赛复盘CSP初赛训练复盘2023.7暑假集训测试复盘2023暑假集训复盘2023题解合集2023年终总结洛谷月赛翻盘记CF比赛复盘知识点类网络流网......
  • csdn复制文章方法
    1、2、按ctrl+f找"article_content" 3.在该元素源代码上右键“Copy”->“Copyelement”4.新建一个txt文件,把你粘贴的东西复制进去,然后再把文件名的后缀改为html,然后打开html文件,把里面的内容ctrl+A全部复制到你的CSDN编辑发布页面中......
  • 一篇文章带你搞懂Python中的继承和多态
    在面向对象编程中,继承和多态是两个核心概念。它们是面向对象编程的基石,允许我们构建更加复杂和可重用的代码。本文将通过理论与实践相结合的方式,深入探讨Python中的继承和多态,帮助你更好地理解这两个概念。一、继承1、什么是继承?继承是面向对象编程中的一个重要概念,它允许我们创建......
  • 基于CefSharp、WPF开发浏览器项目----系列文章
    基于CefSharp、WPF开发浏览器项目基于CefSharp开发浏览器(十一)增添F11、F12功能基于CefSharp开发浏览器(十)CefSharp.Wpf中文输入法偏移处理基于CefSharp开发浏览器(九)浏览器历史记录弹窗面板基于CefSharp开发浏览器(八)浏览器收藏夹栏基于CefSharp开发浏览器(七)浏览器收藏夹菜单基......
  • 人物稿怎么写,读完这篇文章就知道了
      (根据砍柴学院丹尼尔李老师的《人物稿,不得不说的那些事》课程笔记整理)人物稿的写作宗旨:借助笔下人物的形象与阅历,传递作者自己的思想。能够触动读者的内心就好,能够对读者产生正面的影响更好,能够帮助解惑指路最好。人物稿没有热点文、观点文好写。写人物稿没有捷径可走,必须......
  • 文章分类导航
    C#DevOpsJavaLinuxNginx地图数据库刷机......
  • LLMs 综述
    大型语言模型指的是具有数十亿参数(B+)的预训练语言模型(例如:GPT-3,Bloom,LLaMA)。这种模型可以用于各种自然语言处理任务,如文本生成、机器翻译和自然语言理解等。大型语言模型的这些参数是在大量文本数据上训练的。现有的大型语言模型主要采用Transformer模型架构,并且在很大程......
  • 【C语言进阶篇】看完这篇结构体文章,我向数据结构又进了一大步!(结构体进阶详解)
    (文章目录)......