PromptCast:基于提示学习的时序预测模型!

目前时序预测的SOTA模型大多基于Transformer架构,以数值序列为输入,如下图的上半部分所示,通过多重编码融合历史数据信息,预测未来一定窗口内的序列数值。

受到大语言模型提示工程技术的启发,文章提出了一种时序预测新范式,即通过一定的提示词模版将数值输入转化为语句,利用大语言模型进行预测,把时序预测转变成了一个对话任务,如下图的下半部分所示。同时,文章公开了数据集(PISA)用于评估所提出算法的性能。

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

代码地址:https://github.com/HaoUNSW/PISA
图片

技术交流

技术要学会分享、交流,不建议闭门造车。一个人走的很快、一堆人可以走的更远。

大模型学习资料、数据代码、技术交流提升, 均可加知识星球交流群获取,群友已超过2000人,添加时切记的备注方式为:来源+兴趣方向,方便找到志同道合的朋友。

方式①、添加微信号:mlc2060,备注:技术交流
方式②、微信搜索公众号:机器学习社区,后台回复:技术交流

在这里插入图片描述
数据集介绍

PISA数据集包含三个实际场景的数据,分别是:天气预报数据、电力负荷预测数据和人类活动预测数据。

  • 天气预报数据集来自网站:https://academic.udayton.edu/kissock/http/Weather/default.htm,PISA从中随机选择了110个城市的每日平均温度(以华氏度为单位)。

  • 电力负荷数据(ECL)来自网站:https://archive.ics.uci.edu/ml/datasets/ElectricityLoadDiagrams20112014,原始数据包含321个用户每小时的电力消耗数据(以千瓦时为单位),作者剔除了那些记录不完整的用户数据,并从中随机选择了50个记录完整的用户数据。

  • SafeGraph人类活动数据(SG)来自SafeGraph Weekly Patterns3记录的每日访问POI的访客数,随机选择了324个记录完整的POI15个月的访客数。

图片

作者依次将上述数据集按照7:1:2的比例,沿时间轴划分成了训练、验证和测试数据集,同时采用滑窗的方式构建样本(基于15个历史样本预测下一个时刻的值)。为了区分数值数据和为语言模型处理的基于语言的数据集,通过上述滑动窗口处理的数值序列称作PISA-numerical,整个数据集包含三十万左右的样本点。作者对所有的数据都进行了脱敏处理,避免信息泄漏。

此时构建的PISA-numerical并不能直接送入语言模型中进行预测,文章进一步利用templeta实现data-to-text的转变,具体使用的模版如下,这里就不过多阐述。可以看到通过如下的转变,预测样本转变了一问一答的形式,符合语言模型输入输出的形式。

图片

模型与实验

文章的实验设计围绕如下两个问题展开:

  • RQ1: 能否使用语言模型在PromptCast任务设置下预测时间序列?与传统基于数值的时间序列预测方法相比,基于语言模型的性能如何?

  • RQ2: 使用提示以及语言生成模型进行时间序列预测能否实现更好的泛化能力?

除了使用RMSE和MAE作为评价指标,文章考虑到语言模型的推理过程存在不确定性,无法保证每个测试实例都能能解码出数值引入了缺失率作为一项评估指标,定义为,其中和分别是测试集中的实例总数和能成功解码预测值的实例数,缺失率越小对应更好的性能。

在语言模型部分,文章选取了10个语言模型进行对比验证,包括T5、Bart、BERT、RoBERTa、Electra、Bigbird、ProphetNet、LED、Blenderbot和Pegasus。传统数值预测方法部分,文章选取了3种简单的预测方法:复制昨天(CY)、历史平均(HA)和复制上周(CLW)。基于深度学习的数值预测模型:文章选取了AutoARIMA,LSTM,TCN,vanilia Transformer,Informer、Autoformer,FEDformer。

数值模型和语言模型的结果如下:

图片其中只有基于transformer的模型可以采用不同的方式构造temporal embedding(position embedding),这里文章对比了三种不同temporal embedding的效果,其中fixed embedding展现出最好的效果。

图片

对于所有的语言模型,均使用的是由HuggingFace提供的现成的预训练权重进行初始化。其中,这些预训练权重是用通用英语语料库数据集,如BookCorpus、CC-News和OpenWebText等训练的,这些数据集通常收集的是一般文章,并不包括时间序列的数据,PISA虽是公开数据集,但仅可在线获取csv格式数据,这保证了语言模型预训练过程中没有使用PISA数据集,避免了文本泄漏。在实验中,每个语言模型均使用了PISA中对对应的训练集进行微调。对比不同的语言模型,Bigbird展现出最佳性能。对比数值模型和语言模型,语言模型在CT和ECL子集均展现出更好的性能,在SG上也达到了与数值模型差不多的结果。除了BERT、Electra、Bigbird、ProphetNet,其他语言模型的缺失率均为0,成功解码出包含数值的回复。这部分实验回复了作者提出的第一个问题,即通过promptcast的方式,语言模型是能够进行时间序列预测任务,并且能够达到跟数值预测模型不相上下的结果。

接着作者进一步测试了在零样本(用两个数据集训练或微调,用另一个数据集做测试)和从头开始用PISA数据集训练语言模型两种不同设定下,数值模型和语言模型的对比效果。

图片

大部分数值模型在零样本设定下表现出较差的性能,相反不论是从头开始训练还是零样本微调,三个语言模型都表现出不错的效果,具有更好的泛化性能。

总结

文章将时序数据转变成文本数据,将时序预测任务转变成对话预测任务,利用语言模型实现了时序数据预测,也通过不同实验验证了语言模型在时序预测任务的有效性和泛化性。同时,文章构建了首个基于提示词的时序预测任务数据集。

为什么语言模型能够进行时序预测,作者认为通过提示词,语言模型可以很好地使用辅助信息,如一天中的时间和场景语义信息,同时更好地理解这些辅助信息与时序数据间的关系,有助于提升预测性能。

同时,作者也希望本文的探索能够为其他研究者提供有关后续研究的启发,例如如何生成适合数值数据的文本提示,固定的模板可能导致偏见。为此,是否可以通过语言模型自动生成对时序数据的描述。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/327717.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FastDFS实战

目录 目标 版本 环境 官方文档 相关概念 安装FastDFS 启动FastDFS 关闭FastDFS 重启FastDFS 用命令测试上传文件 用命令测试下载文件 用命令测试删除文件 用HTTP的方式访问FastDFS中的文件 用HTTP的方式访问FastDFS中的文件整体流程 目标 在Linux服务器上搭建Fa…

二分查找算法(指定数值的左右边界)

之前一直以为二分查找有什么难的,不就是确定左右边界,然后while循环求mid,大于mid的找右半边,小于mid的找左半边。直到最后相同了就是最后查找的结果了. 后来等真正用到二分查找算法的时候,发现问题远没有这么简单&…

代码随想录算法训练营第二十天| 回溯 理论基础 77. 组合

理论基础 回溯是一种搜索的方式。回溯是递归的副产品,只要有递归就会有回溯,回溯函数也是递归函数,指的是一个函数。 回溯法并不是什么高效的算法。因为回溯的本质是穷举,穷举所有可能,然后选出我们想要的答案&#…

回顾基础--HTML篇

HTML语法规范 <html></html> 开始标签与结束标签 <br /> 单标签 包含关系 <head><title></title> </head>并列关系 <head></head> <body></body> 1、 标题标签 标题标签 【双标签】 <h1> ~ &…

Linux离线安装MySQL(rpm)

目录 下载安装包安装MySQL检测安装结果服务启停MySQL用户设置 下载安装包 下载地址&#xff1a;https://downloads.mysql.com/archives/community/ 下载全量包如&#xff1a;(mysql-8.1.0-1.el7.x86_64.rpm-bundle.tar) 解压&#xff1a;tar -xzvf mysql-8.1.0-1.el7.x86_64.…

18.标题统计

题目 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);String str sc.nextLine();int res 0;for(int i0;i<str.length();i) {char c str.charAt(i);if(c! && c!\n) {res;}}System.o…

【Docker】创建,查看,进入容器

目录 方式一&#xff1a; 创建 查看 ​编辑 方式二&#xff1a; 创建 查看 进入容器 方式一&#xff1a; 首先查看有什么镜像 创建 docker run -i -t --namefreedom centos:7 /bin - i 表示容器一直运行着&#xff0c;容器如果没有客户端连接就会关闭&#xff0c;加了…

【动态规划】【字符串】C++算法:140单词拆分

作者推荐 【动态规划】【字符串】扰乱字符串 本文涉及的基础知识点 动态规划 字符串 LeetCode140:单词拆分 II 给定一个字符串 s 和一个字符串字典 wordDict &#xff0c;在字符串 s 中增加空格来构建一个句子&#xff0c;使得句子中所有的单词都在词典中。以任意顺序 返回…

【2058错误】sql软件链接数据库 mysql 报错误2058

【2058错误】sql软件链接数据库报错误2058 操作&#xff1a;仅需在mysql登陆之后运行一行代码即可&#xff1a;注意1.后面必须是%&#xff0c;而不是别人说的 localhost2.此处的password是你自己的mysql密码。 操作&#xff1a;仅需在mysql登陆之后运行一行代码即可&#xff1a…

AI与5G、IDC等成为数字经济的重要基础设施

AI与5G、IDC等已经成为数字经济的重要基础设施&#xff0c;它们的影响和作用不容忽视。随着技术的迅速发展&#xff0c;AI在各行各业都得到了广泛应用&#xff0c;并成为数字经济的核心驱动力之一。 首先&#xff0c;AI的兴起为数字经济带来了巨大的机遇。AI技术可以帮助企业从…

Redis(Nosql数据库)

目录 一.SQL 与 NoSQL 的区别&#xff1f; 二.Redis Redis 为什么那么快&#xff1f; 三.Redis的安装 安装redis&#xff1a; 创建redis工作目录&#xff1a; 修改redis配置文件&#xff1a; redis-cli 命令行工具&#xff1a; redis-benchmark 测试工具&#xff1a; …

【计算机病毒传播模型】报告:区块链在车联网中的应用

区块链在车联网中的应用 写在最前面题目 - 26 车联网安全汇报演讲稿-删减2后&#xff0c;最终版&#xff08;1469字版本&#xff09;汇报演讲稿-删减1后&#xff08;2555字版本&#xff09;汇报演讲稿-删减前&#xff08;3677字版本&#xff09;1 概述1.1 车联网1.2 区块链1.3 …