
基于真实异常模式的多变量时间序列异常检测
三个要点
✔️我们提出了FMUAD,这是一个明确识别多变量时间序列特有的三种异质模式的框架,这些模式并没有被传统的经典或深度学习模型所捕获。
✔️特点是模块化结构和为简洁而设计的损失函数
✔️在相同的真实世界数据集上与SOTA相比,它在精确度和召回率方面的得分都很高,比F1得分高出17%!
Forecast-based Multi-aspect Framework for Multivariate Time-series Anomaly Detection
written by Lan Wang, Yusan Lin, Yuhang Wu, Huiyuan Chen, Fei Wang, Hao Yang
(Submitted on 13 Jan 2022)
Comments: Published at IEEE BigData 2021
Subjects: Machine Learning (cs.LG)
code:![]()
本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的。
简介
多变量时间序列异常检测对现实世界的应用具有强烈的兴趣。这包括道路交通监测、金融欺诈检测、网络日志分析和网络分析。本网站已经介绍了几种方法,包括图表。VISA的研究人员正在努力解决现实世界应用的额外挑战。
异常检测的众多挑战中最重要的一个是多变量时间序列数据本身的性质。例如,它可以是多个时间序列之间的相互影响,一个序列模式内的关系,频率转移或趋势的突然变化。大多数基于预测的模型是有缺陷的,因为它们没有明确地处理这种模式。
所提出的方法采取了模块化的方法,每个模块都描述了三种异质模式:时际相关动态、时内动态和多尺度空间动态。这些模块通过一个统一的界面进行组合和训练。
另一点是缺乏对异质性事件的标签。由于异常数据很少,我们需要一个不依赖标签的模型,即无监督学习。
总结一下。
提出的FMUAD(基于预测的多方位无监督异常检测框架)可以捕捉到不同的异常模式。我们已经证实,F1得分比其他基于预测的方法的SOTA高17%以上。
它有一个模块化的架构,可以明确地应对不同的可变性模式,使其成为一个直观的、可描述的框架。因为它以耦合的方式学习不同的模块,所以它不仅能捕捉到每个模式的异质性,而且还能检测到混合模式的异质性。
我们定义了一个新的损失函数,它不仅包括预测误差,还包括简洁性(方差)。简洁性已被确定为控制类中差异的一个理想属性。通过控制正常类的简洁性,我们旨在学习更紧密的表征,对异常值更敏感。
相关方法
为了表示时间序列数据的复杂性,如上所述,已经提出了图模型,但由于模型的复杂性不断增加,很难将其扩展到现实世界的应用。因此,对时间序列数据的普遍满意的表示方法至今仍有很大的争论。
关于时间序列异常检测的大量文献可分为三大类。
1)基于接近性
根据定义的距离来量化对象的相似性。检测出远离大多数的物体是不相似的。
2)重新配置基地
重建误差被假定为核心,异常点处于与大多数数据点不同的分支。不能从低维空间有效地重建。
3) 预测基础
无法从历史数据中预测的不寻常的模式被认为是异常的。基于预测误差的异常情况检测。
基于预测的方法可以根据预测的方法进一步分类。经典方法ARIMA是一个统计分析模型,它学习时间序列数据的自相关来预测未来的数值;Holt-Winter和FDA的概念相似。虽然高效,但它对数据集和模型参数的选择很敏感,并且需要领域知识。基于机器学习的方法试图解决这些限制:分层时间记忆(HTM)是一种无监督的序列记忆算法,用于检测流媒体数据中的异常情况;Ding等人将HTM与贝叶斯网络相结合,产生了一个多变量时间序列LSTM-RNNs被广泛用于SOTA研究,而Hundman提出的LSTM-NDT是一种无监督的、非参数化的阈值方法,使用LSTM网络来产生预测。DAGMM优化深度网络和高斯混合模型的参数,共同检测异常情况。
这些方法是有风险的,因为它们是捕捉所有可能的异常情况的解决方案,并且在不同的异常模式之间有明显的差异。
建议的方法
图2是高层次的概念图,图4是详细的结构图。数据的输入有一个窗口长度k,异常检测是在一个窗口的基础上进行的。它的输入与过去τ个区间的数据相结合,建立一个预测模型。
这个过程被分成三种类型的变化检测器Dc、Dt和Ds。它们分别考察了系列间相关性、系列内时间模式和多尺度空间模式的变化。
为了把握各系列的特点,将输入数据Wt转化为Ft和St,其中Ft是频率矩阵,St是正弦矩阵,包含各系列之间的相关信息,三者合并后形成Yt,如图3所示。
序列间相关检测器
为了获得系列之间的相关性,我们使用余弦相似度而不是内积。 如图4所示,经过开窗数据序列后,用TF1变换得到余弦相似度,经过特征矩阵序列后,用ConvLSTM提取时间信息,通过时间关注操作自适应调整权重。
序列内时间模式检测器
为了捕捉序列中的时间模式,窗口序列数据要经过离散傅里叶变换TF2,变成一个频率矩阵序列。和以前一样,我们进行ConvLSTM和时间注意力操作。
多尺度图案检测器
另一个重要的异常模式是空间动态或 "价值变化",如图1中的(c)和(d),其中(c)很容易发现,但(d)很难发现,因为变化是渐进和轻微的。在(d)的情况下,如果我们在时间轴上汇总数据,就会更容易发现尖峰。为了了解这些长期动态,我们使用了扩张的CNN。此外,我们通过1x1 Conv和一个完整的连接层来传递数据。
损失函数
我们使用一个基于预测误差及其变异性的损失函数。预测误差是由真实和预测数据的L2准则对该批数据进行l1平均。我们还引入了一个简洁的损失。它是在预测误差的方差上的批量平均的l2。最终的损失函数是由l1和l2相乘得到的,如下所示
实验
用于评估的数据集是SMD(服务器机器数据集)和MSL(火星科学实验室漫游器),这些数据集在其他论文中经常使用。
有三个模型需要进行基准测试:LSTM-NDT、 DAGMM和 LSTM-VAE。前两个是基于预测的。最后一个也是基于LSTM的。评价指标是精度(P)、召回率(R)和F1得分(F1)。表二显示了评价结果。fmuad在精度和召回率之间有一个很好的平衡,并一直取得最佳F1得分。平均而言,改善幅度为17.8%。
直观和可理解
图5显示了MSL和SMD两个数据集的FMUAD输出数据。红色区域是检测到异常的范围,上部是人工选择的可能与异常有关的原始序列,下部是FMUAD的输出。
在左边的情况下,第四个数据的频率已经改变。在正确的情况下,第二和第四个数据的突然变化很容易被注意到,但后半部分的连续变化,人们很难判断。这两种情况在FMUAD的输出中很容易检测到。
隔离
为了检查系统的模块化,我们进行了一个隔离实验,其中三个探测器被独立激活,如图6所示。结果显示在图6中,三个检测器中的每一个都检测到了不同的图案。
表四显示了F1得分。结果符合我们的预期。
表五比较了每个检测器单独运行和所有检测器一起运行时的结果。在这两种情况下,当所有探测器都处于活动状态时,就能获得最佳结果。还值得注意的是,该模型非常稳定,在改变数据集时,其变化仅为0.0001。
损失函数包括一个控制变化的项,表六证实了这个项的效果。可以看出,变异控制的效果在两个数据集中都很明显。
摘要
在本文中,我们描述了一个基于预测的无监督多变量时间序列异常检测多角度框架,简称FMUAD。这是该类异常检测模型的一个大胆尝试,以 "分而治之 "的方式确定异常模式的特征并对其进行分类。引入了一个模块化的框架,其中输入的时间序列被转化为一个中间表征,以更好地捕捉每个目标模式,并反馈给每个检测器模块,后者对该中间表征做出自己的预测。我们还试验了一个新的损失函数,该函数在训练期间促进了训练表征的简洁性。为了把它们集中在一起,我们应用损失函数来计算预测误差,并生成一个异常分数。
通过在公共参考数据集上一起训练这三个检测器并与SOTA进行对比,我们能够证明它们具有最佳的异常检测性能:FMUAD的标准F1分数确实高于同类的其他模型。我们还证明,通过将检测机制与人类的直觉联系起来,并将其映射到分配给每个人的异常模式上,每个检测器模块的表现都是有利的。此外,我们通过分割研究了模块化的作用,并发现将所有三个模块结合起来,比单独使用每个模块时,性能始终更高、更稳定。我们还能够确认,与其他改进相比,注重简洁性的l2损失项提供了一个小而稳定的改进。
机器学习界最近的一个趋势是走向 "端到端 "或 "一刀切 "的模型,这似乎是对老式的特征工程方法的反叛。然而,FMUAD可能会提醒我们,存在于输入数据中的个别模式可能需要某种程度的调整后的模型设计,尽管它是一个端到端可训练的自适应模型。
显然,这并不是旅程的终点,因为FMUAD所展示的灵活性为进一步的改进提供了机会。 首先,我们将继续发现新类型的异常模式,并根据其特点调整相应的检测器,使其能够有效地捕获这些模式。 其次,有可能更好地实现检测器Dc、Dt和Ds,这将使各个模块的性能更加优化。最后,FMUAD的三个探测器被完全分开,作为最后的聚合器。启用这些模块之间的互动可能会导致有趣的观察,值得研究。总而言之,这个模型增加了基于预测的异常检测模型的可能性。而且我们希望它将开始讨论,以进一步解决更多的一般性方向。
有了图结构,就有可能寻找在复杂性和表达性之间取得最佳平衡的结构。
与本文相关的类别