[论文分享]ESWA 2023 SAITS:基于自注意力的时间序列插补

文摘   2024-08-09 22:06   广东  
标题SAITS: SELF-ATTENTION-BASED IMPUTATION FOR TIME SERIES
作者Wenjie Du,David Cote,Yan Liu
机构Concordia University,Ciena Corporation
论文https://arxiv.org/pdf/2202.08516v4
代码https://github.com/WenjieDu/SAITS

摘要

时间序列中的数据缺失是一个普遍存在的问题,它给高级分析带来了障碍。一种流行的解决方案是插补,其中最根本的挑战是确定应该填写哪些值(指缺失的地方应该填哪些值)。

本文提出了一种基于自注意机制的多变量时间序列缺失值填补的新方法SAITS。通过联合优化方法训练,SAITS从两个对角线掩面自注意(DMSA)块的加权组合中学习缺失值。

  • DMSA明确地捕获时间步之间的时间依赖性特征相关性,从而提高了输入精度和训练速度。
  • 同时,加权组合设计使SAITS能够根据注意图缺失信息动态地为两个DMSA块的学习表征分配权重。

大量的定量和定性实验表明,SAITS在时间序列填补任务上有效地优于最先进的方法,并揭示了SAITS在改善来自现实世界的不完整时间序列数据的模式识别模型的学习性能方面的潜力。

1. 引言

传统处理缺失值的方法包括删除和数据填补。删除可能导致数据不完整和有偏的参数估计,而填补则通过估计缺失值来减少偏差,并保留部分观测数据中的信息。

缺失值分为三类:完全随机缺失(MCAR)、随机缺失(MAR)和非随机缺失(MNAR)。现有方法常需对缺失数据做强假设,可能引入偏差。深度学习在填补问题上取得进展,但多关注非时间序列数据。

自注意力机制广泛应用于序列建模,但在时间序列填补上应用有限。传统时间序列填补模型多基于RNN,易受复合误差影响,速度慢,有内存限制。自注意力机制非自回归,可避免这些问题。

特别地,我们在这项工作中的贡献可以总结为以下几点:

  • 针对多变量时间序列的缺失值填补问题,设计了一种自注意模型的填补与重构联合优化训练方法。通过这种方法训练的Transformer优于SOTA方法。
  • 我们设计了一个名为SAITS的模型,该模型由两个对角掩蔽自注意(DMSA)块的加权组合组成,该模型将SAITS从RNN中解放出来,并使其能够明确地捕获时间步之间的时间依赖性特征相关性
  • 我们对四个真实世界的公共数据集进行了充分的实验和消融研究,以定量和定性地评估我们的方法并证明其设计的合理性。实验结果不仅证明了SAITS达到了新的SOTA位置,而且显示了SAITS在促进模式识别模型学习来自现实世界的部分观测时间序列方面的潜力。

2.相关工作

2.1 RNN-based

  • GRU-D:Che等人提出了GRU-D,一种GRU变体,用于处理时间序列分类中的缺失数据。它引入了时间衰减概念,影响后续研究如M-RNN和BRITS。
  • M-RNN与BRITS:M-RNN和BRITS利用双向RNN的隐藏状态进行插补,但M-RNN将缺失值视为常数,而BRITS则视为变量,并考虑特征相关性。

2.2 GAN-based

  • GRUI与E2GAN:Luo等人提出GRUI,用于模拟不完整时间序列的时间信息,其GAN模型包括基于GRUI的生成器和鉴别器。E2GAN是端到端方法,采用GRUI自编码器提高插补性能。
  • NAOMI:Liu等人提出的NAOMI是一个非自回归模型,包含双向编码器和多分辨率解码器,通过对抗性训练增强。

2.3 VAE-based

  • GP-VAE:Fortuin等人提出GP-VAE,使用高斯过程先验进行时间序列插补,使数据嵌入更平滑、更易于解释的表示。
  • L-VAE与SGP-VAE:L-VAE使用多输出GP先验处理辅助协变量信息,SGP-VAE支持基于引导点的稀疏GP近似,处理时空数据集中的缺失值。

2.4 Self-Attention-based

  • CDSA与DeepMVI:Ma等人应用CDSA从三个维度插补时空数据集的缺失值。Bansal等人提出DeepMVI,结合Transformer和卷积窗口特征进行插补。
  • NRTSI:Shan等人提出NRTSI,将时间序列视为(时间,数据)元组的集合,适用于非规则采样时间序列,直接使用Transformer编码器建模,但算法设计中的嵌套循环可能减慢处理速度。

总结

  • RNN-based:通过时间衰减和双向RNN处理缺失数据,但存在自回归和累积误差问题。
  • GAN-based:利用GAN结构进行端到端插补,但训练困难且存在非收敛问题。
  • VAE-based:使用GP先验和VAE架构进行插补,但涉及难以解释的潜在变量
  • Self-Attention-based:应用自注意力机制,特别适用于时空数据非规则采样时间序列,但算法设计可能影响计算效率。

3.方法论

我们的方法论由两部分组成:

  • 插补与重构的联合优化训练方法;
  • SAITS模型,两个DMSA块的加权组合。

3.1 联合优化学习方法






联合优化方法的一般图解如图1所示。我们将首先给出承载缺失数据的多元时间序列的定义,然后详细介绍这两个学习目标。

3.1.1 含缺失值的多元时间序列的定义

给定一组具有 T个时间步和 D个维度的多变量时间序列集合,记作 ,其中第 t 个时间步 ,,并且其中每个值都可能缺失。

为了表示 X中的缺失变量,引入了缺失掩蔽向量 ,其中:

3.1.2 两个学习任务 
设计了一种联合优化训练方法用于训练自注意力机制的插补模型,适用于多变量时间序列的缺失值处理。该方法包含两个关键任务:
MIT(Masked Imputation Task):模型学习填补人为制造的缺失值。
ORT(Observed Reconstruction Task):模型学习准确重构观测到的数据。
这两个任务的损失共同构成了训练过程的损失函数。在介绍联合优化训练方法前,需先解释为何自注意力模型需要新的训练方法,此处以BRITS和Transformer为例,分别代表基于RNN和自注意力机制的插补方法。训练RNN进行数据填补通常遵循三个步骤:首先,提供时间序列特征向量 和缺失掩蔽 以指示数据中的观测值和缺失值;其次,指导模型重构观测值并以此重构误差作为损失;最后,使用该损失来优化模型参数。这种训练方法是ORT。ORT与基于RNN的模型(例如BRITS)配合得很好。然而,与RNN不同,自注意力本身是非自回归的,并且并行且全局地处理所有输入数据。因此,如果只训练ORT,Transformer可以根据 中区分出观测部分,结果就是,它将只关注最小化观测值上的重构误差。我们绘制了图2来进行比较,并进一步说明效果。图2显示,尽管Transformer-ORT在重构误差(MAE)上优于BRITS,它在填补缺失值时却表现不佳,因为它未对填充的缺失值进行错误惩罚,导致其在训练中只优化了观测值的准确性。


换句话说,**Transformer-ORT没有保证能准确预测缺失值。为了解决这个优化问题,我们引入了另一个学习任务MIT,使其成为这种保证,并将其与ORT结合起来。这就是联合优化训练方法的由来。
Task #1: Masked Imputation Task (MIT) 
MIT(掩蔽插补任务)是一个针对人为掩盖值的预测任务,它明确地迫使模型准确预测缺失值。在MIT中,对于输入模型的每个batch,有一定百分比的观测值会被随机人为掩盖。这些值对模型来说是缺失的。输出的估计时间序列包含了重建(reconstruction)和插补(imputation)。为了区分人为缺失的值和原始缺失的值,引入了指示掩蔽向量 。它们的数学定义是:

在模型填补完所有缺失值之后,插补损失是计算人为缺失值与各自填补值之间的平均绝对误差(MAE)。MAE和MIT损失的计算在下面的公式中定义:

Task #2: Observed Reconstruction Task (ORT)

ORT是对观测值进行重构的任务。它在时间序列和非时间序列的插补模型训练中都有广泛应用。模型处理后,输出中的观测值与它们的原始值不同,这些值被称为重构值。在我们的工作中,重构损失是通过计算观测值与各自重构值之间的平均绝对误差(MAE)来衡量的,其定义在下面的公式中:

在我们的训练方法中,MIT和ORT是密不可分的。MIT被用来迫使模型尽可能准确地预测缺失值,而ORT则被用来确保模型收敛到观测数据的分布上。如图2所示,Transformer-ORT+MIT的插补MAE和重构MAE都在稳步下降。

如图2(a)所示,与Transformer-ORT+MIT相比,Transformer-MIT的插补MAE略高。这证明了ORT可以帮助模型在插补任务上进一步优化性能。

此外,在图2(b)的重构MAE方面,Transformer-MIT的值上升,因为它不需要在观测数据上收敛。并且Transformer-ORT+MIT略高于Transformer-ORT,因为重构损失的梯度受到了插补损失的影响。这是证明我们的联合优化方法有效的另一个证据。

3.2 SAITS

如图3所示,SAITS由两个对角掩蔽自注意力(DMSA)模块和一个加权组合构成。首先,在小节3.2.1和3.2.2中介绍了SAITS的一些基本组成部分。然后,小节3.2.3、3.2.4和3.2.5分别阐述了SAITS的三部分结构。最后,在小节3.2.6中讨论了学习任务的损失函数。

3.2.1 Diagonally-Masked Self-Attention

我们将注意力图的对角线条目被设置为(在实践中设置为),以便在softmax函数之后,对角线的注意力权重接近0。具体公式如下:

 ,其中 是注意力权重 图4生动地展示了DMSA机制:


这种机制增强了SAITS的插补能力,因为它迫使模型学习如何仅使用时间序列中其他部分的信息来准确预测缺失的值,而不是依赖于数据点自身的未来信息。随后,对角掩蔽多头注意力被公式化为:其中 是注意力头的个数。
3.2.2 Positional Encoding and Feed-Forward Network 
在SAITS中,保留了Transformer模型中的位置编码和前馈网络。位置编码由正弦和余弦函数组成,其公式如下方程所示。请注意,在后续的方程中,为了简洁起见,使用 来指代位置编码。

其中 为时间步的位置,i是维度数。

前馈网络包含两个线性变换,在它们之间有一个 激活函数,正如下列方程所示:

3.2.3 The First DMSA Block

在第一个对角掩蔽自注意力(DMSA)模块中,实际的输入特征向量和它的缺失掩蔽向量 被连接作为输入。第一个公式将输入投影到 维,并与位置编码 相加,以产生 是参数)。第二个公式中的 表示堆叠 层。该公式通过 层堆叠的对角掩蔽多头注意力和前馈网络将 传递给。第三个公式将 维减少到 维,并产生 (学习到的表示1)。参数。第四个公式中,用 中的相应值替换 中的缺失值,以获得完成的特征向量 ,同时保持观测部分不变。这里, 是哈达玛德积,也称为逐元素乘积。
3.2.4 The Second DMSA Block
第二个对角掩蔽自注意力(DMSA)模块接收第一个DMSA模块的输出 并继续学习。和第一个DMSA块的第一个公式一样,这里第一个公式先将 的连接从 维投影到 维,然后与 相加生成。参数 。第二个公式执行 层堆叠的对角掩蔽多头注意力和前馈网络,并输出β。第三个公式中,为了获得 (学习到的表示2),应用了两次线性投影,并在两者之间加入了 激活函数,其中参数 。从经验上看,更深层的结构可以更好地学习表示,以捕捉时间序列中更复杂的相关性。在这里,第二个DMSA块比第一个DMSA块多应用了一层非线性层来构建一个更深的模块。在实践中,这样的操作确实有助于比单独应用线性投影实现更好的插补性能。之所以在第一个DMSA模块中没有应用相同的转换(指两个线性变换之间有一个 激活函数的前馈网络)来获得,因为在随后的加权组合中可学习的参数可以动态调整 的权重,以形成更好的 (学习到的表示3)。此外,我们发现即使在这里应用相同的转换来获得 ,也不会比当前设计带来更好的结果,这验证了我们加权组合的有效性。
3.2.5 The Weighted Combination Block

为了获得更好的学习到的表示设计了加权组合模块,根据时间依赖性和缺失信息动态地权衡。

  • 第一个公式中的 是由第二个DMSA模块的最后一层多头输出的注意力权重 平均得到的。
  • 第二个公式利用平均注意力权重 和缺失掩蔽 作为参考,利用可学习参数 产生组合权重
  • 第三个公式通过权重 结合 来形成
  • 最后,在第四个公式中,用 中的相应值替换 中的缺失值,以产生补全向量 ,即插补后的数据。

3.2.6 Loss Functions of Learning Objectives

在模型训练中,我们执行两个关键任务:MIT和ORT,均通过MAE损失函数计算损失。

我们结合了三个学习到的表示来累积以加速模型收敛,并通过平均化来平衡其影响。使用原始数据和指示掩蔽向量来评估模型对缺失值的预测。

4.实验及结论

4.1 数据集

为了对提出的SAITS模型进行基准测试,实验在来自不同领域的四个公共真实世界数据集上进行,所有数据集的一般信息列在表1中:

4.2 基线方法

为了进行全面的比较,我们将我们的方法与两种简单的插补方法(中位数和最后观测值插补)以及五个最近的最先进(SOTA)深度学习模型(GRUI-GAN,E2GAN,M-RNN,GP-VAE,BRITS)进行比较。

4.3 插补性能比较

我们通过三个关键指标(MAE、RMSE、MRE)评估了不同模型在四个数据集上的表现。SAITS在所有数据集和指标上均优于其他基线方法,包括传统插补方法和深度学习模型。

具体来说,从表2可以看出,SAITS不仅在PhysioNet-2012和Air-Quality数据集上表现优异,而且在Electricity和ETT数据集上也展现出了其强大的插补能力。

此外,表3提供了模型参数数量和训练速度的详细信息,揭示了SAITS在训练效率上的优势。

进一步地,为了评估不同缺失率对模型性能的影响,我们在Electricity数据集上引入了20%至90%的缺失值,并在表4中展示了实验结果。这些结果表明,SAITS在处理较高缺失率时依然能够保持较高的插补性能,尤其是在引入较高比例的缺失值时,SAITS的性能优势更加明显。

总结来说,SAITS在时间序列插补任务上展现出了卓越的性能和效率,无论是在低缺失率还是高缺失率的情况下。这些结论是通过对比表2和表4中的详细数据得出的,它们清楚地展示了SAITS相对于其他方法的优势。

4.4下游分类任务比较

在PhysioNet-2012数据集上,我们进行了下游分类任务的实验,以评估不同插补方法对模式识别性能的影响。我们让每种方法对数据集进行插补,然后使用相同的RNN分类器(由GRU层和全连接层组成)在每个插补后的数据集上进行训练。超参数统一设置,以确保结果的可比性。由于数据集类别不平衡,我们使用ROC-AUC、PR-AUC和F1分数作为性能评估指标。

实验结果显示,使用SAITS插补的数据集在所有评估指标上均优于其他方法,尤其是在与基于RNN的模型BRITS相比时,SAITS在ROC-AUC、PR-AUC和F1分数上分别提高了1.3%、1.9%和1.4%。与Transformer相比,SAITS在PR-AUC和F1分数上也有显著提升(分别提高了1.8%和1.5%)。这些结果表明,SAITS不仅在插补质量上表现最佳,而且还能显著提高简单模型在处理具有缺失值的时间序列数据集时的模式识别性能。具体的性能提升数据可以在表5中查看,该表详细列出了每种方法插补后的数据集所获得的分类性能结果。

5.总结

本文介绍了SAITS,一种基于自注意力机制的新型模型,用于多变量时间序列的缺失值填补。SAITS通过联合优化训练方法,显著提高了插补的准确性和训练速度。与现有的最先进模型BRITS和基于Transformer的NRTSI相比,SAITS在减少平均绝对误差和提升插补准确率方面均有优势。

SAITS在参数需求上更为高效,仅需Transformer参数量的15%至30%即可达到可比性能。此外,实证结果表明,SAITS不仅提高了插补质量,还能增强下游分类任务的性能,显示了其在处理不完整时间序列数据方面的潜力。

展望未来,我们计划探索SAITS在处理具有不同缺失模式的时间序列数据上的表现,并在更多真实世界的大型数据集上测试其普适性,以进一步验证模型的泛化能力。当前实验中采用的完全随机人工缺失基于MCAR假设,我们也将讨论特定缺失模式对插补准确性的潜在影响。


EvoIGroup
Evolutionary Intelligence (EvoI) Group。主要介绍进化智能在网络科学,机器学习,优化和实际(工业)应用上的研究进展。欢迎投稿推文等。联系方式:evoIgroup@163.com。
 最新文章