Correlation-Aware Spatial–Temporal Graph Learning for Multivariate Time-Series Anomaly Detection

系列文章目录

用于多元时间序列异常检测的相关感知时空图​​学习



摘要

摘要:多变量时间序列异常检测在许多应用中至关重要,包括零售、运输、电网和水处理厂。 解决这个问题的现有方法大多采用不能很好地捕捉非线性关系的统计模型,或者不能明确学习非线性关系的传统深度学习(DL)模型[例如,卷积神经网络(CNN)和长短期记忆(LSTM)] 变量之间的成对相关性。 为了克服这些限制,我们提出了一种新的方法,即相关感知时空图​​学习(称为 CST-GL),用于时间序列异常检测。 CST-GL 通过多元时间序列相关性学习 (MTCL) 模块明确捕获成对相关性,基于该模块可以开发时空图神经网络 (STGNN)。 然后,通过采用利用单跳和多跳邻居信息的图卷积网络 (GCN),我们的 STGNN 组件可以从变量之间复杂的成对依赖关系中编码丰富的空间信息。 通过由扩张卷积函数组成的时间模块,STGNN 可以进一步捕获随时间的长程依赖性。 一种新颖的异常评分组件进一步集成到 CST-GL 中,以纯粹无监督的方式估计异常的程度。 实验结果表明,CST-GL 可以在一般环境下有效地检测和诊断异常,并能够跨不同时间延迟进行早期检测。 我们的代码可在 https://github.com/huankoh/CST-GL 获取。


一、引言

网络物理系统 (CPS) 中的 R APID 发展导致跨行业收集的时间序列数据出现爆炸式增长。 在许多应用中,所实现的 CPS 会从多个设备或传感器生成时间序列数据,形成复杂的多元时间序列。 重要的是,操作员可能拥有数千到数百万个 CPS,记录了大量无法手动管理的多元时间序列数据。 例如,云基础设施提供商的每台服务器都会生成多元时间序列数据,并且许多提供商可能拥有多达数百万台服务器[1]。 在许多商业系统和关键基础设施中也观察到了类似的 CPS 规模,包括电力系统、航天器 [2]、发动机、运输、网络网络 [3] 和水处理厂 [4]。 因此,依靠人力来监控这些操作不仅不切实际,而且也是不可能的。

为了对大规模系统运行进行有效的监控和预警,多元时间序列异常检测已成为一个重要课题。 多元时间序列异常检测模型的成功实施可以带来可观的经济效益和社会效益。 例如,在水处理厂 [5] 中,安装了数百个传感器来监测水位、流量和水质。 只需打开单个电动阀门就可能发生恶意攻击,从而对整个配水系统造成灾难性的连锁效应。 自动监控和检测这些异常行为可以提供快速响应,有助于纠正错误、降低成本并挽救生命。

在检测异常事件的各种实现方法中,无监督异常检测是最受关注的方法之一,因为随着时间的推移很难获得真实的异常。 早期的方法通常采用统计无监督模型,例如自回归积分移动平均/向量自回归 (ARIMA/VAR) [6] 或基于距离的方法 [7]、[8]。 不幸的是,这些方法不能很好地捕捉多元时间序列数据中的非线性空间和时间关系。 最近,随着深度学习(DL)的蓬勃发展,取得了重大进展。 例如,洪德曼等人。 [2] 提出了一种长短期记忆(LSTM)网络以及非参数阈值方法,Su 等人。 [3]提出了一种基于表示学习的随机递归神经网络(RNN)方法来提高当前检测多元时间序列异常事件的能力。 虽然所提出的深度学习框架可以有效地扩展高维多元时间序列数据,但它们没有明确地建模变量对之间潜在的成对相互依赖关系,从而削弱了它们检测复杂异常事件的能力。

检测多元时间序列数据中的异常事件的困难在于变量对之间错综复杂的相关性。 图 1 显示了一个受现实世界启发的多元时间序列数据示例,其中包含六个变量,其中 A、B 和 C 代表密切相关的变量组。 A1 变量与其他变量并不密切相关,异常事件的检测可能只是与过去行为的显着偏差。 B1和B2是两个相互关联的变量,应该一起上升和下降,偏离这种关系就是异常事件。 另一方面,C2 开启后,C1 始终会滞后增加(向上尖峰)。 C1-C2 关系的例外情况(图 1 的灰色范围)是当 C3 也打开时,因为 C3 会降低 C1,从而对 C2 产生抵消效应。 C 变量组中的红色跨度表示发生了异常事件,因为尽管 C2 已打开且 C3 已关闭,但 C1 并未增加。 虽然形成多元时间序列的变量对本质上是相互依赖的,但相互依赖的程度说明了多元时间序列数据的全部情况。 此外,如上所示,复杂度随着变量数量的增加呈指数增长。 因此,异常检测模型不仅要假设相互依赖的关系,而且要明确地学习和捕获多元时间序列变量之间的成对相关性(即空间依赖程度),这一点至关重要。

为了明确捕获成对相关性,一种自然的方法是将多元时间序列建模为图形。 例如,通过将每个传感器视为一个节点,可以构建传感器图,其中节点特征随时间连续变化。 有了代表性图,时空图神经网络(STGNN)就可以通过图神经网络(GNN)模块对成对相关性进行显式建模,并通过卷积神经网络对时间信息进行显式建模,从而用于处理多元时间序列异常检测任务 (CNN) [9] 或 RNN [10] 模块。 然而,通用 STGNN 模型需要一个预定义的图来显式地建模变量对之间的成对相关性,而这在许多多元时间序列数据集中通常是不存在的。 因此,虽然以前的 STGNN 方法能够捕获空间依赖性,但它们学习和构建变量之间关系的能力可能并不总是得到优化,特别是在许多多元时间序列数据中不易获得预定义图的情况下。

为了解决通用 STGNN 的局限性,图偏差网络(GDN)[11]采用简单的图学习层来学习和构建变量对之间的成对相关关系。 然后,使用图注意力网络(GAT)在变量之间传播历史信息以预测下一个观察结果。 随后根据预测与实际观测值之间的偏差大小检测异常事件。 然而,在这项初步研究中,GDN 仅捕获每个变量的直接邻居的空间依赖性,这可能会导致它丢失来自高阶(多跳)邻居的重要信息。 此外,它没有明确地对每个单变量时间序列内的时间关系进行建模,这对于表征多变量时间序列数据至关重要[12],从而进一步损害了 GDN 的有效性。
在这里插入图片描述
图 1. 多元时间序列数据示例。 红色跨度代表异常事件,而灰色跨度代表非异常的时间事件亮点,但可形成比较异常事件行为的参考。 展示的前三个示例来自 SMD [3],其中包含来自互联网服务器的数据,而后三个示例则来自 WADI(水处理厂传感数据集)[5]。

基于上述观察,我们从 GNN 角度总结多元时间序列异常检测的挑战如下。

1)多元时间序列相关性学习(MTCL)(挑战1):时间序列变量对之间的潜在相关性对于多元时间序列异常检测任务非常重要。 如何明确捕获变量之间的成对关系以进行时空分析是第一个挑战。 2)时空依赖性建模(挑战2):多元时间序列分析需要深入理解时空依赖性; 如何同时捕获空间和时间依赖性仍然是多元时间序列的挑战。 3)异常评分(挑战3):如何以无监督的方式估计异常评分是多元时间序列异常检测的终极挑战。

为了解决这些挑战,我们在本文中提出了一种新颖的相关性感知时空图​​学习算法(CST-GL)。 我们的主题是将多元时间序列建模为图表并设计 STGNN 来执行预测。 根据预测结果,可以很好地估计异常分数,并相应地检测异常。 更具体地说,我们提出了一个 MTCL 模块,可以自动推断变量之间的潜在相关性(针对挑战 1)。 然后,提出了一个精心设计的 STGNN 来对空间和时间依赖性进行建模(针对挑战 2)。 空间依赖性通过基于门控混合跳特征传播的图卷积网络 (GCN) 进行建模,该传播利用来自单跳和多跳的邻居来更好地编码空间信息。 时间依赖性是通过时间卷积网络捕获的,该网络结合了带有卷积函数的门控机制,用于长依赖性建模。 根据预测,我们引入了基于主成分分析 (PCA) 的稳健异常评分模块来计算异常分数,从而实现有效的异常检测和诊断(针对挑战 3)。 真实数据集上的实验结果证明了我们的方法的卓越性能。

本文的主要贡献如下。 1)我们提出了一种用于多元时间序列数据分析的集成算法。 我们的方法将相关学习无缝集成到多元时间序列的时空网络中。 2)我们提出了一种用于多元时间序列异常检测的新算法。 我们的方法可以通过自动阈值自动检测复杂时间序列中的异常,并有效地进行早期检测。 3)我们将我们的方法与一般多元时间序列异常检测的 11 个基线进行比较,旨在评估整个数据集中的整体性能,以及需要尽早检测异常的早期异常检测。 我们的实验结果表明,我们的方法在两种设置下都优于所有基线。 4)我们进行了一个案例研究来证明我们的方法不仅能够有效地检测异常,而且还可以在现实生活应用中提供可解释性。

本文其余部分的结构如下。 第二节回顾相关工作。 第三节给出了任务的定义。 第四节介绍了拟议的 CST-GL。 第五节说明了我们在第六节中的实验和结论。

II. RELATED WORK

在本节中,我们介绍过去在多元时间序列异常检测和 GNN 方面的工作。

A. Anomaly Detection in Multivariate Time Series

检测时间序列中的异常是一项具有挑战性的任务,人们一直在研究[13]、[14]、[15]。 从历史上看,ARIMA/VAR [6]、PCA [16] 和支持向量机 (SVM) [17] 等统计模型已被应用于检测单变量和多变量时间序列中的异常。 涉及小波分析[18]、非参数[19]、基于模式的[20]、[21]和基于距离的[7]、[8]方法的传统技术也已得到协作实施。 最近,人们做出了大量努力来推进跨多个领域的多元时间序列数据异常检测的深度学习方法 [2]、[3]、[22]。 正如吴等人所说。 [23] 和 Garg 等人。 [24],这种现象的出现是因为:1)深度学习框架不受固定假设的影响,可以通过高维时间数据进行扩展;2)与仅通过识别异常子序列来检测异常事件的基于模式的方法不同,深度学习框架可以检测 序列中逐个时间戳的异常事件时间戳,因此非常适合部署实时流异常检测系统。

用于多元时间序列异常检测的深度学习模型主要使用 RNN 设计,并与 CNN [22]、[25]、变分自动编码器 (VAE) [3]、[26] 或生成对抗网络 [27] 相结合。 RNN 用于捕获时间依赖性 [2]、[28]、[29],而 CNN、VAE 或 GAN 则用于捕获多变量变量之间的依赖性。 任何意外偏离所学习的时间和关系依赖性的时间序列观察都将被视为异常。 然而,由于CNN、VAE和GAN没有显式地学习多变量变量之间的关系,而只是将变量之间的相互作用封装到全局隐藏状态中,因此它们无法充分利用变量对之间的潜在依赖关系[30]、[31]。 有关用于时间序列异常检测的深度学习的更多研究,我们建议读者参阅最新的调查[32]。

B. Graph Learning

图学习[33]是一种新的学习范式,可以实现图数据的机器学习。 该范式的关键组成部分 GNN 已被广泛研究用于处理一系列图结构数据 [34]。 这包括一个众所周知的方法子集,即 STGNN,通常应用于多元时间序列建模 [35]。 在这种情况下,当底层图拓扑的先验知识不易获得时,通常会涉及图结构学习。

1)通用图神经网络:GNN 最近已成为利用图数据进行图分析的事实上的模型 [36]、[37]、[38]、[39]、[40]、[41]。 GNN 的核心思想是采用消息传递方案,通过传播邻近节点的表示来迭代更新目标节点的表示(嵌入)。 例如,GCN [36] 通过为来自邻居的每条消息(嵌入)分配预定义的权重来更新其节点嵌入。 GAT [37]自动学习每个邻居的权重并执行加权聚合来更新目标节点的表示。 由于具有对各个领域中不同实体之间的相互关系进行建模的能力,GNN 已广泛应用于交通 [35]、[42]、推荐系统 [43]、药物发现 [44]、[45] 和 异常检测[46],[47]。

2)图结构学习:学习GNN模型通常需要预定义的图结构,以便消息传递可以与拓扑结构一起进行。 然而,在许多与时间序列相关的应用中,图结构可能不可用,并且GNN模型不能直接适用。 为了克服这一挑战,最近出现了图结构学习[48]、[49],可以从数据本身自动学习图结构。 例如,结构引导对比学习框架(SUBLIME)[49]提出了一种结构引导对比学习框架来推断数据之间的关系。 然而,这些方法只能应用于静态数据。 对于本文考虑的时间序列等动态数据,这些方法不能直接应用。

3)时空图神经网络:为了扩展 GNN 来处理动态图结构数据,最近的研究深入研究了 STGNN [50]。 这些在底层图结构保持静态但节点特征随时间动态变化的情况下特别有效。 STGNN 的一个典型例子是交通预测,其中地铁站和轨道等物理基础设施是恒定的,但交通量不断波动。 徐等人。 [10]提出了一种循环 STGNN,它采用 Long-LSTM [51] 和 GCN [36] 作为捕获时间和空间依赖性的关键组件。 相反,李等人。 [9]提出了一种基于 CNN 的方法(一维卷积)来捕获时间依赖性,并使用 GCN 来捕获空间依赖性。 吴等人。 [23]提出了一种用于时空建模的联合图结构学习和预测框架。 STGNN 处理动态图结构数据的能力激发了人们对各个领域的兴趣,包括流量管理 [52]、基础设施监控 [53]、云计算 [54]、人类活动分析 [55] 和异常检测 [56] ,[57]。 虽然前面提到的 STGNN 方法专注于图学习和时空模式建模,但 CST-GL 的突出之处在于集成了两个关键组件:首先,它将图学习模块与 STGNN 结合起来,以准确捕获时空依赖性; 其次,它引入了强大的异常评分模块。 该评分模块可有效地将 CST-GL 的 STGNN 模块预测的多元时间序列数据中的异常信号与噪声分开。 通过这样做,它可以最大限度地利用 CST-GL 的图学习模块学习的关系结构的优势,促进有效的异常检测和诊断。

在这里插入图片描述
图 2. CST-GL 总体框架。 (a)多元时间序列相关学习(MTCL)从每个多元变量的随机初始化节点嵌入开始,并以端到端的方式自适应地学习底层图邻接矩阵 A。 STGNN 模块中的 GCN 将使用邻接矩阵 A。 (b) 时空图神经网络 (STGNN) 1 × 1 卷积层将滑动窗口输入投影到潜在空间中。 然后,时间和 GCN 交织在一起以捕获丰富的空间和时间依赖性,代表 STGNN 的一层。 跳跃连接 Z 0 + Z 1 + ⋯ + Z L Z^{0}+Z^{1}+\cdots+Z^{L} Z0+Z1++ZL 被合并以获得封装时空模式的隐藏特征。 最后,预测头模块将隐藏特征投影到一步预测输出 x ^ T \hat{x}^{T} x^T 中。 © 异常检测和诊断(ADD)。 1)实时异常指标:获取当前的一步预测结果以及在时间戳T之前计算的所有观测-预测对,计算归一化预测偏差并使用基于PCA的评分器实时输出异常指标分数。 2)根本原因异常诊断:从实时异常指标中获取结果,并从 MTCL 中学习成对相关性 A,以增强 CST-GL 的可解释性并识别异常事件的根本原因。

III. PROBLEM FORMULATION

一个多变量时间序列,其中等间距样本的 T 个连续观测值表示为 X = { x l , x 2 , … , x T } , x t ∈ R N \{\mathbf{x}^{l},\mathbf{x}^{2},\ldots,\mathbf{x}^{T}\},\mathbf{x}^{t} {\in} \mathbb{R}^{N} {xl,x2,,xT},xtRN由N个单变量时间序列 { x 1 t , x 2 t , … , x N t } \{\mathbf{x}_{1}^{t},\mathbf{x}_{2}^{t},\ldots,\mathbf{x}_{N}^{t}\} {x1t,x2t,,xNt}。 以实时方式,多元时间序列异常检测任务需要学习评分函数 A(·),该函数向当前观测值 T 输出异常分数,以便我们有 A ( x A ) > A ( x M ) A(\mathbf{x^{A}})>A(\mathbf{x^{M}}) A(xA)>A(xM),其中 x A \mathbf{x}^{\mathrm{A}} xA是异常观测值, x M \mathbf{x}^{\mathrm{M}} xM 不是。 理想情况下,所提出的框架还应该输出一个二进制标签,指示时间戳是否异常,其中 y T ∈ { 0 , 1 } a n d y T = 1 y^T \in \{0, 1\} \mathrm{and} y^T = 1 yT{0,1}andyT=1 且如果观测值 x T \mathbf{x}^{\mathrm{T}} xT 异常,则 yT =​​ 1。 在本文中,我们将解决无监督实时异常检测问题。 模型首先从非异常训练集中学习正态性。 然后,当它接收到包含正常和异常数据的观察流时,它必须实时检测异常,仅根据过去的数据做出决策,并且不能推翻之前的决策。

IV. METHODOLOGY

在本节中,我们介绍 CST-GL 的总体框架及其检测多变量时间序列中异常事件的详细设计。 如图2(a)-(c)所示,我们的方法主要由三个主要组成部分组成:1)MTCL; 2)STGNN; 3) 异常检测和诊断模块。

给定一个多变量时间序列,我们首先建议通过成对相关学习器显式地利用每个单变量时间序列(即节点)之间的潜在关联(即边),其中学习的图结构与历史观察结果一起编码为 三明治结构的 STGNN 可以做出可靠的预测。 具体来说,我们将设计的图和时间卷积交织在一起,以分别捕获丰富的空间和时间依赖性。 根本的考虑是双重的。 首先,通过参考历史观察结果可以轻松识别单变量时间序列中的潜在异常。 例如,与长期历史读数相比,CPU 瓦数突然升高可能会触发系统警报。 然而,其次,对于多元时间序列数据,特定变量的异常可能不仅与其历史观测值相关,还可能与其其他变量的读数相关。 一个具体的例子是交通网络,一条街道路况的变化可能会导致另一条街道出现严重的交通拥堵。 因此,对历史观测中潜在的空间和时间依赖性进行建模,以在每个时间步执行精确且稳定的异常检测至关重要。 为了实现这一目标,我们在 MTCL 和 STGNN 之上提出了一个异常检测和诊断模块,其中每个时间点的异常得分来自预测误差。 换句话说,我们推测时间序列异常通常反映为异常观测结果与训练有素的时空模型对非异常数据给出的预测结果之间的不匹配。

此外,我们认为,为了识别异常事件的根本原因,必须通过所提出的模型来学习和捕获变量的成对相关性。 这是因为显着偏离过去空间和时间行为的单变量可能只是根本原因的症状,而成对相关的关系可以揭示根本原因变量。 如后面实验部分所示,CST-GL 使用经过充分学习的成对相关图来识别异常事件的根本原因,该相关图很好地捕获了变量对之间的相互依赖关系。

在本节的其余部分中,我们将在第 IV-A 节中介绍 MTCL。 然后,在第 IV-B1 和 IV-B2 节中,我们说明了所提出的 STGNN 在捕获潜在的空间和时间线索以进行准确预测方面的详细设计。 最后,我们讨论了所提出的异常检测和诊断模块如何在第 IV-C1 节中计算实时异常分数,并在第 IV-C2 节中讨论如何识别异常事件的根本原因。

A. Multivariate Time-Series Correlation Learning

为了显式地对多元时间序列中变量之间的成对依赖关系进行建模,我们设计了一个相关学习层,并提出自适应地学习底层未知图邻接矩阵 A,其中节点和边表示变量及其连接性。 具体来说,我们的详细表述如下:

在这里插入图片描述
其中 N 1 , N 2 ∈ R N × d \mathbf{N}_{1},\mathbf{N}_{2}\in \mathbb{R}^{N\times d} N1,N2RN×d是两个随机初始化的节点嵌入矩阵, W 1 , W 2 ∈ R d × d \mathbf{W}_{1},\mathbf{W}_{2}\in\mathbb{R}^{d\times d} W1,W2Rd×d是两组可训练参数。 超参数α表示非线性激活饱和率。 与我们的方法相比,许多现有的工作通过测量多元时间序列中变量之间的成对距离或相似度来构造这样的邻接矩阵,例如欧几里得距离[58]和余弦相似度[59],导致O的高时间和空间复杂度 (N2)[23]。 基于距离或相似性度量的现有方法的另一个显着缺点是学习到的成对依赖关系是对称的,这在描述现实世界多元时间序列中变量之间的关系时是不期望的。 例如,一条街道上的交通堵塞可能会导致另一条街道上的堵塞,但如果有替代路线,则反之亦然。

因此,我们期望学习到的时间序列依赖性是单向的。 令 N ~ 1   a n d   N ~ 2 \widetilde{\mathbf{N}}_{1}\mathrm{~and~}\widetilde{\mathbf{N}}_{2} N 1 and N 2为两个变换后的节点嵌入矩阵,则可以通过减法项 N ~ 1 N ~ 2 ⊺ − N ~ 2 N ~ \widetilde{\mathbf{N}}_1\widetilde{\mathbf{N}}_2^\intercal-\widetilde{\mathbf{N}}_2\widetilde{\mathbf{N}} N 1N 2N 2N 和两个非线性激活函数来实现单向性质,即,如果 A i j A_{ij} Aij为正数,则 A j i A_{ji} Aji将为零。 输出邻接矩阵 A 的所有元素都将在 0 和 1 之间正则化。为了减少所需的计算成本并简化优化,我们进一步屏蔽学习图邻接矩阵中的零元素,除了每个元素的前 k 个最近邻元素之外 节点使 A 稀疏,受超参数 k 控制。 具体来说,对于 A 中的第 i 行,我们进行以下后处理:

在这里插入图片描述
其中 argmax(·, k) 返回输入向量中前 k 个最大值的索引。

B. Spatial–Temporal Graph Neural Network

1)图卷积网络:变量之间的空间相关性对于反映多元时间序列的内在动态起着至关重要的作用。 为此,我们设计了一个空间图卷积层,以有效地在变量及其邻居之间传递消息,以利用潜在的空间模式,从而更好地编码历史观察结果,从而做出更精确和稳定的预测,从而有利于下游的异常检测任务。 与简单图卷积(SGC)[60]和动态图神经常微分方程离散多元时间序列(MTGODE)[12]类似,给定邻接矩阵 A 和输入(初始)状态 H i n \mathbf{H}_{\mathrm{in}} Hin,我们可以表征 图传播过程作为特征传播和线性变换步骤的组合

在这里插入图片描述

其中 K 表示图传播深度,并且我们有 H 0 = H i n \mathbf{H}^0=\mathbf{H}_{\mathrm{in}} H0=Hin。 具体地,上式中的 A ~ \tilde{\mathbf{A}} A~表示归一化邻接矩阵,即 A ~ = D ~ − 1 ( A + I ) \widetilde{\mathbf{A}} = \widetilde{\mathbf{D}}^{-1}(\mathbf{A} + \mathbf{I}) A =D 1(A+I) D ~ i i = 1 + ∑ j A i j \widetilde{\mathbf{D}}_{ii}=1 + {\sum}_{j}\mathbf{A}_{ij} D ii=1+jAij

然而,(3)有两个关键的局限性。 首先,虽然上述特征传播设计允许沿着给定的图结构递归地传播潜在节点状态,但不可避免地会看到节点潜在状态变得不可区分,即收敛到单个点,或称为过度平滑, 传播深度 K 的增加[12]。 其次,仅对最后一个节点潜在状态 H K \mathbf{H}^{K} HK应用线性变换可能容易出错 [23]、[61]。 例如,如果多元时间序列中的变量之间不存在相关性,则特征传播步骤将通过盲目聚合相邻信息向潜在节点状态引入噪声。 因此,仅仅考虑最后传播状态的线性变换阻碍了对多元时间序列的潜在空间动态的准确建模。 为了解决这两个限制,我们为(3)中的普通特征传播配备了门控机制,并用混合来自多个跃点的信息的注意变换替换了即将到来的线性映射。 我们将提议的 GCN 定义如下:

在这里插入图片描述
其中β控制保留多少原始节点信息以避免上述过度平滑问题。 关于(4)中的注意变换,我们可以通过为初始节点状态H0分配相关的大权重,为 H K \mathbf{H}^{K} HK分配较小的权重,来轻松缓解上面例子中提到的问题,其中k ∈ {1,…。 。 。 ,K}。

正如第 IV-A 节中提到的,学习到的成对依赖关系是单向的。 因此,我们将 GCN 的最终输出重构为(4)中描述的两个变换的总和,其中输入潜在节点状态均为 H i n \mathbf{H}_{\mathrm{in}} Hin但具有不同的邻接矩阵,即 A 和 A T \mathbf{A}^{T} AT,以合并节点的流入和流出 信息,分别。

2)时间卷积网络:求解(4)仅允许对某个时间点的空间动态进行建模,而忽略了多元时间序列中丰富的时间线索。 为了完成这些缺失的信息,我们设计了一个简单而有效的时间卷积网络,与我们的 GCN 一起捕获历史观察中的表达空间和时间模式。

我们首先介绍所提出的时间卷积网络的组成,该网络由多个残差扩张时间卷积层组成,以非递归方式提取和聚合高级时间特征,以避免 RNN 的缺点,例如耗时的迭代和梯度爆炸 [12]、[23]、[62]。 具体来说,给定一系列历史观察值 X = { x 1 , x 2 , … , x T − 1 } \mathbf{X} = \{\mathbf{x}^{1},\mathbf{x}^{2},\ldots,\mathbf{x}^{T-1}\} X={x1,x2,,xT1},我们将时间卷积层定义如下:

在这里插入图片描述

其中网络的输出为 Z o u t = Z L \mathbf{Z}_{\mathrm{out}}=\mathbf{Z}^L Zout=ZL,输入状态 Z 0 \mathbf{Z}^{0} Z0是通过对 X 应用线性映射获得的, T C N ( ⋅ , Φ l ) \mathrm{TCN}(\cdot,\Phi^l) TCN(,Φl)是第 l 层以 8l 参数化的时间卷积函数, T ( Z l , Q l + 1 ) \mathcal{T}(\mathbf{Z}^l, Q^{l+1}) T(Zl,Ql+1)表示截断函数,该函数沿其序列长度轴从 Z l Z^l Zl 中取出最后 Q l + 1 Q^{l+1} Ql+1个元素。 基本的考虑是,在将它们加在一起之前,残差输入 Z l Z^l Zl必须被截断为 T C N ( Z l , Φ l ) \mathrm{TCN}(\mathbf{Z}^{l},\Phi^{l}) TCN(Zl,Φl)的长度,因为随着每个时间卷积层之后底层时间信息的聚合,潜在节点状态的序列长度逐渐缩小。 具体来说,我们有 Q l + 1 = Q l − r l × ( k − 1 ) Q^{l+1} = Q^{l} - r^{l} \times (k - 1) Ql+1=Qlrl×(k1), Q l = R − k + 1 Q^{l}=R - k + 1 Ql=Rk+1,其中 k、r 和 R 是核大小、膨胀因子和感受野 [即, R = L ( k − 1 ) + 1 R=L(k-1)+1 R=L(k1)+1 R = 1 + ( k − 1 ) ( r L − 1 ) / ( r − 1 ) R = 1 + (k - 1)(r^L - 1)/(r - 1) R=1+(k1)(rL1)/(r1),当 r = 1 且 r > 1 时]。 在时间卷积函数 T C N ( ⋅ , Φ l ) \mathrm{TCN}(\cdot,\Phi^{l}) TCN(,Φl)的设计方面,我们遵循[23],采用门控机制来引导聚合过程中的信息流:

在这里插入图片描述
其中 f C ( ⋅ )  and  f G ( ⋅ ) f_{\mathcal{C}}(\cdot)\text{ and }f_{\mathcal{G}}(\cdot) fC() and fG()是滤波和门控卷积,⊙ 表示元素乘积。 具体来说,我们在下面定义这两个卷积

在这里插入图片描述

上式中, ⋆ Δ \star_{\Delta} Δ表示扩张卷积运算,其中扩张 Δ = r l \Delta = r^{l} Δ=rl。 具体来说,让模型探索多粒度时间线索并受到 Wu 等人的启发。 [23], f C ( Z l , Φ c l ) a n d f G ( Z l , Φ g l ) f_{\mathcal{C}}(\mathbf{Z}^{l},\Phi_{c}^{l}) \mathrm{and} f_{\mathcal{G}}(\mathbf{Z}^{l},\Phi_{g}^{l}) fC(Zl,Φcl)andfG(Zl,Φgl) 由多个卷积滤波器组成(例如, W Φ c l 1 × n   a n d   b Φ c l 1 × n \mathbf{W}_{\Phi_{c}^{l}}^{1\times n}\mathrm{~and~}\mathbf{b}_{\Phi_{c}^{l}}^{1\times n} WΦcl1×n and bΦcl1×n),宽度 n ∈ {2, 3, 6, 7}。 由于大多数多元时间序列数据都有一些固有周期[23]、[62],例如7、14、24、28和30,上述核宽度的组合允许完全覆盖这些公共周期。

为了同时对多元时间序列中的一系列历史观测值的空间和时间动态进行建模,我们通过结合所提出的空间和时间卷积网络构建了 STGNN,其中时间和空间卷积层是交错的,如图 2 所示。 更准确地说,所提出的 STGNN 的一层通过结合(4)和(5)定义如下:

在这里插入图片描述

其中 G C N ( ⋅ , Θ )   a n d   T C N ( ⋅ , Φ l ) \mathrm{GCN}(\cdot,\Theta)\mathrm{~and~TCN}(\cdot,\Phi^l) GCN(,Θ) and TCN(,Φl)在(4)和(6)中定义。 最后,我们利用多层感知器对输出状态 Z o u t \mathbf{Z}_{\mathrm{out}} Zout进行单步预测,即 x ^ T \hat{\mathbf{x}}^{{T}} x^T = M L P ( Z o u t , W m l p ) {\mathrm{MLP}}(\mathbf{Z}_{\mathrm{out}},\mathbf{W}_{\mathrm{mlp}}) MLP(Zout,Wmlp),这形成了检测多元时间序列中异常的关键证据。

C. Anomaly Detection and Diagnosis

1)实时异常指标:通过对非异常数据的空间和时间依赖性进行有效的联合学习,预计测试集中的异常观察结果将显着偏离学习的模式。 因此,为了检测异常多变量观测值,我们首先计算每个单变量变量的归一化预测偏差,并将重建的单变量偏差之和作为每个多变量观测值的异常分数。

多元时间序列中的单变量变量通常具有截然不同的属性和尺度。 因此,我们独立地对每个单变量偏差进行标准化,以防止任何单个变量主导总体多变量偏差值。 对于每个单变量 x i T \mathbf{x}_{i}^{T} xiT ,我们计算当前时间戳 T 处的绝对预测误差,由 e i T \mathbf{e}_i^T eiT = ∣ x i T − x ^ i T ∣ |\mathbf{x}_i^T-\hat{x}_i^T| xiTx^iT 给出。然后对该误差进行归一化

在这里插入图片描述
其中 μ i T   a n d   σ i T \boldsymbol{\mu}_i^T\mathrm{~and~}\boldsymbol{\sigma}_i^T μiT and σiT是误差值 { e i T − W a , e i T − W a + 1 , … , e i T } \{\mathbf{e}_{i}^{T-W_{a}},\mathbf{e}_{i}^{T-W_{a}+1},\ldots,\mathbf{e}_{i}^{T}\} {eiTWa,eiTWa+1,,eiT}的中值和四分位距 (IQR) 值。 在滑动窗口中,其中 Wa 表示窗口长度。 我们的归一化方法是[11]的扩展,我们通过滑动窗口而不是从整个测试集观察中获取中值和 IQR 值。 这种修改使我们能够实时检测异常,因为时间 T 的归一化误差仅依赖于过去的观察结果,不需要像[11]中那样的未来信息。

对每个单变量变量进行归一化后,我们获得当前时间戳的多变量归一化误差向量 E ~ T ∈ R 1 × N \widetilde{\mathbf{E}}^T\in\mathbb{R}^{1\times N} E TR1×N。 尽管之前的研究建议直接采用求和 [63] 或最大值 [11] 将误差向量总结为当前时间戳的单个异常分数,但我们建议在将归一化误差聚合为最终异常分数之前利用 PCA 作为中间步骤 。

特别是,在训练 STGNN 模块后,我们计算验证集中的归一化误差 E ~ v \tilde{\mathbf{E}}_{v} E~v。 我们通过查找验证均值向量 E ‾ v = m e a n ( E ~ v ) \mathbf{\overline{E}}_{v} = \mathrm{mean}(\mathbf{\widetilde{E}}_{v}) Ev=mean(E v)、它们的协方差矩阵 C v = c o v ( E ~ v ) \mathbf{C}_{v} = \mathrm{cov}(\mathbf{\widetilde{E}}_{v}) Cv=cov(E v)和正交特征向量 U,对验证归一化误差进行 PCA 拟合。 U 由与 N 相关联的 N 个正交特征向量组成 对角矩阵 3 中的最大特征值由 C v = U Λ U − 1 \mathbf{C}_{v}=\mathbf{U}\Lambda\mathbf{U}^{-1} Cv=UΛU1分解。 通过拟合 PCA,我们重建了当前时间戳的归一化误差
在这里插入图片描述
在上面的等式中,我们首先通过减去平均验证误差 E ‾ v \overline{\mathbf{E}}_{v} Ev,对当前时间戳 E ~ T \widetilde{\mathbf{E}}^{T} E T的归一化误差应用零中心化。 然后,我们使用验证特征向量 U 来投影这些结果。其次,我们仅保留前 L 个主成分。 最后,我们使用减少的 L 维度重建归一化误差 E ~ P C A T \widetilde{\mathbf{E}}_{\mathrm{PCA}}^{T} E PCAT,并通过添加验证平均误差来恢复零中心推导。 我们将 L 设置为在验证集上实现小于 10% 的对称平均绝对百分比误差 (sMAPE) 所需的组件数量。

利用重建的归一化误差,我们通过将去噪误差与原始归一化误差之间的 L1 距离作为最终异常得分来计算当前时间戳的最终异常得分

在这里插入图片描述
PCA 的结合解决了异常带来的基本问题:异常节点变量有可能将偏差引入神经网络模块内的学习嵌入中,从而无意中影响所有维度的预测。 先前的研究[64]证实了这种效应,通常会导致原本不受影响的变量节点的预测误差不必要地增加。 即使没有异常事件,某些变量节点也可能由于随机波动而偶尔出现错误激增[11]。 这种波动可能会在所有节点上引发一连串的影响,与实际异常事件的影响相呼应,并可能导致误报。 这种意外的影响会导致异常检测和诊断的准确性下降。

以前的方法试图通过利用马尔可夫链蒙特卡罗(MCMC)插补来解决这个问题[1],[65]。 然而,这种方法效率低下。 相比之下,我们建议应用PCA来解决这些问题。 PCA 可以有效地将当前时间戳 E ~ T \widetilde{\mathbf{E}}^{T} E T 的归一化误差投影到验证误差的主成分上,然后将它们重建为 E ~ P C A T \widetilde{\mathbf{E}}_{\mathrm{PCA}}^{T} E PCAT。 该过程有效地抑制了常见的噪声变化,并查明了对异常事件有显着影响的变量。 这种识别之所以成为可能,是因为无法准确重建的变量更有可能是异常事件的真正贡献者,从而提供对异常事件本身的更准确的描述。

尽管 PCA 能够减轻固有噪声以获得更准确的表示,但 STGNN 捕获时空模式的能力仍然是全面解决方案的关键。 正如我们在第五节中所演示的,STGNN 和 PCA 的联合实施有助于检测和诊断异常。

最后但并非最不重要的一点是,可以很好地表示时间戳观察异常的异常指示器有助于通知系统操作员并由人类专家确定适当的阈值来分类和检测异常。 然而,对于涉及数千个具有不同属性的多元时间序列的工业操作(例如仓储机器人[66]),这种方法不能很好地扩展。 为了自动化阈值选择过程,如果测试集中观测值中的 A(T) 超过验证集中所有观测值的最大值 A(t),我们将测试集中当前观测值分类为异常。 这种非参数方法依赖于 CST-GL 充分捕获多元时间序列数据的空间和时间依赖性的能力,因此在正常时间段(即验证数据)期间超过最大异常分数的任何观察结果实际上都是异常,而 未超过最大值的不属于异常。

2)根本原因异常诊断:由于最终的异常分数是作为重建误差的线性组合计算的,因此我们可以通过对对异常分数贡献最大的单变量变量进行排序来识别异常事件的根本原因。 在实际场景中,我们确定每个单变量变量对最终异常分数的贡献百分比。 这种方法将提供更详细的视角,使操作员能够更有效地识别异常事件的根本原因。

在某些情况下,对异常得分影响最大的排名靠前的变量可能不是根本原因,而仅仅是症状[11]、[24]。 当排名靠前的贡献者被确定不是根本原因时,我们通过聚合一跳距离邻居的异常贡献分数来进一步搜索与排名靠前的贡献者最相关的变量

在这里插入图片描述

在这里插入图片描述
其中 A i ( T ) A_i(T) Ai(T)表示根据 (10) 的单变量节点 i 的绝对误差。 N(i) 表示单变量节点 i 的邻居,它基于从 MTCL 模块学习到的变量对之间的关​​系。

正如我们在第五节中的实验所证明的,这种双管齐下的方法确保了系统地识别和诊断:1)表现出异常行为的变量;2)与这些异常变量密切相关的变量,作为异常事件的潜在根本原因。 基于误差贡献或基于一跳距离邻居直接对变​​量进行排序的选择在很大程度上取决于异常的性质。

V. EXPERIMENTAL STUDY

在本节中,我们通过回答以下问题进行实验来探索 CST-GL 的功能。

1)总体检测性能:在无监督的实时异常检测任务中,我们的框架是否优于基线方法? CST-GL 中的各个模块如何具体贡献其实现异常检测和诊断的能力? 2) 早期检测性能:CST-GL 能否适应并推广到早期检测异常事件通常至关重要的商业系统? 3) 可解释性和案例研究:CST-GL 是否有利于系统操作员以可解释的方式检测和诊断多元时间序列异常事件?

A. Experimental Settings

在这里,我们详细介绍了我们的实验设置,包括数据集、基线方法和参数配置。

1)数据集:我们在三个广泛使用的基准数据集上评估了我们的方法:安全水处理(SwaT)、水分配(WADI)和服务器机器数据集(SMD)。 统计数据如表一所示。

  1. SWaT [4] 是新加坡公共事业局发起的现实工业水处理厂的缩小版。 该数据集包括 7 天的正常操作(训练数据)和 4 天的攻击场景(测试数据)。 异常标签代表测试集中不同时间间隔进行的攻击。

2)WADI[5]是SWaT数据集的扩展,具有更多的水管道、存储和处理系统,代表了更完整和真实的水处理数据集[11]。 WADI的训练集是两周的正常运行,而测试集是两天的攻击场景。 按照原作者的实现[11],我们删除了前 21 600 个样本,并通过取中值将 SWaT 和 WADI 下采样到每 10 秒一次测量。

3)SMD[3]是一家大型互联网公司收集的真实世界服务器机器数据集。 SMD包含服务器的时间序列数据,每个服务器有38个多元变量。 它被分为大小相等的训练集和测试集。 原始 SMD 数据集没有应用任何预处理来删除出现概念漂移的服务器。 李等人随后解决了这个问题。 [1] 删除遭受概念漂移的服务器。 在后续工作之后,本节中报告的结果采用了为不受概念漂移影响的 12 台服务器计算的平均分数。

2)基线:我们将我们的CST-GL与五种不考虑时间相关性的标准多维异常检测方法以及最近提出的六种专门针对多变量时间序列异常检测的框架进行了比较。附录中提供了基线说明和实施细节,如补充材料所示。

五种标准的多维异常检测方法是原始信号[24]、PCA、自动编码器、Kmeans 和深度自动编码高斯混合模型(DAGMM)[67]。 原始信号是一个简单的基线模型,可将任何信号重建为零,从而产生相当于归一化信号本身的误差。 使用归一化信号,采用高斯评分函数来计算在每个时间戳观察到这些信号值的负对数似然。 该模型提供了对基准数据集的性质和难度的见解。

用于多元时间序列异常检测的六种最先进的框架是 LSTM-VAE [26]、OmniAnomaly [3]、多元时间序列无监督异常检测 (USAD) [68]、多元时间序列异常检测 通过 GAT (MTAD-GAT) [63]、GDN [11] 和 InterFusion [1]。 值得注意的是,InterFusion(OmniAnomaly 的扩展)是最先进的 RNN 框架,而 MTAD-GAT 和 GDN 是用于多元时间序列异常检测任务的最先进的 GNN 基线。

3)参数设置:我们将模型训练20个epoch,批量大小为64,使用Adam优化器来优化CST-GL,学习率为3×10−4,(β1,β2)=(0.9,0.999)。 根据之前的工作 [1]、[3],SwaT、WADI 和 SMD 的验证集比率分别为 0.1、0.1 和 0.3。 按照原始论文 [3]、[11] 的建议,我们将 SWaT、WADI 和 SMD 的滑动窗口长度 w 设置为 5、5 和 100。 我们定义超参数搜索空间,如附录所示,如补充材料所示,并选择在验证集中实现最低平均均方根误差 (RMSE) 的超参数。 超参数搜索后,MTCL 模块的邻居大小 k 对于 SWaT、WADI 和 SMD 分别设置为 15、30 和 10。 在所有数据集中,相关学习模块的节点维度为 256,保留率为 0.1,饱和率为 20。GCN 和时间卷积网络模块都有 16 个输出维度。 跳过连接层都有 32 个输出维度。 我们使用两个图形和时间模块层。 最后,对于主成分的数量,我们根据在验证集上实现小于 10% sMAPE 所需的数量自动设置。 附录中详细介绍了所有方法的计算基础设施和经验计算复杂性,如补充材料所示。

B. Overall Detection Performance

由于许多基线方法不包含阈值选择机制[1]、[26]、[67]、[68],我们使用接受者操作特征(ROC)和精确回忆曲线(PRC)区域来比较模型性能 通过将每个时间戳视为独立观察来分类为异常或不异常的曲线(AUC)分数。 在这种逐点方法下,需要一个模型来预测整个时间序列中异常事件的发生,包括事件开始和结束的时间。 ROC 和 PRC 分数越接近 1,模型在评分和区分异常和非异常时间点方面就越好。

  1. 基线比较:PRC 和 AUC 结果总结在表 II 中,我们观察到以下情况。

  2. 拟议框架:CST-GL 相对于所有其他基线表现出优异的性能,与 ROC 和 PRC 分数的下一个最佳基线相比,平均表现分别高出 7.16 和 8.30 个百分点。 它还以相对较低的变异性实现了高性能,并且就 WADI 的 PRC 值而言,与下一个最佳结果相比,性能增益大于 45%。 表二中的实验结果表明,CST-GL 在提供代表性异常指标以通知和警告系统操作员方面具有卓越的性能。 它还可以帮助专家确定人为干预的适当阈值,因为异常和非异常时间点的异常分数是分开的。

  3. 时间依赖性:平均而言,考虑时间信息的基线方法可以获得更高的 ROC 和 PRC 结果,验证时间信息对于检测多元时间序列中的异常至关重要。 GDN 的性能也证明了有效学习时间线索的重要性,它没有直接解决时间序列观察之间的时间依赖性。 尽管明确学习了多变量变量对之间的空间相关性,但 GDN 模型在适应无监督的实时异常检测任务时效果较差。

3)空间成对相关性:由于 LSTM-VAE、OmniAnomaly 和 USAD 不能直接捕获多元时间序列变量之间潜在的成对相互依赖性,因此它们的表现比 InterFusion 和 CST-GL 差。 与我们的框架类似,InterFusion 通过学习双视图潜在嵌入直接解决时空依赖性。 尽管如此,由于 InterFusion 的潜在嵌入仅将空间相关性封装在全局隐藏状态中,因此它们没有显式地对变量对之间的关​​系进行建模。 我们推测,成功捕获空间相关依赖性需要对多元变量之间的关系进行显式图形建模,因为它明显提高了时间序列异常检测模型的有效性。

2)消融研究:我们在 SWaT 和 WADI 的针对性消融研究中评估了各种 CST-GL 模块对异常检测的贡献。 在这项研究中,我们检查了 CST-GL 的不同变体。 结果如表三所示,多个模块的修改详细如下:

表 II 三个基准数据集上五次实验运行的平均 AUC 性能(±标准差)。 每个实验中表现最好的和第二好的方法分别以粗体和下划线表示
在这里插入图片描述

表 III 消融研究——平均 AUC 性能(± 标准差)

在这里插入图片描述

1)W/o MTCL:没有多元时间序列相关学习的 CST-GL。 我们用完整的有向图邻接矩阵替换学习的邻接矩阵 A,并删除 MTCL。 2)W/o GCN:没有图卷积网络的CST-GL。 我们删除了 GCN 模块(包括 MTCL)并用线性层替换。 3)模组。 TCN:具有改进的时间卷积网络的 CST-GL。 我们修改了 TCN,通过用单个 1 × 1 滤波器替换多重卷积滤波器来消除其捕获多粒度时间线索的能力。 4) W/o PCA:CST-GL 没有基于 PCA 的异常评分模块。 我们用标准高斯评分函数替换 PCA 模块 [24]。 高斯评分函数将对应于表 II 中的原始信号,但该函数的输入是来自 CST-GL 中 STGNN 的预测误差。 5) W/o STGNN:没有 STGNN 的 CST-GL。 这相当于表 II 中的 PCA 模型。

当我们删除 MTCL 模块(没有 GCN)并使用完整的有向图邻接矩阵来建模变量之间的交互时,我们注意到性能显着下降。 重要的是,WADI 数据集的性能下降更为明显。 我们假设,当 GCN 在具有 127 个多元变量的 WADI 下的变量之间传播信息时,与只有 51 个多元变量的 SWaT 相比,来自不重要相邻节点的噪声更加明显。

接下来,我们仔细研究 STGNN 修改的效果。 我们观察到排除 GCN 模块(w/o GCN)会显着降低异常检测结果。 这与之前的研究[1]、[11]一致,因为对变量之间的成对相关性进行建模可以使信息在相互依赖的单变量变量节点之间流动,从而提高检测异常事件的性能。 相反,当我们修改CST-GL内的TCN(mod.TCN)时,也会导致性能下降。 这可以归因于这样的事实:多元时间序列数据的时间依赖性未被有效捕获。 当基于 PCA 的异常评分模块被高斯评分函数 [24](无 PCA)取代时,我们注意到 WADI 数据集的性能有所下降。 这种性能下降可归因于高斯函数缺乏强大的去噪能力,而这正是 PCA 所擅长的领域。 尽管如此,CST-GL 仍然优于既定基线。

表 IV 自动阈值与最佳阈值的 F1 分数
在这里插入图片描述
最后,删除 STGNN(无 STGNN),只留下 PCA 模型,会显着降低性能。 这强调了 STGNN 的关键作用。 虽然 PCA 可以减少固有噪声以改进表示,但 STGNN 识别时空模式的能力构成了异常检测的综合解决方案。

3)自动阈值机制:我们的框架采用了自动阈值机制,将验证集中的最大异常分数作为阈值,而不需要人类专家来确定最佳阈值。 表 IV 显示了通过针对我们的自动阈值机制的 F1 分数对全局最优阈值进行枚举搜索而获得的最佳 F1 分数。

尽管 CST-GL 的非参数阈值选择很简单,但它有效地捕获了正常周期(即训练集)内多元时间序列的时空依赖性。 这种功能可以在测试集中的异常时间点和非异常时间点之间实现显着的分离,正如有希望的 F1 分数所证明的那样。 然而,值得注意的是,自动阈值的有效性在 SwaT 数据集上最为明显,并且在 WADI 和 SMD 上表现出一些性能下降。 展望未来,我们的目标是完善阈值处理过程,以缩小自动确定的阈值与在更广泛的场景中使用最佳 F1 分数确定的阈值之间的差距。

表 V SWAT — 不同延迟时的最佳 F1 结果。 每个实验中表现最好的和第二好的方法分别以粗体和下划线表示
在这里插入图片描述

表 VI WADI——不同延迟时的最佳 F1 结果。 每个实验中表现最好的和第二好的方法分别以粗体和下划线表示在这里插入图片描述

C. Early Detection Performance

由于时间序列异常事件通常形成连续的异常片段,因此之前的工作认为,在现实场景中检测地面真实异常片段的任何子集中的异常就足够了。 基于这个概念,他们使用点调整(PA)方法评估了多元时间序列异常检测模型[1]、[3]、[68]。 在这种方法下,如果具有 Ma 时间戳的连续异常片段中的任何时间戳被正确检测为异常,则 PA 方法会认为整个异常片段是使用 Ma 真阳性正确预测的 [64]。 然而,由于连续异常段内的任何检测都会被同等对待,因此 PA 方法不会奖励异常段中的早期检测 [24]、[69]、[70]。 然而,异常事件的早期检测在广泛的实际应用中通常至关重要,并且能够早期检测异常事件的模型将在现实世界中具有重要价值[71]。

为了评估 CST-GL 和基线方法的早期检测能力,我们采用 Ren 等人建议的指标。 [72],其中,当且仅当正确检测到异常点并且其时间戳最多是连续异常段的第一个异常之后的δ步时,连续异常段的检测才被视为真阳性。 例如,δ = 0 相当于尽早识别异常段,没有任何延迟,对于具有第二个间隔的时间序列,δ = 60 相当于在第一个异常时间戳之后的一分钟内检测到异常段。 当 δ 变得足够大(即,延迟约束被移除)时,早期检测 PA 方法的结果将与原始 PA 方法相同。

在这项工作中,我们评估模型延迟 0、1、5、10、20、30 和 60 分钟的早期检测能力。 继之前关于计算模型异常评分能力的工作[1]、[3]、[68]之后,我们报告了每次延迟的最佳 F1 分数。 根据表 V-VII,我们观察到以下情况。

1)立即检测:当 δ = 0 时,CST-GL 相对于下一个基线显示出巨大的优势,其中 SwaT、WADI 和 SMD 的性能改进分别为 86.27%、43.44% 和 2.75%。 这表明我们的模型在多元时间序列异常事件的早期检测方面显着优于简单且最先进的基线。 2) 实用性:在所有三个基准数据集上,我们提出的框架在所有延迟 δ 上均表现最佳,但 SMD 数据集下的 5 分钟和 10 分钟除外。 虽然模型性能差距随着 δ 的增加而减小,但即使延迟设置为 60 分钟,我们的框架仍然是最先进的。 这些结果表明,我们的异常检测模型不仅能够检测需要立即关注的异常事件,而且能够检测不那么匆忙的异常事件。 因此,CST-GL 可以潜在地应用于广泛的实际应用,并且在各种实际操作要求中都是可靠的。 3)基线比较:一致地,学习时间和变量间依赖性的InterFusion在早期异常检测中排名第二。 其他基线没有解决这两种依赖性,显示延迟和数据集之间存在更大的可变性。 这验证了学习时间和相互依赖性对于跨任务和数据集的模型泛化的重要性。

表 VII SMD — 不同延迟时的最佳 F1 结果。 每个实验中表现最好的和第二好的方法分别以粗体和下划线表示
在这里插入图片描述

D. Root Cause Anomaly Diagnosis

根据 Garg 等人建议的方法。 [24],我们使用前三个根本原因指标(RC-Top3)来衡量所有模型的异常诊断性能。 RC-Top3 测量在检测模型确定的前三个原因中至少识别出一个真正原因的实例。 我们提供平均性能及其标准差。 由于 InterFusion 在原始重建上利用 MCMC 插补来诊断根本原因,因此我们给出了有和没有 MCMC 插补的结果。 正如李等人所说。 [1],异常节点变量有可能在其网络模块内的学习嵌入中引入偏差,从而产生不良噪声。 MCMC 插补可以帮助抑制这种噪音,类似于 CST-GL 中基于 PCA 的评分器的作用。

对于 CST-GL,我们使用基于 PCA 的方法得出的排名以及聚合来自其一跳邻居的异常分数(CST-GL + MTCL-Graph)后获得的排名来报告诊断性能。 后一种方法利用 MTCL 模块中学到的变量之间的关系来诊断根本原因。 这种方法认为某些变量表现出的异常行为可能只是症状,而根本原因可能归因于密切相关的变量。 为了进一步评估 MTCL 的优势,我们还使用 MTCLGraph(原始信号+MTCL-Graph)展示了原始信号的诊断结果。 这有助于评估 MTCL 在促进异常诊断方面的有效性,即使仅使用原始信号也是如此。

如表 VIII 所示,CST-GL 在使用 MTCLGraph 识别 SWaT 和 WADI 异常的根本原因方面表现出色。 它紧随不带 MTCL-Graph 的 SMD 上的 OmniAnomaly。 如第 IV-C2 节中详述,直接根据错误贡献或使用 MTCL-Graph 的一跳距离邻居来诊断根本原因的决定取决于异常特征。 SWaT 和 WADI 通常具有表现出异常行为但不是致病原因的症状变量 [11]、[24]。 这些变量受到表现出正常行为的真正根本原因的影响。 因此,挖掘真正的根本原因需要明确识别与症状变量密切相关的变量。 我们的 MTCL 模块可以有效地实现这一点。

表 VIII 根本原因诊断的表现。 平均 RC-TOP3(± 标准偏差)
在这里插入图片描述

相比之下,在 SMD 中,表现出异常行为的变量本身确实是根本原因。 因此,MTCL-Graph 不提供任何额外的好处; 相反,直接评估基于 PCA 的评分器的异常分数更为有利。 这些观察结果与 InterFusion 的诊断结果一致。 当采用 MCMC 插补时,异常噪声的影响会减轻,从而使 InterFusion 能够准确诊断 SMD 的根本原因。 然而,MCMC 插补不会增强 SWaT 和 WADI 的结果,因为它减少了转移到相关变量的异常行为的影响。 因此,MCMC 插补减轻了对本身不表现出异常行为的实际根本原因变量的异常影响。 为了进行巩固,我们展示了 MTCL-Graph 提高了在 SWaT 和 WADI 中直接从原始信号直接诊断根本原因的能力,但在 SMD 中则不然。 总体而言,CST-GL 借助 MTCL-Graph 为操作员检测和诊断异常事件提供了全面且可操作的工具。

E. Case Study in Practice

为了展示 CST-GL 在现实场景下的实施,我们在 WADI 的 WADI 系统上进行时间序列异常检测案例研究,其中异常事件的根本原因已知。
在这里插入图片描述
图3. WADI系统隐形攻击的根本原因分析。 节点大小代表计算出的节点排名,如第 IV-C2 节中所述。 红色节点代表排名最高的传感器,橙色节点代表在攻击的前 5 分钟内贡献大部分异常分数的前 5 个传感器。 除了排名最高的红色节点之外,四个蓝色节点表示异常的其他潜在来源,其大小表示相对重要性。 然而,与攻击相关的主节点是第一个红色节点,而不是四个蓝色节点。 有向箭头表示 CST-GL 使用 MTCL 模块学习到的单向关系,并对应于不同传感器之间的空间依赖性。

1)背景:WADI中的WADI进程分为三个子进程:P1、P2和P3。 P1涉及取水和水质管理,P2从P1取水并供应给消费者,P3将多余的水返回到P1。 为了有效地监控和自动化系统,安装了 127 个传感器。 每个子流程中的传感器都紧密相连,以监控和自动化 WADI 子流程。 尽管如此,对单个子进程的任何攻击都会对整个 WADI 系统产生连锁效应。 在此实验设置中,CST-GL 需要检测从 2017 年 10 月 9 日到 2017 年 10 月 11 日期间有权访问系统控制权的恶意方的恶意攻击。CST-GL 提供了 14 天的正常多传感器数据 2017年9月25日至2017年10月9日,训练模型。 训练期间不会给出与攻击相关的标签或信息,并且 CST-GL 需要以无人监督的方式检测异常。 2)秘密攻击:上午10点55分 2017 年 12 月 10 日,攻击者通过改变水质传感器 1_AIT_001 的读数(即攻击的根本原因),对 WADI 发起了 29 分钟的隐形攻击,以排干高架水库的水。 此外,攻击者巧妙地操纵根本原因传感器,使事件无法检测到。 因此,鉴于攻击者对 WADI 系统拥有广泛的了解并且故意隐藏根本原因,确定此攻击的根本原因并非易事。 3) 拟议的行动框架:以下描述了 CST-GL 的实时异常检测机制。

  1. 自动早期检测:依靠自动阈值机制,CST-GL 在上午 10:58 向操作人员发出警报。 (攻击后不到4分钟)可能发生异常事件,需要紧急干预。 攻击期间,异常分数居高不下,持续警告操作员攻击事件的紧急程度。 2) 通过学习关系进行根本原因识别:查看 CST-GL 的系统输出,操作员会看到来自子流程 P1 的五个传感器贡献了该期间的绝大多数异常分数:1_MV_002、1_P_002、1_P_006、1_LS_001 和 1_LS_002。 在检查了所有五个传感器后,发现它们不是根本原因,而只是这次攻击的症状。 尽管如此,它们很可能与隐形攻击事件的根源有关。 因此,根据 CST-GL 学到的变量对之间的关​​系,立即对与五个传感器最密切相关的传感器进行排名。 子进程 P1 中的一跳距离邻居的聚合分数将 1_AIT_001 列为与上述 5 个传感器最相关的传感器,如图 3 所示。因此,在仅检查 127 个传感器中的 6 个后,就成功识别了攻击的根本原因 。 3)逐点检测的信息量:原始 WADI 数据集假设没有人为干预,并且 29 分钟的隐形攻击于上午 11:24 结束。 CST-GL 始终在上午 11:26 之前确认。 攻击已停止,延迟时间小于 2 分钟。 这不仅使系统操作员能够根据知情的知识做出决策,而且还可以直接努力在最相关的时间范围内探索数据,以彻底了解已经发生的异常事件。

在另一个 WADI 异常事件中,流量传感器 1_FIT_001 通过错误读数受到攻击。 检测这种攻击的根本原因也很重要,因为错误读数在该传感器的正常范围内[11]。 执行上述实施后,CST-GL 能够在攻击发生 10 秒后向系统操作员发出异常事件发生的警报。 同样,导致异常分数的顶级传感器再次被发现不是根本原因。 通过对传感器之间学习关系的汇总得分,CST-GL 将根本原因传感器 1_FIT_001 列为第三个最可能成为根本原因的传感器,在检查 127 个传感器中的 8 个后正确识别了根本原因。 最后,CST-GL 通知异常事件已在 ±1 分钟的精度内结束。

  1. 总结:案例研究证明了 CST-GL 的能力: 1) 及早发现异常事件; 2)通过定位相关变量,显着减少人类操作员识别根本原因的搜索范围; 3) 以合理的精度通知操作员异常事件的持续时间。 重要的是,它还说明了时空和成对关联关系依赖的联合学习可以帮助多元时间序列异常检测模型检测和诊断异常事件,显着减少此类事件对工业系统的破坏性影响。

展望未来,我们打算增强 CST-GL 的稳健性和实际适用性。 如前所述,异常可能会使 GNN 中的建模过程产生偏差。 当异常引入一长串异常效应并在大规模传感网络中传播时,这一挑战变得更加明显,这在实践中很常见。 采用多个 GNN 层进行 k 跳邻居聚合来解决此类长期依赖性可能会使系统面临过度平滑 [73] 和过度挤压 [74] 等问题。 虽然在 CST-GL (4) 中纳入门控机制可以缓解上述问题,但我们计划通过结合 GNN 领域的最新进展来进一步强化我们的框架。 具体来说,我们的目标是探索以其稳定性而闻名的 GNN 技术 [75],并考虑包括在线自适应重新布线用于消息传递的潜力。

此外,我们的目标是通过解决概念漂移和缺失值问题来增强 CST-GL 的更广泛应用。 在概念漂移方面,我们计划实施能够检测和量化数据漂移幅度的机制,从而促进根据不断变化的数据分布对模型进行必要的调整[76]、[77]。 为了处理缺失值,我们打算通过采用标准插值和插补算法来评估 CST-GL 的稳健性 [78]。 此外,我们渴望结合时空图控制微分方程[12],它本质上适合涉及缺失值的场景。

VI. CONCLUSION

在这项工作中,我们提出了一种用于多元时间序列异常检测的新颖框架。 我们的模型 CST-GL 显式地学习多元时间序列数据的变量对之间的成对相关性,共同捕获时空依赖性,并在时间序列数据的行为偏离非异常模式时有效地检测异常事件。 对三个真实世界数据集的实验表明,CST-GL 在一般和早期检测设置中优于 11 个基线。 CST-GL 还能够对多元时间序列数据中的异常事件进行解释和根本原因诊断,为基于 STGNN 的方法在实际应用中实施铺平道路。 未来,我们将通过稳健性和可解释性的角度研究 CST-GL 在动态和缺失值场景中的泛化性以及 GNN 模型 [34] 的可信度。 我们还将研究大型语言模型如何增强时间序列数据的图学习[79]、[80]。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值