CN113378900B - 一种基于聚类的大规模不规则kpi时间序列的异常检测方法 - Google Patents
一种基于聚类的大规模不规则kpi时间序列的异常检测方法 Download PDFInfo
- Publication number
- CN113378900B CN113378900B CN202110598652.XA CN202110598652A CN113378900B CN 113378900 B CN113378900 B CN 113378900B CN 202110598652 A CN202110598652 A CN 202110598652A CN 113378900 B CN113378900 B CN 113378900B
- Authority
- CN
- China
- Prior art keywords
- clustering
- kpi
- filling
- iteration
- rule
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于聚类的大规模不规则KPI时间序列的异常检测方法,通过对大规模不规则KPI进行预处理,将多个长度不一的KPI,组成含有全部KPI元素的规则KPI填充矩阵,再对该规则KPI填充矩阵进行聚类,获得多个子聚类。若聚类中心点之间的距离不小于预设阈值且迭代次数不大于预设阈值,则进行迭代,对每个子聚类中的KPI进行MF填充产生子规则KPI填充矩阵,并使用全部子规则KPI填充矩阵合成规则KPI填充矩阵作为下一次聚类的输入,实现聚类——填充——聚类——填充的循环体系;若聚类中心点之间的距离小于预设阈值或迭代次数大于预设阈值,则认为整个循环迭代完成,大规模不规则KPI被划分为若干聚类簇,在每个聚类簇中应用相同的异常检测模型,可以有效的降低开销,实现高效率的异常检测。
Description
技术领域
本发明涉及计算机网络运行维护技术领域,特别涉及一种基于聚类的大规模不规则KPI时间序列的异常检测方法。
背景技术
大型计算机、通信网络环境下,为了保证向海量用户提供可靠、高效的服务,互联网服务的运维人员通常会使用一些关键性能指标来监测这些应用的服务性能。比如,一个应用服务在单位时间内被访问的次数,单位时间交易量,闪退、网络带宽、内存量等,这些指标被称为KPI指标(key performance indicator,KPI)。
KPI可以划分为规则KPI与不规则KPI两大类。其中,对于规则KPI,现有的异常检测模型已具有良好的检测效果,但是对于不规则KPI,由于其本身的复杂性,现有的异常检测模型无法很好的处理这一类KPI。
在对这些大规模不规则KPI进行异常检测时,如果选择为每条不规则KPI单独建立异常检测模型进行参数调优、模型训练及异常标注,则必定会产生极大运维的开销。因此,可以通过对不规则KPI进行聚类,同一类KPI复用异常检测模型,来减少训练开销。然而,常用聚类方法的距离和相似度度量指标无法很好的应用于不规则KPI的聚类。最直接简单的方法是进行截断或者对不规则KPI进行插值填补后,再使用现有的聚类方法。然而,截断或者插值很大程度上影响聚类效果。虽然可以利用MF(matrices fraction,矩阵分解)将不规则KPI进行对齐,但MF混淆了所有的KPI的信息,减少了KPI中各个类之间的差异,聚类错误率反而高于截断,导致最后的异常检测结果准确率很低。
发明内容
本发明旨在至少解决现有技术中存在的技术问题。为此,本发明提出一种基于聚类的大规模不规则KPI时间序列的异常检测方法,通过不断聚类与MF填充,使最终获取的聚类结果趋于稳定,基于该聚类结果的异常检测模型聚类性能突出,能够高效的进行异常检测作业。
第一方面,本发明实施例提供了一种基于聚类的大规模不规则KPI时间序列的异常检测方法,包括以下步骤:
S1、将多个不规则KPI进行预处理,合成规则KPI填充矩阵;
S2、对所述规则KPI填充矩阵进行聚类,获得多个子聚类;
S3、设置迭代条件,若迭代前后聚类中心点之间的距离小于预设阈值或迭代次数大于预设阈值,则迭代完成转入S5,若迭代前后聚类中心点之间的距离不小于预设阈值且迭代次数不大于预设阈值,则继续迭代转入S4;
S4、对每个所述子聚类中的KPI进行MF填充产生子规则KPI填充矩阵,并使用全部所述子规则KPI填充矩阵合成规则KPI填充矩阵,转入S2;
S5、基于聚类得到的规则KPI结果进行大规模规则KPI异常检测。
根据本发明的实施例,至少具有如下技术效果:
通过对大规模不规则KPI进行预处理,将多个长度不一的KPI,组成含有全部KPI元素的规则KPI填充矩阵,再对该规则KPI填充矩阵进行聚类,获得多个子聚类。若聚类中心点之间的距离不小于预设阈值且迭代次数不大于预设阈值,则进行迭代,对每个子聚类中的KPI进行MF填充产生子规则KPI填充矩阵,并使用全部子规则KPI填充矩阵合成规则KPI填充矩阵作为下一次聚类的输入,实现聚类——填充——聚类——填充的循环体系;若聚类中心点之间的距离小于预设阈值或迭代次数大于预设阈值,则认为整个循环迭代完成,大规模不规则KPI被划分为若干聚类簇,在每个聚类簇中应用相同的异常检测模型,可以有效的降低开销,实现高效率的异常检测。
根据本发明的一些实施例,所述预处理包括对齐处理和填充处理。
根据本发明的一些实施例,利用均值方法更新各个所述子聚类的中心点。
根据本发明的一些实施例,迭代完成后,将不同的所述子聚类和不同的所述子聚类的中心点用不同的颜色标注。
根据本发明的一些实施例,在所述基于聚类得到的规则KPI结果进行大规模规则KPI异常检测之前,进行聚类性能评估。
根据本发明的一些实施例,通过K-Means对所述规则KPI填充矩阵进行聚类。
第二方面,本发明实施例提供的一种基于聚类的大规模不规则KPI时间序列的异常检测装置,包括:
预处理模块,用于将多个不规则KPI进行预处理,合成规则KPI填充矩阵;
聚类模块,用于对所述规则KPI填充矩阵进行聚类,获得多个子聚类;
迭代模块,用于设置迭代条件,若迭代前后聚类中心点之间的距离小于预设阈值或迭代次数大于预设阈值,则迭代完成转入检测模块,若迭代前后聚类中心点之间的距离不小于预设阈值且迭代次数不大于预设阈值,则继续迭代转入MF填充模块;
MF填充模块,用于对每个所述子聚类中的KPI进行MF填充产生子规则KPI填充矩阵,并使用全部所述子规则KPI填充矩阵合成规则KPI填充矩阵,并转入聚类模块;
检测模块,用于评估聚类性能,并基于聚类得到的规则KPI结果进行规则KPI异常检测。
第三方面,本发明实施例提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现前述公开的一种基于聚类的大规模不规则KPI时间序列的异常检测方法。
第四方面,本发明实施例提供了一种计算机可读介质,用于存储计算机程序,所述计算机程序被处理器执行时实现前述公开的一种基于聚类的大规模不规则KPI时间序列的异常检测方法。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例提供的一种基于聚类的大规模不规则KPI时间序列的异常检测方法的流程示意图;
图2为本发明实施例提供的一种基于聚类的大规模不规则KPI时间序列的异常检测方法的不规则KPI分类;
图3为本发明实施例提供的一种基于聚类的大规模不规则KPI时间序列的异常检测方法的KPI的矩阵分解流程;
图4为本发明实施例提供的一种基于聚类的大规模不规则KPI时间序列的异常检测方法的等间不等量数据对聚类的错误率的影响图;
图5为本发明实施例提供的一种基于聚类的大规模不规则KPI时间序列的异常检测方法的不等间数据对聚类的错误率的影响图;
图6为本发明实施例提供的一种基于聚类的大规模不规则KPI时间序列的异常检测方法的循环迭代聚类框架;
图7为本发明实施例提供的一种基于聚类的大规模不规则KPI时间序列的异常检测方法的循环聚类算法的聚类性能;
图8为本发明实施例提供的一种基于聚类的大规模不规则KPI时间序列的异常检测装置的结构示意图;
图9为本发明实施例提供的计算机设备的结构示意图;
图10为本发明实施例提供的计算机可读存储介质的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
非另有定义,本发明所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本发明中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本发明。
已有的研究针对不规则KPI设计了异常检测框架,但面对大规模不规则KPI时,单纯的异常检测框架显得效率不足。如果能先将不规则KPI进行聚类,同一类KPI复用异常检测模型,则可以减少训练开销。有效的提高异常检测框架的聚类性能。因此,提升异常检测框架中所有算法的聚类性能是非常重要的。
实施例一
为解决上述问题,本发明实施例提供了一种基于聚类的大规模不规则KPI时间序列的异常检测方法,参照图1,包括以下步骤:
步骤S1:将多个不规则KPI进行预处理,合成规则KPI填充矩阵。
参照图2,不同采样策略下产生的不规则关键性能指标(key performanceindicator,KPI)主要可以分为四种类型:等间不等量、不等间、等时长不等间和分段不规则。等间不等量采用相同采样频率但是采样数量不不同;不等间采样间隔不同,因此每一个样本点表示的时间不一定一致;等时长不等间在相同的采样时间窗口内,进行不等间隔的采样;分段不规则是不同时间使用了不同的采样频率。
针对不同不规则的情况,需要不同的处理方式。对应所有的KPI集合,可以划分为规则KPI与不规则KPI两大类,其中,规则的KPI(即采样间隔和数量都一致的KPI)使用目前已有的处理方式。不规则KPI,根据其与规则KPI的相异之处——比如采样数量不一致、采样间隔不一致、或采样的时间窗口有限制等,先将其分为等间不等量、等量不等间与既不等量也不等间三大类。其中不等量不规则KPI代表了采样数量不一致的不规则KPI,不等间不规则KPI则代表了采样间隔不一致的不规则KPI。由于等量不等间KPI与既不等量也不等间KPI有相似的处理方法,因此可以把他们划分为一个类别——不等间KPI。不等间KPI还包含了一种等时长不规则KPI的更常见的采样类型。等时长不等间KPI由于是更常见的采样类型,其实际普遍性要高于一般的不等间KPI。
在本实施例中,为了方便有效的对各种类型的不规则KPI进行区分与描述,现在将KPI区分为不等间与等间不等量两种类型。为了方便的表示不规则KPI及其内部的各项参数,在此规定本文统一使用的KPI表示方法:不规则KPI可以表示为其中,1≤i≤N表示KPI的序号,N为KPI的数量,而ni则表示第i个KPI的元素数量(长度)。不规则KPI还需要记录其采样的时间,在此使用符号t,ti表示的是这个KPI的起始采样时间,对应的到则分别代表对应元素的采样时间点。基于以上定义,xi(ti)就表示一组N个不等间KPI中的第i个KPI,而则分别表示这个KPI中的第1、2、......ni个元素。用这样的表达形式可以很清晰明了的将KPI的类别与顺序表达清楚。
当KPI不规则时,行的长度是不同的,这使得这些数据很难按照现有的矩阵规则直接形成矩阵。如图3所示,可以通过对齐KPI,并让所有KPI扩展到相同的长度来形成规则矩阵。这样形成的矩阵中的某些元素具有值,而某些元素则没有现成的值,可以通过MF(matrices fraction,矩阵分解)来填充这些原本不存在的元素。
步骤S2:对规则KPI填充矩阵进行聚类,获得多个子聚类。
将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。
在本实施例中,对规则KPI填充矩阵进行聚类是对填充矩阵中的元素聚类,子聚类为聚类所生成的簇。
步骤S3:设置迭代条件,若迭代前后聚类中心点之间的距离小于预设阈值或迭代次数大于预设阈值,则迭代完成转入步骤S5,若迭代前后聚类中心点之间的距离不小于预设阈值且迭代次数不大于预设阈值,则继续迭代转入S4。
进行聚类时,首先会随机选择K个初始中心点,算法会计算每个KPI到所有中心点的距离,并计算出最小值,将这个最小值对应的中心点作为该KPI所属于的聚类中心。在算出所有KPI的中心点后,之后重新计算出所有聚类的新的中心点。
在本实施例中,聚类中心点即为上述提及的所有聚类的新的中心点,聚类中心点距离是指最近两次循环迭代聚类中心点基于位置关系产生的距离,迭代次数是指循环次数,每聚类——MF填充一次,循环次数就加一次。将MF与聚类迭代结合起来,实现聚类——填充——聚类——填充的循环体系,实现矩阵填充与聚类的有机统一。
步骤S4:对每个子聚类中的KPI进行MF填充产生子规则KPI填充矩阵,并使用全部子规则KPI填充矩阵合成规则KPI填充矩阵,转入步骤S2。
基于K个初始中心点,得到的结果C1,C2......CK,对应的每个聚类中的所有KPI,分别进行MF。由于MF可以还原接近原始矩阵的填充矩阵,填充矩阵中的每个KPI都含有原始矩阵中所有KPI的部分信息,也就可以看成填充矩阵中的每个KPI都更接近原始矩阵中的其他KPI。这样,原本接近的KPI会更加靠近。这一步的目的是让每个聚类中的KPI的信息进行最优的组合,以产生更准确的聚类结果。
步骤S5:基于聚类得到的规则KPI结果进行规则KPI异常检测。
现有技术中,在对大规模KPI进行异常检测时,如果选择为每条KPI单独建立异常检测模型进行参数调优、模型训练及异常标注,则必定会产生极大运维的开销。可以通过对不规则KPI进行聚类,同一类KPI复用异常检测模型,来减少训练开销。由于不规则KPI的聚类存在。常用聚类方法的距离和相似度度量指标无法很好的处理应用于不规则KPI的聚类。最直接简单的方法是进行截断或者对不规则KPI进行插值填补后,再使用现有的聚类方法。然而,截断或者插值很大程度上影响聚类效果。虽然可以利用MF将不规则KPI进行对齐,但MF混淆了所有的KPI的信息,减少了KPI中各个类之间的差异,聚类错误率反而高于截断。本发明实施例提供的一种基于聚类的大规模不规则KPI时间序列的异常检测方法,通过对大规模不规则KPI进行预处理,将多个长度不一的KPI,组成含有全部KPI元素的规则KPI填充矩阵,再对该规则KPI填充矩阵进行聚类,获得多个子聚类。若聚类中心点之间的距离不小于预设阈值且迭代次数不大于预设阈值,则进行迭代,对每个子聚类中的KPI进行MF填充产生子规则KPI填充矩阵,并使用全部子规则KPI填充矩阵合成规则KPI填充矩阵作为下一次聚类的输入,实现聚类——填充——聚类——填充的循环体系;若聚类中心点之间的距离小于预设阈值或迭代次数大于预设阈值,则认为整个循环迭代完成,大规模不规则KPI被划分为若干聚类簇,在每个聚类簇中应用相同的异常检测模型,可以有效的降低开销,实现高效率的异常检测。
实施例二
为了验证不规则KPI对聚类性能造成的影响,本发明利用不规则采样方法在已有的数据集中进行不等量和不等间采样得到不规则的KPI,并分别对其进行聚类和异常检测的分析。本发明从UCR时间序列档案库中对三个公共时间序列数据集进行了不规则采样。KNN的一般相似性度量无法处理不同长度的KPI,因此较长的KPI会被截断并对齐较短的KPI以达到相同的长度。在进行距离度量后,按照KNN的聚类模式进行聚类性能的检测。KNN的聚类模式描述:对当前被聚类的KPI计算xi(ti)到训练集中所有KPI的距离,然后统计距离xi(ti)距离最短的K个KPI中,所属聚类最多的一个聚类作为xi(ti)的聚类。
等间不等量数据(EIUQ KPI)对聚类的错误率的影响如图4所示。其中Raw Data表示原始数据不进行处理,直接按明可夫斯基距离进行度量得到的结果。EIUQ Data表示引入EIUQ的不规则类型后,直接按明可夫斯基距离进行度量,由于明可夫斯基距离不能计算长度不等的序列之间的距离,此处计算时,本文对EIUQ KPI进行了按最小长度截断处理。可以看到,在引入异常后,所有数据集的错误率(Error Rate)都发生了各种程度的上升,其中CricketX由于基础错误率就很高,上升的幅度相对较小。
等时长不等间数据(UIED KPI)对聚类的错误率的影响如图5所示。其中Raw Data表示原始数据集不进行处理,直接按明可夫斯基距离进行度量后进行聚类。UI Data表示引入UIED的不规则类型后,直接按明可夫斯基距离进行度量,由于明可夫斯基距离不能计算长度不等的序列之间的距离,此处计算时,本文对EIUQ KPI进行了按最小长度截断处理。DTW表示使用DTW(动态时间规整)作为UIED Data的距离度量;MF表示对UIED Data进行矩阵填充后,用明可夫斯基距离作为距离度量。可以看到,在引入异常后,所有数据集的错误率都发生了各种程度的上升,并且相比于图4,图5中CricketX的错误率上升的幅度更大。在使用DTW作为不规则KPI的距离度量后,错误率发生了明显的下降,这说明DTW作为距离度量时,能有效的提高UIED KPI的聚类性能。而使用MF对UIED Data进行矩阵填充后,再用明可夫斯基距离作为距离度量,错误率发生却发生了更加明显的飙升,其聚类的错误率甚至可能超过不进行任何处理时的聚类错误率。这是由于矩阵填充直接让所有的KPI进行了信息的混合,这一结果减少了KPI中各个聚类之间的差异,导致最后的聚类结果很不理想。
因此本发明提出了循环迭代的聚类方法,在MF前进行聚类,将属于不同聚类的KPI分开来进行MF,之后多次进行这一步骤,将最终的收敛结果作为MF的最终填充矩阵。这一结构能有效的提高MF的聚类性能,进而提高整体的异常检测性能。
如图6所示,本发明设计的循环迭代聚类框架一共包括5个主要步骤。
该框架每一个步骤的详细过程为:
步骤1、对于等时长不等间KPI,本研究先对其进行对齐,然后进行一次预先填充,可采用零填充或者MF填充,填充后产生规则KPI;
步骤2、对规则KPI填充矩阵进行聚类,聚类得到的结果将进行拆分;
步骤3、判断聚类结果是否满足循环条件,若条件成立,转入步骤5;否则进入步骤4;
步骤4、在步骤2产生的每个子聚类中,分别对该类中的不规则KPI进行MF填充产生规则KPI,最后将得到的所有规则KPI作为下一次聚类的输入并转入步骤2;
步骤5:循环迭代结束,将得到的聚类结果作为最后结果,评估聚类的性能。
框架中的聚类方法可以采用现有的任意一种聚类方法。本文选择了K-MEANS作为与MF配合的聚类算法。K-MEANS是常用的聚类算法,通过最小化目标函数来是实现聚类。聚类中对象的分布和聚类中心的更新是K-MEANS算法的两个主要步骤。通过使用K-MEANS,聚拢相似的KPI,远离不同的KPI,并使得相似的KPI之间进行了信息的融合,这一过程使得原本异常的KPI变得更加容易被识别,从而提高了聚类的性能。
实现原理:
步骤1:预处理
由于K-MEANS的实际运行要求KPI拥有同样的长度,而等时长不等间的KPI长度不一致,需要对UIED KPI进行展开对齐,通过给每段KPI选择一个采样的间隔,然后对该段KPI按照其间隔取样得到生成的数据。在进行K-MEANS聚类之前,需要先进行一次填充。
最简单的方式是零填充。但是这样得到的数据集只拥有少量原始数据集。以实验的不规则间为例,采样间隔比例为2:5:10=3:2:1,仅采样了原始数据集的33%。这样的数据将不利于K-MEANS进行聚类。
因此,也可以在聚类之前进行一次MF填充,对数据进行一定程度的密度填充。MF填充使用了原数据集中所有KPI的信息,会生成不利于聚类的填充矩阵,但这些不利的影响都会被之后的循环迭代所消除。
步骤2:K-Means聚类
K-MEANS通过最小化目标函数,目标函数通常被选择为来自各自聚类中心的所有模式之间的总距离。它的解决方案依赖于迭代方案,该方案从任意选择的初始聚类成员资格或中心开始。聚类中对象的分布和聚类中心的更新是K-MEANS算法的两个主要步骤。该算法在这两个步骤之间交替,直到目标函数的值不再减小为止。
K-MEANS算法总共分为以下步骤:
1、(随机)选择K个聚类的初始中心;
2、对任意一个样本点,求其到K个聚类中心的距离,将样本点归类到距离最小的中心的聚类,如此迭代N次;
3、每次迭代过程中,利用均值等方法更新各个聚类的中心点(质心);
4、对K个聚类中心,利用2,3步迭代更新后,如果位置点变化很小(可以设置阈值),则认为达到稳定状态,迭代结束,对不同的聚类块和聚类中心可选择不同的颜色标注。
本发明设置ci为第I个KPI最接近的聚类中心(如ci=1表示第I个KPI最接近第一个中心,ci=2表示它最接近第二个中心等),Cj=[]表示最接近第J个中心的KPI的集合(如果ci=j,则Cj中会添加一个元素,变成Cj=[i])。在第四步结束后,本发明可以得到所有的KPI最接近的中心,通过收集这一信息,本发明可以将得到该次循环下所有KPI的聚类结果C1,C2......CK。这一过程的算法描述如表1所示:
表1
首先随机初始化K个聚类中心,作为之后进行聚类的对比指标。K-MEANS算法本身的迭代条件为t<P&&J(x1,x2,...xN,μ1,μ2,...μK)>ε,当满足这个条件时,循环会一直持续,如算法第3行。每个循环中,算法会计算每个KPI到所有中心点的距离,并计算出最小值,将这个最小值对应的中心点作为该KPI所属于的聚类中心。在算出所有KPI的中心点后,此时已经完成了一次聚类,如算法第4~10行。之后重新计算出所有聚类的新的中心点,并继续循环,如算法第11~12行。最终得到的结果将用于步骤S4的矩阵填充。该算法只是整个循环聚类算法中的一个小循环。
步骤3:子类MF填充
K-Means聚类结果的再填充,是将步骤2中得到的结果C1,C2......CK,对应的每个聚类中的所有KPI,分别进行MF。由于MF可以还原接近原始矩阵的填充矩阵,填充矩阵中的每个KPI都含有原始矩阵中所有KPI的部分信息,也就可以看成填充矩阵中的每个KPI都更接近原始矩阵中的其他KPI。这样,原本接近的KPI会更加靠近。这一步的目的是让每个聚类中的KPI的信息进行最优的组合,以产生更准确的聚类结果。
步骤4:整体循环迭代聚类算法
将MF的步骤与K-Means的迭代结合起来,实现聚类——填充——聚类——填充的循环体系,实现矩阵填充与聚类的有机统一。在整个循环迭代完成后,再整合所有的数据进行一次聚类结果的检测,这就是循环迭代聚类方案的基本思路。整体的循环迭代,目的是将步骤2和步骤3进行多次循环,使最终得到的整体结果趋于稳定。将这个稳定的结果作为最终的聚类结果,进行聚类准确率的判断。
最终的循环的算法描述如表2所示:
表2
首先对不规则KPI进行填充,可以是零填充也可以是MF填充,填充后得到填充矩阵如算法2第一行。之后通过算法1对矩阵中的元素进行聚类,得到聚类结果C1,C2......CK,如果未通过循环条件,即t<P&&dist([x1(t1)x2(t2)...xN(tN)],[x1′(t1)x2′(t2)...xN′(tN)]T)>ε(未达到循环次数且K-MEANS前后的数据之间的距离大于指定阈值),则对聚类后的每个子类分别进行MF填充,如算法2~5行所示。通过循环条件后,将最后的C1,C2......CK作为输出,检测聚类性能。
实施例三
为了更好的说明本发明的创新点,本发明使用两个来自AIOPS挑战中的KPI异常检测竞赛的真实数据集。这两个真实世界的数据集包含来自同一INTERNET WEB服务系统的服务KPI和设备KPI数据。DS1来自预赛,DS2来自决赛。
这些数据集由大量的不同类的时间序列组成,为了使这些数据能应用于本文的发明,本发明需要人为的引入不规则的类型和异常。本章节进行的实验为MF与K-MEANS循环迭代聚类性能的发明,使用的不规则数据为UIEQ KPI,该类型KPI的不规则导入方法如下:通过给每段KPI选择一个采样的间隔,然后对该段KPI按照其间隔取样得到生成的数据。本实验选用的间隔比例为2:5:10=3:2:1,这样得到的数据集拥有原始数据集33%的数据密度。循环聚类算法的聚类性能如图5所示。
图7中各类别的详细实验设置如下:K-MEANS:对UIED KPI进行截断(最小对齐)后,使用K-MEANS聚类和明可夫斯基距离作为度量的聚类结果;DTW:使用KNN聚类方法和DTW作为距离度量的聚类结果;MF:进行单次MF填充对齐后,使用KNN聚类方法和明可夫斯基距离度量的聚类结果;CMF:使用循环聚类框架进行聚类的聚类结果(默认采用MF填充和明可夫斯基距离度量)。
可以看到,直接用K-MEANS对不规则数据进行聚类,仅得到0.2左右的NMI,说明不规则类型的引入很大程度的影响了常规聚类算法的性能。使用DTW进行计算的效果比较理想,NMI的分数提高到了0.65左右,但这一算法需要大量的计算资源。而分别使用MF与CMF的结果则分别是0.45与0.53左右。对比之前的聚类错误率,可以发现使用NMI作为指标时,单一MF的聚类性能相对来说要好一些,这是因为MF拉近了KPI数据中各个聚类之间的距离,使得单纯按照初始的聚类编号进行判断时,效果很不理想;而这一距离的拉近对于数据的聚类分布的影响则相对较小。CMF的NMI分数比MF的NMI分数提高了8%左右。
实施例四
参照图8,本发明实施例提供了一种基于聚类的大规模不规则KPI时间序列的异常检测装置,包括:预处理模块301、聚类模块302、迭代模块303、MF填充模块304以及检测模块305;预处理模块301用于将多个不规则KPI进行预处理,合成规则KPI填充矩阵;聚类模块302用于对所述规则KPI填充矩阵进行聚类,获得多个子聚类;迭代模块303用于设置迭代条件,若聚类中心点之间的距离小于预设阈值或迭代次数大于预设阈值,则迭代完成转入检测模块,若聚类中心点之间的距离不小于预设阈值且迭代次数不大于预设阈值,则继续迭代转入MF填充模块;MF填充模块304用于对每个所述子聚类中的KPI进行MF填充产生子规则KPI填充矩阵,并使用全部所述子规则KPI填充矩阵合成规则KPI填充矩阵,并转入聚类模块;检测模块305用于基于聚类结果进行不规则KPI异常检测。
本发明实施例提供的一种基于聚类的大规模不规则KPI时间序列的异常检测装置,包括预处理模块、聚类模块、迭代模块、MF填充模块以及检测模块。预处理模块用于对大规模不规则KPI进行预处理,将多个长度不一的KPI,组成含有全部KPI元素的规则KPI填充矩阵;聚类模块用于对上述规则KPI填充矩阵进行聚类,获得多个子聚类;迭代模块用于设置迭代条件,若聚类中心点之间的距离不小于预设阈值且迭代次数不大于预设阈值,则进行迭代,若聚类中心点之间的距离小于预设阈值或迭代次数大于预设阈值,则认为整个循环迭代完成;MF填充模块用于对每个子聚类中的KPI进行MF填充产生子规则KPI填充矩阵,并使用全部子规则KPI填充矩阵合成规则KPI填充矩阵作为下一次聚类的输入,实现聚类——填充——聚类——填充的循环体系;检测模块基于聚类结果进行不规则KPI异常检测。通过将大规模不规则KPI划分为若干聚类簇,在每个聚类簇中应用相同的异常检测模型,可以有效的降低开销,实现高效率的异常检测。
本发明的一些实施例,一种基于聚类的大规模不规则KPI时间序列的异常检测装置还包括颜色标注模块,用于迭代完成后,将不同的所述子聚类和不同的所述子聚类的中心点用不同的颜色标注;聚类性能评估模块,用于在所述基于聚类结果进行大规模不规则KPI异常检测之前,进行聚类性能评估。
本发明的一些实施例,预处理模块包括:对齐单元,用于将不规则KPI对齐;填充单元,用于填充KPI矩阵中的空白元素。
参照图9,基于同一发明构思,本发明实施例提供了一种计算机设备401,包括:
至少一个处理器420;以及
存储器410,存储器410存储有可在处理器上运行的计算机程序411,处理器420执行程序时执行如上的任一种基于聚类的大规模不规则KPI时间序列的异常检测方法的步骤。
参照图10,基于同一发明构思,本发明的实施例还提供了一种计算机可读存储介质501,计算机可读存储介质501存储有计算机程序指令510,计算机程序指令510被处理器执行时执行如上的任一种基于聚类的大规模不规则KPI时间序列的异常检测方法的步骤。
专业人员可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAMD、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (8)
1.一种基于聚类的大规模不规则KPI时间序列的异常检测方法,其特征在于,包括以下步骤:
S1、将多个不规则KPI进行预处理,合成规则KPI填充矩阵;
S2、对所述规则KPI填充矩阵进行聚类,获得多个子聚类;
S3、设置迭代条件,若迭代前后聚类中心点之间的距离小于预设阈值或迭代次数大于预设阈值,则迭代完成转入S5,若迭代前后聚类中心点之间的距离不小于预设阈值且迭代次数不大于预设阈值,则继续迭代转入S4;
S4、对每个所述子聚类中的KPI进行MF填充产生子规则KPI填充矩阵,并使用全部所述子规则KPI填充矩阵合成规则KPI填充矩阵,转入S2;
S5、基于聚类得到的规则KPI结果进行大规模规则KPI异常检测。
2.根据权利要求1所述的一种基于聚类的大规模不规则KPI时间序列的异常检测方法,其特征在于:所述预处理包括对齐处理和填充处理。
3.根据权利要求1所述的一种基于聚类的大规模不规则KPI时间序列的异常检测方法,其特征在于,还包括步骤:迭代完成后,将不同的所述子聚类和不同的所述子聚类的中心点用不同的颜色标注。
4.根据权利要求1或3任一项所述的一种基于聚类的大规模不规则KPI时间序列的异常检测方法,其特征在于:通过K-Means对所述规则KPI填充矩阵进行聚类。
5.一种基于聚类的大规模不规则KPI时间序列的异常检测装置,其特征在于,包括:
预处理模块,用于将多个不规则KPI进行预处理,合成规则KPI填充矩阵;
聚类模块,用于对所述规则KPI填充矩阵进行聚类,获得多个子聚类;
迭代模块,用于设置迭代条件,若迭代前后聚类中心点之间的距离小于预设阈值或迭代次数大于预设阈值,则迭代完成转入检测模块,若迭代前后聚类中心点之间的距离不小于预设阈值且迭代次数不大于预设阈值,则继续迭代转入MF填充模块;
MF填充模块,用于对每个所述子聚类中的KPI进行MF填充产生子规则KPI填充矩阵,并使用全部所述子规则KPI填充矩阵合成规则KPI填充矩阵,并转入聚类模块;
检测模块,用于基于聚类得到的规则KPI结果进行规则KPI异常检测。
6.根据权利要求5所述的一种基于聚类的大规模不规则KPI时间序列的异常检测装置,其特征在于:还包括颜色标注模块,用于迭代完成后,将不同的所述子聚类和不同的所述子聚类的中心点用不同的颜色标注;聚类性能评估模块,用于在所述基于聚类得到的规则KPI结果进行大规模规则KPI异常检测之前,进行聚类性能评估。
7.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一所述的一种基于聚类的大规模不规则KPI时间序列的异常检测方法。
8.一种计算机可读介质,其特征在于,用于存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一所述的一种基于聚类的大规模不规则KPI时间序列的异常检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110598652.XA CN113378900B (zh) | 2021-05-31 | 2021-05-31 | 一种基于聚类的大规模不规则kpi时间序列的异常检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110598652.XA CN113378900B (zh) | 2021-05-31 | 2021-05-31 | 一种基于聚类的大规模不规则kpi时间序列的异常检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113378900A CN113378900A (zh) | 2021-09-10 |
CN113378900B true CN113378900B (zh) | 2022-07-15 |
Family
ID=77575047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110598652.XA Active CN113378900B (zh) | 2021-05-31 | 2021-05-31 | 一种基于聚类的大规模不规则kpi时间序列的异常检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113378900B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023174431A1 (zh) * | 2022-03-18 | 2023-09-21 | 三峡智控科技有限公司 | 一种kpi曲线数据处理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9269162B1 (en) * | 2014-08-25 | 2016-02-23 | Raytheon Company | Rapid anomaly detection (RAND) |
CN109102021A (zh) * | 2018-08-10 | 2018-12-28 | 聚时科技(上海)有限公司 | 缺失条件下的核互补齐多核k-均值聚类机器学习方法 |
CN110400052A (zh) * | 2019-06-28 | 2019-11-01 | 北京汉迪移动互联网科技股份有限公司 | 关键性能指标的监控方法和装置 |
CN111177505A (zh) * | 2019-12-31 | 2020-05-19 | 中国移动通信集团江苏有限公司 | 指标异常检测模型的训练方法、推荐的方法及装置 |
CN111555932A (zh) * | 2020-04-24 | 2020-08-18 | 长沙理工大学 | 一种大规模不规则kpi时间序列异常检测方法 |
-
2021
- 2021-05-31 CN CN202110598652.XA patent/CN113378900B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9269162B1 (en) * | 2014-08-25 | 2016-02-23 | Raytheon Company | Rapid anomaly detection (RAND) |
CN109102021A (zh) * | 2018-08-10 | 2018-12-28 | 聚时科技(上海)有限公司 | 缺失条件下的核互补齐多核k-均值聚类机器学习方法 |
CN110400052A (zh) * | 2019-06-28 | 2019-11-01 | 北京汉迪移动互联网科技股份有限公司 | 关键性能指标的监控方法和装置 |
CN111177505A (zh) * | 2019-12-31 | 2020-05-19 | 中国移动通信集团江苏有限公司 | 指标异常检测模型的训练方法、推荐的方法及装置 |
CN111555932A (zh) * | 2020-04-24 | 2020-08-18 | 长沙理工大学 | 一种大规模不规则kpi时间序列异常检测方法 |
Non-Patent Citations (2)
Title |
---|
Intelligent Detection for key performance idicators in industrial-based cyber-physical systems;Shiming He;《IEEE》;20201106;全文 * |
基于机器学习的云数据中心服务器KPI异常检测研究;裴鹏宇;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20210215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113378900A (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yang et al. | A feature-reduction multi-view k-means clustering algorithm | |
US10713597B2 (en) | Systems and methods for preparing data for use by machine learning algorithms | |
CN111211994B (zh) | 一种基于SOM与K-means融合算法的网络流量分类方法 | |
CN108415883B (zh) | 基于子空间聚类的凸非负矩阵分解方法 | |
CN110266672B (zh) | 基于信息熵和置信度下采样的网络入侵检测方法 | |
CN109522926A (zh) | 基于信息熵聚类的异常检测方法 | |
CN106067034B (zh) | 一种基于高维矩阵特征根的配电网负荷曲线聚类方法 | |
Park et al. | BlinkML: Efficient maximum likelihood estimation with probabilistic guarantees | |
CN111159483B (zh) | 一种基于张量计算的社交网络图摘要的生成方法 | |
Chen et al. | Tensor decomposition for multilayer networks clustering | |
CN110598061A (zh) | 一种多元图融合的异构信息网嵌入方法 | |
Labroche | New incremental fuzzy c medoids clustering algorithms | |
CN113378900B (zh) | 一种基于聚类的大规模不规则kpi时间序列的异常检测方法 | |
CN113657678A (zh) | 一种基于信息新鲜度的电网电力数据预测方法 | |
CN115114484A (zh) | 异常事件检测方法、装置、计算机设备和存储介质 | |
CN113377964B (zh) | 知识图谱链接预测方法、装置、设备及存储介质 | |
CN114417095A (zh) | 一种数据集划分方法及装置 | |
Brusa et al. | Model-based clustering in simple hypergraphs through a stochastic blockmodel | |
CN107423319B (zh) | 一种垃圾网页检测方法 | |
CN110688150B (zh) | 一种基于张量运算的二进制文件代码搜索检测方法及系统 | |
CN117155701A (zh) | 一种网络流量入侵检测方法 | |
Ayadi et al. | MIGSOM: multilevel interior growing self-organizing maps for high dimensional data clustering | |
CN117093849A (zh) | 一种基于自动生成模型的数字矩阵特征分析方法 | |
Sakthi et al. | An enhanced K means clustering using improved Hopfield artificial neural network and genetic algorithm | |
CN115952860A (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 |