CN113114529A - 基于条件变分自动编码器的kpi异常检测方法和装置 - Google Patents

基于条件变分自动编码器的kpi异常检测方法和装置 Download PDF

Info

Publication number
CN113114529A
CN113114529A CN202110319752.4A CN202110319752A CN113114529A CN 113114529 A CN113114529 A CN 113114529A CN 202110319752 A CN202110319752 A CN 202110319752A CN 113114529 A CN113114529 A CN 113114529A
Authority
CN
China
Prior art keywords
data
sliding window
kpi
encoder
time
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.)
Granted
Application number
CN202110319752.4A
Other languages
English (en)
Other versions
CN113114529B (zh
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.)
Tsinghua University
Original Assignee
Tsinghua 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 Tsinghua University filed Critical Tsinghua University
Priority to CN202110319752.4A priority Critical patent/CN113114529B/zh
Publication of CN113114529A publication Critical patent/CN113114529A/zh
Application granted granted Critical
Publication of CN113114529B publication Critical patent/CN113114529B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Environmental & Geological Engineering (AREA)
  • Medical Informatics (AREA)
  • Complex Calculations (AREA)

Abstract

本申请提出了一种基于条件变分自动编码器的关键性能指标KPI异常检测方法,涉及互联网服务异常检测技术领域,其中,该方法包括:获取关键性能指标KPI数据,所述KPI数据包括待检测数据和历史数据;对所述KPI数据进行预处理,获得滑动窗口和所述滑动窗口对应的时间条件向量;对滑动窗口进行缺失点填补,获得新的滑动窗口;根据所述新的滑动窗口和所述滑动窗口对应的时间条件向量,通过预设的条件自动变分编码器CVAE模型计算所述新的滑动窗口的负重构概率,将所述负重构概率作为异常分数;根据所述异常分数确定所述KPI数据是否异常。采用上述方案的本发明在保持其性能高、不需要选择算法和精调参数、不依赖标注、时间开销小的优势上,进一步提升了稳健性。

Description

基于条件变分自动编码器的KPI异常检测方法和装置
技术领域
本申请涉及互联网服务异常检测技术领域,尤其涉及一种基于条件变分自动编码器的关键性能指标KPI异常检测方法方法和装置。
背景技术
为了保证互联网服务的可用性,关键性能指标(key performance indicator,KPI)被用来监控服务的状态,例如每分钟的页面访问数,在线用户数和订单数目等。在大型的互联网服务中,可能有多达数万甚至数十万的KPI需要监控。为了及时检测其中的异常,从而及时处理故障,自动化的KPI异常检测算法是必需的。
KPI通常是周期性采集的,例如每一分钟或者每10秒钟采集一次。因此KPI是一个时间序列,它包含一系列数据点,每个数据点对应一个时间点。由于一些技术问题或者业务问题,有的时间点可能没有采集到对应的KPI值,我们称这样的KPI数据点为缺失点。但是这类数据点是可以直接和正常点区分开的,因此本文中说的异常点不包括这样的缺失点,而非正常点则包括异常点和缺失点。我们将异常点定义为不符合KPI的正常模式的点。
现有的技术可以分为几类:
传统统计方法,通过对数据的正常模式做出某种统计假设,并基于历史数据估计对应的参数,从而建模数据的正常模式;
有监督集成方法。通过有监督的机器学习方法对传统统计方法的效果进行集成;
传统机器学习方法。通过传统机器学习方法(非深度学习的方法)直接检测KPI的异常;
序列深度学习方法。将KPI作为序列(长度不固定)进行处理的深度学习方法;
非序列深度学习方法。将KPI通过滑动窗口等方法变成向量(长度固定)再训练深度学习模型的方法。例如Donut,Donut使用VAE模型对滑动窗口建模,将数据点在滑动窗口最后一个点的位置时的重建概率作为异常分数。
现在的技术需要人工对不同类型KPI选择合适的算法和调节合适的参数,传统统计方法因为对KPI的正常模式有一定的统计假设,因此往往只能适用于一部分类型的KPI,同时有些传统机器学习法适用的KPI类型也有局限,都需要精调参数;依赖人工标注,因为KPI数量巨大,用人工标注历史KPI数据中的异常训练有监督(监督指用于建模的历史数据中有每个数据点是正常还是异常的标注)算法是困难的,所以有监督集成方法,但是一些有监督机器学习方法都不实用;异常检测性能差,传统统计方法和传统的机器学习方法因为适用性的问题,对KPI的异常检测效果可能会较差;时间开销大,部分传统统计方法耗时很长,有监督集成算法如果集成了这类方法,耗时也会很长;稳健性差,深度学习算法因为模型复杂,在部分特殊的KPI曲线下表现会较差。
本项目聚焦于业务相关的KPI(与机器资源型KPI相对),例如页面访问数,在线用户数和订单数等。这类KPI因为直接受到用户行为的影响,因此表现出强烈的周期性。但是这些KPI在每个周期不是完全相同的,因为每天的用户行为也不会完全一致,我们称这种现象为局部差异。除了周期性和局部差异之外,KPI还包含了随机噪声。因此KPI的正常模式包括1)带局部差异的周期性2)随机噪声。
因为KPI数量巨大,用人工标注历史KPI数据中的异常训练有监督(监督指用于建模的历史数据中有每个数据点是正常还是异常的标注)算法是困难的。因此我们需要无监督的异常检测算法。
综上,我们要提出一个无监督的KPI异常检测算法。异常指的是不符合KPI的正常模式的点,不包括缺失点。若将KPI形式化地描述为序列(v1,v2,…,vn,),则KPI异常检测问题可以描述为:给定t时刻之前的一段KPI的历史数据(vt-w,vt-w+1,…,vt-1,),为t时刻的值vt计算其异常程度γt
深度学习算法Donut已经解决了除了稳健性之外的前面所有传统方法的问题,我们主要是基于Donut进一步解决稳健性的问题,主要手段是引入时间信息。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的第一个目的在于提出一种基于条件变分自动编码器的关键性能指标KPI异常检测方法,采用上述方案的本发明在保持其性能高、不需要选择算法和精调参数、不依赖标注、时间开销小的优势上,进一步提升了稳健性。
本申请的第二个目的在于提出一种计算机设备。
本申请的第三个目的在于提出一种非临时性计算机可读存储介质。
为达上述目的,本申请第一方面实施例提出了一种基于条件变分自动编码器的关键性能指标KPI异常检测方法。
本申请实施例的基于条件变分自动编码器的关键性能指标KPI异常检测方法,通过获取关键性能指标KPI数据,所述KPI数据包括待检测数据和历史数据;对所述待检测数据进行处理,获得滑动窗口和所述滑动窗口对应的时间条件向量;根据所述滑动窗口和所述滑动窗口对应的时间条件向量,通过预设的条件自动变分编码器CVAE模型计算所述新的滑动窗口的负重构概率,将所述负重构概率作为异常分数;根据所述异常分数确定所述KPI数据是否异常,所述异常分数越大,KPI数据越异常。采用上述方案的本发明在保持其性能高、不需要选择算法和精调参数、不依赖标注、时间开销小的优势上,进一步提升了稳健性。
进一步地,在本申请的一个实施例中,所述对所述KPI数据进行预处理,包括:
缺失值填补,采用马尔可夫链蒙特卡洛方法填补缺失点,具体做法为在每一步迭代的过程中,通过已知部分推测缺失部分的值,并用推测出来的值替换掉缺失部分的现有值;
数据标准化,将填补缺失值后的KPI数据进行零均值标准化,具体做法是首先计算数据的均值μ和标准差σ,然后将每一个数据点v放缩为
Figure BDA0002992330880000031
其中μ是KPI上所有历史数据点的均值,σ是KPI上所有历史数据点的标准差v是当前在处理的新的数据点。
取滑动窗口,将数据标准化后的长度不定的KPI数据转化成一系列固定长度为w的向量作为滑动窗口,同时记录每个滑动窗口的时间条件向量。
进一步地,在本申请的一个实施例中,对所述历史数据进行所述数据预处理后生成新的数据,将所述新的数据作为输入数据,采用蒙特卡洛积分法实现修改信息下界M-ELBO和人工注入异常,完成对所述条件自动变分编码器CVAE模型的训练。
进一步地,在本申请的一个实施例中,所述对所述历史数据进行数据预处理包括:
将所述历史数据中的缺失值填补为0,得到时间间隔总是固定值的时间序列;
对所述时间序列进行所述零均值标准化,具体做法是首先计算数据的均值μ和标准差σ,然后将每一个数据点v放缩为
Figure BDA0002992330880000032
其中μ是KPI上所有历史数据点的均值,σ是KPI上所有历史数据点的标准差v是当前在处理的新的数据点;
对零均值标准化后的数据取滑动窗口,将标准化后的长度不定的KPI数据转化成一系列固定长度为w的向量作为滑动窗口,同时记录每个滑动窗口的时间条件向量。
进一步地,在本申请的一个实施例中,所述条件自动变分编码器CVAE模型包括两部分:
编码器,将输入滑动窗口x和对应的时间y编码为维度更低的隐变量z,其中y是这个时间窗口x对应的最后一个点的时间的编码,表示为qφ(z|x,y),表示给定x和y的情况下,z服从的条件分布,其中φ表示编码器网络的参数;
解码器,通过隐变量z和时间编码y重建得到滑动窗口x,表示为pθ(x|z,y),表示在给定z和y的情况下x的分布,其中θ表示解码器的参数。
进一步地,在本申请的一个实施例中,所述蒙特卡洛积分法表示为:
Figure BDA0002992330880000033
其中
Figure BDA0002992330880000041
为异常分数,z为所述隐变量,qφ(z|x,y)为所述编码器,pθ(x|z,y)为所述解码器,X表示所述整个训练数据集,Y表示所有时间点。
进一步地,在本申请的一个实施例中,所述修改信息下界M-ELBO表示为:
Figure BDA0002992330880000042
其中qφ(z|x,y)为所述编码器,pθ(x|z,y)为所述解码器,X表示所述整个训练数据集,Y表示所有时间点,z为所述隐变量,L(X,Y)为信息下界ELBO,αi表示滑动窗口x中第i个点是否是异常的,是异常则为0,否则为1,不知道是不是异常也是1,β表示x中正常数据点的比例,
Figure BDA0002992330880000043
W表示滑动窗口X的长度。
进一步地,在本申请的一个实施例中,所述人工注入异常为人工在所述KPI数据中选取数据点设置为缺失值。
为达上述目的,本发明第二方面实施例提出了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上所述的基于条件变分自动编码器的关键性能指标KPI异常检测方法。
为了实现上述目的,本发明第四方面实施例提出了一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器被执行时,使得能够执行上述基于条件变分自动编码器的关键性能指标KPI异常检测方法。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例一所提供的一种基于条件变分自动编码器的关键性能指标KPI异常检测方法的流程示意图;
图2为本申请实施例的长度为3的滑动窗口示意图;
图3为本申请实施例的条件变分自动编码器模型的网络结构;
图4为本申请实施例的整体框架图;
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的基于条件变分自动编码器的关键性能指标KPI异常检测方法和装置。
图1为本申请实施例一所提供的一种基于条件变分自动编码器的关键性能指标KPI异常检测方法的流程示意图。
如图1所示,该基于条件变分自动编码器的关键性能指标KPI异常检测方法包括以下步骤:
步骤101,获取关键性能指标KPI数据,所述KPI数据包括待检测数据和历史数据;
步骤102,对所述待检测数据进行处理,获得滑动窗口和所述滑动窗口对应的时间条件向量;
步骤103,根据所述滑动窗口和所述滑动窗口对应的时间条件向量,通过预设的条件自动变分编码器CVAE模型计算所述新的滑动窗口的负重构概率,将所述负重构概率作为异常分数;
步骤104,根据所述异常分数确定所述KPI数据是否异常。
本申请实施例的基于条件变分自动编码器的关键性能指标KPI异常检测方法,通过以下步骤实现:
获取关键性能指标KPI数据,所述KPI数据包括待检测数据和历史数据;
对所述KPI数据进行处理,获得滑动窗口和所述滑动窗口对应的时间条件向量;
根据所述滑动窗口和所述滑动窗口对应的时间条件向量,通过预设的条件自动变分编码器CVAE模型计算所述新的滑动窗口的负重构概率,将所述负重构概率作为异常分数;
根据所述异常分数确定所述KPI数据是否异常,所述异常分数越大,KPI数据越异常。
由此,采用上述方案的本发明在保持其性能高、不需要选择算法和精调参数、不依赖标注、时间开销小的优势上,进一步提升了稳健性,主要是通过两点来实现,引入了时间信息;通过dropout层控制了过拟合。
进一步地,在本申请实施例中,所述对所述待检测数据进行预处理,数据预处理目的是将KPI数据预处理成模型能接受的形式,包括:
缺失值填补,所述缺失点填补指采用马尔可夫链蒙特卡洛方法填补滑动窗口的缺失点,具体做法为在每一步迭代的过程中,通过已知部分推测缺失部分的值,并用推测出来的值替换掉缺失部分的现有值。异常检测指的是对新来的KPI数据点判断其异常。记当前新来的数据点为vt。经过数据预处理之后,得到了填充缺失值和标准化之后的滑动窗口x=(vt-W+1,vt-W+2,…,vt)和其对应的时间条件向量y,窗口的长度仍然是w,最后一个数据点是vt,但是滑动窗口x的历史数据中可能有非正常点,例如缺失点,或者历史异常点。这些点的存在为向量x引入了噪声,因而影响了异常检测的效果。所以我们需要去掉x中的历史数据中的非正常点的影响。因为缺失点总是知道的,而异常点不确定,所以我们的具体做法是通过马尔可夫链蒙特卡洛(MCMC,Markov Chain Monte Carlo)方法填补x中的缺失点。MCMC方法是一个迭代的过程,在每一步迭代过程中,我们通过已知部分推测缺失部分的值,并用推测出来的值替换掉缺失部分的现有值。并进行多次迭代。记第i次迭代的输入向量为x(i),其中正常部分和异常部分分别为xo和xm (i)。我们通过模型重构x(i),得到x′(i),其中的缺失部分的值
Figure BDA0002992330880000061
用来替换xm (i),得到
Figure BDA0002992330880000062
数据标准化,因为不同KPI的取值范围有很大变化,通过标准化可以使得模型能够适应各种不同取值范围的KPI,并且有利于模型的数值计算。选择使用零均值标准化,将填补缺失值后的KPI数据进行零均值标准化,具体做法是首先计算数据的均值μ和标准差σ,然后将每一个数据点v放缩为
Figure BDA0002992330880000063
其中μ是KPI上所有历史数据点的均值,σ是KPI上所有历史数据点的标准差v是当前在处理的新的数据点。
取滑动窗口,将数据标准化后的长度不定的KPI数据转化成一系列固定长度为w的向量作为滑动窗口,同时记录每个滑动窗口的时间条件向量,我们取长度w=3的滑动窗口,则如图2所示。
进一步地,在本申请实施例中,对所述历史数据进行所述数据预处理后生成新的数据,将所述新的数据作为输入数据,采用蒙特卡洛积分法实现修改信息下界M-ELBO和人工注入异常,完成对所述条件自动变分编码器CVAE模型的训练,条件自动变分编码器CVAE模型的结构如图3所示,CVAE模型整体度量了给定时间信息y时滑动窗口x的概率分布p(x|y),即给定时间的时候对应的KPI滑动窗口应该是什么样子。
进一步地,在本申请实施例中,所述对所述历史数据进行数据预处理包括:
将KPI数据缺失值填补为0,得到时间间隔总是固定值的时间序列,选择将缺失值填补为0是因为业务KPI总是非负数,0既是合法的,又和正常值有明显区别;
对所述时间序列进行所述零均值标准化,具体做法是首先计算数据的均值μ和标准差σ,然后将每一个数据点v放缩为
Figure BDA0002992330880000064
其中μ是KPI上所有历史数据点的均值,σ是KPI上所有历史数据点的标准差v是当前在处理的新的数据点;
对零均值标准化后的数据取滑动窗口,将标准化后的长度不定的KPI数据转化成一系列固定长度为w的向量作为滑动窗口,同时记录每个滑动窗口的时间条件向量。
进一步地,在本申请实施例中,所述条件自动变分编码器CVAE模型包括两部分:
左半部分是编码器,将输入滑动窗口x和对应的时间y编码为维度更低的隐变量z,其中y是这个时间窗口x对应的最后一个点的时间的编码,具体的编码方式为(年,月,日,小时,分钟,星期),编码的目标z是隐变量,表示这个滑动窗口对应的内在的状态,它的分布是模型学习的目标之一。
编码器可以表示为qφ(z|x,y),即表示给定x和y的情况下,z服从的条件分布,其中φ表示编码器网络的参数。我们假设qφ(z|x,y)是服从高斯分布的,即
Figure BDA0002992330880000071
其中参数μz和σz是通过共享的神经网络(全连接层,即不同层的每一个单元之间都有连接)得到的;
右半部分是解码器,通过隐变量z和时间编码y重建得到滑动窗口x,表示为pθ(x|z,y),即表示在给定z和y的情况下x的分布,其中θ表示解码器的参数。
我们假设pθ(x|z,y)是服从高斯分布的,即
Figure BDA0002992330880000072
其中μx和σx是通过共享的神经网络(全连接层)得到的。
我们采用的网络结构和相关工作(Donut)的最大不同在于y的引入。通过引入时间信息,我们的模型能够针对不同时间段的KPI的正常模式进行分别的分析。例如,同一个KPI可能在营业时间和非营业时间有不同的正常模式,那么Donut就不能分别分析营业时间内和营业时间外的KPI正常模式。这导致的问题就是如果一个滑动窗口服从营业时间外的模式,但是它出现在营业时间内,那么它应该是异常的,但是Donut无法分析这样的异常。
为了使得保证模型仍然能学习到和滑动窗口的形状信息而不是过拟合到时间信息上,我们在输入时间信息y之前增加了dropout层。Dropout层通过在训练时随机去掉一部分单元的信息,等效地将一个模型转化为许多个更小的模型的平均,从而增强了模型的稳健性,避免了过拟合。
CVAE模型整体度量了给定y时x的概率分布p(x),即给定时间的时候对应的KPI滑动窗口应该是什么样子。
因此模型的训练目标是最大化在训练集上的p(X|Y)(X表示整个训练数据集,Y表示所有时间点)。
进一步地,在本申请实施例中,所述蒙特卡洛积分法表示为:
Figure BDA0002992330880000073
其中
Figure BDA0002992330880000074
为异常分数,z为所述隐变量,qφ(z|x,y)为所述编码器,pθ(x|z,y)为所述解码器,X表示所述整个训练数据集,Y表示所有时间点。
进一步地,在本申请实施例中,,所述修改信息下界M-ELBO表示为:
Figure BDA0002992330880000075
其中qφ(z|x,y)为所述编码器,pθ(x|z,y)为所述解码器,X表示所述整个训练数据集,Y表示所有时间点,z为所述隐变量,L(X,Y)为信息下界ELBO,αi表示滑动窗口x中第i个点是否是异常的,是异常则为0,否则为1,不知道是不是异常也是1,β表示x中正常数据点的比例,
Figure BDA0002992330880000081
W表示滑动窗口X的长度。
我们通过M-ELBO(修改的信息下界,modified evidence lower bound)作为训练目标。它基于ELBO,ELBO是p(X|Y)的变分下界(p(X|Y)是无法高效地直接计算的)。因为p(X|Y)实际上就是数据集中每一个元素的概率的乘积,为表达简便我们只考虑一个元素,即p(x|y)。x这里是X中的一个滑动窗口,xi表示这个滑动窗口中的第i个位置的取值。
Figure BDA0002992330880000082
L(X,Y)就是ELBO,它是logp(X|Y)的下界。期望可以通过蒙特卡洛法求解,即多次采样求平均。第一项logpθ(xi|z,yi)表示输入时间窗口是否符合重构出来的模式,第二项表示编码器得到的z的分布是否符合先验分布p(z)。这里我们假设p(z)是标准高斯分布,但是理论上p(z)取什么都一样,因为这一项并没有参数。第三项是编码器得到的z的分布的熵,它表示编码器得到的z的分布应该尽量分散,而不是集中在少数点(可以避免在训练数据集上过拟合)。
考虑到x中存在的非正常点,我们对ELBO做部分修改,在训练目标中过滤掉非正常点的影响。记αi=1表示xi为非正常,αi=0表示xi为正常。记β为所有数据点中非正常的比例。那么M-EBLO为:
Figure BDA0002992330880000083
通过M-ELBO,我们的模型能学习到如何忽略输入数据中的非正常点。
因为我们是无监督算法,所以这里能输入的标注α和β一般只有缺失点,异常点在训练数据中我们是不知道的。但是这已经足以让模型学习到足够的信息了。因为自动编码器通过降维能够学习到x的最主要的信息。
进一步地,在本申请实施例中,所述人工注入异常为人工在所述KPI数据中选取数据点设置为缺失值,为了加强M-ELBO的效果,我们在训练数据中人工注入异常。即,我们在每一次迭代开始前,人工在数据集中选取一部分数据点,设置为缺失值,然后继续训练。通过缺失点注入,我们有了更多的训练数据让模型学习如何才非正常数据中提取正常模式。
为了实现上述实施例,本发明还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现上述施例所述的基于条件变分自动编码器的关键性能指标KPI异常检测方法。
为了实现上述实施例,本发明还提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例的基于条件变分自动编码器的关键性能指标KPI异常检测方法。
本发明和Donut的不同在于引入了时间信息y。通过时间信息y,本发明在检测时比Donut更加好地应对历史数据点中存在的缺失或者异常。例如滑动窗口x中的历史数据中存在大量的缺失或者异常,那么这些非正常点的存在就为判断x的正常模式带来了很多噪声。但是y总是准确的,所以y为确定x的正常模式提供了总是正确的辅助信息,因此提高了模型的检测的稳健性,本方案的整体框架如图4所示,包括模型训练和异常检测。
通过使用深度学习模型CVAE,让一个算法能够适应多种多样的业务KPI,并且不需要对每类不同的KPI精调参数。
本方案是无监督方法,不需要使用历史数据中的异常标注即可达到和有监督集成方法相似的优秀检测效果。本发明能够从数据中无监督地学习到正常模式的关键点在于:自动编码器的降维带来的效应、M-ELBO。
本方案是非序列的检测方法,运行速度快,并且方便并行化。
本方案通过引入时间信息使得模型更加稳健,解决了之前的深度学习方法中存在的不稳健的问题。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种基于条件变分自动编码器的关键性能指标KPI异常检测方法,其特征在于,包括以下步骤:
获取关键性能指标KPI数据,所述KPI数据包括待检测数据和历史数据;
对所述待检测数据进行处理,获得滑动窗口和所述滑动窗口对应的时间条件向量;
根据所述滑动窗口和所述滑动窗口对应的时间条件向量,通过预设的条件自动变分编码器CVAE模型计算所述新的滑动窗口的负重构概率,将所述负重构概率作为异常分数;
根据所述异常分数确定所述KPI数据是否异常,所述异常分数越大,KPI数据越异常。
2.如权利要求1所述的方法,其特征在于,所述对所述待检测数据进行处理,包括:
缺失值填补,采用马尔可夫链蒙特卡洛方法填补缺失点,具体做法为在每一步迭代的过程中,通过已知部分推测缺失部分的值,并用推测出来的值替换掉缺失部分的现有值;
数据标准化,将填补缺失值后的KPI数据进行零均值标准化,具体做法是首先计算数据的均值μ和标准差σ,然后将每一个数据点v放缩为
Figure FDA0002992330870000011
其中μ是KPI上所有历史数据点的均值,σ是KPI上所有历史数据点的标准差v是当前在处理的新的数据点;
取滑动窗口,将数据标准化后的长度不定的KPI数据转化成一系列固定长度为w的向量作为滑动窗口,同时记录每个滑动窗口的时间条件向量。
3.如权利要求1所述的方法,其特征在于,对所述历史数据进行数据预处理后生成新的数据,将所述新的数据作为输入数据,采用蒙特卡洛积分法实现修改的信息下界M-ELBO和人工注入异常,完成对所述条件自动变分编码器CVAE模型的训练。
4.如权利要求3所述的方法,其特征在于,所述对所述历史数据进行数据预处理包括:
将所述历史数据中的缺失值填补为0,得到时间间隔总是固定值的时间序列;
对所述时间序列进行所述零均值标准化,具体做法是首先计算数据的均值μ和标准差σ,然后将每一个数据点v放缩为
Figure FDA0002992330870000012
其中μ是KPI上所有历史数据点的均值,σ是KPI上所有历史数据点的标准差v是当前在处理的新的数据点;
对零均值标准化后的数据取滑动窗口,将标准化后的长度不定的KPI数据转化成一系列固定长度为w的向量作为滑动窗口,同时记录每个滑动窗口的时间条件向量。
5.如权利要求3所述的方法,其特征在于,所述条件自动变分编码器CVAE模型包括两部分:
编码器,将输入滑动窗口x和对应的时间y编码为维度更低的隐变量z,其中y是这个时间窗口x对应的最后一个点的时间的编码,表示为qφ(z|x,y),表示给定x和y的情况下,z服从的条件分布,其中φ表示编码器网络的参数;
解码器,通过隐变量z和时间编码y重建得到滑动窗口x,表示为pθ(x|z,y),表示在给定z和y的情况下x的分布,其中θ表示解码器的参数。
6.如权利要求3所述的方法,其特征在于,所述蒙特卡洛积分法表示为:
Figure FDA0002992330870000021
其中
Figure FDA0002992330870000022
为异常分数,z为所述隐变量,qφ(z|x,y)为所述编码器,pθ(x|z,y)为所述解码器,X表示所述整个训练数据集,Y表示所有时间点。
7.如权利要求3所述的方法,其特征在于,所述修改的信息下界M-ELBO表示为:
Figure FDA0002992330870000023
其中qφ(z|x,y)为所述编码器,pθ(x|z,y)为所述解码器,X表示所述整个训练数据集,Y表示所有时间点,z为所述隐变量,L(X,Y)为信息下界ELBO,αi表示滑动窗口x中第i个点是否是异常的,是异常则为0,否则为1,不知道是不是异常也是1,β表示x中正常数据点的比例,
Figure FDA0002992330870000024
W表示滑动窗口X的长度。
8.如权利要求3所述的方法,其特征在于,所述人工注入异常为人工在所述KPI数据中选取数据点设置为缺失值。
9.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-8中任一所述的方法。
10.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8中任一所述的方法。
CN202110319752.4A 2021-03-25 2021-03-25 基于条件变分自动编码器的kpi异常检测方法、装置和计算机存储介质 Active CN113114529B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110319752.4A CN113114529B (zh) 2021-03-25 2021-03-25 基于条件变分自动编码器的kpi异常检测方法、装置和计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110319752.4A CN113114529B (zh) 2021-03-25 2021-03-25 基于条件变分自动编码器的kpi异常检测方法、装置和计算机存储介质

Publications (2)

Publication Number Publication Date
CN113114529A true CN113114529A (zh) 2021-07-13
CN113114529B CN113114529B (zh) 2022-05-24

Family

ID=76710906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110319752.4A Active CN113114529B (zh) 2021-03-25 2021-03-25 基于条件变分自动编码器的kpi异常检测方法、装置和计算机存储介质

Country Status (1)

Country Link
CN (1) CN113114529B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113537352A (zh) * 2021-07-15 2021-10-22 杭州鲁尔物联科技有限公司 传感器异常值监测方法、装置、计算机设备及存储介质
CN114118201A (zh) * 2021-09-27 2022-03-01 南开大学 基于主动学习的医疗设备性能指标检测方法和装置
CN115174221A (zh) * 2022-07-06 2022-10-11 哈尔滨工业大学(威海) 一种工控ot网络多目标渗透测试方法及系统
CN117793764A (zh) * 2023-12-27 2024-03-29 广东宜通衡睿科技有限公司 5g专网软探针拨测数据完整性校验和补全方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9128995B1 (en) * 2014-10-09 2015-09-08 Splunk, Inc. Defining a graphical visualization along a time-based graph lane using key performance indicators derived from machine data
US20200092159A1 (en) * 2018-09-14 2020-03-19 Cisco Technology, Inc. Threshold selection for kpi candidacy in root cause analysis of network issues
CN111858231A (zh) * 2020-05-11 2020-10-30 北京必示科技有限公司 一种基于运维监控的单指标异常检测方法
CN112131272A (zh) * 2020-09-22 2020-12-25 平安科技(深圳)有限公司 多元kpi时间序列的检测方法、装置、设备及存储介质
CN112148577A (zh) * 2020-10-09 2020-12-29 平安科技(深圳)有限公司 数据异常检测方法、装置、电子设备及存储介质
CN112329865A (zh) * 2020-11-09 2021-02-05 平安科技(深圳)有限公司 基于自编码器的数据异常识别方法、装置和计算机设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9128995B1 (en) * 2014-10-09 2015-09-08 Splunk, Inc. Defining a graphical visualization along a time-based graph lane using key performance indicators derived from machine data
US20200092159A1 (en) * 2018-09-14 2020-03-19 Cisco Technology, Inc. Threshold selection for kpi candidacy in root cause analysis of network issues
CN111858231A (zh) * 2020-05-11 2020-10-30 北京必示科技有限公司 一种基于运维监控的单指标异常检测方法
CN112131272A (zh) * 2020-09-22 2020-12-25 平安科技(深圳)有限公司 多元kpi时间序列的检测方法、装置、设备及存储介质
CN112148577A (zh) * 2020-10-09 2020-12-29 平安科技(深圳)有限公司 数据异常检测方法、装置、电子设备及存储介质
CN112329865A (zh) * 2020-11-09 2021-02-05 平安科技(深圳)有限公司 基于自编码器的数据异常识别方法、装置和计算机设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张圣林 等: "基于深度学习的无监督KPI异常检测", 《数据与计算发展前沿》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113537352A (zh) * 2021-07-15 2021-10-22 杭州鲁尔物联科技有限公司 传感器异常值监测方法、装置、计算机设备及存储介质
CN113537352B (zh) * 2021-07-15 2023-08-11 杭州鲁尔物联科技有限公司 传感器异常值监测方法、装置、计算机设备及存储介质
CN114118201A (zh) * 2021-09-27 2022-03-01 南开大学 基于主动学习的医疗设备性能指标检测方法和装置
CN115174221A (zh) * 2022-07-06 2022-10-11 哈尔滨工业大学(威海) 一种工控ot网络多目标渗透测试方法及系统
CN115174221B (zh) * 2022-07-06 2023-07-21 哈尔滨工业大学(威海) 一种工控ot网络多目标渗透测试方法及系统
CN117793764A (zh) * 2023-12-27 2024-03-29 广东宜通衡睿科技有限公司 5g专网软探针拨测数据完整性校验和补全方法及系统

Also Published As

Publication number Publication date
CN113114529B (zh) 2022-05-24

Similar Documents

Publication Publication Date Title
CN113114529B (zh) 基于条件变分自动编码器的kpi异常检测方法、装置和计算机存储介质
CN109978379B (zh) 时序数据异常检测方法、装置、计算机设备和存储介质
CN111967571B (zh) 一种基于mhma的异常检测方法和设备
CN112131272A (zh) 多元kpi时间序列的检测方法、装置、设备及存储介质
CN113344295A (zh) 基于工业大数据的设备剩余寿命预测方法、系统及介质
CN112766342A (zh) 一种电气设备的异常检测方法
CN113516174B (zh) 调用链异常检测方法、计算机设备以及可读存储介质
CN114297036A (zh) 数据处理方法、装置、电子设备及可读存储介质
CN113568819A (zh) 异常数据检测方法、装置、计算机可读介质及电子设备
CN112416662A (zh) 多时间序列数据异常检测方法与装置
CN114692950A (zh) 风电功率预测方法
CN114740388A (zh) 一种基于改进tcn的锂电池剩余寿命状态评估方法
CN114816901A (zh) 通过ai的方式对软件变更后的健康状态进行评估的方法
CN115903741A (zh) 一种工业控制系统数据异常检测方法
CN117131110B (zh) 一种基于关联分析的容性设备介质损耗监测方法及系统
CN116502164A (zh) 基于对抗训练和频域改良自注意力机制的多维时序数据异常检测方法、设备及介质
CN113723861A (zh) 异常用电行为检测方法、装置、计算机设备和存储介质
CN116993537A (zh) 一种基于串行gru自编码器的电力负荷异常检测方法及系统
CN113485863B (zh) 基于改进生成对抗网络生成异构不平衡故障样本的方法
Ikhlasse et al. Multimodal cloud resources utilization forecasting using a Bidirectional Gated Recurrent Unit predictor based on a power efficient Stacked denoising Autoencoders
CN116522070A (zh) 一种机械零部件无监督智能故障诊断方法及系统
WO2021006779A1 (en) Network status classification
CN113435927A (zh) 用户意愿预测方法、装置、设备和存储介质
CN111611117A (zh) 硬盘故障的预测方法、装置、设备及计算机可读存储介质
CN112987695A (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
GR01 Patent grant
GR01 Patent grant