论文阅读【时间序列】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表现最好

效率

在这里插入图片描述

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

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

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

相关文章

权力之望账号怎么注册 权力之望注册游戏账号教程

不会吧不会吧,这款新的MMORPG游戏,权力之望,马上就要上线啦。支援PC 及行动装置跨平台游玩的MMORPG《权力之望》以Unity 引擎研发,利用动态捕捉、3D 扫描技术呈现细腻的游戏画面。本作主打高自由度的武器选择成长与后续的战斗类型…

分割——半自动打标签工具ISAT详细安装及使用教程

💪 专业从事且热爱图像处理,图像处理专栏更新如下👇: 📝《图像去噪》 📝《超分辨率重建》 📝《语义分割》 📝《风格迁移》 📝《目标检测》 📝《暗光增强》 &a…

C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列,字符数组常用函数】

目录 C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组】一维数组一维数组的创建数组的七种初始化完全初始化:部分初始化:字符数组的初始化:自动初始化为0:使用memset函数初始化…

[C++]初识C++(命名空间,命名空间使用,函数重载,缺省参数等)

💖💖💖欢迎来到我的博客,我是anmory💖💖💖 又和大家见面了 欢迎来到C探索系列 作为一个程序员你不能不掌握的知识 先来自我推荐一波 个人网站欢迎访问以及捐款 推荐阅读 如何低成本搭建个人网站…

c++之类和对象上

目录 1. 类的定义 2. 访问限定符 3. 类域 4. 实例化 5. 对象的大小 6. 为什么要内存对齐 7. this指针 1. 类的定义 • class为定义类的关键字,Stack为类的名字,{}中为类的主体,注意类定义结束时后⾯分号不能省 略。类体中内容称为类的…

(篇一)走进FreeRtos—认识FreeRtos

【温故知新篇】 【在现在的工作中一直在使用FreeRtos,但是对它的了解还是不够深入,现在由浅入深,分模块学习和记录,最后将自己基于FreeRtos开发项目实践】 首先我们将这个系统当作一座庄园,开始第一步走进庄园&#…

【备战秋招】——算法题目训练和总结day4

【备战秋招】——算法题目训练和总结day4😎 前言🙌Fibonacci数列我的题解思路分享代码分享 单词搜索我的题解思路分享代码分享 杨辉三角我的题解思路分享代码分享 总结撒花💞 😎博客昵称:博客小梦 😊最喜欢…

ubuntu重装系统后,安装cuda,cudnn

一、 先安装驱动,如果驱动安装不成功,会影响桌面,再重装系统还来得及,尝试了很多方法,还是用系统安装最靠谱: 首先进入Ubuntu搜索栏目,找到软件更新器的一个图标,点开之后是这样的。…

开发个人Ollama-Chat--5 模型管理 (二)

开发个人Ollama-Chat–5 模型管理 (二) ChatGPT 这是该项目的最终效果,使用ollama的open-webui进行人与机器的对话功能,对话的后端服务则完全对接自己开发的Go项目。 如何实现呢?则通过这篇文章,一一给大家剖析后端的原理及功能…

mmaction2的GPU环境配置记录RTX3090,cuda12.2,ubuntu22.04版本

1、配置镜像源 最重要的一个步骤,先看下镜像源地址,如果镜像源有问题,所有的包安装都会有问题 镜像源地址获取地址:选择对应的ubuntu版本号,将里面的镜像源地址复制出来,更新到服务器 ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirro…

牛客小白月赛98

骰子魔术 jackle 会拿出一枚骰子,骰子的表面分别写上了从 1∽5001\backsim 5001∽500 的数字,朋友会随便说一个 1∽5001\backsim 5001∽500 之间的点数,jackle 都能保证百分之百的掷出这个点数。 当然 jackle 有备而来,他准备了 …

LeetCode分发糖果(贪心思路分析)

题目描述 贪心思路 思路及解法 我们可以将「相邻的孩子中&#xff0c;评分高的孩子必须获得更多的糖果」这句话拆分为两个规则&#xff0c;分别处理。 左规则&#xff1a;当 ratings[i−1]<ratings[i] 时&#xff0c;i 号学生的糖果数量将比 i−1 号孩子的糖果数量多。 …

实现win10多用户同时远程连接登陆(详细实验步骤版)

目录 目的环境实验步骤&#xff08;在需要被远程的win10上&#xff09;1. 开启远程桌面服务2. 编辑组策略实现多用户登录3. 安装RDPWrap实现多用户同时登录 测试 目的 默认情况下&#xff0c;win10 专业版只支持本地或远程只能同时存在一个连接。windows server支持多连接。 比…

【unity笔记】十、Obi绳索插件使用

一. 创建绳索 1.1 新建蓝图 在Assets中右键选择创建->Obi->Rope Blueprint&#xff0c;其属性如图所示 1.2 Obi solver 在场景下创建一个obi solver对象&#xff0c;在该对象下再创建Obi Rope对象。 随后将蓝图拖到Obi Rope对象下的Obi Rope组件&#xff0c;即可看到…

MES系统与其他系统的集成:提升制造业智能化的关键路径

在当今高度竞争的制造业环境中&#xff0c;企业对于生产效率、质量控制、资源优化以及快速响应市场变化的需求日益迫切。制造执行系统&#xff08;MES&#xff09;作为连接企业计划层与车间控制层的重要桥梁&#xff0c;其在提升生产透明度和优化生产流程方面发挥着不可替代的作…

【SQL】如何用SQL写透视表

【背景】 报表中有一大需求是透视表,目前有很多分析类应用也搭载了此类功能,那么我们能不能直接用SQL做透视表呢? 【分析】 BI类软件将透视表功能做在了前端,但是数据本身还是存储在数据库中,所以必然有方法可以用SQL直接实现透视表。 【心法】 透视表是任意选取一个…

2024最新6月泛二级域名秒收泛目录(二级域名泛站群)

5月免费版本无后台 无更新功能不自动引蜘蛛 2024年5月最新泛程序&#xff0c;秒收秒排&#xff01;&#xff08;泛型程序&#xff09; - 虚良SEO博客 新曾功能&#xff1a; 后台管理 蜘蛛统计 域名添加 一键强引蜘蛛 蜘蛛统计 识别真假蜘蛛 全自动引蜘蛛 域名要求 …

Vue3-15 表单的绑定

在Vue 3中&#xff0c;表单输入绑定是实现动态数据双向绑定的重要部分&#xff0c;它让开发者可以轻松地管理和响应用户输入。本文将详细介绍如何在Vue 3中利用v-model指令以及一些特定修饰符来处理不同类型的表单输入。 响应式表单数据 首先&#xff0c;我们定义了一个响应式…

Linux /etc/profile 详解

概述 Linux是一个多用户的操作系统。每个用户登录系统后&#xff0c;都会有一个专用的运行环境。通常每个用户默认的环境都是相同的&#xff0c;这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制&#xff0c;其方法就是修改相应的系统环境变量&…

如何检测代理IP是否有效?检查因素与方法全解

代理IP是一种网络代理技术&#xff0c;它是通过中间服务器来转发网络请求的IP地址。当我们使用代理IP时&#xff0c;我们的真实IP地址会被隐藏起来&#xff0c;而代理服务器的IP地址会被用作我们的身份标识。使用代理IP的步骤如下&#xff1a; 1.选择合适的代理服务器 考虑服务…