论文标题丨Attention-Based Autoregression for Accurate and Efficient Multivariate Time Series Forecasting
论文来源丨SIAM/SDM 2021
论文链接丨https://epubs.siam.org/doi/10.1137/1.9781611976700.60
源码链接丨未开源

TL;DR

由于之前的模型不能有效地捕获序列内的模式特征和序列间的关系特征,这篇论文中针对多元时间序列预测问题提出一个更加高效的模型 AttnAR(attention-based autoregression)。AttnAR 首先利用混合卷积特征提取器来学习每个时间序列的模式,然后通过学习目标时间序列间的时间不变注意力图来聚合序列的模式。实验部分在四个多元时序数据集中验证了 AttnAR 的预测准确率,而且模型参数量远低于其它 baselines。

Algorithm/Model

AttnAR 模型架构如下图所示:

AttnAR 模型

主要包含三个模块:

  • Extractor Module:Mixed Convolution Extractor
  • Attention Module:Time-Invariant Attention
  • Predictor Module

下面描述每个模块的功能和设计细节。

Extractor module

为了捕获每个时间序列变量的非线性模式特征,模块架构如下所示

混合卷积特征提取器

主要改进是基于 1D-conv 和 MLP 来提取时间序列的特征,使用 1D-conv 是为了减少模型的参数量。

Attention module

为了捕获多个时间序列变量间的模式关系。论文中提到了三种注意力方法如下图所示,最后证明 time-invariant Attention 是最有效的。🧐

注意力模块
  • Basic attention

    仅考虑目标模式特征最相似的模式特征进行结合来提高预测的准确率。缺点是仅考虑了序列变量模式间的相似性而忽略了序列本身的内在性质。

  • Hybrid attention

    随机初始化每个序列的 embeddingh\mathbf{h} 通过 BP 训练,然后以此计算注意力值。📢 和模式特征u\mathbf{u} 进行区分,模式特征会随着输入变化而 embedding 是静态的。

    对于时序变量ii 其特征融合得到聚合特征v\mathbf{v} 方法

    vi=kexp(hiuk)ukjexp(hiuj)\mathbf{v}_{i}=\frac{\sum_{k} \exp \left(\mathbf{h}_{i}^{\top} \mathbf{u}_{k}\right) \mathbf{u}_{k}}{\sum_{j} \exp \left(\mathbf{h}_{i}^{\top} \mathbf{u}_{j}\right)}

  • Time-invariant attention

    仅根据每个序列的 embedding 来计算序列变量间的注意力图,那么意味着直接根据时序的内在属性来计算静态的注意力图,且不会随着输入改变而变化。

Predictor module

预测部分仅用简单的 MLP 进行预测,输入包括原始模式特征u\mathbf{u} 和融合特征v\mathbf{v} ,计算公式如下所述

y^i=fmlp(uivi)\hat{y}_{i}=f_{\mathrm{mlp}}\left(\mathbf{u}_{i} \| \mathbf{v}_{i}\right)

Experiments

实验部分采用的数据集统计信息如下所示

数据集统计

数据集开源地址:https://github.com/laiguokun/multivariate-time-series-data

对比不同的 baselines 实验结果如下:

实验结果

模型参数与准确性对比结果如下:

实验结果

学习到的注意力特征图如下,整体而言没有从这注意力图中发现非常有价值的信息。

实验结果