论文阅读【时间序列】TimeMixer (ICLR2024)

【时间序列】TimeMixer (ICLR2024)

原文链接:TIMEMIXER: DECOMPOSABLE MULTISCALE MIXING
FOR TIME SERIES FORECASTING
代码仓库:https://github.com/kwuking/TimeMixer

整体框架

符号定义

符号含义
P用于预测的历史序列长度(seq_len)
F预测序列长度(pred_len)
C变量数量(通道数量)
M划分的尺度数(降采样次数)
LPast Decomposable Mixing的层数

Multiscale Mixing Architecture

设输入序列为 X ∈ R P ∗ C X\isin R^{P*C} XRPC,为获得不同尺度下的时间序列,对原序列进行降采样:
X m ∈ R ⌊ P 2 m ⌋ ∗ C , m ∈ { 0 , 1 , . . . , M } . X_m \isin R^{\lfloor \frac{P}{2^m} \rfloor * C}, m\isin \{0, 1,..., M\}. XmR2mPC,m{0,1,...,M}.

简单来说第 2 m 2^m 2m层降采样,就是每隔 2 m 2^m 2m个点取一个点

然后对m层降采样的结果分别进行嵌入(Embed),得到多尺度的时间序列输入。

Past Decomposable Mixing

PDM模块一共有L层,每层的输入为前一层的结果:
X L = P D M ( X L − 1 ) , l ∈ { 0 , 1 , . . . , L } . \mathcal{X}^L = PDM(\mathcal{X}^{L-1}), l\isin\{0, 1,..., L\}. XL=PDM(XL1),l{0,1,...,L}.
其中, X l = { X 0 l , X 1 l , . . . , X M l } , X m l ∈ R ⌊ P 2 m ⌋ ∗ d m o d e l \mathcal{X}^l = \{X^l_0, X^l_1,...,X_M^l\}, X_m^l \isin R^{\lfloor \frac{P}{2^m} \rfloor * d_{model}} Xl={X0l,X1l,...,XMl},XmlR2mPdmodel

简单来说,就是将降采样得到的M层多尺度时间序列,在PDM模块中迭代L次。

PDM 模块中首先有一个Decmpose操作,将时间序列分解成周期项(seasonal parts) S l = { s 0 l , s 1 l , . . . , s M l } \mathcal{S}^l=\{s_0^l, s_1^l,...,s_M^l\} Sl={s0l,s1l,...,sMl}和趋势项(trend parts) T l = { t 0 l , t 1 l , . . . t M l } \mathcal{T}^l = \{t_0^l,t_1^l,...t_M^l\} Tl={t0l,t1l,...tMl}。分解方法采用Autoformer中提出的SeriesDecomp方法。
s m l , t m l = S e r i e s D e c o m p ( x m l ) , m ∈ { 0 , 1 , . . . , M } . s_m^l, t_m^l = SeriesDecomp(x_m^l), m\isin \{0, 1, ..., M\}. sml,tml=SeriesDecomp(xml),m{0,1,...,M}.
分解后,分别进行Seasonal MixingTrend Mixing,每一层PDM模块的输出为:
X l = X l − 1 + F e e d F o r w a r d ( S − M i x ( { s m l } m = 0 M ) + T − M i x ( { t m l } m = 0 M ) ) . \mathcal{X}^l = \mathcal{X}^{l-1}+FeedForward(S-Mix(\{s_m^l\}_{m=0}^M)+T-Mix(\{t_m^l\}_{m=0}^M)). Xl=Xl1+FeedForward(SMix({sml}m=0M)+TMix({tml}m=0M)).

Seasonal Mixing & Trend MixingMixing

对于周期项(Seasonal Parts)和趋势项(Trend Parts)采用不同的合并策略。周期项采用自底向上:
f o r   m : 1 → M   d o : s m l = s m l + B o t t o m − U p − M i x i n g ( s m − 1 l ) . for ~m: 1 \rightarrow M~do: s_m^l = s_m^l + Bottom-Up-Mixing(s_{m-1}^l) . for m:1M do:sml=sml+BottomUpMixing(sm1l).
而对于趋势项,则是:
f o r   m : ( M − 1 ) → 0   d o : t m l = t m l + T o p − D o w n − M i x i n g ( t m + 1 l ) . for ~m: (M-1) \rightarrow 0~do: t_m^l = t_m^l + Top-Down-Mixing(t_{m+1}^l) . for m:(M1)0 do:tml=tml+TopDownMixing(tm+1l).
其中Bottom-Up-MixingTop-Down-Mixing分别由两个线性全连接层组成,带有GELU激活函数。

这一步简单来说就是将不同尺度信息向上/下传递了一遍,周期信息是向上传递的,趋势信息是向下传递的。
选择两种方向的原因:根据后文消融实验测试出来的。
注意,进行合并的时候还是按照各个尺度分别计算的。

Future Multipredictor Mixing

利用第L层PDM的输出,计算预测结果:
Y m = P r e d i c t o r m ( x m L ) , m ∈ { 0 , 1 , . . . , M } , Y = ∑ m = 0 M Y m . Y_m = Predictor_m(x_m^L), m\isin\{0, 1, ..., M\}, Y = \sum_{m=0}^{M}Y_m. Ym=Predictorm(xmL),m{0,1,...,M},Y=m=0MYm.
其中, Y m ∈ R F ∗ C Y_m \isin R^{F*C} YmRFC

Predictor的本质是若干线性层, x m L ∈ R ⌊ P 2 m ⌋ ∗ d m o d e l x_m^L\isin R^{\lfloor \frac{P}{2^m} \rfloor * d_{model}} xmLR2mPdmodel首先经过经过线性层由 ⌊ P 2 m ⌋ \lfloor \frac{P}{2^m} \rfloor 2mP拉成F,然后将 d m o d e l d_{model} dmodel拉成C。

实验

长序列预测

TimeMixer提供的实验结果显示,效果有提升,但是不多
但其实验设置与同类论文有区别,关于PatchTST、DLinear等模型的结果与相关论文不同。

在这里插入图片描述
附录中有完整版:
在这里插入图片描述
附录中还展示了一个参数搜索调优后的结果:
在这里插入图片描述

多变量预测

在这里插入图片描述

事实上,在PEMS数据集是路网数据,共有数百个传感器,每个传感器提供一个时间序列。有很多图+序列的模型在PEMS类数据集上做测试,如果加入与这些模型的比较将较为全面。

消融实验

在这里插入图片描述

此处只列举长序列预测相关的消融实验。更多消融实验见原文,但总体效果都是case 1表现最好

效率

在这里插入图片描述

作为线性模型,没有自注意力机制,空间和时间复杂度都比较低。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第七天 SpringBoot与SpringCloud微服务项目交付

Spring Cloud微服务项目交付 微服务扫盲篇 微服务并没有一个官方的定义,想要直接描述微服务比较困难,我们可以通过对比传统WEB应用,来理解什么是微服务。 单体应用架构 如下是传统打车软件架构图: 这种单体应用比较适合于小项…

LVS+Keepalive高可用

1、keepalive 调度器的高可用 vip地址主备之间的切换,主在工作时,vip地址只在主上,vip漂移到备服务器。 在主备的优先级不变的情况下,主恢复工作,vip会飘回到住服务器 1、配优先级 2、配置vip和真实服务器 3、主…

基于hive数据库的泰坦尼克号幸存者数据分析

进入 ./beeline -u jdbc:hive2://node2:10000 -n root -p 查询 SHOW TABLES; 删除 DROP TABLE IF EXISTS tidanic; 上传数据 hdfs dfs -put train.csv /user/hive/warehouse/mytrain.db/tidanic 《泰坦尼克号幸存者数据分析》 1、原始数据介绍 泰坦尼克号是当时世界上…

PyTorch人脸识别

新书速览|PyTorch深度学习与企业级项目实战-CSDN博客 一套基本的人脸识别系统主要包含三部分:检测器、识别器和分类器,流程架构如图11-3所示: 图11-5 检测器负责检测图片中的人脸,再将检测出来的人脸感兴趣区域(Reg…

音视频入门基础:H.264专题(13)——FFmpeg源码中通过SPS属性获取视频色彩格式的实现

一、引言 通过FFmpeg命令可以获取到H.264裸流文件的色彩格式(又译作色度采样结构、像素格式): 在vlc中也可以获取到色彩格式(vlc底层也使用了FFmpeg进行解码): 这个色彩格式就是之前的文章《音视频入门基础…

2024年初级注册安全工程师职业资格考试首次开考!

​2024年初级注册安全工程师考试首次开考(注:该考试由各省人事考试局组织考试)。目前未取得中级注册安全工程师证书的各位同学,可以关注该考试,毕竟初级考证相对较容易,先去考一个。 目前初安开考地区汇总…

【Diffusion学习】【生成式AI】Stable Diffusion、DALL-E、Imagen 背後共同的套路

文章目录 图片生成Framework 需要3个组件:相关论文【Stable Diffusion,DALL-E,Imagen】 具体介绍三个组件1. Text encoder介绍【结论:文字的encoder重要,Diffusion的模型不是很重要!】评估指标:…

大数据面试SQL题-笔记01【运算符、条件查询、语法顺序、表连接】

大数据面试SQL题复习思路一网打尽!(文档见评论区)_哔哩哔哩_bilibiliHive SQL 大厂必考常用窗口函数及相关面试题 大数据面试SQL题-笔记01【运算符、条件查询、语法顺序、表连接】大数据面试SQL题-笔记02【...】 目录 01、力扣网-sql题 1、高频SQL50题&#xff08…

基于Java的斗地主游戏案例开发(做牌、洗牌、发牌、看牌

package Game;import java.util.ArrayList; import java.util.Collections;public class PokerGame01 {//牌盒//♥3 ♣3static ArrayList<String> list new ArrayList<>();//静态代码块//特点&#xff1a;随着类的加载而在加载的&#xff0c;而且只执行一次。stat…

【C语言】深入解析选择排序

文章目录 什么是选择排序&#xff1f;选择排序的基本实现代码解释选择排序的优化选择排序的性能分析选择排序的实际应用结论 在C语言编程中&#xff0c;选择排序是一种简单且直观的排序算法。尽管它在处理大型数据集时效率不高&#xff0c;但由于其实现简单&#xff0c;常常用于…

2024-07-15 Unity插件 Odin Inspector4 —— Collection Attributes

文章目录 1 说明2 集合相关特性2.1 DictionaryDrawerSettings2.2 ListDrawerSettings2.3 TableColumnWidth2.4 TableList2.5 TableMatrix 1 说明 ​ 本文介绍 Odin Inspector 插件中集合&#xff08;Dictionary、List&#xff09;相关特性的使用方法。 2 集合相关特性 2.1 D…

直播美颜工具开发教学:视频美颜SDK集成详解

本篇文章&#xff0c;笔者将详细介绍如何在直播应用中集成视频美颜SDK&#xff0c;让你的直播画面焕然一新。 一、什么是视频美颜SDK&#xff1f; 视频美颜SDK是一种软件开发工具包&#xff0c;提供了视频处理和图像增强功能。通过集成视频美颜SDK&#xff0c;开发者可以轻松…

十九、【文本编辑器(五)】排版功能

目录 一、搭建框架 二、实现段落对齐 三、实现文本排序 一、搭建框架 (1) 在imgprocessor.h文件中添加private变量&#xff1a; QLabel *listLabel; //排序设置项QComboBox *listComboBox;QActionGroup *actGrp;QAction *leftAction;QAction *…

Win11鼠标卡顿 - 解决方案

问题 使用Win11系统使&#xff0c;鼠标点击任务栏的控制中心&#xff08;如下图&#xff09;时&#xff0c;鼠标会有3秒左右的卡顿&#xff0c;同时整个显示屏幕也有一定程度的卡顿。 问题原因 排除鼠标问题&#xff1a;更换过不同类型的鼠标&#xff0c;以及不同的连接方式…

昇思25天学习打卡营第22天|应用实践之DCGAN生成漫画头像

基本介绍 今日要实践的模型是DCGAN&#xff0c;用于生成漫画头像&#xff0c;生成头像原理可参考GAN图像生成。使用的动漫头像数据集共有70,171张动漫头像图片&#xff0c;图片大小均为96*96。本文会先简单介绍DCGAN模型&#xff0c;然后展示自己的运行结果&#xff0c;不作代码…

新增支持GIS地图、数据模型引擎升级、增强数据分析处理能力

为了帮助企业提升数据分析处理能力&#xff0c;Smartbi重点围绕产品易用性、用户体验、操作便捷性进行了更新迭代&#xff0c;同时重磅更新了体验中心。用更加匹配项目及业务需求的Smartbi&#xff0c;帮助企业真正发挥数据的价值&#xff0c;赋能决策经营与管理。 Smartbi用户…

端到端拥塞控制的本质

昨天整理了一篇 bbr 的微分方程组建模(参见 bbr 建模)&#xff0c;算是 bbr 算法终极意义上的一个总结&#xff0c;最后也顺带了对 aimd 的描述&#xff0c;算是我最近比较满意的一篇分享了。那么接下来的问题&#xff0c;脱离出具体算法&#xff0c;上升到宏观层面&#xff0c…

百度“文心•跨模态大模型”又有新动态,支持内容分析时输出自定义标签库

大模型真正的价值在于应用。 一、基本概念 AI大模型具有强大的表征学习能力&#xff0c;能够在海量数据中提取有用的特征&#xff0c;为各种复杂任务提供解决方案。例如GPT-4o、BERT等模型的出现&#xff0c;不仅展示了大规模参数和复杂计算结构的优势&#xff0c;还在自然语…

Android Studio - adb.exe已停止运作的解决方案

adb.exe 是Android Debug Bridge 的缩写&#xff0c;它是Android SDK 中的一个调试工具&#xff0c;允许开发者通过命令行界面与设备进行交互&#xff0c;执行各种操作&#xff0c;如运行设备的shell、管理模拟器或设备的端口映射、在计算机和设备之间上传/下载文件、将本地APK…

如何申请抖音本地生活服务商?3种方式优劣势分析!

随着多家互联网大厂在本地生活板块的布局力度不断加大&#xff0c;以抖音为代表的头部互联网平台的本地生活服务商成为了创业赛道中的大热门&#xff0c;与抖音本地生活服务商怎么申请等相关的帖子&#xff0c;更是多次登顶创业者社群的话题榜单。 就目前的市场情况来看&#x…