动态可扩展的时间序列Patch划分方法
今天给大家介绍一篇AAAI 2024中多元时间序列预测的工作,文章由中科大、腾讯等机构联合发布。本文的核心是提出了一种动态可扩展的时间序列patch处理方法,相比原来固定窗口的patch划分,能最大限度保留时间序列片段的完整性,避免将存在连续规律的时间序列分到不同patch中,实现了多元时间序列预测任务上的效果提升。
论文标题:HDMixer: Hierarchical Dependency with Extendable Patch for Multivariate Time Series Forecasting
下载地址:https://ojs.aaai.org/index.php/AAAI/article/view/29155
背景
现有的多元时间序列预测,已经切换为以patch为主的数据处理方式,将原始的时间序列根据窗口分割成多个patch,输入到后续模型中。然而,这种方式的问题在于,patch的划分是固定的,容易导致patch内核心信息的缺失。此外,现有方法更关注与patch间信息的建模,而忽略了patch内信息,以及变量之间信息的建模。
本文针对上述问题,提出2个核心优化点,一个是设计了动态可扩展的patch生成方法,让每个patch的生成更加个性化;另一个是一种同时考虑patch内短期、patch间长期、变量间3种关系的层次全MLP时序预测网络结构。
建模方法
本文的核心点包括2个方面,第一个是可扩展的动态patch划分代替固定patch划分;另一个是在模型结构上采用全MLP的3层时间序列建模,实现patch内、patch间、变量间3个维度的信息交互。
本文设计了一种动态可扩展的patch生成方法。这种方法将patch的生成抽象成5元组(中心点,样本点数量,中心点偏离数、左侧边界偏离数、右侧边界偏离数)。原始的patch方法,只有中心点和样本点数量,这两个预先定义好,就能确定patch的生成逻辑。本文的方法增加了后面3个参数,在原始的patch基础上做一个中心点、左右边界的滑动,使得划分出来的patch更加合理。其中后3个参数是可学习的参数。
为了监督这个可扩展patch划分的合理性,文中使用交叉熵指标,计算使用原始patch方法和这种动态patch方法,整体带来的信息增益,并以此信息增益为目标,监督上述3个参数的学习,让动态划分patch确实能带来增加划分后patch信息量的作用。
在模型结构方面,模型结构采用全MLP的层次形式,每层网络分为3个层次,分别进行patch内建模、patch间建模、变量间建模。每个层次的模型都是MLP+GELU+残差网络组成。
实验结果
在多元时间序列不同时间窗口的效果评估上,本文提出的方法取得了7%的MSE效果提升。
文中也进行了消融实验,对比是否引入可扩展patch划分,以及3层次建模(patch内短期、patch间长期、变量间)这4个部分的效果差异,验证了各个模块的效果。
本文转载自 圆圆的算法笔记,作者: Fareise