CN112154418A - 异常检测 - Google Patents
异常检测 Download PDFInfo
- Publication number
- CN112154418A CN112154418A CN201980033647.5A CN201980033647A CN112154418A CN 112154418 A CN112154418 A CN 112154418A CN 201980033647 A CN201980033647 A CN 201980033647A CN 112154418 A CN112154418 A CN 112154418A
- Authority
- CN
- China
- Prior art keywords
- value
- data element
- data
- time series
- prediction
- 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
- 238000001514 detection method Methods 0.000 title description 19
- 238000000034 method Methods 0.000 claims abstract description 150
- 238000012545 processing Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 26
- 238000003860 storage Methods 0.000 claims description 20
- 230000002547 anomalous effect Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 20
- 238000009826 distribution Methods 0.000 description 12
- 230000006399 behavior Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 238000013459 approach Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000000737 periodic effect Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000015556 catabolic process Effects 0.000 description 5
- 238000006731 degradation reaction Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 4
- 238000013450 outlier detection Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 238000011835 investigation Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000356 contaminant Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000000491 multivariate analysis Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Databases & Information Systems (AREA)
- Operations Research (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Complex Calculations (AREA)
- Debugging And Monitoring (AREA)
Abstract
根据本发明的实施例,一种方法准确地检测时间序列数据集的异常或离群值。一种用于识别时间序列数据集的特定数据元素是否为离群值的方法包括预测该特定数据元素的值以及获得阈值,所述阈值相对于所述预测值定义所述数据元素的实际值是否为离群值。在本发明实施例的一个方面中,基于与时间序列数据集的时间上在所述特定数据元素之前的数据元素相关联的历史误差值来生成所述阈值。
Description
背景技术
本发明实施例涉及异常检测,并且特别地涉及使用数据建模方法的异常检测。本发明实施例还涉及一种计算机程序产品,其包括使得系统的处理器能够实现这种方法的计算机可读程序代码。本发明实施例还涉及一种用于检测异常的系统。这样的系统可以用于识别在各种不同领域中发现的任何数据中的异常。这样的数据可以包括例如健康数据(例如,用于检测异常测试结果)、安全数据(例如,用于检测欺诈/入侵)或通信数据(例如,用于检测传输错误)。
异常检测旨在识别偏离该数据点或模式的预期行为(例如,异常)的数据点或数据模式。在不同的领域中,异常可以替代地被标记为离群值、不一致观察、例外、畸变、惊讶、独特性或污染物。
异常检测在各种应用领域(例如,健康、欺诈/入侵安全检测系统)中是有用的,并且对于5G网络运营商以及时的方式避免或检测性能降级是特别有益的,否则性能降级可能导致服务中断和维护成本增加。目的是以主动(例如,在降级发生之前准备)或反应性(例如,在降级发生之后反应)方式检测降级,以允许在早期阶段应用校正动作以最小化降级的影响并降低成本。
存在过多的异常检测技术,其可以基于所采用的策略类型来分类:i)基于实例的方法,离群值检测的流行公式是通过异常点与相邻点的距离来在多维数据中找到异常点,以及(ii)显式泛化方法,另一种流行方法,其中预先创建概括模型,该概括模型将对所监视实例的正常行为进行建模,并且还使用预期正常行为与实际行为之间的偏差作为异常检测的错误度量。
在实际系统中采用的最常见的现有技术采用基于阈值的方法,其可以被分类为参数和非参数方法。参数方法对数据集的基础分布作出假设,并基于该分布确定阈值。然而,这种假设在实践中常常是不切实际的并且被违反。此外,非参数方法避免了做出这样的假设,但是以特别的方式确定阈值。然而,这两种方法通常都是不现实的,不适于改变进来的数据集中的模式,并且通常需要在调整阈值方面付出很大努力。
更复杂的异常检测技术采用机器学习方法,其可以被分成三类:监督、半监督和非监督。监督学习异常检测需要其中每个实例被标记的数据集,并且通常它涉及在训练集上训练分类器。半监督算法,例如根据输入的正常训练数据集构建表示正常行为的模型,遵循该模型来计算将由该模型生成测试数据集的可能性。非监督模型不需要标记的数据集,并且在大多数数据点是正常的假设下操作,并将剩余的数据点作为离群值(outlier)返回。
然而,诸如统计和概率模型之类的大多数方法通常适用于单变量数据集,其中一次监视单个度量。通过为每个度量建立模型,这可以扩展到多个度量;然而,这将不直接考虑度量之间的任何相关性。因此,这些方法不能容易地扩展到多变量分析,其中度量之间的相关性可以用于识别潜在的异常行为。此外,现有方法通常依赖于包含地面真相标签(ground truth label)的数据集,其中异常被具体地指向数据点。这在现实情况下难以收集,因为标记的数据是昂贵的并且需要专家知识,这可能受到标记数据中的人为错误的影响。另外,初始模型可能不会推广到新类型的异常,除非重新训练,从而在异常检测模型的部署的整个持续时间内都需要专家知识。这使得这些方法在诸如5G网络的动态环境中部署是不切实际的。
发明内容
本发明实施例寻求提供一种用于确定时间序列数据集的具有值的数据元素是否为离群值的方法。
本发明实施例还试图提供一种计算机程序产品,其包括当在数据处理系统的处理器上执行时用于实现该方法的计算机程序代码。
本发明实施例还试图提供一种适于执行该计算机程序代码的系统。
本发明实施例还试图提供一种用于确定时间序列数据集的具有值的数据元素是否为离群值的系统。
根据本发明的实施例,提供了一种用于确定时间序列数据集的具有值的数据元素是否为离群值的计算机实现的方法。该方法包括从时间上在该数据元素之前的时间序列数据集的第一数据获得用于预测该数据元素的值的预测数据,并且使用该预测数据来预测该数据元素的预测值。该方法还包括获得时间序列数据集的历史误差值,每个历史误差值表示时间序列数据集的在时间上在该数据元素之前的第二数据元素的值与第二数据元素的预测值之间的差。该方法还包括基于一个或多个历史误差值获得阈值,所述阈值用于相对于数据元素的预测值定义被认为是离群值的数据元素的值,以及基于所述阈值、预测值和数据元素的值来确定所述数据元素是否是离群值。
在阈值的生成中使用历史误差值增加了识别异常数据值的准确性。具体地,可以容易地看出当前误差值是否已经偏离预期误差值(例如,偏离历史数据值),以识别与数据元素相关联的误差值是否落入正常或预期范围内。
因此,使用历史误差值提高了识别时序数据集的异常数据元素的准确性和精度。
历史误差值可以各自是误差值的平方(squared error value)。误差值的平方是数据元素的预测值与该数据元素的实际值之间的差的平方。均方误差值(mean squarederror value)可以用作包括多个值的数据元素的历史误差值。
使用历史误差值的平方计算阈值导致基于基准测试识别离群数据的准确性和精度提高。当使用所研究的数据元素的误差值的平方与阈值进行比较以确定所研究的数据元素是否为离群值时,这种影响尤其显著。
在本发明的一些实施例中,每个历史误差值被缩放到0和1之间的值(例如,归一化)。这确保了特定的历史误差值不会不成比例地影响阈值的计算。为了提高一致性,还可以将(所研究的)数据元素的与阈值进行比较的误差值在0和1之间缩放(例如,使用与历史值相同的缩放因子)。
在本发明的进一步实施例中,历史误差值的标准偏差用于计算或以其他方式获得阈值。由于标准偏差代表系统的正常或预期行为,因此使用历史误差值的标准偏差来生成阈值允许准确识别离群值。
可以利用切比雪夫不等式的原理来基于标准偏差确定用于识别异常数据元素的适当阈值。这提高了检测异常数据元素的可靠性,因为没有做出关于历史错误值的基础分布的假设。这由此增加了可以使用离群值检测方法的应用的数量(例如,在不期望非正态分布的情况下)。
在本发明的特定实施例中,可以利用历史误差数据的模式来提高识别异常数据元素的准确性。已经认识到,历史误差值中可能存在周期性,因为在小时/天/周(或其他周期)的相同时间处的误差值是相似的。因此,使用与周期性时间段相关联的历史误差值允许更准确地识别异常数据元素(outlying data elements),因为此周期性可被视为预期正常行为的一部分。换句话说,时间序列数据集的行为可以周期性地变化,使得类似的行为(匹配时间序列数据集的周期性)可以被认为是正常的。在各种示例中,预定的时间段可以是一小时、一天或一周,因为时间序列数据集更可能具有带有这样的时间段的周期性行为。
预测数据元素的预测值的步骤可以包括使用所述预测数据和多个不同的预测模型来预测所述数据元素的相应的多个潜在预测值。该相同步骤还可以包括将最接近数据元素的值的潜在预测值指定为预测值。
如果多个模型中没有一个已经设法准确地预测所研究的数据元素的值,则更可能的是,它是异常(anomaly)或离群值(outlier)。因此,通过使用最接近数据元素的实际/测量值的(多个可能预测值中的)一个预测值,可以提高识别异常数据元素的准确性和可靠性。
基准测试已经表明,使用多个预测模型来生成预测值是特别有效的。特别地,提高了检测异常数据元素的精确度和召回率(recall)。
根据本发明的另一实施例,提供了一种用于确定时间序列数据集的具有值的数据元素是否为离群值的计算机程序产品。计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有包含其中的程序指令,该程序指令可由处理单元执行以使处理单元执行根据本发明的实施例的方法,诸如先前描述的那些方法。
还提供了一种系统,包括至少一个处理器和根据本发明实施例的计算机程序产品。所述至少一个处理器适于执行计算机程序产品的计算机程序代码。
因此,提供了一种用于确定时间序列数据集的具有值的数据元素是否为离群值的系统。该系统包括第一获得单元,其适于从时间上在该数据元素之前的时间序列数据集的第一数据获得预测数据,以预测该数据元素的值。该系统还包括预测单元,其适于使用预测数据来预测数据元素的预测值。该系统还包括第二获得单元,适于获得时间序列数据集的历史误差值,每个历史误差值表示时间序列数据集的在时间上在该数据元素之前的第二数据元素的值与第二数据元素的预测值之间的差。第二获得单元还可以适于基于一个或多个历史误差值获得阈值,所述阈值用于相对于数据元素的预测值定义被认为是离群值的数据元素的值。该系统还包括确定单元,其适于基于阈值、识别的预测值和数据元素的值来确定数据元素是否是离群值。
附图说明
现在将参考以下附图仅通过示例的方式描述本发明的优选实施例,其中:
图1描述了其中可以实现说明性实施例的各方面的示例分布式系统的图形表示;
图2是其中可以实现说明性实施例的各方面的示例系统的框图;
图3是根据本发明的实施例的方法的流程图;
图4是根据本发明实施例的图3的方法的一部分的流程图;
图5是根据本发明的另一个实施例的图3的方法的一部分的流程图;
图6A-6D是示出根据本发明的不同实施例的方法的有效性的图;
图7示出了根据本发明的实施例的系统;
图8是其中可以实现说明性实施例的各方面的示例系统的框图;以及
图9示出了根据本发明优选实施例的方法或系统的架构。
具体实施方式
应当理解,附图仅仅是示意性的,并且不是按比例绘制的。还应当理解,在所有附图中使用相同的附图标记来表示相同或相似的部件。
在本申请的上下文中,其中本发明的实施例构成方法,应当理解,这样的方法是用于由计算机执行的过程,例如,是计算机可实现或计算机实现的方法。因此,该方法的各个步骤反映了计算机程序的各个部分,例如一个或多个算法的各个部分。
此外,在本申请的上下文中,系统可以是适于执行本发明的方法的一个或多个实施例的单个设备或分布式设备的集合。例如,系统可以是个人计算机(PC)、服务器或经由诸如局域网、因特网等网络连接的PC和/或服务器的集合,以便协作地执行本发明的方法的至少一个实施例。
本发明的实施例提供了一种基于显式泛化模型的方法,以通过利用大量的统计和概率方法以及深度学习模型来创建预测而以及时的方式发现异常。在每个时间戳处选择与实际值最接近的预测,从而使得异常检测解决方案仅针对真阳性异常进行警告并且具有最少量的假阴性。
本发明实施例的方法还利用非传统的动态滑动窗口机制来确定针对每个被分析的时间序列拟合的动态阈值,其中动态窗口包含每个点的重新缩放的平方误差以确保精度最高。
其它方面使得本发明实施例的方法在实践中比其它异常检测技术更有效。通常,异常检测算法通常要求用户选择难以确定的阈值,并且提供用于测试的金标签,这可能是昂贵的并且易于出错。这通过本发明实施例的异常检测方法来避免,本发明实施例的异常检测方法基于过去的预测误差来计算动态阈值,并且由于采用了半监督学习方法,所以不需要用于训练的标签。此外,本发明实施例的LSTM模型可以接收多个特征作为输入,这使得本发明实施例与单变量异常检测器相比是多变量的,因为本发明实施例可以使用可以捕获跨多个特征的异常的单个模型。
提出了精确检测时序数据集的异常或离群值的概念。具体地,所提出的概念依赖于识别时间序列数据集的特定数据元素是否为离群值的共同的基础方法。该通用方法包括预测该特定数据元素的值,并获得相对于预测值定义该数据元素的实际值是否为离群值的阈值。
在一些示例中,获得特定数据元素的误差值,误差值表示该数据元素的实际值与预测值之间的差。该误差值可以与阈值进行比较,以确定实际值以及相关联的数据元素是否是离群值。这提供了一种确定数据元素是否是离群值的高度准确但可适应的方法。
在本发明的实施例中,用于预测数据元素的值的预测数据包括时间序列数据集的在时间上在该数据元素之前的预定数目的其他数据元素。
根据本发明的实施例,历史误差值用于识别后面的数据元素是否是异常值。这里,历史误差值是与时间序列数据集中的所研究的数据元素之前(例如,在时间上比其更早)的数据元素相关联的误差值。具体地,历史误差值用于生成用于定义数据元素是否为离群值的阈值。
本发明的实施例基于以下认识,即历史误差值可以用于识别当前数据元素是否是离群值,其中历史误差值中的每一个表示时间序列数据集中的先前数据元素的预测值与实际值之间的差。特别地,可以确定当前误差值(是与被评估或研究的当前数据元素相关联的误差值)是否在正常范围内或者它是否是离群值。这允许相对于时间序列数据集的先前数据元素,改进地评估数据元素是否是离群值。
因此,本发明的实施例提出使用历史误差值来生成用于确定(当前)数据元素是否为离群值的阈值。
根据本发明的实施例,使用多个预测模型来生成所研究的数据元素的预测值。选择由生成与数据元素的实际值最佳匹配的预测值的预测模型生成的预测值、或者最佳预测包括数据元素的整个时间序列数据集的预测模型的预测值作为预测值。
因此,在本发明的实施例中,生成预测值的多个潜在值,并且选择与(所研究的)数据元素的实际值最接近的潜在预测值作为预测值。
如果多个模型中没有一个已经设法准确地预测所研究的数据元素的值,则更可能的是,它是异常或离群值。因此,通过使用最接近数据元素的实际/测量值的(多个可能预测值中的)一个预测值,可以提高识别异常数据元素的准确性和可靠性。
本发明的实施例的方法/系统采用基于历史误差值生成阈值和使用多个预测模型生成预测值的概念,以提供一种特别有效、精确和准确的识别数据元素是否是离群值的方法。
然而,本发明的实施例的方法采用使用多个预测模型生成预测值的概念,所述多个预测模型本身可以提高识别离群值的准确性。因此,还设想了一种方法,其中不需要使用历史误差值来生成阈值。
因此,可以提供一种用于确定时间序列数据集的具有值的数据元素是否为离群值的计算机实现的方法。这种方法包括:从时间上在所述数据元素之前的所述时间序列数据集的第一数据获得预测数据,以用于预测所述数据元素的值;使用所述预测数据和多个不同的预测模型来预测所述数据元素的相应的多个预测值;从所述多个预测值中识别最接近所述数据元素的所述值的所述预测值;获得阈值,用于相对于所述数据元素的所述预测值定义被认为是离群值的所述数据元素的值;以及基于所述阈值、所识别的预测值和所述数据元素的值来确定所述数据元素是否为离群值。
预测数据可以包括时间序列数据集的在时间上在该数据元素之前的预定数目的其他数据元素。
获得阈值的步骤可以包括获得时间序列数据集的历史误差值,每个历史误差值表示时间上在该数据元素之前的时间序列数据集的第二数据的值与时间序列数据集的第二数据的对应预测值之间的差。获得阈值的步骤还可以包括基于一个或多个历史误差值获得阈值。
优选地,每个历史误差值是误差值的平方,其是时间序列数据集的时间上在数据元素之前的第二数据的值与时间序列数据集的第二数据的对应预测值之间的差的平方。
获得阈值的步骤可以包括基于历史误差值的最大值将每个历史误差值缩放到0和1之间的值。
获得阈值的步骤可以包括计算历史误差值的标准偏差,并基于历史误差值的标准偏差获得阈值。
获得阈值的步骤还可以包括将历史误差值的标准偏差乘以预定数目以获得阈值。优选地,获得阈值的步骤包括使用切比雪夫不等式计算预定数目。
在本发明的实施例中,第二数据对应于在数据元素之前的多个预定时间段得的时间序列数据集的数据。优选地,所述预定时间段是一小时、一天或一周。
在本发明的至少一个实施例中,数据元素是时间序列数据集的数据点。
还可以提供一种用于确定时间序列数据集的具有值的数据元素是否为离群值的计算机程序产品。该计算机程序产品包括具有程序指令的计算机可读存储介质。程序指令可由处理单元执行以使处理单元执行一种方法,该方法包括:从时间上在所述数据元素之前的所述时间序列数据集的第一数据获得用于预测所述数据元素的值的预测数据,并且使用所述预测数据和多个不同的预测模型来预测所述数据元素的相应的多个预测值;从所述多个预测值中识别最接近所述数据元素的所述值的所述预测值;获得用于相对于所述数据元素的所述预测值定义被认为是离群值的所述数据元素的值的阈值;以及基于所述阈值、所识别的预测值和所述数据的值来确定所述数据元素是否为离群值。
还提出了一种计算机系统,其包括至少一个处理器和先前描述的计算机程序产品,其中至少一个处理器适于执行计算机程序产品的计算机程序代码。
还可以提供一种用于确定时间序列数据集的具有值的数据元素是否为离群值的系统。该系统包括第一获得单元,其适于从时间上在该数据元素之前的时间序列数据集的第一数据获得预测数据,以用于预测该数据元素的值。该系统还包括预测单元,其适于使用所述预测数据和多个不同的预测模型来预测所述数据元素的相应的多个预测值;以及从所述多个预测值中识别最接近所述数据元素的所述值的所述预测值。该系统还包括第二获得单元,其适于获得用于相对于数据元素的预测值定义被认为是离群值的数据元素的值的阈值;以及确定单元,适于基于所述阈值、所识别的预测值和所述数据元素的值来确定所述数据元素是否为离群值。
本发明的说明性实施例可以用于许多不同类型的数据处理环境中。为了提供用于描述说明性实施例的元件和功能的上下文,下文提供图1和图2作为其中可以实现说明性实施例的各方面的示例环境。应当理解,图1和图2仅是示例,而不是要断言或暗示关于其中可实现本发明的各方面或实施例的环境的任何限制。在不脱离本发明的范围的情况下,可以对所描述的环境进行许多修改。
图1描述了其中可以实现示例性实施例的各方面的示例性分布式事务处理存储系统的图形表示。分布式系统100可以包括其中可以实现说明性实施例的各方面的计算机网络。分布式系统100包含至少一个网络102,其是用于在分布式数据处理系统100内连接在一起的各种设备和计算机之间提供通信链路的介质。网络102可以包括诸如有线、无线通信链路或光纤电缆的连接。
在所描述的例子中,第一服务器104和第二服务器106与存储单元108一起连接到网络102。另外,客户端110、112和114也连接到网络102。客户端110、112和114可以是例如个人计算机、网络计算机等。在所描述的例子中,第一服务器104向客户端110、112和114提供数据,例如引导文件、操作系统映像和应用。在所描述的例子中,客户端110、112和114是第一服务器104的客户端。分布式系统100可以包括未示出的附加服务器、客户端和其他设备。
在所描述的示例中,分布式系统100是因特网,其中网络102表示使用传输控制协议/因特网协议(TCP/IP)协议集来彼此通信的网络和网关的世界范围的集合。因特网的核心是主节点或主机之间的高速数据通信线路的主干,包括路由数据和消息的数千个商业、政府、教育和其它计算机系统。当然,分布式系统100也可以被实现为包括多个不同类型的网络,例如内联网、局域网(LAN)、广域网(WAN)等。如上所述,图1旨在作为示例,而不是作为对本发明的不同实施例的体系结构限制,因此,图1中所示的特定元素不应被认为是对其中可实现本发明的说明性实施例的环境的限制。
图2是其中可以实现本发明的说明性实施例的各方面的示例系统200的框图。系统200是诸如图1中的客户端110的计算机的示例,实现本发明的说明性实施例的过程的计算机可用代码或指令可以位于其中。
在所描述的例子中,系统200采用集线器体系结构,其包括北桥和存储器控制器集线器(NB/MCH)202以及南桥和输入/输出(I/O)控制器集线器(SB/ICH)204。处理单元206、主存储器208和图形处理器210连接到NB/MCH 202。图形处理器210可以通过加速图形端口(AGP)连接到NB/MCH 202。
在所描述的例子中,局域网(LAN)适配器212连接到SB/ICH 204。音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、硬盘驱动器(HDD)226、CD-ROM驱动器230、通用串行总线(USB)端口和其它通信端口232,以及PCI/PCIe设备234通过第一总线238和第二总线240连接到SB/ICH 204。PCI/PCIe设备可以包括例如以太网适配器、附加卡和用于笔记本计算机的PC卡。PCI使用卡总线控制器,而PCIe不使用。ROM 224可以是例如闪速基本输入/输出系统(BIOS)。
HDD 226和CD-ROM驱动器230通过第二总线240连接到SB/ICH 204。HDD 226和CD-ROM驱动器230可以使用例如集成驱动电子设备(IDE)或串行高级技术附件(SATA)接口。超级I/O(SIO)设备236可以连接到SB/ICH 204。
操作系统在处理单元206上运行。操作系统协调并提供对图2中的系统200内的各种组件的控制。作为客户机,操作系统可以是商业可用的操作系统。面向对象的编程系统,例如JAVA编程系统,可以与操作系统一起运行,并提供从JAVA程序或在系统200上执行的应用程序到操作系统的调用。
作为服务器,系统200可以是例如运行高级交互执行(ADVANCED INTERACTIVEEXECUTIVE)(AIX)操作系统或LINUX操作系统的IBM ESERVER SYSTEM P计算机系统。系统200可以是在处理单元206中包括多个处理器的对称多处理器(SMP)系统。或者,可以采用单处理器系统。
用于操作系统、编程系统以及应用或程序的指令位于诸如HDD 226的存储设备上,并且可以被加载到主存储器208中以便由处理单元206执行。类似地,根据本发明实施例的一个或多个消息处理程序可以适于由存储设备和/或主存储器208存储。
本发明的说明性实施例的过程可以由处理单元206使用计算机可用程序代码来执行,所述计算机可用程序代码可以位于诸如主存储器208、ROM 224之类的存储器中,或者位于一个或多个外围设备226和230中。
诸如图2所示的第一总线238或第二总线240的总线系统可以包括一个或多个总线。当然,总线系统可以使用任何类型的通信结构或体系结构来实现,所述通信结构或体系结构提供在附接到该结构或体系结构的不同组件或设备之间的数据传输。诸如图2的调制解调器222或网络适配器212之类的通信单元可以包括用于发送和接收数据的一个或多个设备。存储器可以是例如主存储器208、ROM 224或诸如在图2中的NB/MCH 202中找到的高速缓存。
本领域的普通技术人员将理解,图1和图2中的硬件可以根据实现而变化。除了图1和图2中描述的硬件之外,或者作为其替代,可以使用诸如闪存、等效的非易失性存储器或光盘驱动器等的其它内部硬件或外围设备,此外,在不脱离本发明的精神和范围的情况下,除了先前提到的系统之外,可以将示例性实施例的处理应用于多处理器数据处理系统。
此外,系统200可以采取多种不同数据处理系统中的任何一种的形式,包括客户端计算设备、服务器计算设备、平板计算机、膝上型计算机、电话或其他通信设备、个人数字助理(PDA)等。在一些说明性示例中,系统200可以是便携式计算设备,其配置有闪存以提供用于存储例如操作系统文件和/或用户生成的数据的非易失性存储器。因此,系统200本质上可以是任何已知的或以后开发的数据处理系统,而没有架构限制。
如本文所使用的,术语“数据元素”用于指时间序列数据集的一部分(a part)或一部分(a portion),诸如数据集的一个或多个数据点。单个数据元素可以包含一组数据点或单个数据点。数据元素可以与一个或多个时间戳相关联,每个时间戳可以表示单个时间实例或时间段(例如,一系列连续的时间实例)。每个数据元素可以与单个值或多个值相关联,例如,每个数据元素可以是一维或多维的。
数据元素的值或“实际值”是指实际由数据元素存储或包含在数据元素中的值。这与数据元素的“预测值”不同,该“预测值”替代地是指实际值的预测(例如,不是实际值本身),并且通常基于数据集中的其他数据元素的值来确定。
术语“离群值”可以与术语“异常”互换使用。
图3示出了根据本发明的实施例的用于确定数据元素(例如,“所研究的数据元素”或“当前数据元素”)是否为离群值的方法30的流程图。本发明构思的不同示例利用并改进了该实施例。
方法30开始于步骤31,其包括获得用于预测数据元素的值的预测数据。特别地,步骤31包括从时间上在数据元素之前的时间序列数据集的第一数据获得预测数据。因此,步骤31从时间序列数据集中比所研究的数据元素更早的数据获得预测数据。
例如,步骤31可以包括获得在数据序列中在时间上处于所研究的数据元素之前的多个数据元素。这可以被称为“回顾(look-back)”操作。所获得的数据元素的数量可以根据应用而变化,但是优选地包括不少于3个数据元素和/或不多于20个数据元素。优选地,用于预测(所研究的)数据元素的值的数据包括紧接在(并且在时间上)所研究的数据元素之前的数据元素。
因此,在步骤31中获得的预测数据可以包括时间序列数据集的多个数据元素,第一数据的每个数据元素在时间上在所研究的数据元素之前。类似地,从中获得预测数据的第一数据可以包括时间序列数据集的多个数据元素,第一数据的每个数据元素在时间上在被研究的数据元素之前。
然后,方法30移至步骤32,该步骤包括基于预测数据预测(所研究的)数据元素的一个或多个值。因此,步骤32生成所研究的数据元素的预测值,该预测值与该数据元素的实际值(例如,记录或存储值)不同。
步骤32优选地包括将预测模型应用于预测数据,从而预测所研究的数据元素的一个或多个值。稍后将阐述步骤32的其它实施例。
任何(一个或多个)合适的预测模型可在步骤32中使用,用于预测数据值的已知预测模型包括长期-短期记忆(LSTM)、自回归积分移动平均(ARIMA)和三指数平滑,也称为Holt-Winters(HW)。预测模型的选择可以根据时间序列数据集的特性而变化。例如,深度神经网络预测方法,诸如LSTM,可以在给定大训练数据(例如,大量预测数据)的情况下提供最佳结果,而给定小数据集,ARIMA和HW可以提供更好的预测。可以理解,可以使用其它模型。
预测模型可以是时间序列预测(TSF)模型。TSF模型的输出是一步提前预测,其识别/预测在下一时间戳处预期的值,例如,对于所研究的数据元素。
在步骤32之后,方法30进行到步骤33,其包括获得用于定义被认为是离群值的数据元素的值的阈值。因此,所获得的阈值可以用于确定数据元素的实际值是否是离群值(至少参考该数据元素的预测值)。
在步骤33之后,方法30进行到步骤34,步骤34包括基于数据元素的阈值、预测值和(实际)值确定(所研究的)数据元素是否为离群值。因此,可以例如至少基于该数据元素的预测值与(实际)值之间参考阈值的比较来确定该数据元素是否是离群值。
特别地,步骤34可以包括使用所研究的数据元素的预测值和(实际)值来计算误差值。该误差值可以与阈值进行比较以确定数据元素是否是离群值(例如,异常)。例如,如果所研究的数据元素的误差值高于阈值,则可以确定该数据元素是离群值。类似地,如果所研究的数据元素的误差值低于阈值,则可以确定该数据元素不是离群值。
作为示例,可以使用所研究的数据元素的(实际)值与预测值之间的差(的大小)作为误差值。在另一个示例中,使用所研究的数据元素的(实际)值和预测值进行特定误差计算(例如RMS误差计算、误差平方计算或缩放误差平方计算)以生成误差值。
因此,一般而言,“误差值”表示数据元素的预测值与实际值之间的差。本领域技术人员将知道获得表示这种差异的误差值的许多方法。
阈值可以指示被认为位于正常或非异常范围内(non-outlying)的误差值的上限。因此,阈值可以指示被认为不是离群值的最大容许误差值。以此方式,大于阈值的误差值指示与该误差值相关联的数据元素是离群值。
在其他示例中,阈值可以指示不被认为是离群值的数据元素的(实际)值的范围的上限和下限,其中落在该范围之外的任何值被认为是离群值。
在另一个例子中,步骤34包括将阈值加到所研究的数据元素的预测值上,以定义不被认为是离群值的范围的上限,并且从相同的预测值中减去阈值,以定义不被认为是离群值的范围的下限。落在上边界和下边界之外的任何值可以被标记为离群值或异常。以此方式,阈值可相对于预测值界定数据元素的可接受、非异常值的范围。
在步骤34中识别出数据元素是否异常之后,该方法可以包括发信号通知所研究的数据元素异常的步骤(例如,触发警报,生成特定的数据集等)。该信令可以用于标记或识别异常数据元素。如果识别出异常数据元素,则采用异常数据元素检测的方法可以选择忽略异常数据元素或请求重新发送异常数据元素(例如,在异常由噪声等引起的情况下)。本文描述的异常检测方法的其他用途对于本领域技术人员将是显而易见的。
可以设想,方法30可以迭代地应用于时间序列数据集的不同数据元素,以识别不同数据元素是否是离群值。每次执行方法30时,例如,对于所研究的每个不同的数据元素,可以计算新的阈值。因此,例如,该方法可以针对每个数据元素(例如,由系统)迭代地执行,其中针对每个数据元素确定不同的阈值(例如,阈值是动态的)。
很明显,本发明的实施例可以适用于确定多维(例如,包括多于一个值)数据元素是否是离群值。
在这样的实施例中,步骤32可以包括预测数据元素的预测值的对应的(例如相同的)数目,因为存在该数据元素的(实际)值。类似地,步骤34可以包括使用数据元素的预测值和(实际)值来计算误差值,以便与阈值进行比较。因此,数据元素可以与多个(实际)值和相应的多个预测值相关联,根据所述多个(实际)值和相应的多个预测值,可以计算单个误差值以用于与阈值进行比较。
使所提出的概念适应于多变量数据的其它方法对于本领域技术人员来说是显而易见的。例如,在本发明的实施例中,可以单独地评估所研究的多维数据元素的每个值,以确定其是否是离群值(例如,使用本文描述的方法)。在多维数据元素的一个或多个值被识别为离群值的情况下,整个数据元素可以被认为是离群值/异常。
因此,对于与多于一个值相关联的多维数据元素,本领域技术人员可以容易地修改本发明的实施例。
图4示出了用于获得阈值的步骤33和用于确定所研究的数据元素是否是离群值的步骤34的实施例。
步骤33的所示实施例包括多个单独的子步骤。
步骤33的第一子步骤41包括获得时间序列数据集的历史误差值。每个历史误差值表示时间序列数据集的时间上在所研究的数据元素之前(例如,在时间序列数据集的在所研究的数据元素之前或比所研究的数据元素更早)的第二数据元素的至少一个值与该第二数据元素的至少一个对应的预测值之间的差。换句话说,历史误差值表示时间序列数据集中的先前数据元素的(一个或多个)预测值与(一个或多个)对应实际值之间的差。历史误差值可以可选地标记为先前误差值。
因此,时间序列数据集的多个“第二数据元素”是在时间上处于所研究的数据元素之前的数据元素,每个数据元素都造成相应的历史误差。优选地,这些第二数据元素是时间序列数据集中的在(被研究的)数据元素之前的数据元素。例如,第二数据元素可以包括紧接在所研究的数据元素之前的数据元素。
子步骤41可以包括以与所研究的数据元素的预测值相同的方式获得每个第二数据元素的预测值。即,在时间序列数据集的特定第二数据元素之前的数据集的数据元素可以用于预测第二数据元素的值。
子步骤41可以包括例如从存储的一组历史误差值获得历史误差值。因此,所存储的历史误差值的集合可以包含时间序列数据集的时间上在所研究的数据元素之前的数据元素的误差值。
在子步骤41中获得的历史误差值的数量可以根据实施例而变化。在本发明的一个实施例中,获得的历史误差值的个数不小于5,在本发明的另一个实施例中,历史误差值的个数不小于10,在本发明的其他优选实施例中,历史误差值的个数不小于20或50,在本发明的其他实施例中,历史误差值的个数不小于100或200。在本发明的其他实施例中,所有先前的数据元素(对于所研究的数据元素)与历史误差值相关联,并且在子步骤41中获得所有误差值。历史误差值的数量越多,识别离群值的准确性就越高,因为阈值将更准确地表示预测的历史误差容限(例如,更能指示数据集特性)。
步骤33的第二后续子步骤42包括基于历史误差值获得阈值。
以这种方式,基于时间序列数据集中的时间上在所研究的数据元素之前的数据元素的先前/历史误差值来确定用于确定所研究的数据元素是否为离群值的阈值。
优选地,在子步骤41中获得的每个历史误差值是误差值的平方,其是时间序列数据集的时间上在该数据元素之前的相应第二数据元素的(实际)值和预测值之间的差的平方。
对于包括多个值的数据元素,例如多维数据元素,历史误差值可以是第二数据元素的均方误差。因此,每个第二数据元素可以与多个(实际)值和相应的多个预测值相关联,其中使用多个实际值和预测值来计算单个误差值—历史误差值。其它适用于多变量数据的方法对于本领域技术人员来说是显而易见的。
在阈值的计算中使用误差值的平方提供了一种更准确和精确的识别数据元素是否为离群值的方法。
在其他示例中,历史误差值可以是时间序列数据集的在时间上在所研究的数据元素之前的相应第二数据元素的(实际)值与预测值之间的差。用作历史误差值的适当误差值的其他示例对于本领域技术人员来说是显而易见的(例如,RMS值、对数误差等),并且用于计算其的方法对于本领域技术人员来说也是显而易见的。优选地,历史误差值基于差值的大小,或者仅包括正值(诸如平方值),例如,其是无符号的(unsigned)或无符号的(signless)。
在本发明的实施例中,步骤33还可以包括子步骤43,其例如基于在步骤41中获得的历史误差值的最大值将每个历史误差值缩放到0和1之间的值,因此,子步骤43可以包括确定在步骤41中获得的历史误差值的最大值,并且基于该最大值缩放每个历史值(例如,将每个历史误差值除以历史误差值的最大值)。
在另一示例中,在子步骤43中基于任何历史误差值的最大值和所研究的数据元素的对应误差值(例如,以与每个历史误差值相同的方式计算的数据元素的误差值)来缩放每个历史误差值。这确保了异常识别过程中的一致性。
在本发明的一些实施例中,历史误差值的数量等于时间序列数据集中的时间上在所研究的数据元素之前的数据元素的数量。因此,时间序列数据集中的在所研究的数据元素之前的每个数据元素可以提供历史误差值。这以处理效率和成本为代价增加了异常检测机制的准确性。
在所示的实施例中,用于获得阈值的子步骤42包括依次执行子步骤44和子步骤45。
子步骤44包括计算在步骤41中获得的历史误差值的标准偏差,这是使用传统的标准偏差计算方法来执行的。
子步骤45包括基于计算的标准偏差获得阈值。特别地,子步骤45可以包括将标准偏差乘以预定值,并且使阈值基于该结果。
在历史误差值仅为正数(例如,每个误差值是误差的大小或误差值的平方)的情况下,子步骤45可以包括将标准偏差乘以预定值(例如,3或5)以直接获得阈值。
当历史误差值包括正数和负数两者时(例如,当误差值不是误差值的平方或误差值的大小时),则历史误差值的平均值也可用于定义阈值。特别地,预定值(例如3或5)与标准偏差的乘积可以被加到历史误差值的平均值上以定义阈值。
这提供了高度精确和可适应的动态阈值。
优选地,预定值不小于3,例如不小于5。随着预定值增大,检测离群值的假阳性率减小,并且检测异常值的假阴性率增大。预定值5已经表明提供了特别准确和可靠的离群值检测。然而,如果潜在的(历史)误差可以由正态分布或半正态分布表示或假设为正态分布或半正态分布,则预定值可以被定义为3。
本领域技术人员将很好地理解,用于计算阈值的预定值可以取决于外围数据元素的定义。例如,在本发明的一个实施例中,如果数据元素具有不落在预期所有误差值的预定百分比落在的范围内的误差值,则该数据元素被认为是离群值。预定百分比可以是例如95%、99%、99.5%、99.7%等。用户可以提供该预定百分比,使用标准过程从该预定百分比计算预定值。
因此,预定值以及因此阈值可以取决于预期为离群值的误差值的百分比(例如,5%、1%、0.5%、0.3%等)。
换言之,如果数据元素与不落在(时间序列数据集中的任何数据元素的)预定百分比的误差值预期落入的范围内的误差值相关联,则该数据元素可被认为是离群值。
对于半正态分布误差值,可以假设所有误差值的95%落入0的2个标准偏差内,并且误差值的99.7%落入0的3个标准偏差内。对于正态分布误差值,可以假设所有误差值的95%落入(历史误差值的)平均值的2个标准偏差内,并且误差值的99.7%落入(历史误差值的)平均值的3个标准偏差内。
考虑其中每个历史误差值是误差值的平方的场景,可以假设历史误差值具有正态分布,并且离群值被定义为相关联的误差值不落在数据元素的99.7%的正态预期界限内的数据元素。在该示例中,预定值将是3,并且阈值将是标准偏差的3倍。
可以看出,预定值因此可以取决于具有在正常界限之外或之内的值的数据元素的概率。
然而,为了确保该方法不受历史错误的潜在分布的约束,可以利用切比雪夫的不等式。与68-95-99规则(也称为仅适用于正态分布的经验规则)相比,切比雪夫不等式保证了对于宽类别的概率分布,不多于某一部分的值可以离平均值或0(仅对于正误差值)超过某一距离。
因此,可以使用切比雪夫不等式的原理来计算预定值,以确定必须将距离值多少标准偏差视为离群值。
这可以基于定义什么构成了异常误差值。例如,如果误差值大于预期误差值的至少预定百分比将降到其以下的阈值,则误差值可以被定义为异常误差值。预定百分比P1可根据应用(例如,来自用户输入值)而变化,诸如95%、99%或99.5%。
在本发明的一个实施例中,其中k是预定数量,p1是预定百分比(表示为十进制),该预定数量可通过执行以下步骤来计算:
预定百分比P1表示被认为位于正常范围内的误差值的百分比,例如,不与边远数据元素相关联。因此,公式1-p1表示被认为位于正常范围之外(例如,与异常元素相关联)的误差值(例如,整个数据集)的百分比。该百分比值可以根据应用而不同。
这显著地改进了用于确定数据元素是否为离群值的适当阈值的识别,从而改进了识别异常数据元素的准确性和精度。采用切比雪夫不等式的方法的通用性大于假设误差值正态分布的那些方法。
在本发明的其它实施例中,子步骤42可以使用其它算法来生成阈值。例如,子步骤42可以包括确定历史误差值的平均值/中值/众数,并使用该值来定义阈值。例如,平均值/中值/众数可以乘以预定的数值(例如,不大于2,诸如大约1.5)以提供阈值。
然而,本发明的优选实施例包括利用子步骤43和包括所述子步骤44、45的子步骤42,在这样的实施例中,基于缩放的历史误差值的标准偏差计算阈值。该优选实施例提供了对异常数据元素(outlying data element)的极其准确和精确的识别。
用于确定(所研究的)数据元素是否是离群值的步骤34可以取决于在步骤33中用于生成阈值的计算,换句话说,步骤34的方法可以补充步骤33的用于生成阈值的方法。
在本发明的典型实施例中,以与时间序列数据集中的时间上在所研究的数据元素之前的第二数据元素的每个历史误差值相同的方式计算所研究的数据元素的误差值。将该误差值与使用历史误差值生成的阈值进行比较。
例如,考虑在步骤33中计算的阈值基于历史数据(例如,时间上在被研究的数据元素之前的第二数据元素)的误差值的平方的情形。步骤34可以包括计算所研究的数据元素的误差值的平方的相应子步骤46和基于(该数据元素的)误差值的平方与阈值之间的比较来确定该数据元素是否为离群值的相应子步骤47。
在另一个示例中,考虑其中步骤33包括缩放历史误差值的子步骤43的场景。步骤34可以包括缩放数据元素的误差值的对应子步骤48(例如,使得它被缩放以对应于历史误差值)。在这样的实施例中,子步骤48优选地包括使用用于缩放历史误差值的缩放历史误差值的相同最大值来缩放所研究的数据元素的误差值。因此,可以以相同的方式对历史误差值和研究中的误差值进行归一化。
这样,所研究的数据元素的误差值可以对应于用于计算阈值的历史误差值,因为它以类似的方式被计算并且被缩放以对应于历史误差值。
可以设想,上述实施例可以迭代地应用于时间序列数据集的不同数据元素。以这种方式,可以例如在时间序列数据集的每个时间步为所研究的每个数据元素计算不同的阈值,使得可以单独地评估每个数据元素以确定它是否是离群值。
在本发明的一些实施例中,存储所研究的数据元素的计算误差值以用于该方法的未来迭代,例如,以在未来迭代中充当历史误差值。因此,数据元素的计算误差值可以被附加到一组存储的历史误差值。
在本发明的优选实施例中,在步骤41中获得的历史误差值与对应于特定时间窗口的第二数据元素相关联。如前所述,时序数据集的数据元素与特定的时间点或时间段相关联(例如,它们与至少一个时间戳相关联)。因此,每个历史误差值还可以与特定的时间点或时间段相关联(例如,它们也与至少一个时间戳相关联)。因此,可以选择与特定时间窗口相关联的历史误差值,例如,相对于所研究的数据元素的时间戳。
优选地,与历史误差值相关联的时间戳落入固定时间窗内,该固定时间窗位于距与所研究的数据元素相关联的时间戳预定的时间长度处。例如,步骤41可以包括获得落在以所研究的数据元素的时间戳之前1小时的时间(例如,±5分钟)为中心的10分钟窗口内的历史误差值。
在本发明的实施例中,在步骤41中获得的每个历史误差值可以与时间窗相关联,该时间窗口位于与所研究的数据元素相关联的时间之前的多个预定时间段。
作为示例,考虑预定时间段是一小时、固定时间窗的长度是10分钟并且所研究的数据元素与10:00:00的时间戳相关联的情形。在这种情况下,与在步骤41中获得的历史误差值相关联的时间戳可以落入以下窗口中的任何一个内:09:00:00(±0:05:00);08:00:00(±0:05:00);07:00:00(±0:05:00);等等。
固定时间窗的长度可以取决于从与所研究的数据元素相关联的时间戳开始的预定时间长度的长度。例如,时间窗的长度可以是从时间戳开始的预定时间长度的倍数(例如,0.01x)。
预定时间长度的长度优选地是小时、天或周。这允许利用时间序列数据集中的模式,该模式通常与这样的时间段相关联。这通过考虑时间序列数据集中的周期性模式来提高检测离群值的精度和可靠性。
本发明的实施例还可以包括识别整个时间序列数据集的历史误差值中的周期性模式的步骤。这可以例如使用模式识别算法或程序或频率分析方法(例如,采用傅立叶变换)来执行。识别历史误差值中的周期性模式允许获得与周期性时间窗(例如,所研究的数据元素的时间戳落入其中)相关联的历史数据值。
在本发明的其他实施例中,所获得的历史误差值对应于时间序列数据集中紧接在所研究的数据元素之前(例如,没有任何中间数据元素)的数据元素的误差值。因此,例如,时间序列数据集中紧随第二数据元素的最近或最后一个的数据元素是所述研究的数据元素。
本发明的实施例通过计算时间序列数据集的每个数据元素的动态阈值来实现极值分析。这样的实施例可以包括确定数据元素的实际值与该数据元素的预测值之间的距离的步骤,并且当该距离高于动态阈值时,将数据元素的实际值报告为异常。
在这样的实施例中,距离优选地是归一化(例如,缩放)在0和1之间的实际值和预测值之间的误差平方。可以基于与时间序列数据集的先前数据元素相关联的历史误差值,针对每个数据元素(例如,在时间序列数据集的不同时间步处)单独地计算动态阈值。甚至更优选地,动态阈值基于已经在0和1之间归一化(例如,缩放)的历史误差平方。
这提供了一种特别准确和精确的方法,用于识别异常数据元素或数据元素何时与一个或多个离群值相关联。
图5示出了方法30的步骤32的实施例,用于基于预测数据来预测(所研究的)数据元素的值。该方法优选地与参考图4描述的实施例一起使用,然而,可以设想,与图3的实施例一起使用的单独的图5的方法可以提高识别异常数据元素的准确性。
步骤32包括子步骤51,使用预测数据和多个不同的预测模型来预测数据元素的相应多个预测值。因此,多个预测模型各自用于预测数据元素的相应值。
用于预测数据元素的值的合适的预测模型对于本领域技术人员是公知的,诸如先前阐述的那些。通常,预测模型采用多个先前数据元素作为输入,并且处理这些数据元素以预测后续数据元素的值。因此,预测模型所使用的预测数据优选地包括在时间上在所研究的数据元素之前的多个数据元素。
当然,如果所研究的数据元素是多维的,因此包括多于一个数据值,则每个预测模型可以预测该数据元素的预测值的相应集合。
然后,步骤32进行到子步骤52,从多个预测值中识别提供最接近数据元素的值的预测值的预测模型。在方法30的后续步骤中,在确定数据元素是否为离群值时使用最接近数据元素的值的预测值。
优选地,子步骤52包括计算数据元素的多个预测值中的每一个与数据元素的(实际)值之间的均方根(RMS)误差。与最低RMS误差相关联的预测值被选择作为未来步骤的预测值。
在另一示例中,步骤32替代地包括使用多个预测模型来预测在所研究的数据元素之前的总时间序列数据集。选择生成最接近实际时间序列数据集(例如,如使用RMS分析所确定的)的时间序列数据集的预测模型,以生成所研究的数据元素的预测值。
因此,步骤32可以包括利用深度学习机制来识别多个预测模型中的最佳地预测数据元素的值或者最佳地建模总时间序列数据集。
本发明的实施例认识到,如果多个预测模型中没有一个已经设法准确地预测所研究的数据元素的值,则更可能的是,该数据元素是异常或离群值。因此,通过使用最接近数据元素的实际/测量值的(多个可能预测值中的)预测值,可以提高识别异常数据元素的准确性和可靠性。
此外,使用多个预测模型并选择这些中的最佳模型意味着实施例不需要依赖于特定的时间序列预测模型-例如预测模型-其否则将影响识别异常数据元素的方法的最大功效。特别地,通过某些预测模型,可以比其它预测模型更好地对不同的时间序列数据集建模或更准确地建模。通过使用多个预测模型,可以识别最适当的模型,从而降低将数据元素误识别为离群值的可能性。
本发明的特别有利的实施例采用参照图4描述的步骤33和参照图5描述的步骤32,然而,将显而易见的是,这两个概念(例如,图4和图5的)可以被认为是彼此分开的。
因此,可以提出一种包括参照图3和图5描述的步骤(例如,并且不一定包括参照图4描述的步骤)的方法。
图6A是示出了与相关技术相比本发明的所提出的实施例的有效性的曲线图。使用识别异常数据元素的六种不同方法对多个不同数据集的每个数据元素执行基准测试。这些方法中的五种(61、62、63、65、66)符合本发明的提出的实施例。第六方法64对应于相关技术的方法。
根据本发明的实施例,第一方法61包括执行如参考图3和图4所描述的方法(例如,使用历史误差值来计算阈值),其中在步骤32中使用的用于预测数据元素的值的预测模型是ARIMA模型。
根据本发明的实施例,第二方法62包括执行如参考图3、图4和图5所述的方法,因此,第二方法62使用历史误差值来计算阈值。方法62的步骤32包括使用预测数据和多个不同的预测模型来预测数据元素的相应的多个潜在预测值;以及将最接近数据元素的值的潜在预测值指定为预测值。
根据本发明的实施例,第三方法63还包括执行参考图3、图4和图5描述的方法,因此,第三方法63使用历史误差值来计算阈值。方法63的步骤32包括使用预测数据和多个不同预测模型来预测数据集的多个数据元素的相应多个潜在预测值;以及选择生成与数据集的相关联的多个数据元素的(实际)值最接近地匹配的预测值的预测模型,以生成数据元素的预测值。
根据本发明的实施例,第四方法65包括执行如参考图3和图4所述的方法(例如,使用历史误差值来计算阈值),其中在步骤32中使用的用于预测数据元素值的预测模型是单个LSTM(LSTM-S)预测模型。
根据本发明的实施例,第五方法66包括执行如参考图3和图4所述的方法(例如,使用历史误差值来计算阈值),其中在步骤32中使用的用于预测数据元素的值的预测模型是深度LSTM(LSTM-D)预测模型。
根据相关技术,方法64包括使用传统EGADS模型执行异常值检测。
图6A示出了六个方法61-66中的每一个对1和6之间的排名评分的数据集的数量,其中排名1表示用于识别给定数据集的特定数据集中的离群值的最佳方法,排名6表示用于识别给定数据集的特定数据集中的离群值的最差方法。
为了评估方法的相对排名,计算每个模型的F1评分,其中与最高F1评分相关联的方法被赋予排名1,并且具有最低F1评分的方法被赋予排名6,其他排名,例如排名2-5,相应地在其间分布。
换言之,对于多个基准数据集中的每一个,方法61-66被应用于该数据集的每个数据元素,并且随后基于排名评估方法来排名。这里,排名评估方法包括计算每种方法的F1评分,并且基于F1评分的大小来对所述方法进行排名。
Y轴6Y指示方法为其接收特定排名的数据集的数目。X轴6X表示排名。
F1评分由以下等式定义:
其中“precision(准确率)”被定义为在给定数据集中发现的真实异常的数量除以在该数据集中发现的异常的总数量,并且技术的“recall(召回率)”被定义为在该数据集中发现的真实异常的数量占数据集中真实异常的总数的比率。
所测试的数据集具有已知数量的异常(例如,它们是基准数据集),使得可以容易地确定特定方法的功效。
将清楚地看到,根据本发明实施例的方法平均起来比根据现有技术的方法排名更高。
图6B到6D示出了其他图形,其示出了参考其他排名评估方法对相同的多个数据集执行的上述方法的相对排名。
如前所述,对于多个数据集中的每一个,应用方法61-66,并基于排名评估方法对其进行排名。方法接收特定排名的总次数被求和,并在图6A-6D中显示。因此,图6A-6D示出了根据不同方法排名的每种方法的总排名。
在图6B中,通过计算每个模型的准确率来评估模型的相对排名,其中与最高F1分数相关的方法被赋予排名1,而具有最低F1分数的方法被赋予排名6,其它排名相应地分布在剩余方法之间。“准确率”被定义为在给定数据集中发现的真实异常的数量除以在该数据集中发现的异常的总数量。
在图6C中,通过计算每个模型的召回率来评估模型的相对排名,其中与最高F1分数相关的方法被赋予排名1,而具有最低F1分数的方法被赋予排名6,其它排名相应地分布在剩余方法之间。
在图6D中,通过计算每个模型的常规ED分数来评估模型的相对排名,其中与最高F1分数相关联的方法被赋予排名1,而具有最低F1分数的方法被赋予排名6,其它排名相应地分布在剩余的方法之间。
图6A-6D清楚地示出本发明的实施例的排名始终高于用于识别离群值的相关技术方法。例如,图6D示出了相关技术方法如何从执行良好偏离到执行不良,这通过使用本发明的实施例来避免。
在本发明的一些实施例中,可以提供一种系统,该系统包括适于执行参照图3至图5先前描述的任何方法的处理装置。
作为示例,如图7所示,本发明的实施例可以包括计算机系统70,其可以形成联网系统7的一部分,计算机系统/服务器70的组件可以包括但不限于一个或多个处理装置,例如包括处理器或处理单元71、系统存储器74和将包括系统存储器74的各种系统组件耦合到处理单元71的总线90。
总线90表示若干类型的总线结构中的任何一种的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线体系结构中的任何一种的处理器或局部总线。作为示例而非限制,这些体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线。
计算机系统/服务器70通常包括各种计算机系统可读介质。这样的介质可以是可由计算机系统/服务器70访问的任何可用介质,并且它包括易失性和非易失性介质、可移动和不可移动介质。
系统存储器74可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)75和/或高速缓冲存储器76。计算机系统/服务器70还可以包括其他可移动/不可移动、易失性/非易失性计算机系统存储介质。仅作为示例,存储系统77可被提供用于从不可移动、非易失性磁介质(未示出,并且通常被称为“硬盘驱动器”)读取和向其写入。尽管未示出,但是可以提供用于从可移动、非易失性磁盘(例如,“软盘”)读取和向其写入的磁盘驱动器,以及用于从诸如CD-ROM、DVD-ROM或其它光学介质等可移动、非易失性光盘读取或向其写入的光盘驱动器。在这种情况下,每个都可以通过一个或多个数据介质接口连接到总线90。如下面将进一步描绘和描述的,存储器74可以包括至少一个程序产品,该程序产品具有一组(例如,至少一个)程序模块,该程序模块被配置成执行本发明的实施例的功能。
具有一组(至少一个)程序模块79的程序/实用程序78,以及操作系统、一个或多个应用程序、其它程序模块和程序数据,可作为示例而非限制存储在存储器74中。操作系统、一个或多个应用程序、其它程序模块和程序数据或其某种组合中的每一个可包括联网环境的实现。程序模块79通常执行这里描述的本发明实施例的功能和/或方法。
计算机系统/服务器70还可以与一个或多个外部设备80通信,诸如键盘、指示设备、显示器85等;一个或多个设备,其使得用户能够与计算机系统/服务器70交互;和/或任何使计算机系统/服务器70能够与一个或多个其它计算设备通信的设备(例如网卡、调制解调器等)。这种通信可以经由输入/输出(I/O)接口72发生,然而,计算机系统/服务器70可以经由网络适配器73与一个或多个网络通信,所述网络诸如局域网(LAN)、通用广域网(WAN)和/或公共网络(例如,因特网)。如图所示,网络适配器73通过总线90与计算机系统/服务器70的其它组件通信,应当理解,尽管未示出,其它硬件和/或软件组件可以与计算机系统/服务器70结合使用,示例包括但不限于:微码、设备驱动程序、冗余处理单元、外部磁盘驱动器阵列、RAID系统、磁带驱动器和数据档案存储系统等。
图8示出了用于确定时间序列数据集805中具有值的数据元素是否为离群值的系统800的框图。
系统800包括第一获得单元810,其适于从时间上在该数据元素之前的时间序列数据集805的第一数据获得预测数据。因此,第一获得单元可以适于从时间序列数据集中提取用于预测数据元素的值的预测数据。
该系统还包括预测单元820,其适于预测数据元素的值。特别地,预测单元使用预测数据来预测数据元素的值。因此,预测单元生成数据元素的预测值。
在本发明的一些实施例中,预测单元820适于使用预测数据和多个不同的预测模型来预测数据元素的相应的多个预测值;以及从所述多个预测值中识别最接近所述数据元素的所述值的所述预测值。因此,预测单元可以使用多个不同的预测模型/方法来预测相应的预测值,并且选择最接近数据元素的(实际)值的预测值作为供系统的将来单元使用的预测值。
系统800还包括第二获得单元830。第二获得单元适于获得阈值,所述226阈值用于相对于数据元素的预测值定义被认为是离群值的数据元素的值。
在本发明的一些实施例中,第二获得单元830适于获得时间序列数据集的(多个)历史误差值,每个历史误差值表示时间序列数据集的在时间上在该数据元素之前的第二数据元素的值与第二数据元素的预测值之间的差;以及基于所述一个或多个历史误差值获得阈值,获得阈值,所述阈值用于相对于所述数据元素的预测值定义被认为是离群值的所述数据元素的值。
所获得的历史误差值可以从历史误差值的存储集合809获得(例如,从存储集合中进行选择)。在其他示例中,使用(一个或多个)预测模型来计算历史误差值以预测第二数据元素的值,并且使用该预测值和第二数据元素的(实际)值来计算误差值。因此,可以根据在时间序列数据集中805找到的第二数据元素来计算历史误差值。
系统800还包括确定单元840,其适于基于阈值(来自第二获得单元830)、所识别的预测值(来自预测单元820)和数据元素的(实际)值来确定数据元素是否为离群值。数据元素的(实际)值可以直接从时间序列数据集805中获得。
以这种方式,系统800可以确定时序数据集的数据元素是否是离群值。
图9示出了根据本发明的优选实施例的用于识别时序数据集901的数据元素是否为离群值的方法/系统的一般架构900或框图。
数据集901可以是离线数据集(例如,存储的数据)或实时流。
在框902中,该方法/系统可以从数据集中获得数据元素。该方法/系统还可将多个预测模型903应用于数据集的数据元素以生成数据元素的相应多个预测值。如先前所解释的,预测模型被应用于数据集901中时间上在(框902中获得的)数据元素之前的数据集中的数据元素。
该方法/系统可包括在框904中合并预测模型,以识别最佳仿真数据元素和/或时间序列数据集的预测模型。这可以通过识别预测模型来执行,该预测模型生成最接近数据元素的实际值的数据元素的预测值。
在框905中,可以从数据集901生成数据元素的阈值。在特定实施例中,历史误差值从数据集获得并且用于生成阈值(如先前描述的)。在另外的示例中,框905可以包括使用与特定时间窗相关联的数据元素的历史误差值来生成阈值。特定时间窗可以在时间上位于与所研究的数据元素相关联的时间之前的预定时间段或与该预定时间段相关联。
在框906中,确定(在步骤902中获得的)数据元素是否是异常。这可以通过计算表示数据元素的实际值与可从框904的所识别的预测模型获得的预测值之间的差的误差值来执行。该误差值可以与在框905中获得的阈值进行比较,以确定该数据元素是否是离群值。
因此,图9是本发明的实施例的框图,其中识别(所研究)的数据元素是否是异常/离群值。如稍后所述,每个框可以表示处理系统的模块或单元,或者根据实施例的方法的步骤。
本发明可以是系统,方法和/或计算机程序产品。该计算机程序产品可以包括其上具有用于使处理器执行本发明的方面的计算机可读程序指令的计算机可读存储介质。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
已经出于说明的目的给出了本发明的各种实施例的描述,但是其不旨在是穷尽的或限于所公开的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。
Claims (24)
1.一种用于确定时间序列数据集的具有值的数据元素是否为离群值的计算机实现的方法,所述方法包括:
从所述时间序列数据集的时间上在所述数据元素之前的第一数据获得用于预测所述数据元素的值的预测数据;
使用所述预测数据来预测所述数据元素的预测值;
获得所述时间序列数据集的历史误差值,每个历史误差值表示所述时间序列数据集的在时间上在所述数据元素之前的第二数据元素的值与第二数据元素的预测值之间的差;
基于所述历史误差值中的一个或多个历史误差值获得阈值,所述阈值用于相对于所述数据元素的所述预测值定义被认为是离群值的所述数据元素的值;以及
基于所述阈值、所述预测值及所述数据元素的所述值确定所述数据元素是否为离群值。
2.根据权利要求1所述的计算机实现的方法,其中所述预测数据包括所述时间序列数据集的在时间上在所述数据元素之前的预定数量的其他数据元素。
3.如权利要求1所述的计算机实现的方法,其中每个历史误差值是误差值的平方,所述误差值的平方是所述时间序列数据集的时间上在所述数据元素之前的所述第二数据元素的所述值与所述时间序列数据集的所述第二数据元素的对应预测值之间的差的平方。
4.根据权利要求1所述的计算机实现的方法,其中获得阈值包括基于所述历史误差值的最大值将每个历史误差值缩放到0和1之间的值。
5.根据权利要求1所述的计算机实现的方法,其中获得所述阈值包括:
计算所述历史误差值的标准偏差;以及
根据所述历史误差值的所述标准偏差获得所述阈值。
6.根据权利要求5所述的计算机实现的方法,其中获得所述阈值包括将所述历史误差值的所述标准偏差乘以预定数目以获得所述阈值。
7.根据权利要求6所述的计算机实现的方法,其中获得所述阈值包括使用切比雪夫不等式Chebyshev’s inequality来计算所述预定数目。
8.根据权利要求1所述的计算机实现的方法,其中所述第二数据元素对应于在所述数据元素之前的多个预定时间段获得的所述时间序列数据集的数据元素。
9.根据权利要求8所述的计算机实现的方法,其中所述预定时间段是小时、天或周。
10.根据权利要求1所述的计算机实现的方法,其中预测所述数据元素的预测值包括:
使用所述预测数据和多个不同的预测模型来预测所述数据元素的相应的多个潜在预测值;以及
将最接近所述数据元素的所述值的所述潜在预测值指定为所述预测值。
11.根据权利要求1所述的计算机实现的方法,其中所述数据元素是所述时间序列数据集的数据点。
12.一种用于确定时间序列数据集的具有值的数据元素是否为离群值的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有包含其中的程序指令,所述程序指令可由处理单元执行以使所述处理单元执行一种方法,所述方法包括:
从所述时间序列数据集的时间上在所述数据元素之前的第一数据获得用于预测所述数据元素的值的预测数据;
使用所述预测数据来预测所述数据元素的预测值;
获得所述时间序列数据集的历史误差值,每个历史误差值表示所述时间序列数据集的在时间上在所述数据元素之前的第二数据元素的值与第二数据元素的预测值之间的差;
基于所述历史误差值中的一个或多个历史误差值获得阈值,所述阈值用于相对于所述数据元素的预测值定义被认为是离群值的所述数据元素的值;以及
基于所述阈值、所述预测值及所述数据元素的所述值确定所述数据元素是否为离群值。
13.如权利要求12所述的计算机程序产品,其中每个历史误差值是误差值的平方,所述误差值的平方是所述时间序列数据集的时间上在所述数据元素之前的所述第二数据元素的所述值与所述时间序列数据集的的所述第二数据元素的对应预测值之间的差的平方。
14.根据权利要求12所述的计算机程序产品,其中获得所述阈值包括:
计算所述历史误差值的标准偏差;以及
根据所述历史误差值的所述标准偏差获得所述阈值。
15.根据权利要求12所述的计算机程序产品,其中所述第二数据元素对应于在所述数据元素之前的多个预定时间段获得的所述时间序列数据集的的数据元素。
16.根据权利要求12所述的计算机程序产品,其中预测所述数据元素的预测值包括:
使用所述预测数据和多个不同的预测模型来预测所述数据元素的相应的多个潜在预测值;以及
将最接近所述数据元素的所述值的所述潜在预测值指定为所述预测值。
17.一种用于确定时间序列数据集的具有值的数据元素是否为离群值的计算机系统,所述计算机系统包括:
至少一个处理器,其被配置为:
从所述时间序列数据集的时间上在所述数据元素之前的第一数据获得用于预测所述数据元素的值的预测数据;
使用所述预测数据来预测所述数据元素的预测值;
获得所述时间序列数据集的历史误差值,每个历史误差值表示所述时间序列数据集的在时间上在所述数据元素之前的第二数据元素的值与第二数据元素的预测值之间的差;
基于所述历史误差值中的一个或多个历史误差值获得阈值,所述阈值用于相对于所述数据元素的预测值定义被认为是离群值的所述数据元素的值;以及
基于所述阈值、所述预测值及所述数据元素的所述值确定所述数据元素是否为离群值。
18.如权利要求17所述的计算机系统,其中每个历史误差值是误差值的平方,所述误差值的平方是所述时间序列数据集的时间上在所述数据元素之前的所述第二数据元素的所述值与所述时间序列数据集的所述第二数据元素的对应预测值之间的差的平方。
19.根据权利要求17所述的计算机系统,其中获得所述阈值包括:
计算所述历史误差值的标准偏差;以及
根据所述历史误差值的所述标准偏差获得所述阈值。
20.根据权利要求17所述的计算机系统,其中预测所述数据元素的预测值包括:
使用所述预测数据和多个不同的预测模型来预测所述数据元素的相应的多个潜在预测值;以及
将最接近所述数据元素的所述值的所述潜在预测值指定为所述预测值。
21.一种用于确定时间序列数据集的具有值的数据元素是否为离群值的系统,所述系统包括:
至少一个处理器,包括:
第一获得单元,其适于从所述时间序列数据集的时间上在所述数据元素之前的第一数据获得用于预测所述数据元素的值的预测数据;
预测单元,适于使用所述预测数据来预测所述数据元素的预测值;
第二获得单元,适于:
获得所述时间序列数据集的历史误差值,每个历史误差值表示所述时间序列数据集的在时间上在所述数据元素之前的第二数据元素的值与预测值之间的差;以及
基于所述历史误差值中的一个或多个历史误差值获得阈值,所述阈值用于相对于所述数据元素的预测值定义被认为是离群值的所述数据元素的值;以及
确定单元,适于基于所述阈值、所识别的预测值和所述数据元素的值来确定所述数据元素是否为离群值。
22.根据权利要求21所述的系统,其中每个历史误差值是误差值的平方,所述误差值的平方是所述时间序列数据集的时间上在所述数据元素之前的所述第二数据元素的所述值与所述时间序列数据集的所述第二数据元素的对应预测值之间的差的平方。
23.根据权利要求21所述的系统,其中获得所述阈值包括:
计算所述历史误差值的标准偏差;以及
根据所述历史误差值的所述标准偏差获得所述阈值。
24.根据权利要求21所述的系统,其中预测所述数据元素的预测值包括:
使用所述预测数据和多个不同的预测模型来预测所述数据元素的相应的多个潜在预测值;以及
将最接近所述数据元素的所述值的所述潜在预测值指定为所述预测值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/988,506 US11860971B2 (en) | 2018-05-24 | 2018-05-24 | Anomaly detection |
US15/988,506 | 2018-05-24 | ||
PCT/IB2019/054145 WO2019224694A1 (en) | 2018-05-24 | 2019-05-20 | Anomaly detection |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112154418A true CN112154418A (zh) | 2020-12-29 |
Family
ID=68614709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980033647.5A Pending CN112154418A (zh) | 2018-05-24 | 2019-05-20 | 异常检测 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11860971B2 (zh) |
JP (1) | JP7412059B2 (zh) |
CN (1) | CN112154418A (zh) |
GB (1) | GB2586565A (zh) |
WO (1) | WO2019224694A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114419528A (zh) * | 2022-04-01 | 2022-04-29 | 浙江口碑网络技术有限公司 | 异常识别方法、装置、计算机设备及计算机可读存储介质 |
CN114492529A (zh) * | 2022-01-27 | 2022-05-13 | 中国汽车工程研究院股份有限公司 | 一种动力电池系统连接异常故障安全预警方法 |
CN114757296A (zh) * | 2022-04-29 | 2022-07-15 | 广东技术师范大学 | 一种基于协同数据的污染物分析方法和装置 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3541113B1 (en) * | 2018-03-16 | 2023-11-08 | MaxLinear Asia Singapore Private Limited | Apparatuses, devices, methods and computer programs for determining information related to a designated data transmission rate for a wireless link |
US10904113B2 (en) * | 2018-06-26 | 2021-01-26 | Microsoft Technology Licensing, Llc | Insight ranking based on detected time-series changes |
US11429627B2 (en) * | 2018-09-28 | 2022-08-30 | Splunk Inc. | System monitoring driven by automatically determined operational parameters of dependency graph model with user interface |
US20220321436A1 (en) * | 2019-09-11 | 2022-10-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for managing prediction of network anomalies |
CN112685207A (zh) * | 2019-10-18 | 2021-04-20 | 伊姆西Ip控股有限责任公司 | 错误评估的方法、设备和计算机程序产品 |
JP7324131B2 (ja) * | 2019-12-02 | 2023-08-09 | Kddi株式会社 | 異常値検出装置、異常値検出方法及び異常値検出プログラム |
CN111143169B (zh) * | 2019-12-30 | 2024-02-27 | 杭州迪普科技股份有限公司 | 异常参数检测方法及装置、电子设备、存储介质 |
US11409907B2 (en) * | 2020-04-01 | 2022-08-09 | Onu Technology Inc. | Methods and systems for cryptographically secured decentralized testing |
EP3916667A1 (en) * | 2020-05-29 | 2021-12-01 | Fortia Financial Solutions | Real-time time series prediction for anomaly detection |
US11658964B2 (en) * | 2020-08-26 | 2023-05-23 | Bank Of America Corporation | System and method for providing a continuous authentication on an open authentication system using user's behavior analysis |
US11314584B1 (en) * | 2020-11-25 | 2022-04-26 | International Business Machines Corporation | Data quality-based confidence computations for KPIs derived from time-series data |
US20220180179A1 (en) * | 2020-12-09 | 2022-06-09 | International Business Machines Corporation | Detecting anomalies in computer systems based on forecasted timeseries |
US20220198264A1 (en) * | 2020-12-23 | 2022-06-23 | Microsoft Technology Licensing, Llc | Time series anomaly ranking |
CN112667479A (zh) * | 2020-12-30 | 2021-04-16 | 联想(北京)有限公司 | 一种信息监控方法及装置 |
US20220214948A1 (en) * | 2021-01-06 | 2022-07-07 | Kyndryl, Inc. | Unsupervised log data anomaly detection |
US20220335347A1 (en) * | 2021-04-15 | 2022-10-20 | Business Objects Software Ltd | Time-series anomaly prediction and alert |
US11973779B2 (en) * | 2021-05-11 | 2024-04-30 | Bank Of America Corporation | Detecting data exfiltration and compromised user accounts in a computing network |
US20220382856A1 (en) * | 2021-05-27 | 2022-12-01 | Salesforce.Com, Inc. | Systems and methods for causality-based multivariate time series anomaly detection |
CN113255792B (zh) * | 2021-06-01 | 2021-12-17 | 广东粤港澳大湾区硬科技创新研究院 | 一种数据异常点检测方法、装置、系统、以及存储介质 |
CN113961548B (zh) * | 2021-09-22 | 2022-03-25 | 航天宏康智能科技(北京)有限公司 | 用水量时序数据的异常值处理方法和异常值处理装置 |
JP7278499B1 (ja) * | 2021-11-30 | 2023-05-19 | 三菱電機株式会社 | 学習装置、異常兆候検知装置、異常兆候検知システム、学習方法およびプログラム |
CN114337916B (zh) * | 2021-12-03 | 2023-06-27 | 广州杰赛科技股份有限公司 | 一种网络传输速率调整方法、装置、设备及存储介质 |
CN115600932B (zh) * | 2022-12-12 | 2023-06-30 | 杭州原数科技有限公司 | 一种基于大数据的文物储藏环境异常评估方法 |
CN117807545A (zh) * | 2024-02-28 | 2024-04-02 | 广东优信无限网络股份有限公司 | 一种基于数据挖掘的异常检测方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103326903A (zh) * | 2013-07-05 | 2013-09-25 | 华北电力大学 | 基于隐马尔科夫的Internet网络时延预测方法 |
CN104090861A (zh) * | 2013-02-20 | 2014-10-08 | 哈佛蒸汽锅炉检验和保险公司 | 动态离群值偏倚减少系统和方法 |
CN104254848A (zh) * | 2011-08-19 | 2014-12-31 | 哈佛蒸汽锅炉检验和保险公司 | 动态离群值偏倚减少系统和方法 |
CN104350471A (zh) * | 2012-06-28 | 2015-02-11 | 国际商业机器公司 | 利用自动阈值设置在多时间序列数据中实时地检测异常 |
US20150339265A1 (en) * | 2014-05-20 | 2015-11-26 | Facebook, Inc. | Detecting anomalies in a time series |
CA2921054A1 (en) * | 2015-04-10 | 2016-10-10 | Pankaj Malhotra | Anomaly detection system and method |
CN106257438A (zh) * | 2015-06-17 | 2016-12-28 | 塔塔咨询服务公司 | 用于为单变量时间序列信号实时检测离群值的系统和方法 |
CN106708867A (zh) * | 2015-11-16 | 2017-05-24 | 华为数字技术(苏州)有限公司 | 一种基于数据基类型的资源调配方法和服务器 |
CN107409075A (zh) * | 2015-03-24 | 2017-11-28 | 华为技术有限公司 | 用于网络时间序列数据的自适应的基于异常检测的预测器 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7707091B1 (en) | 1998-12-22 | 2010-04-27 | Nutech Solutions, Inc. | System and method for the analysis and prediction of economic markets |
US7162741B2 (en) | 2001-07-30 | 2007-01-09 | The Trustees Of Columbia University In The City Of New York | System and methods for intrusion detection with dynamic window sizes |
US20030065409A1 (en) * | 2001-09-28 | 2003-04-03 | Raeth Peter G. | Adaptively detecting an event of interest |
US8554699B2 (en) | 2009-10-20 | 2013-10-08 | Google Inc. | Method and system for detecting anomalies in time series data |
US9197511B2 (en) | 2012-10-12 | 2015-11-24 | Adobe Systems Incorporated | Anomaly detection in network-site metrics using predictive modeling |
US20150127595A1 (en) | 2013-11-01 | 2015-05-07 | Numenta, Inc. | Modeling and detection of anomaly based on prediction |
US9652354B2 (en) * | 2014-03-18 | 2017-05-16 | Microsoft Technology Licensing, Llc. | Unsupervised anomaly detection for arbitrary time series |
US10496927B2 (en) * | 2014-05-23 | 2019-12-03 | DataRobot, Inc. | Systems for time-series predictive data analytics, and related methods and apparatus |
US9779361B2 (en) | 2014-06-05 | 2017-10-03 | Mitsubishi Electric Research Laboratories, Inc. | Method for learning exemplars for anomaly detection |
US9323599B1 (en) | 2015-07-31 | 2016-04-26 | AppDynamics, Inc. | Time series metric data modeling and prediction |
US20190102718A1 (en) * | 2017-09-29 | 2019-04-04 | Oracle International Corporation | Techniques for automated signal and anomaly detection |
US11256596B2 (en) * | 2017-10-26 | 2022-02-22 | Datadog, Inc. | Systems and techniques for adaptive identification and prediction of data anomalies, and forecasting data trends across high-scale network infrastructures |
-
2018
- 2018-05-24 US US15/988,506 patent/US11860971B2/en active Active
-
2019
- 2019-05-20 JP JP2020559506A patent/JP7412059B2/ja active Active
- 2019-05-20 CN CN201980033647.5A patent/CN112154418A/zh active Pending
- 2019-05-20 WO PCT/IB2019/054145 patent/WO2019224694A1/en active Application Filing
- 2019-05-20 GB GB2019684.6A patent/GB2586565A/en not_active Withdrawn
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104254848A (zh) * | 2011-08-19 | 2014-12-31 | 哈佛蒸汽锅炉检验和保险公司 | 动态离群值偏倚减少系统和方法 |
CN104350471A (zh) * | 2012-06-28 | 2015-02-11 | 国际商业机器公司 | 利用自动阈值设置在多时间序列数据中实时地检测异常 |
CN104090861A (zh) * | 2013-02-20 | 2014-10-08 | 哈佛蒸汽锅炉检验和保险公司 | 动态离群值偏倚减少系统和方法 |
CN103326903A (zh) * | 2013-07-05 | 2013-09-25 | 华北电力大学 | 基于隐马尔科夫的Internet网络时延预测方法 |
US20150339265A1 (en) * | 2014-05-20 | 2015-11-26 | Facebook, Inc. | Detecting anomalies in a time series |
CN107409075A (zh) * | 2015-03-24 | 2017-11-28 | 华为技术有限公司 | 用于网络时间序列数据的自适应的基于异常检测的预测器 |
CA2921054A1 (en) * | 2015-04-10 | 2016-10-10 | Pankaj Malhotra | Anomaly detection system and method |
EP3139313A2 (en) * | 2015-04-10 | 2017-03-08 | Tata Consultancy Services Limited | Anomaly detection system and method |
CN106257438A (zh) * | 2015-06-17 | 2016-12-28 | 塔塔咨询服务公司 | 用于为单变量时间序列信号实时检测离群值的系统和方法 |
CN106708867A (zh) * | 2015-11-16 | 2017-05-24 | 华为数字技术(苏州)有限公司 | 一种基于数据基类型的资源调配方法和服务器 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114492529A (zh) * | 2022-01-27 | 2022-05-13 | 中国汽车工程研究院股份有限公司 | 一种动力电池系统连接异常故障安全预警方法 |
CN114492529B (zh) * | 2022-01-27 | 2022-12-13 | 中国汽车工程研究院股份有限公司 | 一种动力电池系统连接异常故障安全预警方法 |
CN114419528A (zh) * | 2022-04-01 | 2022-04-29 | 浙江口碑网络技术有限公司 | 异常识别方法、装置、计算机设备及计算机可读存储介质 |
CN114757296A (zh) * | 2022-04-29 | 2022-07-15 | 广东技术师范大学 | 一种基于协同数据的污染物分析方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2019224694A1 (en) | 2019-11-28 |
GB202019684D0 (en) | 2021-01-27 |
JP7412059B2 (ja) | 2024-01-12 |
GB2586565A (en) | 2021-02-24 |
US20190362245A1 (en) | 2019-11-28 |
JP2021524954A (ja) | 2021-09-16 |
US11860971B2 (en) | 2024-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112154418A (zh) | 异常检测 | |
JP7223839B2 (ja) | 異常検出および/または予知保全のためのコンピュータ実装方法、コンピュータプログラム製品およびシステム | |
US20190392252A1 (en) | Systems and methods for selecting a forecast model for analyzing time series data | |
US11288577B2 (en) | Deep long short term memory network for estimation of remaining useful life of the components | |
US20150294246A1 (en) | Selecting optimal training data set for service contract prediction | |
US9632859B2 (en) | Generating problem signatures from snapshots of time series data | |
Basak et al. | Mechanisms for integrated feature normalization and remaining useful life estimation using lstms applied to hard-disks | |
US10628801B2 (en) | System and method for smart alerts | |
US20220206447A1 (en) | Automated system control with data analytics using doubly stochastic model | |
CN114730399A (zh) | 基于使用风险容限评级的分布分析警告模型降级 | |
US20230334375A1 (en) | Machine learning model error detection | |
CN114169604A (zh) | 性能指标的异常检测方法、异常检测装置、电子设备和存储介质 | |
US20220011760A1 (en) | Model fidelity monitoring and regeneration for manufacturing process decision support | |
US20220253426A1 (en) | Explaining outliers in time series and evaluating anomaly detection methods | |
RU2632124C1 (ru) | Способ прогнозной оценки эффективности многоэтапных процессов | |
Billuroglu et al. | Full-Cycle Failure Analysis Using conventional time series analysis and machine learning techniques | |
US11221934B2 (en) | Identifying anomalies in data during data outage | |
US20230069347A1 (en) | Device, method, and system for concept drift detection | |
US20220398182A1 (en) | Machine logic for performing anomaly detection | |
US11810013B2 (en) | Systems and methods for alerting to model degradation based on survival analysis | |
US20230120896A1 (en) | Systems and methods for detecting modeling errors at a composite modeling level in complex computer systems | |
US20230161839A1 (en) | Correcting low-resolution measurements | |
US11256597B2 (en) | Ensemble approach to alerting to model degradation | |
US20230252278A1 (en) | Predictive maintenance general ai engine and method | |
Hayati | Prediction and detection of abnormal usage of an elevator |
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 |