0%

gs A Deep Neural Network for Unsupervised Anomaly Detection and Diagnosis in Multivariate Time Series Data

Zhang C, Song D, Chen Y, et al. A deep neural network for unsupervised anomaly detection and diagnosis in multivariate time series data[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2019, 33: 1409-1416.

背景介绍

目前,多变量时间序列数据在各种现实系统中越来越受到重视,如发电厂等。

多变量时间序列异常检测与诊断是指在一定的时间步长中识别异常状态,找出异常的根本原因

然而,建立这样一个系统是具有挑战性的:

  • 需要捕获每个时间序列中的时间依赖性
  • 需要对不同时间序列对之间的相互关系进行编码
  • 该系统应该对噪声具有鲁棒性
  • 根据不同事件的严重程度为操作员提供不同级别的异常评分
  • 需要面对标签稀缺的问题

尽管已经开发了大量的非监督异常检测算法,但其中很少有能够共同应对这些挑战的。

sJykuV.png

相关工作非监督的方法效果较差的原因

  • 多元时间序列数据存在时间相关性。基于距离/聚类的方法kNN,基于分类的方法OC-SVM,基于密度的方法DAGMM(深度自编码高斯混合模型),都不能捕获跨不同时间步长的时间依赖性
  • 多变量时间序列数据在实际应用中往往含有噪声。噪声可能会影响时间预测模型的泛化能力,如自回归移动平均(ARMA)和LSTM Encoder-Decoder ,使得结果假阳性增多
  • 在实际应用中,根据不同事件的严重程度,为操作人员提供不同程度的异常评分是很有意义的。

本文贡献

  • 异常检测与诊断是异常检测与诊断的三大基本任务。异常检测、根本原因识别和异常严重程度(持续时间)解释。不像以前的研究是独立地解决每个问题,我们是共同地解决这些问题的。
  • 提出了系统特征矩阵的概念,并利用卷积编码器对时序间的相关关系进行编码,将时间序列与基于注意力机制的卷积LSTM网络相结合,利用卷积解码器重构特征矩阵。MSCRED是第一个考虑多变量时间序列相关性的异常检测模型,可以联合解决这三个任务。
  • 我们对合成数据集和发电厂数据集进行了广泛的实证研究。我们的结果表明MSCRED优于最先进的基线方法。

MSCRED框架

sJyij0.png

特征矩阵

特征矩阵:$M^t$

两个时序段:$x_i^w=(x_i^w-t,x_i^w-t+1,…,x_i^w)$

​ $x_j^w=(x_j^w-t,x_j^w-t+1,…,x_j^w)$

特征矩阵的每一项:

窗口大小:$w=10,30,60$

段滑窗:$10$

该方法不仅能捕获两个时间序列之间的形状相似性和值尺度相关性,而且对输入噪声具有很强的鲁棒性,因为特定时间序列的波动对特征矩阵的影响很小

卷积编码器

sJy99s.png

输入:$\chi^{t,0}\in R^{n\times n\times s}$

输出:$\chi^{t,l}=f(W^{l}*\chi^{t,l-1}+b^l)$ 激活函数: Scaled Exponential Linear Unit

Conv1-Conv4:$3\times 3 \times 3$ 的32核,$3\times 3 \times 32$ 的64核,$2\times 2 \times 64$ 的128核,$2\times 2 \times 128$ 的256核;步长:$1\times 1$, $2\times 2$, $2\times 2$, $2\times 2$

基于注意力机制的ConvLSTM

sJyShj.png

sJszNQ.png

sJyPcq.png

卷积解码器

sJyABT.png

sJyZEF.png

DeConv1-DeConv4:$3\times 3 \times 3$ 的32核,$3\times 3 \times 32$ 的64核,$2\times 2 \times 64$ 的128核,$2\times 2 \times 128$ 的256核;步长:$1\times 1$, $2\times 2$, $2\times 2$, $2\times 2$

Loss Function

sJyEHU.png

实验

回答的问题

RQ1 MSCRED在多变量时间序列异常检测方面是否优于基线方法?

RQ2 MSCRED的每个组件都怎样影响其性能?

RQ3 MSCRED是否能做到异常跟因检测?

RQ4 MSCRED能否对异常严重性做有效的解释?

RQ5 MSCRED是否能对输入噪音具有鲁棒性?

数据集

Synthetic data

sJyeN4.png

Power plant data

sJz6df.png

合成数据中生成的5个异常持续时间属于1-3种尺度(30,60,90)

电厂数据中一个是实际异常,4个是随机植入的

Baseline methods

分类模型:OC-SVM

密度估计模型:DAGMM(深度自编码高斯混合模型)

预测模型:HA(History Average) ARMA LSTM-ED

MSCRED变体:

​ (1)去除注意力模块和最开始的三个ConvLSTM

​ (2)去除注意力模块和最开始的两个ConvLSTM

​ (3)去除注意力模块

评价指标

Precision, Recall, F1-Score

性能评估

RQ1 MSCRED在多变量时间序列异常检测方面是否优于基线方法?

sJxUvn.png

  • 时间预测模型要比分类和基于密度的模型效果好一些
  • LSTM-EDARMA效果好,深度学习模型可以捕获时间信息
  • MSCRED表现最好

sJxfDx.png

RQ2 MSCRED的每个组件都怎样影响其性能?

sJxwD0.png

sJxduq.png

RQ3 MSCRED是否能做到异常跟因检测?

sJx8US.png

top-k 方式判定异常跟因 图5 k=3

RQ4 MSCRED能否对异常严重性做有效的解释?

sJx0bV.png

sJxWK1.png

RQ5 MSCRED是否能对输入噪音具有鲁棒性?

sJx6C4.png

噪声的控制在于$\lambda$的取值

sJyeN4.png

总结

本文综合异常检测和诊断提出了一个创新的模型MSCRED,该模型可以采用不同尺度(解析度)对系统状态(多元时间序列)构造特征矩阵来描述不同时间段里整个系统状态,采用基于注意力机制的深度编码器解码器来重构特征矩阵,最终判定异常的方式是使用重构误差。