SAITS: Self-attention-based imputation for time series

本文出版于爱斯维尔的 Expert Systems With Applications期刊

Keywords: Time series;  Missing values ;     Imputation model;    Self-attention;              Neural network

ABSTRACT

    时间序列中的数据缺失是一个普遍存在的问题,给高级分析带来了障碍。一种流行的解决方案是插补,其中的根本挑战是确定应该填充哪些值。本文提出了 SAITS,一种基于自注意力机制的多元时间序列缺失值插补的新方法。通过联合优化方法进行训练,SAITS 从两个对角屏蔽自注意力 (DMSA) 块的加权组合中学习缺失值。 DMSA 显式捕获时间步之间的时间依赖性和特征相关性,从而提高插补准确性和训练速度。同时,加权组合设计使SAITS能够根据注意力图和缺失信息动态地为从两个DMSA块学习到的表示分配权重。大量的定量和定性实验表明,SAITS 在时间序列插补任务上有效地优于最先进的方法,并揭示了 SAITS 在现实世界中不完整时间序列数据上提高模式识别模型学习性能的潜力。

1. Introduction

  自注意力机制现已广泛应用,但其在时间序列插补上的应用仍然有限。以往的SOTA时间序列插补模型大多基于循环神经网络(RNN),例如Cao等人。 (2018),刘等人。 (2019),罗等人。 (2018,2019)和 Yoon 等人。 (2019)。其中,方法(Cao et al., 2018; Luo et al., 2018, 2019; Yoon et al., 2019)是自回归模型,非常容易受到复合误差的影响(Liu et al., 2019; Venkatraman, Hebert ,&巴格内尔,2015)。尽管这项工作(Liu et al., 2019)不是自回归的,但它提出的多分辨率插补算法是由循环组成的,这会大大减慢插补速度。自注意力机制是非自回归的,可以克服RNN速度慢和内存限制的缺点,可以避免复合误差,有助于实现更好的插补质量和更快的速度。本文提出了一种名为 SAITS(基于自注意力的时间序列插补)的新颖模型,通过插补和重建的联合优化训练方法来学习缺失值。特别是,我们在这项工作中的贡献总结如下:

1.我们设计了一种自注意力模型插补和重建的联合优化训练方法,以对多元时间序列进行缺失值插补。通过这种方法训练的 Transformer 的性能优于 SOTA 方法。

2.我们设计了一个名为 SAITS 的模型,它由两个对角屏蔽自注意力 (DMSA) 块的加权组合组成,它将 SAITS 从 RNN 中解放出来,并使其能够明确捕获时间步之间的时间依赖性和特征相关性。

3.我们对三个现实世界的公共数据集进行了充分的实验和消融研究,以定量和定性评估我们的方法并证明其设计的合理性。实验结果不仅证明 SAITS 在插补精度方面达到了新的 SOTA 位置,而且还显示了 SAITS 促进模式识别模型利用现实世界中部分观察的时间序列进行学习的潜力。

2. Related work

Self-Attention-based (2019)从三个维度(时间、位置和测量)联合应用跨维度自注意力(CDSA)来估算地理标记数据(即时空数据集)中的缺失值。班萨尔等人。 (2021) 提出 DeepMVI 用于多维时间序列数据中的缺失值插补。他们的模型包括一个具有卷积窗口特征和内核回归的 Transformer。 Shan 和 Oliva (2021) 提出了 NRTSI,这是一种将时间序列视为一组(时间、数据)元组的时间序列插补方法。这样的设计使得NRTSI适用于不规则采样的时间序列。该方法直接使用 Transformer 编码器进行建模,并在工作中实现了 SOTA 性能。上述现有文献探索了自注意力在时间序列插补领域的应用。然而,CDSA (Ma et al., 2019) 是专门为时空数据而不是一般时间序列设计的,并且 CDSA 和 DeepMVI (Bansal et al., 2021) 都不是开源的,这使得其他研究人员很难重现他们的方法和结果。对于 NRTSI (Shan & Oliva, 2021),其算法设计由两个嵌套循环组成,削弱了 self-attention 并行计算的优势。更糟糕的是,这样的循环可能会导致 NRTSI 处理速度变慢。基于自注意力的时间序列插补模型的相关工作并不多。有一些基于自注意力的非时间序列插补模型,例如 AimNet (Wu et al., 2020) 和 MAIN (Mouselinos et al., 2021)。

3. Methodology

我们的方法由两部分组成:(1)。插补和重建的联合优化训练方法; (2)。 SAITS 模型,两个 DMSA 块的加权组合。

3.1. Joint-optimization training approach

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

3.1.1. Definition of multivariate time-series with missing values

对于具有 T 个时间步长和 D 个维度的多元时间序列的集合,它表示为 X = {x1, x2, ... , xt, ... , xT } ∈ RT ×D,其中第 t 个步骤 xt = { x1 t , x2 t , ... , xd t , ... , xD t } ∈ R1×D 并且其中的每个值都可能丢失。因此,Xd t 表示 X 中第 t 步的第 d 维变量。为了表示 X 中缺失的变量,引入缺失掩码向量 M ∈ RT ×D,其中

3.1.2. Two learning tasks

为了在上述定义的具有缺失值的多元时间序列上很好地训练基于自注意力的插补模型,设计了一种插补和重建的联合优化训练方法。这里“插补”被定义为模型从零开始填充给定样本中缺失部分的过程,“重建”是指模型在处理后尽可能准确地恢复观测值。这种联合优化方法由两个学习任务组成:掩模插补任务(MIT)和观察重建任务(ORT)。相应地,训练损失由两个损失累积而成:MIT的插补损失和ORT的重建损失在详细说明联合优化方法之前,有必要讨论为什么我们需要一种新的基于自注意力的插补模型的训练方法。在这里,为了简单的可视化,BRITS (Cao et al., 2018) 和 Transformer (Vaswani et al.,以此为例进行说明。前者代表主流的基于 RNN 的插补方法。后者是标准的基于自注意力的模型。绘制图2是为了进行比较并进一步说明效果。

训练 RNN 进行插补的正常方法包括三个主要步骤:(1)。输入时间序列特征向量 X 以及缺失掩码 M,以提醒模型输入数据有观测值和缺失值; (2)。让模型重建输入时间序列的观测部分,并计算每个时间步的重建误差作为损失; (3)。最后,利用重建损失来更新模型。这种训练方法就是ORT。 ORT 与基于 RNN 的模型配合良好,例如 BRITS。然而,与自回归的 RNN 不同,自注意力本身是非自回归的,并且并行且全局地处理所有输入数据。因此,如果仅在 ORT 上进行训练,Transformer 可以根据 M 将观测部分与 X 区分开来,因此,它将只专注于最小化观测值的重建误差。从图 2(b)来看,Transformer-ORT 的重建 MAE 比 BRITS 小得多。然而,在图2(a)中,Transformer-ORT的插补MAE从一开始就在上升,并且比BRITS的大得多。 Transformer-ORT 会忽略缺失值,因为无论填充什么值,都不会对其造成任何惩罚。因此,ORT 只能确保 Transformer 在观测值上得到良好的训练。换句话说,不能保证 Transformer-ORT 能够准确预测缺失值。为了解决这个优化问题,我们让另一个学习任务MIT成为这个保证,并将其与ORT绑定在一起。这就是联合优化训练方法的由来。这两个任务的细节描述如下,具体实现如图2所示。 

任务#1:屏蔽插补任务 (MIT) MIT 是一项针对人工屏蔽值的预测任务,它明确强制模型准确预测缺失值。在 MIT 中,对于模型中的每批输入,观察值的一定百分比(例如我们工作中的 20%)会被人为随机屏蔽。这些值对于模型来说是不可见的,即模型缺失的。经过人工掩蔽后,实际输入时间序列表示为 ̂ X,其对应的缺失掩码向量为 ̂ M。经过重建和插补的输出估计时间序列表示为 ̃ X。为了区分人为缺失值和原始缺失值值,引入指示掩模向量I。 ̂ M 和 I 的数学定义是:

模型对所有缺失值进行插补后,插补损失是人为缺失值之间计算的平均绝对误差(MAE)值及其各自的估算。 MAE 和 MIT 损失的计算在方程式中定义。下面的(1)和(2)。

请注意,类似于 MIT 的学习任务,即屏蔽一些对象然后预测它们,通常用于训练 NLP(自然语言处理)领域的模型,例如完形填空任务(Taylor,1953)和屏蔽语言建模( MLM)用于预训练 BERT(Devlin 等人,2019)。麻省理工学院受到传销的启发,但不同之处在于:(1)。 MLM 预测缺失的 token(时间步长),而 MIT 则预测时间步长的缺失值; (2)。 MLM 的一个缺点是它会导致预训练与微调之间的差异,因为预训练期间使用的掩码符号在微调的实际数据中不存在(Yang 等人,2019)。然而,插补的最初目的是预测缺失值或屏蔽值。因此,MIT不会造成这样的差异。

  任务#2:观测重建任务 (ORT) ORT 是针对观测值的重建任务。它广泛应用于时间序列和非时间序列插补模型的训练(Cao et al., 2018; Fortuin et al., 2020; Li et al., 2019; Luo et al., 2018, 2019 ;尹等人,2018)。经过模型处理后,输出中的观测值与原始值不同,称为重建。在我们的工作中,重建损失是在观测值与其各自的重建之间计算出的 MAE,如方程 1 中定义。 (3)如下。

在我们的培训方法中,MIT 和 ORT 是不可或缺的。利用 MIT 来强制模型尽可能准确地预测缺失值,并利用 ORT 来确保模型收敛到观测数据的分布。如图2所示,Transformer-ORT+MIT的插补MAE和重建MAE均稳步下降。 Transformer-MIT 和 Transformer-ORT+MIT 的比较表明,MIT 对降低插补 MAE 做出了主要贡献。与 Transformer-ORT+MIT 相比,Transformer-MIT 的插补 MAE 稍高。这证明 ORT 可以帮助模型进一步优化插补任务的性能。在重建 MAE 上,Transformer-MIT 上升是因为它不需要收敛于观察到的数据。此外,在图2(b)中的重建MAE方面,Transformer-ORT+MIT略高于Transformer-ORT,因为重建损失的梯度受到插补损失的影响。这是证明我们的联合优化方法有效的另一个证据。

  值得一提的是,我们的训练方法不仅是为时间序列自注意力模型设计的,而且可以应用于训练其他插补模型。如图1所示,蓝色框中的插补模型没有指定,可以替换为其他模型进行训练。此外,数据可以是非时间序列的。我们还在附录 B 中讨论了应用联合优化方法来训练 BRITS。

3.2. SAITS

3.2.1. Diagonally-masked self-attention

传统的自注意力机制是由 Vaswani 等人提出的。 (2017)解决语言翻​​译任务。目前它在序列建模中得到了广泛的应用。给定序列被映射到维度为dk的查询向量Q、维度为dk的键向量K和维度为dv的值向量V。缩放后的点积可以有效地计算 Q 和 K 之间的注意力得分(或注意力图)。之后,应用 softmax 函数来获得注意力权重。最终输出是注意力加权的 V 。整个过程如式(1)所示。 (4)下:

为了增强 SAITS 的插补能力,在自注意力内部应用了对角掩码。如方程式所示。 (5) 和 (6) 中,注意力图的对角线条目 (ε RT ×T ) 被设置为 -∞ (实际上设置为 -1 × 109),因此在 softmax 函数之后对角线注意力权重接近 0。图4生动地说明了DMSA机制。

有了这些对角掩码,第t步的输入值就看不到它们自己,并且被禁止对它们自己的估计做出贡献。因此,他们的估计仅取决于其他 (T − 1) 个时间步长的输入值。这种机制使得 DMSA 能够仅通过一次注意力操作来捕获高维空间中时间步之间的时间依赖性和特征相关性。随后,对角屏蔽多头注意力在上式中。 (7)、W Q i ∈ Rdmodel ×dk 、W K i ∈ Rdmodel ×dk 和 W Vi ∈ Rdmodel×dv 是将输入 x 分别投影到 Q、K 和 V 的线性层的参数。 W O ∈ Rhdv×dmodel 是 DiagMaskedMHA 中输出层的参数。为了证明 DMSA 的有效性,第 4.5.1 节中进行了消融研究。请注意,注意力掩模广泛应用于自注意力模型,特别是在 NLP 领域,包括这里使用的对角线掩模,例如(Shen et al., 2018;Shin, Lee, Yoon, & Jung, 2020;Yang et al., 2019) 。

3.2.2. Positional encoding and feed-forward network

  Vaswani 等人在《变形金刚》中。 (2017) 应用位置编码来利用序列顺序,因为原始 Transformer 架构中没有序列顺序的概念。此外,每个注意力层后面都应用了一个全连接的前馈网络。在SAITS中,位置编码和前馈网络都被保留。

  位置编码由正弦和余弦函数组成,其公式为: (8) 如下。请注意,为简洁起见,p 用于指代以下等式中的位置编码。

前馈网络有两个线性变换,它们之间有一个 ReLU 激活函数,如式(1)所示。 (9):

3.2.3. The first DMSA block

在第一个 DMSA 块中,实际输入特征向量 ̂ X 及其缺失掩码向量 ̂ M 连接起来作为输入。等式。 (10) 将输入投影到 dmodel 维度,并与位置编码 p 相加以产生 e。 We 和 be 是参数(We ∈ R2D×dmodel ,be ∈ Rdmodel )。等式中的运算 {}N (11)表示堆叠N层。等式。 (11) 使用对角屏蔽多头注意力和前馈网络的 N 堆叠层将 e 转移到 z。1 (12) 将 z 从 dmodel 维度减少到 D 维度并生成 ̃ X1(学习表示 1)。参数 Wz ∈ Rdmodel×D 且 bz ∈ RD。在等式中。 (13) 将 ̂ X 中的缺失值替换为 ̃ X1 中的对应值,得到完整的特征向量 ̂ X',且 ̂ X 中的观测部分保持完整。这里, ⊙ 是哈达玛积,也称为元素积。

3.2.4. The second DMSA block

第二个 DMSA 块采用第一个 DMSA 块的输出 ̂ X' 并继续学习。类似于等式。 (10),等式。 (14) 将 ̂ X′ 和 ̂ M 的串联从 D 维度投影到 dmodel 维度,然后将结果与 p 相加生成 α。参数 Wα ∈ R2D×dmodel ,bα ∈ Rdmodel 。等式。 (15) 对 α 执行 N 次嵌套注意力函数和前馈网络并输出 β。在等式中。 (16),为了获得 ̃ X2(学习表示 2),在 β 上应用两个线性投影,中间有一个 ReLU 激活,其中参数 Wβ ∈ Rdmodel×D,bβ ∈ RD,Wγ ∈ RD×D,bγ ∈ RD。根据经验,更深的结构可以更好地学习表示,以捕获时间序列中更复杂的相关性。在这里,在等式中。 (16) 中,我们比方程 (16) 多应用了一个非线性层。 (12)构建更深的区块。实际上,与应用单个线性投影相比,这种操作确实有助于实现更好的插补性能。在第一个 DMSA 块中获得 ̃ X1 时不应用相同的变换,因为后续加权组合中的可学习参数可以动态调整 ̃ X1 和 ̃ X2 的权重,以形成更好的 ̃ X3(学习表示 3)。此外,我们发现即使在这里应用相同的变换来获得 ̃ X1 也无助于获得比当前设计更好的结果。它验证了我们加权组合的有效性,如下所述。

3.2.5. The weighted combination block

  为了获得更好的学习表示 ̃ X3,加权组合块被设计为根据时间依赖性和缺失信息动态权重 ̃ X1 和 ̃ X2。 ̂ A (ε RT ×T ) 在方程中。 (17) 是第二个 DMSA 块最后一层中多头输出的注意力权重 A 的平均值。等式。 (18) 以平均注意力权重 ̂ A 和缺失掩码 ̂ M 作为参考,生成组合权重 η (ε (0, 1)T ×D) 和可学习参数 Wη (ε R(T +D)×D) 和bη (ε RD)。等式。 (19) 通过权重 η 将 ̃ X1 和 ̃ X2 组合起来,形成 ̃ X3。最后,在等式中。 (20),将 ̂ X 中的缺失值替换为 ̃ X3 中的相应值,以产生补向量 ̂ Xc ,即插补数据。为了进一步讨论加权组合的合理性,在4.5.2节中进行了消融实验。

   此外,添加了第二个 DMSA 块和加权组合块来扩展我们模型的学习过程并获得更好的性能。我们不会应用超过两个 DMSA 块,因为带来的好处是微乎其微的。进行实验和分析来证明我们在 4.5.3 节中的观点。

  3.2.6. Loss functions of learning objectives

 

  模型训练中有两个学习任务:MIT和ORT。 MIT 的插补损失 (MIT) 和 ORT 的重建损失 (ORT) 均由式 (1) 中定义的 MAE 损失函数 (lMAE) 计算。 (1),它需要三个输入:估计、目标和掩模(所有这些都 ∈ RT ×D)。它计算估计值和目标值中掩码指示的值之间的 MAE。方程中 ORT 的目标和掩码。 (21) 是输入特征向量 ̂ X 及其缺失掩模向量 ̂ M。我们让 ̃ X1 和 ̃ X2 直接参与 ̃ X3 的组成。因此,这里 ORT 是从三个学习的表示中累积的:̃ X1、̃ X2 和 ̃ X3。这种累积的损失可以导致更快的收敛速度。为了确保ORT不会太大而影响梯度方向,将其减小三倍,即求平均值。输入方程式中 MIT 的估计、目标和掩码。 (22) 分别是补集特征向量 ̂ Xc 、没有人工屏蔽值的原始特征向量 X 和指示屏蔽向量 I 。最后,等式。 (23) 将ORT 和MIT 通过加权和相加,其中λ 是可以调整的加权系数。在我们的实验中,λ固定为1。我们的 SAITS 模型通过最小化最终损失  进行更新。

4. Experiments

5. Conclusion

  本文提出了 SAITS,这是一种新颖的基于自注意力的模型,用于估算多元时间序列中的缺失值。具体来说,联合优化训练方法是为基于自注意力的模型设计的,以执行插补任务。与基于 SOTA RNN 的插补模型 BRITS 相比,SAITS 将平均绝对误差 (MAE) 降低了 12%∼38%,训练速度提高了 2.0∼2.6 倍。与另一种以 Transformer 为骨干的 SOTA 模型 NRTSI 相比,SAITS 的插补精度提高了 7%∼39%。此外,当使用我们的联合优化方法训练 Transformer 时,SAITS 的 MAE 仍然比它小 2%∼19%,并且训练速度相当。特别是在四个数据集中最复杂的数据集 Electricity 上,改进仍然很明显(11%),这意味着当数据集变得复杂时,SAITS 相对于 Transformer 具有明显的优势。此外,实验还告诉我们,SATIS 在插补任务上比 Transformer 具有更高效的模型结构。为了获得可比的性能,SAITS 只需要 Transformer 15%∼30% 的参数。此外,为了证明 SAITS 架构设计的合理性,进行了一系列的消融实验,以进一步讨论我们设计的原因并证明其有效性。所有的实验结果都得出相同的结论,即 SAITS 在时间序列插补任务上有效地实现了新的最先进的精度。除了定量评估SAITS的插补精度之外,我们在下游分类实验中的实证结果定性地表明,通过让SAITS插补缺失部分可以直接提高分类性能,这揭示了SAITS成为模式识别模型学习桥梁的潜力时间序列数据不完整。

  我们未来的工作将研究 SAITS 对具有其他缺失模式的部分观察时间序列的插补性能。请注意,我们在 MIT 中添加了完全随机的人工缺失,因为在本工作的设置中假设缺失模式为 MCAR。如果已经知道要估算的数据集的缺失模式,则可以应用特定模式来引入人为缺失值。这是直观的,并且仍然保留了 MIT 的功能,尽管与应用 MCAR 缺失相比,它是否有助于提高插补准确性还有待讨论。此外,我们将研究 SAITS 在其他现实世界大型数据集上的性能,以进一步验证该模型在其他领域的通用性。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值