用于异常检测的模型选择和参数估计的制作方法

文档序号:22880160发布日期:2020-11-10 17:39阅读:148来源:国知局
用于异常检测的模型选择和参数估计的制作方法



背景技术:

异常检测可以发现时序数据(time-seriesdata)中的异常的或不期望的事件。在本文中,时序数据指按时间顺序记录的数据序列,该数据序列中的数据点反映了特定现象、指标、事物等随时间变化的状态或程度。异常检测被广泛地实施在众多工业应用中,并且是数据挖掘中的重要研究领域。准确的异常检测可以触发快速的故障排除、帮助避免收入损失、维护运营实体的声誉和品牌等。很多大型公司构建了其自己的异常检测系统,以监视其商业、产品、服务等的健康性。例如,互联网公司可以通过异常检测系统来实时地监视其应用和服务的各种度量值,如页面浏览、销售收入等。异常检测系统可以持续地监视时序数据,并且针对潜在的事件及时地发出警告。当管理者或用户接收到关于事件的警告时,其可以及时地做出针对该事件的决策。



技术实现要素:

提供本发明内容以便介绍一组构思,这组构思将在以下的具体实施方式中做进一步描述。本发明内容并非旨在标识所保护主题的关键特征或必要特征,也不旨在用于限制所保护主题的范围。

本公开的实施例提供了用于实现异常检测的方法和装置。可以获得包括多个数据点的时序数据。可以生成与当前数据点相对应的数据段的特征表示。可以基于所述特征表示,从一组候选异常检测模型中选择异常检测模型。可以估计与所选择的异常检测模型相关联的参数集合。可以利用所选择的异常检测模型和所估计的参数集合对所述当前数据点执行异常检测。

应当注意,以上一个或多个方面包括以下详细描述以及权利要求中具体指出的特征。下面的说明书及附图详细提出了所述一个或多个方面的某些说明性特征。这些特征仅仅指示可以实施各个方面的原理的多种方式,并且本公开旨在包括所有这些方面和其等同变换。

附图说明

以下将结合附图描述所公开的多个方面,这些附图被提供用以说明而非限制所公开的多个方面。

图1示出了根据本公开实施例的用于实现异常检测的示例性过程。

图2示出了根据本公开实施例的用于特征生成的示例性过程。

图3示出了根据本公开实施例的用于特征生成的另一示例性过程。

图4示出了根据本公开实施例的用于训练主分类器和主估计器的示例性过程。

图5示出了根据本公开实施例的用于异常检测结果调节的示例性过程。

图6示出了根据本公开实施例的用于异常检测结果调节的示例性用户界面。

图7是根据本公开实施例的用于实现异常检测的示例性方法的流程图。

图8示出了根据本公开实施例的用于实现异常检测的示例性装置。

图9示出了根据本公开实施例的用于实现异常检测的示例性装置。

具体实施方式

现在将参考若干示例性实施方式来讨论本公开。应当理解,这些实施方式的讨论仅仅用于使得本领域技术人员能够更好地理解并从而实施本公开的实施例,而并非教导对本公开的范围的任何限制。

通常采用异常检测模型来对时序数据执行异常检测。现有的异常检测模型可以分为基于统计方式的模型、基于监督方式的模型、基于非监督方式的模型等。基于统计方式的模型可以被容易地在线上采用,但是其对工业应用而言准确性不足。基于监督方式的模型具有较高的准确性,但由于其依赖于大量连续标记的数据而难以适应线上应用。基于非监督方式的模型可以重构正常时序数据的概率并且当重构误差大于阈值时报告异常点,但其是耗时的或参数敏感的。

时序数据具有各种各样的模式,其数据分布通常是随机的,且随着时间的推移而持续变化。特定异常检测模型通常仅能够对特定模式的时序数据展现良好的性能。针对不同模式的时序数据选择合适的异常检测模型和参数是期望的。目前通常采用启发式分类器(heuristicclassifier)来执行对异常检测模型的选择。该启发式分类器可以是基于规则的分类器,其可以基于一些预定义的规则来为时序数据选择合适的异常检测模型。这些预定义的规则例如是基于时序数据的周期性、粒度、线型等。此外,可以采用经验性估计器(empiricalestimator)来为所选择的异常检测模型估计合适的参数。该经验性估计器可以是基于规则的估计器,其可以基于一些预定义的规则来为时序数据估计合适的参数。这些预定义的规则例如是基于时序数据的数据点的数量、粒度、线型等。在采用启发式分类器来选择异常检测模型并采用经验性估计器来估计参数的情况下,当出现新的不同模式的时序数据时,需要通过为该时序数据定义新的规则来手动调节启发式分类器和经验性估计器。这项工作是繁冗耗时的。

本公开的实施例提出了一种能够对来自各个数据源的不同模式的时序数据执行异常检测的可扩展的异常检测系统。根据本公开实施例的异常检测系统可以基于时序数据的特征来自动确定合适的异常检测模型和相应的参数集合,并利用所确定的异常检测模型和参数集合来对该时序数据执行异常检测。

在一个方面,本公开的实施例提出随着时序数据中的数据点的变化而动态选择异常检测模型和参数集合。例如,可以实时生成与时序数据的当前数据点相对应的数据段的特征表示,并基于该特征表示来为当前数据点选择合适的异常检测模型并估计与所选择的异常检测模型相关联的参数集合。从而,可以实时感知到时序数据的模式变化并且动态调整所采用的异常检测模型和参数集合。在本文中,当前数据点可以指在对时序数据中的一系列数据点依次执行异常检测期间,当前正被检测的数据点。应当理解,尽管以下讨论中以当前数据点是一个数据点为例,但是本公开的实施例也可以涵盖当前数据点包括一个以上数据点的情形。

在另一个方面,本公开的实施例提出通过预训练的分类器来从多个候选异常检测模型中执行对异常检测模型的选择,并通过预训练的估计器来执行对参数集合的估计。可以利用包括多个时序数据样本的训练数据集合来训练分类器和估计器。

在又一个方面,本公开的实施例提出利用具有基于反馈的标注的时序数据样本来训练分类器和估计器。该基于反馈的标注可以是由用户提供的。

在再一个方面,本公开的实施例提出了定制化的异常检测结果调节机制。可以利用单个调节参数来对时序数据的异常检测结果进行调节,以更新该异常检测结果所包括的异常点的数量。该调节参数可以是通过特定的用户界面来设置的,从而实现对异常检测结果的直观且高效地定制。

图1示出了根据本公开实施例的用于实现异常检测的示例性过程100。过程100可以由根据本公开实施例的异常检测系统执行,其旨在对时序数据102执行异常检测。

时序数据102可能来自各种类型的数据源,例如线上流数据、云存储、数据库等,并且可以针对各种类型的应用场景或业务,例如服务流量、产品销售收入、物联网(iot)数据、机器运行数据、商业运营数据等。应当理解,本公开的实施例并不局限于任何特定类型的时序数据,而是可以通过相同或类似的方式被应用于不同应用场景下的不同类型的时序数据。时序数据102可以是根据指定的时间粒度来进行更新的。时序数据102可以包括多个数据点,并且时间粒度指示这些数据点的更新频率,例如分钟、小时、天等。每个数据点包括在对应的时间点处所采集的度量值。

根据本公开实施例的异常检测系统可以根据时序数据中的各个数据点所位于的数据段来为该数据点确定合适的异常检测模型和相关联的参数集合,并利用所确定的异常检测模型和参数集合来对该数据点执行异常检测。下面以时序数据102中的当前数据点104为例说明用于实现异常检测的示例性过程。

可以获得与当前数据点104相对应的数据段106。在一种实施方式中,可以从时序数据102中截取邻接在当前数据点104之前的有限长度的历史数据点。这些历史数据点可以与当前数据点104一起形成与当前数据点104相对应的数据段106。数据段106的长度也可以被称为检测窗口大小。通过在过程100中考虑数据段106,可以利用该数据段106中的一段历史数据点来有效地模拟当前数据点104的实际场景,从而更准确地对当前数据点执行异常检测。

随后,可以通过特征生成模块108对数据段106执行特征生成操作,以生成数据段106的特征表示110。后面将结合图2和图3来说明特征生成的示例性过程。

特征表示110可以被提供给模型选择器112。模型选择器112可以基于特征表示110,从一组候选异常检测模型114中选择异常检测模型。该组候选异常检测模型114可以包括各种异常检测模型。由于基于统计方式的模型和基于非监督方式的模型可以高效地实现稳定的性能,因此该组候选异常检测模型114优选地包括这两类模型,例如sr模型、基于直方图的异常点评分(histogram-basedoutlierscore,hbos)模型、季节混合极端学生化偏差测试(seasonalhybridextremestudentizeddeviatetest,s-h-esd)模型等等。所选择的异常检测模型例如是异常检测模型116。模型选择器112可以例如包括主分类器和可选的辅分类器。主分类器可以是利用包括多个时序数据样本的训练数据集合来训练的多分类器。后面将结合图4来说明训练主分类器的示例性过程。辅分类器可以是基于规则的启发式分类器。根据本公开实施例的辅分类器可以根据与当前数据点相对应的数据段,基于一些预定义的规则来为当前数据点选择合适的异常检测模型。这些预定义的规则例如是基于与当前数据点相对应的数据段的周期性、粒度、线型等。

在一种实施方式中,主分类器可以单独地执行对异常检测模型的选择。例如,可以通过主分类器来选择异常检测模型,并将主分类器选择的异常检测模型直接确定为所选择的异常检测模型116。在另一种实施方式中,主分类器和辅分类器可以彼此结合地来执行对异常检测模型的选择。例如,可以先通过主分类器来选择初步异常检测模型,并同时提供与该初步异常检测模型相关联的置信度分数。该置信度分数可以指示所选择的初步异常检测模型的可信程度。如果该置信度分数高于预定阈值,则可以将该初步异常检测模型确定为所选择的异常检测模型116。替代地,如果该置信度分数不高于该预定阈值,则可以通过辅分类器来确定所选择的异常检测模型116。

每个异常检测模型可以配备有相关联的参数估计器,其用于计算执行异常检测所需要的参数集合。该参数集合可以包括与该异常检测模型相关联的一项或多项参数的值。参数例如包括异常检测阈值、异常点比率、检测窗口大小等等。这些参数也可以被称为超参数。在选择出异常检测模型116之后,可以调用与其相关联的参数估计器118。参数估计器118可以基于数据段106的特征表示110来估计与异常检测模型116相关联的参数集合120。参数估计器118可以包括主估计器和可选的辅估计器。主估计器可以是利用包括多个时序数据样本的训练数据集合来训练的估计器。后面将结合图4来说明训练主估计器的示例性过程。辅估计器可以是基于规则的经验性估计器。根据本公开实施例的辅估计器可以根据与当前数据点相对应的数据段,基于一些预定义的规则来为当前数据点估计合适的参数集合。这些预定义的规则例如是基于与当前数据点相对应的数据段的数据点的数量、粒度、线型等。

在一种实施方式中,主估计器可以单独地执行对参数集合的估计。例如,可以通过主估计器来估计参数集合,并将主估计器估计的参数集合直接确定为所估计的参数集合120。在另一种实施方式中,主估计器和辅估计器可以彼此结合地来执行对参数集合的估计。例如,可以先通过主估计器来估计初步参数集合,并同时提供与该初步参数集合相关联的置信度分数。该置信度分数可以指示所估计的初步参数集合的可信程度。如果该置信度分数高于预定阈值,则可以将该初步参数集合确定为所估计的参数集合120。替代地,如果该置信度分数不高于该预定阈值,则可以通过辅估计器来确定所估计的参数集合120。

可以利用所选择的异常检测模型116和所估计的参数集合120来对当前数据点104执行异常检测,以获得与当前数据点104相对应的异常检测值122。

通过对时序数据102中的各个数据点迭代地执行上述过程,可以获得与这些数据点对应的多个异常检测值。这些异常检测值可以被组合成与时序数据102相对应的初步异常检测结果124。可选地,根据本公开的实施例,可以利用单个调节参数,例如灵敏度值128,来对初步异常检测结果124进行调节,以更新该初步异常检测结果所包括的异常点的数量。在本文中,灵敏度值可以指用于调节异常检测结果的参数。可以利用灵敏度值来改变在每个时间点处可以接受的度量值的范围,从而修改一个或多个数据点的异常检测值。当一个数据点的所采集的度量值落在由灵敏度值决定的与该数据点对应的时间点处的可接受度量值范围内时,该数据点可以被确定为正常,否则,该数据点可以被确定为异常。例如,初步异常检测结果124可以被提供给结果调节模块126。结果调节模块126可以接收针对初步异常检测结果124的灵敏度值128的指示,并基于灵敏度值128来调节初步异常检测结果124,并提供经调节的异常检测结果130。后面将结合图5来说明异常检测结果调节的示例性过程。

应当理解,图1中的过程100仅仅是用于实现异常检测的过程的示例。根据实际应用需求,用于实现异常检测的过程可以包括任意其他步骤,并且可以包括更多或更少的步骤。例如,可以从过程100中省略对初步异常检测结果的调节过程,从而将初步异常检测结果124直接作为最终的异常检测结果。此外,过程100中的步骤的具体顺序或层级仅是示例性的,可以按照与所描述顺序不同的顺序来执行用于实现异常检测的过程。

图2示出了根据本公开实施例的用于特征生成的示例性过程200。过程200可以通过直接对数据段执行特征提取操作来生成该数据段的特征表示。过程200可以例如由图1中的特征生成模块108来执行,以生成数据段202的特征表示204。数据段202可以对应于图1中的数据段106,并且特征表示204可以对应于图1中的特征表示110。

数据段202可以被表示为其中m为数据段202所包括的数据点的数量。可以通过一组特征提取器,例如特征提取器210-1、210-2、……、210-k,对数据段202执行一组特征提取操作,以从数据段202中提取一组子特征表示,例如子特征表示220-1、220-2、……、220-k。应当理解,所述一组特征提取器可以包括一个或多个特征提取器。这些特征提取器可以提取由子特征表示所给出的例如方差、自相关、熵、周期等特征。特征提取器210-i可以被表示为fi(·),子特征表示220-i可以被表示为i∈[1,k]。子特征表示220-1、220-2、……、220-k可以被组合成与数据段202相对应的特征表示204。特征表示204可以被表示为如以下公式所示:

图3示出了根据本公开实施例的用于特征生成的另一示例性过程300。过程300可以通过先对数据段执行转换操作,然后对经转换的数据段执行特征提取操作来生成该数据段的特征表示。通过转换操作,可以有助于获得更加丰富的特征表示。过程300可以由例如图1中的特征生成模块108来执行,以生成数据段302的特征表示304。数据段302可以对应于图1中的数据段106,并且特征表示304可以对应于图1中的特征表示110。

数据段302可以被表示为其中m为数据段302所包括的数据点的数量。可以通过一组转换器,例如转换器310-1、310-2、……、310-n,对数据段302执行一组转换操作,以获得一组经转换的数据段,例如经转换的数据段320-1、320-2、……、320-n。该组转换操作例如包括快速傅里叶变换(fastfouriertransform,fft)、去除趋势(detrend)、去除季节性(de-seasonality)、频谱残差(spectralresidual,sr)等等。应当理解,所述一组转换器可以包括一个或多个转换器。经转换的数据段320-i可以被表示为i∈[1,n],如以下公式所示:

随后,通过一组特征提取器,例如特征提取器330-1、330-2、……、330-k,对该组经转换的数据段中的每个经转换的数据段执行一组特征提取操作,以获得与该经转换的数据段相对应的一组初始特征表示。初始特征表示例如对应于方差、自相关、熵、周期等等。与经转换的数据段320-i相对应的一组初始特征表示可以被表示为例如,对于经转换的数据段320-1,可以获得一组初始特征表示340-1-1、340-1-2、……、340-1-k;对于经转换的数据段320-2,可以获得一组初始特征表示340-2-1、340-2-2、……、340-2-k;并且对于经转换的数据段320-n,可以获得一组初始特征表示340-n-1、340-n-2、……、340-n-k。

可以将与每个经转换的数据段320-i相对应的一组初始特征表示组合成与该经转换的数据段相对应的子特征表示350-i。子特征表示350-i可以被表示为如以下公式所示:

例如,可以将一组初始特征表示340-1-1、340-1-2、……、340-1-k组合成与经转换的数据段320-1相对应的子特征表示350-1;可以将一组初始特征表示340-2-1、340-2-2、……、340-2-k组合成与经转换的数据段320-2相对应的子特征表示350-2;并且可以将一组初始特征表示340-n-1、340-n-2、……、340-n-k组合成与经转换的数据段320-n相对应的子特征表示350-n。

接下来,可以将与一组经转换的数据段320-1、320-2、……、320-n相对应的一组子特征表示350-1、350-2、……、350-n组合成与数据段302相对应的特征表示304。特征表示304可以被表示为如以下公式所示:

应当理解,尽管图2中的过程200和图3中的过程300被示出为单独的过程,但是根据实际应用需求,过程200和过程300可以彼此结合地执行。例如,对于一数据段,可以根据过程200直接对原始数据段执行特征提取操作,并且可以根据过程300先对该数据段执行转换操作,然后对经转换的数据段执行特征提取操作。最后,将根据过程200的特征提取操作的结果与根据过程300的特征提取操作的结果进行组合,以获得对应于该数据段的特征表示。

图4示出了根据本公开实施例的用于训练主分类器和主估计器的示例性过程400。过程400可以在线下执行。所训练的主分类器可以被包括在用于选择异常检测模型的模型选择器内,例如被包括在图1中的模型选择器112内,并且所训练的主估计器可以被包括在用于估计与异常检测模型相关联的参数集合的参数估计器内,例如被包括在图1中的参数估计器118内。

可以利用训练数据集合402来训练主分类器428和主估计器420。训练数据集合402可以包括多个时序数据样本,每个时序数据样本可以具有用于指示该时序数据样本中的异常点的异常点标注。下面以训练数据集合402中的时序数据样本404为例说明用于训练主分类器和主估计器的示例性过程。可以生成时序数据样本404的特征表示418。可以例如通过图2中的过程200和/或图3中的过程300来生成时序数据样本404的特征表示418。

可以使用一组候选异常检测模型406中的每个候选异常检测模型来对时序数据样本404执行异常检测。该组候选异常检测模型406可以与图1中的一组候选异常检测模型114相对应。每个候选异常检测模型可以配备有相关联的主估计器,其用于计算执行异常检测所需要的参数集合。下面以该组候选异常检测模型406中的候选异常检测模型408为例说明用于训练与其相关联的主估计器的示例性过程。

候选异常检测模型408可以具有相关联的多个候选参数集合410,每个候选参数集合包括与候选异常检测模型408相关联的各项参数的值的一种可能组合。候选异常检测模型408可以使用多个候选参数集合410中的每个候选参数集合来对时序数据样本404执行异常检测,以获得一组异常检测结果412。

可以基于时序数据样本404中的异常点标注,从一组异常检测结果412中识别最佳异常检测结果414。最佳异常检测结果414可以例如是最接近于异常点标注的异常检测结果。随后,可以将候选参数集合410中的产生最佳异常检测结果414的候选参数集合确定为最佳参数集合416。

在420处,可以至少利用时序数据样本404的特征表示418和最佳参数集合416来训练与候选异常检测模型408相关联的主估计器,使得在被实际部署时,经训练的主估计器能够基于时序数据的特征表示来估计出对应的异常检测模型的最佳参数集合。

该组候选异常检测模型406中的每个候选异常检测模型都可以使用其相关联的多个候选参数集合中的每个候选参数集合来对时序数据样本404执行异常检测。各个候选异常检测模型产生的最佳异常检测结果可以形成与该组候选异常检测模型406相对应的一组最佳异常检测结果422。可以从该组最佳异常检测结果422中识别针对时序数据样本404的最优异常检测结果424。随后,可以将该组候选异常检测模型406中的产生最优异常检测结果424的候选异常检测模型确定为最佳异常检测模型426。在428处,可以至少利用时序数据样本404的特征表示418和对最佳异常检测模型426的标识来训练主分类器,使得在被实际部署时,经训练的分类器能够基于时序数据的特征表示来选择出最佳异常检测模型。

在一种实施方式中,该组候选异常检测模型406是可扩展的。例如,在获得了该组候选异常检测模型406之外的另外的候选异常检测模型时,可以利用该另外的候选异常检测模型来对时序数据样本404执行异常检测,以获得另外的异常检测结果。具体地,该另外的候选异常检测模型可以使用与其相关联的多个候选参数集合中的每个候选参数集合来对时序数据样本404执行异常检测,以获得一组异常检测结果。随后,可以基于时序数据样本404中的异常点标注,从该组异常检测结果中识别最佳异常检测结果,以作为与该另外的候选异常检测模型相对应的另外的异常检测结果。该另外的异常检测结果可以与针对时序数据样本404的最佳异常检测结果424进行比较。如果该另外的异常检测结果优于最佳异常检测结果424,则可以将最佳异常检测模型426更新为该另外的候选异常检测模型。进一步地,可以至少利用特征表示418和对该另外的候选异常检测模型的标识来重新训练主分类器。

根据本公开实施例的异常检测系统还具有反馈机制。该反馈机制可以通过向训练数据集合中的一个或多个时序数据样本添加基于反馈的标注来更新训练数据集合,并利用经更新的训练数据集合来重新训练主分类器和主估计器。基于反馈的标注可以例如包括用户对时序数据样本给出的异常点标注。在本文中,用户可以广泛地指使用了根据本发明实施例的异常检测系统的公司、组织、个人等。例如,用户可以拥有、产生、提供或管理时序数据,并且希望监视时序数据中的异常事件。

根据本公开的实施例,在利用异常检测模型和相关联的参数集合获得了时序数据的初步异常检测结果之后,可以利用灵敏度值来改变在每个时间点处可以接受的度量值的范围,以修改一个或多个数据点的异常检测值,从而更新异常检测结果所包括的异常点的数量。用户可以通过用户界面来设置该灵敏度值,从而可以直观且高效地定制异常检测结果。

图5示出了根据本公开实施例的用于异常检测结果调节的示例性过程500。过程500可以例如由图1中的结果调节模块126执行。结果调节模块126可以基于灵敏度值来确定时序数据中的至少一个数据点的容忍范围,以及至少基于该容忍范围来修改该至少一个数据点的异常检测值。在本文中,容忍范围可以指每个时间点可以接受的度量值的范围。数据点可以被表示为vi,其中i∈[0,m]并且m为时序数据所包括的数据点的数量。数据点vi可以具有初步异常检测值ai,例如图1中的异常检测值122。作为示例,当vi为异常点时,ai=1,并且当vi为正常点时,ai=0。

在510处,可以接收针对包括多个数据点的时序数据的异常检测结果的灵敏度值的指示。作为示例,灵敏度值可以被表示为α∈[0,100],其中α越大,意味着将报告的异常点的数量越多。应当理解,利用这种方式来表示灵敏度值仅是一个示例,本公开的实施例并不局限于此,而是可以以其他方式来表示灵敏度值。

在520处,可以将时序数据的数据点vi至少分解为趋势分量(trendcomponent)gi和损失分量(losscomponent)∈i。在一种实施方式中,可以采用基于loess的季节趋势分解过程(seasonal-trenddecompositionprocedurebasedonloess,stl)来对数据点进行分解。使用stl还可以同时获得数据点vi的季节性分量(seasonalitycomponent)si。

在530处,可以基于数据点vi的趋势分量gi来计算其增量单元(deltaunit)μi,如以下公式所示:

在540处,可以基于增量单元μi和灵敏度值α来确定数据点vi的容忍范围δi,如以下公式所示:

δi←factor(α)·μi(6)

其中,factor(α)是关于α的指数衰减函数。

在550处,可以基于数据点vi的容忍范围δi和损失分量∈i来修改该数据点的异常检测值。在一种实施方式中,当数据点vi的损失分量∈i的绝对值在该数据点的容忍范围δi之内时,该数据点将会被标注为正常点,如以下公式所示:

a′i←ai·1(δi>|∈i|)(7)

其中,a′i为数据点vi的经修改的异常检测值。

替代地,当数据点vi的损失分量∈i的绝对值不在该数据点的容忍范围δi之内时,该数据点将会被标注为异常点。

通过步骤520-550,可以对时序数据中的至少一个数据点的异常检测值进行修改。可以将各个数据点的当前异常检测值组合在一起作为时序数据的经调节的异常检测结果。在560处,可以提供该经调节的异常检测结果。

根据本公开的实施例,用户可以通过用户界面来设置用于调节异常检测结果的灵敏度值。图6示出了根据本公开实施例的用于异常检测结果调节的示例性用户界面600a和600b。应当理解,用户界面600a和600b仅是用于异常检测结果调节的用户界面的示例,本公开的实施例并不局限于此,而是可以采用其他形式的用户界面来调节异常检测结果。另外,用户界面600a和600b仅是用于异常检测结果调节的用户界面的一部分。根据实际应用需求,用于异常检测结果调节的用户界面还可以包括其他部分,例如用于设置显示参数的选项等等。

在用户界面600a和600b中,在时序数据曲线上标记了异常检测结果。横轴表示每个数据点的时间,其可以采用各种时间粒度,例如分钟、小时、天等。每个数据点在纵轴上的投影指示针对该数据点所采集的度量值。围绕时序数据曲线的阴影区域是由时序数据曲线上的数据点的容忍范围组合而成的。各个数据点的容忍范围可以例如通过图5中的步骤520-540来确定。当数据点的度量值落在阴影区域之外时,该数据点将会被标记为异常点,如图中的符号“×”所指示的。

根据本公开的实施例,可以通过灵敏度值来控制各个数据点的容忍范围,如以上公式(6)所示出的。当灵敏度值提高,容忍范围将减小,阴影区域也会相应地变窄,从而将有更多的数据点被报告为异常点。用户界面600a示出了当灵敏度值为65时的异常检测结果,并且用户界面600b示出了当灵敏度值为80时的异常检测结果。从图6中可以直观地看出,用户界面600b的阴影区域小于用户界面600a的阴影区域,并且用户界面600b所报告的异常点的数量多于用户界面600a所报告的异常点的数量。

当使用根据本公开实施例的异常检测系统来对时序数据执行异常检测时,如果异常检测结果不满足预定义标准,则可以自动触发对异常检测模型的重新选择以及对参数集合的重新估计。该预定义标准可以例如基于异常检测结果的异常点比率和/或错误警报率。在一种实施方式中,可以将异常检测结果的异常点比率和/或错误警报率提供给模型选择器。模型选择器可以基于该异常点比率和/或错误警报率来重新选择针对该时序数据的异常检测模型。与重新选择的异常检测模型相关联的参数估计器也可以接收该异常点比率和/或错误警报率,并重新估计针对该时序数据的参数集合。以这种方式,可以减少用于改进不满足预定义标准的异常检测结果的时间成本,从而实现更高效的异常检测。

此外,模型选择器为时序数据选择了不适当的模型和/或参数估计器估计了不适当的参数可能会导致该时序数据的异常检测结果不满足预定义标准。根据本公开的实施例,可以将该时序数据作为训练样本来重新训练模型选择器中的主分类器和参数估计器中的主估计器。可以以与图4中的过程400相类似的过程来重新训练主分类器和主估计器。例如,可以向该时序数据添加异常点标注。该异常点标注可以是由用户提供的。可以利用一组候选异常检测模型中的每个候选异常检测模型以及与其相关联的多个候选参数集合中的每个候选参数集合来对该时序数据执行异常检测,以获得一组异常检测结果。可以基于该时序数据的异常点标注来确定该组异常检测结果中的最佳异常检测结果是否满足预定义标准。如果最佳异常检测结果满足预定义标准,则可以利用产生该最佳异常检测结果的异常检测模型的标识来重新训练主分类器,并利用产生该最佳异常检测结果的参数集合来重新训练与该异常检测模型相关联的主估计器。相反,如果该组异常检测结果中的最佳异常检测结果仍不满足预定义标准,则可以向该组候选异常检测模型中添加能够处理该时序数据的新的异常检测模型以获得一组经更新的候选异常检测模型,并利用该组经更新的候选异常检测模型来重新训练主分类器和主估计器。

图7是根据本公开实施例的用于实现异常检测的示例性方法700的流程图。

在步骤710处,可以获得包括多个数据点的时序数据。

在步骤720处,可以生成与当前数据点相对应的数据段的特征表示。

在步骤730处,可以基于所述特征表示,从一组候选异常检测模型中选择异常检测模型。

在步骤740处,可以估计与所选择的异常检测模型相关联的参数集合。

在步骤750处,可以利用所选择的异常检测模型和所估计的参数集合对所述当前数据点执行异常检测。

在一种实施方式中,所述生成特征表示可以包括:对所述数据段执行一组特征提取操作,以获得一组子特征表示;以及将所述一组子特征表示组合成所述特征表示。

在一种实施方式中,所述生成特征表示可以包括:对所述数据段执行一组转换操作,以获得一组经转换的数据段;对于所述一组经转换的数据段中的每个经转换的数据段,执行一组特征提取操作以获得一组初始特征表示,并且将所述一组初始特征表示组合成与所述经转换的数据段相对应的子特征表示;以及将与所述一组经转换的数据段相对应的一组子特征表示组合成所述特征表示。

在一种实施方式中,所述选择异常检测模型可以是通过模型选择器来执行的。所述模型选择器可以包括主分类器。

所述选择异常检测模型可以包括:通过所述主分类器来选择初步异常检测模型;确定与所述初步异常检测模型相关联的置信度分数是否高于阈值;以及响应于确定所述置信度分数高于所述阈值,将所述初步异常检测模型确定为所选择的异常检测模型。

所述模型选择器还可以包括辅分类器。所述选择异常检测模型还可以包括:响应于确定所述置信度分数不高于所述阈值,通过所述辅分类器来确定所选择的异常检测模型。

所述主分类器可以是通过以下操作来训练的:对于训练数据集合中的一个时序数据样本,从所述一组候选异常检测模型中识别针对所述时序数据样本的最佳异常检测模型;生成所述时序数据样本的特征表示;以及至少利用所述时序数据样本的所述特征表示和对所述最佳异常检测模型的标识来训练所述主分类器。

所述时序数据样本可以具有异常点标注。所述识别最佳异常检测模型可以包括:利用所述一组候选异常检测模型中的每个候选异常检测模型来分别对所述时序数据样本执行异常检测,以获得一组异常检测结果;基于所述异常点标注,从所述一组异常检测结果中识别最佳异常检测结果;以及将产生所述最佳异常检测结果的候选异常检测模型确定为所述最佳异常检测模型。

所述识别最佳异常检测模型还可以包括:获得另外的候选异常检测模型;利用所述另外的候选异常检测模型来对所述时序数据样本执行异常检测,以获得另外的异常检测结果;确定所述另外的异常检测结果优于所述最佳异常检测结果;以及将所述最佳异常检测模型更新为所述另外的候选异常检测模型。

在一种实施方式中,所述估计参数集合可以是通过与所选择的异常检测模型相关联的参数估计器来执行的。所述参数估计器可以包括主估计器。

所述估计参数集合可以包括:通过所述主估计器来估计初步参数集合;确定与所述初步参数集合相关联的置信度分数是否高于阈值;以及响应于确定所述置信度分数高于所述阈值,将所述初步参数集合确定为所估计的参数集合。

所述参数估计器还可以包括辅估计器。所述估计参数集合还可以包括:响应于确定所述置信度分数不高于所述阈值,通过所述辅估计器来确定所估计的参数集合。

所述主估计器可以是通过以下操作来训练的:对于训练数据集合中的一个时序数据样本,从与所选择的异常检测模型相关联的候选参数集合中识别针对所述时序数据样本的最佳参数集合;生成所述时序数据样本的特征表示;以及至少利用所述时序数据样本的所述特征表示和所述最佳参数集合来训练所述主估计器。

所述时序数据样本可以具有异常点标注。所述识别最佳参数集合可以包括:对于所述候选参数集合中的每个候选参数集合,利用所选择的异常检测模型和所述候选参数集合来分别对所述时序数据样本执行异常检测,以获得一组异常检测结果;基于所述异常点标注,从所述一组异常检测结果中识别最佳异常检测结果;以及将产生所述最佳异常检测结果的候选参数集合确定为所述最佳参数集合。

所述时序数据样本可以具有基于反馈的标注。所述基于反馈的标注可以至少包括异常点标注。

在一种实施方式中,方法700还可以包括:接收针对所述时序数据的异常检测结果的灵敏度值的指示;基于所述灵敏度值来调节所述异常检测结果;以及提供经调节的异常检测结果。

所述调节所述异常检测结果可以包括:基于所述灵敏度值来确定所述时序数据中的至少一个数据点的容忍范围;以及至少基于所述容忍范围来修改所述至少一个数据点的异常检测值。

应当理解,方法700还可以包括根据上述本公开的实施例的用于实现异常检测的任何步骤/处理。

图8示出了根据本公开实施例的用于实现异常检测的示例性装置800。

装置800可以包括:时序数据获得模块810,用于获得包括多个数据点的时序数据;特征表示生成模块820,用于生成与当前数据点相对应的数据段的特征表示;检测模型选择模块830,用于基于所述特征表示,从一组候选异常检测模型中选择异常检测模型;参数集合估计模块840,用于估计与所选择的异常检测模型相关联的参数集合;以及异常检测执行模块850,用于利用所选择的异常检测模型和所估计的参数集合对所述当前数据点执行异常检测。

在一种实施方式中,装置800还可以包括结果调节模块。所述结果调节模块可以用于:接收针对所述时序数据的异常检测结果的灵敏度值的指示;基于所述灵敏度值来调节所述异常检测结果;以及提供经调节的异常检测结果。

应当理解,装置800还可以包括根据上述本公开的实施例的被配置用于实现异常检测的任何其他模块。

图9示出了根据本公开实施例的用于实现异常检测的示例性装置1900。

装置900可以包括至少一个处理器910。装置900还可以包括与处理器910连接的存储器920。存储器920可以存储计算机可执行指令,当所述计算机可执行指令被执行时,使得处理器910执行根据上述本公开的实施例的用于实现异常检测的方法的任何操作。

本公开的实施例可以体现在非暂时性计算机可读介质中。所述非暂时性计算机可读介质可以包括指令,所述指令当被执行时,使得一个或多个处理器执行根据如上所述的本公开的实施例的用于实现异常检测的方法的任何操作。

应当领会,以上描述的方法中的所有操作都仅仅是示例性的,本公开并不限制于方法中的任何操作或这些操作的顺序,而是应当涵盖在相同或相似构思下的所有其他等同变换。

还应当领会,以上描述的装置中的所有模块都可以通过各种方式来实施。这些模块可以被实施为硬件、软件、或其组合。此外,这些模块中的任何模块可以在功能上被进一步划分成子模块或组合在一起。

已经结合各种装置和方法描述了处理器。这些处理器可以使用电子硬件、计算机软件或其任意组合来实施。这些处理器是实施为硬件还是软件将取决于具体的应用以及施加在系统上的总体设计约束。作为示例,本公开中给出的处理器、处理器的任意部分、或者处理器的任意组合可以利用微处理器、微控制器、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑器件(pld)、状态机、门控逻辑单元、分立硬件电路、以及配置用于执行在本公开中描述的各种功能的其他适合的处理组件来实现。本公开给出的处理器、处理器的任意部分、或者处理器的任意组合的功能可以利用由微处理器、微控制器、dsp或其他适合的平台所执行的软件来实现。

软件应当被广泛地视为意指指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、运行线程、过程、函数等。软件可以驻留在计算机可读介质中。计算机可读介质可以包括例如存储器,存储器可以例如为磁性存储设备(例如,硬盘、软盘、磁条)、光盘、智能卡、闪存设备、随机存取存储器(ram)、只读存储器(rom)、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、寄存器或者可移动盘。尽管在本公开给出的多个方面中将存储器示出为是与处理器分离的,但是存储器也可以位于处理器内部,例如高速缓存器或寄存器。

以上描述被提供用于使得本领域任何技术人员能够实践本文所描述的各个方面。对这些方面的各种修改对于本领域技术人员将是显而易见的,并且本文限定的一般性原理可以应用于其他方面。因此,权利要求并非旨在被局限于本文示出的方面。关于本领域普通技术人员已知或即将获知的、对本公开所描述各个方面的元素的所有结构和功能上的等同变换都被明确并入本文并且由权利要求所覆盖。

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