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

news2024/11/14 2:25:56

题目: 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.coloradmin.cn/o/1490425.html

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

相关文章

会员营销中如何让会员主动完善信息?

会员主动完善信息,可以通过积分、优惠券、会员权益进行激励。 会员信息主要包括会员姓名、生日、地址、兴趣爱好等;需要让会员完善的信息要围绕营销目标和营销计划,不要过度收集会员信息。 在博阳会员管理系统中定义会员完善个人信息页&#…

Java面试题总结8:springboot

Spring Boot自动配置原理 importConfigurationSpring spi 自动配置类由各个starter提供,使用ConfigurationBean定义配置类,放到META-INF/spring.factories下 使用Spring spi扫描META-INF/Spring.factories下的配置类 如何理解Spring Boot中Starter …

STM 32 HAL库 UART 调试的问题

问题1:STM32G0 系列 DMA中断接收,应用层无法接收到数据 分析: Debug发现,最终没有进入串口中断函数 。 于是,检查Stm32CubeMX 的工程配置 两个串口的全局中断没有使能。 解决:勾选上图中红框部分&#x…

STM32CubeIDE基础学习-安装芯片固件支持包

STM32CubeIDE基础学习-添加芯片固件支持包 前言 前面的文章在安装STM32CubeIDE软件时没有安装这个芯片PACK包,如果工程没有这个固件支持包的话是无法正常使用的,随便安装一个和芯片对应系列的支持包就可以了。 这篇文章来记录一下新增PACK包的常用操作…

SUSE12系统破解root密码

SUSE12系统破解root密码 1、重启系统,重启时出现引导界面,按e 2、在启动 linux 的启动选项里加上 init/bin/bash,然后按 F10 启动,通过给内核传递 init/bin/bash 参数使得 OS 在运行 login 程序之前运行 bash,出现命令…

微服务知识03

1、ES搜索引擎,高性能的分布式搜索引擎,底层基于Lucene 主要用于应用程序中的搜索系统 日志收集 2、基础概念 3、流程 4、 5、下载中文分词器

微信小程序开发系列(十八)·wxml语法·声明和绑定数据

目录 1. 双大括号写法用法一:展示内容 步骤一:创建一个data对象 步骤二:双大括号写法的使用 步骤三:拓展 2. 双大括号写法用法二:绑定属性值 步骤一:给对象赋一个属性值 步骤二:双大括…

两天学会微服务网关Gateway-Gateway路由规则

锋哥原创的微服务网关Gateway视频教程: Gateway微服务网关视频教程(无废话版)_哔哩哔哩_bilibiliGateway微服务网关视频教程(无废话版)共计17条视频,包括:1_Gateway简介、2_Gateway工作原理、3…

行人实时动作识别

详细资料和代码请加微信:17324069443 一、项目介绍 基于PyTorchVideo的实时动作识别框架: 我们选择了yolov5作为目标检测器,而不是Faster R-CNN,它速度更快、更方便。 我们使用一个跟踪器(deepsort)来为不…

STM32(15)USART编程

使用USART实现STM32与电脑之间的通信 中介:USB转TTL模块 闭合总开关,外部时钟才会传输到分频器 c8t6手册里面写了,usart最大支持4.5MHz,所以选10 重映射时记得开启AFIO的时钟

什么是MAC地址? win10电脑查看MAC地址的多种方法

您是否知道连接到家庭网络的每件硬件都有自己的身份?正如每个设备都分配有自己的 IP 地址一样,每个硬件都有一个唯一的网络标识符。 该标识符称为MAC 地址。MAC 代表媒体访问控制。您可能需要 MAC 地址来解决网络问题或配置新设备。在 Windows 中查找您…

java常用应用程序编程接口(API)——Arrays概述

前言: 学到Arrays了,整理下心得。打好基础,daydayup! Arrays 用来操作数组的一个工具类 Arrays的常见方法 方法名说明public static String toString(类型[] arr)返回数组的内容public static int[ ] copyOfRange(类型[ ] arr,启示索引&…

机器人工具箱学习(二)

一、机械臂及运动学 1.1 机械臂构成 机械臂多采用关节式机械结构,一般具有6个自由度,其中3个用来确定末端执行器的位置,另外3个则用来确定末端执行装置的方向(姿态)。   如图所示,一个机械臂是由一组可做相对运动的关节连接的连…

[译]BNF 表示法:深入了解 Python 的语法

[译]BNF 表示法:深入了解 Python 的语法 原文:《BNF Notation: Dive Deeper Into Python’s Grammar》 https://realpython.com/python-bnf-notation/ 在阅读Python文档的时候,你可能已经遇到过BNF(Backus–Naur form)表示法: 下…

运维:记一次寻找定时任务并删除的经历

前言 我相信接手别人的服务器、或者在没有任何文档的情况去看自己原先的服务器,都或多或少会遇到莫名其妙的服务器独有规则。 比如你服务本身跑的好好的,突然啪的一下,没了! 什么原因导致的呢?其中,很大可能是定时任务在作祟。 原因分析 本次,我遇到的问题是:在Ubuntu系…

如何用Elementor创建WordPress会员网站

在下面的文章中,我们将向您展示如何使用Elementor和MemberPress在WordPress中轻松构建会员网站。这篇文章将涵盖WordPress会员网站设置过程、会员资格和受保护内容创建、重要页面和登录表单设计、电子邮件通知管理、报告等。 目录 什么是WordPress会员网站&#x…

某品零食交易平台设计与实现|基于springboot+ Mysql+Java的某品交易平台设计与实现(源码+数据库+文档+PPT)

目录 基于springboot MysqlJava的某品交易平台设计与实现 摘 要 系统详细设计 数据库设计 论文参考 源码获取 文末获取源码联系 基于springboot MysqlJava的某品交易平台设计与实现 摘 要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的…

HCIA-HarmonyOS设备开发V2.0证书

目录 一、不墨迹,上证书二、考试总结三、习题四、知识点五、坚持就有收获 HCIA-HarmonyOS Device Developer V2.0 开发者能力认证考试已通过。 一、不墨迹,上证书 一个多月的努力,验证了自己的学习成果,也认识到自己有待提升之处…

promise处理数组里面的多任务,等所有任务处理完再执行后续逻辑

业务需求,有一个数组里面的数据,需要发送异步任务验证这里面的数据是否可用,然后再将可用的数据存储到本地,原本使用的方式是使用forEach遍历数组,然后在遍历中处理每一个异步函数,等处理完异步函数之后&am…

2024最新AI大模型产品汇总

文章目录 1. 写在前面2. 效率工具3. 聊天机器人4. 应用开发工具5. Prompt工具与社区6. 通用基础大模型7. 训练框架8. 开源数据集9. 推理与部署平台及工具 【作者主页】:吴秋霖 【作者介绍】:Python领域优质创作者、阿里云博客专家、华为云享专家。长期致…