时序必读论文15|TimeXer:通过外部变量增强Transformer在时间序列预测中的能力

news2024/12/21 19:56:35

图片

论文标题:TimeXer: Empowering Transformers for Time Series Forecasting with Exogenous Variables

论文链接:https://arxiv.org/abs/2402.19072

前言

仅仅关注内生变量,通常不足以保证准确的预测,外部序列可以为内生变量提供有价值的外部信息。先前的多变量或单变量预测方法要么将所有变量平等对待,要么忽视外部信息,本文提出TimeXer框架,利用外部信息来增强内生变量的预测。TimeXer相较于Transformer架构,具备调节内生和外生信息的能力,特别是设计了patch自注意力和variate交叉注意力机制。此外,TimeXer还采用了一个全局内生变量token来将外部序列桥接到内生时间patch中。实验结果表明,TimeXer在带有外部变量的时间序列预测方面显著提升了性能,并在十二个真实世界预测基准测试中取得了领先的性能。

这里首先给出内生和外生变量的概念定义:内生时间序列代表需要预测的值,而外部变量是影响内生序列的额外因素。这些外部变量可能包含与内生序列相关的各种信息,如季节性因素、经济指标、政策变化等,它们可以对内生序列的走势产生重要影响。

本文工作

01、背景介绍

图片

如图1所示,现有的预测范式可以大致归纳为三个不同的类别。与单变量和多变量预测相比,带有外部变量的预测引入了辅助信息以促进内生变量的预测。外部变量在实际应用中普遍存在且不可或缺,因为时间序列数据的变化常常受到外部因素的影响,如经济指标、人口变化和社会事件。例如,电价高度依赖于市场的供需情况,仅基于历史数据来预测未来价格几乎是不可能的。结合外部因素可以更全面地理解各变量之间的相互关系和因果关系,从而提高预测的性能、可靠性和可解释性。

带有外部变量的预测面临着独特的挑战。首先,时间序列往往受到多种因素的影响,这要求模型能够调和内生变量与外部变量之间的差异和依赖关系。将外部变量与内生变量同等对待不仅会导致显著的时间和内存复杂度,还会涉及从内生序列到外部信息的不必要交互。其次,外部因素对内生序列的影响可能是连续的和具有时滞性的。现实世界场景中的时间序列往往是不规则的,外部变量可能会遇到数据缺失、长度不一致和采样时间不一致等问题。

这里引出:基于Transformer的预测器最初并不是为带有外部变量的预测而设计的。以PatchTST为代表的现有变量独立模型仅能够捕捉时间依赖关系,但无法捕捉多元相关性。

02、TimeXer

图片

如图所示,TimeXer在不修改任何组件的情况下重新利用了标准的Transformer架构,其中引入了变量嵌入和patch嵌入来处理外部变量和内生变量之间的差异。TimeXer采用了标准的自注意力和交叉注意力机制来分别捕捉时间依赖性和变量依赖性。

Variate Embedding。TimeXer采用了一种变量嵌入方法,将每个序列嵌入为一个变量token,可以总结如下:

  • 内生变量嵌入:对于内生时间序列x_1:L,将其视为一个整体,并应用一个嵌入层(如线性层或嵌入查找表)将其嵌入为一个固定大小的向量e_x,该向量表示整个内生序列的全局特征。

  • 外部变量嵌入:对于每个外部变量序列z_1:L'^{(i)}(其中i从1到C),、应用相同的嵌入层将其嵌入为一个固定大小的向量e_z^{(i)}。这样,就为每个外部变量序列都获得了一个全局表示。

  • 嵌入融合:在获得内生变量和外部变量的嵌入之后,通过将所有嵌入向量拼接(concatenation),或者使用注意力机制将它们融合,以捕捉它们之间的相互作用。

通过这种方法,TimeXer能够利用序列的全局表示来建模内生变量和外部变量之间的相互作用,同时避免了由于使用过于细粒度的表示而引入的噪声和计算复杂度。

Patch Embedding。内生序列被分割成非重叠的patch,并且每个patch都被映射为一个时间token。内生变量的patch嵌入可以表示为:

图片

PatchEmbed()函数通过一个可训练的线性投影和位置嵌入将每个长度为P的patch映射到D维空间。

Patch-wise Self-Attention。TimeXer对所有内生token应用注意力机制,以捕获patch间的依赖关系。具体来说,内生变量的嵌入向量包含多个patch token(P)和变量token(V),其中变量token 是全局token,提供了全局视图以及与外生变量的交互。这个过程可以形式化为:

图片

Variate-wise Cross-Attention。在TimeXer中,采用交叉注意力来对内生和外生变量的序列级依赖性进行建模。交叉注意力层将内生变量作为查询(query),将外生变量作为键(key)和值(value),以建立两种类型变量之间的联系,。这个过程可以形式化为:

图片

实验和结论

图片

图片

整体读下来,这篇和Itransformer是一样的风格,故事讲的好,模型并不复杂,相比讲故事好重要~

按照作者的说法,考虑到外生变量在现实世界预测场景中的普遍性,TimeXer赋予了经典的Transformer架构无需结构性修改就能整合内生和外生信息的能力,能够捕捉内生时间依赖性以及内生和外生变量之间的多元相关性。实验结果表明,TimeXer在包含外生变量的短期和长期预测任务中都实现了最先进的性能。



大家一定要关注我的公众号【科学最top】,第一时间follow时序高水平论文解读!!!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MongoDB 副本集搭建 【docker compose + 本机部署】【建议收藏起来】

什么是副本集 MongoDB副本集(Replica Set)是一种数据冗余和故障恢复机制,它允许你维护相同数据的一个或多个副本,并提供自动故障转移和数据恢复能力。副本集是一个包含多个MongoDB实例(通常称为成员)的集合…

Linux学习笔记(一):Linux学习环境的安装及远程连接工具的使用

Linux学习笔记(一):Linux学习环境的安装及远程连接工具的使用 本地安装虚拟机 1.安装VMWare(点击图片跳转下载) 2.安装CentOS7光盘源(点击图片下载) 3.安装 一路点下一步 点击确认 等待不要动,可能有点久,直到这个…

【内网渗透】最保姆级的春秋云镜Flarum打靶笔记

目录 flag1 flag3 flag4​ flag2 flag1 扫外网 打的是flarum论坛,p牛之前有写过phar反序列化的利用: 从偶遇Flarum开始的RCE之旅 rockyou.txt爆出administrator/1chris,登录 用这个工具生成phar包 https://github.com/ambionics/p…

【Python报错已解决】IndexError: index 0 is out of bounds for axis 1 with size 0

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 专栏介绍 在软件开发和日常使用中,BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

springboot整合seata

一、准备 docker部署seata-server 1.5.2参考&#xff1a;docker安装各个组件的命令 二、springboot集成seata 2.1 引入依赖 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-seata</artifactId>&…

helm部署ingress-nginx

helm部署ingress-nginx 19/100 保存草稿 发布文章 sj1163739403 未选择任何文件 ingress-nginx是管理南北向流量很好的一个工具&#xff0c;可以避免在云端频繁对LB进行配置&#xff0c;通过Label也可以实现让ingress-nginx都部署在指定的NodeGroup 一、helm安装ingress-nginx…

数据管理_DM的实现

DataManager 的实现 DataManager 是数据库系统中的核心组件&#xff0c;负责管理底层数据的访问、修改和事务处理。它是 DM 层直接对外提供方法的类&#xff0c;用来对上层其他模块提供数据操作的API的,同时也实现了对 DataItem 对象的缓存管理。DataItem 存储的 key 是由页号…

使用root账号ssh登录虚拟机ubuntu

在C:\Users\Administrator\.ssh目录下的config中&#xff0c;添加ubuntu会在根目录中&#xff0c;建立一个root文件夹。在该文件夹中建一个.ssh目录。像免密登录ubuntu设置中&#xff0c;把公钥考进去。在vscode中打开文件夹中选择要打开的文件夹&#xff0c;就可以不需要在ubu…

fiddler抓包14_自动重定向

课程大纲 重定向&#xff08;Redirect&#xff09;&#xff1a;将网络请求重新定向到其他位置。 按重定向方式分为&#xff1a;网页重定向、域名重定向、接口重定向…… 按持续时间分为&#xff1a;永久重定向、临时重定向。 ① 永久重定向&#xff0c;HTTP 301&#xff08;Mov…

Python或R时偏移算法实现

&#x1f3af;要点 计算单变量或多变量时序距离&#xff0c;使用欧几里得、曼哈顿等函数量化不同时序差异。量化生成时序之间接近度相似性矩阵。使用高尔距离和堪培拉距离等相似度测量。实现最小方差匹配算法&#xff0c;绘制步进模式的图形表示。其他语言包算法实现。 &…

D24【 python 接口自动化学习】- python 基础之判断与循环

day24 while循环 学习日期&#xff1a;20241001 学习目标&#xff1a;判断与循环--34 while循环&#xff1a;需要多次重复执行某段程序时&#xff0c;怎么做&#xff1f; 学习笔记&#xff1a; 循环结构简介 while循环语法 代码实现 循环的退出方法 执行出错&#xff0c;异…

复合系统推文

今天推出的是复合系统协调度这个模型的工具。 参考文献:《“干线公路—城市结点”复合系统协调度分析模型》 复合系统整体协调度模型以协同学的序参量原理和役使原理为基础&#xff0c;模型的参变量选择是模型合理性的前提&#xff0c; 重点选择在整个系统发展演变过程中起主…

CSP-J模拟赛(1)补题报告

前言&#xff1a; 1.交替出场&#xff08;alter) &#xff1a;10 2.翻翻转转&#xff08;filp)&#xff1a;0 3.方格取数&#xff08;square&#xff09;&#xff1a;0 4.圆圆中的方方&#xff08;round)&#xff1a;0 总结一下&#xff1a; 第一次考&#xff0c;没爆零就是胜…

锂电池SOC估计 | Matlab基于BP神经网络的锂电池SOC估计

锂电池SOC估计 | Matlab基于BP神经网络的锂电池SOC估计 目录 锂电池SOC估计 | Matlab基于BP神经网络的锂电池SOC估计预测效果基本描述程序设计参考资料 预测效果 基本描述 锂电池SOC估计 | Matlab基于BP神经网络的锂电池SOC估计 运行环境Matlab2023b及以上。 要实现基于BP神…

鼓组编曲:鼓编写技巧之进鼓加花编写

为了方便快速查阅和运用一些教程笔记&#xff0c;个人记性有时可能不是特别好&#xff0c;所以只能疯狂做笔记了&#xff0c;制作以下图文笔记&#xff0c;仅供参考…… 鼓组加花 鼓的变动 进鼓后然后就可以动次打次了 下面是2个底鼓的加花

基于投影滤波算法的rick合成地震波滤波matlab仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 RICK合成地震波模型 4.2 投影滤波算法原理 5.完整工程文件 1.课题概述 基于投影滤波算法的rick合成地震波滤波matlab仿真。分别通过标准的滤波投影滤波以及卷积滤波投影滤波对合成地震剖面进行滤波…

SQL第10课挑战题

1. 从OrderItems表中返回每个订单号order_num各有多少行数order_lines&#xff0c;并按order_lines对结果进行排序 2. 返回名为cheapest_item的字段&#xff0c;该字段包含每个供应商成本最低的产品&#xff08;使用products表中的prod_price)&#xff0c;然后从最低成本到最高…

Redis篇(缓存机制 - 基本介绍)(持续更新迭代)

目录 一、缓存介绍 二、经典三缓存问题 1. 缓存穿透 1.1. 简介 1.2. 解决方案 1.3. 总结 2. 缓存雪崩 2.1. 简介 2.2. 解决方案 2.3. 总结 3. 缓存击穿 3.1. 简介 3.2. 解决方案 3.3. 总结 4. 经典三缓存问题出现的根本原因 三、常见双缓存方案 1. 缓存预热 1…

MQ高级:RabbitMQ小细节

在之前的学习中&#xff0c;我们只介绍了消息的发送&#xff0c;但是没有考虑到异常的情况&#xff0c;今天我们就介绍一些异常情况&#xff0c;和细节的部分。 目录 生产者可靠性 生产者重连 生产者确认 MQ可靠性 持久化 Lazy Queue 消费者可靠性 消费者确认机制 失…

LoadRunner实战测试解析:记录一次性能测试过程

环境准备 PC&#xff1a; Windows7/XP LoadRunner11&#xff1a; 与win10及以上版本不兼容 Nmon&#xff1a; 性能监控工具&#xff0c;部署到被测服务器 LoadRunner破解安装 下载地址&#xff1a;https://pan.baidu.com/s/1WJjcFWhrkWW-GgYwXdEniQ 提取码&#xff1a;f4z…