AI论文速读 | TimeXer:让 Transformer能够利用外部变量进行时间序列预测

题目: TimeXer: Empowering Transformers for Time Series Forecasting with Exogenous Variables

作者:Yuxuan Wang ; Haixu Wu(吴海旭) ; Jiaxiang Dong ; Yong Liu ; Yunzhong Qiu ; Haoran Zhang ; Jianmin Wang(王建民) ; Mingsheng Long(龙明盛)

机构:清华大学

网址:https://arxiv.org/abs/2402.19072

Cool Paper:https://papers.cool/arxiv/2402.19072

关键词:时间序列预测,外部(外部)变量,Transformer

标题和作者
🌟【紧跟前沿】“时空探索之旅”与你一起探索时空奥秘!🚀
欢迎大家关注时空探索之旅时空探索之旅QRCode

摘要

最近的研究已经展现了时间序列预测显着的性能。 然而,由于现实世界应用的部分观察性质,仅仅关注感兴趣的目标,即所谓的内部变量(endogenous variables),通常不足以保证准确的预测。 值得注意的是,一个系统通常被记录为多个变量,其中外部序列可以为内部变量提供有价值的外部信息。 因此,与之前成熟的多元或单变量预测不同,本文要么平等地对待所有变量,要么忽略外部信息,而本文重点关注一个实际场景,即**外部变量(exogenous variables)**的时间序列预测。 提出了一个新的框架——TimeXer,利用外部信息来增强内部变量的预测。 凭借巧妙设计的嵌入层,TimeXer 使规范的 Transformer 架构能够协调内源和外源信息,其中采用了 patch-wise self-attention 和 variate-wise cross-attention。 此外,采用全局内部变量tokens来有效地将外部序列桥接到内部时间补丁中。 在实验上,TimeXer 显着改进了外部变量的时间序列预测,并在12 个现实世界预测基准中实现了一致的最先进性能。

不同预测范式(单变量,多变量,外部辅助信息)

Q: 这篇论文试图解决什么问题?

A: 这篇论文试图解决的问题是如何有效地结合内部变量(endogenous variables)和外部变量(exogenous variables)来进行时间序列预测。在现实世界的应用中,时间序列数据往往受到多种因素的影响,其中外部变量可以提供有价值的外部信息来辅助内部变量的预测。然而,现有的时间序列预测方法要么平等对待所有变量,要么忽视外部信息,这在预测准确性和解释性方面存在局限性。为了解决这一问题,论文提出了一个名为TimeXer的新型框架,旨在利用外部变量的外部信息来增强内部变量的预测性能。

Q: 有哪些相关研究?

A: 相关研究包括以下几个方面:

  1. 时间序列预测模型:近年来,深度学习模型在时间序列分析领域取得了显著进展。这些模型可以分为基于RNN、CNN、MLP和Transformer的模型。例如,LSTNet、DeepAR等基于RNN的模型适用于处理序列时间数据,但受限于梯度消失和效率问题。TimesNet、SCINet等基于CNN的模型通过卷积核增强时间序列建模。N-BEATS、DLinear等基于MLP的模型在时间序列社区中也表现出竞争力。
  2. Transformer在时间序列预测中的应用:Transformer因其在自然语言处理和计算机视觉领域的成功而被引入到时间序列数据中。Transformer模型根据表示学习的粒度可以分为点级、块级和序列级。例如,Informer、Autoformer、Pyraformer等模型通过不同的注意力机制来捕获时间序列数据中的相关性。
  3. 外部变量在时间序列预测中的应用:在经典统计方法中,外部变量已被广泛讨论并纳入模型输入。例如,ARIMAX和SARIMAX模型结合了外部和内部变量的相关性。尽管深度学习模型在时间序列建模方面取得了进展,但大多数现有模型在处理外部变量时仍然面临挑战,如数据缺失、采样不一致等问题。
  4. 时间序列预测的变体:例如,Temporal Fusion Transformer (TFT)、NBEATSx和TiDE等模型尝试在预测内部变量时考虑外部变量的未来值。这些方法通常将外部特征与内部特征在每个时间点上连接起来,然后映射到潜在空间,这要求内部和外部序列在时间上对齐。
  5. 时间序列表示学习:研究者们探索了不同层次的表示学习,以捕获时间序列数据中的复杂依赖关系。例如,Crossformer通过两阶段注意力机制来捕获跨时间和跨变量的依赖性。iTransformer利用全局序列表示来捕获多变量相关性。

这些相关研究为TimeXer框架的提出提供了理论基础和技术支持,TimeXer通过结合这些研究成果,旨在更好地利用外部变量信息来提高时间序列预测的准确性和可靠性。

不同级别(粒度)的时间序列表示:点级别,patch级别,序列级别

Q: 论文如何解决这个问题?

A: 论文通过提出一个名为TimeXer的新型框架来解决时间序列预测中结合内部变量和外部变量的问题。TimeXer的设计和实现包括以下几个关键点:

  1. 嵌入层设计:TimeXer通过精心设计的嵌入层,使得Transformer能够处理外部变量。这包括为内部变量和外部变量分别设计不同的嵌入策略,以捕获它们在时间序列中的作用。
  2. 自注意力和交叉注意力:TimeXer采用自注意力机制来捕获内部变量的内在时序依赖性,同时使用交叉注意力机制来建模内部变量和外部变量之间的多变量相关性。
  3. 全局内部变量token:为了有效地将外部序列的信息桥接到内部时间序列,TimeXer引入了一个全局内部变量token,这有助于在预测过程中整合外部信息。
  4. 实验验证:论文通过在多个真实世界的时间序列预测基准上进行广泛的实验,证明了TimeXer在利用外部信息进行预测方面优于其他模型,并实现了一致的最先进性能。
  5. 模型效率和可解释性:TimeXer在保持预测性能的同时,还关注模型的效率和可解释性。通过可视化注意力图和分析表示学习,TimeXer提供了对模型预测行为的深入理解。
  6. 扩展到多变量预测:TimeXer的设计允许它扩展到多变量预测场景,其中每个变量都可以被视为内部变量,而其他所有变量作为外部变量来辅助预测。

通过这些方法,TimeXer能够有效地结合内部和外部变量的信息,提高了时间序列预测的准确性,并在多个预测任务中取得了优异的性能。

!TimeXer
(a) 内部序列嵌入:patch嵌入和变量嵌入都用于内部变量,分别获得多个时间tokens和一个变量token。

(b) 外部序列嵌入:每个外部变量通过变量嵌入作为变量token嵌入。

© 内部自注意力:将自注意力应用于内生时间token以捕获补丁式依赖关系。

(d) 内外交叉注意力了:采用交叉注意力来对内生和外生变量的序列级依赖性进行建模。

外部变量的融合核心:外部embedding与内部变量做交叉注意力(cross-attention)

Q: 论文做了哪些实验?

数据集(内部变量数为1,对应多个外部变量)

短时预测

长时预测

A: 论文进行了一系列实验来验证TimeXer模型的有效性和性能,主要包括以下几个方面:

  1. 数据集选择:实验涵盖了多个真实世界的时间序列数据集,包括短期和长期预测任务。这些数据集涉及电力市场、气候、交通等多个领域,以全面评估TimeXer在不同场景下的表现。
  2. 基线模型:与多个最先进的深度学习时间序列预测模型进行比较,包括Transformer基线模型(如iTransformer、PatchTST、Crossformer等)和其他类型的模型(如CNN基线的TimesNet、SCINet,以及基于线性模型的RLinear、DLinear、TiDE等)。
  3. 预测性能评估:通过计算不同的预测性能指标(如均方误差MSE和平均绝对误差MAE)来评估TimeXer在不同预测长度下的表现,并与基线模型进行比较。
  4. 消融研究:进行了一系列消融实验来分析模型的不同组成部分对预测性能的影响,例如改变嵌入层的设计、调整补丁长度、以及分析交叉注意力和自注意力的作用。
  5. 模型效率分析:评估TimeXer在训练速度和内存使用方面的效率,并与基线模型进行比较。
  6. 表示学习分析:使用中心核对齐(CKA)相似性分析来评估TimeXer学习到的表示的质量,并与基线模型进行比较。
  7. 可视化分析:可视化了学习到的注意力图,以展示模型如何区分与内部变量相关和不相关的外部变量,从而提供模型预测的可解释性。
  8. 多变量预测扩展:将TimeXer扩展到多变量预测任务,并在现有的多变量时间序列预测基准上进行评估。

通过这些实验,论文展示了TimeXer在处理包含外部变量的时间序列预测任务时的有效性,以及其在不同预测任务和数据集上的优越性能。

消融实验

外部变量不同缺失率比较

外部变量缺失率提高,效果变差——外部变量有用

时间token和变量token的有效性验证

TimeXer与SOTA在不同数据集的性能比较

Q: 有什么可以进一步探索的点?

A: 尽管TimeXer在时间序列预测方面取得了显著的成果,但仍有一些潜在的研究方向可以进一步探索:

  1. 模型泛化能力:研究TimeXer在不同领域和更大规模数据集上的泛化能力,以及如何调整模型以适应新的预测任务。
  2. 计算效率优化:尽管TimeXer在预测性能上表现出色,但Transformer模型通常计算成本较高。探索更高效的算法和技术,如稀疏注意力机制,以减少计算资源消耗。
  3. 不确定性量化:在预测结果中引入不确定性估计,为决策提供更全面的信息。研究如何量化模型预测的不确定性,并将其应用于实际问题。
  4. 多任务学习:考虑将时间序列预测与其他相关任务(如异常检测、模式识别等)结合起来,通过多任务学习提高模型的整体性能。
  5. 长期依赖性建模:研究如何更好地捕捉时间序列数据中的长期依赖性,特别是在面对非线性和季节性模式时。
  6. 可解释性和透明度:进一步提高模型的可解释性,通过可视化和其他方法帮助用户理解模型的预测决策过程。
  7. 数据不平衡和缺失处理:研究如何处理不平衡数据和缺失值问题,这些问题在现实世界的时间序列数据中很常见。
  8. 实时预测和在线学习:探索TimeXer在实时预测场景中的应用,以及如何实现在线学习和快速适应新数据。
  9. 跨领域知识迁移:研究如何利用跨领域的知识迁移来提高模型在新领域的预测性能,尤其是在数据量有限的情况下。
  10. 集成学习和模型融合:考虑将TimeXer与其他预测模型结合,通过集成学习和模型融合技术提高预测的准确性和鲁棒性。

这些研究方向不仅可以推动时间序列预测技术的发展,还可以为实际应用提供更强大的工具和方法。

Q: 总结一下论文的主要内容

A: 这篇论文提出了一个名为TimeXer的新型框架,旨在增强Transformer模型在时间序列预测中对内部变量的预测能力,同时有效地利用外部变量提供的额外信息。以下是论文的主要内容总结:

  1. 问题定义:在现实世界的时间序列预测中,内部变量(目标变量)通常受到多种外部变量(外部因素)的影响。现有的预测方法要么平等对待所有变量,要么忽视外部信息,这限制了预测的准确性和可靠性。
  2. TimeXer框架:为了解决这一问题,论文提出了TimeXer,这是一个无需修改Transformer架构组件的新型框架。TimeXer通过设计嵌入层,使得Transformer能够处理外部变量,并通过自注意力和交叉注意力机制捕获内部和外部变量之间的依赖关系。
  3. 模型设计:TimeXer采用了变体的嵌入策略,包括序列级嵌入(variate embedding)和非重叠补丁级嵌入(patch embedding),以捕获时间序列数据的不同层次的表示。
  4. 实验验证:在多个真实世界的时间序列预测任务上,TimeXer在短期和长期预测中均取得了一致的最先进性能。实验结果表明,TimeXer能够更好地利用外部信息来提高预测准确性。
  5. 消融研究:通过消融实验,论文验证了TimeXer中不同组件的有效性,包括嵌入策略、注意力机制等。
  6. 模型效率和可解释性:TimeXer在保持预测性能的同时,还关注模型的效率和可解释性。通过可视化注意力图和分析表示学习,提供了对模型预测行为的深入理解。
  7. 多变量预测扩展:TimeXer的设计允许它扩展到多变量预测场景,展示了其在更广泛时间序列分析任务中的潜力。
  8. 结论:TimeXer通过巧妙地设计嵌入策略和注意力机制,成功地将外部变量的信息整合到时间序列预测中,提高了预测的准确性,并在多个预测任务中实现了最先进性能。此外,TimeXer在处理包含外部变量的复杂真实世界预测场景中展示了其潜力。

完整实验结果

完整数据集描述

利用外部变量的长时预测

多元长时预测

完整消融实验

8)]

[外链图片转存中…(img-gjiFeLyy-1709614603668)]

[外链图片转存中…(img-8uIVrNei-1709614603668)]

[外链图片转存中…(img-nAJrpP2k-1709614603669)]

性能比较(空间时间效率)

相关链接

AI论文速读 | TimeXer:让 Transformer能够利用外部变量进行时间序列预测
🌟【紧跟前沿】“时空探索之旅”与你一起探索时空奥秘!🚀
欢迎大家关注时空探索之旅时空探索之旅QRCode

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

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

相关文章

Zustand的学习和应用

Zustand 是一个轻量级的状态管理库,适用于 React 应用程序。它以简单易用、高性能和无模板代码的特性受到开发者的喜爱。 https://zustand.docs.pmnd.rs/guides/tutorial-tic-tac-toe 以下是 Zustand 的核心特点和用法简介: Zustand 核心特点 轻量简…

【从零开始的LeetCode-算法】3274. 检查棋盘方格颜色是否相同

给你两个字符串 coordinate1 和 coordinate2,代表 8 x 8 国际象棋棋盘上的两个方格的坐标。 以下是棋盘的参考图 如果这两个方格颜色相同,返回 true,否则返回 false。 坐标总是表示有效的棋盘方格。坐标的格式总是先字母(表示列…

常见问题QA的前端代码

这个的后端代码参见此文 使用语言向量建立常见问题的模糊搜索-CSDN博客https://blog.csdn.net/chenchihwen/article/details/144207262?spm1001.2014.3001.5501 这段代码实现了一个简单的问答页面,页面分为左右两部分,左侧用于展示对话记录&#xff0c…

互联网 Java 面试八股文汇总(2025 最新整理)

我分享的这份 Java 后端开发面试总结包含了 JavaOOP、Java 集合容器、Java 异常、并发编程、Java 反射、Java 序列化、JVM、Redis、Spring MVC、MyBatis、MySQL 数据库、消息中间件 MQ、Dubbo、Linux、ZooKeeper、 分布式 &数据结构与算法等 25 个专题技术点,都…

CTF之密码学(密码特征分析)

一.MD5,sha1,HMAC,NTLM 1.MD5:MD5一般由32/16位的数字(0-9)和字母(a-f)组成的字符串 2.sha1:这种加密的密文特征跟MD5差不多,只不过位数是40(sha256:64位;sha512:128位) 3.HMAC:这…

Linux 入门——基本指令2

目录 1. 通配符的使用 1)基本使用 2) 拓展使用 2. cp 文件拷贝 基本使用 3. mv :文件剪切或者文件重命名 4. more 指令 5. less 指令 6. cat ,more , less 指令的区别 7. head 8. tail 9. date 日期,时间相关的指令 1&…

2024年12月3日Github流行趋势

项目名称:Lobe Chat 项目维护者:arvinxx, semantic-release-bot, canisminor1990, lobehubbot, renovate项目介绍:一个开源的、现代化设计的人工智能聊天框架。支持多种AI提供商(OpenAI / Claude 3 / Gemini / Ollama / Qwen / De…

vue2+cesium初始化地图

目录 1、在vue2项目中下载cesium 2、安装loader 3、更改vue.config.js中的配置 4、main.js中引入 5、App.vue中设置样式 6、新建map.vue 其中代码如下: 7、在App.vue中使用Map组件 8、效果展示: 1、在vue2项目中下载cesium npm install cesium 可…

CTF-PWN: WEB_and_PWN [第一届“吾杯”网络安全技能大赛 Calculator] 赛后学习(不会)

附件 calculate.html <!DOCTYPE html> <html lang"en"> <head><!-- 设置字符编码为 UTF-8&#xff0c;支持多语言字符集 --><meta charset"UTF-8"><!-- 设置响应式视图&#xff0c;确保页面在不同设备上自适应显示 --&…

TYUT设计模式精华版

七大原则 单一职责原则 职责要单一不能将太多的职责放在一个类中 开闭原则 软件实体对扩展是开放的&#xff0c;但对修改是关闭的 里氏代换原则 一个可以接受基类对象的地方必然可以接受子类 依赖倒转原则 要针对抽象层编程&#xff0c;而不要针对具体类编程 接口隔离原则 …

Android 使用OpenGLES + MediaPlayer 获取视频截图

概述 Android 获取视频缩略图的方法通常有: ContentResolver: 使用系统数据库MediaMetadataRetriever: 这个是android提供的类&#xff0c;用来获取本地和网络media相关文件的信息ThumbnailUtils: 是在android2.2&#xff08;api8&#xff09;之后新增的一个&#xff0c;该类为…

论文阅读——量子退火Experimental signature of programmable quantum annealing

摘要&#xff1a;量子退火是一种借助量子绝热演化解决复杂优化问题的通用策略。分析和数值证据均表明&#xff0c;在理想化的封闭系统条件下&#xff0c;量子退火可以胜过基于经典热化的算法&#xff08;例如模拟退火&#xff09;。当前设计的量子退火装置的退相干时间比绝热演…

Vue框架开发一个简单的购物车(Vue.js)

让我们利用所学知识来开发一个简单的购物车 &#xff08;记得暴露属性和方法&#xff01;&#xff01;&#xff01;&#xff09; 首先来看一下最基本的一个html框架 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"&…

瑞芯微方案主板Linux修改系统串口波特率教程,触觉智能RK3562开发板演示

遇到部分串口工具不支持1500000波特率&#xff0c;这时候就需要进行修改&#xff0c;本文以触觉智能RK3562开发板修改系统波特率为115200为例&#xff0c;介绍瑞芯微方案主板Linux修改系统串口波特率教程。 温馨提示&#xff1a;瑞芯微方案主板/开发板串口波特率只支持115200或…

攻防世界-fileclude-文件包含

赛前回顾 1.题目打开后是文件包含的代码&#xff0c;如下 函数作用 highlight_file(__FILE__) //显示代码到网页 isset //检查变量是否存在并且非null(空) !empty //php内置函数&#xff0c;检查变量是否为空或未设置&#xff0c;正常变量为空会触发&#xff0c;但是有个…

039集——渐变色之:CAD中画彩虹()(CAD—C#二次开发入门)

&#xff08;来左边儿 跟我一起画个龙&#xff0c;在你右边儿 画一道彩虹 ~~~~~~~~~~~ &#xff09; 效果如下&#xff1a; 以下展示部分颜色源码&#xff1a; namespace AcTools {public class Class1{public Wform.Timer timer;//定时器需建在类下面public s…

Spark和MapReduce场景应用和区别

文章目录 Spark和MapReduce场景应用和区别一、引言二、MapReduce和Spark的应用场景1. MapReduce的应用场景2. Spark的应用场景 三、MapReduce和Spark的区别1. 内存使用和性能2. 编程模型和易用性3. 实时计算支持 四、使用示例1. MapReduce代码示例2. Spark代码示例 五、总结 Sp…

泛化调用 :在没有接口的情况下进行RPC调用

什么是泛化调用&#xff1f; 在RPC调用的过程中&#xff0c;调用端向服务端发起请求&#xff0c;首先要通过动态代理&#xff0c;动态代理可以屏蔽RPC处理流程&#xff0c;使得发起远程调用就像调用本地一样。 RPC调用本质&#xff1a;调用端向服务端发送一条请求消息&#x…

D87【python 接口自动化学习】- pytest基础用法

day87 pytest运行参数 -m -k 学习日期&#xff1a;20241203 学习目标&#xff1a;pytest基础用法 -- pytest运行参数-m -k 学习笔记&#xff1a; 常用运行参数 pytest运行参数-m -k pytest -m 执行特定的测试用例&#xff0c;markers最好使用英文 [pytest] testpaths./te…

Android 应用单元测试涉及 Telephony 环境初始化问题

Telephony 相关类注入问题 SubscriptionManager Cannot invoke "android.telephony.SubscriptionManager.getActiveSubscriptionInfoList()" because "this.mSubscriptionManager" is nulljava.lang.NullPointerException: Cannot invoke "android.t…