CN106095655A - 一种异常检测方法、应用和监控设备 - Google Patents

一种异常检测方法、应用和监控设备 Download PDF

Info

Publication number
CN106095655A
CN106095655A CN201610374201.7A CN201610374201A CN106095655A CN 106095655 A CN106095655 A CN 106095655A CN 201610374201 A CN201610374201 A CN 201610374201A CN 106095655 A CN106095655 A CN 106095655A
Authority
CN
China
Prior art keywords
array
time
detected
sequence
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.)
Granted
Application number
CN201610374201.7A
Other languages
English (en)
Other versions
CN106095655B (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.)
Beijing Ruixiang Technology Co.,Ltd.
Original Assignee
Beijing Oneapm Communication Technology Co Ltd
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 Beijing Oneapm Communication Technology Co Ltd filed Critical Beijing Oneapm Communication Technology Co Ltd
Priority to CN201610374201.7A priority Critical patent/CN106095655B/zh
Publication of CN106095655A publication Critical patent/CN106095655A/zh
Application granted granted Critical
Publication of CN106095655B publication Critical patent/CN106095655B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Testing Or Calibration Of Command Recording Devices (AREA)

Abstract

本发明公开了一种异常检测方法,在监控设备中执行,适于对被监控设备的一个或多个周期性性能指标进行实时异常检测,该方法包括:获取被监控设备的某个周期性性能指标的第一时间序列,第一时间序列包括[t0,tnow]时间段内所述周期性性能指标的多个观测值;设置每周期数据量n0;根据每周期数据量n0和第一时间序列确定第二时间序列X,第二时间序列包括从[tnow‑δ*n0+1,tnow]时间段内该周期性性能指标的多个观测值;将X进行STL分解,拆分为周期序列S、趋势序列T、残差序列R;根据X和S确定待检测数组D;采用改进的ESD算法确定D中的异常点和各异常点的离群分值。本发明还公开了能够实施上述方法的异常检测应用,和包括上述应用的监控设备。

Description

一种异常检测方法、应用和监控设备
技术领域
本发明涉及计算设备性能监控技术领域,尤其涉及一种能够对被监控设备的一个或多个周期性性能指标进行实时异常检测的方法、应用和监控设备。
背景技术
随着信息技术的发展,各种应用、网站层出不穷,对计算设备的性能提出了更高的要求。对各项性能指标进行监控,实时获取计算设备的运行状态并排查异常,是提高其计算性能的必要步骤。一般来说,监控的性能指标包括CPU利用率、吞吐量、响应时间,等等。在监控时,每隔一段时间对各性能指标进行一次采样,因此,每个性能指标的监控结果呈现为一个时间序列。此外,一些性能指标存在一定的周期性,例如吞吐量在白天较高,晚上降低,因为白天的活跃用户及活跃应用较多。
ESD(Extreme Studentized Deviate,极端学生化偏差)检测是一种常用的离群点检测方法,但是其时间复杂度为O(N^2),耗时长,因而无法实现对时间序列异常的实时监测。此外,现有方法对异常值的判定采用的是一种二值的方式,即,对于一个时间值,其要么是异常值,要么不是。这种方式虽然可以标出异常值,但无法确定异常的程度,相应地,也无法根据不同的异常程度来制定合适的改进措施。
发明内容
为此,本发明提供一种异常检测方法、应用和监控设备,以力图解决或至少缓解上面存在的问题。
根据本发明的一个方面,提供一种异常检测方法,在监控设备中执行,适于对被监控设备的一个或多个周期性性能指标进行实时异常检测,所述方法包括:获取被监控设备的某个周期性性能指标的第一时间序列,所述第一 时间序列包括[t0,tnow]时间段内所述周期性性能指标的多个观测值,其中,t0为初始时刻,tnow为当前时刻;设置每周期数据量n0,所述每周期数据量表示每个周期内包括的周期性性能指标的观测值的数目;根据所述每周期数据量n0和第一时间序列确定第二时间序列X,所述第二时间序列包括从[tnow-δ*n0+1,tnow]时间段内所述周期性性能指标的多个观测值,其中,δ为正整数;将所述第二时间序列X进行STL分解,以将所述第二时间序列X拆分为周期序列S、趋势序列T、残差序列R三者之和;根据所述第二时间序列X和周期序列S确定待检测数组D;采用改进的ESD算法确定所述待检测数组D中的异常点和各异常点的离群分值。
可选地,在根据本发明的异常检测方法中,根据所述第二时间序列X和周期序列S确定待检测数组D的步骤采用以下公式:
D=X-S-median(X)
其中,median(X)表示第二时间序列X的中位数。
可选地,在根据本发明的异常检测方法中,采用改进的ESD算法确定所述待检测数组D中的异常点和各异常点的离群分值的步骤包括:根据所述待检测数组D计算离群分布数组A,所述离群分布数组A适于存储待检测数组D中每一个元素的离群分值;根据所述离群分布数组A确定位置数组A’,所述位置数组A’适于存储将离群分布数组A中的元素进行排序后,排序后的元素在离群分布数组A中的位置;在设定的显著性水平α下,计算临界值λ,并根据λ、离群分布数组A和位置数组A’来确定所述待检测数组D中的异常点。
可选地,在根据本发明的异常检测方法中,根据所述待检测数组D计算离群分布数组A的步骤采用以下公式:
A = D - m e d i a n ( D ) m a d ( D )
其中,median(D)表示待检测数组D的中位数,mad(D)表示待检测数组D的平均绝对偏差,其中,N表示第二时间序列X中包含的观测值的数目。
可选地,在根据本发明的异常检测方法中,将离群分布数组A中的元素 进行排序包括:将离群分布数组A中的元素按照由大到小的顺序排序;将离群分布数组A中的元素按照由小到大的顺序排序。
可选地,在根据本发明的异常检测方法中,在设定的显著性水平α下,计算临界值λ,并根据λ、离群分布数组A和位置数组A’来确定所述待检测数组D中的异常点的步骤进一步包括:
步骤一:设置i=1,n=N,指针p1指向A’[0],指针p2指向A’[N-1];
步骤二:在设定的显著性水平α下,计算临界值λi
步骤三:获取A[*p1]和A[*p2]的值,其中,*p1表示指针p1所指向的元素的内容,*p2表示指针p2所指向的元素的内容,若|A[*p1]|≥|A[*p2]|,则将D[*p1]作为准异常点Doutlier,其离群分值为A[*p1],指针p1后移一位;若|A[*p1]|<|A[*p2]|,则将D[*p2]作为准异常点Doutlier,其离群分值为A[*p2],指针p2后移一位;
步骤四:计算检验值Goutlier,若Goutlieri,则Doutlier是异常点,执行步骤五;若Goutlier≤λi,则Doutlier不是异常点,执行步骤六;
步骤五:从待检测数组D中删除Doutlier,并更新删除Doutlier后待检测数组D的中位数median(D)、均值mean和标准差std;判断标准差std与阈值的相对大小,若标准差std大于阈值,i=i+1,n=n-1,执行步骤二;若标准差std小于等于阈值,执行步骤六;
步骤六:结束。
可选地,在根据本发明的异常检测方法中,显著性水平α取值为0.05。
可选地,在根据本发明的异常检测方法中,临界值λi按照如下公式计算:
&lambda; i = ( n - i ) t p , n - i - 1 ( n - i - 1 + t p , n - i - 1 2 ) ( n - i + 1 )
其中,tp,n-i-1表示自由度为n-i-1的t分布的第100*p百分位数,其中,p=1-α/(2(n-i+1))。
可选地,在根据本发明的异常检测方法中,检验值Goutlier按照如下公式计算:
G o u t l i e r = D o u t l i e r - m e d i a n ( D ) s t d
可选地,在根据本发明的异常检测方法中,待检测数组D的均值mean和标准差std按照如下公式计算:
mean=(mean*n-Doutlier)/(n-1)
s t d = n * std 2 + n * mean 2 - D o u t l i e r 2 - ( n * m e a n - D o u t l i e r ) 2 n - 1 n - 1
可选地,在根据本发明的异常检测方法中,阈值取值为10^(-10)。
可选地,在根据本发明的异常检测方法中,在步骤一中,进一步设置最大异常比例maxAnoms;在步骤五中,在所述判断标准差std与阈值的相对大小的步骤之前,进一步判断i与的相对大小,其中,表示向下取整,若继续执行步骤五中所述判断标准差std与阈值的相对大小的步骤;若执行步骤六。
可选地,在根据本发明的异常检测方法中,周期性性能指标包括:CPU利用率、吞吐量、响应时间、JVM中新生代的垃圾回收频率中的至少一种。
可选地,在根据本发明的异常检测方法中,在所述获取被监控设备的某个周期性性能指标的第一时间序列的步骤之后,在所述根据所述每周期数据量n0和第一时间序列确定第二时间序列X的步骤之前,还包括:填充第一时间序列中缺失的数据。
可选地,在根据本发明的异常检测方法中,δ取值为3。
可选地,在根据本发明的异常检测方法中,在所述采用改进的ESD算法确定所述待检测数组D中的异常点和各异常点的离群分值的步骤之后,还包括:将异常点和各异常点的离群分值以文本和/或图形界面的形式在监控设备的屏幕上显示。
根据本发明的一个方面,提供一种异常检测应用,在监控设备中执行,适于对被监控设备的一个或多个周期性性能指标进行实时异常检测,所述装置包括:数据获取模块,适于获取被监控设备的某个周期性性能指标的第一时间序列,所述第一时间序列包括[t0,tnow]时间段内所述周期性性能指标的多 个观测值,其中,t0为初始时刻,tnow为当前时刻;参数设置模块,适于设置每周期数据量n0,所述每周期数据量表示每个周期内包括的周期性性能指标的观测值的数目;数据截取模块,适于根据所述每周期数据量n0和第一时间序列确定第二时间序列X,所述第二时间序列包括从[tnow-δ*n0+1,tnow]时间段内所述周期性性能指标的多个观测值,其中,δ为正整数;数据分解模块,适于将所述第二时间序列X进行STL分解,以将所述第二时间序列X拆分为周期序列S、趋势序列T、残差序列R三者之和;异常检测模块,适于根据所述第二时间序列X和周期序列S确定待检测数组D;并采用改进的ESD算法确定所述待检测数组D中的异常点和各异常点的离群分值。
可选地,在根据本发明的异常检测应用中,异常检测模块适于按照以下公式来根据所述第二时间序列X和周期序列S确定待检测数组D:
D=X-S-median(X)
其中,median(X)表示第二时间序列X的中位数。
可选地,在根据本发明的异常检测应用中,异常检测模块进一步适于执行以下步骤:根据所述待检测数组D计算离群分布数组A,所述离群分布数组A适于存储待检测数组D中每一个元素的离群分值;根据所述离群分布数组A确定位置数组A’,所述位置数组A’适于存储将离群分布数组A中的元素进行排序后,排序后的元素在离群分布数组A中的位置;在设定的显著性水平α下,计算临界值λ,并根据λ、离群分布数组A和位置数组A’来确定所述待检测数组D中的异常点。
可选地,在根据本发明的异常检测应用中,异常检测模块适于按照以下公式来根据所述待检测数组D计算离群分布数组A:
A = D - m e d i a n ( D ) m a d ( D )
其中,median(D)表示待检测数组D的中位数,mad(D)表示待检测数组D的平均绝对偏差,其中,N表示第二时间序列X中包含的观测值的数目。
可选地,在根据本发明的异常检测应用中,异常检测模块还适于:将离群分布数组A中的元素按照由大到小的顺序排序;将离群分布数组A中的元 素按照由小到大的顺序排序。
可选地,在根据本发明的异常检测应用中,异常检测模块进一步适于执行以下步骤:
步骤一:设置i=1,n=N,指针p1指向A’[0],指针p2指向A’[N-1];
步骤二:在设定的显著性水平α下,计算临界值λi
步骤三:获取A[*p1]和A[*p2]的值,其中,*p1表示指针p1所指向的元素的内容,*p2表示指针p2所指向的元素的内容,若|A[*p1]|≥|A[*p2]|,则将D[*p1]作为准异常点Doutlier,其离群分值为A[*p1],指针p1后移一位;若|A[*p1]|<|A[*p2]|,则将D[*p2]作为准异常点Doutlier,其离群分值为A[*p2],指针p2后移一位;
步骤四:计算检验值Goutlier,若Goutlieri,则Doutlier是异常点,执行步骤五;若Goutlier≤λi,则Doutlier不是异常点,执行步骤六;
步骤五:从待检测数组D中删除Doutlier,并更新删除Doutlier后待检测数组D的中位数median(D)、均值mean和标准差std;判断标准差std与阈值的相对大小,若标准差std大于阈值,i=i+1,n=n-1,执行步骤二;若标准差std小于等于阈值,执行步骤六;
步骤六:结束。
可选地,在根据本发明的异常检测应用中,显著性水平α取值为0.05。
可选地,在根据本发明的异常检测应用中,异常检测模块适于按照以下公式来计算临界值λi
&lambda; i = ( n - i ) t p , n - i - 1 ( n - i - 1 + t p , n - i - 1 2 ) ( n - i + 1 )
其中,tp,n-i-1表示自由度为n-i-1的t分布的第100*p百分位数,其中,p=1-α/(2(n-i+1))。
可选地,在根据本发明的异常检测应用中,异常检测模块适于按照以下公式计算检验值Goutlier
G o u t l i e r = D o u t l i e r - m e d i a n ( D ) s t d
可选地,在根据本发明的异常检测应用中,异常检测模块适于按照以下公式计算待检测数组D的均值mean和标准差std:
mean=(mean*n-Doutlier)/(n-1)
s t d = n * std 2 + n * mean 2 - D o u t l i e r 2 - ( n * m e a n - D o u t l i e r ) 2 n - 1 n - 1
可选地,在根据本发明的异常检测应用中,阈值取值为10^(-10)。
可选地,在根据本发明的异常检测应用中,异常检测模块进一步适于执行以下步骤:在设定的最大异常比例maxAnoms下,在步骤五中所述判断标准差std与阈值的相对大小的步骤之前,进一步判断i与的相对大小,其中,表示向下取整,若继续执行步骤五中所述判断标准差std与阈值的相对大小的步骤;若执行步骤六。
可选地,在根据本发明的异常检测应用中,周期性性能指标包括:CPU利用率、吞吐量、响应时间、JVM中新生代的垃圾回收频率中的至少一种。
可选地,在根据本发明的异常检测应用中,还包括数据填充模块,适于填充第一时间序列中缺失的数据。
可选地,在根据本发明的异常检测应用中,δ取值为3。
可选地,在根据本发明的异常检测应用中,还包括结果输出模块,适于将异常点和各异常点的离群分值以文本和/或图形界面的形式在监控设备的屏幕上显示。
根据本发明的一个方面,提供一种监控设备,包括如上所述的异常检测应用。
根据本发明的技术方案,通过从第一时间序列中截取第二时间序列,大大减少了异常检测的源数据量,从而减少了运算时间。此外,本发明采用了一种改进的ESD算法进行异常检测。该算法中引入了离群分布数组A和位置数组A’,使得每次计算异常点的循环中不必再重新查找待检测数组D中异常程度最大的点,将ESD算法的时间复杂度由O(N^2)降为O(N*logN),减少了运算时间。本发明的异常检测方案时间消耗很小,因而可以实现实时的异常 检测。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的性能监控系统100的示意图;
图2示出了根据本发明一个实施例的监控设备200的结构图;
图3示出了根据本发明一个实施例的异常检测应用300的结构图;
图4示出了根据本发明一个实施例的第二时间序列的STL分解的示意图;
图5示出了根据本发明一个实施例的改进的ESD算法400的流程图;
图6示出了根据本发明一个实施例的异常检测结果的示意图;以及
图7示出了根据本发明一个实施例的异常检测方法700的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的性能监控系统100的示意图。如图1所示,性能监控系统包括1个监控设备200和多个被监控设备。监控设备200可以是桌面计算机、笔记本计算机、服务器或工作站。监控设备200还可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如手机、平板电脑、个人媒体播放器设备、无线网络浏览设备、可穿戴设备(如智能手表、智能眼镜等)、应用专用设备、或者可以包括上面任何功能的混合设备。被监控设备包括桌面电脑、笔记本电脑、平板电脑、手机等具 有运算能力的设备。虽然图1中仅示出了一个监控设备200,但是本领域技术人员可以意识到,性能监控系统100中还可以包括多个监控设备,这些监控设备可以驻留在多个地理位置中。
监控设备200中部署了异常检测应用300,可以对多个被监控设备的多项周期性性能指标进行监控,实时获取被监控设备的运行状态并排查异常。具体来说,首先采集周期性性能指标的实时数据,然后对数据进行截取,将截取的周期性时间序列数据进行STL分解,随后,采用改进的ESD算法检测异常点并计算各异常点的离群分值,最后,将异常检测结果以文本和/或图形界面的形式在监控设备200的屏幕上进行显示。
图2示出了根据本发明一个实施例的监控设备200的结构图。在基本配置202中,监控设备200典型地包括系统存储器206和一个或者多个处理器204。系统存储器206可以包括操作系统220、一个或者多个应用222以及程序数据226,应用222可以布置为在操作系统上利用程序数据226进行操作。
根据一种实施例,应用222可以被配置为包括异常检测应用300,相应地,程序数据226中存储有实时采集到的一个或多个被监控设备的一个或多个周期性性能指标数据,周期性性能指标数据实际上是一个时间序列。异常检测应用300从程序数据226中获取周期性性能指标的时间序列,并分别检测各指标时间序列中的异常点和各异常点的离群分值。
图3示出了根据本发明一个实施例的异常检测应用300的结构图。该应用在监控设备中执行,适于对被监控设备的一个或多个周期性性能指标进行实时异常检测。实时异常检测就是,每当监控设备200采集到一个新的周期性性能指标的观测值,异常检测应用300均进行一次异常检测,异常检测与新观测值的产生几乎同步。如图3所示,异常检测应用300包括数据获取模块310、参数设置模块320、数据截取模块330、数据分解模块340和异常检测模块350。
数据获取模块310适于获取被监控设备的某个周期性性能指标的第一时间序列,所述第一时间序列包括[t0,tnow]时间段内周期性性能指标的多个观测值,其中,t0为初始时刻(即开始从被监控设备处采集数据的时刻),tnow为当前时刻。当然,数据获取模块210也可以获取多个周期性性能指标的第一 时间序列。对于上述多个周期性性能指标,需要分别计算每个周期性性能指标所对应的异常点。因此,多个周期性性能指标的实时异常检测与单个周期性性能指标的实时异常检测的原理相同,为了叙述方便,此处以单个周期性性能指标的实时异常检测为例对本发明的技术方案进行说明。
数据获取模块310可以直接采集被监控设备的周期性性能指标数据,也可以先由监控设备200的其他应用224来采集数据并存储至程序数据226(参考图2),然后数据获取模块310再从程序数据226处读取周期性性能指标数据。性能指标数据的采集方法是本领域的公知技术,例如通过向被监控设备中部署探针、注入脚本,或通过被监控设备本身提供的接口,等等,此处对性能数据的采集方法不做赘述。
在获取到某个周期性性能指标的第一时间序列后,可以先判断第一时间序列是否完整。若不完整,则由数据填充模块360(图3中未示出)来填充缺失的数据。填充缺失数据的方法可以是:分别获取空缺位置左边和右边的第一个非空数值,用这两个数值的平均数作为缺失的数据填入空缺位置。例如,获取到的第一时间序列为M=[1,2,3,4,,6],元素M[4]缺失。M[4]左边第一个非空数值为4,右边第一个非空数值为6,二者的平均数为5,则用5来填充M[4]。当然,除上述方法之外,还可以采用其他方法来填充缺失的数据,本发明对填充缺失数据的具体算法不做限制。
一般来说,性能监控是一项长期的活动。对于每分钟采集一次的性能指标,一天会产生1440个观测值,对于每秒采集一次的性能指标,一天会产生86400个观测值,若将性能监控长年累月地坚持下去,则监控数据量会累积得很庞大。也就是说,对于某个周期性性能指标,第一时间序列的数据量往往很大。在这种情况下,若直接对第一时间序列来进行异常检测,需要消耗很多的时间和计算资源,无法实现实时性。为了实现实时的异常检测,需要从第一时间序列中截取距离当前时刻最近的一部分观测值,构成第二时间序列,然后对第二时间序列进行异常检测。
在数据截取的过程中,首先由参数设置模块320来设置每周期数据量n0,每周期数据量n0表示每个周期内包括的周期性性能指标的观测值的数目。当然,参数设置模块320不仅适于设置每周期数据量n0,还适于设置后续异常检测过程中的其他参数。实际上,本发明涉及到的所有输入参数均由参数设 置模块320统一设置,该事实在后续描述中不再另行指出。
随后,数据截取模块330根据每周期数据量n0和第一时间序列来确定第二时间序列,第二时间序列包括从[tnow-δ*n0+1,tnow]时间段内所述周期性性能指标的多个观测值,其中,δ为正整数。该方法相当于提供了一个固定长度的滑动窗口。随着性能指标数据的不断采集,第一时间序列的长度不断增加,滑动窗口随之右移,滑动窗口的右侧总是当前时刻的观测值,滑动窗口的长度固定为(δ*n0)。根据一种实施例,δ取3,也就是说,从第一时间序列中截取距离当前时刻最近的三个周期内的观测值作为第二时间序列。当然,在其他实施例中,δ也可以取其他值,δ越大,则实时性越差;而当δ较小时,虽然实时性好,但是也会对异常检测的准确性有一定影响,本领域技术人员可以参考以上描述自行确定δ的取值。
数据分解模块340适于将第二时间序列进行STL分解。STL(seasonal and trenddecomposition using LOESS,采用LOESS局部加权回归的时间序列周期量和趋势量的分解方法)是一种常用的时间序列分解方法,能够把一个已知的时间序列拆分为周期序列S(Seasonal)、趋势序列T(Trend)和残差序列R(Residual)三者之和。用X表示第二时间序列,数据分解模块340实现的是以下等式:X=S+T+R。STL分解算法是现有算法,具体步骤可以参考Robert B.Cleveland和William B.Cleveland等人与1990年在Journal of OfficialStatistics期刊上发表的题为《STL:A seasonal-trend decomposition procedure basedon loess》的论文,此处对于STL分解算法的具体过程不做赘述。
图4示出了根据本发明一个实施例的第二时间序列的STL分解的示意图。图4从上到下包括4部分,每一部分的横坐标表示观测值的时间序号,纵坐标表示观测值的大小。第一部分为第二时间序列X的示意图,第二~第四部分分别表示趋势序列T、周期序列S和残差序列R的示意图。在如图4所示,趋势序列T用于表示第二时间序列X随时间的整体涨落趋势,周期序列S用于描述第二时间序列X的周期性分量,残差序列R则是第二时间序列X减去趋势序列T和周期序列S之后剩余的部分。
异常检测模块350适于根据所述第二时间序列X和周期序列S确定待检测数组D,并采用改进的ESD(Extreme Studentized Deviate,极端学生化偏差)算法确定待检测数组D中的异常点和各异常点的离群分值。待检测数组D中 的异常点即是第二时间序列X中的异常点。
首先,异常检测模块350按照以下公式来确定待检测数组D:
D=X-S-median(X) (1)
其中,median(X)表示第二时间序列X的中位数。
随后,采用改进的ESD算法确定待检测数组D中的异常点和各异常点的离群分值。图5示出了根据本发明一个实施例的改进的ESD算法400的流程图。如图5所示,改进的ESD算法始于步骤S410。
在步骤S410中,根据待检测数组D确定离群分布数组A,并根据离群分布数组A确定位置数组A’。
离群分布数组A按照以下公式计算:
A = D - m e d i a n ( D ) m a d ( D ) - - - ( 2 )
其中,median(D)表示待检测数组D的中位数,mad(D)表示待检测数组D的平均绝对偏差,其中,N表示第二时间序列X中包含的观测值的数目,也即初始状态下待检测数组D中包含的元素的数目。离群分布数组A中存储的是待检测数组D中每一个元素的离群分值,离群分值的绝对值用于标记各元素的异常程度,离群分值的绝对值越高,其对应元素的异常程度越大。
随后,根据离群分布数组A确定位置数组A’,位置数组A’存储将离群分布数组A中的元素进行排序(升序或降序)后,排序后的元素在离群分布数组A中的位置。例如,A=[3,5,9,4,7],则将A中元素从小到大排序得到的位置数组A’=[0,3,1,4,2],也即,A中值最小的元素“3”在A中对应的位置下标为“0”,A中第二小的元素“4”在A中对应的位置下标为“3”,依次类推。同理,将A中元素从大到小排序得到的位置数组A’=[2,4,1,3,0]。
由于A’中记录了将A中元素进行排序后各元素在A中对应的位置,在后续异常检测的过程中将很容易定位离群分值最大(即异常程度最大)的元素。A中离群分值最大的元素要么位于A’[0]所指示的位置,要么位于A’[N-1]所指示的位置,即,A中离群分值最大的元素要么是A[A’[0]],要么是A[A’[N-1]]。同时,位置数组A’也使得对median(D)的定位变得很方便。A’最中间的元素 所指示的位置即为待检测数组D的中位数所在的位置,即(表示向下取整)。
步骤S420中设置了本算法需要的参数及变量。参考通用的ESD算法,在进行异常检测时,需要设定显著水平α(0≤α≤1)和最大异常比例maxAnoms。通常,将显著水平设定为一个较小的数,例如,α=0.05。最大异常比例maxAnoms表示异常点的数目占观测值总数目N的最大比例,相应地,(i*maxAnoms)即表示异常点的最大数目。maxAnoms可以示例性地设置为10%。显著水平α和最大异常比例maxAnoms对于图5所示的改进的ESD算法来说是常量,这两个量可以在改进的ESD算法外部进行设置,即,通过参数设置模块320来设置。i,n,p1,p2为算法内部的变量,在算法开始时被初始化,不需要在外部对其进行赋值。其中,i为异常点的计数变量,n为待检测数组D中的元素数目,p1和p2为分别指向位置数组A’的两端的指针,即,指针p1指向A’[0],指针p2指向A’[N-1]。此外,为了方便确定median(D),还可以设置一个指针p3,p3指向median(D)=D[*p3]。
随后,在步骤S430中,采用以下公式计算临界值λi
&lambda; i = ( n - i ) t p , n - i - 1 ( n - i - 1 + t p , n - i - 1 2 ) ( n - i + 1 ) - - - ( 3 )
其中,tp,n-i-1表示自由度为n-i-1的t分布的第100*p百分位数,其中,p=1-α/(2(n-i+1))。i的初值为1。
随后,在步骤S440中,比较指针p1和p2对应的离群分值的大小,即比较|A[*p1]|和|A[*p2]|的大小,*p1表示指针p1所指向的元素的内容,*p2表示指针p2所指向的元素的内容。若|A[*p1]|≥|A[*p2]|,则将D[*p1]作为准异常点Doutlier,其离群分值为A[*p1],并将p1和p3指针后移一位;若|A[*p1]|<|A[*p2]|,则将D[*p2]作为准异常点Doutlier,其离群分值为A[*p2],并将p2和p3指针前移一位。
随后,在步骤S450中,按照以下公式计算准异常点Doutlier的检验值Goutlier
G o u t l i e r = D o u t l i e r - m e d i a n ( D ) s t d - - - ( 4 )
其中,median(D)表示待检测数组D的中位数,std表示待检测数组D的 标准差。
随后,在步骤S460中,比较Goutlier与λi的相对大小。若Goutlier≤λi,则Doutlier不是异常点,结束整个异常检测过程。若Goutlieri,则Doutlier是异常点,继续执行步骤S470。
在步骤S470中,从待检测数组D中删除Doutlier,并更新删除Doutlier后待检测数组D的中位数median(D)、均值mean和标准差std,更新均值mean和标准差std可以采用以下公式:
mean=(mean*n-Doutlier)/(n-1) (5)
s t d = n * std 2 + n * mean 2 - D o u t l i e r 2 - ( n * m e a n - D o u t l i e r ) 2 n - 1 n - 1 - - - ( 6 )
删除Doutlier后,新的median(D)即为D[*p3]。
随后,在步骤S480中,判断i与的相对大小,其中,表示向下取整,若则结束整个异常检测过程。若 则进一步执行S490,判断标准差std与阈值的相对大小。若标准差std大于阈值,则i=i+1,n=n-1,并返回步骤S430继续计算λi,查找下一个异常点,若标准差小于等于阈值,则结束整个异常检测过程。根据一种实施例,阈值可以取值为10^(-10)。
在图5示出的算法过程中,每一个循环至多能够检测出一个异常点。每检测出一个异常点,则将其从待检测数组D中删除,数组D的长度是在变化的(用变量n表示),而离群分布数组A和位置数组A’在整个计算过程中均保持不变,只是采用指针p1、p2、p3来实现不同元素的定位。
图5所示的改进的ESD算法相对于通用ESD算法的改进点主要在于:
1)引入了离群分布数组A和位置数组A’。离群分布数组A可以标记待检测数组D中各元素的离群分值,即各元素的异常程度。位置数组A’记录了将A中元素进行排序后各元素在A中对应的位置,使得确定异常程度最大的点的位置变得很容易,在每次计算异常点的循环中不必再重新确定待检测数组D中异常程度最大的点,这大大降低了算法的时间复杂度。通用ESD算法的时间复杂度为O(N^2),而本发明中改进的ESD算法的时间复杂度仅为 O(N*logN),时间消耗很小,可以实现实时的异常检测。
2)在确定待检测数据D、离群分布数组A和检验值Goutlier时,采用的是中位数,而不是平均数。提高了异常检测的准确性。
根据一种实施例,异常检测应用300还包括结果输出模块370(图3中未示出),当异常检测模块350完成异常点的检测后,结果输出模块适于将异常点和各异常点的离群分值以文本和/或图形界面的形式在监控设备的屏幕上显示。图6示出了根据本发明一个实施例的异常检测结果的示意图。图6中,横坐标表示观测值的时间序号,左边的纵坐标表示观测值的大小,右边的纵坐标表示异常点的离群分值。图中有上下两条曲线,上面的曲线即为第一时间序列的一部分,下面曲线是异常检测结果曲线。在异常检测结果曲线上,非0点即为异常点,离群分值越高,则该点为异常的可能性越大。
图7示出了根据本发明一个实施例的异常检测方法700的流程图。该方法在监控设备中执行,适于对被监控设备的一个或多个周期性性能指标进行实时异常检测。如图7所示,该方法始于步骤S710。
在步骤S710中,获取被监控设备的某个周期性性能指标的第一时间序列,第一时间序列包括[t0,tnow]时间段内所述周期性性能指标的多个观测值,其中,t0为初始时刻,tnow为当前时刻。
随后,在步骤S720中,设置每周期数据量n0,每周期数据量表示每个周期内包括的周期性性能指标的观测值的数目。
随后,在步骤S730中,根据每周期数据量n0和第一时间序列确定第二时间序列X,第二时间序列包括从[tnow-δ*n0+1,tnow]时间段内周期性性能指标的多个观测值,其中,δ为正整数。第二时间序列是从第一时间序列中截取出的距离当前时刻tnow最近的一部分观测值。根据一种实施例,δ取值为3,即,从第一时间序列中截取距离当前时刻最近的三个周期内的观测值作为第二时间序列。当然,在其他实施例中,δ也可以取其他值,δ越大,则实时性越差;而当δ较小时,虽然实时性好,但是也会对异常检测的准确性有一定影响,本领域技术人员可以参考以上描述自行确定δ的取值。
随后,在步骤S740中,将第二时间序列X进行STL分解,以将该第二时间序列X拆分为周期序列S、趋势序列T、残差序列R三者之和。该步骤 实现的是以下等式:X=S+T+R。STL分解算法是现有算法,具体步骤可以参考Robert B.Cleveland和William B.Cleveland等人与1990年在Journal of Official Statistics期刊上发表的题为《STL:A seasonal-trend decomposition procedure based on loess》的论文,此处对于STL分解算法的具体过程不做赘述。
随后,在步骤S750中,根据第二时间序列X和周期序列S确定待检测数组D。根据一种实施例,待检测数组D可以采用式(1)来确定。
随后,在步骤S760中,采用改进的ESD算法确定待检测数组D中的异常点和各异常点的离群分值。改进的ESD算法的流程参见图5以及前述对异常检测模块350的描述,此处不再赘述。
根据本发明的技术方案,通过从第一时间序列中截取第二时间序列,大大减少了异常检测的源数据量,从而减少了运算时间。此外,本发明采用了一种改进的ESD算法进行异常检测。该算法中引入了离群分布数组A和位置数组A’,使得每次计算异常点的循环中不必再重新查找待检测数组D中异常程度最大的点,将ESD算法的时间复杂度由O(N^2)降为O(N*logN),减少了运算时间。本发明的异常检测方案时间消耗很小,因而可以实现实时的异常检测。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
A6:A5所述的异常检测方法,其中,所述在设定的显著性水平α下,计算临界值λ,并根据λ、离群分布数组A和位置数组A’来确定所述待检测数组D中的异常点的步骤进一步包括:
步骤一:设置i=1,n=N,指针p1指向A’[0],指针p2指向A’[N-1];
步骤二:在设定的显著性水平α下,计算临界值λi
步骤三:获取A[*p1]和A[*p2]的值,其中,*p1表示指针p1所指向的元 素的内容,*p2表示指针p2所指向的元素的内容,若|A[*p1]|≥|A[*p2]|,则将D[*p1]作为准异常点Doutlier,其离群分值为A[*p1],指针p1后移一位;若|A[*p1]|<|A[*p2]|,则将D[*p2]作为准异常点Doutlier,其离群分值为A[*p2],指针p2后移一位;
步骤四:计算检验值Goutlier,若Goutlieri,则Doutlier是异常点,执行步骤五;若Goutlier≤λi,则Doutlier不是异常点,执行步骤六;
步骤五:从待检测数组D中删除Doutlier,并更新删除Doutlier后待检测数组D的中位数median(D)、均值mean和标准差std;判断标准差std与阈值的相对大小,若标准差std大于阈值,i=i+1,n=n-1,执行步骤二;若标准差std小于等于阈值,执行步骤六;
步骤六:结束。
A7:A6所述的异常检测方法,其中,所述显著性水平α取值为0.05。
A8:A7所述的异常检测方法,其中,所述临界值λi按照如下公式计算:
&lambda; i = ( n - i ) t p , n - i - 1 ( n - i - 1 + t p , n - i - 1 2 ) ( n - i + 1 )
其中,tp,n-i-1表示自由度为n-i-1的t分布的第100*p百分位数,其中,p=1-α/(2(n-i+1))。
A9:A8所述的异常检测方法,其中,检验值Goutlier按照如下公式计算:
G o u t l i e r = D o u t l i e r - m e d i a n ( D ) s t d
A10:A6所述的异常检测方法,其中,待检测数组D的均值mean和标准差std按照如下公式计算:
mean=(mean*n-Doutlier)/(n-1)
s t d = n * std 2 + n * mean 2 - D o u t l i e r 2 - ( n * m e a n - D o u t l i e r ) 2 n - 1 n - 1
A11:A6所述的异常检测方法,其中,所述阈值取值为10^(-10)。
A12:A6所述的异常检测方法,进一步包括:
在步骤一中,进一步设置最大异常比例maxAnoms;
在步骤五中,在所述判断标准差std与阈值的相对大小的步骤之前,进一步判断i与的相对大小,其中,表示向下取整,若 继续执行步骤五中所述判断标准差std与阈值的相对大小的步骤;若执行步骤六。
A13:A1所述的异常检测方法,其中,所述周期性性能指标包括:CPU利用率、吞吐量、响应时间、JVM中新生代的垃圾回收频率中的至少一种。
A14:A1所述的异常检测方法,其中,在所述获取被监控设备的某个周期性性能指标的第一时间序列的步骤之后,在所述根据所述每周期数据量n0和第一时间序列确定第二时间序列X的步骤之前,还包括:填充第一时间序列中缺失的数据。
A15:A1所述的异常检测方法,其中,δ取值为3。
A16:A1所述的异常检测方法,其中,在所述采用改进的ESD算法确定所述待检测数组D中的异常点和各异常点的离群分值的步骤之后,还包括:将异常点和各异常点的离群分值以文本和/或图形界面的形式在监控设备的屏幕上显示。
B21:B20所述的异常检测应用,其中,所述异常检测模块还适于:将离群分布数组A中的元素按照由大到小的顺序排序;将离群分布数组A中的元素按照由小到大的顺序排序。
B22:B21所述的异常检测应用,其中,所述异常检测模块进一步适于执行以下步骤:
步骤一:设置i=1,n=N,指针p1指向A’[0],指针p2指向A’[N-1];
步骤二:在设定的显著性水平α下,计算临界值λi
步骤三:获取A[*p1]和A[*p2]的值,其中,*p1表示指针p1所指向的元素的内容,*p2表示指针p2所指向的元素的内容,若|A[*p1]|≥|A[*p2]|,则将D[*p1]作为准异常点Doutlier,其离群分值为A[*p1],指针p1后移一位;若|A[*p1]|<|A[*p2]|,则将D[*p2]作为准异常点Doutlier,其离群分值为A[*p2],指针p2后移一位;
步骤四:计算检验值Goutlier,若Goutlieri,则Doutlier是异常点,执行步骤五;若Goutlier≤λi,则Doutlier不是异常点,执行步骤六;
步骤五:从待检测数组D中删除Doutlier,并更新删除Doutlier后待检测数组D的中位数median(D)、均值mean和标准差std;判断标准差std与阈值的相对大小,若标准差std大于阈值,i=i+1,n=n-1,执行步骤二;若标准差std小于等于阈值,执行步骤六;
步骤六:结束。
B23:B22所述的异常检测应用,其中,所述显著性水平α取值为0.05。
B24:B23所述的异常检测应用,其中,所述异常检测模块适于按照以下公式来计算临界值λi
&lambda; i = ( n - i ) t p , n - i - 1 ( n - i - 1 + t p , n - i - 1 2 ) ( n - i + 1 )
其中,tp,n-i-1表示自由度为n-i-1的t分布的第100*p百分位数,其中,p=1-α/(2(n-i+1))。
B25:B24所述的异常检测应用,所述异常检测模块适于按照以下公式计算检验值Goutlier
G o u t l i e r = D o u t l i e r - m e d i a n ( D ) s t d
B26:B22所述的异常检测应用,其中,所述异常检测模块适于按照以下公式计算待检测数组D的均值mean和标准差std:
mean=(mean*n-Doutlier)/(n-1)
s t d = n * std 2 + n * mean 2 - D o u t l i e r 2 - ( n * m e a n - D o u t l i e r ) 2 n - 1 n - 1
B27:B22所述的异常检测应用,其中,所述阈值取值为10^(-10)。
B28:B22所述的异常检测应用,其中,所述异常检测模块进一步适于执行以下步骤:在设定的最大异常比例maxAnoms下,在步骤五中所述判断标准差std与阈值的相对大小的步骤之前,进一步判断i与的相对大小,其中,表示向下取整,若继续执行步骤五中 所述判断标准差std与阈值的相对大小的步骤;若执行步骤六。
B29:B17所述的异常检测应用,其中,所述周期性性能指标包括:CPU利用率、吞吐量、响应时间、JVM中新生代的垃圾回收频率中的至少一种。
B30:B17所述的异常检测应用,其中,还包括数据填充模块,适于填充第一时间序列中缺失的数据。
B31:B17所述的异常检测应用,其中,δ取值为3。
B32:B17所述的异常检测应用,其中,还包括结果输出模块,适于将异常点和各异常点的离群分值以文本和/或图形界面的形式在监控设备的屏幕上显示。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者 单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (10)

1.一种异常检测方法,在监控设备中执行,适于对被监控设备的一个或多个周期性性能指标进行实时异常检测,所述方法包括:
获取被监控设备的某个周期性性能指标的第一时间序列,所述第一时间序列包括[t0,tnow]时间段内所述周期性性能指标的多个观测值,其中,t0为初始时刻,tnow为当前时刻;
设置每周期数据量n0,所述每周期数据量表示每个周期内包括的周期性性能指标的观测值的数目;
根据所述每周期数据量n0和第一时间序列确定第二时间序列X,所述第二时间序列包括从[tnow-δ*n0+1,tnow]时间段内所述周期性性能指标的多个观测值,其中,δ为正整数;
将所述第二时间序列X进行STL分解,以将所述第二时间序列X拆分为周期序列S、趋势序列T、残差序列R三者之和;
根据所述第二时间序列X和周期序列S确定待检测数组D;
采用改进的ESD算法确定所述待检测数组D中的异常点和各异常点的离群分值。
2.如权利要求1所述的异常检测方法,其中,所述根据所述第二时间序列X和周期序列S确定待检测数组D的步骤采用以下公式:
D=X-S-median(X)
其中,median(X)表示第二时间序列X的中位数。
3.如权利要求2所述的异常检测方法,其中,所述采用改进的ESD算法确定所述待检测数组D中的异常点和各异常点的离群分值的步骤包括:
根据所述待检测数组D计算离群分布数组A,所述离群分布数组A适于存储待检测数组D中每一个元素的离群分值;
根据所述离群分布数组A确定位置数组A’,所述位置数组A’适于存储将离群分布数组A中的元素进行排序后,排序后的元素在离群分布数组A中的位置;
在设定的显著性水平α下,计算临界值λ,并根据λ、离群分布数组A和位置数组A’来确定所述待检测数组D中的异常点。
4.如权利要求3所述的异常检测方法,其中,所述根据所述待检测数组D计算离群分布数组A的步骤采用以下公式:
A = D - m e d i a n ( D ) m a d ( D )
其中,median(D)表示待检测数组D的中位数,mad(D)表示待检测数组D的平均绝对偏差,其中,N表示第二时间序列X中包含的观测值的数目。
5.如权利要求4所述的异常检测方法,其中,所述将离群分布数组A中的元素进行排序包括:将离群分布数组A中的元素按照由大到小的顺序排序;将离群分布数组A中的元素按照由小到大的顺序排序。
6.一种异常检测应用,在监控设备中执行,适于对被监控设备的一个或多个周期性性能指标进行实时异常检测,所述装置包括:
数据获取模块,适于获取被监控设备的某个周期性性能指标的第一时间序列,所述第一时间序列包括[t0,tnow]时间段内所述周期性性能指标的多个观测值,其中,t0为初始时刻,tnow为当前时刻;
参数设置模块,适于设置每周期数据量n0,所述每周期数据量表示每个周期内包括的周期性性能指标的观测值的数目;
数据截取模块,适于根据所述每周期数据量n0和第一时间序列确定第二时间序列X,所述第二时间序列包括从[tnow-δ*n0+1,tnow]时间段内所述周期性性能指标的多个观测值,其中,δ为正整数;
数据分解模块,适于将所述第二时间序列X进行STL分解,以将所述第二时间序列X拆分为周期序列S、趋势序列T、残差序列R三者之和;
异常检测模块,适于根据所述第二时间序列X和周期序列S确定待检测数组D;并采用改进的ESD算法确定所述待检测数组D中的异常点和各异常点的离群分值。
7.如权利要求6所述的异常检测应用,其中,所述异常检测模块适于按照以下公式来根据所述第二时间序列X和周期序列S确定待检测数组D:
D=X-S-median(X)
其中,median(X)表示第二时间序列X的中位数。
8.如权利要求7所述的异常检测应用,其中,所述异常检测模块进一步适于执行以下步骤:
根据所述待检测数组D计算离群分布数组A,所述离群分布数组A适于存储待检测数组D中每一个元素的离群分值;
根据所述离群分布数组A确定位置数组A’,所述位置数组A’适于存储将离群分布数组A中的元素进行排序后,排序后的元素在离群分布数组A中的位置;
在设定的显著性水平α下,计算临界值λ,并根据λ、离群分布数组A和位置数组A’来确定所述待检测数组D中的异常点。
9.如权利要求8所述的异常检测应用,其中,所述异常检测模块适于按照以下公式来根据所述待检测数组D计算离群分布数组A:
A = D - m e d i a n ( D ) m a d ( D )
其中,median(D)表示待检测数组D的中位数,mad(D)表示待检测数组D的平均绝对偏差,其中,N表示第二时间序列X中包含的观测值的数目。
10.一种监控设备,包括如权利要求6-9中任一项所述的异常检测应用。
CN201610374201.7A 2016-05-31 2016-05-31 一种异常检测方法、应用和监控设备 Active CN106095655B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610374201.7A CN106095655B (zh) 2016-05-31 2016-05-31 一种异常检测方法、应用和监控设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610374201.7A CN106095655B (zh) 2016-05-31 2016-05-31 一种异常检测方法、应用和监控设备

Publications (2)

Publication Number Publication Date
CN106095655A true CN106095655A (zh) 2016-11-09
CN106095655B CN106095655B (zh) 2018-06-12

Family

ID=57230394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610374201.7A Active CN106095655B (zh) 2016-05-31 2016-05-31 一种异常检测方法、应用和监控设备

Country Status (1)

Country Link
CN (1) CN106095655B (zh)

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776251A (zh) * 2016-11-29 2017-05-31 努比亚技术有限公司 一种监控数据处理装置及方法
CN106791612A (zh) * 2016-12-01 2017-05-31 广东威创视讯科技股份有限公司 总控端的视频显示方法、系统及监控视频显示系统
CN108320810A (zh) * 2018-04-11 2018-07-24 平安科技(深圳)有限公司 疾病异常数据检测方法及装置、计算机装置及存储介质
CN109684162A (zh) * 2018-11-09 2019-04-26 平安科技(深圳)有限公司 设备状态预测方法、系统、终端及计算机可读存储介质
CN109784042A (zh) * 2018-12-29 2019-05-21 北京奇安信科技有限公司 时间序列中异常点的检测方法、装置、电子设备及存储介质
CN109818942A (zh) * 2019-01-07 2019-05-28 微梦创科网络科技(中国)有限公司 一种基于时序特征的用户帐号异常检测方法及装置
CN109858632A (zh) * 2019-02-15 2019-06-07 网宿科技股份有限公司 一种确定阈值的方法及装置
CN110008077A (zh) * 2018-11-06 2019-07-12 阿里巴巴集团控股有限公司 一种异常报警监控方法及装置、一种计算设备及存储介质
CN110245844A (zh) * 2019-05-27 2019-09-17 阿里巴巴集团控股有限公司 异常指标检测方法及装置
CN110266552A (zh) * 2019-08-15 2019-09-20 华为技术有限公司 流量异常检测的方法、模型训练方法和装置
CN110413949A (zh) * 2019-08-02 2019-11-05 湖南联智桥隧技术有限公司 一种呈递增或递减变化趋势的数据处理方法
CN110569166A (zh) * 2019-08-19 2019-12-13 阿里巴巴集团控股有限公司 异常检测方法、装置、电子设备及介质
CN110706016A (zh) * 2019-08-23 2020-01-17 阿里巴巴集团控股有限公司 业务异常检测方法、装置及计算机可读存储介质
WO2020019403A1 (zh) * 2018-07-26 2020-01-30 平安科技(深圳)有限公司 用电量异常检测方法、装置、设备及可读存储介质
CN111078505A (zh) * 2019-12-26 2020-04-28 安徽容知日新科技股份有限公司 一种监测数据处理方法、装置和计算设备
CN111176953A (zh) * 2020-01-02 2020-05-19 广州虎牙科技有限公司 一种异常检测及其模型训练方法、计算机设备和存储介质
CN111258863A (zh) * 2018-12-03 2020-06-09 北京嘀嘀无限科技发展有限公司 数据异常检测方法、装置、服务器和计算机可读存储介质
CN111444168A (zh) * 2020-03-26 2020-07-24 易电务(北京)科技有限公司 一种配电室变压器日最大负荷异常数据检测处理方法
CN112333751A (zh) * 2020-11-23 2021-02-05 广州瀚信通信科技股份有限公司 基于5g核心网的智能运维数据异常检测方法及装置
CN112511538A (zh) * 2020-11-30 2021-03-16 杭州安恒信息技术股份有限公司 一种基于时间序列的网络安全检测方法及相关组件
CN112597811A (zh) * 2020-12-02 2021-04-02 北京智芯微电子科技有限公司 场景监测模型的获取方法及装置、监测系统及监测方法
CN112668660A (zh) * 2020-12-31 2021-04-16 新奥数能科技有限公司 一种基于时间序列数据的异常点检测方法及装置
CN112966016A (zh) * 2021-03-01 2021-06-15 北京青萌数海科技有限公司 一种异常检测方法
CN113132301A (zh) * 2019-12-30 2021-07-16 腾讯科技(深圳)有限公司 异常数据汇集的检测方法、装置和计算机存储介质
US20210231535A1 (en) * 2018-12-05 2021-07-29 Mitsubishi Electric Corporation Abnormality detection device and abnormality detection method
CN113296990A (zh) * 2020-09-30 2021-08-24 阿里云计算有限公司 时序数据的异常识别方法及装置
CN113381902A (zh) * 2020-03-10 2021-09-10 腾讯科技(深圳)有限公司 跨地区的网络链路的检测方法、装置和计算机存储介质
CN114253168A (zh) * 2020-09-22 2022-03-29 南亚科技股份有限公司 机台监控系统与机台监控方法
CN114328662A (zh) * 2021-12-27 2022-04-12 中国电信股份有限公司 异常数据定位方法、装置、电子设备及存储介质
CN114398140A (zh) * 2022-03-25 2022-04-26 深圳市鼎阳科技股份有限公司 趋势图的动态生成方法、电子测量设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050198314A1 (en) * 2004-02-06 2005-09-08 Coon Tony T. Method and apparatus for characterizing a network connection
CN101520651A (zh) * 2009-03-03 2009-09-02 华中科技大学 一种基于隐马尔科夫链的数控装备可靠性分析方法
CN102033936A (zh) * 2010-12-20 2011-04-27 天津大学 一种用于时间序列相似性比较的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050198314A1 (en) * 2004-02-06 2005-09-08 Coon Tony T. Method and apparatus for characterizing a network connection
CN101520651A (zh) * 2009-03-03 2009-09-02 华中科技大学 一种基于隐马尔科夫链的数控装备可靠性分析方法
CN102033936A (zh) * 2010-12-20 2011-04-27 天津大学 一种用于时间序列相似性比较的方法

Cited By (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776251A (zh) * 2016-11-29 2017-05-31 努比亚技术有限公司 一种监控数据处理装置及方法
CN106791612A (zh) * 2016-12-01 2017-05-31 广东威创视讯科技股份有限公司 总控端的视频显示方法、系统及监控视频显示系统
CN106791612B (zh) * 2016-12-01 2020-04-03 广东威创视讯科技股份有限公司 总控端的视频显示方法、系统及监控视频显示系统
CN108320810A (zh) * 2018-04-11 2018-07-24 平安科技(深圳)有限公司 疾病异常数据检测方法及装置、计算机装置及存储介质
WO2020019403A1 (zh) * 2018-07-26 2020-01-30 平安科技(深圳)有限公司 用电量异常检测方法、装置、设备及可读存储介质
CN110008077A (zh) * 2018-11-06 2019-07-12 阿里巴巴集团控股有限公司 一种异常报警监控方法及装置、一种计算设备及存储介质
CN110008077B (zh) * 2018-11-06 2023-05-02 创新先进技术有限公司 一种异常报警监控方法及装置、一种计算设备及存储介质
CN109684162A (zh) * 2018-11-09 2019-04-26 平安科技(深圳)有限公司 设备状态预测方法、系统、终端及计算机可读存储介质
CN109684162B (zh) * 2018-11-09 2022-05-27 平安科技(深圳)有限公司 设备状态预测方法、系统、终端及计算机可读存储介质
CN111258863B (zh) * 2018-12-03 2023-09-22 北京嘀嘀无限科技发展有限公司 数据异常检测方法、装置、服务器和计算机可读存储介质
CN111258863A (zh) * 2018-12-03 2020-06-09 北京嘀嘀无限科技发展有限公司 数据异常检测方法、装置、服务器和计算机可读存储介质
US20210231535A1 (en) * 2018-12-05 2021-07-29 Mitsubishi Electric Corporation Abnormality detection device and abnormality detection method
CN109784042A (zh) * 2018-12-29 2019-05-21 北京奇安信科技有限公司 时间序列中异常点的检测方法、装置、电子设备及存储介质
CN109818942A (zh) * 2019-01-07 2019-05-28 微梦创科网络科技(中国)有限公司 一种基于时序特征的用户帐号异常检测方法及装置
CN109858632A (zh) * 2019-02-15 2019-06-07 网宿科技股份有限公司 一种确定阈值的方法及装置
CN109858632B (zh) * 2019-02-15 2021-06-04 网宿科技股份有限公司 一种确定阈值的方法及装置
CN110245844B (zh) * 2019-05-27 2023-03-28 创新先进技术有限公司 异常指标检测方法及装置
CN110245844A (zh) * 2019-05-27 2019-09-17 阿里巴巴集团控股有限公司 异常指标检测方法及装置
CN110413949B (zh) * 2019-08-02 2021-03-09 湖南联智科技股份有限公司 一种呈递增或递减变化趋势的数据处理方法
CN110413949A (zh) * 2019-08-02 2019-11-05 湖南联智桥隧技术有限公司 一种呈递增或递减变化趋势的数据处理方法
WO2021027697A1 (zh) * 2019-08-15 2021-02-18 华为技术有限公司 一种流量异常检测的方法、模型训练方法和装置
CN110266552A (zh) * 2019-08-15 2019-09-20 华为技术有限公司 流量异常检测的方法、模型训练方法和装置
CN110569166A (zh) * 2019-08-19 2019-12-13 阿里巴巴集团控股有限公司 异常检测方法、装置、电子设备及介质
CN110706016A (zh) * 2019-08-23 2020-01-17 阿里巴巴集团控股有限公司 业务异常检测方法、装置及计算机可读存储介质
CN111078505A (zh) * 2019-12-26 2020-04-28 安徽容知日新科技股份有限公司 一种监测数据处理方法、装置和计算设备
CN111078505B (zh) * 2019-12-26 2022-09-30 安徽容知日新科技股份有限公司 一种监测数据处理方法、装置和计算设备
CN113132301A (zh) * 2019-12-30 2021-07-16 腾讯科技(深圳)有限公司 异常数据汇集的检测方法、装置和计算机存储介质
CN111176953A (zh) * 2020-01-02 2020-05-19 广州虎牙科技有限公司 一种异常检测及其模型训练方法、计算机设备和存储介质
CN113381902A (zh) * 2020-03-10 2021-09-10 腾讯科技(深圳)有限公司 跨地区的网络链路的检测方法、装置和计算机存储介质
CN113381902B (zh) * 2020-03-10 2024-01-30 腾讯科技(深圳)有限公司 跨地区的网络链路的检测方法、装置和计算机存储介质
CN111444168B (zh) * 2020-03-26 2023-12-22 易电务(北京)科技有限公司 一种配电室变压器日最大负荷异常数据检测处理方法
CN111444168A (zh) * 2020-03-26 2020-07-24 易电务(北京)科技有限公司 一种配电室变压器日最大负荷异常数据检测处理方法
CN114253168A (zh) * 2020-09-22 2022-03-29 南亚科技股份有限公司 机台监控系统与机台监控方法
CN113296990B (zh) * 2020-09-30 2022-06-24 阿里云计算有限公司 时序数据的异常识别方法及装置
CN113296990A (zh) * 2020-09-30 2021-08-24 阿里云计算有限公司 时序数据的异常识别方法及装置
CN112333751A (zh) * 2020-11-23 2021-02-05 广州瀚信通信科技股份有限公司 基于5g核心网的智能运维数据异常检测方法及装置
CN112511538A (zh) * 2020-11-30 2021-03-16 杭州安恒信息技术股份有限公司 一种基于时间序列的网络安全检测方法及相关组件
CN112597811A (zh) * 2020-12-02 2021-04-02 北京智芯微电子科技有限公司 场景监测模型的获取方法及装置、监测系统及监测方法
CN112668660A (zh) * 2020-12-31 2021-04-16 新奥数能科技有限公司 一种基于时间序列数据的异常点检测方法及装置
CN112668660B (zh) * 2020-12-31 2024-07-12 新奥数能科技有限公司 一种基于时间序列数据的异常点检测方法及装置
CN112966016A (zh) * 2021-03-01 2021-06-15 北京青萌数海科技有限公司 一种异常检测方法
CN114328662A (zh) * 2021-12-27 2022-04-12 中国电信股份有限公司 异常数据定位方法、装置、电子设备及存储介质
CN114398140B (zh) * 2022-03-25 2022-05-31 深圳市鼎阳科技股份有限公司 趋势图的动态生成方法、电子测量设备和存储介质
CN114398140A (zh) * 2022-03-25 2022-04-26 深圳市鼎阳科技股份有限公司 趋势图的动态生成方法、电子测量设备和存储介质

Also Published As

Publication number Publication date
CN106095655B (zh) 2018-06-12

Similar Documents

Publication Publication Date Title
CN106095655A (zh) 一种异常检测方法、应用和监控设备
Bifet et al. Pitfalls in benchmarking data stream classification and how to avoid them
CN105893213A (zh) 一种异常检测方法、应用和监控设备
AU2011209702B2 (en) Robust automated determination of the hierarchical structure of utility monitoring systems
CN108804619A (zh) 兴趣偏好预测方法、装置、计算机设备及存储介质
CN109242041A (zh) 一种电能表异常数据检测方法、装置、设备及存储介质
CN1455890A (zh) 异常检测系统及其指导方法
CN109461067A (zh) 一种外汇报价异常数据的检测方法、装置及系统
CN105357637B (zh) 一种位置和行为信息预测系统及方法
CN111460611A (zh) 水环境污染分析方法、装置、设备及存储介质
CN106030565A (zh) 使用搜索技术的计算机性能预测
Hatt et al. Catalogue of solar-like oscillators observed by TESS in 120-s and 20-s cadence
Hu et al. RL-recruiter+: Mobility-predictability-aware participant selection learning for from-scratch mobile crowdsensing
CN110222905A (zh) 一种预测人流量的方法及装置
CN110535686A (zh) 异常事件处理方法和装置
CN107991003B (zh) 温度传感器时间常数的测试方法、装置、设备和存储介质
CN208224474U (zh) 用电计量设备故障监控装置
CN109858785A (zh) 一种评价智能电能表运行状态的方法和系统
CN117422195A (zh) 水质评估方法、装置、计算机设备和存储介质
CN115238837B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN106230659A (zh) 一种数据展示方法、系统及服务器
CN103942403B (zh) 一种对海量变量进行筛选的方法及设备
CN111967693B (zh) 一种基于干扰管理的搜救资源方案调整方法及相关设备
CN114677049A (zh) 检测设备过程检验方法、装置、计算机设备
CN112329911B (zh) 一种充电异常确定方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220712

Address after: 100193 room 101-216, 2nd floor, building 4, East District, yard 10, northwest Wangdong Road, Haidian District, Beijing

Patentee after: Beijing Ruixiang Technology Co.,Ltd.

Address before: 100191 floors 3 and 4, building a-5, Dongsheng Science Park, Zhongguancun, No. 66, xixiaokou Road, Haidian District, Beijing

Patentee before: BEIJING ONEAPM Co.,Ltd.