CN116304604B - 多变量时间序列数据异常检测、模型训练方法和系统 - Google Patents
多变量时间序列数据异常检测、模型训练方法和系统 Download PDFInfo
- Publication number
- CN116304604B CN116304604B CN202310531272.3A CN202310531272A CN116304604B CN 116304604 B CN116304604 B CN 116304604B CN 202310531272 A CN202310531272 A CN 202310531272A CN 116304604 B CN116304604 B CN 116304604B
- Authority
- CN
- China
- Prior art keywords
- data
- network
- reconstruction
- sample
- time series
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/50—Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications
Landscapes
- Complex Calculations (AREA)
Abstract
本发明涉及数据检测技术领域,尤其涉及一种多变量时间序列数据异常检测、模型训练方法和系统,解决了现有各类技术在多变量时间序列异常数据检测时,存在的受噪声影响大、检测效果不理想、无法实现实时检测的问题。本发明提出的一种多变量时间序列数据异常检测模型训练方法,额外增加了用以消除噪声影响的自适应权重和过滤模块,并采用对比学习的方法学习数据特征,以提升模型的泛化能力。本发明在异常检测阶段,着重考虑重构误差,并设计了用于评估数据异常程度的评价函数,本发明训练的异常检测模型具有更好的F1得分,展现模型在鲁棒性上显著超越了现有技术。
Description
技术领域
本发明涉及数据检测技术领域,尤其涉及一种多变量时间序列数据异常检测、模型训练方法和系统。
背景技术
近年来,对多变量时间序列的异常检测在各领域逐渐突显出其重要性。多变量时间序列是由多个随时间变化的时间序列所组成的,每个时间序列描述了被监测对象的不同属性值。如航天器的遥感通道在连续时间内对温度、辐射、动力等属性的测量值,云服务器内部节点的CPU利用率、内存利用率等性能值。相对单变量时间序列数据,多变量时间序列能更全面地呈现对象特征。对多变量时间序列的异常检测是指检测出时间序列中不符合现实变化规律的数据片段,这些异常的数据段通常表明被监测对象正处于一种异常的工作状态,有时也代表某类异常事件的发生。若监测中的异常数据没有被及时发现并处理,则可能会导致巨大的经济损失甚至人员伤亡。因此,及时、准确地检测出多变量时间序列中的异常数据具有重要的现实意义。
随着机器学习技术的发展,基于机器学习的异常检测方法迅速涌现。这些方法主要分为基于聚类的异常检测方法、基于单分类的异常检测方法和基于重构的异常检测方法。其中基于聚类的异常检测方法和基于单分类的异常检测方法在检测高维度时间序列时都存在较高的时间复杂度,且无法保证检测准确度。近年来,基于重构的异常检测方法逐渐成为研究热点。此类方法大多采用自编码器(Autoencoder)模型,利用数据的重构误差进行异常检测。然而尽管此类方法能应用于高维度时间序列数据,但对于具有复杂分布的时间序列数据无法进行较好地重构,因而导致对复杂序列的异常检测准确度较低。随着生成对抗网络(GAN)的提出,基于生成性对抗网络(GAN)的异常检测方法在复杂数据的异常检测领域表现出更优的性能。
但是基于GAN的异常检测模型由于多变量时间序列分布的复杂性,样本对模型的训练较容易出现模式崩溃的问题。并且,由于现实中采集到的多变量时间序列不可避免地存在噪声干扰,这使得现有的异常检测模型难以准确捕获正常序列的分布,因而产生较高的误判率。
发明内容
针对现有技术中在多变量时间序列异常数据检测时,存在的对高维数据存在检测效果不理想、无法处理噪声干扰、无法实现实时检测的问题,本发明提出了一种多变量时间序列数据异常检测模型训练方法,该方法训练的异常检测模型在多变量时间序列数据的异常检测上具有很好的表现。
本发明采用以下技术方案:
一种多变量时间序列数据异常检测模型训练方法,包括以下步骤:
St1、获取学习样本,学习样本为多变量时间序列数据;构建基础模型并初始化;基础模型包括过滤模块、生成网络和鉴别网络,生成网络和鉴别网络均为神经网络;
生成网络的输入为输入数据x和随机数z,输入数据x为多变量时间序列数据,生成网络用于对随机数z进行重构,以获取并输出重构数据G(z),G(z)为与输入数据x同维度的数据;过滤模块用于清洗输入数据x和重构数据G(z),清洗后的输入数据记作x(a),清洗后的重构数据记作G#;x(a)中包含的数据样本和G#中包含的数据样本一一对应;鉴别网络用于获取数据元组(xq,x#q)的标签(yq,y-q),yq为数据样本xq来自于输入数据x的概率,y-q为数据样本x#q来自于输入数据x的概率;xq∈x(a),x#q∈G#,xq和x#q维度对应;
x=(x1,x2,x3,…,xi,…xn),xi表示输入数据x中第i个时间节点即维度上的数据样本,n为输入数据x的时间点总数,i为序数,1≦i≦n;
G(z)=(x#1,x#2,x#3,…,x#i,…x#n),x#i表示重构数据G(z)中对应xi的数据样本;
St2、选择学习样本作为输入数据x,将输入数据x和随机数z输入生成网络,生成网络根据随机数z生成与输入数据x数据维度相同的重构数据G(z);
St3、计算输入数据x和重构数据G(z)中维度相同的数据样本的重构误差;过滤模块根据重构误差计算生成网络中各数据样本的自适应权重以及输入数据中各数据样本的伪标签;
St4、过滤模块清洗输入数据x和重构数据G(z),获取清洗后的输入数据x(a)和清洗后的重构数据G#;
St5、设置生成损失函数用于计算生成网络在各数据空间上的生成损失,计算x(a)对应的生成损失L(info,x(a))和G(z)对应的生成损失L(info,G);
St6、固定鉴别网络,结合自适应权重损失和生成损失L(info,G)计算第一损失L(G),并根据第一损失L(G)沿反向梯度更新生成网络;
St7、固定生成网络,结合伪标签和生成损失L(info,x(a))计算第二损失L(D),并根据第二损失L(D)沿反向梯度更新鉴别网络;
St8、判断基础模型更新次数是否达到设定值N0;否,则令N更新为N+1,然后返回步骤St2;是,则固定基础模型参数,并从基础模型参数中提取生成网络,将生成网络与设定的评价函数结合,以组成异常检测模型。
优选的,过滤模块用于清洗输入数据x中伪标签大于设定值ρ的数据样本,并清洗重构数据G(z),清洗后的重构数据G(z)和清洗后的输入数据x在时间维度上一一对应;伪标签计算公式为:
P(B-xi)=1/(1+eB(xi))
B(xi)=zi×(1-1/N)
zi=(di-d(ave))/δ
di=||xi-x#i||
P(B-xi)表示xi对应的伪标签:B(xi)为过渡项,e表示自然常数;N为迭代次数;zi表示数据样本xi的偏离分数,di表示输入数据x中第i个时间点上的数据样本xi对应的重构误差,d(ave)为输入数据对应的重构误差di的均值,δ为输入数据对应的重构误差di的方差;||xi-x#i||表示xi-x#i的二范数,x#i表示重构数据G(z)中对应xi的数据样本。
优选的,St3中,生成网络中各数据样本的自适应权重的计算公式如下:
Δi=[Σf=1,f≠i nezf+(N-1)×e-zi]/[Z×Σi=1 nezi×N]
Σi=1 nezi=ez1+ez2+…+ezi+…+ezn
Δi表示第i个数据样本的自适应权重,N为模型迭代次数,N的初始值为1;Z表示设定的归一化因子;zf表示数据样本xf的偏离分数,1≦f≦n。
优选的,St5中,生成损失计算方式如下为:
令数据样本xp来自于数据集合P,L(info,P)表示P对应的生成损失;
L(info,P)=-Exp∈PEk∈M[log[exp(ξ1)/(Exp#∈P-xpEk∈Mexp(ξ2))]]
ξ1=Φ(φ(xp))×Ψ(φ(k,xp))T
ξ2=Φ(φ(xp))×Ψ(φ(k,xp#))T
P=(x1,x2,x3,…,xp,…,xP)
P-xp=(x1,x2,x3,…,x(p-1),x(p+1),x(p+2),…,xP)
鉴别网络针对数据样本提取全局特征和m个局部特征,φ(xp)表示数据样本xp对应的全局特征,φ(k,xp)表示数据样本xp对应的第k个局部特征,φ(k,xp#)表示数据样本xp#对应的第k个局部特征,M表示局部特征的序号集合,M={1,2,3,……,m};
ξ1表示对应同一个数据样本的全局特征和局部特征的组合,ξ2表示对应不同数据样本的全局特征和局部特征的组合;Φ表示鉴别网络中的全局特征投射网络,Φ(φ(xp))表示全局特征φ(xp)的高维线性投射结果,Ψ表示鉴别网络中的局部特征投射网络,Ψ(φ(k,xp))表示局部特征φ(k,xp)的高维线性投射结果,Ψ(φ(k,xp#)表示局部特征φ(k,xp#)的高维线性投射结果;上标T表示矩阵转置;E表示求期望。
优选的,St6中第一损失函数L(G)为:
L(G)=L1+Σxi∈x[||xi-x#i||×Δi]+λ×L(info,G)
L1=-Ez~Pz[D(G)]
Ez~Pz[D(G)]表示在随机数z服从正态分布pz时鉴别网络对重构数据G(z)的期望,L1表示鉴别网络固定时生成网络的对抗损失;||xi-x#i||表示xi-x#i的二范数;Δi表示第i个数据样本的自适应权重;λ为设定值。
优选的,St7中第二损失函数L(D)为:
L(D)=-[Σxq∈x(a)[(1-yq)×(L2+λ(1)×L(info,x(a)))]]/K
L2=-Exq~x(a)[D(x(a))]+Ez~Pz[D(G#)]
Exq~x(a)[D(x(a))]表示在数据样本xq服从数据空间x(a)分布时鉴别网络对xq的期望;Ez~Pz[D(G#)]表示在随机数z服从正态分布pz时鉴别网络对清洗后的重构数据G#的期望;L2表示生成网络固定时鉴别网络的对抗损失;λ(1)为设定值;K表示为清洗后的输入数据x(a)中的数据样本的数量;
优选的,St7中第二损失函数L(D)为:
L(D)=-[Σxq∈x(a)[(1-yq)×(L2+λ(1)×L(info,x(a)))]]/K
L2=-Exq~x(a)[D(x(a))]+Ez~Pz[D(G#)]
Exq~x(a)[D(x(a))]表示在数据样本xq服从数据空间x(a)分布时鉴别网络对xq的期望;Ez~Pz[D(G#)]表示在随机数z服从正态分布pz时鉴别网络对清洗后的重构数据G#的期望;L2表示生成网络固定时鉴别网络的对抗损失;λ(1)为设定值;K表示为清洗后的输入数据x(a)中的数据样本的数量;
Sq1、获取待检测的传感器测试数据Xtest和异常检测模型,所述异常检测模型采用所述的多变量时间序列数据异常检测模型训练方法获得;
Sq2、对Xtest窗口滑动切片,将Xtest转换为长度为n的窗口数据Wtest,将Wtest作为输入数据x代入异常检测模型;生成网络对从正态分布中提取的z进行重构并输出G(z),计算x和G(z)每一个时间点上的重构误差;评价函数结合重构误差计算窗口数据Wtest中各时间点上的传感器测试数据样本xi的评价值A(xi),评价值A(xi)用于评估xi在对应的窗口数据Wtest中是否正常;
Sq3、将评价值A(xi)与设定的异常阈值θ比较;如果A(xi)大于设定的异常阈值θ,则判断xi状态正常;如果A(xi)小于或等于异常阈值θ,则判断xi状态异常。
本发明还提出了一种多变量时间序列数据异常检测系统,包括存储器和处理器,存储器中存储有计算机程序和异常检测模型,处理器与存储器连接,处理器用于执行所述计算机程序,以实现所述的多变量时间序列数据异常检测方法。
本发明的优点在于:
(1)本发明提出的一种多变量时间序列数据异常检测模型训练方法,设计了基于重构误差的样本自适应权重和噪声过滤模块,可根据训练过程中的样本重构误差区分样本质量,过滤噪声样本。本发明在异常检测阶段,考虑重构误差,并设计了用于评估数据异常程度的评价函数,本发明训练的异常检测模型具有更好的F1得分,展现模型在精确度和召回率上显著超越了现有技术。
(2)由于现实环境存在各种复杂的因素,所以对于传感器采集到的多变量时间序列很难人为地去对这些数据正异常情况做标记。本发明模型训练过程中无需标注样本,实现了一种无监督的模型,保证了数据分类的可实施性。
(3)本发明提出的一种多变量时间序列数据异常检测方法,首先基于生成对抗网络训练异常检测模型,在训练中添加对比学习机制,通过对比学习来学习多变量时间序列的复杂分布,增加了生成样本的多样性,保证异常检测模型对复杂时间序列数据异常检测的准确性、鲁棒性与实时性,从而缓解模型在训练过程中的“模式崩溃”问题;
(4)本发明提出的一种多变量时间序列数据异常检测系统,为本发明提出的一种多变量时间序列数据异常检测方法提供了载体,便于该多变量时间序列数据异常检测方法的推广 。
附图说明
图1为异常检测模型模块示意图;
图2为一种多变量时间序列数据异常检测模型训练方法流程图;
图3为一种多变量时间序列数据异常检测方法流程图;
图4为采用数据集MSL对三种模型的测试效果图;
图5为采用数据集SMD对三种模型的测试效果图;
图6为采用数据集SMAP对三种模型的测试效果图;
图7为采用数据集PSM对三种模型的测试效果图。
具体实施方式
一种多变量时间序列数据异常检测模型
参照图1,本实施方式提出的异常检测模型,用于检测多变量时间序列数据中的异常数据,所述异常检测模型包括生成网络和评价函数。
生成网络的输入为输入数据x和随机数z,输入数据x为多变量时间序列数据,生成网络用于对随机数z进行重构,以获取并输出重构数据G(z),G(z)为与输入数据x同维度的数据。具体实施时,随机数z可从符合正态分布的数据空间中取值。
本实施方式中,为了便于表述,令:
x=(x1,x2,x3,…,xi,…xn) (1)
G(z)=(x#1,x#2,x#3,…,x#i,…x#n) (2)
xi表示输入数据x中的第i个时间点上的数据样本,x#i表示重构数据G(z)中对应xi的数据样本;1≦i≦n,n表示输入数据x包含的数据样本总数。
评价函数连接生成网络,评价函数的输入为输入数据x和重构数据G(z),评价函数用于计算数据样本xi与对应的数据样本x#i之间的重构误差di,并基于重构误差计算数据样本xi的评价值A(xi)。
评价函数为:
A(xi)=ezi/ (ez1+ez2+…+ezi+…+ezn) (3)
其中,A(xi)表示xi对应的评价值;zi为数据样本xi的偏离分数;
zi=(di-d(ave))/δ
d(ave)为输入数据对应的重构误差di的均值,即数据集{di|1≦i≦n}的均值;δ为输入数据对应的重构误差di的方差,即数据集{di|1≦i≦n}的方差;
di=||xi-x#i||;
||xi-x#i||表示xi-x#i的二范数。
一种多变量时间序列数据异常检测模型训练方法。
参照图2,上述异常检测模型的训练方法包括以下步骤St1到St7。
St1、构建基础模型并初始化;获取连续时间段上采集的多个传感器数据样本作为多变量时间序列数据X#,将多变量时间序列数据X#归一化得到数据X,数据X转换为窗口数据W。
X#={X1,X2,…,Xr,…,XR} (4)
X={x(1),x(2),…,x(r)…,x(R)} (5)
x(r)=[Xr-Min(X#)]/[Max(X#)-Min(X#)] (6)
W={W(1),W(2),…,W(j),…,W(R-n+1)} (7)
W(j)={x(j),x(j+1),……,x(j+n-1)} (8)
Xr表示X#第r个时间点上的数据采集样本,x(r)表示X中第r个时间点上的数据样本,x(r)为Xr对应的归一化值;1≦r≦R,R表示X包含的数据样本总数,即时间点数量;
Min表示取最小值,Max表示取最大值;W(j)表示数据X中以x(j)为起始点的滑动窗口取值;n表示窗口宽度,即窗口数据W(j)包含n个连续的数据样本;x(j)、x(j+1)和x(j+n-1)分别表示窗口取值W(j)中的第1个数据、第二个数据和第n个数据;1≦j≦R-n+1。
具体的,n取值一般为100到200之间。
基础模型包括过滤模块、生成网络和鉴别网络,生成网络和鉴别网络均为神经网络。
生成网络的输入为输入数据x和随机数z,输入数据x为多变量时间序列数据,生成网络用于对随机数z进行重构,以获取并输出重构数据G(z),G(z)为与输入数据x同维度的数据。
过滤模块连接生成网络,过滤模块用于对输入数据和重构数据进行过滤。
具体的,过滤模块的输入为输入数据x和重构数据G(z),过滤模块用于计算输入数据x和重构数据G(z)在各时间点上的重构误差,并根据重构误差计算各数据样本的自适应权重以及输入数据中各数据样本的伪标签,令输入数据x中的数据样本xi和重构数据G(z)中的数据样本x#i构成数据元组(xi,x#i),过滤模块根据伪标签对数据元组(xi,x#i)进行清洗;具体的,过滤模块删除输入数据x中对应的伪标签大于设定值ρ的数据样本,同时清洗重构数据G(z);即,数据x中某一个时间点上的数据样本被删除时,则重构数据中该维度上的数据也删除,使得清洗后的输入数据x和重构数据G(z)在维度上依然一一对应。
具体的,令输入数据x中第i个时间点上的数据样本xi对应的重构误差记作di,令xi对应的伪标签记作P(B-xi),令第i个数据样本的自适应权重记作Δi;则:
P(B-xi)=1/(1+eB(xi)) (9)
B(xi)=zi×(1-1/N) (10)
Δi=[Σf=1,f≠i nezf+(N-1)×e-zi]/[Z×Σi=1 nezi×N] (11)
Σi=1 nezi=ez1+ez2+…+ezi+…+ezn (12)
B(xi)为过渡项,e表示自然常数;zi表示数据样本xi的偏离分数,zf表示数据样本xf的偏离分数,1≦f≦n;N为模型迭代次数,N的初始值为1;Z表示设定的归一化因子;n为输入数据x的时间点总数,即x=(x1,x2,x3,…,xi,…xn)。
鉴别网络连接过滤模块,鉴别网络的的输入为过滤模块的输出,鉴别网络结合清洗后的输入数据和重构数据构建数据元组(xq,x#q),鉴别网络用于获取数据元组(xq,x#q)的标签(yq,y-q),yq为数据样本xq来自于输入数据x的概率,y-q为数据样本x#q来自于输入数据x的概率;yq和y-q均在[0,1]上取值;xq∈x(a),x#q∈G#,x(a)表示清洗后的输入数据,即清洗后的输入数据中剩余的数据样本的集合;G#表示清洗后的重构数据,即清洗后的重构数据中剩余的数据样本的集合;x#q来自于重构数据,且与来自于输入数据的xq相对应。
St2、选择窗口数据W作为输入数据x,将输入数据x和随机数z输入生成网络,生成网络根据随机数z生成与输入数据x数据维度相同的重构数据G(z),z可从符合正态分布的数据空间中取值。
St3、计算输入数据x和重构数据G(z)中维度相同的数据样本的重构误差;过滤模块根据重构误差计算生成网络中各数据样本的自适应权重以及输入数据中各数据样本的伪标签,即计算{Δi|1≦i≦n}和{P(B-xi)|1≦i≦n}。
St4、过滤模块清洗输入数据中伪标签大于设定值ρ的数据样本,过滤模块清洗重构数据G(z),清洗后的重构数据G(z)和清洗后的输入数据x在维度上一一对应;令清洗后的输入数据包含的数据样本的集合为x(a),则xq∈x(a);令清洗后的重构数据包含的数据样本的集合为G#,x#q∈G#;x#q与xq对应。
St4相当于清洗数据元组(xi,x#i),令输入数据x中各数据样本xi的伪标签P(B-xi)为数据样本xi所在数据元组(xi,x#i)对应的伪标签,清洗后的数据元组记作{(xq,x#q),xq∈x(a),x#q∈G#}。
St5、计算x(a)对应的生成损失L(info,x(a))和G(z)对应的生成损失L(info,G);
生成损失计算方式如下。
令数据样本xp来自于数据集合P,L(info,P)表示P对应的生成损失:
L(info,P)=-Exp∈PEk∈M[log[exp(ξ1)/(Exp#∈P-xpEk∈Mexp(ξ2))]] (13)
ξ1=Φ(φ(xp))×Ψ(φ(k,xp))T (14)
ξ2=Φ(φ(xp))×Ψ(φ(k,xp#))T (15)
P=(x1,x2,x3,…,xp,…,xP) (16)
P-xp=(x1,x2,x3,…,x(p-1),x(p+1),x(p+2),…,xP) (17)
鉴别网络针对数据样本提取全局特征和m个局部特征,φ(xp)表示数据样本xp对应的全局特征,φ(k,xp)表示数据样本xp对应的第k个局部特征,φ(k,xp#)表示数据样本xp#对应的第k个局部特征,M表示局部特征的序号集合,M={1,2,3,……,m};
ξ1表示对应同一个数据样本的全局特征和局部特征的组合,ξ2表示对应不同数据样本的全局特征和局部特征的组合;Φ表示鉴别网络中的全局特征投射网络,Φ(φ(xp))表示全局特征φ(xp)的高维线性投射结果,Ψ表示鉴别网络中的局部特征投射网络,Ψ(φ(k,xp))表示局部特征φ(k,xp)的高维线性投射结果,Ψ(φ(k,xp#)表示局部特征φ(k,xp#)的高维线性投射结果;上标T表示矩阵转置;E表示求期望。
St6、固定鉴别网络,结合自适应权重损失和生成损失L(info,G)计算第一损失L(G),并根据第一损失L(G)沿反向梯度更新生成网络;
L(G)=L1+Σxi∈x[||xi-x#i||×Δi]+λ×L(info,G) (18)
L1=-Ez~Pz[D(G)] (19)
Ez~Pz[D(G)]表示在随机数z服从正态分布pz时鉴别网络对重构数据G(z)的期望,L1表示鉴别网络固定时生成网络的对抗损失;||xi-x#i||表示xi-x#i的二范数;Δi表示第i个数据样本的自适应权重;λ为设定值;
结合公式(13)-(17)可知,生成损失L(info,G)的计算公式如以下(18.1)-(18.3)所示。
L(info,G)=-Ex#i∈G(z)Ek∈M[log[exp(ξ1)/(Ex#i#∈G(z)-x#iEk∈Mexp(ξ2))]] (18.1)
ξ1=Φ(φ(x#i))×Ψ(φ(k,x#i))T (18.2)
ξ2=Φ(φ(x#i))×Ψ(φ(k,x#i#))T (18.3)
φ(x#i)表示鉴别网络针对数据样本x#i提取的全局特征,φ(k,x#i)表示鉴别网络针对数据样本x#i提取的第k个局部特征;φ(k,x#i#)表示鉴别网络针对数据样本x#i#提取的第k个局部特征;Φ(φ(x#i))表示全局特征φ(x#i)的高维线性投射结果,Ψ(φ(k,x#i))表示局部特征φ(k,x#i)的高维线性投射结果,Ψ(φ(k,x#i#))表示局部特征φ(k,x#i#)的高维线性投射结果。
St7、固定生成网络,结合伪标签和生成损失L(info,x(a))计算第二损失L(D),并根据第二损失L(D)沿反向梯度更新鉴别网络。
L(D)=-[Σxq∈x(a)[(1-yq)×(L2+λ(1)×L(info,x(a)))]]/K (20)
L2=-Exq~x(a)[D(x(a))]+Ez~Pz[D(G#)] (21)
Exq~x(a)[D(x(a))]表示在数据样本xq服从数据空间x(a)分布时鉴别网络对xq的期望;Ez~Pz[D(G#)]表示在随机数z服从正态分布pz时鉴别网络对清洗后的重构数据G#的期望;L2表示生成网络固定时鉴别网络的对抗损失;λ(1)为设定值;K表示为清洗后的输入数据x(a)中的数据样本的数量;
yq表示二值数,当P(B-xq)≧ρ,则yp=1;反之,当P(B-xq)<ρ,则yp=0。
St8、判断基础模型更新次数是否达到设定值N0;否,则令N更新为N+1,然后返回步骤St2;是,则固定基础模型参数,并从基础模型参数中提取生成网络,将生成网络与设定的评价函数结合,以组成异常检测模型。
一种多变量时间序列数据异常检测方法
参照图3,本实施方式中的异常检测方法包括以下步骤:
Sq1、获取待检测的传感器测试数据Xtest和异常检测模型;
Sq2、对Xtest窗口滑动切片,将Xtest转换为长度为n的窗口数据Wtest,将Wtest作为输入数据x代入异常检测模型;生成网络对从正态分布中提取的z进行重构并输出G(z),计算x和G(z)每一个时间点上的重构误差;评价函数结合重构误差计算对应时间点上的评价值A(xi),评价值A(xi)用于评估该时间点上的传感器测试数据xi是否正常;
Sq3、将评价值A(xi)与设定的异常阈值θ比较;如果A(xi)大于设定的异常阈值θ,则判断xi状态正常;如果A(xi)小于或等于异常阈值θ,则判断xi状态异常。
具体的,传感器测试数据Xtest包含多个连续时间点上的传感器测试数据样本,每一个时间点上的传感器测试数据样本包含多个不同传感器的采集数据。
以下结合具体的实施例对上述异常检测模型进行验证。
本实施例中,为了验证发明提供的异常检测模型的性能,结合不同的数据集,将本发明提供的异常检测模型与其他两种现有模型进行对比。
本实施例中分别采用下表1所示4种数据集。
表1:四种数据集
其中,数据集MSL是由火星探测漫游者本身的传感器数据和执行器数据组合而成,SWAP则是火星探测漫游者使用的土壤样本和遥感信息组成的数据集;而数据集SMD和PSM记录的服务器节点内部收集的性能数据。该四个数据集均为现实世界多变量时间序列数据集。
本实施例中选择的两种现有模型分别为BeatGAN异常检测模型和FGANomaly异常检测模型,两种模型都是基于生成对抗的异常检测模型
BeatGAN:该模型采用自编码器结构和鉴别器作对抗正则化来缓解过拟合,通过比较输入时间序列和反向生成的时间序列来定位时间序列异常。
FGANomaly:该模型将自编码器作为生成器,通过添加的噪声过滤模块捕获正常数据的分布,可应用于受污染数据的异常检测。
为了便于区分,将本发明提供的异常检测模型记作InfoAnomal-GAN模型,InfoAnomal-GAN模型根据本发明提供的训练方法进行训练,训练过程中,N=100。
本实施例中,针对数据集对不同模型进行验证的方法为:首先将数据集划分为预备训练集和测试集,预备训练集和测试集的数据比例为7:3,其中预备训练集中具有占比为训练异常比率的噪声,测试集中具有占比为测试异常比率的噪声;然后将预备训练集中的部分数据替换为从高斯分布中采样的随机噪声,将替换后的预备训练集作为训练集;结合训练集和测试集分别训练InfoAnomal-GAN模型、BeatGAN模型和FGANomaly模型。
本实施例中,数据集采用表1中各数据集时,不同噪声比率对模型的F1评分的影响如图4到图7所示。噪声比率为预备训练集中置换为高斯分布中采样的随机噪声的数据在预备训练集中的占比。F1评分同时兼顾分类模型的精确率和召回率,可客观评价模型的性能。
结合图4-图7可知,随着噪声比率的增加,所有模型的精确度都随之下降。本发明中的InfoAnomal-GAN模型在任一数据集任一噪声比例下的精确度均优于BeatGAN模型和FGANomaly模型。同时,从图4到图7均可看出,BeatGAN模型对噪声最为敏感,随着噪声比的增加,BeatGAN模型的精确度下降坡度极大;而FGANomaly模型和InfoAnomal-GAN模型的下降坡度更加平缓;且InfoAnomal-GAN模型相对于FGANomaly模型,在噪声比变化过程中,模型精度变化更加平稳,InfoAnomal-GAN模型表现出对噪声比更低的敏感性和更高的精确度。可见InfoAnomal-GAN模型展现出了更强的鲁棒性,InfoAnomal-GAN模型在高污染情况下的表现远远优于现有技术。
以上仅为本发明创造的较佳实施例而已,并不用以限制本发明创造,凡在本发明创造的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明创造的保护范围之内。
Claims (5)
1.一种多变量时间序列数据异常检测模型训练方法,其特征在于,包括以下步骤:
St1、获取学习样本,学习样本为多变量时间序列数据;构建基础模型并初始化;基础模型包括过滤模块、生成网络和鉴别网络,生成网络和鉴别网络均为神经网络;多变量时间序列是由多个随时间变化的时间序列所组成的,每个时间序列描述了被监测对象的不同属性值;当被监测对象为服务器时,时间序列由服务器的性能数据构成,包括服务器内部节点的CPU利用率和内存利用率;
生成网络的输入为输入数据x和随机数z,输入数据x为多变量时间序列数据,生成网络用于对随机数z进行重构,以获取并输出重构数据G(z),G(z)为与输入数据x同维度的数据;过滤模块用于清洗输入数据x和重构数据G(z),清洗后的输入数据记作x(a),清洗后的重构数据记作G#;x(a)中包含的数据样本和G#中包含的数据样本一一对应;鉴别网络用于获取数据元组(xq,x#q)的标签(yq,y-q),yq为数据样本xq来自于输入数据x的概率,y-q为数据样本x#q来自于输入数据x的概率;xq∈x(a),x#q∈G#,xq和x#q维度对应;
x=(x1,x2,x3,…,xi,…xn),xi表示输入数据x中第i个时间节点即维度上的数据样本,n为输入数据x的时间点总数,i为序数,1≦i≦n;
G(z)=(x#1,x#2,x#3,…,x#i,…x#n),x#i表示重构数据G(z)中对应xi的数据样本;
St2、选择学习样本作为输入数据x,将输入数据x和随机数z输入生成网络,生成网络根据随机数z生成与输入数据x数据维度相同的重构数据G(z);
St3、计算输入数据x和重构数据G(z)中维度相同的数据样本的重构误差;过滤模块根据重构误差计算生成网络中各数据样本的自适应权重以及输入数据中各数据样本的伪标签;
St4、过滤模块清洗输入数据x和重构数据G(z),获取清洗后的输入数据x(a)和清洗后的重构数据G#;
St5、设置生成损失函数用于计算生成网络在各数据空间上的生成损失,计算x(a)对应的生成损失L(info,x(a))和G(z)对应的生成损失L(info,G);
St6、固定鉴别网络,结合自适应权重损失和生成损失L(info,G)计算第一损失L(G),并根据第一损失L(G)沿反向梯度更新生成网络;
St7、固定生成网络,结合伪标签和生成损失L(info,x(a))计算第二损失L(D),并根据第二损失L(D)沿反向梯度更新鉴别网络;
St8、判断基础模型更新次数是否达到设定值N0;否,则令N更新为N+1,然后返回步骤St2;是,则固定基础模型参数,并从基础模型参数中提取生成网络,将生成网络与设定的评价函数结合,以组成异常检测模型;
过滤模块用于清洗输入数据x中伪标签大于设定值ρ的数据样本,并清洗重构数据G(z),清洗后的重构数据G(z)和清洗后的输入数据x在时间维度上一一对应;伪标签计算公式为:
P(B-xi)=1/(1+eB(xi))
B(xi)=zi×(1-1/N)
zi=(di-d(ave))/δ
di=||xi-x#i||
P(B-xi)表示xi对应的伪标签:B(xi)为过渡项,e表示自然常数;N为迭代次数;zi表示数据样本xi的偏离分数,di表示输入数据x中第i个时间点上的数据样本xi对应的重构误差,d(ave)为输入数据对应的重构误差di的均值,δ为输入数据对应的重构误差di的方差;||xi-x#i||表示xi-x#i的二范数,x#i表示重构数据G(z)中对应xi的数据样本;
St3中,生成网络中各数据样本的自适应权重的计算公式如下:
Δi=[Σf=1,f≠i nezf+(N-1)×e-zi]/[Z×Σi=1 nezi×N]
Σi=1 nezi=ez1+ez2+…+ezi+…+ezn
Δi表示第i个数据样本的自适应权重,N为模型迭代次数,N的初始值为1;Z表示设定的归一化因子;zf表示数据样本xf的偏离分数,1≦f≦n;
St5中,生成损失计算方式如下为:
令数据样本xp来自于数据集合P,L(info,P)表示P对应的生成损失;
L(info,P)=-Exp∈PEk∈M[log[exp(ξ1)/(Exp#∈P-xpEk∈Mexp(ξ2))]]
ξ1=Φ(φ(xp))×Ψ(φ(k,xp))T
ξ2=Φ(φ(xp))×Ψ(φ(k,xp#))T
P=(x1,x2,x3,…,xp,…,xP)
P-xp=(x1,x2,x3,…,x(p-1),x(p+1),x(p+2),…,xP)
鉴别网络针对数据样本提取全局特征和m个局部特征,φ(xp)表示数据样本xp对应的全局特征,φ(k,xp)表示数据样本xp对应的第k个局部特征,φ(k,xp#)表示数据样本xp#对应的第k个局部特征,M表示局部特征的序号集合,M={1,2,3,……,m};
ξ1表示对应同一个数据样本的全局特征和局部特征的组合,ξ2表示对应不同数据样本的全局特征和局部特征的组合;Φ表示鉴别网络中的全局特征投射网络,Φ(φ(xp))表示全局特征φ(xp)的高维线性投射结果,Ψ表示鉴别网络中的局部特征投射网络,Ψ(φ(k,xp))表示局部特征φ(k,xp)的高维线性投射结果,Ψ(φ(k,xp#)表示局部特征φ(k,xp#)的高维线性投射结果;上标T表示矩阵转置;E表示求期望;
St6中第一损失函数L(G)为:
L(G)=L1+Σxi∈x[||xi-x#i||×Δi]+λ×L(info,G)
L1=-Ez~Pz[D(G)]
Ez~Pz[D(G)]表示在随机数z服从正态分布pz时鉴别网络对重构数据G(z)的期望,L1表示鉴别网络固定时生成网络的对抗损失;||xi-x#i||表示xi-x#i的二范数;Δi表示第i个数据样本的自适应权重;λ为设定值;
St7中第二损失函数L(D)为:
L(D)=-[Σxq∈x(a)[(1-yq)×(L2+λ(1)×L(info,x(a)))]]/K
L2=-Exq~x(a)[D(x(a))]+Ez~Pz[D(G#)]
Exq~x(a)[D(x(a))]表示在数据样本xq服从数据空间x(a)分布时鉴别网络对xq的期望;Ez~Pz[D(G#)]表示在随机数z服从正态分布pz时鉴别网络对清洗后的重构数据G#的期望;L2表示生成网络固定时鉴别网络的对抗损失;λ(1)为设定值;K表示为清洗后的输入数据x(a)中的数据样本的数量;
yq表示二值数,当P(B-xq)≧ρ,则yp=1;反之,当P(B-xq)<ρ,则yp=0;ρ为设定值。
2.如权利要求1所述的多变量时间序列数据异常检测模型训练方法,其特征在于,St1中学习样本的获得方式为:获取连续时间段上采集的多个传感器数据样本作为多变量时间序列数据X#,将多变量时间序列数据X#归一化得到数据X,对数据X进行滑动窗口切片,将切片获得的窗口数据作为学习样本。
3.如权利要求1所述的多变量时间序列数据异常检测模型训练方法,其特征在于,评价函数为:
A(xi)=ezi/ (ez1+ez2+…+ezi+…+ezn)
其中,A(xi)表示xi对应的评价值;zi为数据样本xi的偏离分数。
4.一种多变量时间序列数据异常检测方法,其特征在于,包括以下步骤:
Sq1、获取待检测的传感器测试数据Xtest和异常检测模型,所述异常检测模型采用权利要求1-3任一项所述的多变量时间序列数据异常检测模型训练方法获得;
Sq2、对Xtest窗口滑动切片,将Xtest转换为长度为n的窗口数据Wtest,将Wtest作为输入数据x代入异常检测模型;生成网络对从正态分布中提取的z进行重构并输出G(z),计算x和G(z)每一个时间点上的重构误差;评价函数结合重构误差计算窗口数据Wtest中各时间点上的传感器测试数据样本xi的评价值A(xi),评价值A(xi)用于评估xi在对应的窗口数据Wtest中是否正常;
Sq3、将评价值A(xi)与设定的异常阈值θ比较;如果A(xi)大于设定的异常阈值θ,则判断xi状态正常;如果A(xi)小于或等于异常阈值θ,则判断xi状态异常。
5.一种多变量时间序列数据异常检测系统,其特征在于,包括存储器和处理器,存储器中存储有计算机程序和异常检测模型,处理器与存储器连接,处理器用于执行所述计算机程序,以实现权利要求4所述的多变量时间序列数据异常检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310531272.3A CN116304604B (zh) | 2023-05-12 | 2023-05-12 | 多变量时间序列数据异常检测、模型训练方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310531272.3A CN116304604B (zh) | 2023-05-12 | 2023-05-12 | 多变量时间序列数据异常检测、模型训练方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116304604A CN116304604A (zh) | 2023-06-23 |
CN116304604B true CN116304604B (zh) | 2023-08-18 |
Family
ID=86824301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310531272.3A Active CN116304604B (zh) | 2023-05-12 | 2023-05-12 | 多变量时间序列数据异常检测、模型训练方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116304604B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116991199B (zh) * | 2023-09-25 | 2024-01-02 | 深圳扬兴科技有限公司 | 用于时钟芯片的时钟信号智能降噪方法 |
CN118035926A (zh) * | 2024-04-11 | 2024-05-14 | 合肥工业大学 | 基于多元数据扩散的模型训练、水检测方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019241155A1 (en) * | 2018-06-11 | 2019-12-19 | Arterys Inc. | Simulating abnormalities in medical images with generative adversarial networks |
CN111988277A (zh) * | 2020-07-18 | 2020-11-24 | 郑州轻工业大学 | 一种基于双向生成对抗网络的攻击检测方法 |
DE102019210270A1 (de) * | 2019-05-23 | 2020-11-26 | Robert Bosch Gmbh | Verfahren zum Trainieren eines Generative Adversarial Networks (GAN), Generative Adversarial Network, Computerprogramm, maschinenlesbares Speichermedium und Vorrichtung |
CN113240011A (zh) * | 2021-05-14 | 2021-08-10 | 烟台海颐软件股份有限公司 | 一种深度学习驱动的异常识别与修复方法及智能化系统 |
KR20220040659A (ko) * | 2020-09-24 | 2022-03-31 | 주식회사 비카누스 | 시계열 데이터 이상 진단 시스템 |
CN115062753A (zh) * | 2022-01-18 | 2022-09-16 | 深圳市比一比网络科技有限公司 | 一种针对轨道异常检测数据的自动扩增方法及系统 |
CN115392109A (zh) * | 2022-07-26 | 2022-11-25 | 西北工业大学 | 一种基于生成模型的lstm多变量时间序列异常检测方法 |
CN115769227A (zh) * | 2020-07-01 | 2023-03-07 | 国际商业机器公司 | 预报多变量时间序列数据 |
-
2023
- 2023-05-12 CN CN202310531272.3A patent/CN116304604B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019241155A1 (en) * | 2018-06-11 | 2019-12-19 | Arterys Inc. | Simulating abnormalities in medical images with generative adversarial networks |
DE102019210270A1 (de) * | 2019-05-23 | 2020-11-26 | Robert Bosch Gmbh | Verfahren zum Trainieren eines Generative Adversarial Networks (GAN), Generative Adversarial Network, Computerprogramm, maschinenlesbares Speichermedium und Vorrichtung |
CN115769227A (zh) * | 2020-07-01 | 2023-03-07 | 国际商业机器公司 | 预报多变量时间序列数据 |
CN111988277A (zh) * | 2020-07-18 | 2020-11-24 | 郑州轻工业大学 | 一种基于双向生成对抗网络的攻击检测方法 |
KR20220040659A (ko) * | 2020-09-24 | 2022-03-31 | 주식회사 비카누스 | 시계열 데이터 이상 진단 시스템 |
CN113240011A (zh) * | 2021-05-14 | 2021-08-10 | 烟台海颐软件股份有限公司 | 一种深度学习驱动的异常识别与修复方法及智能化系统 |
CN115062753A (zh) * | 2022-01-18 | 2022-09-16 | 深圳市比一比网络科技有限公司 | 一种针对轨道异常检测数据的自动扩增方法及系统 |
CN115392109A (zh) * | 2022-07-26 | 2022-11-25 | 西北工业大学 | 一种基于生成模型的lstm多变量时间序列异常检测方法 |
Non-Patent Citations (1)
Title |
---|
乔焰 等.基于宽度卷积神经网络的异常农情数据检测方法.《华南农业大学学报》.2021,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN116304604A (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116304604B (zh) | 多变量时间序列数据异常检测、模型训练方法和系统 | |
Wang et al. | High-dimensional process monitoring and fault isolation via variable selection | |
CN115828140B (zh) | 邻域互信息与随机森林相融合故障检测方法、系统及应用 | |
Yang et al. | An incipient fault diagnosis methodology using local Mahalanobis distance: Detection process based on empirical probability density estimation | |
EP1960853A1 (en) | Evaluating anomaly for one-class classifiers in machine condition monitoring | |
CN109522948A (zh) | 一种基于正交局部保持投影的故障检测方法 | |
CN114861788A (zh) | 一种基于dbscan聚类的负荷异常检测方法及系统 | |
CN116805061B (zh) | 基于光纤传感的泄漏事件判断方法 | |
Svajlenko et al. | A machine learning based approach for evaluating clone detection tools for a generalized and accurate precision | |
Wang et al. | A Gaussian feature analytics-based DISSIM method for fine-grained non-Gaussian process monitoring | |
CN116796275A (zh) | 一种工业设备多模态时序异常检测方法 | |
CN116292130A (zh) | 基于协整分析的风力发电机状态监测系统及其方法 | |
CN113327008A (zh) | 一种基于时序自动编码器的窃电检测方法、系统及介质 | |
Elvira et al. | Bayesian nonparametric principal component analysis | |
CN116108371B (zh) | 基于级联异常生成网络的云服务异常诊断方法与系统 | |
Yoshida et al. | Classification from positive and unlabeled data based on likelihood invariance for measurement | |
CN108834043B (zh) | 基于先验知识的压缩感知多目标无源定位方法 | |
CN111191475A (zh) | 一种基于uhf rfid的被动式行为识别方法 | |
CN110472188A (zh) | 一种面向传感数据的异常模式检测方法 | |
CN116402777A (zh) | 基于机器视觉的电力设备检测方法及系统 | |
Miao et al. | Nonlinear fault detection based on locally linear embedding | |
CN114598627A (zh) | 一种基于知识图谱的异常网络信息检测方法 | |
Liu et al. | Anomaly Detection in Industrial Multivariate Time Series Data with Neutrosophic Theory | |
Cominelli et al. | Accurate Passive Radar via an Uncertainty-Aware Fusion of Wi-Fi Sensing Data | |
Farruggia et al. | A novel approach for faulty sensor detection and data correction in wireless sensor network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |