一种动态筛选非周期性异常方法与流程

文档序号:25217505发布日期:2021-05-28 14:16阅读:155来源:国知局
一种动态筛选非周期性异常方法与流程

本发明涉及人工智能技术领域,尤其涉及一种针对人工智能领域中不稳定周期性行为的时间序列的异常检测方法。



背景技术:

在实际生产任务中,由于定时任务(如压测、升级、切换等)的执行会导致指标呈现出明显的周期性的尖峰或者平台的特征,但是由于该任务本身可能受到前序任务的影响、或者其本身的启动是一个人工参与的过程,导致任务的开始时间和持续时间(对应着指标的尖峰开始时间和尖峰持续的时间)可能是不尽相同的。现有的方法是在频繁告警的区域范围通过设置「告警静默期」来忽略掉监控可能出现的误报,但是静默期设置过短,仍有误报的风险;静默期设置过长,可能会忽略实际的生产故障。常见受到跑批影响的时间序列如图1所示。如何解决在动态减小非周期性情况下的失效误报,这已成为了亟需解决的技术问题。



技术实现要素:

有鉴于此,本发明的技术方案针对时序中的周期性伪异常进行去除,并由此提供一种非固定周期性异常点的动态评判方法。

本申请是通过如下技术方案实现的:

一种动态筛选非周期性异常的方法,该方法包括:

步骤1、获取实时数据;

步骤2、将获取的实时数据输入常规异常判断模型进行异常判断,以获得异常点列表;

步骤3、根据异常判定动态基线,对所述异常点列表中的各个异常节点的异常概率进行处理,以获取各个异常点的处理后异常概率值;

步骤4、将各个异常点的所述处理后异常概率值与系统异常概率阈值p进行比较,以对各个异常点进行非典型周期性异常识别。

进一步的,所述步骤3具体包括:

步骤301、获取时序历史数据;

步骤302、根据所述时序历史数据进行峰值数据提取;

步骤303、基于历史环比异常点的聚类;

步骤304、计算针对单个异常时间窗口的耿贝尔gumbel异常分布;

步骤305、单个时间段动态不规则周期性异常判定基线;

步骤306、获取全局的异常判定动态基线。

进一步的,在步骤302中,所述峰值数据提取,具体包括:

通过双向长短时记忆网络bi-lstm对所获取的时序历史数据进行全局的归一化处理以获得归一化处理后的每一个节点的异常分数nodescore,所采用的计算公式如下:

nodescore=abs(predict-value)/history_mean

其中,history_mean表示所述时序历史数据中相同位置的数据均值,predict表示bi-lstm的预测值,value表示原始数据值。

进一步的,在步骤303中,所述基于历史环比异常点的聚类,具体包括:

针对每一个异常点,搜索时序历史数据中不同周期相同位置附近的历史异常点以及该历史异常点前n分钟的数据异常表现,通过dbscan聚类算法来判定该异常点是否与所述历史异常点的异常模式相一致,以得到当前数据和历史相似异常的偏移程度,根据所述偏移程度来对是否是周期性行为作出判断,并推测单个异常时间窗口的大小w。

进一步的,在步骤304中,所述针对单个异常时间窗口的gumbel异常分布,具体包括:

对于已经判断出属于周期性行为的异常点,将该异常点所在位置的异常概率值设置为1,该异常点所在位置左右的数据随着与所在位置之间距离的增大,异常概率值将逐步衰减,当前位置t的异常概率pt通过如下公式计算:

pt=max(pt-1,pt+1)*k

其中,pt-1表示t-1处的异常概率、pt+1表示t+1处的异常概率、k为预设参数;

最终得到所有数据点产生周期性行为异常点的概率分布;

根据所述单个异常时间窗口的大小w,采用gumbel分布,在单个异常时间窗口w内的所有单个点的异常概率作为输入进行拟合,以得到每个窗口的异常概率密度情况。

进一步的,在步骤305中,所述单个时间段动态不规则周期性异常判定基线,具体包括:

通过每个所述单个异常时间窗口的概率密度函数,在每个异常时间窗口生成周期性异常行为的判定基线。

进一步的,在步骤306中,所述异常判定全局基线,具体包括:

将每个异常时间窗口的判定基线叠加起来,形成全局的异常判定动态基线。

与现有技术相比,本发明通过异常判定全局基线,生成每个点的异常分数,通过可调节的阈值p,最终得到每个点是否为非典型周期性的异常,并由此解决了在动态减小非周期性情况下的失效误报问题。

附图说明

图1为现有技术中受到跑批影响的时间序列;

图2为本发明的动态筛选非周期性异常方法的流程示意图;

图3为获取异常判定动态基线的流程示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

下面将结合附图和实例对本发明作进一步的详细说明。

图2为本发明的动态筛选非周期性异常方法的流程示意图。该方法具体包括如下步骤:

步骤1、获取实时数据;

在上述步骤中所获取的实时数据包括按照实际需要设定的各种定时任务中产生的过程数据,例如压测、升级、切换等实时数据;

步骤2、将获取的实时数据输入常规异常判断模型进行异常判断,以获得异常点列表;

在所述异常点列表中关联存储有异常节点的名称、异常节点的异常概率,例如node1(名称):0.26(异常概率)、node2(名称):0.13(异常概率)等。

步骤3、根据异常判定动态基线,对所述异常点列表中的各个异常节点的异常概率进行处理,以获取各个异常点的;

步骤4、将各个异常点的所述处理后异常概率值与系统异常概率阈值p进行比较,以对各个异常点进行非典型周期性异常识别。

图3为获取异常判定动态基线的流程示意图。具体包括如下步骤:

步骤301、获取时序历史数据;

步骤302、根据所述时序历史数据进行峰值数据提取;

在步骤302中,所述峰值数据提取,具体包括:

在单向的循环神经网络中,模型实际上只使用到了“上文”的信息,而没有考虑到“下文”的信息。在实际场景中,预测可能需要使用到整个输入序列的信息。双向循环神经网络结合了序列起点移动的一个循环神经网络和令一个从序列末尾向序列起点移动的循环神经网络。而作为循环神经网络的一种拓展,也可以将长短期记忆lstm结合一个逆向的序列以组成双向长短时记忆bi-lstm网络。

通过双向长短时记忆网络bi-lstm对所获取的时序历史数据进行全局的归一化处理以获得归一化处理后的每一个节点的异常分数nodescore,所采用的计算公式如下:

nodescore=abs(predict-value)/history_mean

其中,history_mean表示所述时序历史数据中相同位置的数据均值,predict表示bi-lstm的预测值,value表示原始数据值;

由于数据的周期特性,采用历史数据中相同位置的数据+前n个点共同进行lstm的训练和预测,计算每一个数据节点的异常分数,同时为了避免当前值的异常对于异常分数计算的影响,通过计算历史数据中相同位置的数据的均值history_mean来作为异常分数的分母,对异常分数做全局的归一化,以进行聚类和分布的拟合。

步骤303、基于历史环比异常点的聚类,具体包括:

针对每一个异常点,搜索时序历史数据中不同周期相同位置附近的历史异常点以及该历史异常点前n分钟的数据异常表现,通过dbscan聚类算法来判定该异常点是否与所述历史异常点的异常模式相一致,以得到当前数据和历史相似异常的偏移程度,根据所述偏移程度来对是否是周期性行为作出判断,并推测单个异常时间窗口的大小w;

在上述步骤中,这种不稳定的周期性尖峰往往在历史数据和局部数据上会体现出一定的规律模式,针对异常点,搜索历史不同周期相同位置附近的异常点以及其前n分钟的数据的异常表现,通过聚类算法来判定该异常点是否与过去的异常模式相符,来对其是否是周期性行为作出判断;根据聚类的结果以得到当前数据和历史相似异常的偏移程度,并推测后续的窗口大小。

其中,采用的所述聚类算法是基于限制了偏移窗口的dtw距离的dbscan聚类算法。dbscan聚类算法是一种很典型的密度聚类算法,既可以适用于凸样本集,也可以适用于非凸样本集。dbscan算法的显著优点是聚类速度快且能够有效处理噪声点和发现任意形状的空间聚类。该算法利用基于密度的聚类的概念,即要求聚类空间中的一定区域内所包含对象(点或其他空间对象)的数目不小于某一给定阈值。过滤低密度区域,发现稠密度样本点。同一类别的样本,他们之间的紧密相连的,也就是说,在该类别任意样本周围不远处一定有同类别的样本存在。关于dbscan聚类算法的具体内容不属于本发明的改进点,在此不做详述。

步骤304、计算针对单个异常时间窗口的耿贝尔gumbel异常分布,具体包括:

对于已经判断出属于周期性行为的异常点,将该异常点所在位置的异常概率值设置为1,该异常点所在位置左右的数据随着与所在位置之间距离的增大,异常概率值将逐步衰减,当前位置t的异常概率pt通过如下公式计算:

pt=max(pt-1,pt+1)*k

其中,pt-1表示t-1处的异常概率、pt+1表示t+1处的异常概率、k为预设参数;

最终得到所有数据点产生周期性行为异常点的概率分布;

根据所述单个异常时间窗口的大小w,采用gumbel分布,在单个异常时间窗口w内的所有单个点的异常概率作为输入进行拟合,以得到每个窗口的异常概率密度情况。

步骤305、单个时间段动态不规则周期性异常判定基线,具体包括:

通过每个所述单个异常时间窗口的概率密度函数,在每个异常时间窗口生成周期性异常行为的判定基线;

步骤306、获取全局的异常判定动态基线,具体包括:

将每个异常时间窗口的判定基线叠加起来,形成全局的异常判定动态基线。

通过全局的异常判定动态基线,生成每个异常点的异常分数,通过动态可调节的系统异常概率阈值p,最终判断出每个数据点是否为非典型周期性的异常。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

需要说明的是,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1