CN116796212A - 基于权重递增的条件扩散模型的时间序列异常检测方法及装置 - Google Patents

基于权重递增的条件扩散模型的时间序列异常检测方法及装置 Download PDF

Info

Publication number
CN116796212A
CN116796212A CN202310853533.3A CN202310853533A CN116796212A CN 116796212 A CN116796212 A CN 116796212A CN 202310853533 A CN202310853533 A CN 202310853533A CN 116796212 A CN116796212 A CN 116796212A
Authority
CN
China
Prior art keywords
time
point
value
diffusion model
conditional
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.)
Pending
Application number
CN202310853533.3A
Other languages
English (en)
Inventor
肖春静
杜翔鹤
薛玉霞
缑泽华
张磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Henan University
Original Assignee
Henan University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Henan University filed Critical Henan University
Priority to CN202310853533.3A priority Critical patent/CN116796212A/zh
Publication of CN116796212A publication Critical patent/CN116796212A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/10Pre-processing; Data cleansing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开一种基于权重递增的条件扩散模型的时间序列异常检测方法及装置,该方法首先选择一部分时间序列数据作为观测值,其余数据作为缺失值,然后根据观测值来估计缺失点的值,最后根据估计错误来判定一个点是否为异常。采用基于密度比的策略灵活地选择观测值,可以轻松适用于异常集中的情况。本发明通过权重递增的条件扩散来增强缺失值的估计性能,可以显著提高生成数据质量,从而提升异常检测的稳定性。此外,本发明还设计了一个多尺度状态空间模型,以捕捉时间序列数据的长期依赖关系。实验结果表明,本发明表现明显优于当前最先进的模型;能够改善异常检测性能;在标记数据稀缺或异常点集中的情况下,提供了一种灵活的解决方案。

Description

基于权重递增的条件扩散模型的时间序列异常检测方法及 装置
技术领域
本发明涉及时间序列异常检测技术领域,尤其涉及一种基于权重递增的条件扩散模型的时间序列异常检测方法及装置。
背景技术
时间序列异常检测旨在识别与大多数时间序列显著偏离的异常样本。它可以提前发出警报和采取预防措施,从而潜在地防止大规模故障,在各种应用中具有重要意义,例如发现底层系统的异常情况、监测大规模数据集中的数据故障和检测业务操作中关键绩效指标的显著变化。
在实际应用中,异常通常是稀有的,并与大量的正常数据混在一起,使得获取标记数据变得困难。因此,大多数研究都集中在使用无监督方法来识别异常。例如,密度估计和聚类方法已经被应用于针对时间序列数据的异常检测。最近,受益于神经网络的表示学习能力,基于深度学习的技术在异常检测方面取得了优秀的性能,在学术界和工业界引起了广泛关注。这些技术主要可以分为两类:基于预测的方法和基于重构的方法。前者构建一个预测模型,使用历史数据推断出后续数据,并根据估计值与实际值之间的预测误差确定异常。基于重构的方法根据训练实例重构测试数据,然后根据重构误差进行异常检测。
尽管先前的研究取得了巨大的成功,但当异常点在整个时间序列上不是均匀地分布而是集中在某些区域时(我们将这种现象称为异常集中),它们可能会遭受性能下降的问题。在这种情况下,无论是基于预测还是基于重构的方法,都可能无法准确识别异常点,因为它们的模型通常是使用正常数据占主导地位的区域进行训练的。当异常点集中在某些区域时,现有方法将受到这些密集异常点的显著影响,变得不适用甚至无效。图1展示了一个异常集中的示例,其中蓝色和红色点分别表示正常点和异常点。在e2区域发生了异常集中情况。典型的基于预测的模型使用过去的值来预测未来,可能会错误地将e3区域的某些点视为异常。这可能导致e3区域的正常点预测误差增大,从而降低异常检测性能。基于重构的方法也面临相同的问题。我们从真实数据的分析结果显示,大量的异常点会相互接近。因此,我们需要开发一种能够考虑异常集中并具有鲁棒性的异常检测模型。
发明内容
本发明针对当异常点在整个时间序列上不是均匀地分布而是集中在某些区域时(我们将这种现象称为异常集中),现有时间序列异常检测方法可能会遭受性能下降的问题,提出一种基于权重递增的条件扩散模型的时间序列异常检测方法及装置,其可以有效地解决异常集中的问题。主要思想如下:首先,我们选择一小部分离散点作为观测数据(即已知值),其余部分作为屏蔽数据(即缺失值)。然后,我们基于观测值对缺失值进行填充。接下来,我们计算估计值与实际值之间的估计误差,以检测异常。估计误差越大,这一数据属于异常的概率就越高(一般正常点的数量远远大于异常点数量,用正常点占主导地位的数据预估的缺失点的值应该符合正常值的分布,所以异常点的真实值与估计值的误差较大)。与基于预测和重构的方法不同,所提出的基于填充的方法可以灵活选择观测值进行数据估计。通过减少来自异常占主导区域的观测点,我们的填充方法可以缓解异常集中引起的问题。
为了实现上述目的,本发明采用以下技术方案:
本发明一方面提出一种基于权重递增的条件扩散模型的时间序列异常检测方法,包括:
步骤1:使用基于密度比的变点得分来确定时间序列中行为突变的时间点,对于每个没有行为突变时间点的时间窗口,遍历每个点来计算其作为观测值被选中的概率,根据概率值大小对观测值进行选择,时间序列中的其余部分作为缺失值;
步骤2:使用扩散模型作为基本的填充框架,设计权重递增的条件扩散模型,基于观测值和权重递增的条件扩散模型对时间序列中的缺失值进行填充(估计);
步骤3:对填充后的时间序列进行异常检测。
进一步地,所述步骤1中,按照以下方式计算变点得分:
首先将时间序列数据分成h个不相交的时间窗口,并计算时间窗口k的密度比gk(x),计算公式如下:
其中,x为样本,由一组时间点组成,fk-1(x)和fk(x)分别对应于两个连续窗口k、k-1的估计概率密度,变点的得分计算如下:
其中s是窗口长度,xi表示第i个时间点的值。
进一步地,所述步骤1中,按照以下方式计算没有行为突变时间点的时间窗口中每个点作为观测值被选中的概率:
其中pi表示点i被选为观测点的概率,di表示时间点i与上一个选定的观测点之间的距离,是包含第i个点的窗口的/>得分,而/>表示所有窗口的平均/>得分
其中H是所有区域中的窗口数。
进一步地,所述权重递增的条件扩散模型的表达式包括:
其中xt-1表示T-(t-1)次迭代后产生的数据,T表示最大迭代次数,s⊙(·)和分别指观测点的生成值和屏蔽点的生成值;xob为观测值,其被视为在逆向扩散迭代过程中施加的条件;h(·)为权重函数
h(t-1)=N0e-λ(t-1)
其中λ是表示指数衰减常数的超参数,N0是初始数量,z~N(0,I)表示每个生成步骤都是随机的,是一个固定常数,xt表示第T-t次迭代后产生的数据;αt=1-βtβt是一个正常数;fθ(xt,xob,t)表示神经网络去噪模型。
进一步地,所述步骤3中,通过计算各时间点的异常分数来判断是否异常:
其中ci分别表示第i个时间点的实际值和估计值,d表示多元时间序列的维度,k表示第k个时间窗口。
本发明另一方面提出一种基于权重递增的条件扩散模型的时间序列异常检测装置,包括:
基于密度比的点选择模块,用于使用基于密度比的变点得分来确定时间序列中行为突变的时间点,对于每个没有行为突变时间点的时间窗口,遍历每个点来计算其作为观测值被选中的概率,根据概率值大小对观测值进行选择,时间序列中的其余部分作为缺失值;
缺失值填充模块,用于使用扩散模型作为基本的填充框架,设计权重递增的条件扩散模型,基于观测值和权重递增的条件扩散模型对时间序列中的缺失值进行填充;
时间序列异常检测模块,用于对填充后的时间序列进行异常检测。
进一步地,所述基于密度比的点选择模块中,按照以下方式计算变点得分:
首先将时间序列数据分成h个不相交的时间窗口,并计算时间窗口k的密度比gk(x),计算公式如下:
其中,x为样本,由一组时间点组成,fk-1(x)和fk(x)分别对应于两个连续窗口k、k-1的估计概率密度,变点的得分计算如下:
其中s是窗口长度,xi表示第i个时间点的值。
进一步地,所述基于密度比的点选择模块中,按照以下方式计算没有行为突变时间点的时间窗口中每个点作为观测值被选中的概率:
其中pi表示点i被选为观测点的概率,di表示时间点i与上一个选定的观测点之间的距离,是包含第i个点的窗口的/>得分,而/>表示所有窗口的平均/>得分
其中H是所有区域中的窗口数。
进一步地,所述权重递增的条件扩散模型的表达式包括:
其中xt-1表示T-(t-1)次迭代后产生的数据,T表示最大迭代次数,s⊙(·)和分别指观测点的生成值和屏蔽点的生成值;xob为观测值,其被视为在逆向扩散迭代过程中施加的条件;h(·)为权重函数
h(t-1)=N0e-λ(t-1)
其中λ是表示指数衰减常数的超参数,N0是初始数量,z~N(0,I)表示每个生成步骤都是随机的,是一个固定常数,xt表示第T-t次迭代后产生的数据;αt=1-βtβt是一个正常数;fθ(xt,xob,t)表示神经网络去噪模型。
进一步地,所述时间序列异常检测模块中,通过计算各时间点的异常分数来判断是否异常:
其中ci分别表示第i个时间点的实际值和估计值,d表示多元时间序列的维度,k表示第k个时间窗口。
与现有技术相比,本发明具有的有益效果:
本发明提出了一种基于权重递增的条件扩散模型的时间序列异常检测方法及装置,其可以有效地缓解异常集中情况下的性能下降问题。为了减少异常集中的影响,我们提出了一种基于密度比的点选择策略,以选择更多正常点作为数据估计的观测值。对于一些没有变点的时间序列区域来说,该区域越长,所有点都是正常点的概率就越高。通过这种方式,可以从这些区域选择更多的点作为观测值。
此外,本发明设计了一个权重递增的条件扩散模型,基于观测值来估计缺失值。该模型以高斯噪声为输入,并在逆向扩散迭代过程中施加权重变化的条件(即观测值),生成被遮挡的数据点的值。与旨在准确估计缺失值的填充任务不同,异常检测除了要求估计的观测点值与实际观测值之间的偏差较小外,还期望估计值中的畸变较少。然而,对于典型的扩散模型,逆向扩散迭代生成的观测点值可能与真实观测值有偏差。直接在生成的数据上施加条件因素(即在每一步将生成的值替换为实际观测值)可能会导致数据畸变。为此,在施加条件的过程中,我们根据迭代次数调整条件的权重,即后期迭代使用较大的权重。随着迭代次数的增加,生成的值变得更加清晰,偏差和畸变逐渐减小。因此,使用较大权重施加条件不会造成严重的畸变。基于此,我们的权重递增策略有助于生成具有较小偏差和畸变的值。最终,估计的值将用于计算异常检测的估计误差。
接着,本发明在扩散模型的U-Net中考虑时间序列的长期交互来缓解异常集中引起的问题。一般的去噪扩散概率模型使用U-Net作为去噪神经网络,以去除噪声生成干净样本。然而,U-Net中广泛使用的卷积和池化操作无法有效捕捉长期依赖关系。本发明将结构化状态空间序列模型(S4)结合到U-Net中,并设计了一个基于S4的多尺度U-NET,该网络在多个尺度上整合来自不同层次的信息,并利用更长范围的交互来减轻异常集中的影响。
本发明的贡献有四个方面:
1.本发明是首个用于时间序列异常检测的去噪扩散概率模型。我们将异常检测定义为一种生成式时间序列填充过程,首次尝试在时间序列的异常检测中探索扩散概率模型和填充范式。
2.本发明提出了一种新的解决方案,将扩散概率模型应用于异常检测任务,并确保观测值和生成值之间的一致性,同时采用了一种特殊设计的多尺度状态空间模型的权重递增的条件扩散模型。
3.本发明提供了一种基于密度比的选择策略,可以灵活选择正常值作为观测点。这种策略使得检测模型能够更容易地在异常集中的情况下识别异常点。
4.在五个数据集上进行的大量实验证明了本发明相对于最先进的时间序列异常检测基准的优越性。
附图说明
图1为绘制自服务器机器数据集中抽样的异常集中示例;其中,蓝色和红色点分别表示正常和异常数据,e2是一个异常集中区域,e1和e3是正常数据主导的区域;
图2为连续异常点数量的分布示例图;
图3为本发明实施例一种基于权重递增的条件扩散模型的时间序列异常检测方法的框架示意图;
图4为本发明实施例不同选择策略的性能对比;
图5为本发明实施例不同选择策略的可视化示例;
图6为本发明实施例一种基于权重递增的条件扩散模型的时间序列异常检测装置的结构示意图。
具体实施方式
下面结合附图和具体的实施例对本发明做进一步的解释说明:
本发明提出一种基于权重递增的条件扩散模型的时间序列异常检测方法(简称DiffAD),可以有效地缓解异常集中情况下的性能下降问题。
首先简单介绍时间序列异常检测问题、异常集中和去噪扩散概率模型,这些是研究问题的基本背景。
1.1问题描述
本文关注多元时间序列的无监督异常检测。在训练集中,每个样本x被表示为一组时间点{c1,c2,...,cN},其中ci∈Rd表示时间i的观测值。无监督时间序列异常检测问题是为了确定ci是否异常。
我们假设选择了一些时间点作为已知观测值,其余时间点为屏蔽值(缺失值)。为了检测异常,我们首先采用时间序列填充技术估计屏蔽点的值。然后,通过比较真实值和估计值之间的估计误差来识别异常点。估计误差越大,该点越有可能是异常点。
1.2异常集中程度
异常集中是指在时间序列的某些区域连续出现大量异常点的现象。为了了解异常集中的程度,我们在五个真实数据集(SMD、PSM、SWaT、MSL和SMAP)中探索了连续异常点的数量分布。图2展示了连续异常点数量的分布情况,其中x轴表示相邻的异常点数量。
从数据统计中,我们可以看到异常点的连续出现。即使对于具有分散异常的数据集(例如SMD),超过80%的异常点都集中在连续异常点数量大于100的区域。大多数数据集(如PSM、SMAP和SWaT)表现出更高程度的异常集中,即超过70%的异常点集中在长度为1,000+的连续异常序列中。这些结果表明异常集中现象广泛存在于数据中。
1.3去噪扩散概率模型
一个T步骤的去噪扩散概率模型(DDPM)包括两个过程:扩散过程,步骤t∈{0,1,…,T},和逆向过程,步骤t∈{T,T-1,…,0}。扩散过程q(xt|xt-1)逐渐将数据从目标分布qdata(x0)变成为高斯噪声,逆向过程p(xt-1|xt)通过逐渐去除噪声来生成新样本。
1.3.1扩散过程
给定数据x0,第一步(t=0)中的扩散过程qdata(x0)定义为数据分布在RL上的x0。其中L是样本中的信号长度。从数据x0变成xT的扩散过程可以基于一个固定的马尔科夫链进行建模。如下公式所示。
其中,βt是一个小的正常数。换句话说,在每一步中,将高斯噪声添加到前一个样本xt-1中。根据预定义的调度β1,…,βT,整个过程中逐渐将原始的干净的数据x0转化为高斯分布
根据公式(1),边缘化x1,…,xt-1可以得到xt的采样分布。该分布以x0作为条件,表示方式如下。
其中αt=1-βt
1.3.2逆向过程
逆向过程将转换为x0,该过程也类似于公式(1)的马尔科夫链:
在公式(4)中,pθ(·)是具有可学习参数θ的逆过程的分布。与扩散过程不同,以下边缘的似然是难以计算的:
pθ(x0)=∫pθ(x0,…,xT-1|xT)·platent(xT)dx1:T.#(5)
因此使用证据下界(Evidence Lower Bound,简称ELBO)构建模型训练的近似目标函数。在[HO J,JAIN A,ABBEEL P.Denoising diffusion probabilistic models[J].Advances in Neural Information Processing Systems,2020,33(6840-51.]中,最小化以下公式可以提高数据生成质量:
其中c和kt是常数,∈θ是训练用于估计xt中的高斯噪声∈的模型。在优化公式(6)后,相应的逆向公式变为:
公式μθ(xt,t)由以下公式(8)得到
该公式通过从xt中移除估计的高斯噪声∈θ(xt,t)来预测xt-1分布的均值,并且方差固定为
2所提出的方法
DiffAD由三个组件组成:基于密度比的点选择策略、权重递增的条件扩散模型和基于结构化状态空间序列(structured state-space sequence,简称S4)模型的多尺度U-Net。这些组件的概述如图3所示。为了减少异常集中的负面影响,基于密度比的点选择策略选择更多正常点作为数据估计的观察点。然后,权重递增的条件扩散模型试图基于观察值估计缺失值。在扩散模型中,使用基于S4的多尺度U-Net来捕捉长期依赖关系,以缓解异常集中引起的问题。利用估计值与真实值之间的差异来识别异常点。也就是说,估计误差越大,被判定为异常的概率越高。为了获得观察点的估计误差,我们首先选择观察点的一组相邻点作为新的观察点。然后,我们使用这些新的观察点来估计原始观察点的值,以确定原始观察点是否异常。
DiffAD的具体流程包括:
步骤1:使用基于密度比的变点得分来确定时间序列中行为突变的时间点,对于每个没有行为突变时间点的时间窗口,遍历每个点来计算其作为观测值被选中的概率,根据概率值大小对观测值进行选择,时间序列中的其余部分作为缺失值;
步骤2:使用扩散模型作为基本的填充框架,设计权重递增的条件扩散模型,基于观测值和权重递增的条件扩散模型对时间序列中的缺失值进行填充;
步骤3:构建基于结构化状态空间序列模型的多尺度U-Net,对填充后的时间序列进行异常检测。
2.1基于密度比的点选择策略
与基于预测和重构的方法不同,我们的异常检测方法中的观测值可以灵活选择。为了减轻异常集中的负面影响并提高检测性能,应该选择更多的正常点为观测点。原因是:如果观测数据中有更多正常值,那么基于观测数据推断出的估计值更有可能接近正常值。这可以导致异常点的估计误差更大,从而产生更优秀的检测性能。因此,选择更多的正常点作为观测点可以显著提高检测性能。
为了选择更多的正常值用于估计缺失值,我们设计了一种基于密度比的点选择策略。密度比是一种有效的变点检测方法,而变点是时间序列行为突变的时间点。对于时间序列数据来说,大多数变点可以被视为一种异常。我们使用基于密度比的变点得分来确定变点,计算变点得分后与阈值进行比较,高于阈值的点被认为是变点。我们策略的主要思想是对于没有变点的数据(时间序列)片段,其长度越长,它们是正常点的概率越高。相应地,这个数据片段中应选择更多的点作为观察值。
具体而言,我们基于两个连续窗口的密度比来识别变点,这可以反映窗口之间的变化程度。为了计算变点得分,我们首先将时间序列数据分成h个不相交的窗口,并计算窗口k的密度比,计算公式如下:
其中,fk-1(x)和fk(x)分别对应于两个连续窗口的估计概率密度。变点的得分计算如下:
在公式(10)中,s是窗口长度。较高的得分表明存在变点的概率较高。因此,得分高于阈值的点被视为变点。由于变点对我们来说是未知的,阈值可以基于所有得分的分布进行设置(例如,取前30%)。请注意,我们主要关注降低变点检测的假阴性率,这可以通过使用较低的阈值来实现这一目标。基于/>得分,我们能够提取所有没有显著变点的区域。
为了获得合适的观测值,选择策略必须满足两个约束条件:(i)所选点的得分应较小,表明它们不是变点,因此也不是异常点;(ii)两个相邻选定点之间的间隔不应过大,因为较大的间隔可能增加了估计缺失值的难度。
因此,对于每个没有变点的窗口,我们遍历每个点来计算它作为观测值被选中的概率。对于第i个点,其概率为:
在公式(11)中,di表示点i与上一个选定的观测点之间的距离,是包含第i个点的窗口的/>得分,而/>表示所有窗口的平均/>得分
在公式(12)中,H是所有区域中的窗口数。pi表示点i被选为观测点的概率。我们可以选择一定比例的点作为观测点,比如概率最高的前10%的点。这个概率和该点与上一个选定点之间的距离成正相关,与得分负相关。换句话说,它符合上述提到的两个规则。我们在分子中添加了/>进一步增强了/>得分的作用。通过这种方式,具有较低/>得分和较长间隔的点往往是正常的,并被选为用于估计缺失值的观测点。
2.2权重递增的条件扩散
由于扩散模型(Denoising Diffusion Probabilistic Models,简称DDPM)在数据生成方面的优越性,我们使用DDPM作为基本的填充框架。然而,填充任务不同于异常检测,前者旨在准确地估计缺失值,而后者追求较大的估计误差以区分异常数据。为了弥补这一差距,我们设计了一种权重递增的条件扩散模型,其根据观测点生成估计值。我们的目标是通过调整观测值的权重来生成具有较少畸变并保留观测值信息的数据,这对于异常检测尤为重要。
具体而言,观测值被视为在逆向扩散迭代过程中施加的条件。为了保持条件xob的维度与初始状态一致,我们采用双立方插值(bicubic interpolation)将xob调整为与/>相同的大小。然后,我们将调整后的xob和/>组合起来生成扩散模型的输入。组合方式如下所示:
其中,s是一个二进制序列,表示数据中哪些点是观测点(例如,011000表示第二个和第三个点是观测点,其余点是屏蔽点),(1-s)⊙(·)表示屏蔽点的值。g(·)是双立方插值函数,γ是调整两个项相对重要性的权重参数。
然后,我们将条件应用于逆扩散迭代过程中。根据马尔可夫链,条件逆扩散过程旨在基于xt和xob预测在添加条件xob后,DDPM的逆过程变为:
在公式(14)中,μθ(xt,xob,t)是条件逆过程的估计均值,是一个固定常数。逆过程从一个高斯噪声/>开始,通过采样逆步骤/>生成一个干净样本x0
为了对μθ(xt,xob,t)进行参数化,我们训练了一个神经网络去噪模型fθ(xt,xob,t)来预测噪声向量∈。目标函数定义如下:
通过fθ(xt,xob,t)可以得到μθ(xt,xob,t)的推导结果:
因此,生成(逆扩散)过程为:
在上式中z~N(0,I)表示每个生成步骤都是随机的,这个生成过程通过迭代改进分布,直到得到一个干净的样本x0
然而,仅仅将条件注入到去噪网络中,并期望网络自动利用条件信息生成期望的数据,可能会遇到偏离问题。换句话说,经过多次迭代,观测点的生成值可能会偏离其真实值。一个可能的解决方法是强制将条件因子施加在生成的数据上(即在每个时间步骤上用真实的观测值替换掉生成的值),但这可能会导致数据畸变问题。
为了解决这个问题,我们提出了一种新颖的权重递增条件注入方法,以有效地解决这个问题。换句话说,我们引入了一个单调函数h(·)来调整条件(例如观测值xob)的权重。h(·)的值域是从0到1,可以基于指数衰减方程获得:
h(t-1)=N0e-λ(t-1)#(18)
其中λ是表示指数衰减常数的超参数,N0是初始数量。主要动机是随着时间戳t的减小和逆向扩散的继续,观测点的生成值应该越来越接近真实观测值。因此,权重h(·)应该变得更大,以保证生成值和观测值之间的一致性。有了权重函数h(·),我们将观测值与生成值相结合,产生xt-1
在公式(19)中s⊙(·)和分别指观测点的生成值和屏蔽点的生成值。需要注意的是,提出的权重递增的条件扩散学习具有以下特性:(i)t→T,h(t)→0,因此条件因子对DDPM的初始状态几乎没有影响;(ii)由于h(t)是一个单调递减的函数,它满足了上述动机(时间戳越小,条件约束越紧密)。由于指数函数的连续性属性,它可以温和、逐步地修正偏差。(iii)当t→0,h(t)取得最大值:h(t)=N0=1。根据公式(19)和实验设置,我们可以保证观测点的所在的值将完全被真实观测值替代。
如图3所示,逆向过程从一个高斯噪声开始,通过迭代优化生成一个清晰的样本x0,即/>在每个逆向步骤t∈{0:T}中,我们首先根据公式(17)生成噪声候选值/>然后,我们应用公式(19)在/>上明确施加条件,得到xt-1。最后,可以通过将高斯噪声/>转换为基于观测点xob的清晰样本x0来估计屏蔽值。
2.3基于S4的多尺度U-Net
在扩散模型中,通常使用基于Wide ResNet的U-Net作为去噪神经网络。然而,该U-Net主干网络中的卷积和池化等组件不能有效处理具有长期依赖性的数据。在存在异常集中的情况下,利用长期交互尤其重要,以捕捉超出异常集中阶段的时间序列模式。因此,我们引入了结构化状态空间序列模型(S4)用于U-Net,以处理这种长期依赖性。
具体来说,我们设计了一个基于S4的多尺度U-Net主干网络,以整合来自不同层次和多个尺度的信息。我们提出的网络架构由多个层次组成,每个层次包含一个残差S4块的堆叠。顶层处理原始采样率的时间序列数据,而较低层处理输入信号的下采样版本。较低层的输出经过上采样,并与上层的输入结合,以提供更强的条件信号。由于多尺度策略,不同的块可以学习不同尺度的特征,这有助于模型学习长时间序列数据上的复杂时序依赖关系。这个基于S4的多尺度U-Net将被用作权重递增的条件扩散模型中的去噪神经网络fθ(·)。
2.4检测标准
在异常检测中,我们将异常分数与给定的阈值进行比较,以确定是否存在异常。对于一个测试点,它的异常分数是基于估计误差进行计算的。
其中ci分别表示实际值和估计值,d表示多元时间序列的维度。
我们基于训练数据获得阈值。给定训练数据相应的决策阈值为:
其中l(ci)表示ci的损失函数之和,lavg表示平均值。如果AS(ci)>T,则将测试样本视为异常;否则视为正常。
3实验评估
在本节中,我们将评估我们模型在异常检测性能、消融研究以及点选取策略和观测数量方面的有效性。
3.1实验设置
数据集。我们在时间序列异常检测的基本数据集上进行了实验,如表1所示。1.SWaT(Secure Water Treatment)数据集来自连续运行的关键基础设施系统的51个传感器。2.PSM(Pooled Server Metrics)数据集是从eBay的多个应用服务器节点内部收集的。3.SMD(Server Machine Dataset)数据集是从一家大型互联网公司收集的为期5周的数据集。4.MSL(Mars Science Laboratory rover)和SMAP(Soil Moisture Active Passivesatellite)均为来自NASA的公共数据集,其中包含了来自航天器监控系统的异常遥测数据。
表1:数据集的描述性统计
将我们的模型DiffAD与来自五个主要类别的各种基线模型进行比较:
1.密度估计方法(例如,DAGMM、MPPCACD和LOF):这些方法通过评估时间序列数据的密度来检测异常。
2.基于聚类的方法(例如,ITAD、THOC和Deep-SVDD):这些方法将数据序列划分为聚类,并通过比较与聚类的距离来识别异常。
3.时间序列填充技术(例如,CSDI和STING):这些技术旨在基于观测值对缺失值进行填充。需要注意的是,它们主要用于数据填充而非异常检测。在这里,我们使用它们的填充误差进行时间序列异常检测。
4.基于预测的模型(例如,CL-MPPCA和LSTM):这些模型学习一个预测模型,根据当前上下文窗口中的值来预测未来若干时间步的值,并根据预测误差来识别异常。
5.基于重构的方法(例如,LSTM-VAE、BeatGAN、OmniAnomaly、InterFusion和ATransformer):这些方法通过在潜在空间中对正常训练时间序列的子序列进行编码来理解正常行为,并根据重构误差确定异常。
在实验设置上,我们使用Adam优化器,初始学习率为3*10-6,对于SMD数据集的批量大小设置为16,对于其他四个数据集设置为32。考虑到效率和有效性,我们使用了100个扩散步骤来训练扩散模型。在公式(13)中,我们经验性地将γ=0.9,在公式(18)中将λ=25,N0=1。所有实验均使用PyTorch框架,GPU为NVIDIA RTX 3090 24GB。。我们采用了以下调整策略:如果在某个连续异常片段中检测到一个时间点的异常,那么该异常片段中的所有异常都被认为是正确检测到的。这个策略得到了证实,因为在现实世界的应用中,一个异常时间点会引起警报,进而使整个片段被注意到。
对于观测点的数量,我们根据公式(11)计算的选择概率选择了具有最高选择概率的前6%的点作为MSL数据集的观测点,并选择了其他四个数据集的12%的观测点。这些观测点被用作我们设计的扩散模型的条件,用于估计屏蔽点的值。
3.2异常检测结果
我们在表2中展示了DiffAD和基本方法的异常检测结果,其中P、R和F1分别代表精确率、召回率和F1分数。从表中可以得出以下观察结果。首先,我们提出的DiffAD方法在大多数评估指标上都比基本方法表现更好。虽然CL-MPPCA的召回率略高于我们的模型,但其F1分数和精确率明显低于我们的模型。值得注意的是,在SWaT数据集上,我们的模型远远超过了最佳的基本方法,这是因为SWaT上的异常更为集中。这个结果验证了我们的方法在存在更高程度的异常集中时改善检测性能的优越性。
其次,与密度估计和基于聚类的方法相比,时间序列填充方法CSDI和STING表现相对较好。这表明插值模型是时间序列异常检测的潜在技术。令人惊讶的是,这两个领域非常接近,但很少交叉。然而,我们的模型胜过了这两种最先进的填充模型,验证了提出的多尺度学习网络和观测点选择策略在时间序列异常检测中的有效性。
最后,ATransformer是一种专门设计用于异常检测的基于Transformer的方法,超过了其他基本方法,这表明Transformer等先进的深度学习技术可以提升时间序列异常检测的性能。然而,通过引入基于扩散模型的填充技术,我们的DiffAD显著优于ATransformer,验证了提出的权重递增的条件扩散模型在异常检测中的有效性。
表2:DiffAD和基本方法在五个数据集上的性能比较
3.3消融实验
接下来我们评估DiffAD中重要组件的作用:权重递增的条件扩散扩散模型、基于S4的多尺度U-Net和基于密度比的点选择策略。我们主要研究以下模型:(1)DiffAD-Base是一个基本的扩散模型,没有这三个组件(即增加的条件权重、基于S4的多尺度U-Net和基于密度比的选择策略)。(2)DiffAD-Wei是一个具有权重递增的条件扩散模型。(3)DiffAD-MS4是一个配备了我们设计的基于S4的多尺度U-Net的模型。(4)DiffAD-CHG是一个具有基于密度比的选择策略的模型。
在表3中呈现了五个数据集上的异常检测性能。如表所示,与DiffAD-Base相比,DiffAD-Weight取得了更好的检测结果,表明我们对条件扩散引入的权重变化确实提升了异常检测性能。此外,通过考虑多尺度S4-based U-Net,DiffAD-MS4在检测准确性方面取得了显著的改进,相比DiffAD-Base。这表明多尺度网络能够捕捉长期依赖关系。此外,DiffAD-Change在一定程度上胜过DiffAD-Base,这表明选择适当的观测点作为观测是至关重要的。
表3:不同组件的作用
3.4选择策略的作用
我们的工作与典型的填充任务之间的主要区别之一在于,本工作中的观测点可以灵活选择。因此,我们研究了所选点对检测性能的影响。我们将我们设计的选择策略与以下策略进行比较:(i)随机策略:随机选择一定百分比的点作为观测点。(ii)固定间隔策略:使用固定间隔选择观测点。(iii)预测策略:模拟时间序列预测任务,通过迭代选择过去的值作为观测点来预测未来的值。除了预测策略外,其他策略(包括我们的策略)选择相同百分比的数据作为观测点,即对于MSL选择6%,对于SWaT、PSM、SMAP和SMD选择12%作为观测点。
图4展示了在五个数据集上的检测结果。首先,我们的基于密度比的选择策略在三个指标上都取得了最佳性能,这意味着我们的策略可以有效地选择更多的正常值作为观测点,并进一步辅助后续的异常检测工作。其次,预测策略在所有策略中表现最差。当历史值和未来值都包含许多正常值时,未来值可以被准确预测,即模型在异常检测方面是有效的。然而,当过去的值中占主导地位的是异常点时,未来的正常点可能被错误地标记为异常,这可能极大地恶化模型的性能。第三,随机策略和固定间隔策略获得类似的性能,因为两种方法选择的观测点中正常点的比例非常接近。在其他设置相同的情况下,选择的观测点决定了检测性能,因此使得这两种策略相似。
图5进一步绘制了来自SMD数据集的填充结果示例,以及使用不同策略选择的观测点。视觉结果支持上述分析,即我们的方法可以选择更多的正常点作为观测点,并对异常点产生较大的估计误差,从而获得更好的异常检测性能。此外,预测策略可能会将正常点(例如e3中的点)错误地标记为异常点,特别是当过去的点(例如e2中的点)以异常为主导时。
在上述实施例的基础上,如图6所示,本发明还提出一种基于权重递增的条件扩散模型的时间序列异常检测装置,包括:
基于密度比的点选择模块,用于使用基于密度比的变点得分来确定时间序列中行为突变的时间点,对于每个没有行为突变时间点的时间窗口,遍历每个点来计算其作为观测值被选中的概率,根据概率值大小对观测值进行选择,时间序列中的其余部分作为缺失值;
缺失值填充模块,用于使用扩散模型作为基本的填充框架,设计权重递增的条件扩散模型,基于观测值和权重递增的条件扩散模型对时间序列中的缺失值进行填充;
时间序列异常检测模块,用于对填充后的时间序列进行异常检测。
进一步地,所述基于密度比的点选择模块中,按照以下方式计算变点得分:
首先将时间序列数据分成h个不相交的时间窗口,并计算时间窗口k的密度比gk(x),计算公式如下:
其中,x为样本,由一组时间点组成,fk-1(x)和fk(x)分别对应于两个连续窗口k、k-1的估计概率密度,变点的得分计算如下:
其中s是窗口长度,xi表示第i个时间点的值。
进一步地,所述基于密度比的点选择模块中,按照以下方式计算没有行为突变时间点的时间窗口中每个点作为观测值被选中的概率:
其中pi表示点i被选为观测点的概率,di表示时间点i与上一个选定的观测点之间的距离,是包含第i个点的窗口的/>得分,而/>表示所有窗口的平均/>得分
其中H是所有区域中的窗口数。
进一步地,所述权重递增的条件扩散模型的表达式为:
其中xt-1表示第T-(t-1)次迭代后生成的数据,T表示最大迭代次数,s⊙(·)和分别指观测点的生成值和屏蔽点的生成值;xob为观测值,其被视为在逆向扩散迭代过程中施加的条件;h(·)为权重函数
h(t-1)=N0e-λ(t-1)
其中λ是表示指数衰减常数的超参数,N0是初始数量,z~N(0,I)表示每个生成步骤都是随机的,是一个固定常数,xt表示第T-t次迭代后产生的数据;αt=1-βtβt是一个正常数;fθ(xt,xob,t)表示神经网络去噪模型。/>
进一步地,所述时间序列异常检测模块中,通过计算各时间点的异常分数来判断是否异常:
其中ci分别表示第i个时间点的实际值和估计值,d表示多元时间序列的维度,k表示第k个时间窗口。
综上,本发明提出了一种基于权重递增的条件扩散模型的时间序列异常检测方法及装置,能够有效地缓解异常集中情况下的性能下降问题。我们还设计了一种权重递增的条件的扩散模型,通过在逆向扩散迭代中逐渐优化估计结果来发挥观测值的作用。此外,我们使用基于S4的多尺度U-Net实现了扩散模型,以捕捉时间序列数据中的长期依赖关系,并采用基于密度比的选择策略,选择更多的正常值作为观测值来估计缺失值,以实现准确的异常检测。广泛的实验证明了我们提出的方法在时间序列基准测试中优于最先进的基线模型。
以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种基于权重递增的条件扩散模型的时间序列异常检测方法,其特征在于,包括:
步骤1:使用基于密度比的变点得分来确定时间序列中行为突变的时间点,对于每个没有行为突变时间点的时间窗口,遍历每个点来计算其作为观测值被选中的概率,根据概率值大小对观测值进行选择,时间序列中的其余部分作为缺失值;
步骤2:使用扩散模型作为基本的填充框架,设计权重递增的条件扩散模型,基于观测值和权重递增的条件扩散模型对时间序列中的缺失值进行填充;
步骤3:对填充后的时间序列进行异常检测。
2.根据权利要求1所述的基于权重递增的条件扩散模型的时间序列异常检测方法,其特征在于,所述步骤1中,按照以下方式计算变点得分:
首先将时间序列数据分成h个不相交的时间窗口,并计算时间窗口k的密度比gk(x),计算公式如下:
其中,x为样本,由一组时间点组成,fk-1(x)和fk(x)分别对应于两个连续窗口k、k-1的估计概率密度,变点的得分计算如下:
其中s是窗口长度,xi表示第i个时间点的值。
3.根据权利要求1所述的基于权重递增的条件扩散模型的时间序列异常检测方法,其特征在于,所述步骤1中,按照以下方式计算没有行为突变时间点的时间窗口中每个点作为观测值被选中的概率:
其中Pi表示点i被选为观测点的概率,di表示时间点i与上一个选定的观测点之间的距离,是包含第i个点的窗口的/>得分,而/>表示所有窗口的平均/>得分
其中H是所有区域中的窗口数。
4.根据权利要求1所述的基于权重递增的条件扩散模型的时间序列异常检测方法,其特征在于,所述权重递增的条件扩散模型的表达式包括:
其中xt-1表示T-(t-1)次迭代后产生的数据,T表示最大迭代次数,s⊙(·)和分别指观测点的生成值和屏蔽点的生成值;xob为观测值,其被视为在逆向扩散迭代过程中施加的条件;h(·)为权重函数
h(t-U=W0e-λU-1)
其中λ是表示指数衰减常数的超参数,N0是初始数量,z~N(0,I)表示每个生成步骤都是随机的,是一个固定常数,xt表示第T-t次迭代后产生的数据;αt=1-βt,/>βt是一个常数;fθ(xt,xob,t)表示神经网络去噪模型。
5.根据权利要求1所述的基于权重递增的条件扩散模型的时间序列异常检测方法,其特征在于,所述步骤3中,通过计算各时间点的异常分数来判断是否异常:
其中ci分别表示第i个时间点的实际值和估计值,d表示多元时间序列的维度,k表示第k个时间窗口。
6.一种基于权重递增的条件扩散模型的时间序列异常检测装置,其特征在于,包括:
基于密度比的点选择模块,用于使用基于密度比的变点得分来确定时间序列中行为突变的时间点,对于每个没有行为突变时间点的时间窗口,遍历每个点来计算其作为观测值被选中的概率,根据概率值大小对观测值进行选择,时间序列中的其余部分作为缺失值;
缺失值填充模块,用于使用扩散模型作为基本的填充框架,设计权重递增的条件扩散模型,基于观测值和权重递增的条件扩散模型对时间序列中的缺失值进行填充;
时间序列异常检测模块,用于对填充后的时间序列进行异常检测。
7.根据权利要求6所述的基于权重递增的条件扩散模型的时间序列异常检测装置,其特征在于,所述基于密度比的点选择模块中,按照以下方式计算变点得分:
首先将时间序列数据分成h个不相交的时间窗口,并计算时间窗口k的密度比gk(x),计算公式如下:
其中,x为样本,由一组时间点组成,fk-1(x)和fk(x)分别对应于两个连续窗口k、k-1的估计概率密度,变点的得分计算如下:
其中s是窗口长度,xi表示第i个时间点的值。
8.根据权利要求6所述的基于权重递增的条件扩散模型的时间序列异常检测装置,其特征在于,所述基于密度比的点选择模块中,按照以下方式计算没有行为突变时间点的时间窗口中每个点作为观测值被选中的概率:
其中Pi表示点i被选为观测点的概率,di表示时间点i与上一个选定的观测点之间的距离,是包含第i个点的窗口的/>得分,而/>表示所有窗口的平均/>得分
其中H是所有区域中的窗口数。
9.根据权利要求6所述的基于权重递增的条件扩散模型的时间序列异常检测装置,其特征在于,所述权重递增的条件扩散模型的表达式包括:
其中xt-1表示第T-(t-1)次迭代后产生的数据,T表示最大迭代次数,s⊙(·)和分别指观测点的生成值和屏蔽点的生成值;xob为观测值,其被视为在逆向扩散迭代过程中施加的条件;h(·)为权重函数
h(t-1)=N0e-λ(t-1)
其中λ是表示指数衰减常数的超参数,N0是初始数量,z~N(0,I)表示每个生成步骤都是随机的,是一个固定常数,xt表示第T-t次迭代后产生的数据;αt=1-βt,/>βt是一个正常数;fθ(xt,xob,t)表示神经网络去噪模型。
10.根据权利要求6所述的基于权重递增的条件扩散模型的时间序列异常检测装置,其特征在于,所述时间序列异常检测模块中,通过计算各时间点的异常分数来判断是否异常:
其中ci分别表示第i个时间点的实际值和估计值,d表示多元时间序列的维度,k表示第k个时间窗口。
CN202310853533.3A 2023-07-12 2023-07-12 基于权重递增的条件扩散模型的时间序列异常检测方法及装置 Pending CN116796212A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310853533.3A CN116796212A (zh) 2023-07-12 2023-07-12 基于权重递增的条件扩散模型的时间序列异常检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310853533.3A CN116796212A (zh) 2023-07-12 2023-07-12 基于权重递增的条件扩散模型的时间序列异常检测方法及装置

Publications (1)

Publication Number Publication Date
CN116796212A true CN116796212A (zh) 2023-09-22

Family

ID=88043682

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310853533.3A Pending CN116796212A (zh) 2023-07-12 2023-07-12 基于权重递增的条件扩散模型的时间序列异常检测方法及装置

Country Status (1)

Country Link
CN (1) CN116796212A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117076934A (zh) * 2023-10-16 2023-11-17 罗普特科技集团股份有限公司 一种基于物联网的监控数据采集及分析方法
CN117312777A (zh) * 2023-11-28 2023-12-29 北京航空航天大学 基于扩散模型的工业设备时间序列生成方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117076934A (zh) * 2023-10-16 2023-11-17 罗普特科技集团股份有限公司 一种基于物联网的监控数据采集及分析方法
CN117076934B (zh) * 2023-10-16 2023-12-26 罗普特科技集团股份有限公司 一种基于物联网的监控数据采集及分析方法
CN117312777A (zh) * 2023-11-28 2023-12-29 北京航空航天大学 基于扩散模型的工业设备时间序列生成方法及装置
CN117312777B (zh) * 2023-11-28 2024-02-20 北京航空航天大学 基于扩散模型的工业设备时间序列生成方法及装置

Similar Documents

Publication Publication Date Title
CN116796212A (zh) 基于权重递增的条件扩散模型的时间序列异常检测方法及装置
Ruggieri et al. An exact approach to Bayesian sequential change point detection
US8468161B2 (en) Determining a seasonal effect in temporal data
Ben-Gal et al. Context-based statistical process control: A monitoring procedure for state-dependent processes
CN112508243A (zh) 电力信息系统多故障预测网络模型的训练方法及装置
CN114580260B (zh) 一种基于机器学习和概率理论的滑坡区间预测方法
WO2013020226A1 (en) Advanced statistical detection of emerging trends
CN114945924A (zh) 用于训练机器学习模型的多模态时间序列数据的增强
Popescu Detection and diagnosis of model parameter and noise variance changes with application in seismic signal processing
Miyaguchi et al. Online detection of continuous changes in stochastic processes
CN113887119A (zh) 一种基于sarima-lstm的河流水质预测方法
CN116627342A (zh) 一种固态硬盘剩余使用寿命预测方法、装置、设备及介质
Falini et al. Spline based Hermite quasi-interpolation for univariate time series
CN116842520A (zh) 基于检测模型的异常感知方法、装置、设备及介质
Tran et al. Data reformation–A novel data processing technique enhancing machine learning applicability for predicting streamflow extremes
CN116226336A (zh) 基于贝叶斯网的移动基站投诉根因分析方法
CN106814608B (zh) 基于后验概率分布的预测控制自适应滤波算法
Tian et al. Statistical modeling and dependence analysis for tide level via multivariate extreme value distribution method
CN112418534B (zh) 揽件量预测方法及装置、电子设备、计算机可读存储介质
Yang et al. Accurate set-based state estimation for nonlinear discrete-time systems using differential inequalities with model redundancy
Tinawi Machine learning for time series anomaly detection
CN110738414B (zh) 一种风险预测方法和装置及计算机可读存储介质
WO2010001966A1 (ja) 時系列データ処理装置およびその方法とプログラム
Tao et al. A new control chart based on the loess smooth applied to information system quality performance
CN113934714A (zh) 一种基于概率密度聚类的数据清洗方法及装置

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