0

0

一篇学会大模型浪潮下的时间序列预测

王林

王林

发布时间:2023-11-06 08:13:38

|

1880人浏览过

|

来源于51CTO.COM

转载

今天跟大家聊一聊大模型在时间序列预测中的应用。随着大模型在nlp领域的发展,越来越多的工作尝试将大模型应用到时间序列预测领域中。这篇文章介绍了大模型应用到时间序列预测的主要方法,并汇总了近期相关的一些工作,帮助大家理解大模型时代时间序列预测的研究方法。

1、大模型时间序列预测方法

最近三个月涌现了很多大模型做时间序列预测的工作,基本可以分为2种类型。

重写后的内容:一种方法是直接使用NLP的大型模型进行时间序列预测。在这种方法中,使用GPT、Llama等NLP大型模型来进行时间序列预测,关键在于如何将时间序列数据转化为适合大型模型输入的数据

第二种是训练时间序列领域的大模型。这类方法中,使用大量的时间序列数据集,联合训练一个时间序列领域的GPT或者Llama等大模型,并用于下游时间序列任务。

针对上述两类方法,下面给大家分别介绍几篇相关的经典大模型时间序列代表工作。

2、NLP大模型应用到时间序列

这种方法是最早出现的一批大型模型时间序列预测工作

纽约大学和卡内基梅隆大学合作发表的论文《大型语言模型作为零样本时间序列预测器》中,通过对时间序列的数字表示进行了tokenize的设计,以便转换成GPT、LLaMa等大型模型可以识别的输入。由于不同的大型模型对数字的tokenize方式不同,因此在使用不同的模型时需要进行个性化处理。例如,GPT会将一串数字分割成不同的子序列,这会影响模型的学习。因此,本文在数字之间强制添加了一个空格,以适应GPT的输入格式。而对于LLaMa等最近发布的大型模型,一般会将单独的数字进行分割,因此不再需要添加空格。同时,为了避免时间序列数值过大导致输入序列过长,文中进行了一些缩放操作,将原始时间序列的值限定在一个较合理的范围内

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

一篇学会大模型浪潮下的时间序列预测图片

上述处理后的数字字符串,输入到大模型中,让大模型自回归的预测下一个数字,最后再将预测出的数字转换成相应的时间序列数值。下图中给出了一个示意图,利用语言模型的条件概率建模数字,就是根据前面的数字预测下一位为各个数字的概率,是一种迭代的层次softmax结构,加上大模型的表征能力,可以适配各种各样的分布类型,这也是大模型可以以这种方式用于时间序列预测的原因。同时,模型对于下一个数字预测的概率,也可以转换成对不确定性的预测,实现时间序列的不确定性预估。

一篇学会大模型浪潮下的时间序列预测图片

在另一篇名为“TIME-LLM: TIME SERIES FORECASTING BY REPROGRAMMING LARGE LANGUAGE MODELS”的文章中,作者提出了一种重新编程的方法,将时间序列转化为文本,以实现时间序列和文本这两种形式之间的对齐

Mapify
Mapify

Mapify是由Xmind推出的AI思维导图生成工具,原名ChatMind

下载

具体实现方法为,首先将时间序列分成多个patch,每个patch通过MLP得到一个embedding。然后,将patch embedding映射到语言模型中的词向量上,实现时间序列片段和文本的映射和跨模态对齐。文中提出了一种text prototype的思路,将多个词映射到一个prototype,以此来表示一段时间序列patch的语义。例如下图例子中,shot和up两个词映射到红色三角,对应时间序列中短期上升形式子序列的patch。

一篇学会大模型浪潮下的时间序列预测图片

3、时间序列大模型

另一个研究方向是参考自然语言处理领域的大模型构建方法,直接构建一个用于时间序列预测的大模型

Lag-Llama: Towards Foundation Models for Time Series Forecasting这篇文章搭建了时间序列中的Llama模型。核心包括特征层面和模型结构层面的设计。

在特征方面,文中提取了多尺度多类型的lag feature,主要是原始时间序列不同时间窗口的历史序列统计值。这些序列作为额外的特征输入到模型中。在模型结构方面,NLP中的LlaMA结构,核心是Transformer,对其中的normalization方式和position encoding部分做了优化。最后的输出层,使用多个head拟合概率分布的参数,例如高斯分布就拟合均值方差,文中采用的是student-t分布,输出freedom、mean、scale三个对应参数,最后得到每个时间点的预测概率分布结果。

一篇学会大模型浪潮下的时间序列预测图片

另一项类似的工作是TimeGPT-1,该模型构建了时间序列领域的GPT模型。在数据训练方面,TimeGPT采用了大量的时间序列数据,总共达到了100亿个数据样本点,涉及多种类型的领域数据。在训练过程中,采用更大的批量大小和更小的学习率来提高训练的鲁棒性。模型主要结构为经典的GPT模型

一篇学会大模型浪潮下的时间序列预测图片

通过下面的实验结果也可以看出,在一些零样本学习任务中,这种时间序列预训练大模型相比基础的模型都取得了显著的效果提升。

一篇学会大模型浪潮下的时间序列预测图片

4、总结

这篇文章介绍了大模型浪潮下的时间序列预测研究思路,整体包括直接利用NLP大模型做时间序列预测,以及训练时间序列领域的大模型。无论哪种方法,都向我们展现了大模型+时间序列的潜力,是一个值得深入研究的方向。

相关专题

更多
js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

251

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

206

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1436

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

609

2023.11.24

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

547

2024.03.22

php中定义字符串的方式
php中定义字符串的方式

php中定义字符串的方式:单引号;双引号;heredoc语法等等。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

539

2024.04.29

go语言字符串相关教程
go语言字符串相关教程

本专题整合了go语言字符串相关教程,阅读专题下面的文章了解更多详细内容。

158

2025.07.29

c++字符串相关教程
c++字符串相关教程

本专题整合了c++字符串相关教程,阅读专题下面的文章了解更多详细内容。

77

2025.08.07

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

150

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Django 教程
Django 教程

共28课时 | 2.7万人学习

Go 教程
Go 教程

共32课时 | 3.2万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 1.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号