前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >KDD'23 | 基于MLP+多阶段校准的的多元时序预测模型

KDD'23 | 基于MLP+多阶段校准的的多元时序预测模型

作者头像
圆圆的算法笔记
发布2023-08-17 08:43:27
1.6K0
发布2023-08-17 08:43:27
举报

今天给大家介绍一篇KDD 2023会议上,由IBM研究院发表的一篇多元时间序列预测工作,模型整体结构基于patch预处理+MLP,支持时序预测和时间序列表示学习两类任务,同时提出了多阶段校准的方法,在预估结构中考虑时间序列的层次关系和多变量之间的依赖关系。

论文标题:TSMixer: Lightweight MLP-Mixer Model for Multivariate Time Series Forecasting

下载地址:https://arxiv.org/pdf/2306.09364v1.pdf

1、整体结构

模型整体结构如下图,时间序列先分成patch然后输入到模型中。模型部分是由类似于MLP-Mixer组成的全连接网络,支持patch间信息交互、patch内向量信息交互、多变量间信息交互3种MLP方式。输出部分可以用来预训练,也可以用来做预测。在预测部分,会进一步利用变量间关系和时间序列本身的层次结构进行预测结果校准。

2、模型结构细节

下面介绍一下模型的核心结构,主要包括输入层、patching、TSMixer backbone、MLP Mixer layers、Gated attention (GA) block、Model heads等几个部分。

输入层:使用RevIN对序列做处理,是时间序列预测中的一种常见数据处理方法。求时间序列的均值和方差,以此对原序列做标准化,标准化后的序列输入到后续模型训练。模型的预测结构再将均值和方差还原回来,以此缓解时间序列distribution shift的问题。

Patching:对时间序列做patching,类似ViT中的做法,在PatchTST等工作中也已经成功应用。核心是将时间序列分成多个patch,每个patch内的序列使用全连接得到相应的patch embedding,每个patch看成是一个整体,输入到后续模型中。

TSMixer backbone:TSMixer的骨干网络结构,文中提出了3种模型结构。第一种是类似CV中的MLP-Mixer结构,将channel维度和patch维度合并过MLP。第二种是CI-TSMixer,即各个channel之间完全独立,类似PatchTST的思路,每个变量的序列独立编码,参数共享。第三种是IC-TSMixer,引入了一个额外的channel之间的交互MLP,建模序列之间的关系。

MLP Mixer layers:MLP Mixer和TSMixer backbone中的核心模块,利用MLP实现信息交互,主要包括三种类型的Mixer——Patch间的mixer、Patch内向量不同维度间的mixer、不同时间序列变量之间的mixer。前两个都是CV中MLP Mixer的方法,最后一个是多元时间序列特有的为了实现变量间信息交互而设计的。

Gated attention (GA) block:GA模块主要是利用一个门来做特征选择,增强重要特征的权重,减小不重要特征的权重,在例如TFT等之前工作中,这类方法也经常被用到。

Model heads:TSMixer支持两种类型的训练方式,对应两个head。第一种训练方式是正常的时间序列预测,第二种训练方式是利用MLM的方式对patch进行mask,然后自监督训练,起到时间序列表示学习的作用。

3、预估校准

上述的模型结构可以产出基础的预估结果。初次之外,文中进一步探索了利用多元时间序列特性,对基础预估结果进行校准,包括利用时间序列内在的层次性,以及多变量之间的依赖关系,对基础预估结果进行校准

Cross-channel forecast reconciliation head:这一步校准的核心是让预测结果考虑到多变量之间的关联关系。具体做法为,对于预测结果,用某个大小的窗口将时间序列划分成patch,将相邻几个patch内,各个变量的序列进行flatter,时使用一个Gate Attention网络直接在这个多变变量patch内学习变量预测结果之间的关系,再通过线性层输出校准后的预测结果。

Online hierarchical patch reconciliation head:这部分是利用时间序列的层次结构对预测结果进行校准,类似于时间维度上的层次预估思路。时间序列聚合的粒度越粗,可预测性越好。因此文中不仅预测每个点的值,还进一步预测每个粗粒度patch的值,patch聚合了多个点,可预测性更强。然后使用patch的粗粒度预估结果,约束每个点的预测结构(即patch内点的预测结果之和,等于patch整体的预测结果),形成了层次上的约束。

4、实验结果

在实验部分,本文对比了一些常用的多元时间序列预测benchmark上的效果,相比近期的SOTA模型,包括DLinear、PatchTST、Informer等都取得了显著的效果提升。相关SOTA模型的解析,可以参考之前的历史文章。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-06-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 圆圆的算法笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档