引言
定义:多元时间序列中的异常检测和诊断是指识别特定时间步长的异常状态并查明根本原因。
挑战:构建多元时序异常检测系统具有挑战性
$\bull$不仅需要捕获每个时间序列中的时间依赖性,还需要对不同时间序列对之间的相关性进行编码。
$\bull$系统应具有抗噪声能力,并根据不同事件的严重性为操作员提供不同级别的异常评分。
本文解决方案:提出了一种多尺度卷积循环编码器-解码器 (MSCRED),以在多元时间序列数据中执行异常检测和诊断。
$\bull$构造多尺度(分辨率)特征矩阵(signature matrices)来表征不同时间步长中系统状态的多个级别。
$\bull$给定特征矩阵,使用卷积编码器对传感器间(时间序列)相关性进行编码,并开发基于注意力的卷积长短期记忆(ConvLSTM)网络来捕获时间模式。
$\bull$基于对传感器间相关性和时间信息进行编码的特征图,卷积解码器用于重建输入特征矩阵,并进一步利用残差特征矩阵来检测和诊断异常。
实验结果:基于合成数据集和真实发电厂数据集的大量实证研究表明,MSCRED 可以胜过最先进的基线方法。
介绍
复杂系统在现代制造业和信息服务中无处不在。管理这些系统的一项关键任务是检测(1)特定时间步长的异常情况,以便操作员可以采取进一步行动来解决潜在问题。此外,查明根本原因,即(2)识别导致异常的传感器(系统组件),可以帮助系统操作员及时进行系统诊断和修复。
在现实世界的应用中,由于现代系统的自动恢复能力和稳健性,由时间动荡或系统状态切换引起的短期异常可能最终不会导致真正的系统故障,这是很常见的。因此,如果异常检测算法可以(3)根据各种事件的严重程度为操作员提供不同级别的异常分数,那将是很重要的。
为简单起见,本文假定事件的严重性与这项工作中异常的持续时间成正比。图 1(a) 说明了多元时间序列数据中的两个异常,即红色虚线圆圈标记的 A1(黄色) 和 A2(黑色)。 A2 的持续时间(严重性级别)大于 A1。
==先前研究==
为了构建一个可以自动检测和诊断异常的系统,一个主要问题是历史数据中很少甚至没有异常标签可用,这使得监督算法不可行。 在过去的几年中,已经开发出了大量无监督的异常检测方法。 最突出的技术包括距离/聚类方法(KNN)、分类方法(OC-SVM)、概率方法、密度估计方法(DAGMM)、时间预测方法(ARMA、基于LSTM的方法)以及最近的深度学习技术。
==缺陷==
尽管存在内在的无监督设置,但由于以下原因,它们中的大多数仍可能无法有效检测异常:
多变量时间序列数据存在时间依赖性。 由于这个原因,需要使用距离/聚类方法,分类方法和密度估计方法,可能表现不佳,因为它们无法捕获不同时间步长的时间依赖性。
多元时间序列数据在实际应用中通常包含噪声。 当噪声变得相对严重时,可能会影响时间预测模型的概括能力,以及增加误报。根据不同事件的严重程度为运营商提供不同级别的异常评分是有意义的, 现有的根因分析方法,例如(RCA) 对噪声敏感,无法处理这个问题。
在本文中,提出了一种多尺度卷积循环编码器-解码器(MSCRED)来共同考虑上述问题。
(1)MSCRED 首先构建多尺度(分辨率)特征矩阵来表示不同时间步长的系统状态的多个级别(系统状态的不同级别用于指示不同异常事件的严重程度)。
(2)给定特征矩阵,使用卷积编码器对传感器间(时间序列)相关模式进行编码,并开发基于注意力的卷积长短期记忆(ConvLSTM)网络来捕获时间模式。
(3)利用对传感器间相关性和时间信息进行编码的特征图,卷积解码器用于重建特征矩阵,并进一步利用残差特征矩阵来检测和诊断异常。
==如果 MSCRED 之前从未观察到类似的系统状态,它可能无法很好地重建特征矩阵==
例如,图 1(b) 显示了正常和异常期间的特征矩阵$M{normal}$和$M{abnormal}$。理想情况下,MSCRED 不能很好地重建 $M{abnormal}$,因为训练矩阵(例如,$M{normal}$)与 $M_{abnormal}$不同。
总而言之,我们工作的主要贡献是:
(1)我们将异常检测和诊断问题制定为三个基本任务,即==异常检测、根因识别和异常严重程度解释==。
(2)我们引入了系统特征矩阵的概念,开发了 MSCRED 以通过卷积编码器对传感器间相关性进行编码,将时间模式与基于注意力的 ConvLSTM 网络相结合,并通过卷积解码器重建签名矩阵。 据我们所知,MSCRED 是第一个考虑多元时间序列之间相关性进行异常检测的模型,可以共同解决所有三个任务。==特征抽取、重构、评估==
(3)我们对综合数据集和电厂数据集进行广泛的经验研究。 我们的结果证明了 MSCRED 的性能优于最先进的基线方法。
相关工作
多变量时间序列数据的无监督异常检测是一项具有挑战性的任务,过去几年已经开发了各种类型的方法。
一种传统类型是距离方法。KNN,OC-SVM,ARMA,集成方法等。
基于深度学习的无监督异常检测算法。DAGMM, LSTM等。
MSCRED框架
问题陈述
给定长度为T的n个时间序列的历史数据,即$\mathbf{X}=(\mathbf{x}_1,…,\mathbf{x}_n)^T\in \mathbb{R}^{nT}$,假设数据中*不存在异常,我们的目标是:
$\bull$检测T之后的异常
$\bull$给出异常的程度
使用特征矩阵表明状态
先前的研究表明,不同时间序列对之间的相关性对于表征系统状态至关重要。为了表示从$t−w$到 $t$ 的多元时间序列片段中不同时间序列对之间的相关性,基于该时间段内两个时间序列的成对内积构建了一个$n*n$特征矩阵$M^t$。例子如图1(b):
具体来说,给定多元时间序列段$X^w$中的两个时间序列==错误==
和,它们的相关性$m_{ij}^t\in M^t$计算为:
其中$\mathcal{k}=w$,特征矩阵,即$M^t$,不仅可以捕捉两个时间序列之间的形状相似性和值尺度相关性,而且对输入噪声具有鲁棒性,因为某些时间序列的噪声对特征矩阵的影响很小。
在本文中,两段之间的间隔设置为10,此外,为了表征不同尺度的系统状态,我们在每个时间步构建了$s(s = 3) $个不同长度 $(w = 10, 30, 60)$ 的特征矩阵。==异常严重程度解释==
卷积编码器
采用全卷积编码器对系统特征矩阵的空间模式进行编码。具体来说,我们将不同尺度的$M^t$连接为张量$\mathcal{X}^{t,0}\in \mathbb{R}^{nns}$,然后将其馈送到多个卷积层。假设$\mathcal{X}^{t,l-1}\in \mathbb{R}^{n{l-1}*n{l-1}*d_{l-1}}$表示第$(l-1)$层中的特征图,则第$l$层的输出由下式给出:
$f(.)$是激活函数,$W^l\in \mathbb{R}^{klk_ld{l-1}d_l}$表示大小为$k_lkl*d{l-1}$的卷积核,$b^l\in \mathbb{R}^{dl}$是一个偏置项,$\mathcal{X}^{t,l}\in \mathbb{R}^{n{l}n_{l}d_{l}}$表示第$l$层的输出特征图。
使用缩放指数型线性单元 (SELU) 作为激活函数和 4 个卷积层,Conv1-Conv4 具有 32 个大小为 3 × 3 × 3 的内核、64 个大小为3×3×32 的内核、128 个大小为 2×2×64 的内核和 256 个大小为 2×2×128 的内核以及分别为1×1、2×2、2×2 和 2×2 步幅。
图 2(a) 说明了特征矩阵的详细编码过程。
基于注意力的ConvLSTM
卷积编码器生成的空间特征图在时间上取决于之前的时间步长。
ConvLSTM已被开发用于捕获视频序列中的时间信息,但其性能可能会随着序列长度的增加而恶化。 为了解决这个问题,开发了一种基于注意力的 ConvLSTM,它可以跨不同时间步自适应地选择相关的隐藏状态(特征图)。具体来说,给定来自第$l$个卷积层的特征图$\mathcal{X}^{t,l}$和先前的隐藏状态$\mathcal{H}^{t-1,l}\in \mathbb{R}^{n{l}*n{l}*d_{l}}$,当前隐藏状态$\mathcal{H}^{t,l}$更新为$\mathcal{H}^{t,l}=ConvLSTM(\mathcal{X}^{t,l},\mathcal{H}^{t-1,l})$,其中 ConvLSTM单元被表述为:
$\circ$代表 Hadamard 积,$\sigma$是 sigmoid 函数,
由于最佳实证性能,我们调整步长h(即先前段的数量)并将其设置为5。此外,考虑到并非所有先前的步骤都与当前状态$\mathcal{H}^{t,l}$同等相关,我们采用时间注意机制来自适应地选择与当前步骤相关的步骤,并聚合这些信息特征图的表示以形成精炼的输出特征图$\hat{\mathcal{H}}^{t,l}$ ,由下式给出:==归一化==
其中 Vec(·) 表示向量,$\mathcal{X}$是重新缩放因子 $(\mathcal{X}=5.0)$。 也就是说,我们将最后一个隐藏状态$\mathcal{H}^{t,l}$作为上下文向量,并通过 softmax 函数测量前面步骤的重要性权重$\alpha_i$。本质上,基于注意力的 ConvLSTM 联合建模特征矩阵的空间模式和每个卷积层的时间信息。图 2(b) 说明了时间建模过程。
卷积解码器
为了解码上一步获得的特征图并获得重建的特征矩阵,我们设计了一个卷积解码器,其公式如下:
$\circledast$表示去卷积操作,$\oplus$代表连接操作,$f(.)$是激活单元,$\hat{W}^l,\hat{b}^l$是第$l$层反卷积层的滤波器核和偏置参数。
具体来说,我们按照相反的顺序将第$l$个 ConvLSTM 层的$\hat{\mathcal{H}}^{t,l}$馈送到反卷积神经网络。输出特征图$\hat{\mathcal{X}}^{t,l-1}$与前一个 ConvLSTM 层的输出连接,使解码器过程堆叠。连接后的表示被进一步送入下一个反卷积层。最终输出$\hat{\mathcal{X}}^{t,0}$(具有相同大小的输入矩阵)表示重构特征矩阵。
因此,我们使用了 4 个反卷积层:DeConv4-DeConv1 具有 128 个大小为 2×2×256 的内核、64 个大小为 2×2×128 的内核、32 个大小为 3×3×64 的内核和 3个大小为3×3×64的内核 , 以及2×2,2×2,2 × 2, 和1 × 1 步幅。
解码器能够在不同的反卷积和 ConvLSTM 层合并特征图,这可以有效提高异常检测性能,我们将在实验中证明。 图 2(c) 说明了解码过程。
损失函数
对于 MSCRED,目标定义为矩阵上的特征误差,即
$\mathcal{X}_{:,:,c}^{t,0}\in\mathbb{R}^{n*n}$。我们采用小批量随机梯度下降法和 Adam 优化器来最小化上述损失。
在足够数量的训练时期后,利用学习到的神经网络参数来推断验证和测试数据的重建特征矩阵。 最后,我们基于残差特征矩阵进行异常检测和诊断。
实验
在本节中,我们进行了大量实验来回答以下研究问题:
• 异常检测。 在多元时间序列$(RQ1)$中,MSCRED 是否可以胜过基线方法的异常检测? MSCRED 的每个组件如何影响其性能$(RQ2)$?
• 异常诊断。 MSCRED 是否可以有效地执行根因识别$(RQ3)$和异常严重程度(持续时间)解释$(RQ4)$?
• 抗噪能力强。 与基线方法相比,MSCRED 是否对输入噪声$(RQ5)$具有更强的鲁棒性?
实验设置
数据集
合成数据集
其中$s_{rand}$是 0 或 1 的随机种子。
上面的公式捕获了多元时间序列的三个属性:$(a) $三角函数 (C1) 模拟时间模式;$(b)$ 时间延迟$t_0\in[50,100]$和频率$ω \in[40, 50] (C2) $模拟各种周期循环;$(c)$ 由因子$ λ = 0.3 (C3) $缩放的随机高斯噪声$ \varepsilon\in N(0,1)$模拟各种形状的数据噪声。
此外,如果两个正弦波的频率相似且几乎同相,则它们具有高相关性。 通过随机选择每个时间序列的频率和相位,我们期望一些对具有高相关性,而一些具有低相关性。 我们随机生成 30 个时间序列,每个序列包含 20000 个点。 此外,在测试期间将5个类似冲击波的异常(具有相似的正常数据值范围)随机注入3个随机时间序列(根本原因)中。 每个异常的持续时间属于三个尺度之一,即 30、60、90。
真实的发电厂数据
包含一个由系统操作员识别的异常,我们在测试期间随机注入 4 个额外的异常(类似于我们在合成数据中所做的)以进行评估。
基线
分类模型: OC-SVM;密度估计模型:DAGMM(能量分数作为异常分数);
预测模型: 它对训练数据的时间依赖性进行建模并预测测试数据的值。 我们采用了三种方法:HA、ARMA、LSTM-ED。 异常分数被定义为所有时间序列的平均预测误差。
MSCRED变体:
$CNN_{ConvLSTM}^{ED(4)}:$注意力模块和最后一层ConvLSTM;
$CNN_{ConvLSTM}^{ED(3,4)}:$注意力模块和第3,4层ConvLSTM;
$CNN_{ConvLSTM}^{ED}:$无注意力模块;
异常分数:残差特征矩阵中值大于给定阈值$θ$的数量,$θ $是在不同的数据集上凭经验确定的。
评估方法
$P,R,F1$
阈值设定(专家建议):$\tau=\beta·max{s(t){valid}}$, $s(t){valid}$是验证阶段的异常分数,$\beta \in [1,2]$是验证期间最大的F1分数。测试期间的召回和精确度分数是根据此阈值计算的。
(1)在两个数据集上的实验重复 5 次,并报告平均结果以供比较。
(2)三个通道,使用最小的一个 $(w = 10) $进行以下异常检测和根因识别评估。 还将提供三个通道结果的性能比较,用于异常严重程度的解释。
实验结果
异常检测结果$(RQ1、RQ2)$。 表 2 报告了用于异常检测的不同方法的性能,其中最佳分数以粗体突出显示,最佳基线分数以下划线表示。 最后一行报告了 MSCRED 相对于最佳基线方法的改进 (%)。
RQ1:与基线的比较
(a)时间预测模型比分类和密度估计模型表现更好,表明两个数据集都具有时间依赖性;
(b) LSTM-ED的性能优于 ARMA,表明深度学习模型可以比传统方法捕获数据中更复杂的关系;
(c)MSCRED 表现最佳,对最佳基线的改进范围从 13.3% 到 30.0%。因为它可以有效地对多变量时间序列的传感器间相关性和时间依赖性进行建模。
图 3 提供了两个数据集的 MSCRED 和两种最佳基线方法(即 ARMA 和 LSTM-ED)的案例研究。 我们可以观察到 ARMA 的异常分数不稳定,结果包含很多误报和漏报。 同时,LSTM-ED 的异常分数比 ARMA 更平滑,但仍包含一些误报和漏报。 MSCRED 可以检测所有异常,没有任何假阳性和假阴性。
为了证明更令人信服的评估,我们对另一个具有 10 个异常的合成数据进行了实验。MSCRED 的平均召回率和准确率得分(5 次重复实验)为 (0.84, 0.95),而 LSTM-ED 的值为 (0.64, 0.87)。 此外,我们还对另一个大型电厂数据进行了实验,该数据具有 920 个传感器和 11 个标记异常。 MSCRED 的召回率和准确率得分为 (7/11, 7/13),而 LSTM-ED 的值为 (5/11, 5/17)。 所有评估结果都表明了我们模型的有效性。
RQ2(各个模块的重要性):与模型变体的比较
在表 2 中,我们还观察到通过增加 ConvLSTM 层的数量,MSCRED 的性能有所提高。
为了进一步证明注意力模块的有效性,图 4 报告了在最后两个 ConvLSTM 层上 5 个先前时间步长上注意力权重的平均分布。 结果是使用发电厂数据获得的。 我们分别计算正常时期段和异常时期段的平均注意力权重分布。 请注意,在后一种分布中,较旧的时间步长(第 1 步或第 2 步)往往仍处于正常状态,因此与当前时间步长(第 5 步)处于不同的系统状态,其分配的权重低于正常段分布中的权重 . 换句话说,注意力模块对系统状态变化表现出很高的敏感性,因此有利于异常检测。
RQ3:根因识别结果。
作为异常诊断任务之一,根因识别依赖于良好的异常检测性能。 因此,我们比较了 MSCRED 和最佳基线(即 LSTM-ED)的性能。对于每个异常事件,我们按异常分数对所有时间序列进行排名,并将前 k 个序列确定为根本原因。 图 5 显示了 5 次重复实验中的平均召回率(k = 3)。 MSCRED 在合成数据和发电厂数据中分别以 25.9% 和 32.4% 的幅度优于 LSTM-ED。
RQ4:异常严重性(持续时间)解释。
MSCRED 的特征矩阵包括$s$个通道(在当前实验中$ s = 3$),它们以不同的尺度捕获系统状态。为了解释异常严重程度,我们首先根据三个通道的残差特征矩阵计算不同的异常分数,分段大小分别为 $w = 10、30 和 60$,并将它们表示为 MSCRED(S)、MSCRED(M) 和 MSCRED(L)。然后,我们独立评估他们在三种类型的异常上的表现。
图6(a)报告了对两个数据集进行 5 次重复实验的平均召回率分数。我们可以观察到 MSCRED(S) 能够检测所有类型的异常,而 MSCRED(M) 可以检测中长期异常。相反,MSCRED(L) 只能检测长时间异常。因此,我们可以通过联合考虑三个异常分数来解释异常严重程度。如果可以在所有三个通道中检测到异常,则该异常更有可能持续很长时间。否则,可能是短期或中期异常。
为了更好地展示 MSCRED 的有效性,图 7 提供了发电厂数据异常诊断的案例研究。在这种情况下,MSCRED(S) 检测到所有 5 个异常,包括 3 个短、1 个中和 1 个持续时间长的异常。 MSCRED(M) 错过了两个短持续时间的异常,而 MSCRED(L) 只检测到长持续时间的异常。此外,注入异常事件的四个残差特征矩阵显示了根本原因识别结果。在这种情况下,我们可以准确地查明超过一半的异常根本原因(红色矩形突出显示的行/列)。
RQ5:对噪声的鲁棒性。
多变量时间序列在实际应用中通常包含噪声,因此异常检测算法对输入噪声的鲁棒性很重要。 为了研究 MSCRED 在异常检测方面的稳健性,我们通过在公式 7 中添加各种噪声因子 λ 在不同的合成数据集中进行实验。图 8 显示了$ λ $对 MSCRED、ARMA 和 LSTM-ED 性能的影响。我们可以观察到,当噪声范围从 0.2 到 0.45 变化时,MSCRED 始终优于 ARMA 和 LSTM-ED。 这表明,与 ARMA 和 LSTM-ED 相比,MSCRED 对输入噪声的鲁棒性更强。
总结
在本文中,我们制定了异常检测和诊断问题,并开发了一种创新模型 MSCRED 来解决它。 MSCRED 采用多尺度(分辨率)系统特征矩阵来表征整个系统在不同时间段的状态,并采用深度编码器-解码器框架来生成重建的特征矩阵。 该框架能够对多变量时间序列的传感器间相关性和时间依赖性进行建模。 残差特征矩阵进一步用于检测和诊断异常。 对合成数据集和发电厂数据集的广泛实证研究表明,MSCRED 可以胜过最先进的基线方法。