浙江大学学报(工学版), 2025, 59(10): 2134-2143 doi: 10.3785/j.issn.1008-973X.2025.10.014

计算机技术

基于时空图注意力网络的多变量时序数据异常检测方法

肖刚,, 卢大鹏, 郑文博, 程振波, 张元鸣,

浙江工业大学 计算机科学与技术学院,浙江 杭州 310023

Multivariable time series data anomaly detection method based on spatiotemporal graph attention network

XIAO Gang,, LU Dapeng, ZHENG Wenbo, CHENG Zhenbo, ZHANG Yuanming,

College of Computer Science and Technology, Zhejiang University of Technology, Hangzhou 310023, China

通讯作者: 张元鸣,男,副教授. ocid.org/0000-0001-6208-6469. E-mail:zym@zjut.edu.cn

收稿日期: 2024-10-8  

基金资助: 浙江省“尖兵”“领雁”研发攻关项目(2023C01022);国家自然科学基金资助项目(62476248).

Received: 2024-10-8  

Fund supported: 浙江省“尖兵”“领雁”研发攻关项目(2023C01022);国家自然科学基金资助项目(62476248).

作者简介 About authors

肖刚(1965—),男,教授,从事智能制造、数据治理研究.ocid.org/0000-0002-0806-2156.E-mail:xg@zjut.edu.cn , E-mail:xg@zjut.edu.cn

摘要

现有时序数据异常检测方法侧重于提取时序数据的时间变化特征,忽略了多变量之间的空间依赖特征,为此提出基于时空图注意力网络的检测方法. 将多变量时序数据转换为具有时空依赖关系的时序图结构数据,设计时空图注意力网络分别提取时序图结构数据的时间变化特征和空间依赖特征. 通过多层感知机学习时空特征的周期性模式,根据时序数据的预测值与观测值的异常分数进行异常检测. 在公开数据集上的实验结果表明,所提方法在异常检测精准度和鲁棒性方面显著优于现有先进的基线方法.

关键词: 异常检测 ; 时序图 ; 图深度学习 ; 多变量时序数据 ; 时空特征融合

Abstract

Existing anomaly detection methods of time series data focus on extracting the temporal variation features, while the spatial dependency features between multiple variables are ignored. To address this problem, a detection method based on a spatiotemporal graph attention network was proposed. The original multivariate time series data were transformed into a time-series graph with spatiotemporal dependencies, and a spatiotemporal graph attention network was designed to separately extract the temporal variation features and spatial dependency features. The periodic patterns of fused spatiotemporal features were learned by a multilayer perceptron, and an anomaly detection was performed based on the anomaly scores between prediction values and observation values. Experimental results on public datasets showed that the proposed method significantly outperformed state-of-the-art baseline methods in terms of anomaly detection accuracy and robustness.

Keywords: anomaly detection ; spatiotemporal graph ; graph deep learning ; multivariate time series data ; spatiotemporal feature fusion

PDF (1128KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

肖刚, 卢大鹏, 郑文博, 程振波, 张元鸣. 基于时空图注意力网络的多变量时序数据异常检测方法. 浙江大学学报(工学版)[J], 2025, 59(10): 2134-2143 doi:10.3785/j.issn.1008-973X.2025.10.014

XIAO Gang, LU Dapeng, ZHENG Wenbo, CHENG Zhenbo, ZHANG Yuanming. Multivariable time series data anomaly detection method based on spatiotemporal graph attention network. Journal of Zhejiang University(Engineering Science)[J], 2025, 59(10): 2134-2143 doi:10.3785/j.issn.1008-973X.2025.10.014

随着物联网、人工智能和云计算等新一代信息技术的迅速发展,异常检测被广泛应用于工业故障检测、交通异常事件和网络安全监测等领域[1-3]. 异常检测旨在发现时序数据中不满足常态、约束和给定模式的离群数据,在保障安全、提高效率和降低成本等方面发挥着重大作用[4].

由于异常检测任务中正常类与异常类的样本分布高度不平衡,且异常样本的标注成本高、获取困难,无监督异常检测成为主流方法. 无监督异常检测主要包括基于统计的方法、基于传统机器学习的方法和基于深度学习的方法. 基于统计的方法采用高斯分布[2]、泊松分布[5]、二项分布[6]等数学模型,通过分析数据特性分布检测数据点与期望分布的偏离来检测异常值,这类方法须结合领域先验知识,不适用于未知工况和未知异常类别的时序数据. 基于传统机器学习的方法采用主成分分析[7]、向量机[8]、决策树[9]等检测时序数据中的正常或异常类型,其建模方法较为简单,仅能捕获线性关系,不适用于具有复杂依赖关系的多变量时序数据. 基于深度学习的方法以端到端的方式从时序数据中提取非线性模式,采用如自编码器[10]和生成对抗网络[11]等模型计算数据重构误差,或者采用循环神经网络(recurrent neural network,RNN)[12]、长短期记忆网络(long short-term memory,LSTM)[13]与Transformer[14]等模型比较预测值与真实值的差异进行异常检测. 现有无监督异常检测方法往往关注时序数据中变量自身的时间特征,忽略了变量之间复杂的空间关联关系(如传感器之间的变化性依赖关系),导致多变量时序数据中不同变量的异常值、异常区间和异常模式难以被准确识别和定位. 如何结合多变量时序数据的时空特征成为进一步提高异常检测性能的关键.

图深度学习在图结构数据(如交通网络、文献引用网络和知识图谱等方面)展现出强大的空间特征提取能力[15],它包括图卷积网络(graph convolutional network,GCN)、图注意力网络(graph attention network,GAT)和图变换网络(graph transformer network, GTN)等重要模型. 为了利用图深度学习提取多变量时序数据的时空特征并进行异常检测,本研究提出基于时空图注意力网络(spatiotemporal graph attention network,STGAT)的多变量时序数据异常检测方法,先将多变量时序数据转换为时序图数据,再通过STGAT提取时序图的时间和空间特征,最后根据融合后的时空特征进行时序数据预测,通过比较预测值与观测值实现异常检测. 本研究1) 针对多变量时序数据间动态依赖关系难以捕捉的问题,提出新的时序图构建方法,以各时间序列为节点,利用加权相似性度量计算变量间的依赖强度,构建动态时序图模型,实现对数据时空结构的显式表达. 2) 为了进一步融合时间演化特征与空间依赖特征,设计基于时空图注意力网络的异常检测框架,通过时序网络提取局部时间模式,结合图卷积网络捕捉变量间空间关联,引入图注意力机制实现时空特征的自适应加权融合. 3) 基于多个公开数据集开展实验验证,通过预测误差进行异常判定,评估所提方法在检测精度、异常定位能力等方面的性能.

1. 相关工作

1.1. 基于深度学习的异常检测

基于深度学习的异常检测根据实现机制不同可以分为数据预测异常检测和数据重构异常检测. 数据预测异常检测采用历史时序数据对深度学习模型进行训练,以捕捉时序数据中蕴藏的如趋势和周期性的规律性知识,再将实际观测值与模型预测的规律性知识进行比较,通过计算误差进行异常检测. Wei等[16]使用LSTM学习时序依赖性,通过自编码器评估重建误差以检测室内空气质量异常. Xu等[17]提出深度孤立森林模型,通过随机初始化的神经网络生成多样化表示,并结合随机轴平行切割实现非线性数据分区,使异常检测性能得到提升. Barrientos-Torres等[18]提出基于季节性自回归积分滑动平均模型(autoregressive integrated moving average, ARIMA)和传递函数模型的异常检测方法,通过建模水流数据实现对城市供水系统的异常检测. Su等[19]提出基于随机循环神经网络的异常检测模型,利用随机变量连接和平面归一化流算法学习多变量时序的鲁棒正态表示, 通过重构输入数据并利用重构概率差异确定异常. 霍纬纲等[20]提出融合Transformer 编码器和变分自编码器(variational autoencoders, VAE)的随机Transformer. Shen等[21]采用具有跳跃连接的扩展循环神经网络,有效捕捉多尺度时间动态特征,通过预测结果实现异常检测,提升了检测准确率. 数据重构异常检测将重建误差作为异常分数进行异常检测. Zong等[22]提出深度自动编码高斯混合模型,利用自编码器为每个输入数据点生成低维表示并进行误差重建, 再将误差输入高斯混合模型中以检测异常. Abdulaal等[23]提出异常检测模型RANSynCoder,该模型对预训练自编码器(autoencoder, AE) 的潜在表示进行频谱分析,提取主要频率输入后续网络, 学习得到原始多变量的同步表示. Zhang等[24]将生成对抗网络的生成器与判别器相结合,通过生成高质量伪标签和放大重构误差,提升了多变量时间序列异常检测的性能. Zhou等[25]以对抗的形式执行正则化,设计翘曲方法增加训练数据进行异常检测.

无论是基于预测还是基于数据重构的方法都只能提取各个时序数据的变化性特征,不能提取时序数据之间的空间依赖关系. 然而,时序数据之间的依赖关系客观存在,忽略该类空间特征将严重影响异常检测的性能.

1.2. 基于图深度学习的异常检测

有关交通网络、文献引用网络和知识图谱等图结构数据的研究表明,图深度学习具有强大的非欧空间特征学习能力[1-3],有学者将该方法引入异常检测领域. Liu等[26]等将多视图信息引入图级异常检测,通过跨视图互信息判断图的异常性. Deng等[27]将学习到的图结构与时序数据同时输入多层GAT,得到各个时刻的预测值,并将异常值与预测值之间的L2距离作为异常分数. Zheng等[28] 提出图感知学习模型,通过图神经网络捕捉多变量时间序列的相关性,以无监督方式估计数据的异常程度. Ding等[29]利用图编码器将2个不同域的属性图压缩到低维空间,利用域鉴别器和异常分类器来检测网络中出现的异常. Zhao等[30]将单个时间变量数据作为特征,利用2种并行的GAT学习时序特征与特征之间的依赖关系,通过预测方法检测数据异常. 现有基于图深度学习的方法难以准确建模多变量时序数据的时空依赖关系,也不能根据融合后的时空间特征进行异常检测.

2. 多变量时序图数据建模

时序数据具有不同的数据特性和量级(如温度传感器和速度传感器量纲不同),须进行多变量时序数据的归一化处理,计算式为

$ {x_{\text{n}}} = \frac{{x - {x_{\text{m}}}}}{\sigma^2 } . $

式中:xn为归一化后的值,x为原始值,xm为原始值均值,$\sigma^2 $为原始值的方差. 将归一化后的时序数据进行时间滑窗处理,从而获得比单时间步长更多的特征,收集多变量时序数据在时间滑窗内的数据特征:

$ {x^{\left( t \right)}} = \left\{ {{x^{\left( t \right)}},{x^{\left( {t+1} \right)}}, \cdots ,{x^{\left( {t+w - 1} \right)}}} \right\}. $

式中:w为滑窗大小,x(t)t时刻经滑窗处理后的数据. 在数据预处理之后,采用高斯核加权K近邻[31]构建多变量时序图模型,高斯核加权在高维空间中进行隐式数据处理,可以有效避免维度灾难问题[32]. 将每个时序数据值视为图的节点,数据值之间的依赖关系视为图的边,边的权重计算式为

$ {e}_{ij}=\mathrm{exp}\left({\frac{-{({x}_{i}-{x}_{j})}^{2}}{2{\eta }^{2}}}\right) . $

式中:xixj分别为某一时刻数据节点i和数据节点j的值,$ \eta $为高斯核带宽参数. 保留前K个最大的时序数据关系权重,得到多变量时序图.

定义1 G={G1, G2,···,Gt}为多变量时序图,Gt={V, E}为t时刻数据节点之间的依赖关系图,${{V}} = \{ {v_i}|i = 1, 2,\cdots ,N\} $${{E}} = \{ {e_{ij}}|i,j = 1,2,\cdots ,N\} $;其中${v_i}$为数据节点ieij为数据节点i和数据节点j值之间的依赖关系,N为时序数据变量的个数.

定义2 ${\boldsymbol{A}} \in {{\bf{R}}^{{\mathrm{N}} \times {\mathrm{N}}}}$为图的邻接矩阵,代表多变量时序图的拓扑结构,该邻接矩阵的元素代表数据节点i和数据节点j之间的存在连边.

图1所示为多变量时序图的建模过程,多变量时序数据归一化、多变量时序数据相似度计算和时序图数据构建分别进行,所构建的时序图可以精确描述多变量时序数据之间的时间和空间特征,为提取其中的时空间特征并进行异常检测奠定了基础.

图 1

图 1   多变量时序图建模过程

Fig.1   Construction process of multivariate time series graph


3. 时空图注意力网络模型

STGAT模型框架如图2所示,主要核心模块包括1)时间特征提取模块:采用TimesNet[33]模型提取时序图的时间特征,得到时间特征的向量表示;2)空间特征提取模块:采用GCN提取时序图的空间特征,得到空间特征的向量表示;3)时空特征融合模块:采用图注意力机制进行时间特征向量表示和空间特征向量融合,得到统一的时空特征向量表示;4)异常检测模块:将时空特征向量表示作为输入,经过多层感知机(multilayer perceptron, MLP)进行预测,比较预测值与实际值以检测异常.

图 2

图 2   时空图注意力网络模型框架

Fig.2   Framework of spatiotemporal graph attention network


3.1. 时间特征提取

时序数据中蕴藏的异常问题往往是多种因素变化过程的叠加,呈现周期内与周期间2种类型的时序变化特征,本研究采用TimesNet模型提取多变量时序图的变化特征,与LSTM、RNN和Transformer等时序模型相比,TimesNet模型能够学习时序图的周期性变化特征,它的网络结构如图3所示. 时序图通过线性嵌入,得到一维时序向量,利用快速傅里叶变化提取一维时序向量的周期性信息,再将周期信息叠加到一维时序向量上,变化过程为

图 3

图 3   TimesNet模型的网络结构

Fig.3   Structure of TimesNet model


$ {\boldsymbol{Z}}{\text{ = Avg}}\left( {{\text{FFT}}\left( {{{\boldsymbol{X}}_{{\mathrm{1D}}}}} \right)} \right); $

$ \left\{ {{f_1}, \cdots ,{f_k}} \right\}{\text{ = argTopk}}\left( {\boldsymbol{Z}} \right); $

$ {\boldsymbol{X}}_{{\mathrm{2D}}}^i = {\text{Reshap}}{{\text{e}}_{{f_i}}}\left( {{\text{Padding}}\left( {{{\boldsymbol{X}}_{{\text{1D}}}}} \right)} \right),\;i \in \left\{ {1, 2, \cdots , k} \right\}. $

式中:X1D为一维时序向量,FFT为快速傅里叶变换;${\boldsymbol{Z}} \in {\bf{R}}^T $X1D中每个频率分量的强度,TX1D的长度;argTopk为选取前k个频率强度最高的周期信息$\left\{f_1, \cdots, f_k\right\} $;Padding(·)为在X1D末尾补零,使重构后的二维时序向量${\boldsymbol{X}}_{{\mathrm{2D}}}^i$的长度符合选取的周期信息长度. 二维时序向量蕴含不同周期信息,其列元素为相邻时刻,行元素为相邻周期. ${\boldsymbol{X}}_{{\mathrm{2D}}}^i $通过ResNet卷积策略整合残差信息以提取时序数据的时间特征,得到二维时序特征向量$\hat {\boldsymbol{X}}_{{\mathrm{2D}}}^i(i \in k)$,再转换回一维空间并进行信息聚合,计算式为

$ \hat {\boldsymbol{X}}_{{\text{1D}}}^i = {\text{Trunc}}\left( {{\text{Reshape}}\left( {\hat {\boldsymbol{X}}_{{\text{2D}}}^i} \right)} \right),\;i \in \left\{ {1,2, \cdots , k} \right\}; $

$ \{ {\hat f_1}, \cdots , {\hat f_k}\} = {\mathrm{SoftMax}}\{ {f_1}, \cdots , {f_k}\} ; $

$ {{\boldsymbol{X}}^i} = \mathop \sum \nolimits_{i = 1}^k {\hat f_i} \times \hat {\boldsymbol{X}}_{{\text{1D}}}^i. $

函数Trunc将二维时序特征向量$\hat{\boldsymbol{X}}_{{\mathrm{2D}}}^i $补充的0去除,Reshape将$\hat{\boldsymbol{X}}_{{\mathrm{2D}}}^i $转换为一维特征向量$\hat{\boldsymbol{X}}_{{\mathrm{1D}}}^i $,SoftMax将周期信息fi (i=1, ···, k)映射为不同权重$\left\{\hat f_1, \cdots , \hat f_k\right\} $,对每个$\hat{\boldsymbol{X}}_{{\mathrm{2D}}}^i $进行累计加权求和得到时间特征向量表示${\boldsymbol{X}}^i $.

3.2. 空间特征提取

空间特征提取旨在将多变量时序图中目标节点的高阶邻居特征嵌入低维的向量空间. 针对多变量时序图的目标结点特征主要集中在局部变化的特点,采用GCN提取空间特征,目标节点空间特征向量表示的计算式为

$ {\boldsymbol{v}}^{l+1} = \delta \left( {{{\hat {\boldsymbol{D}}}^{ - \frac{1}{2}}}\hat {\boldsymbol{A}}{{\hat {\boldsymbol{D}}}^{ - \frac{1}{2}}}{{\boldsymbol{v}}^{ l }}{{\boldsymbol{W}}^{ l }}} \right). $

式中:$ \hat {\boldsymbol{A}} $为邻接矩阵A的自连接矩阵,$ \hat {\boldsymbol{D}} $$ \hat {\boldsymbol{A}} $的度矩阵,Wl为第l层的权重矩阵,$ \delta $为非线性变换,vl为目标节点在第l层的特征. 由式(10)计算得到时序数据节点的空间特征向量表示:

$ {{\boldsymbol{v}}}_{i}^{t}\in {{\bf{R}}}^{d}\text{,}i\in \left\{1,2,\cdots ,n\right\} . $

式中:${\boldsymbol{v}}_i^t$t时刻第i个时序数据空间特征向量表示,d为向量的维度,n为时序数据的数量.

3.3. 时空特征融合

特征融合主要有级联方式与相加方式,其中级联方式容易引入冗余信息,且在特征相关性较低时,特征会消失;相加方式难以捕捉不同类别特征间的关联关系. 为了有效融合时空特征,采用GAT计算时空注意力系数,得到统一的时空特征向量,计算式为

$ {\boldsymbol{z}}_i^t = {\text{ReLU}}\left( {{{\boldsymbol{W}}_z}{\boldsymbol{X}}_i^t+\mathop \sum \nolimits_{j \in N\left( i \right)} {\alpha _{i,j}}{{\boldsymbol{W}}_z}{\boldsymbol{X}}_j^t} \right). $

式中:${{\boldsymbol{W}}_z}$为可学习的权重矩阵,${{\boldsymbol{X}}^i}$为时间特征向量,$N\left( i \right)$为节点i的邻居节点集合,${\mathbf{z}}_{{i}}^t$t时刻时序数据i的时空特征向量表示,$ {\alpha _{i,j}} $为时空融合注意力系数,计算式为

$ {\alpha _{{{i,j}}}} = \frac{{\exp \;(\theta \left( {i,j} \right))}}{{\displaystyle\sum k \in {N_{\left( i \right)}}\exp \;({\text{LeakyReLU}}\left( {\theta \left( {i,k} \right)} \right))}}, $

$ \theta \left( {i,j} \right) = {\text{LeakyReLU}}\left( {{{\boldsymbol{a}}^{\mathrm{T}}}\left( {{\boldsymbol{g}}_i^t \oplus {\boldsymbol{g}}_j^t} \right)} \right), $

$ {\boldsymbol{g}}_i^t = {{\boldsymbol{W}}_g}{{\boldsymbol{v}}_i} \oplus {\boldsymbol{X}}_i^t. $

式中:$ \theta(i, j) $为向量之间的关系,k为节点i的邻居节点,${\boldsymbol{a}}^{\mathrm{T}}$为注意力系数转置,$ {{\boldsymbol{v}}_i} $为空间特征向量,${{\boldsymbol{W}}_g}$为线性变换矩阵,$ \oplus $表示向量拼接操作,${\boldsymbol{g}}_i^t$为初始时空特征向量,LeakyReLU(·)为非线性激活函数. 在t时刻n个时序数据节点的时空特征向量为$[{\boldsymbol{z}}_1^t, \cdots ,{\boldsymbol{z}}_{{n}}^t]$.

3.4. 网络模型训练

将时空特征向量表示输入多层感知机,预测未来时刻的数据:

$ \left[ {\hat s_1^t,\hat s_2^t,\hat s_i^t, \cdots ,{{\hat s}_n}} \right] = {\text{MLP}}\left( {\left[ {{\boldsymbol{z}}_1^t,{\boldsymbol{z}}_2^t,{\boldsymbol{z}}_i^t, \cdots ,{\boldsymbol{z}}_n^t} \right]} \right). $

式中:$\hat s_i^t$t时刻对应时序数据i的预测值. 采用均方误差函数计算时序数据预测值和观测值的损失:

$ {L_{{\mathrm{MSE}}}} = \frac{1}{{L}}\mathop \sum \nolimits_{t = L +1}^{{T_i}} (\hat s_i^t - s_i^t)_{}^2 . $

式中:L为输入序列长度,Ti为训练集. 通过Adam优化器来最小化损失函数,使得检测模型能够准确学习正常数据的分布规律. 不断迭代训练过程,使时序数据的时空融合向量表示收敛,获得最终时序数据预测模型.

3.5. 异常判定

在测试集上进行异常检测,异常分数的计算式为

$ {{{E}}_i}\left( t \right) = \left| {s_i^t - \hat s_i^t} \right|. $

式中:$s_i^t$t时刻第i个时序数据的观测值. 使用指数加权平均对异常分数进行处理,以平滑数据突变导致的异常分数峰值,计算式为

$ {\text{E}}{{\text{S}}_i}\left( t \right) = {\mathrm{EWMA}}{\left( {\left| {s_i^t - \hat s_i^t} \right|} \right)^2}. $

式中:ESi为经平滑处理后的第i个时序数据的异常分数. 通过计算异常的均值和标准差,可以动态设定异常阈值,原因是均值和标准差分别表征数据的集中趋势和离散程度,能够有效识别显著偏离正常范围的数据点[23],计算式为

$ \varepsilon = \mu \left( {{{\mathrm{ES}}_i}} \right){{+z}}\sigma \left( {{{\mathrm{ES}}_i}} \right). $

式中:$\varepsilon $为异常阈值;$\mu $为时序数据的均值;$\sigma $为时序数据的标准差;阈值动态取值参数z∈[2,10],z与异常阈值一一对应. 从异常阈值集合中选择与正常数据$({{\mathrm{ES}}_i} \lt \varepsilon )$差距最大的阈值,计算式为

$ {e_{\mathrm{a}}} = \left\{ {{{\mathrm{ES}}_j} \in {{\mathrm{ES}}_i}|{{\mathrm{ES}}_i} > \varepsilon } \right\}, $

$ {\varepsilon _{{\mathrm{max}}}} = {\text{max}}\left( {\frac{{\Delta \mu \left( {{{\mathrm{ES}}_i}} \right)/\mu \left( {{{\mathrm{ES}}_i}} \right)+\Delta \sigma \left( {{{\mathrm{ES}}_i}} \right)/\sigma \left( {{{\mathrm{ES}}_i}} \right)}}{{\left| {{e_{\mathrm{a}}}\right| + {E_{{\mathrm{seq}}}}} }}} \right). $

式中:$\Delta \mu \left( {{{\mathrm{ES}}_i}} \right)$为所有数据均值与正常数据均值的差值,$\Delta \sigma \left( {{{\mathrm{ES}}_i}} \right)$为所有数据标准差与正常数据标准差的差值,${e_{\mathrm{a}}}$为异常值,${E_{{\mathrm{seq}}}}$为连续异常值的个数,${\varepsilon _{{\mathrm{max}}}}$为最终选择的阈值. 当多变量时序数据的异常分数大于最大异常阈值时,判定该时序数据存在异常.

3.6. 复杂度分析

O(n2)为时序图构建模块的时间复杂度,其中n为节点数量,x1x2均为节点数据的维度;O(c(ned1d2)为空间特征提取模块的时间复杂度,其中c为图卷积层数,e为节点邻居数,d1d2分别为节点向量的输入维度和卷积后的输出维度;O(nLcico)为时间特征提取模块的时间复杂度, 其中L为输入序列长度,cico分别为输入通道数和输出通道数;O(nekgigj)为时空特征融合模块的时间复杂度,其中k为注意力头数,gigj均为时空特征拼接后的特征维数.

4. 实验结果与分析

4.1. 实验环境

在4个公开数据集SWaT[34]、MSL[35]、SMD[19]、PSM[23]中开展STGAT模型性能评价实验. SWaT由连续运转的安全水处理系统中的关键传感器收集的时序数据组成,含51个变量;MSL由美国国家航天局收集的火星漫游车系统报告数据组成,含55个变量;SMD由大型互联网公司的服务器运行数据组成,含38个变量;PSM由eBay公司服务器运行数据组成,含25个变量. 实验用数据集的统计信息如表1所示,其中ntndnm分别为训练集、验证集和测试集的时序数据样本数量,ra为数据异常比例.

表 1   模型性能评价实验用数据集的统计信息

Tab.1  Statistical information of dataset used for model performance evaluation

数据集ntndnmra/%
SWaT396000990004491912.1
MSL46653116647372910.5
SMD5667241416817084204.2
PSM105984264978784127.8

新窗口打开| 下载CSV


选取精确率P、召回率R和F1分数作为模型性能的评价指标. 1)精确率表示所有被预测为正确的样本中实际正确的概率,计算式为

$ P = \frac{{{\mathrm{TP}}}}{{{\mathrm{TP}}+{\mathrm{FP}}}}. $

式中:TP、FP分别为真阳性和假阳性的数量. 2)召回率表示实际为正的样本中被预测为正样本的概率,计算式为

$ R = \frac{{{\mathrm{TP}}}}{{{\mathrm{TP}}+{\mathrm{FN}}}}. $

式中:FN为假阴性的数量. 3)F1分数为精确率与召回率的调和平均,用于比较模型的综合性能,计算式为

$ {\mathrm{F}}{\text{1 = }}\frac{{2 \times {{P}} \times {{R}}}}{{{{P}}+{{R}}}} . $

选取10个典型模型与STGAT进行对比分析,这些基线模型分属2个类别:深度学习模型和图深度学习模型. 1)DAGMM[22]利用深度自编码器为每个输入数据点生成低维表示并进行误差重建;2)LSTM[13]通过遗忘门、输入门和输出门控制时序数据的流动,利用序列信息学习时序数据的隐藏模式;3)LSTM-VAE[35]结合LSTM与VAE,通过编码器将时序数据映射到潜在空间中,通过随机采样从潜在空间中生成重构数据以区分异常样本;4)BeatGAN[25]使用对抗生成对重构误差进行正则化,使用时间序列翘曲进行数据增强;5)OminiAnomoly[19]利用随机递归神经网络处理随机变量之间的显式时间依赖性,学习数据的鲁棒表示;6)THOC[21]使用具有跳跃连接的扩展循环神经网络来准确捕获多个尺度下的时间动态特征进行预测;7)MTAD-GAT[30]属于图深度学习模型,它利用2个并行的 GAT 学习时间序列间的时序和特征依赖关系;8)GDN[27]:属于图深度学习模型,它从多变量时序数据中提取高度相关的空间特征信息;9)TimesNet[32]将复杂时序数据变化分解至不同周期,通过将原始一维时间序列转化至二维空间来提取时序数据周期间与周期内特征;10)DLinear[36]引入 LTSF-Linear 模型,将时间序列预测问题转化为简单的线性模型,通过实验证明该模型在时序数据预测中优于基于 Transformer 的复杂模型.

4.2. 实验结果

在Pytorch框架实现STGAT异常检测模型,采用Adam 算法进行参数更新,操作系统为 Ubuntu Server 18. 04. 1 LTS 64 位,CPU 为 Intel Xeon Gold 6133 @2.5 GHz,GPU为NVIDIA Tesla V100. K近邻算法的Top-K参数在数据集SMD和PSM中均设置为4,在数据集MSL与SWaT中均设置为8. 时间特征提取模块在数据集PSM、SMD、SWaT中应用2层输出维度为64的TimesNet,在MSL中应用单层输出维度为32的TimesNet. 空间特征提取模块在所有数据集中均由单层GCN构成,在PSM、SMD、SwaT中输出维度为64,在MSL中输出维度为32. 时空特征融合模块在所有数据集中均由单层单头GAT组成,在PSM、SMD、SWaT中的输出维度为64,在MSL数据集中应用输出维度为32. 模型在所有数据集的学习率统一设置为1.0×10−4,批量大小设置统一设为128,最多训练30轮,每轮训练后学习率进行指数衰减,多层感知机设置的输出维度与数据集维度相同.

不同模型在4个公开数据集中的性能指标如表2所示. 可以看出,STGAT在SWaT、MSL、SMD和PSM数据集上的综合指标F1分数较最优基线模型分别提高了1.39、0.40、0.84和0.07个百分点. 对于数据规模庞大且异常数据较多的SWaT和PSM,STGAT的F1分数分别为93.13%和97.54%,这表明本研究所提模型适合处理大规模数据集. 对于数据规模小但变量数较多的MSL,STGAT的F1分数为88.06%,这表明所提模型在异常数据较少且异常模式复杂的情况下也能准确检测出数据异常. 对于异常比例较低的SMD,STGAT的F1分数为87.42%,这表明在异常情况较少的情况下,所提模型仍能准确检测出异常.

表 2   不同模型在4个数据集中的性能评价指标

Tab.2  Performance evaluation metrics of different models in four datasets %

模型SWaTMSLSMDPSM
PRF1PRF1PRF1PRF1
DAGMM89.9257.8470.4089.6063.9374.6267.3049.8957.3093.4970.0380.08
LSTM86.1583.2784.6985.4582.5083.9578.5585.2881.7876.9389.6482.80
LSTM-VAE76.0089.5082.2073.7188.5480.4475.7690.0782.3073.6289.9280.96
BeatGAN64.0187.4673.9289.7585.4287.5272.9084.7179.4890.3093.8492.04
OminiAnomoly81.4284.3082.8389.7585.4087.5483.6886.8285.2288.3974.4680.83
THOC83.9386.3685.1386.4588.9287.6679.7690.9584.9988.1490.9989.54
MTAD-GAT81.4284.3082.8387.5484.4285.9590.1983.2586.5872.3977.4674.83
GDN99.3568.1280.8278.4563.0769.9274.0261.4367.0992.3285.8287.66
TimesNet86.7697.3291.7483.9286.4285.1588.6683.1485.8198.1996.7697.47
DLinear81.5195.6387.9686.4488.1287.3487.6283.8185.7297.2895.4696.32
STGAT90.9995.3793.1389.7486.8588.0689.9585.0487.4298.4996.6297.54

新窗口打开| 下载CSV


图4所示为STGAT模型在4个动态特性显著的传感器(S0、S1、S7、S15)上的预测结果,其中t为时间步,V为传感器值. 可以看出,STGAT的预测值与真实值高度贴合,表明所提模型具有良好的泛化能力与时间依赖建模能力. 图4(a)表明模型能够在时序数据发性陡然变化时展现出良好的预测性能,这对于突发事件的响应至关重要. 图4(b)表明模型在处理具有明显周期性的数据时表现优越,能够成功捕捉并拟合时序数据中的周期性变化,这反映了在时间序列建模中模型对周期性模式的有效识别和学习能力. 图4(c)和图4(d)表明STGAT在面对非平稳数据时同样表现出色,能够准确捕捉数据变化的趋势,说明该模型在复杂场景中具备良好的适应能力.

图 4

图 4   所提模型在不同传感器上的时序数据预测值与观测值

Fig.4   Time series data predictions and observations from different sensors using proposed model


图5所示为STGAT模型在异常情况下对4个动态特性显著的传感器(S1、S55、S22、S3)时序数据的预测值与观测值对比结果,根据该对比结果可以定位异常发生的传感器与时刻. 如由图5(a)可以看出,在异常时段的波形峰值较正常波形峰值高. 观测值与预测值存在显著差异时还能够精确检测异常,在图5(b)、图5(c)、图5(d)中,预测值与异常值的差异明显,此时模型能够精确地捕捉和识别异常,准确判定异常位置和异常时间,为检测结果提供依据.

图 5

图 5   所提模型在不同传感器上的时序数据预测值与观测值(异常情况)

Fig.5   Time series data predictions and observations from different sensors using proposed model (anomalous condition)


4.3. 消融实验

考察TimesNet模块、GCN模块和时空融合方法对STGAT性能的影响,实验结果如表3所示,其中TNO表示只采用时间特征提取模块,不采用图卷积与时空特征融合模块; GCNO表示只采用图卷积模块,不采用时间特征提取模块与时空融合特征模块;STGATA表示采用基于相加的特征融合方式;STGATC表示采用基于级联的特征融合方式. 可以看出,如果只采用时间特征提取模块,F1分数性能分别下降了6.22、7.31、3.17和5.82个百分点,在传感器数量较多且规模较小的MSL中,模型性能下降最明显,这表明提取空间特征对异常检测至关重要. 如果只采用图卷积模块,F1分数分别下降18.05、12.60、23.93和16.8个百分点,这表明模型未能提取时间特征,导致大量异常情况被漏检. 如果采用相加和级联的特征融合方式,F1分数最多下降6.09和10.08个百分点,这表明这2种融合方式会影响检测性能.

表 3   所提模型的模块消融实验结果

Tab.3  Modular ablation experimental results for proposed model %

模型SWaTMSLSMDPSM
PRF1PRF1PRF1PRF1
TNO85.5988.2986.9176.4285.6180.7583.3580.2684.2593.7189.8291.72
GCNO72.1578.2775.0874.4576.5075.4660.5566.7463.4978.9382.6480.74
STGATA86.7888.5087.6385.7181.5483.5787.3684.0785.6890.0292.9391.45
STGATC85.1381.0883.0584.4182.5184.4284.9082.7183.7988.4585.4286.90
STGAT90.9995.3793.1389.7486.8588.0689.9585.0487.4298.4996.6297.54

新窗口打开| 下载CSV


考察输入序列长度对STGAT性能的影响. 使用非重叠单步滑动窗口提取固定长度的序列数据作为输入,如图6所示为输入序列长度对异常检测性能的影响. 可以看出,不同数据集须输入不同的序列长度才能够获得最好的性能,例如在SMD上序列数据长度为150时性能表现最好,在SWaT上序列长度为100时性能表现最好. 综合来看,在4个数据集上的F1分数均超过80%,这表明STGAT性能在不同序列长度情况下稳定性较好.

图 6

图 6   序列长度对异常检测性能的影响

Fig.6   Impact of sequence length on anomaly detection performance


考察在构建图数据时高斯核加权K近邻算法的参数K对模型性能的影响. 如图7所示为K构建的时序图对异常检测性能的影响,根据经验设置K∈[1,10]. 对于不同K,在SMD中F1∈[83.95%, 87.42%],浮动范围为3.47个百分点;在MSL中F1∈[83.12%,88.06%],浮动范围为4.94个百分点;在SWaT中F1∈[87.24%,93.13%],浮动范围为5.89个百分点;在PSM中F1∈[92.13%,97.54%],浮动范围为5.41个百分点. 由此可知,K对模型性能会产生一定影响,但表现总体稳定.

图 7

图 7   不同时序图对异常检测性能的影响

Fig.7   Impact of different time series graph on anomaly detection performance


5. 结 语

本研究提出基于时空图注意力网络的多变量时序数据异常检测模型,通过高斯核加权K近邻算法将多变量时序数据转换为多变量时序图数据,分别提取时序图的时间特征与空间特征,通过图注意力网络将时空特征融合,得到时空特征的统一向量表示,由该向量表示进行时序数据预测,通过计算预测数据和观测数据的异常分数进行异常检测. 在公开数据集上的实验结果表明,相比现有模型,所提模型不仅具有良好的异常检测性能,而且鲁棒性更强,在不同类别的数据集上具有稳定的检测结果. 所提模型在实际应用过程中仍面临一些挑战,有待进一步探究与完善:1)在构建传感器时序图数据模型的过程中,本研究采用动态时间规整度与高斯核加权相结合的方法,提供了有效的数据建模策略. 该方法仍有不足之处. 例如,参数K和高斯核的参数选择对模型的性能产生一定影响. 这些参数的选择须由实验确定,这增加了模型的不确定性和对先验知识的依赖. 未来研究计划探索更有效的构图方法,以减少对参数调整的依赖,提高模型的鲁棒性和泛化能力. 2)在基于时空图注意力网络异常检测模型的训练过程中,迭代时间较长,在处理大规模数据集时该情况更为明显. 未来研究计划探索更有效的模型训练策略(如使用更高效的优化算法、模型剪枝或知识蒸馏技术)来减少训练时间.

参考文献

丁小欧, 于晟健, 王沐贤, 等

基于相关性分析的工业时序数据异常检测

[J]. 软件学报, 2020, 31 (3): 726- 747

[本文引用: 2]

DING Xiaoou, YU Shengjian, WANG Muxian, et al

Anomaly detection on industrial time series based on correlation analysis

[J]. Journal of Software, 2020, 31 (3): 726- 747

[本文引用: 2]

SIMMROSS-WATTENBERG F, ASENSIO-PEREZ J I, CASASECA-DE-LA-HIGUERA P, et al

Anomaly detection in network traffic based on statistical inference and \alpha-stable modeling

[J]. IEEE Transactions on Dependable and Secure Computing, 2011, 8 (4): 494- 509

DOI:10.1109/TDSC.2011.14      [本文引用: 1]

张圣林, 李东闻, 孙永谦, 等

面向云数据中心多语法日志通用异常检测机制

[J]. 计算机研究与发展, 2020, 57 (4): 778- 790

DOI:10.7544/issn1000-1239.2020.20190875      [本文引用: 2]

ZHANG Shenglin, LI Dongwen, SUN Yongqian, et al

Unified anomaly detection for syntactically diverse logs in cloud datacenter

[J]. Journal of Computer Research and Development, 2020, 57 (4): 778- 790

DOI:10.7544/issn1000-1239.2020.20190875      [本文引用: 2]

苏卫星, 朱云龙, 刘芳, 等

时间序列异常点及突变点的检测算法

[J]. 计算机研究与发展, 2014, 51 (4): 781- 788

DOI:10.7544/issn1000-1239.2014.20120542      [本文引用: 1]

SU Weixing, ZHU Yunlong, LIU Fang, et al

Outliers and change-points detection algorithm for time series

[J]. Journal of Computer Research and Development, 2014, 51 (4): 781- 788

DOI:10.7544/issn1000-1239.2014.20120542      [本文引用: 1]

HODGE V, AUSTIN J

A survey of outlier detection methodologies

[J]. Artificial Intelligence Review, 2004, 22 (2): 85- 126

DOI:10.1023/B:AIRE.0000045502.10941.a9      [本文引用: 1]

AGGARWAL C C, YU P S

Outlier detection for high dimensional data

[J]. ACM SIGMOD Record, 2001, 30 (2): 37- 46

DOI:10.1145/376284.375668      [本文引用: 1]

LI W, MAHADEVAN V, VASCONCELOS N

Anomaly detection and localization in crowded scenes

[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2014, 36 (1): 18- 32

DOI:10.1109/TPAMI.2013.111      [本文引用: 1]

MANEVITZ L M, YOUSEF M

One-class svms for document classification

[J]. Journal of Machine Learning Research, 2002, 2: 139- 154

[本文引用: 1]

LAPTEV N, AMIZADEH S, FLINT I. Generic and scalable framework for automated time-series anomaly detection [C]// Proceedings of the 21th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. Sydney: ACM, 2015: 1939–1947.

[本文引用: 1]

SAKURADA M, YAIRI T. Anomaly detection using autoencoders with nonlinear dimensionality reduction [C]// Proceedings of the MLSDA 2014 2nd Workshop on Machine Learning for Sensory Data Analysis. Gold Coast: ACM, 2014: 4–11.

[本文引用: 1]

ZENATI H, ROMAIN M, FOO C S, et al. Adversarially learned anomaly detection [C]// Proceedings of the IEEE International Conference on Data Mining. Singapore: IEEE, 2018: 727–736.

[本文引用: 1]

BROWN A, TUOR A, HUTCHINSON B, et al. Recurrent neural network attention mechanisms for interpretable system log anomaly detection [C]// Proceedings of the First Workshop on Machine Learning for Computing Systems. Tempe: ACM, 2018: 1–8.

[本文引用: 1]

GREFF K, SRIVASTAVA R K, KOUTNÍK J, et al

LSTM: a search space odyssey

[J]. IEEE Transactions on Neural Networks and Learning Systems, 2017, 28 (10): 2222- 2232

DOI:10.1109/TNNLS.2016.2582924      [本文引用: 2]

ZHOU H, ZHANG S, PENG J, et al

Informer: beyond efficient transformer for long sequence time-series forecasting

[J]. Proceedings of the AAAI Conference on Artificial Intelligence, 2021, 35 (12): 11106- 11115

DOI:10.1609/aaai.v35i12.17325      [本文引用: 1]

KIPF T N, WELLING M. Semi-supervised classification with graph convolutional networks [EB/OL]. (2017–02–22)[2024–08–23]. https://arxiv.org/pdf/1609.02907.

[本文引用: 1]

WEI Y, JANG-JACCARD J, XU W, et al

LSTM-autoencoder-based anomaly detection for indoor air quality time-series data

[J]. IEEE Sensors Journal, 2023, 23 (4): 3787- 3800

DOI:10.1109/JSEN.2022.3230361      [本文引用: 1]

XU H, PANG G, WANG Y, et al

Deep isolation forest for anomaly detection

[J]. IEEE Transactions on Knowledge and Data Engineering, 2023, 35 (12): 12591- 12604

DOI:10.1109/TKDE.2023.3270293      [本文引用: 1]

BARRIENTOS-TORRES D, MARTINEZ-RÍOS E A, NAVARRO-TUCH S A, et al

Water flow modeling and forecast in a water branch of Mexico City through ARIMA and transfer function models for anomaly detection

[J]. Water, 2023, 15 (15): 2792

DOI:10.3390/w15152792      [本文引用: 1]

SU Y, ZHAO Y, NIU C, et al. Robust anomaly detection for multivariate time series through stochastic recurrent neural network [C]// Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. Anchorage: ACM, 2019: 2828–2837.

[本文引用: 3]

霍纬纲, 梁锐, 李永华

基于随机Transformer的多维时间序列异常检测模型

[J]. 通信学报, 2023, 44 (2): 94- 103

DOI:10.11959/j.issn.1000-436x.2023042      [本文引用: 1]

HUO Weigang, LIANG Rui, LI Yonghua

Anomaly detection model for multivariate time series based on stochastic Transformer

[J]. Journal on Communications, 2023, 44 (2): 94- 103

DOI:10.11959/j.issn.1000-436x.2023042      [本文引用: 1]

SHEN L, LI Z, KWOK J T. Timeseries anomaly detection using temporal hierarchical one-class network [C]// Proceedings of the 34th International Conference on Neural Information Processing Systems. Vancouver: ACM, 2020: 13016–13026.

[本文引用: 2]

ZONG B, SONG Q, MIN M R, et al. Deep autoencoding gaussian mixture model for unsupervised anomaly detection [C]// International Conference on Learning Representations. Vancouver: [s.n.], 2018: 1–19.

[本文引用: 2]

ABDULAAL A, LIU Z, LANCEWICKI T. Practical approach to asynchronous multivariate time series anomaly detection and localization [C]// Proceedings of the 27th ACM SIGKDD Conference on Knowledge Discovery and Data Mining. [S.l.]: ACM, 2021: 2485–2494.

[本文引用: 3]

ZHANG Z, LI W, DING W, et al

STAD-GAN: unsupervised anomaly detection on multivariate time series with self-training generative adversarial networks

[J]. ACM Transactions on Knowledge Discovery from Data, 2023, 17 (5): 1- 18

[本文引用: 1]

ZHOU B, LIU S, HOOI B, et al. BeatGAN: anomalous rhythm detection using adversarially generated time series [C]// Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence. [S.l.]: International Joint Conferences on Artificial Intelligence Organization, 2019: 4433–4439.

[本文引用: 2]

LIU Y, DING K, LU Q, et al. Towards self-interpretable graph-level anomaly detection [EB/OL]. (2023–10–25)[2024–09–13]. https://arxiv.org/pdf/2310.16520.

[本文引用: 1]

DENG A, HOOI B. Graph neural network-based anomaly detection in multivariate time series [C]// The 34th AAAI Conference on Artificial Intelligence. [S.l.]: AAAI, 2021: 4027–4035.

[本文引用: 2]

ZHENG Y, KOH H Y, JIN M, et al

Correlation-aware spatial-temporal graph learning for multivariate time-series anomaly detection

[J]. IEEE Transactions on Neural Networks and Learning Systems, 2024, 35 (9): 11802- 11816

DOI:10.1109/TNNLS.2023.3325667      [本文引用: 1]

DING K, SHU K, SHAN X, et al

Cross-domain graph anomaly detection

[J]. IEEE Transactions on Neural Networks and Learning Systems, 2022, 33 (6): 2406- 2415

DOI:10.1109/TNNLS.2021.3110982      [本文引用: 1]

ZHAO H, WANG Y, DUAN J, et al. Multivariate time-series anomaly detection via graph attention network [C]// Proceedings of the IEEE International Conference on Data Mining. Sorrento: IEEE, 2020: 841–850.

[本文引用: 2]

GUO G, WANG H, BELL D, et al. KNN model-based approach in classification [C]// On The Move to Meaningful Internet Systems 2003: CoopIS, DOA, and ODBASE. Berlin: Springer, 2003: 986–996.

[本文引用: 1]

PARK D, HOSHI Y, KEMP C C

A multimodal anomaly detector for robot-assisted feeding using an LSTM-based variational autoencoder

[J]. IEEE Robotics and Automation Letters, 2018, 3 (3): 1544- 1551

DOI:10.1109/LRA.2018.2801475      [本文引用: 2]

WU H, HU T, LIU Y, et al. TimesNet: temporal 2D-variation modeling for general time series analysis [EB/OL]. (2023–04–12)[2024–08–21]. https://arxiv.org/pdf/2210.02186.

[本文引用: 1]

MATHUR A P, TIPPENHAUER N O. SWaT: a water treatment testbed for research and training on ICS security [C]// Proceedings of the International Workshop on Cyber-physical Systems for Smart Water Networks. Vienna: IEEE, 2016: 31–36.

[本文引用: 1]

HUNDMAN K, CONSTANTINOU V, LAPORTE C, et al. Detecting spacecraft anomalies using LSTMs and nonparametric dynamic thresholding [C]// Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. London: ACM, 2018: 387–395.

[本文引用: 2]

ZENG A, CHEN M, ZHANG L, et al

Are transformers effective for time series forecasting?

[J]. Proceedings of the AAAI Conference on Artificial Intelligence, 2023, 37 (9): 11121- 11128

DOI:10.1609/aaai.v37i9.26317      [本文引用: 1]

/