CN112148768A - 一种指标时间序列异常检测方法、系统及存储介质 - Google Patents
一种指标时间序列异常检测方法、系统及存储介质 Download PDFInfo
- Publication number
- CN112148768A CN112148768A CN202010961424.XA CN202010961424A CN112148768A CN 112148768 A CN112148768 A CN 112148768A CN 202010961424 A CN202010961424 A CN 202010961424A CN 112148768 A CN112148768 A CN 112148768A
- Authority
- CN
- China
- Prior art keywords
- alarm
- index
- model
- event
- time series
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2433—Single-class perspective, e.g. one-against-all classification; Novelty detection; Outlier detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
本申请涉及一种指标时间序列异常检测方法、系统及存储介质,该指标时间序列异常检测方法,包括:接收指标时间序列在检测时间点的实际观测值;使用时间序列预测模型确定指标时间序列在检测时间点的指标预测值;根据实际观测值和指标预测值确定异常事件;使用报警模型确定异常事件是否为报警事件,其中,报警模型是通过被标记为报警事件的异常事件作为训练数据集训练得到的。通过本申请,提高了异常检测准确率,降低了误报率和漏报率。并且,本申请中分阶段的异常检测,使得异常检测问题在概念上更加简单,可靠性和可控性更好。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种指标时间序列异常检测方法、系统及存储介质。
背景技术
时间序列是将指标在不同时刻下的数值,按照时间先后顺序排列而形成的序列。异常(Anomaly)是指序列数据中和预期(正常/normal)行为不一致的点或者模式。
导致异常产生的原因有很多,包括硬件物理错误、软件运行异常和资源限制等。数据中出现异常通常意味着这些信息需要特别的关注和处理,以确定事件的根源。异常和事件的相关性是异常检测的一个重要特征。
相关技术中的异常检测算法,一些具有较高的漏报率(将异常误认为正常),一些具有很高的误报率(将正常误认为异常)。而漏报或误报均影响异常检测的作用,一方面漏报率高使得异常无法及时发现和处理,另一方面,误报率高使得数据量大加大异常分析的工作量。此外,一些检测算法不具备普适性。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种指标时间序列异常检测方法、系统及存储介质。
第一方面,本申请提供了一种指标时间序列异常检测方法,包括:接收指标时间序列在检测时间点的实际观测值;使用时间序列预测模型确定指标时间序列在检测时间点的指标预测值;根据实际观测值和指标预测值确定异常事件;使用报警模型确定异常事件是否为报警事件,其中,报警模型是通过被标记为报警事件的异常事件作为训练数据集训练得到的。
在某些实施例中,根据上述实际观测值和上述指标预测值确定异常事件,包括:使用残差模型确定上述实际观测值与上述指标预测值之间的偏离度;根据该偏离度和异常阈值确定上述指标时间序列在上述检测时间点是否为异常事件。
在某些实施例中,上述残差模型的偏离度量与时间序列预测模型的参数拟合中使用的度量一致。
在某些实施例中,上述残差模型的偏离度量为绝对误差偏离(Absolute Error,简称为AE),时间序列预测模型的参数拟合中使用的度量为均方误差(Mean Square Error,简称为MSE)。
在某些实施例中,使用报警模型确定上述异常事件是否为报警事件之前,还包括:通过上述指标时间序列对应的过滤器过滤异常事件,其中,过滤器与指标时间序列相关联。
在某些实施例中,使用报警模型确定异常事件是否为报警事件,包括:使用上述指标时间序列对应的报警模型确定上述异常事件是否为报警事件,其中,指标时间序列对应的报警模型是通过该指标时间序列对应的训练数据集训练得到的。
在某些实施例中,上述实际观测值与上述指标预测值之间的偏离度为上述报警模型的潜输入变量。
在某些实施例中,报警模型是通过超参优化方法训练得到的,其中,超参优化的参数包括平滑参数和报警阈值。
第二方面,本申请提供了一种系统,该系统包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序;计算机程序被处理器执行时实现指标时间序列异常检测方法的步骤。
第三方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质上存储有指标时间序列异常检测程序,该指标时间序列异常检测程序被处理器执行时实现指标时间序列异常检测方法的步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该方法,使用时间序列模型预测时间序列数据在检测时间点的指标预测值,并根据该指标预测值和实际观测值确定异常事件,实现对异常的一次检测。进一步的,使用通过被标记为报警事件的异常事件作为训练数据集训练得到的报警模型,确定异常事件是否为报警事件,实现对异常的又一次检测。通过本申请,提高了异常检测准确率,降低了误报率和漏报率。并且,本申请中分阶段的异常检测,使得异常检测问题在概念上更加简单,可靠性和可控性更好。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的指标时间序列异常检测系统一种实施方式的示意图;
图2为本申请提供的指标时间序列异常检测方法一种实施方式的流程图;
图3为本申请实施例提供的指标时间序列异常检测方法的在线检测的流程图;以及
图4为本申请实施例提供的计算机设备一种实施方式的硬件示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
本申请某些实施例,涉及对时间序列数据异常检测的准确度的改进。在异常检测的场景中,离群值(Outlier),指那些符合正常行为模式,但是出现概率很小的值;异常(Anomaly),指那些不是由正常模式产生的数据点。在本文中,异常可包括离群值(Outlier)和异常(Anomaly),但本申请某些实施例对异常(Anomaly)尤为有效,本申请实施例对此不做限定。
相关技术中,通过数据标注来训练异常检测模型,数据标注是指给数据点打上“正常”或者“异常”的标签(label)。对于性能监控等应用领域,给时间序列数据做标注非常困难。首先,检测的性能指标会比较多(百个以上的量级),依靠人力来完成每一个指标数据的标注非常困难。其次,时间序列数据中正常行为和异常行为是随时间不断变化的,在这种准实时分析的需求下完成数据的标注几乎是不可能的。
在本申请某些实施例中,将异常检测分为多个阶段,在一个阶段,通过时间序列预测模型预测指标时间序列在检测时间点的预测指标值,并基于预测指标值和实际观测值确定异常事件;在又一个阶段,通过报警模型确定异常事件中的报警(Alarm)事件。
在本申请某些实施例中,时间序列预测模型是通过无监督(Unsupervisedanomaly detection)或半监督(Semi-Supervised anomaly detection)方式训练得到的。无监督学习不需要数据的标注,可用于检测各种未知的异常,具有普适性。
在本申请某些实施例中,报警模型是通过有监督学习(Supervised anomalydetection)方式训练得到的,训练数据集由被标注为报警(Alarm)事件的异常事件组成。在本申请某些实施例中,针对不同的应用场景,训练相应的报警模型,由于异常样例出现的频率远远小于正常样例,在异常样例上进行数据标注和训练更为可行,通过数据标注能够显著提高检测准确度。
在本文中,术语“异常事件”为在时间序列预测模型的预测指标值的基础上检测出的异常,“报警事件”为使用报警模型在异常事件的基础上进一步确定得出的作为报警的异常。一般地,报警事件为异常事件的子集。本文中,从概念上把异常(Anomaly)和报警(Alarm)区分开,不是每个异常都需要报警,不是每个报警都需要通知。对异常进一步处理,最终为异常事件产生准确的警告事件。
在本申请实施例中,如果一个数据点(的值)被认为和其它数据点显著不同,那么可视之为点异常(Point Anomalies);如果一个数据点(的值)在特定上下文中被认为异常,那么可视之为上下文异常(Contextual Anomalies);在时间序列数据中,时间点就是数据的上下文;如果一组相关的数据点被认为和整个数据集显著不同,那么可视之为集体异常(Collective Anomalies)。时间序列预测模型考虑到了数据样例之间的时间相关性,对于Contextual anomalies这类异常来说尤为有效。
在本申请某些实施例中,将时间序列异常检测划分为几个层次,时间序列预测(TSM)、异常检测(ADM)和报警检测(ALM)。TSM在一个指定的性能指标时间序列上建模并预测,预测值作为异常检测(ADM)的输入;异常检测(ADM)根据预测值和实际值的差别进行异常判别;报警检测(ALM)根据异常的特点及用户偏好等情况,采用适当的报警策略生成警告。层次化建模的好处是系统开发灵活并易于扩展,每个层次都可以包含多个不同的模型同时运行,并且可以随时加入新的算法模型。此外,每个层次都可以进行独立的算法模型开发和验证,把一个复杂的系统和问题分解为分层次的独立的问题,概念上变得更加简单,系统整体可靠性和可控性更好。
在本申请实施例中,异常检测(ADM)上主要应用无监督学习的技术,报警检测(ALM)和业务、用户和应用场景等密切相关的,它解决特定的问题,因此,在报警检测(ALM)上可以应用有监督学习的技术。
下面结合附图对本申请实施例的指标时间序列异常检测系统及方法进行描述。
图1为本申请实施例提供的指标时间序列异常检测系统一种实施方式的示意图,如图1所示,指标时间序列异常检测系统100包括:时间序列预测模型110、时间序列预测装置120、异常检测装置130、报警模型140和报警检测装置150。
参考图1所示,时间序列预测装置120,用于使用时间序列预测模型110确定指标时间序列在检测时间点的指标预测值。异常检测装置130,与时间序列预测装置110连接,用于根据实际观测值和指标预测值确定异常事件。报警检测装置150,与异常检测装置130连接,用于使用报警模型140确定异常检测装置130确定得出的异常事件是否为报警事件。报警模型140是通过有监督学习方式训练得到的,在本申请实施例中,报警模型140是通过被标记为报警事件的异常事件作为训练数据集训练得到的。
在本文中,术语“异常事件”为异常检测装置130检测出的异常,“报警事件”为报警检测装置150在异常事件的基础上进一步确定得出的作为报警的异常。一般地,报警事件为异常事件的子集。
在本申请实施例中,时间序列预测模型110是对指标时间序列的正常状态建模,其可通过无监督学习或半监督学习方式训练得到。通常情况下,正常样例出现的频率远远比异常样例多,因此,在本申请实施例中,使用训练数据集通过无监督学习的方式训练得到时间序列预测模型110。时间序列预测模型110能够预测指标时间序列在检测时间点的指标预测值。
在某些实施例中,时间序列预测模型110为简单预测方法,可避免复杂的学习和建模过程,预测简单快速,实施方便。通常预测误差较大,它们作为报警模型140的对比基准,或者和复杂方法配合一起使用。
在某些实施例中,时间序列预测模型110采用Drift方法,其考虑到数据的变化趋势,相当于以某个时间窗口内第一个和最近一个历史观测值连接起来构成一条斜的预测直线。
在某些实施例中,时间序列预测模型110采用移动平均方法。简单移动平均(Simple Moving Average,简称为SMA)方法的预测值等于时间窗口内所有历史观测值的算术平均值。SMA是加权移动平均(Weighted Moving Average,简称为WMA)的特殊形式,每个观测值的权重都相同。SMA只能用于非常短期的预测上,而且要求是没有季节性的、趋势变化缓慢的不规则数据集。SMA模型的唯一参数就是时间窗口的大小n。
在某些实施例中,时间序列预测模型110采用指数平滑法(Exponentialsmoothing),由Brown、Holt和Winters等人提出,通过对历史观测值进行加权平均的方式进行预测,权重随着观测往前呈指数下降。这种方法通过简单的计算可以产生比较可靠的预测,应用很广泛。简单指数平滑(simple exponential smoothing,简称为SES)是指数平滑方法中最简单的形式,也称为EWMA。该方法适合于预测没有明显趋势(trend)和季节模式(seasonal pattern)的时间序列。简单指数平滑是由Brow在1959年提出,它是通过加权平均的方式进行预测,给予最近的观测值更大的权重,离当前时间越远,权重越小,且呈指数下降。Holt把简单指数平滑扩展为线性指数平滑,使之可以预测有趋势的数据。Holt方法的预测在SES的基础上增加了一个趋势项,包括两个平滑公式(水平lt和趋势bt)。Holt和Winters扩展了Holt的趋势方法,增加了一个季节项。Holt-Winters方法又称为三次指数平滑(Triple exponential smoothing),包括三个平滑公式(水平lt、趋势bt和季节st)。
应当理解,上述对时间序列预测模型110的说明为示例性说明,本申请实施例对时间序列预测模型110不做限定,在本申请实施例中,任何进行实践序列预测的方法都是可行的。
在某些实施例中,异常检测装置130,用于使用残差模型确定指标时间序列在检测时间点的实际观测值与指标预测值之间的偏离度;根据该偏离度和异常阈值确定指标时间序列在该检测时间点是否为异常事件。作为一个示例,异常检测装置130,用于比较偏离度和异常阈值,如果偏离度大于异常阈值,确定指标时间序列在该检测时间点为异常事件。
在某些实施例中,异常检测装置130可使用相对宽泛的检测标准,例如通过设置较为宽泛的异常阈值,从而尽可能减少异常漏报。进一步的,报警检测装置150使用报警模型140确定异常事件中的报警事件,由于报警模型140是通过有监督学习方式训练得到的,能够更为准确地检测出报警事件,降低误报率。
在某些实施例中,报警模型140的训练数据包括:用户的反馈、报警事件标注、历史异常事件的得分,优化模型的准则是均衡减小误报率和漏报率。
偏离度的度量影响异常检测的准确性,在某些实施例中,残差模型的偏离度量与时间序列预测模型的参数拟合中使用的度量一致,使得时间序列预测模型与异常检测具有一致性。作为一个示例,残差模型的偏离度量为绝对误差偏离(AE),时间序列预测模型的参数拟合中使用的度量为均方误差(MSE),但不限于此。
在某些实施例中,报警检测装置150,还用于在使用报警模型140确定上述异常事件是否为报警事件之前,通过指标时间序列对应的过滤器过滤异常事件,其中,过滤器与指标时间序列相关联。在本申请实施例中,可以由业务专家根据指标的特性和应用的需求制定一些简单的过滤器,例如通过阈值。
在某些实施例中,报警检测装置150,还用于基于异常事件发生频率确定异常事件是否为报警事件,例如,如果连续发生至少3个异常事件,或者5分钟内有至少3个异常事件发生,则认为这些异常事件是真正的异常产生的,应判定为报警事件。
在某些实施例中,报警检测装置150,还用于基于事件异常得分确定异常事件是否为报警事件,例如,如果异常事件的异常得分超过了某个预定的阈值,则判定为报警事件。
在某些实施例中,报警检测装置150,还用于基于异常事件发生频率和异常得分确定异常事件是否为报警事件,例如,如果异常事件发生频率和异常得分都满足预定的要求,则判定为报警事件。
应当理解,本申请实施例中,报警检测装置150,可采用上述一种或多种报警事件检测策略,其可以是并行的,也可以是串行的,本申请实施例对此不做限定。
在某些实施例中,报警检测装置150,用于使用指标时间序列对应的报警模型140确定异常事件是否为报警事件,其中,指标时间序列对应的报警模型是通过该指标时间序列对应的训练数据集训练得到的。
在某些实施例中,参考图1所示,该系统还可包括报警收敛装置160。报警收敛装置160,用于通过预设规则把报警事件过滤及合并后得到的最终事件组,得到报警通知。
图2为本申请提供的指标时间序列异常检测方法一种实施方式的流程图,如图2所示,该方法包括步骤S202至步骤S208。
步骤S202,接收指标时间序列在检测时间点的实际观测值。
步骤S204,使用时间序列预测模型确定指标时间序列在检测时间点的指标预测值。
步骤S206,根据实际观测值和指标预测值确定异常事件。
步骤S208,使用报警模型确定异常事件是否为报警事件,其中,报警模型是通过被标记为报警事件的异常事件作为训练数据集训练得到的。
通过本申请实施例,使用时间序列模型预测时间序列数据在检测时间点的指标预测值,并根据该指标预测值和实际观测值确定异常事件,实现对异常的一次检测。进一步的,使用通过被标记为报警事件的异常事件作为训练数据集训练得到的报警模型,确定异常事件是否为报警事件,实现对异常的又一次检测。通过本申请,提高了异常检测准确率,降低了误报率和漏报率。并且,本申请实施例中分阶段的异常检测,使得异常检测问题在概念上更加简单,可靠性和可控性更好。
在某些实施例中,上述步骤S204中,根据指标时间序列在检测时间点的实际观测值和指标预测值确定异常事件,包括:使用残差模型确定实际观测值与指标预测值之间的偏离度;根据该偏离度和异常阈值确定指标时间序列在检测时间点是否为异常事件。作为一个示例,比较偏离度和异常阈值,如果偏离度大于异常阈值,确定指标时间序列在该检测时间点为异常事件。
异常阈值代表了异常检测的敏感度,可将预制设置为3-sigma(99.73%)。在某些实施例中,可设置较为宽泛的异常阈值从而提高检测率,也就是尽可能的减少异常漏报,由报警模型来提高准确率。
偏离度的度量影响异常检测的准确性,在某些实施例中,上述残差模型的偏离度量与时间序列预测模型的参数拟合中使用的度量一致。作为一个示例,残差模型的偏离度量为绝对误差偏离(AE),时间序列预测模型的参数拟合中使用的度量为均方误差(MSE),但不限于此。
在某些实施例中,上述步骤S208使用报警模型确定上述异常事件是否为报警事件之前,还包括:通过上述指标时间序列对应的过滤器过滤异常事件,其中,过滤器与指标时间序列相关联。在本申请实施例中,可以由业务专家根据指标的特性和应用的需求制定一些简单的过滤器,例如通过阈值。
在某些实施例中,上述步骤S208中使用报警模型确定异常事件是否为报警事件,包括:使用上述指标时间序列对应的报警模型确定上述异常事件是否为报警事件,其中,指标时间序列对应的报警模型是通过该指标时间序列对应的训练数据集训练得到的。
在某些实施例中,上述实际观测值与上述指标预测值之间的偏离度为上述报警模型的潜输入变量。
在某些实施例中,报警模型是通过超参优化方法训练得到的,其中,超参优化的参数包括平滑参数和报警阈值。作为一个示例,超参数优化方法为网格搜索,有两个主要参数,一个是高斯检测模型的平滑参数,一个是报警阈值。其中,报警阈值可根据报警标注等用户反馈数据,确定一个阈值参数,提高检测准确性。
在本申请实施例中,检测准确性的评估度量可以根据受试者工作特征(ReceiverOperating Characteristic,简称为ROC)或精准率-召回率(Precision–Recall,简称为PR)曲线来确定,如果有三个检测敏感度(sensitivity),就可以根据ROC曲线确定三个对应的检测度量。在某些实施例中,为一个默认敏感度,采用F1-score度量来代替ROC作为评估度量。
图3为本申请实施例提供的指标时间序列异常检测方法的在线检测的流程图,在方法在检测服务器(Detection server)上执行,如图3所示,该方法包括步骤S302至步骤S308。
步骤S302,接收来自Kafka的指标监控数据,其中,指标监控数据为流式时序数据。
步骤S304,从Redis中载入对应的时间序列预测模型,使用该时间序列模型进行异常检测。
上述步骤S304中,预先对指标时间序列的正常状态建模,得到时间序列预测模型,时间序列预测模型能够对检测时间点的指标值进行预测。使用时间序列预测模型对检测时间点的指标值进行预测,得到预测值ft(以及预测区间);把检测时间点的实际观测值xt和预测值ft(正常值)进行比较,计算预测误差等偏离度量(deviation measure);把偏离度量和预定的阈值(threshold)比较,计算该观测值是异常的概率(或者得分,anomaly score);如果偏离超越了阈值,则输出为异常。
对于特定时间序列来说,在步骤S304中,基于残差模型的判别方法采用绝对误差偏离度量AE(Absolute Error)=|et|,与时间序列预测模型采用的MSE相一致。在步骤S304中,残差et=ft-xt,采用的偏离度量是AE(Absolute Error)=|et|。
在步骤S304中,假定残差et符合正态分布N(0,σ^2),如果AE=|et|>3σ就判定此点为异常,这就是常用的3-sigma原则。上面的异常检测方法也称为Gaussian detector。当然可以有多个不同的detector,取决于偏离度量的分布特性。
阈值的选择和报警策略密切相关,根据具体的报警策略来决定异常的阈值以达到应用的灵活性。在本申请实施例中,可设置宽泛的预制以提高检测率,也就是尽可能的减少异常漏报,至于误报的问题则交由下面所介绍的报警模型来处理。
步骤S306,从Redis中载入对应的报警模型,使用该报警模型进行报警检测。
训练服务器(Training server)按照预定周期(例如,每10天)训练报警模型一次。训练程序从Elasticsearch读取前100天的异常事件和报警事件数据用于报警模型的训练,每个{应用标识(appId),实例标识(instanceId),指标(metric)}组合训练一个针对性的报警模型,存放到redis中。
在步骤S306中,从Redis中载入指标时间序列对应的报警模型,使用该报警模型进行报警检测。
步骤S308,将检测出的报警事件存入Elasticsearch。
通过该实施例,线上的检测服务器(Detection server)从redis中载入需要的时间序列预测模型和报警模型,对来自Kafka的指标监控数据进行实时异常检测和报警判断,把检测到的异常事件和报警事件存储到Elasticsearch。
关于模型训练
异常点预处理流程
对于训练阶段的数据缺失值,在本申请实施例中,以平滑的方式进行估计;对于预测阶段的数据(时间点)缺失,在本申请实施例中,通过预测值加上一个随机误差得到,随机误差的分布符合残差分布。
在异常检测的场景下,本申请实施例针对性能指标的正常状态进行建模。因此,在训练前的数据预处理中,把时间序列中的异常值给处理掉,把它们转换为合理的正常值。当然,我们也可以不做异常值处理,而在预测中使用对异常值更鲁棒的方法来避免其影响。
对于没有异常点的历史数据,本申请实施例采用离群点检测流程来检测可能的异常点,并对离群值进行正常化处理。之后每次训练和预测,都把异常检测的结果保存下来,等到下次训练的时候,就通过这些保存下来的异常来进行异常值处理。
在某些实施例中,采用的异常值正常化方法是把异常点的值转换为可接受的最高阈值,这么做可以把一些由于小波动导致的离群点转换为最接近的真实值。
在某些实施例中,通过移动窗口控制图(Moving Window Control Chart)离群点检测流程来进行离群点预处理。具体就是通过一个大小为5的移动窗口来计算训练数据的移动平均预测线,根据变量值和预测值的差可统计出标准差,从而得到上下均为4个标准差宽的滑动基线;如果变量值超出滑动基线范围则为离群点,需进行正常化处理,即把离群值转换为对应的基线阈值。
在某些实施例作用,通过训练服务器(Training server),按照预定周期(例如,每10天)训练报警模型一次。从Elasticsearch读取前100天的异常事件和报警事件数据用于报警模型的训练,每个{appId,instanceId,metric}组合会训练一个针对性的模型,存放到redis中。
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备20至少包括但不限于:可通过系统总线相互通信连接的存储器21、处理器22,如图4所示。需要指出的是,图4仅示出了具有组件21-22的计算机设备20,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器21(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备20的内部存储单元,例如该计算机设备20的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备20的外部存储设备,例如该计算机设备20上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备20的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备20的操作系统和各类应用软件,例如指标时间序列异常检测方法的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备20的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如指标时间序列异常检测方法的程序代码,以实现指标时间序列异常检测方法。
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储指标时间序列异常检测程序,被处理器执行时实现指标时间序列异常检测方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (10)
1.一种指标时间序列异常检测方法,其特征在于,包括:
接收指标时间序列在检测时间点的实际观测值;
使用时间序列预测模型确定所述指标时间序列在所述检测时间点的指标预测值;
根据所述实际观测值和所述指标预测值确定异常事件;
使用报警模型确定所述异常事件是否为报警事件,其中,所述报警模型是通过被标记为报警事件的异常事件作为训练数据集训练得到的。
2.根据权利要求1所述的指标时间序列异常检测方法,其特征在于,根据所述实际观测值和所述指标预测值确定异常事件,包括:
使用残差模型确定所述实际观测值与所述指标预测值之间的偏离度;
根据所述偏离度和异常阈值确定所述指标时间序列在所述检测时间点是否为异常事件。
3.根据权利要求2所述的指标时间序列异常检测方法,其特征在于,所述残差模型的偏离度量与所述时间序列预测模型的参数拟合中使用的度量一致。
4.根据权利要求3所述的指标时间序列异常检测方法,其特征在于,所述残差模型的偏离度量为绝对误差偏离AE,所述时间序列预测模型的参数拟合中使用的度量为均方误差MSE。
5.根据权利要求1所述的指标时间序列异常检测方法,其特征在于,使用报警模型确定所述异常事件是否为报警事件之前,还包括:
通过所述指标时间序列对应的过滤器过滤所述异常事件,其中,过滤器与指标时间序列相关联。
6.根据权利要求1所述的指标时间序列异常检测方法,其特征在于,使用报警模型确定所述异常事件是否为报警事件,包括:使用所述指标时间序列对应的报警模型确定所述异常事件是否为报警事件,其中,所述指标时间序列对应的报警模型是通过所述指标时间序列对应的训练数据集训练得到的。
7.根据权利要求1所述的指标时间序列异常检测方法,其特征在于,所述实际观测值与所述指标预测值之间的偏离度为所述报警模型的潜输入变量。
8.根据权利要求1或7所述的指标时间序列异常检测方法,其特征在于,所述报警模型是通过超参优化方法训练得到的,其中,超参优化的参数包括平滑参数和报警阈值。
9.一种系统,其特征在于,所述系统包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;
所述计算机程序被所述处理器执行时实现如权利要求1至8中任一项所述的指标时间序列异常检测方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指标时间序列异常检测程序,所述指标时间序列异常检测程序被处理器执行时实现如权利要求1至8中任一项所述的指标时间序列异常检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010961424.XA CN112148768A (zh) | 2020-09-14 | 2020-09-14 | 一种指标时间序列异常检测方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010961424.XA CN112148768A (zh) | 2020-09-14 | 2020-09-14 | 一种指标时间序列异常检测方法、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112148768A true CN112148768A (zh) | 2020-12-29 |
Family
ID=73892685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010961424.XA Pending CN112148768A (zh) | 2020-09-14 | 2020-09-14 | 一种指标时间序列异常检测方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112148768A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112629905A (zh) * | 2020-12-22 | 2021-04-09 | 杭州未名信科科技有限公司 | 基于深度学习的设备异常检测方法、系统及计算机介质 |
CN112949951A (zh) * | 2021-04-29 | 2021-06-11 | 杭州数梦工场科技有限公司 | 数据预测方法、装置、电子设备及存储介质 |
CN112951415A (zh) * | 2021-04-01 | 2021-06-11 | 哈尔滨理工大学 | 一种基于深度学习的时间序列异常检测系统 |
CN113254877A (zh) * | 2021-05-18 | 2021-08-13 | 北京达佳互联信息技术有限公司 | 异常数据检测方法、装置、电子设备及存储介质 |
CN113722176A (zh) * | 2021-07-30 | 2021-11-30 | 银清科技有限公司 | 一种自适应的异常性能指标确定方法及装置 |
CN113900899A (zh) * | 2021-10-20 | 2022-01-07 | 广东亿迅科技有限公司 | 一种基于ARMA与3sigma的动态阈值检测方法及系统 |
CN113962273A (zh) * | 2021-09-22 | 2022-01-21 | 北京必示科技有限公司 | 一种基于多指标的时间序列异常检测方法、系统及存储介质 |
CN114363061A (zh) * | 2021-12-31 | 2022-04-15 | 深信服科技股份有限公司 | 一种异常流量检测方法、系统、存储介质和终端 |
CN115168159A (zh) * | 2022-09-06 | 2022-10-11 | 北京达佳互联信息技术有限公司 | 异常检测方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016212642A (ja) * | 2015-05-08 | 2016-12-15 | 富士電機株式会社 | アラーム予測装置、アラーム予測方法及びプログラム |
CN109902703A (zh) * | 2018-09-03 | 2019-06-18 | 华为技术有限公司 | 一种时间序列异常检测方法及装置 |
CN110795324A (zh) * | 2019-10-30 | 2020-02-14 | 中国银联股份有限公司 | 一种数据处理方法及装置 |
CN111191855A (zh) * | 2020-01-13 | 2020-05-22 | 大连理工大学 | 一种基于管网多元水质时序数据的水质异常事件识别预警方法 |
-
2020
- 2020-09-14 CN CN202010961424.XA patent/CN112148768A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016212642A (ja) * | 2015-05-08 | 2016-12-15 | 富士電機株式会社 | アラーム予測装置、アラーム予測方法及びプログラム |
CN109902703A (zh) * | 2018-09-03 | 2019-06-18 | 华为技术有限公司 | 一种时间序列异常检测方法及装置 |
CN110795324A (zh) * | 2019-10-30 | 2020-02-14 | 中国银联股份有限公司 | 一种数据处理方法及装置 |
CN111191855A (zh) * | 2020-01-13 | 2020-05-22 | 大连理工大学 | 一种基于管网多元水质时序数据的水质异常事件识别预警方法 |
Non-Patent Citations (2)
Title |
---|
吴江波: ""智能视频监控系统的运动目标检测与跟踪算法研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
李林: "《智能化系统工程顾问指南》", 30 June 2008 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112629905A (zh) * | 2020-12-22 | 2021-04-09 | 杭州未名信科科技有限公司 | 基于深度学习的设备异常检测方法、系统及计算机介质 |
CN112951415A (zh) * | 2021-04-01 | 2021-06-11 | 哈尔滨理工大学 | 一种基于深度学习的时间序列异常检测系统 |
CN112949951A (zh) * | 2021-04-29 | 2021-06-11 | 杭州数梦工场科技有限公司 | 数据预测方法、装置、电子设备及存储介质 |
CN113254877A (zh) * | 2021-05-18 | 2021-08-13 | 北京达佳互联信息技术有限公司 | 异常数据检测方法、装置、电子设备及存储介质 |
CN113722176A (zh) * | 2021-07-30 | 2021-11-30 | 银清科技有限公司 | 一种自适应的异常性能指标确定方法及装置 |
CN113962273A (zh) * | 2021-09-22 | 2022-01-21 | 北京必示科技有限公司 | 一种基于多指标的时间序列异常检测方法、系统及存储介质 |
CN113900899A (zh) * | 2021-10-20 | 2022-01-07 | 广东亿迅科技有限公司 | 一种基于ARMA与3sigma的动态阈值检测方法及系统 |
CN114363061A (zh) * | 2021-12-31 | 2022-04-15 | 深信服科技股份有限公司 | 一种异常流量检测方法、系统、存储介质和终端 |
CN115168159A (zh) * | 2022-09-06 | 2022-10-11 | 北京达佳互联信息技术有限公司 | 异常检测方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112148768A (zh) | 一种指标时间序列异常检测方法、系统及存储介质 | |
US10733536B2 (en) | Population-based learning with deep belief networks | |
CN111459778B (zh) | 运维系统异常指标检测模型优化方法、装置及存储介质 | |
US10192170B2 (en) | System and methods for automated plant asset failure detection | |
US9379951B2 (en) | Method and apparatus for detection of anomalies in integrated parameter systems | |
EP3183622B1 (en) | Population-based learning with deep belief networks | |
WO2014208002A1 (ja) | システム分析装置、システム分析方法、及びシステム分析プログラム | |
CN108460397B (zh) | 设备故障类型的分析方法、装置、储存介质和电子设备 | |
CN112800116A (zh) | 一种业务数据的异常检测方法及装置 | |
CN105071983A (zh) | 一种面向云计算在线业务的异常负载检测方法 | |
CN114218403A (zh) | 基于知识图谱的故障根因定位方法、装置、设备及介质 | |
CN111650922A (zh) | 一种智能家居异常检测方法和装置 | |
EP2963552B1 (en) | System analysis device and system analysis method | |
CN112257755A (zh) | 航天器运行状态的分析方法和装置 | |
CN110858072B (zh) | 设备运行状态的确定方法及装置 | |
CN116187552A (zh) | 异常检测方法、计算设备及计算机存储介质 | |
KR101960755B1 (ko) | 미취득 전력 데이터 생성 방법 및 장치 | |
CN112882898B (zh) | 基于大数据日志分析的异常检测方法、系统、设备及介质 | |
US20230297095A1 (en) | Monitoring device and method for detecting anomalies | |
CN116523172A (zh) | 基于跨指标的多维度根本原因分析 | |
CN112380073B (zh) | 一种故障位置的检测方法、装置及可读存储介质 | |
CN111783883A (zh) | 一种异常数据的检测方法及装置 | |
US20140188772A1 (en) | Computer-implemented methods and systems for detecting a change in state of a physical asset | |
US10157113B2 (en) | Information processing device, analysis method, and recording medium | |
WO2023155967A1 (en) | Thermal anomaly management |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201229 |
|
RJ01 | Rejection of invention patent application after publication |