一种通用的KPI异常检测框架实现方法技术

技术编号:29996387 阅读:16 留言:0更新日期:2021-09-11 04:38
本发明专利技术公开了一种通用的KPI异常检测框架实现方法,包括如下步骤:步骤1:采用动态基线方法判定KPI数据是否异常;步骤2:从统计特征算法库中选择若干算法进行权重投票进一步做排查步骤1排查后的异常数据;步骤3:从算法库中选择算法对步骤2排查后的异常数据进行检查。本发明专利技术提出了一种三轮异常检测的算法框架,该算法框架组合了实时快速的动态基线方法,基于统计特征的算法集,以及基于神经网络或有监督的异常检测,可以达到高效处理与精确检测的最佳效果。检测的最佳效果。检测的最佳效果。

【技术实现步骤摘要】
一种通用的KPI异常检测框架实现方法


[0001]本专利技术涉及KPI异常检测
,具体来说,涉及一种通用的KPI异常检测框架实现方法。

技术介绍

[0002]异常点检测(又称为离群点检测)是找出其行为不同于预期对象的一个检测过程,这些对象被称为异常点或者离群点。异常检测方式通常包括基于统计的模型、基于距离的模型、线性变换的模型、非线性变换的模型、机器学习的模型等。
[0003]KPI(key performance indicators)指的是对服务、系统等对象的监控指标 (如网络中的延迟、吞吐量等)。其存储的形式是按其发生的时间先后顺序排列而成的数列,也就是我们通常所说的时间序列。时间序列的异常检测就是通过历史的数据分析,查看当前的数据是否发生了明显偏离了正常的情况。KPI 数据异常检测有着十分重要的意义:通过实时的监控KPI数据,发现KPI数据存在的异常,及时进行相应处理,从而保证应用的正常运行。
[0004]通过对KPI数据设置阈值来进行实时异常检测的方法十分普遍,然而阈值的设置依赖用户经验,同时,随着KPI数据逐渐增多,为每一条KPI数据配置若干阈值的方法就会耗费巨大的人力。因此KPI数据异常检测应以免阈值设置、高度自动化为目标。
[0005]从统计特征上分,时间序列分为平稳时间序列和非平稳时间序列。平稳序列从直观上讲,均值和标准差不随着时间发生变化,而非平稳序列均值或者标准差一般会随着时间发生变化。下面两个图分别给出平稳序列和非平稳序列的例子。
[0006]时间序列分解是探索时序变化规律的一种方法,主要探索周期性和趋势性。基于周期、趋势分解的时序分解算法主要有经典时序分解算法、Holt
‑ꢀ
Winters算法和STL算法。
[0007]传统的时间序列预测方法往往针对一维时间序列本身建模,难以利用额外特征。相比之下,基于神经网络的方法往往可以获得更好的检测结果。如利用变分自动编码器(VAE)的Donut方法对单个时间序列建模(训练),将重建误差较大的数据判断为异常数据;DeepAR可以利用序列在每个时间步上取值的概率分布,从相关的时间序列中有效地学习全局模型,从而学习复杂的模式。此外,还有一些有监督的异常检测方法,可以利用带标记的样本数据进行模型训练,通常也可以获得非常好的检测结果。
[0008]在实际工作中,监控指标非常多,异常的种类也非常多。有很多时序数据分析的算法,往往适用场景不明确,人们往往并不清楚应该采用哪个算法、使用什么参数。此外,数据中可能还有缺失,处理不当就会导致异常检测准确率很低。
[0009]对于基于监督学习的算法,在实践中异常标注难以批量获得,而且标注一条KPI曲线,往往需要反反复复调整矫正,耗时耗力。
[0010]另外,实际中可能需要同时开始监控几百万、几千万的KPI,因此,现实中的异常检测实践中往往无法找到某一种算法可以同时满足上述要求,无法同时解决上面的挑战。

技术实现思路

[0011]针对相关技术中的问题,本专利技术提出一种通用的KPI异常检测框架实现方法,以克服现有相关技术所存在的上述技术问题。
[0012]为此,本专利技术采用的具体技术方案如下:
[0013]一种通用的KPI异常检测框架实现方法,包括如下步骤:步骤1:采用动态基线方法判定KPI数据是否异常;
[0014]步骤2:从统计特征算法库中选择若干算法进行权重投票进一步做排查步骤1排查后的异常数据;
[0015]步骤3:从算法库中选择算法对步骤2排查后的异常数据进行检查。
[0016]优选的,步骤2中,基于统计理论判断时间序列数据是否发生异常,将多种基于统计特征的异常检测算法组成统计特征算法库,算法模型可以从中选择若干算法并赋予不同的权重,如果判定异常数大于等于阈值,就判定为异常。
[0017]优选的,步骤3的算法库中包括基于有监督的Apprentice、XGBoost、基于神经网络方法的DeepAR和Donut算法。
[0018]优选的,步骤1中采用ETS方法来建立动态基线。
[0019]优选的,在步骤1之前,还包括步骤4,使用RockA算法对不同KPI数据做聚类分析。
[0020]优选的,为每个聚类选定不同的集成算法,每个集成算法对应一组步骤1

3异常检测算法的参数选择,通过聚类分析能够找到相似的KPI,将它们划分为若干聚类簇,在每个聚类簇中应用相同的异常检测算法。
[0021]优选的,步骤4具体为首先对原始KPI数据进行标准化,消除振幅差异;去除曲线上的噪声和可能的异常点,提取基线来表示曲线的形状;接着采用基于形状的SBD距离作为相似性度量,消除曲线间的相位偏差影响;最后对样本集中的KPI进行高效、鲁棒的聚类,为每个类别计算聚类中心表征该类别曲线形状。对于大量未分类曲线,利用聚类中心为其快速分派类别。
[0022]本专利技术的有益效果为:
[0023]本专利技术提出了一种三轮异常检测的算法框架,该算法框架组合了实时快速的动态基线方法,基于统计特征的算法集,以及基于神经网络或有监督的异常检测,可以达到高效处理与精确检测的最佳效果。算法首先通过RockA算法对KPI做聚类,每个聚类对应一个集成算法,它由一组三轮算法的参数选择表示。通过这种方式,不同特征的KPI数据可以对应到该框架下不同的集成算法,这种统一的异常检测的算法框架具有方便管理及适应性强的突出优点,尤其是:
[0024](1)本专利技术提出了一种三轮异常检测的算法框架,该算法框架组合了实时快速的动态基线方法,基于统计特征的算法集,以及基于神经网络或有监督的异常检测,可以达到高效处理与精确检测的最佳效果;
[0025](2)本专利技术通过RockA算法对KPI做聚类,每个聚类对应一个集成算法,它由一组三轮算法的参数选择表示。通过这种方式,不同特征的KPI数据可以对应到该框架下不同的集成算法,这种统一的异常检测的算法框架具有方便管理及适应性强的突出优点。
附图说明
[0026]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0027]图1示出了本申请实施例提出的一种通用的KPI异常检测框架实现方法的流程图。
具体实施方式
[0028]为进一步说明各实施例,本专利技术提供有附图,这些附图为本专利技术揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理,配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本专利技术的优点,图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。
[0029]根据本专利技术的实施例,提供了一种通用的KPI异常检测框架实现方法,包括如下步骤:步骤1:采用动态基线方法判定KPI数据是否异常;<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.通用的KPI异常检测框架实现方法,其特征在于:包括如下步骤:步骤1:采用动态基线方法判定KPI数据是否异常;步骤2:从统计特征算法库中选择若干算法进行权重投票进一步做排查步骤1排查后的异常数据;步骤3:从算法库中选择算法对步骤2排查后的异常数据进行检查。2.根据权利要求1所述的通用的KPI异常检测框架实现方法,其特征在于:步骤2中,基于统计理论判断时间序列数据是否发生异常,将多种基于统计特征的异常检测算法组成统计特征算法库,算法模型可以从中选择若干算法并赋予不同的权重,如果判定异常数大于等于阈值,就判定为异常。3.根据权利要求1或2所述的通用的KPI异常检测框架实现方法,其特征在于:步骤3的算法库中包括基于有监督的Apprentice、XGBoost、基于神经网络方法的DeepAR和Donut算法。4.根据权利要求1所述的通用的KPI异常检测框架实现方法,其特征在于:步骤1中采用ETS方法来建立动态基线。5.根...

【专利技术属性】
技术研发人员:崔英花
申请(专利权)人:北京信息科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1