在多元时间序列预测中,如何建模多变量之间的关系一直是研究热点。过去一年最火的研究方向之一就是多元时间序列应该采用channel dependent(多变量联合建模)还是channel independent(多变量独立建模),以及channel dependent的各种改进方法。
近期,一种新的探索多变量建模的方法正在兴起。这类方法不再执着于用复杂的网络建模变量间关系,而是更直接一些, 在预测每个变量的时间序列时,将其他所有变量都当成外部特征或者辅助序列,研究的重点也就变成如何充分利用这些辅助序列提升目标序列的预测效果 。
今天这篇文章就给大家带来2篇近期 清华、亚马逊 发表的相关工作。
清华-TimeXer
论文标题 :TimeXer: Empowering Transformers for Time Series Forecasting with Exogenous Variables
下载地址 :
TimeXer是清华大学近期发表了一篇工作, 以Transformer为基础,通过更细致的建模外部变量建模实现目标变量拟合效果的提升 。
之前的建模中,更关心的是多变量和单变量的建模,即输入一个变量预测该变量,或者输入多个变量同时预测这多个变量,而对于输入多个变量预测一个目标变量的研究较少。输入变量中,和目标变量一致的为内源变量,其他变量为外源变量。如何利用外源变量辅助提升内源变量的预测效果,是本文的核心优化目标。而之前的Transformer、PatchTST等方法,其实都是多预测多或一对一,并不适合多对一的预测。因此本文对Transformer进行了升级,适配这种一对多的预测场景。
文中对于内院变量和外源变量两类变量的处理采用了两种不同的形式。首先对于内源变量,也就是待预测的变量,使用了patchTST的方式,将时间序列分成不同的片段,每个片段作为一个patch映射成embedding。另一方面,对于外部变量,则采用了类似iTransformer中的方法,将每个外部变量完整的映射成一个patch,生成对应的embedding。文中认为这种粗粒度的外部变量embedding生成方式,可以更好的将模型的重点放在刻画外部变量对内部变量的空间影响上。
在得到两部分embedding后,对目标变量的patch内做self-attention,和PatchTST中的区别在于,会给每个目标变量的patch表征拼接成外部变量生成的embedding,以此实现外部变量信息的引入。在cross attention阶段,主要进行了目标变量表征和外部变量表征之间的cross attention,实现目标变量和外部变量之间的关系提取。
亚马逊-CATS
论文标题 :CATS: Enhancing Multivariate Time Series Forecasting by Constructing Auxiliary Time Series as Exogenous Variables
下载地址 :
本文是亚马逊发表的工作, 核心思路是将其他变量作为辅助序列来提升目标变量的预测效果 。
对于每个变量,都选择一部分其他变量作为辅助序列,这些辅助序列通过一个ATS Constructor进行变换,得到有助于目标变量预测的变换后结果。这些辅助序列变换后的结果,会和原始单变量的预测结果相加,得到最终的预测结果。
一个简单的例子如下图,AB两个序列,A是B的后移几个step的变换结果。在AB两个序列的多元预测中,单独预测无法借助两个序列之间的这种关系。如果采用本文提出的这种方法,在预测A的时候,将B看成辅助序列,经过一个identity mapping得到shift后的结果,就可以直接用这个B的映射后结果用于预测A。
模型的整体结构如下图所示, 遵循了Continuty、Sparsity、Variablity三个原则 。
Continuty指的是连续性原则,通过在辅助序列的映射结果加上相邻两个点距离不能太远的平滑性约束实现。
Sparsity指的是稀疏性,对于多变量时间序列,可能只有一小部分适用于作为目标序列的辅助序列,这里使用一个门控网络,筛选少量的其他变量作为辅助序列,以免建模过于复杂导致过拟合。同时在时间维度上也应用了Sparsity,只截取部分窗口的序列用于预测。
Variablity指的是要让辅助序列部分能提取多样性的序列间关系信息。文中通过对ATS Constructor结构的设计实现,提出了基于卷积、不重叠卷积、独立卷积等多种方式从不同角度提取辅助序列可用于目标序列预测的信息。
本文转载自,作者: