CN113806122A - 利用稀疏分解的鲁棒性的异常和变化检测 - Google Patents

利用稀疏分解的鲁棒性的异常和变化检测 Download PDF

Info

Publication number
CN113806122A
CN113806122A CN202110358292.6A CN202110358292A CN113806122A CN 113806122 A CN113806122 A CN 113806122A CN 202110358292 A CN202110358292 A CN 202110358292A CN 113806122 A CN113806122 A CN 113806122A
Authority
CN
China
Prior art keywords
time series
sequence
metric
component
spike
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
Application number
CN202110358292.6A
Other languages
English (en)
Inventor
A·阿瑟什
S·乔德哈利
S·K·塞尼
C·查利斯
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.)
Adobe Inc
Original Assignee
Adobe Systems Inc
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 Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of CN113806122A publication Critical patent/CN113806122A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • H04L41/064Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis involving time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及利用稀疏分解的鲁棒性的异常和变化检测。本公开内容描述了系统、非暂态计算机可读介质和方法,其用于确定度量时间序列的潜在分量,并且基于潜在分量的尖峰/凹陷和水平变化中的一者或两者满足显著性阈值来标识度量时间序列内的异常数据。为了标识这样的潜在分量,在某些情况下,所公开的系统通过智能地使实值服从用于分解时间序列的潜在分量约束并且智能地从潜在分量约束中排除非实值来解决值类型的范围。所公开的系统可以通过共同确定尖峰分量序列的子序列和水平分量序列的水平变化中的一者或两者是否满足显著性阈值来进一步从度量时间序列的潜在分量中标识显著异常数据值。

Description

利用稀疏分解的鲁棒性的异常和变化检测
背景技术
近年来,分析计算系统通过配置用于分析时间序列的新算法而提高了标识趋势和周期性(seasonal)变化的准确性,分析时间序列包括跨时间而记录的度量的数据集。例如,常规分析计算系统可以从表示关于网站、网络可访问应用或其他基于网络的设备操作的用户动作的时间序列中标识和呈现异常。为了说明,一些现有系统可以将大量网络度量数据的时间序列分成多个分量,作为标识时间序列中的异常度量(诸如预期趋势之外的异常用户动作)的基础。
尽管常规分析计算系统可以标识时间序列中的异常,但是这样的系统可能通过应用常规异常检测算法而不准确和无效地标识时间序列内的异常值。例如,当时间序列表示多个周期性趋势时或当时间序列未反映数据水平(level)的变化时,常规系统有时会错误地标识时间序列数据中的异常。具体地,尽管某些现有系统从时间序列中分析潜在分量序列以标识异常数据尖峰和水平变化,但这些现有系统通常需要大量用户输入。例如,一些现有分析计算系统要求用户输入周期性频率和最大异常数作为标识时间序列内的异常的基础。然而,即使有了这样的用户输入,现有分析计算系统仍继续不精确地将数据尖峰和水平变化标识为时间序列内的异常方面的假阳性。这样的系统可能会通过以下操作来错误地标识数据尖峰和水平变化:统一地将异常检测算法应用于时间序列内的所有值,即使这些值中的一些值可能是某些非实值(例如,缺失值、不可用值、非数字值、无穷大值)或使数据趋势的正确标识失真的其他值。
为了说明,某些分析计算系统可能由于无法考虑缺失值或非实值而从时间序列中错误地标识异常度量。例如,在某些情况下,时间序列可能同时包括实值和非实值。通过执行均匀地应用于缺失值、实值、非实值等的算法,当这些异常值反映算法到缺失值或非实值而不是异常值的特质应用时,常规系统通常会将尖峰或凹陷和水平变化标记为时间序列中的异常。
通过将异常检测技术和协议应用于可能确保不正确结果的值,常规分析计算系统无法有效利用计算资源。例如,如刚刚讨论的那样,常规系统通常分析整个时间序列的整个潜在分量序列(通常包括非实值和/或非显著值)以标识各种异常。但是,通过分析整个潜在分量序列的潜在不必要值,常规系统浪费了计算资源来标识潜在错误和/或非显著的异常。
除了这种不准确性和效率低下,常规分析计算系统还无法有效地将数据集分为训练序列和测试序列以在数据集上训练和测试异常检测算法。例如,常规系统经常将时间序列划分为(i)与训练时段相对应的数据,以用于调节异常检测算法以及(ii)与测试时段相对应的数据,以用于标识测试时段的异常。当时间序列的训练时段由于周期性数据、特殊事件或其他事件而不能准确地表示时间序列的测试时段时,这样的常规系统可能无法通过将数据分成时段来标识异常。
独立于对数据集的效率低下的划分,一些常规分析计算系统严格地应用异常检测算法。例如,如上所述,一些常规系统将异常检测算法应用于时间序列,而与时间序列中基础数据的类型或值的变化无关。通过忽略数据类型或值的变化,一些常规系统可能将不同的周期性变化、零值或非实值误标识为指示异常值。此外,如上所述,一些常规系统仅在时间序列数据集的训练时段上训练异常检测算法之后才可以标识时间序列数据集的测试时段中的异常。但是,对时间序列内数据的测试和训练时段的严格依赖忽略了时间序列中的重要变化,而这些变化可能导致关键分析见解。
常规系统存在这些以及其他问题。
发明内容
本公开描述了解决前述或其他问题或提供其他益处的系统、非暂态计算机可读介质和方法的一个或多个实施例。特别地,所公开的系统确定度量时间序列的潜在分量并且基于潜在分量的尖峰/凹陷和水平变化中的一者或两者满足显著性阈值来标识度量时间序列内的异常数据。为了标识这样的潜在分量,在某些情况下,所公开的系统通过智能地使实值服从潜在分量约束以用于分解时间序列并且智能地从潜在分量约束中排除非实值来解决(account for)值类型的范围。所公开的系统可以通过共同确定尖峰分量序列的子序列和水平分量序列的水平变化中的一者或两者是否满足显著性阈值来进一步从度量时间序列的潜在分量中标识显著异常数据值。在某些情况下,所公开的系统还可以通过考虑其他基于时间的数据波动或数据类型(包括反映特殊日子或时间效应的时间序列中的数据、前导或尾随零、和低事件计数)来进一步修改度量时间序列及其潜在分量以改善异常检测。在另一实施例中,所公开的系统可以通过考虑例如复杂的周期性模式或水平变化来从度量时间序列中估算缺失数据值。
附图说明
如下面简要描述的,详细描述通过使用附图为一个或多个实施例提供了附加特异性和细节。
图1示出了根据一个或多个实施例的异常检测系统可以在其中操作的示例环境;
图2A-2F示出了根据一个或多个实施例的示例度量时间序列和相关联的分量序列;
图3示出了根据一个或多个实施例的确定度量时间序列的潜在分量并且基于潜在分量来标识显著异常的异常检测系统的概述;
图4示出了根据一个或多个实施例的标识不同数据类型,执行优化算法以确定度量时间序列的潜在分量,以及根据度量时间序列的潜在分量来确定显著异常的过程;
图5A-5D示出了根据一个或多个实施例的用于选择度量时间序列,确定度量时间序列的潜在分量以及标识与所选择的度量时间序列相关联的异常数据的图形用户界面;
图6示出了根据一个或多个实施例的异常检测系统的示意图;
图7示出了根据一个或多个实施例的确定度量时间序列的潜在分量并且基于潜在分量的尖峰和水平变化中的一者或两者满足显著性阈值来标识度量时间序列内的异常数据的流程图;
图8示出了根据一个或多个实施例的同时确定尖峰分量序列的子序列和与水平分量序列相对应的水平变化是否表示显著异常的流程图;以及
图9示出了用于实现本公开的一个或多个实施例的示例计算设备的框图。
具体实施方式
本公开描述了异常检测系统的一个或多个实施例,该异常检测系统将度量时间序列分解成潜在(latent)分量并且基于显著性阈值从潜在分量来确定指示异常数据值的尖峰和水平变化中的一者或两者。这样的潜在分量可以至少包括尖峰分量序列和水平分量序列。作为分解度量时间序列的一部分,异常检测系统可以通过以下方式考虑值类型的范围:(i)智能地使度量时间序列中的实值服从定义度量时间序列与潜在分量之间的关系的潜在分量约束,以及(ii)智能地从潜在分量约束中排除非实值。
作为用于标识异常数据值的基础,异常检测系统还可以共同确定尖峰分量序列的子序列和水平分量序列的水平变化中的一者或两者是否满足显著性阈值。在一个或多个实施例中,异常检测系统通过考虑特殊日子或时间效应、前导或尾随零、或低事件计数来修改度量时间序列及其潜在分量的值以避免异常检测的常见陷阱。通过从度量时间序列的潜在分量中标识显著异常值并且执行本文中描述的其他操作,异常检测系统提高了常规异常检测的准确性、效率和灵活性。在另一实施例中,所公开的系统可以通过考虑例如复杂的周期性模式或水平变化来从度量时间序列中估算缺失数据值。
为了进一步说明,在某些情况下,异常检测系统可以检索或访问度量时间序列,该度量时间序列包括表示与时间段相对应的数字网络内的用户动作的度量数据值(例如,关于网站或其他网络平台的用户动作的数据)。异常检测系统还确定度量时间序列的一个或多个潜在分量,诸如尖峰分量序列和水平分量序列。异常检测系统还可以确定尖峰分量序列的子序列是否满足尖峰显著性阈值以及与水平分量序列相对应的水平变化是否满足水平变化显著性阈值。基于子序列满足尖峰显著性阈值和水平变化满足水平变化显著性阈值中的一者或两者,异常检测系统还可以生成异常数据值以显示在客户端计算设备上。
在一个或多个实施例中,异常检测系统可以将至少一个尖峰分量序列和一个水平分量序列确定为检索到的度量时间序列的潜在分量。例如,异常检测系统可以通过将优化算法应用于度量时间序列来确定度量时间序列的潜在分量。在一个或多个实施例中,优化算法被配置为确定在被组合时形成度量时间序列的潜在分量。例如,优化算法在被执行时迭代地使目标函数最小化,该目标函数将度量时间序列分解为表示尖峰、水平变化、周期性趋势和误差的不同潜在分量序列。
在某些情况下,优化算法服从潜在分量约束,该潜在分量约束指示与度量时间序列相关联的潜在分量的数目、类型和附加质量,诸如通过将度量时间序列约束为相等的不同潜在分量序列。基于该优化算法和潜在分量约束,异常检测系统可以至少标识一个尖峰分量序列和一个水平分量序列。在另一实施例中,异常检测系统还可以基于潜在分量约束应用优化算法以将周期性分量序列和误差分量序列标识为度量时间序列的潜在分量。
如上所述,异常检测系统还可以将度量时间序列的潜在分量约束配置为应用于实值并且排除非实值。为了说明,度量时间序列可以包括任何数目的实值。另外,相同的度量时间序列可以包括任何数目的非实值,诸如非可用值(例如,“NA”或“不可用”)、非数字值(例如,“NaN”或“非数字”,诸如零除以零)和无穷大值(例如,“INF”或“无穷大”)。在至少一个实施例中,异常检测系统可以将优化算法的潜在分量约束配置为智能地排除非实值。在这种情况下,在将度量时间序列分解为一个或多个潜在分量时,仅需实值满足潜在分量约束。
如上面进一步所述,异常检测系统可以标识度量时间序列的潜在分量的显著值。例如,异常检测系统可以同时从尖峰分量序列中标识显著尖峰和凹陷和从水平分量序列中标识水平变化。在一个或多个实施例中,异常检测系统可以通过确定尖峰分量序列的子序列是否满足尖峰显著性阈值来标识尖峰分量序列的显著异常值。类似地,异常检测系统可以通过确定与水平分量序列相对应的水平变化是否满足水平变化显著性阈值来标识水平分量序列的显著异常值。
在一个或多个实施例中,异常检测系统可以确定潜在分量的值是否满足相对显著性阈值。例如,异常检测系统可以通过以下方式来确定尖峰分量序列的子序列满足尖峰显著性阈值:(i)生成等于尖峰分量序列和残余误差的组合的平稳时间序列,以及(ii)确定平稳时间序列的数据值是否偏离符合标准化分布(normalized distribution)的数据集。如下面进一步解释的,在一些实施例中,平稳时间序列(ys)等于尖峰分量序列(d)加上残余误差值(μ)。异常检测系统还可以通过以下方式来确定与水平分量序列相对应的水平变化满足水平变化显著性阈值:(i)生成显著水平变化值,以及(ii)确定与水平分量序列相对应的水平变化的绝对值超过或等于显著水平变化值。
此外,异常检测系统还可以预处理或过滤来自度量时间序列或其潜在分量的数据以提高异常检测的准确性。例如,度量时间序列和相关联的潜在分量可以包括引起系统错误地检测(或未能检测到)异常的值。为了说明,度量时间序列可以包括规则地重复预期的尖峰或凹陷值(例如,与诸如假期等每年重复的特殊日子一样)和/或零组(例如,与前导零或尾随零一样)。在一个或多个实施例中,结合应用优化算法以增加相对于度量时间序列的异常检测的准确性,异常检测系统可以标识和忽略规则地重复的尖峰或凹陷值或者移除度量时间序列或其潜在分量内的零组。
此外,即使度量时间序列具有少量值,异常检测系统也可以修改优化算法的一个或多个约束条件以更准确地标识度量时间序列的潜在分量。例如,度量时间序列可以包括与相对于特定应用或网站的多个事件相对应的多个值。在一些实施例中,事件的数目可以小于阈值数目(例如,15个事件)。响应于确定度量时间序列中的值的数目小于阈值数目,异常检测系统可以调节或修整从给定度量时间序列中得出的预期时间序列的置信区间。通过调节或修整置信区间,所公开的异常检测系统可以有效地减少在度量时间序列内检测到的错误异常的数目。
在某些情况下,异常检测系统执行这些和其他操作,而不会将度量时间序列的数据分为训练和测试时段。例如,常规分析计算系统通常使用度量时间序列的第一部分来训练异常检测算法并且使用度量时间序列的第二部分来测试相同的异常检测算法。该方法存在问题,因为它假定度量时间序列的第一部分与第二部分之间具有相关性。本异常检测系统通过将完整的度量时间序列合并到潜在分量的显著异常值的标识中而无需将度量时间序列分为用于训练时段的数据值和用于测试时段的数据值来避免这种方法,因此,利用了度量时间序列内可用的全部数据范围。
如上所述,与常规系统和方法相比,异常检测系统具有很多优点和益处。例如,异常检测系统提高了分析计算系统基于度量时间序列的潜在分量来检测显著异常数据值的准确性。通过将度量时间序列分解为潜在分量序列,某些现有系统缺乏足够的算法或参考点来确定潜在分量序列并且标识统计上显著的异常数据值。由于潜在分量序列通常缺乏现有的统计显著性阈值,因此在没有针对尖峰分量序列或周期性分量序列的这样的阈值时,尤其是在同时处理时,某些异常检测算法可能会误标识异常数据值。
在某些情况下,异常检测系统可以使用显著性阈值的新颖应用来确定潜在分量序列的统计上显著的异常值,而不是误标识这样的异常。例如,在某些情况下,异常检测系统确定平稳时间序列(等于尖峰分量序列和残余误差值的组合)是否偏离符合分布的数据集(例如,符合标准化分布的类似时间序列的数据集)。如下面进一步解释的,在一些实施例中,平稳时间序列(ys)等于尖峰分量序列(d)加上残余误差值(μ)。同时或独立地,异常检测系统根据水平变化显著性阈值确定与水平分量序列相对应的水平变化是否偏离显著水平变化值。如下面进一步解释的,在一些实施例中,显著水平变化值表示给定显著性水平
Figure BDA0003004458700000081
的高斯分布的临界值乘以残余误差值(SE(μ))的显著误差计算。通过使用这样的显著性阈值,异常检测系统生成避免了与常规系统相关联的陷阱(诸如标识错误异常或遗漏显著异常)的异常数据。
独立于标识统计上显著的尖峰、显著的凹陷或显著的水平变化,异常检测系统可以智能地将优化算法应用于包括实值和某些非实值两者的度量时间序列。如上所述,在某些情况下,异常检测系统使优化算法服从潜在分量约束,以将度量时间序列分解为总和成时间序列的潜在分量。通过智能地使实值服从潜在分量约束并且智能地从潜在分量约束中排除非实值,异常检测系统避免了从非实值中误标识异常。与将包括非实值的度量时间序列分解成严格的构成潜在分量的常规系统相比,异常检测系统选择性地将潜在分量约束应用于度量时间序列的实值。通过自主地将度量时间序列分解为潜在分量并且从这样的潜在分量中标识显著异常,异常检测系统避免了可能导致常规系统误标识异常的用户输入。
如上所述,在一些实施例中,通过避免常规分析计算系统所利用的训练和测试时间段,异常检测系统提高了现有异常检测算法的准确性和效率。异常检测系统不依赖于可能不准确地通知对度量时间序列的第二部分的分析的度量时间序列的第一部分,而是在没有任何特定训练时段的情况下同时分析整个度量时间序列。例如,如下所述,异常检测系统执行优化算法,该优化算法迭代地使目标函数最小化以标识时间序列的潜在分量。在一些实施例中,异常检测系统放弃对训练和测试优化算法的需要,因为优化算法将残余误差构建到对目标函数的迭代最小化中。通过避免对可能不相关的训练数据的任何依赖,异常检测系统还避免了浪费计算资源来训练系统以不正确地生成异常数据。
通过避免这些测试和训练时段,异常检测系统的分析方法更加灵活。例如,如刚刚提到的,在某些情况下,异常检测系统不将度量时间序列划分为用于训练时段的数据值和用于测试时段的数据值以生成异常数据。因此,通过从可能不相关的训练数据中解脱出来,异常检测系统利用比常规系统更强大的方法。
除了上述改进的效率和准确性,在一些实施例中,所公开的异常检测系统可以通过基于过去和将来的数据来估算(impute)值而推断缺失值,同时考虑复杂的周期性模式和水平变化。常规的异常检测算法不能如本文所述内插或外推这样的缺失值,并且不能通过估算缺失值来正确地标识度量时间序列中的显著异常。
例如,度量时间序列可能缺失值或其他数据作为每周、每月或其他周期性模式(例如,每周的尖峰或凹陷)的一部分。如果网页上的访问者(或应用的用户)的数目通常在星期一每隔一周增加一次(由于每两周提供一次特价),由于数据丢失或其他干扰事件,一个这样的周一的度量时间序列可能会丢失增加。通过利用仅在缺失值之前或之后的值或利用前一周的值来估算缺失值,常规系统或常规异常检测算法错误地考虑(或无法考虑)将这样的缺失值作为每周或其他周期性模式的一部分。相反,所公开的异常检测系统可以从过去或将来的数据中正确地推断出缺失值。例如,当缺失值是每两周模式的一部分时,所公开的异常检测系统可以识别出这样的两周模式并且考虑两周前或未来两周的值以估算缺失值。
如前面的讨论所示,本公开利用各种术语来描述异常检测系统的特征和优点。现在提供关于这样的术语的含义的附加细节。例如,如本文中使用的,术语“度量时间序列”是指随时间而索引的数据的集合。特别地,度量时间序列可以包括表示在特定时间段内的各个时间发生的关于特定应用或网站的用户和/或用户动作的数据集合。为了说明,度量时间序列可以包括一年中每天在特定网页内的超链接点击次数。在一个或多个实施例中,度量时间序列包括在所述时间段内收集的每个数据点的值。因此,一年中每日超链接点击的度量时间序列可以具有365个值,其中每个值表示相关日的超链接点击次数。
在一个或多个实施例中,异常检测系统可以将度量时间序列分解成一个或多个潜在分量或潜在分量序列。如本文中使用的,术语“潜在分量”和“潜在分量序列”是指对度量时间序列中的观测值做出贡献的时间序列或其他数据集的分量。例如,异常检测系统可以将度量时间序列分解为水平分量序列、尖峰分量序列、周期性分量序列和误差分量序列中的一个或多个。每个潜在分量序列可以表示对度量时间序列的不同贡献。因此,时间序列的潜在分量中的数据可能无法直接观察到。
如本文中使用的,术语“水平分量序列”是指度量时间序列的潜在分量,其值表现出度量时间序列的平均值的增加或减少,诸如平均值的逐段增加。例如,水平分量序列中的值可以包括或表示水平变化。如本文中使用的,“水平变化”是指度量时间序列的平均值的增加或减少,诸如跨一系列数据点的平均值的逐段增加。为了说明,在包括单个水平变化的度量时间序列中(例如,度量时间序列的值的平均演示了单个逐段增加),对应水平分量序列可以包括两个值:在平均增加之前的度量时间序列的平均值和在平均增加之后的度量时间序列的平均值。
如本文中使用的,术语“尖峰分量序列”是指度量时间序列的潜在分量,其值表现出自发的、异常的或其他非周期性的增加或减少。例如,尖峰分量序列中的每个“尖峰”或异常增加都可以对应于相关联的度量时间序列的值,该值与度量时间序列中的其他值相比是自发的、异常的或其他非周期性的增长。
如本文中使用的,术语“周期性分量序列”是指度量时间序列的潜在分量,其值以与时间段相关的方式波动。例如,周期性分量序列的值可以按天、按周、按月、按年、按季节(例如,春季、夏季、秋季、冬季)和/或按基准日期波动(例如,根据公认的假期,诸如在圣诞节之前六个星期)。
如本文中使用的,术语“误差分量序列”是指统计噪声、方差或除了可解释的潜在分量(例如,水平、周期性、周期性潜在分量)之外的其他残余潜在分量。例如,误差分量序列可以包括当与其他潜在分量序列的值组合时将导致原始度量时间序列的余数值。
在一个或多个实施例中,异常检测系统可以同时基于显著性阈值确定度量时间序列的潜在分量的显著值。如本文中使用的,术语“显著性阈值”是指相对于潜在分量或潜在分量的一部分的预定阈值,高于或低于该预定阈值表示显著值。潜在分量的一部分可以是显著性阈值的间接使用的一部分。例如,如果与尖峰分量序列相对应的平稳时间序列偏离符合标准化分布的数据集,则异常检测系统可以将尖峰分量序列中的值标识为显著。
如本文中使用的,术语“异常数据值”是指数据集中的离群值或一组离群值。例如,异常数据值可以是在给定时间内异常不同于预期值的数据值。为了说明,异常数据值可以表示度量时间序列中的离群数据值,该离群数据值与预期值具有统计上显著的差异。异常检测系统不是标识相对于度量时间序列的所有潜在异常,而是基于度量时间序列的一个或多个潜在分量来标识显著异常。
如本文中使用的,“显著异常”是指相对于其他标识出的异常或数据值在统计上显著的标识出的异常。例如,显著异常可以包括来自度量时间序列的具有小的p值或概率值的标识出的异常,该小的p值或概率值指示针对无效假定的证据(例如,指示标识出的异常是显著的可能性很高)。
现在将参考附图提供关于异常检测系统的附加细节。例如,图1示出了根据一个或多个实施例的用于实现异常检测系统102的示例系统环境100(例如,“环境”100)的示意图。此后,相对于后续附图提供异常检测系统102的组件和过程的更详细描述。
如图1所示,环境100包括(多个)服务器106、管理员计算设备108、第三方网络服务器112、客户端计算设备116a-116n和网络114。环境100的每个组件可以经由网络114进行通信,并且网络114可以是计算设备可以通过其进行通信的任何合适的网络。示例网络在下面结合图9更详细地讨论。
如上所述,环境100包括管理员计算设备108和客户端计算设备116a-116n。管理员计算设备108和客户端计算设备116a-116n可以是各种计算设备之一,包括智能电话、平板电脑、智能电视、台式计算机、膝上型计算机、虚拟现实设备、增强现实设备、或如关于图9所述的其他计算设备。在一些实施例中,环境100可以包括任何数目或布置的客户端计算设备,每个客户端计算设备与不同用户相关联。管理员计算设备108和客户端计算设备116a-116n还可以经由网络114与(多个)服务器106和/或第三方网络服务器112通信。例如,客户端计算设备116a-116n可以经由网络114与第三方网络服务器112通信以查看由第三方网络服务器112托管的一个或多个网站并且与之交互。第三方网络服务器112可以经由网络114向(多个)服务器106提供与一个或多个网站相关联的用户交互数据以进行异常分析。管理员计算设备108可以经由网络114从(多个)服务器106接收异常数据以进行显示。
在一个或多个实施例中,管理员计算设备108包括数据分析应用110。例如,管理员计算设备108的用户可以查询度量时间序列数据并且通过与数据分析应用110交互来分析这样的数据。当执行数据分析应用110时,管理员计算设备108可以与数据分析系统104通信以接收和显示度量时间序列数据、潜在分量数据和异常数据。另外,客户端计算设备116a-116n可以分别包括内容应用118a-118n。例如,内容应用118a可以是用于访问数字内容并且与之交互的应用,诸如网络浏览器应用、社交网络应用、文件服务器应用等。
如图1进一步所示,环境100包括(多个)服务器106。(多个)服务器106可以包括可以生成、存储、接收和传输电子数据的一个或多个个体服务器。例如,(多个)服务器106可以以诸如按键流等用户输入的形式从客户端计算设备116a接收数据。另外,(多个)服务器106可以向管理员计算设备108传输数据。
如图1进一步所示,(多个)服务器106还可以包括异常检测系统102作为数据分析系统104的一部分。数据分析系统104可以与第三方网络服务器112和管理员计算设备108中的一个或多个通信以接收、生成、修改、分析、存储和传输数字内容。例如,数据分析系统104可以与第三方网络服务器112通信以组装和分析与用户与由第三方网络服务器112托管的应用或网站的用户交互相关联的度量时间序列。另外,异常检测系统102和数据分析系统104可以在分析数据库120中存储和检索分析信息。例如,分析数据库120可以存储度量时间序列数据、潜在分量数据和异常数据。
尽管图1描绘了位于(多个)服务器106上的异常检测系统102,但是在一些实施例中,异常检测系统102可以在环境100的一个或多个其他组件上实现(例如,全部或部分地位于其上)。例如,异常检测系统102可以全部或部分地由管理员计算设备108实现。
在一个或多个实施例中,第三方网络服务器112是应用服务器、通信服务器、网络托管服务器、社交网络服务器或数字内容分析服务器中的至少一个。例如,第三方网络服务器112可以从一个或多个客户端计算设备116a-116n接收与具有网络内容(例如,超链接点击、页面登陆、视频完成)的用户交互相关联的用户交互数据。第三方网络服务器112还可以接收与客户端计算设备116a-116n的用户相关联的用户信息。例如,第三方网络服务器112可以接收用户人口统计信息、用户账户信息和用户简档信息。在至少一个实施例中,第三方网络服务器112可以包括多个服务器。
图2A-2E示出了度量时间序列和相关联的潜在分量的示例。例如,图2A示出了度量时间序列202。在一个或多个实施例中,度量时间序列202包括实值和非实值以及有问题的索引的其他部分。为了说明,度量时间序列202在实值部分206a、206b和206c中包括实值。在至少一个实施例中,实值部分206a-206c包括可以是整数或十进制数的值。
如图2A进一步所示,度量时间序列202在其他部分中还包括非实值。例如,在“不可用”部分208中,度量时间序列202包括不可用值。在一个或多个实施例中,数据分析系统104可以接收关于与度量时间序列202内的特定索引或位置相关联的数值不可用的指示符。该值可能由于各种原因而不可用,诸如在相关联的时间段内数据损坏或网络连接问题。
另外,如图2A所示,度量时间序列202包括非数字部分210和无穷大值部分212。例如,非数字部分210可以包括与“0/0”或“NaN”相关联的一个或多个非数字值(例如,“不是数字”)。类似地,无穷大值部分212可以包括与“INF”相关联的一个或多个无穷大值(例如,“无穷大”)。在一个或多个实施例中,数据分析系统104可以接收关于与度量时间序列202内的特定索引或位置相关联的值不是数字或是无穷大值的指示符。因为数据分析系统104无法在度量时间序列202中准确表示这些类型的输入,所以数据分析系统104可以用“NaN”、“0/0”或“INF”填充这些值。数据分析系统104可以使用任何合适的替代值或字符来表示非实值。
在一个或多个实施例中,数据分析系统104可以将度量时间序列表示为随时间的趋势。例如,如图2B所示,数据分析系统104可以生成表示特定度量时间序列(metrics timeseries)的度量的时间序列(metric-time series)216。在一个或多个实施例中,数据分析系统104可以通过针对相关联的度量时间序列中的每个值绘制度量的时间序列216中的点来生成度量的时间序列216,其中该点的x值是与该值相关联的日期和/或时间,该点的y值是该值。
如上所述,并且如下所述,异常检测系统102可以将度量时间序列分解成一个或多个潜在分量序列。在一个或多个实施例中,异常检测系统102还可以生成与每个潜在分量序列相关联的趋势。例如,异常检测系统102可以将度量时间序列分解为周期性分量序列、水平分量序列、尖峰分量序列和误差分量序列。分别如图2C、2D、2E和2F所示,异常检测系统102可以生成周期性分量序列218、水平分量序列220、尖峰分量序列222和误差分量序列230。
例如,如图2C所示,周期性分量序列218可以包括周期性变化的值,这些值对对应度量时间序列中的一个或多个索引值做出贡献。例如,周期性分量序列218可以表示度量的时间序列216的区域224,该区域224的波形的形状类似于周期性分量序列218。如图2D进一步所示,水平分量序列220可以包括对应度量时间序列的平均值的逐段增加。例如,度量的时间序列216的面积226中的平均值增加可以由水平分量序列220中所示的增加来表示。如图2E进一步所示,尖峰分量序列222可以包括度量时间序列的度量值的非重复的临时变化。例如,尖峰分量序列222中所示的尖峰可以表示度量的时间序列216中的数据点228a、228b、228c和228d。如图2F进一步所示,误差分量序列230可以包括统计噪声、方差或除了可解释的潜在分量之外的其他残余潜在分量,诸如未由上述序列218-222中所示的周期性、水平和尖峰分量表示的噪声或方差。
如上所述,在一些实施例中,异常检测系统102通过使优化算法服从智能潜在分量约束以用于将度量时间序列分解为总和成时间序列的潜在分量来改进现有异常检测系统。例如,在一些实施例中,通过智能地使实值服从潜在分量约束并且智能地从潜在分量约束中排除非实值,异常检测系统102避免了从非实值中误标识异常。因此,所得到的潜在分量序列可以在显著异常检测中提供更高的准确性。根据一个或多个实施例,图3示出了确定度量时间序列的潜在分量并且基于潜在分量来标识显著异常的异常检测系统102的概述。
具体地,图3示出了异常检测系统102检索度量时间序列302。在一个或多个实施例中,异常检测系统102可以响应于从管理员计算设备108接收到查询而检索度量时间序列。例如,异常检测系统102可以从管理员计算设备108接收与度量时间序列相关联的查询,并且从分析数据库120中标识对应度量时间序列(例如,如图1所示)。替代地,响应于接收到查询,异常检测系统102可以从第三方网络服务器112请求度量时间序列。
在一个或多个实施例中,异常检测系统102还可以确定度量时间序列的潜在分量304。例如,异常检测系统102可以通过执行优化算法来确定至少一个水平分量序列和一个尖峰分量序列作为度量时间序列的潜在分量。在某些情况下,异常检测系统102执行优化算法,该优化算法服从潜在分量约束并且从潜在分量约束中排除度量时间序列的非实值。为了说明,异常检测系统102将优化算法配置为从潜在分量约束中排除任何非实值(例如,NA、NaN),同时将度量时间序列分解成一个或多个潜在分量。为了进一步确保度量时间序列中的INF值(例如,无穷大值)随后被标识为异常,异常检测系统102可以在优化算法的目标函数中将尖峰分量序列替换为度量时间序列。利用优化算法的这些配置,异常检测系统102可以将度量时间序列准确地分解为至少一个尖峰分量序列和一个水平分量序列,即使度量时间序列包括表示非实数的值。
如图3进一步所示,异常检测系统102可以从尖峰分量序列和水平分量序列中标识统计上显著的异常306。在一个或多个实施例中,异常检测系统102可以同时将不同统计分析应用于度量时间序列的一个或多个潜在分量以标识潜在分量的显著值。异常检测系统102然后可以利用异常检测来确定任何显著值是否还是异常的。
例如,异常检测系统102可以通过确定尖峰分量序列中的一个或多个值是否满足尖峰显著性阈值来标识尖峰分量序列的显著子序列。在一个或多个实施例中,例如,异常检测系统102生成等于尖峰分量序列和残余误差值的组合的平稳时间序列。异常检测系统102还通过确定平稳时间序列偏离符合分布的数据集(例如,符合标准化分布的类似时间序列的数据集)来确定尖峰分量序列值满足尖峰显著性阈值。在另一实施例中,异常检测系统102可以利用其他统计方法来确定尖峰分量序列的子序列是否满足尖峰显著性阈值,从而使子序列的值在统计上显著。
异常检测系统102还可以标识与水平分量序列相对应的显著水平变化。例如,异常检测系统102可以通过确定水平变化是否满足水平变化显著性阈值来确定与水平分量序列相对应的水平变化是显著的。在一个或多个实施例中,异常检测系统102可以通过生成显著水平变化值并且确定与水平分量序列相对应的水平变化的绝对值超过或等于显著水平变化值来确定水平变化满足水平变化显著性阈值。在这样的示例中,水平变化显著性阈值可以基于预定显著性水平的高斯分布的临界值。
如图3进一步所示,异常检测系统102可以在图形用户界面上生成指示度量时间序列中的异常的异常检测算法结果308。例如,异常检测系统102可以标识异常值,该异常值表示与度量时间序列相关联的预期趋势的显著偏离。在一个或多个实施例中,异常检测系统102还可以在图形用户界面上生成包括异常值的指示的异常检测算法结果以与度量时间序列308及其各种潜在分量一起显示在客户端计算设备(例如,如图1所示的客户端计算设备108a)上。例如,异常检测系统102可以生成具有度量时间序列中的异常尖峰的指示的度量时间序列的趋势。异常检测系统102还可以在图形用户界面上生成异常检测算法结果以包括与潜在分量相关联的趋势。
图4示出关于异常检测系统102根据度量时间序列的潜在分量来确定显著异常的过程的附加细节。例如,如图4所示,异常检测系统102可以检索度量时间序列402。如上所述,异常检测系统102可以响应于由管理员计算设备108发起的查询而检索度量时间序列。例如,异常检测系统102可以经由数据分析应用110从管理员计算设备108接收针对与给定时间范围内的网络用户动作相关联的度量时间序列的查询。响应于接收到查询,异常检测系统102可以从第三方网络服务器112检索与该查询相对应的度量时间序列信息。在至少一个实施例中,度量时间序列信息可以被限制在指定时间范围内。在其他实施例中,除了其他元数据(例如,用户信息、地理信息),度量时间序列信息还可以包括在指定时间范围之外的其他数据。
在将度量时间序列分解成潜在分量之前,在一个或多个实施例中,异常检测系统102可以修改度量时间序列以提高异常检测的准确性。例如,异常检测系统102可以通过标识度量时间序列中的前导和/或尾随零来修改度量时间序列404。例如,在一些实施例中,每月度量时间序列可以与关联于在本月中旬开始的特定网页相关联的线上营销。度量时间序列可能仅包含该月最后一半的非零值,而度量时间序列的初始索引由零填充,因为线上营销在与这些初始索引相关联的日子中尚未开始。如果包括在异常检测中,则这些前导零值可能导致与度量时间序列相关联的异常标识不准确。因此,响应于在度量时间序列中标识出前导和/或尾随零(例如,在404中为“是”),异常检测系统102可以从度量时间序列中移除标识出的前导和/或尾随零值406。
此外,异常检测系统102可以通过确定度量时间序列中的值的数目是否小于阈值数目408来提高异常检测过程的准确性。例如,在一个或多个实施例中,当度量时间序列中的值的数目低于阈值数目(例如,15个事件)时,将度量时间序列分解为其潜在分量的优化算法无法准确标识异常。在至少一个实施例中,响应于确定度量时间序列中的值的数目等于或小于阈值数目并且度量时间序列中的每个值是非负(例如,在408中为“是”),异常检测系统102可以针对优化算法的误差约束修整或减小置信区间410。例如,如下面将进一步讨论的,对于误差约束||e||2≤ρ,异常检测系统102可以减小参数ρ。在至少一个实施例中,减小参数ρ的实际效果是减少从度量时间序列中检测到的异常的潜在数目。
为了将度量时间序列分解成一个或多个潜在分量,异常检测系统102可以执行服从潜在分量约束的优化算法。例如,作为该执行的一部分,异常检测系统102可以将潜在分量约束应用于值,并且可以应用作为优化算法的一部分的目标函数。
例如,分析系统可以配置以下优化算法(1):
Figure BDA0003004458700000191
服从y=s+t+d+e
||e||2≤ρ
如上所示,目标函数为:min{s,t,d,e}||Fs||1+w1||Δt||1+w2||d||1。严格的潜在分量约束为:服从y=s+t+d+e。误差约束为:||e||2≤ρ。在此,s是周期性分量序列,t是水平分量序列,d是尖峰分量序列,e是残余误差分量序列,度量时间序列y和对应的潜在分量序列包括在大小为N(即,
Figure BDA0003004458700000194
)的有限大小的固定窗口上的度量值(例如,观察)。在上述目标函数中,项F表示N×N的离散傅里叶变换矩阵或其他频率变换矩阵,其中F乘以周期性分量序列s。||Fs||1是根据周期性分量序列s而计算的周期性项。项
Figure BDA0003004458700000193
表示第一差分算子(即,Δt的kth元素为t(k+1)=t(k))。对||Δt||1和||d||1的引用分别表示水平变化的l1范数和尖峰分量序列的l1范数。参数w1表示与水平分量序列t相关联的权重,而参数w2表示与尖峰分量序列d相关联的权重,参数ρ表示p值或统计显著性水平。
参数w1、w2和ρ是同样可以被调节以强调潜在分量的各种贡献的参数。在一些实施例中,权重建模或以其他方式指示水平分量序列对度量时间序列的贡献。例如,减少w1指示水平分量序列对度量时间序列提供更大贡献。权重w2建模或以其他方式指示尖峰分量序列对度量时间序列的贡献。例如,减少w2指示尖峰分量序列对度量时间序列提供更大贡献。
如上所述,优化算法(1)使服从潜在分量约束的目标函数最小化。广义上,目标函数是一个凸函数,其包括表示度量时间序列y的潜在分量的各种项之和。因此,在多次迭代中,优化算法(1)使目标函数最小化,使得所得到的潜在分量的所有值均满足潜在分量约束。如果在特定迭代中度量时间序列y中缺少值,则根据目标函数,优化算法(1)从Fs中选择替代值。
因此,优化算法(1)使用l1范数来提升度量时间序列y的不同潜在分量的稀疏性,l1范数是相关项的绝对值。通过使用表示各种潜在分量的向量的l1范数,分析系统可以标识潜在分量序列中稀疏分布的值。例如,周期性项Fs表示周期性分量序列s的频率变换。频率变换将周期性分量序列从时域变换到频域。离散傅里叶变换(“DFT”)就是Fs的一个示例。在优化算法(1)中,通过使用该频率变换的l1范数(||Fs||1),可以鼓励离散分量傅里叶域或其他频域中的周期性分量序列s的稀疏表示。通过将周期性分量序列从时域变换到频域,优化算法(1)非常适合表示周期信号。
上面的优化算法(1)还使用如下假定:水平分量序列t逐段恒定。这种假定可以使度量时间序列中度量值的平均水平的移位在水平分量序列中能更准确地被捕获。水平分量序列t的逐段恒定假定平衡了模型的简单性和对数据的过度拟合。从理论的角度来看,逐段恒定函数会考虑度量时间序列中的所有索引值,因此在这种假定下不会失去一般性。出于实际考虑,缓慢变化的水平值可以通过一系列不频繁的水平移位或逐段恒定信号来准确表示。
在上面的优化算法(1)中,通过使用水平项||Δt||1来实现水平分量序列t为逐段恒定的假定,该水平项||Δt||1是填充有水平分量序列t中的相邻水平值对之间的差(即,Δtk=t(k+1)-t(k))的向量的l1范数。在该示例中,对于缓慢变化的逐段恒定水平分量序列t,(t(k+1)-t(k))对于很少的k∈{0,...,N-1}的值预期为非零。将水平项||Δt||1包括在优化算法中鼓励水平分量序列t中的稀疏性。
在该示例中,假定尖峰分量序列d中的尖峰不经常发生,导致尖峰分量序列d在时域中是稀疏的。这一假定可以通过将尖峰项计算为尖峰分量序列d的l1范数来实现。
异常检测系统102可以通过从度量时间序列y中减去其他潜在分量序列s、t和d根据目标函数来计算误差分量序列e。误差分量序列e捕获y中的噪声并建模拟合误差。在优化算法(1)中,通过使用误差约束||e||2≤ρ作为误差分量序列e的能量的上限,可以控制误差分量序列e的影响。为了考虑负值,在一些实施例中,异常检测系统102如下对误差约束进行平方:
Figure BDA0003004458700000211
尽管以上讨论的优化算法(1)是凸优化问题,但是异常检测系统102可以以任何合适的方式将度量时间序列y分解为其潜在分量。
虽然上面的优化算法(1)将度量时间序列分解为其潜在分量,但优化算法(1)未能考虑度量时间序列y的非实值。因此,如图4所示,异常检测系统102不是使用优化算法(1),而是执行优化算法(2)以将度量时间序列分解为潜在分量412。如图所示,优化算法(2)是对优化算法(1)的修改,其克服了各种缺点。例如,在执行期间,异常检测系统102可以将潜在分量约束应用于实值414,如图4和下面的优化算法(2)中所示。如图4进一步所示并且如在下面进一步描述的,异常检测系统102可以应用优化算法(2)的目标函数以处理度量时间序列中的无穷大值416。
如刚刚指出的,在一个或多个实施例中,异常检测系统102执行优化算法(2)以如下将度量时间序列分解成潜在分量:
Figure BDA0003004458700000212
服从y[ind]=s[ind]+t[ind]+d[ind]+e[ind]
||e||2≤ρ
如上所示,优化算法(2)使用与以上针对优化算法(1)说明的目标函数相同的目标函数。与优化算法(1)相反,异常检测系统102配置用于优化算法(2)的潜在分量约束(例如,服从y[ind]=s[ind]+t[ind]+d[ind]+e[ind]),使得仅将约束应用于y的实值索引。这样,优化算法(2)将选择Δt=d[i]=e[i]=0与y的非实值相对应。然后,异常检测系统102从频域计算针对y的非实值索引的周期性分量序列。通过以这种方式配置优化算法(2),在执行后,优化算法(2)将非实值替换为考虑到周期性的期望值。
通过执行优化算法(2),异常检测系统102适当地考虑包括非可用值和非数字值的度量时间序列值。但是,优化算法(2)不能正确解决无穷大值的问题。这样,异常检测系统102还可以修改和应用优化算法(2)的目标函数以处理度量时间序列中的无穷大值416。例如,异常检测系统102可以通过在上述优化算法(2)的目标函数(例如,min{s,t,d,e}||Fs||1+w1||Δt||1+w2||d||1)中将尖峰分量序列d替换为度量时间序列y来允许度量时间序列y中的无穷大值。因此,目标函数变为:min{s,t,d,e}||Fs||1+w1||Δt||1+w2||y||1。在至少一个实施例中,这种重新配置确保了将度量时间序列中的无穷大值替换为足够大以确保将其标识为显著异常尖峰的实数。
在一个或多个实施例中,异常检测系统102可以通过将度量时间序列约束为包括潜在分量之和来执行优化算法(2)。如上所述,优化算法的潜在分量约束(例如,服从y[ind]=s[ind]+t[ind]+d[ind]+e[ind])指定度量时间序列为各种潜在分量之和。在此,度量时间序列是周期性分量序列、水平分量序列、尖峰分量序列和误差分量序列的总和。在至少一个实施例中,异常检测系统102可以利用所得到的误差分量序列e来生成针对其他潜在分量序列中的对应索引的上限和下限,以用于标识异常数据(例如,在所生成的范围之外的索引值)。
通过执行服从潜在分量约束的优化算法(2),异常检测系统102可以将度量时间序列y分解为潜在分量序列s、t、d和e。在附加或替代实施例中,异常检测系统102可以执行优化算法以标识度量时间序列y的更少或更多潜在分量序列。有关异常检测系统102如何检测度量时间序列潜在分量中的异常的其他信息由Shiv Kumar Saini、Sunav Choudhary和Gaurush Hiranandani在美国专利申请第15/804,012号(2017年11月6日提交)“ExtractingSeasonal,Level,and Spike Components from a Time Series of Metrics Data”中描述,其全部内容通过引用结合于此。
在已经标识出度量时间序列的潜在分量序列之后,异常检测系统102可以基于潜在分量序列来标识显著异常数据值。如图4所示,例如,异常检测系统102可以标识潜在分量中的显著尖峰/凹陷和水平变化418。如上所述,在一些实施例中,异常检测系统102通过从度量时间序列的一个或多个潜在分量中检测异常数据值并且确定标识出的异常是否与阈值或期望值在统计上显著不同来改进常规系统。
在一个或多个实施例中,异常检测系统102基于显著性阈值来标识潜在分量序列的显著异常数据值(例如,如动作418中所示)。例如,异常检测系统102可以通过确定尖峰分量序列的子序列是否满足尖峰显著性阈值来标识尖峰分量序列的显著异常数据值。在至少一个实施例中,异常检测系统102生成等于尖峰分量序列和残余误差值的组合的平稳时间序列。然后,异常检测系统102通过确定尖峰分量序列值偏离符合标准化分布的数据集来确定尖峰分量序列值满足尖峰显著性阈值。
为了说明,在一个或多个实施例中并且为了标识尖峰分量序列d中的统计上显著的尖峰,异常检测系统102首先从度量时间序列内的误差中移除任何序列相关性。例如,令et=α01*et-1t,其中et表示度量时间序列内的误差。对估计误差的AR1回归从误差中消除了序列相关性。异常检测系统102可以将残余误差值μ添加到尖峰分量序列d上以获取平稳时间序列:ys=d+μ。这个平稳时间序列ys没有周期性和水平变化,并且d和μ序列不相关。因此,平稳时间序列ys适合于进一步的统计分析,因为由误差et而引入的任何小尖峰都被移除或以其他方式解决。
在至少一个实施例中,异常检测系统102利用广义极端学生化分布(GeneralizedExtreme Studentized Distribution,“GESD”)测试来标识平稳时间序列ys中的显著尖峰和凹陷。例如,GEESD测试在符合近似标准化分布的单变量数据集中检测一个或多个离群值。异常检测系统102可以通过利用尖峰分量序列中的值的数目作为GEESD测试所需要的可能异常值的最大数目来提高GEESD测试的准确性。因此,异常检测系统102可以将通过GEESD测试而检测到的离群值标识为平稳时间序列ys中的显著尖峰(例如,显著值)。在一个或多个实施例中,异常检测系统102还可以将标识出的显著尖峰与尖峰分量序列的对应索引相关联,以确定尖峰分量序列的子序列表示统计上显著的异常。
如上所述,异常检测系统102可以通过确定与水平分量序列相对应的水平变化是否满足水平变化显著性阈值来标识水平分量序列的显著异常数据值(例如,如动作418中所示)。例如,在至少一个实施例中,当水平变化表示与显著水平变化值的偏差时,异常检测系统102可以确定该水平变化满足水平变化显著性阈值。为了说明,如果
Figure BDA0003004458700000241
则异常检测系统102可以确定在水平分量序列的两个连续索引之间的所表示的水平变化显著,其中
Figure BDA0003004458700000242
是在显著性水平为α时高斯分布的临界值。如果在水平分量序列的两个连续索引之间的所表示的水平变化满足该阈值,则异常检测系统102将该水平变化标识为显著。
如图4进一步所示,异常检测系统102可以另外修改度量时间序列和/或潜在分量序列中的一个或多个以进一步提高异常检测的准确性。特别地,异常检测系统102确定在类似时间段中是否存在匹配的先前尖峰或凹陷420。例如,异常检测系统102可以标识与时间段相对应的尖峰分量序列的数据值,并且标识与类似时间段相对应的先前尖峰分量序列的匹配的先前数据值。先前尖峰分量序列的这样的先前数据值可以在索引、时间或时间窗口内的位置方面对应或匹配尖峰分量序列的数据值。响应于从类似时间段中标识出这些匹配数据值,在一些实施例中,异常检测系统102由于周期效应(periodic effect)不将当前尖峰/凹陷或来自当前尖峰分量序列的数据值标识为需要进行调节的异常422。在一个或多个实施例中,异常检测系统102可以标识和解决诸如水平分量序列等任何潜在分量序列中的类似周期效应。在至少一个实施例中,异常检测系统102可以共同或同时地标识和解决一个或多个潜在分量序列中的周期效应。
更详细地,异常检测系统102可以确定来自尖峰分量序列d的与特定时间效应或特殊日子效应相对应的一个或多个数据值不表示显著异常(例如,如动作420中)。在一个或多个实施例中,度量时间序列可以包括由于诸如假期、周末、定期促销等定期事件而以规律的间隔重复的显著尖峰和/或凹陷。在至少一个实施例中,异常检测系统102可以通过确定尖峰分量序列d中当前时间段内的显著尖峰或凹陷是否对应于在过去的类似时间段内的显著尖峰或凹陷来避免将这些规律的尖峰和/或凹陷标识为异常。
为了进一步说明,对于在当前尖峰分量序列中标识出的每个显著地赋值的索引(significantly valued index),异常检测系统102可以标识在过去的尖峰分量序列中以相同的索引表示的值。如果在过去的尖峰分量序列中相同索引处的值与当前的尖峰分量序列中的相同,则异常检测系统102可以确定在由索引表示的日期和/或时间存在特殊日子或时间效应。响应于确定在该索引处存在特殊日子或时间效应(例如,在420处为“是”),异常检测系统102可以确定不将当前尖峰分量序列422中的该索引及其值标识为异常。在一个或多个实施例中,异常检测系统102可以标识逐年的特殊日子或时间效应、逐月的特殊日子或时间效应、逐周的特殊日子或时间效应等。
在基于度量时间序列的潜在分量标识出显著异常数据值之后,异常检测系统102可以生成异常数据值以进行显示424。例如,异常检测系统102可以生成一个或多个交互式图形用户界面,其包括与度量时间序列及其潜在分量序列有关的异常数据值的视觉表示。在一个或多个实施例中,异常检测系统102可以提供所生成的异常数据值以在客户端计算设备(例如,诸如图1所示的管理员计算设备108)上显示。
图5A-5D示出了直观地指示与所选择的度量时间序列相关联的异常数据的图形用户界面。例如,如图5A所示,异常检测系统102可以生成图形用户界面502以用于在管理员计算设备108上显示。在一个或多个实施例中,异常检测系统102可以生成具有度量时间序列元素504a、504b和504c的图形用户界面502。例如,异常检测系统102可以响应于从管理员计算设备108接收到指定应用或网站、与应用或网站相关联的一种或多种类型的用户交互、目标人口统计信息和/或时间段的查询而生成度量时间序列元素504a、504b和504c。因此,响应于检测到的对度量时间序列元素504a的选择,异常检测系统102可以生成与和该所选择的元素相关联的度量时间序列相对应的度量时间序列506。
如图5A所示,图形用户界面502还可以包括分析按钮508。在一个或多个实施例中,响应于检测到的对分析按钮508的选择,异常检测系统102可以确定所选择的度量时间序列的潜在分量并且基于潜在分量标识显著异常。数据分析系统104还可以生成显著异常以用于在图形用户界面502内显示在管理员计算设备108上。
为了进一步示出异常检测系统102的一些优点,图5B示出了现有分析计算系统的显示输出。例如,在执行对与图5B所示的度量时间序列506相关联的度量时间序列的分析时,现有分析计算系统将以每小时的粒度、为99的置信度和大约336个点(例如,度量时间序列的一半)将数据标识为训练时段。现有系统分析与度量时间序列506相关联的度量时间序列以标识拟合数据序列507a、上限507b和下限507c,如图5B所示。另外,现有系统可以标识与度量时间序列相关联的多个异常,这些异常可以包括、也可以不包括非实值。如图5B所示,现有系统标识出大量可能不显著的异常。而且,现有系统也可能已经由于使用时间序列中数据值的前一半作为训练时段而标识出大量异常,即使这些数据值与时间序列中数据值的后一半不相关,如未检测到的水平变化所指示的(例如,靠近度量时间序列506的中间)。在某些情况下,现有系统通过执行上述的优化算法(1)来标识图5B所示的异常。
与现有分析计算系统相反,异常检测系统102从度量时间序列中标识显著异常。例如,如图5C所示,异常检测系统102可以标识度量时间序列506、拟合数据序列507a、上限507b和下限507c。在某些情况下,异常检测系统102通过执行上述的优化算法(2)来标识图5C所示的异常。此外,异常检测系统102可以确定显著异常510a、510b、510c、510d和510e以及显著水平变化512。如图所示,显著异常510a、510b、510c、510d和510e以及显著水平变化512表示与图5B所示的现有系统标识出的相比图5C中的异常数据值较少,从而为分析师提供更有意义的见解。
在一个或多个实施例中,如图5D所示,异常检测系统102还可以生成与所选择的度量时间序列的潜在分量相关联的趋势。例如,异常检测系统102可以使用上述的优化算法(2)来生成针对水平分量序列、尖峰分量序列、周期性分量序列和误差分量序列的趋势。异常检测系统102可以显示覆盖在度量时间序列506上的这些趋势中的每个趋势,或者可以单独显示每个趋势。通过显示与度量时间序列506相关联的潜在分量趋势,异常检测系统102提供有效的分析工具,该分析工具使得管理员能够快速查看相对于所选择的度量时间序列的显著尖峰和水平变化。
如关于图1-5D所述,异常检测系统102执行用于标识度量时间序列的潜在分量中的显著异常的操作。图6示出了上述异常检测系统102的实施例的详细示意图。尽管如上所述被示出为在(多个)服务器106上,但是异常检测系统102可以由一个或多个不同或附加的计算设备(例如,管理员计算设备108)实现。在一个或多个实施例中,异常检测系统102包括分解器602、显著值分析器612、显示管理器618、序列修改器622和异常检测器630。
如上所述,并且如图6所示,异常检测系统102包括分解器602。在一个或多个实施例中,分解器602包括优化算法604(例如,优化算法(2),其是对优化算法(1)的修改),优化算法604又包括目标函数606(例如,min{s,t,d,e}||Fs||1+w1||Δt||1+w2||d||1)、潜在分量约束608(例如,y[ind]=s[ind]+t[ind]+d[ind]+e[ind])和误差约束610(例如,||e||2≤ρ)。如上所述,异常检测系统102可以修改、重新配置或执行分解器602的一个或多个组件,使得优化算法604可以考虑度量时间序列中的非实值、以及与度量时间序列相关联的低事件计数(例如,从分析数据库120中检索的度量时间序列)。
如上所述,并且如图6所示,异常检测系统102包括显著值分析器612。在一个或多个实施例中,显著值分析器612可以包括尖峰显著性管理器614和水平显著性管理器616。例如,尖峰显著性管理器614可以通过确定值满足尖峰显著性阈值来标识尖峰分量序列中的显著值。类似地,水平显著性管理器616可以通过确定水平变化满足水平变化显著性阈值来标识与水平分量序列相对应的显著水平变化。
如上所述,并且如图6所示,异常检测系统102包括序列修改器622。在一个或多个实施例中,序列修改器622包括特殊日子管理器624、前导/尾随零管理器626和计数数据管理器628。特殊日子管理器624可以标识与度量时间序列相关联的特殊日子或时间效应,并且确定不将反映特殊日子或时间效应的这样的值标记为异常。前导/尾随零管理器626可以标识和移除度量时间序列中的前导和/或尾随零。计数数据管理器628可以基于确定度量时间序列中的值的数目小于或等于阈值数目来减小误差约束610的置信区间。
如上所述,并且如图6所示,异常检测系统102包括显示管理器618,该显示管理器618包括显示生成器620。在一个或多个实施例中,显示生成器620利用度量时间序列数据、潜在分量数据和异常数据来配置图形用户界面。显示生成器620还可以将图形用户界面提供给管理员计算设备以进行显示和进一步交互。响应于检测到的与图形用户界面的交互,显示生成器620可以用附加或不同的数据更新图形用户界面。
如上所述,并且如图6所示,异常检测系统102包括异常检测器630。在一个或多个实施例中,异常检测器630包括用于同时确定度量时间序列的一个或多个潜在分量的值是否表示异常的功能。例如,异常检测器630可以分析尖峰分量序列以标识一个或多个异常尖峰,并且将这些标识出的异常尖峰提供给显著值分析器612,以进一步确定异常尖峰中是否有异常尖峰在度量时间序列中是显著的。
异常检测系统102的每个组件602-630可以包括软件、硬件或两者。例如,组件602-630可以包括存储在计算机可读存储介质上并且由诸如客户端设备或服务器设备等一个或多个计算设备的处理器可执行的一个或多个指令。当由一个或多个处理器执行时,异常检测系统102的计算机可执行指令可以使(多个)计算设备执行本文中描述的方法。替代地,组件602-630可以包括硬件,诸如用于执行特定功能或一组功能的专用处理设备。替代地,异常检测系统102的组件602-630可以包括计算机可执行指令和硬件的组合。
此外,异常检测系统102的组件602-630例如可以实现为一个或多个操作系统、一个或多个独立应用、应用的一个或多个模块、一个或多个插件、一个或多个库函数或可以由其他应用调用的函数、和/或云计算模型。因此,组件602-630可以被实现为独立应用,诸如桌面或移动应用。此外,组件602-630可以被实现为托管在远程服务器上的一个或多个基于网络的应用。组件602-630也可以在一组移动设备应用或“app”中实现。为了说明,组件602-630可以在包括但不限于ADOBE ANALYTICS CLOUD等应用中实现,诸如ADOBE ANALYTICS、ADOBE AUDIENCE MANAGER、ADOBE CAMPAIGN、ADOBE EXPERIENCE MANAGER和ADOBE TARGET。“ADOBE”、“ANALYTICS CLOUD”、“ANALYTICS”、“AUDIENCE MANAGER”、“CAMPAIGN”、“EXPERIENCE MANAGER”、“TARGET”和“CREATIVE CLOUD”是Adobe Systems Incorporated在美国和/或其他国家/地区的注册商标或商标。
参考图1-6、对应文本和示例提供了异常检测系统102的多种不同的方法、系统、设备和非暂态计算机可读介质。除了前述内容,一个或多个实施例也可以根据包括用于实现特定结果的动作的流程图来描述,如图7和8所示。图7和8可以用更多或更少的动作来执行。此外,动作可以以不同顺序执行。另外,本文中描述的动作可以重复,或彼此平行或与相同或相似动作的不同实例平行地执行。
如前所述,图7示出了根据一个或多个实施例的用于标识度量时间序列的一个或多个潜在分量的显著异常的动作序列700的流程图。虽然图7示出了根据一个实施例的动作,但是替代实施例可以省略、增加、重新排序和/或修改图7所示的任何动作。图7的动作可以作为方法的一部分来执行。替代地,非暂态计算机可读介质可以包括在由一个或多个处理器执行时引起计算设备执行图7的动作的指令。在一些实施例中,系统可以执行图7的动作。
如图7所示,动作序列700包括检索度量时间序列的动作710。例如,动作710可以涉及检索与时间段相对应的度量时间序列,该度量时间序列包括表示数字网络内的用户动作的度量数据值。
如图7进一步所示,动作序列700包括确定与度量时间序列相关联的尖峰分量序列和水平分量序列的动作720。例如,动作720可以涉及确定至少一个尖峰分量序列和一个水平分量序列作为度量时间序列的潜在分量。在一个或多个实施例中,确定至少一个尖峰分量序列和一个水平分量序列作为度量时间序列的潜在分量可以包括:将服从针对实值的潜在分量约束的优化算法应用于度量时间序列,该潜在分量约束指示度量时间序列至少包括尖峰分量序列和水平分量序列;以及基于优化算法,将尖峰分量序列和水平分量序列标识为度量时间序列的潜在分量。在至少一个实施例中,将优化算法应用于非实值可以包括:从潜在分量约束中排除非实值;以及基于频域确定针对非实值的周期性分量序列。
如图7进一步所示,动作序列700包括确定尖峰分量序列和水平分量序列是否包括显著异常数据值的动作730。例如,动作730可以涉及确定尖峰分量序列的子序列是否满足尖峰显著性阈值以及与水平分量序列相对应的水平变化是否满足水平变化显著性阈值。在一个或多个实施例中,确定尖峰分量序列的子序列是否满足尖峰显著性阈值可以包括:生成等于尖峰分量序列和残余误差值的组合的平稳时间序列;使平稳时间序列遵循符合标准化分布的数据集;以及确定偏离符合标准化分布的数据集的平稳时间序列的数据值。另外,在一个或多个实施例中,确定与水平分量序列相对应的水平变化满足水平变化显著性阈值可以包括:生成显著水平变化值;以及确定与水平分量序列相对应的水平变化的绝对值超过或等于显著水平变化值。
如图7进一步所示,动作序列700包括基于尖峰分量序列或水平分量序列中的一项或多项包括多个显著异常数据值来生成异常数据值以显示在客户端计算设备上的动作740。例如,动作740可以涉及基于尖峰分量序列的子序列满足尖峰显著性阈值或者与水平分量序列相对应的水平变化满足水平变化显著性阈值中的一项或多项,从度量时间序列生成异常数据值以显示在客户端计算设备上。
此外,在一个或多个实施例中,动作序列700包括通过将尖峰分量序列替换为度量时间序列来将优化算法的目标函数应用于度量时间序列中的无穷大值的动作。另外,在至少一个实施例中,动作序列700包括通过将针对实值的度量时间序列约束为包括尖峰分量序列、水平分量序列、周期性分量序列和误差分量序列之和的动作。
在一个或多个实施例中,动作序列700包括以下动作:标识与时间段相对应的尖峰分量序列的数据值和与类似时间段相对应的先前尖峰分量序列的先前数据值;以及确定尖峰分量序列的数据值因周期效应不表示需要调节的异常。在至少一个实施例中,动作序列700还包括以下动作:通过将优化算法应用于度量时间序列而无需将度量时间序列分为用于训练时段的数据值和用于测试时段的数据值来至少确定尖峰分量序列和水平分量序列作为度量时间序列的潜在分量。
图8示出了根据一个或多个实施例的用于同时确定尖峰分量序列的子序列和与水平分量序列相对应的水平变化是否表示显著异常的动作序列800的流程图。虽然图8示出了根据一个实施例的动作,但是替代实施例可以省略、增加、重新排序和/或修改图8所示的任何动作。图8的动作可以作为方法的一部分来执行。替代地,非暂态计算机可读介质可以包括在由一个或多个处理器执行时引起计算设备执行图8的动作的指令。在一些实施例中,系统可以执行图8的动作。
如图8所示,动作序列800包括确定尖峰分量序列和水平分量序列作为度量时间序列的潜在分量的动作810。例如,动作810可以涉及:确定至少一个水平分量序列和一个尖峰分量序列作为服从潜在分量约束的度量时间序列的潜在分量,并且从潜在分量约束中排除度量时间序列的非实值。在一个或多个实施例中,确定至少一个水平分量序列和一个尖峰分量序列作为度量时间序列的潜在分量可以包括:将服从针对实值的潜在分量约束的优化算法应用于度量时间序列,该潜在分量约束指示度量时间序列包括尖峰分量序列、水平分量序列、周期性分量序列和误差分量序列;并且然后基于优化算法,将尖峰分量序列、水平分量序列、周期性分量序列和误差分量序列标识为度量时间序列的潜在分量。
在至少一个实施例中,动作序列800还包括以下动作:将服从误差约束的优化算法应用于度量时间序列,该误差约束将误差分量序列限制到置信区间;确定度量时间序列内的度量数据值等于或少于阈值数目的数据值,并且每个度量数据值均为非负;并且基于确定度量数据值等于或少于阈值数目的数据值,减小误差约束的置信区间。
此外,在至少一个实施例中,动作序列800包括以下动作:从潜在分量约束中排除不可用值或非数字值;以及基于频域确定针对非实值的周期性分量序列。动作序列800还可以包括从度量时间序列中移除前导零值或尾随零值中的至少一项的动作。另外,动作序列800还可以包括以下动作:通过将优化算法应用于度量时间序列而无需将度量时间序列分为用于训练时段的数据值和用于测试时段的数据值来至少确定水平分量序列和尖峰分量序列作为度量时间序列的潜在分量。
如图8所示,动作序列800包括同时确定尖峰分量序列的子序列和与水平分量序列相对应的水平变化是否表示显著异常的动作820。例如,动作820可以包括同时通过以下方式确定尖峰分量序列的子序列和与水平分量序列相对应的水平变化是否表示显著异常:确定等于尖峰分量序列和残余误差值的组合的平稳时间序列是否偏离符合分布的数据集;以及根据水平变化显著性阈值确定与水平分量序列相对应的水平变化是否偏离显著水平变化值。
在至少一个实施例中,确定等于尖峰分量序列和残余误差值的组合的平稳时间序列是否偏离符合分布的数据集可以包括:通过将自回归模型应用于度量时间序列内的误差分量序列来确定残余误差值;以及将广义极端学生化分布(“GESD”)测试应用于等于尖峰分量序列和残余误差值的组合的平稳时间序列。
另外,在至少一个实施例中,根据所述水平变化显著性阈值确定与水平分量序列相对应的水平变化是否偏离显著水平变化值可以包括:根据显著性水平生成标准化分布;从标准化分布确定显著水平变化值;以及确定与水平分量序列相对应的水平变化的绝对值超过或等于显著水平变化值和残余误差值的乘积。
如图8所示,动作序列800包括基于显著异常生成异常数据值以显示在客户端计算设备上的动作830。例如,动作830可以涉及基于尖峰分量序列的子序列或水平变化中的一项或多项表示显著异常而从度量时间序列生成异常数据值以显示在客户端计算设备上。在至少一个实施例中,动作序列800可以包括生成在视觉上指示度量时间序列内的异常数据值的图形用户界面的动作。
作为上述动作的替代方案,在一些实施例中,异常检测系统102执行用于从度量时间序列内的水平分量序列或尖峰分量序列中标识出显著异常数据值的步骤。特别地,以上关于图3或图4描述的算法和动作可以包括与用于从度量时间序列内的水平分量序列或尖峰分量序列中标识显著异常数据值的步骤相对应的动作(或结构)。
本公开的实施例可以包括或利用包括计算机硬件(例如,一个或多个处理器和系统存储器)的专用或通用计算机,如下面更详细地讨论的。在本公开的范围内的实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。特别地,本文中描述的一个或多个过程可以至少部分实现为体现在非暂态计算机可读介质中并且由一个或多个计算设备(例如,本文中描述的任何媒体内容访问设备)可执行的指令。通常,处理器(例如,微处理器)从非暂态计算机可读介质(例如,存储器)接收指令,并且执行这些指令,从而执行一个或多个过程,包括本文中描述的一个或多个过程。
计算机可读介质可以是可以由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是非暂态计算机可读存储介质(设备)。携带计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,本公开的实施例可以包括至少两种明显不同类型的计算机可读介质:非暂态计算机可读存储介质(设备)和传输介质。
非暂态计算机可读存储介质(设备)包括RAM、ROM、EEPROM、CD-ROM、固态驱动器(“SSD”)(例如,基于RAM)、闪存、相变存储器(“PCM”)、其他类型的存储器、其他光盘存储、磁盘存储或其他磁性存储设备、或者可以用于以计算机可执行指令或数据结构形式存储期望的程序代码并且可以由通用或专用计算机访问的任何其他介质。
“网络”被定义为使得能够在计算机系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路。当通过网络或其他通信连接(硬连线、无线或硬连线或无线的组合)将信息传输或提供给计算机时,计算机将该连接正确地视为传输介质。传输介质可以包括可以用于以计算机可执行指令或数据结构的形式携带期望的程序代码装置并且可以由通用或专用计算机访问的网络和/或数据链路。上述各项的组合也应当被包括在计算机可读介质的范围内。
此外,在到达各种计算机系统组件时,计算机可执行指令或数据结构形式的程序代码装置可以从传输介质自动传输到非暂态计算机可读存储介质(设备)(反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以缓冲在网络接口模块(例如,“NIC”)内的RAM中,并且然后最终传输到计算机系统RAM和/或到计算机系统处的较少易失性计算机存储介质(设备)。因此,应当连接,非暂态计算机可读存储介质(设备)可以被包括在也(或者甚至主要地)利用传输介质的计算机系统组件中。
计算机可执行指令包括例如在由处理器执行时引起通用计算机、专用计算机或专用处理设备执行特定功能或功能组的指令和数据。在一些实施例中,计算机可执行指令由通用计算机执行以将通用计算机变成实现本公开的元素的专用计算机。计算机可执行指令可以是例如二进制、中间格式指令(诸如汇编语言)或甚至源代码。尽管已经用特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求书中定义的主题不必限于上述描述的特征或动作。而是,所描述的特征和动作被公开作为实现权利要求的示例形式。
本领域技术人员应当理解,本公开可以在具有很多类型的计算机系统配置的网络计算环境中实践,包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器或可编程的消费类电子产品、网络PC、小型计算机、大型计算机、移动电话、PDA、平板电脑、寻呼机、路由器、交换机等。本公开还可以在分布式系统环境中实践,在分布式系统环境中,通过网络链接的本地和远程计算机系统(通过硬连线数据链接、无线数据链接、或通过硬连线和无线数据链接的组合)各自执行任务。在分布式系统环境中,程序模块可以位于本地和远程存储设备中。
本公开的实施例还可以在云计算环境中实现。如本文中使用的,术语“云计算”是指用于使得能够对可配置计算资源的共享池进行按需网络访问的模型。例如,可以在市场中使用云计算来提供对可配置计算资源共享池的无处不在且方便的按需访问。可配置计算资源的共享池可以通过虚拟化快速配置,并且以较少的管理工作量或服务提供商交互来释放,然后进行相应的缩放。
云计算模型可以由各种特征组成,例如按需自助服务、广泛的网络访问、资源池、快速弹性、测量的服务等。云计算模型还可以公开各种服务模型,例如软件即服务(“SaaS”)、平台即服务(“PaaS”)和基础设施即服务(“IaaS”)。还可以使用不同的部署模型(诸如私有云、社区云、公共云、混合云等)来部署云计算模型。另外,如本文中使用的,术语“云计算环境”是指其中采用云计算的环境。
图9示出了可以被配置为执行上述过程中的一个或多个的示例计算设备900的框图。应当理解,诸如计算设备900等一个或多个计算设备可以表示上述计算设备(例如,(多个)服务器106、管理员计算设备108)。在一个或多个实施例中,计算设备900可以是移动设备(例如,移动电话、智能电话、PDA、平板电脑、膝上型计算机、相机、跟踪器、手表、可穿戴设备等)。在一些实施例中,计算设备900可以是非移动设备(例如,台式计算机或另一类型的客户端设备)。此外,计算设备900可以是包括基于云的处理和存储能力的服务器设备。
如图9所示,计算设备900可以包括可以通过通信基础设施(例如,总线912)通信地耦合的一个或多个处理器902、存储器904、存储装置906、输入/输出接口908(或“I/O接口908”)和通信接口910。尽管在图9中示出了计算设备900,但是图9所示的组件并非旨在限制。在其他实施例中可以使用附加或替代组件。此外,在某些实施例中,计算设备900包括的组件少于图9所示的组件。现在将更详细地描述图9中所示的计算设备900的组件。
在特定实施例中,(多个)处理器902包括用于执行诸如构成计算机程序的指令等指令的硬件。作为示例而非限制,为了执行指令,(多个)处理器902可以从内部寄存器、内部高速缓存、存储器904或存储装置906中检索(或取回)指令,并且解码和执行指令。
计算设备900包括耦合到(多个)处理器902的存储器904。存储器904可以用于存储由(多个)处理器执行的数据、元数据和程序。存储器904可以包括易失性和非易失性存储器中的一种或多种,诸如随机存取存储器(“RAM”)、只读存储器(“ROM”)、固态磁盘(“SSD”)、闪存、相变存储器(“PCM”)或其他类型的数据存储。存储器904可以是内部或分布式存储器。
计算设备900包括存储装置906,该存储装置906包括用于存储数据或指令的存储装置。作为示例而非限制,存储装置906可以包括上述非暂态存储介质。存储装置906可以包括硬盘驱动器(HDD)、闪存、通用串行总线(USB)驱动器或这些或其他存储设备的组合。
如图所示,计算设备900包括一个或多个I/O接口908,该I/O接口908被提供以允许用户向计算设备900提供输入(例如,用户笔画),从计算设备900接收输出,以及以其他方式向和从计算设备900传输数据。这些I/O接口908可以包括鼠标、小键盘或键盘、触摸屏、相机、光学扫描仪、网络接口、调制解调器、其他已知I/O设备或这样的I/O接口908的组合。触摸屏可以用手写笔或手指激活。
I/O接口908可以包括用于向用户呈现输出的一个或多个设备,包括但不限于图形引擎、显示器(例如,显示屏)、一个或多个输出驱动(例如,显示驱动)、一个或多个音频扬声器和一个或多个音频驱动。在某些实施例中,I/O接口908被配置为将图形数据提供给显示器以呈现给用户。图形数据可以表示一个或多个图形用户界面和/或可以服务于特定实现的任何其他图形内容。
计算设备900还可以包括通信接口910。通信接口910可以包括硬件、软件或两者。通信接口910提供一个或多个接口以用于计算设备与一个或多个其他计算设备或一个或多个网络之间的通信(例如,基于分组的通信)。作为示例而非限制,通信接口910可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(NIC)或网络适配器、或者用于与诸如WI-FI等无线网络进行通信的无线NIC(WNIC)或无线适配器。计算设备900还可以包括总线912。总线912可以包括将计算设备900的组件彼此连接的硬件、软件或两者。
在前述说明书中,已经参考本发明的特定示例实施例描述了本发明。参考本文中讨论的细节描述了(多个)本发明的各个实施例和方面,并且附图示出了各个实施例。上面的描述和附图是本发明的说明,而不应当解释为限制本发明。描述了很多具体细节以提供对本发明的各种实施例的透彻理解。
在不脱离本发明的精神或基本特征的情况下,本发明可以以其他特定形式体现。所描述的实施例在所有方面仅被认为是说明性的而非限制性的。例如,本文中描述的方法可以用更少或更多的步骤/动作来执行,或者步骤/动作可以以不同的顺序来执行。另外,本文中描述的步骤/动作可以重复,或者彼此平行地或与相同或相似步骤/动作的不同实例并行地执行。因此,本发明的范围由所附权利要求书而不是前面的描述指示。落在权利要求的等同含义和范围之内的所有改变均应当被包含在其范围之内。

Claims (20)

1.一种非暂态计算机可读介质,存储有指令,所述指令在由至少一个处理器执行时使计算设备:
检索与时间段相对应的度量时间序列,所述度量时间序列包括度量数据值,所述度量数据值表示数字网络内的用户动作;
确定至少一个尖峰分量序列和一个水平分量序列作为所述度量时间序列的潜在分量;
确定所述尖峰分量序列的子序列是否满足尖峰显著性阈值以及与所述水平分量序列相对应的水平变化是否满足水平变化显著性阈值;以及
基于以下一项或多项,从所述度量时间序列生成异常数据值以显示在客户端计算设备上:所述尖峰分量序列的所述子序列满足所述尖峰显著性阈值,或者与所述水平分量序列相对应的所述水平变化满足所述水平变化显著性阈值。
2.根据权利要求1所述的非暂态计算机可读介质,还存储在由所述至少一个处理器执行时使所述计算设备通过以下方式确定所述尖峰分量序列的所述子序列是否满足所述尖峰显著性阈值的指令:
生成平稳时间序列,所述平稳时间序列等于所述尖峰分量序列和残余误差值的组合;以及
确定所述平稳时间序列偏离符合标准化分布的数据集。
3.根据权利要求1所述的非暂态计算机可读介质,还存储在由所述至少一个处理器执行时使所述计算设备通过以下方式确定与所述水平分量序列相对应的所述水平变化满足所述水平变化显著性阈值的指令:
生成显著水平变化值;以及
确定与所述水平分量序列相对应的所述水平变化的绝对值超过或等于所述显著水平变化值。
4.根据权利要求1所述的非暂态计算机可读介质,还存储在由所述至少一个处理器执行时使所述计算设备通过以下方式至少将所述尖峰分量序列和所述水平分量序列确定为所述度量时间序列的潜在分量的指令:
将服从针对实值的潜在分量约束的优化算法应用于所述度量时间序列,所述潜在分量约束指示所述度量时间序列包括至少所述尖峰分量序列和所述水平分量序列;以及
基于所述优化算法,将所述尖峰分量序列和所述水平分量序列标识为所述度量时间序列的潜在分量。
5.根据权利要求4所述的非暂态计算机可读介质,还存储在由所述至少一个处理器执行时使所述计算设备通过以下方式将所述优化算法应用于非实值的指令:
从所述潜在分量约束中排除非实值;以及
基于频域确定针对所述非实值的周期性分量序列。
6.根据权利要求4所述的非暂态计算机可读介质,还存储在由所述至少一个处理器执行时使所述计算设备通过以下方式将所述优化算法的目标函数应用于来自所述度量时间序列的无穷大值的指令:
将所述尖峰分量序列替换为所述度量时间序列。
7.根据权利要求4所述的非暂态计算机可读介质,还存储在由所述至少一个处理器执行时使所述计算设备通过以下方式将针对实值的所述潜在分量约束应用于所述优化算法的指令:
将所述度量时间序列约束为包括所述尖峰分量序列、所述水平分量序列、周期性分量序列和误差分量序列的总和。
8.根据权利要求1所述的非暂态计算机可读介质,还存储在由所述至少一个处理器执行时使所述计算设备进行以下操作的指令:
标识与所述时间段相对应的所述尖峰分量序列的数据值,以及与相似时间段相对应的先前尖峰分量序列的先前数据值;以及
确定所述尖峰分量序列的所述数据值因周期效应不表示需要进行调节的异常。
9.根据权利要求1所述的非暂态计算机可读介质,还存储在由所述至少一个处理器执行时使所述计算设备通过以下方式至少将所述尖峰分量序列和所述水平分量序列确定为所述度量时间序列的潜在分量的指令:
将优化算法应用于所述度量时间序列,而无需将所述度量时间序列分为用于训练时段的数据值和用于测试时段的数据值。
10.一种系统,包括:
至少一个存储器设备,包括与时间段相对应的度量时间序列,所述度量时间序列包括度量数据值,所述度量数据值表示数字网络内的用户动作;以及
至少一个计算设备,被配置为使所述系统:
确定至少一个水平分量序列和一个尖峰分量序列作为服从潜在分量约束的所述度量时间序列的潜在分量,并且从所述潜在分量约束中排除所述度量时间序列的非实值;
同时通过以下方式确定所述尖峰分量序列的子序列和与所述水平分量序列相对应的水平变化是否表示显著异常:
确定等于所述尖峰分量序列和残余误差值的组合的平稳时间序列是否偏离符合一定分布的数据集;以及
根据水平变化显著性阈值确定与所述水平分量序列相对应的所述水平变化是否偏离显著水平变化值;以及
基于所述尖峰分量序列的所述子序列或所述水平变化中的一项或多项表示显著异常,从所述度量时间序列生成异常数据值以显示在客户端计算设备上。
11.根据权利要求10所述的系统,其中所述至少一个计算设备还被配置为使所述系统生成图形用户界面,所述图形用户界面在视觉上指示所述度量时间序列内的所述异常数据值。
12.根据权利要求10所述的系统,其中所述至少一个计算设备还被配置为使所述系统通过以下方式确定等于所述尖峰分量序列和所述残余误差值的所述组合的所述平稳时间序列是否偏离符合所述分布的所述数据集:
通过将自回归模型应用于所述度量时间序列内的误差分量序列来确定所述残余误差值;以及
将广义极端学生化分布测试应用于等于所述尖峰分量序列和所述残余误差值的所述组合的所述平稳时间序列。
13.根据权利要求10所述的系统,其中所述至少一个计算设备还被配置为使所述系统通过以下方式根据所述水平变化显著性阈值来确定与所述水平分量序列相对应的所述水平变化是否偏离所述显著水平变化值:
根据显著性水平生成标准化分布;
从所述标准化分布确定所述显著水平变化值;以及
确定与所述水平分量序列相对应的所述水平变化的绝对值超过或等于所述显著水平变化值和所述残余误差值的乘积。
14.根据权利要求10所述的系统,其中所述至少一个计算设备还被配置为使所述系统通过以下方式至少将所述水平分量序列和所述尖峰分量序列确定为所述度量时间序列的潜在分量:
将服从针对实值的潜在分量约束的优化算法应用于所述度量时间序列,所述潜在分量约束指示所述度量时间序列包括所述尖峰分量序列、所述水平分量序列、周期性分量序列和误差分量序列;以及
基于所述优化算法,将所述尖峰分量序列、所述水平分量序列、所述周期性分量序列和所述误差分量序列标识为所述度量时间序列的潜在分量。
15.根据权利要求14所述的系统,其中所述至少一个计算设备还被配置为:
将服从误差约束的所述优化算法应用于所述度量时间序列,所述误差约束将所述误差分量序列限制到置信区间;
确定所述度量时间序列内的所述度量数据值等于或少于阈值数目的数据值并且每个度量数据值均为非负;以及
基于确定所述度量数据值等于或少于所述阈值数目的数据值,减小针对所述误差约束的所述置信区间。
16.根据权利要求14所述的系统,其中所述至少一个计算设备还被配置为:
从所述潜在分量约束中排除不可用值或非数字值;以及
基于频域确定针对非实值的周期性分量序列。
17.根据权利要求10所述的系统,其中所述至少一个计算设备还被配置为使所述系统从所述度量时间序列中移除前导零值或尾随零值中的至少一项。
18.根据权利要求10所述的系统,其中所述至少一个计算设备还被配置为使所述系统通过以下方式至少确定所述水平分量序列和所述尖峰分量序列作为所述度量时间序列的潜在分量:
将优化算法应用于所述度量时间序列,而无需将所述度量时间序列分为用于训练时段的数据值和用于测试时段的数据值。
19.一种在用于分析业务数据的数字媒体环境中的用于从度量时间序列来确定异常的方法,包括:
访问与时间段相对应的度量时间序列,所述度量时间序列包括度量数据点,所述度量数据点表示数字网络内的用户动作;
执行用于从所述度量时间序列内的水平分量序列或尖峰分量序列标识多个显著异常数据值的步骤;以及
基于从所述水平分量序列或所述尖峰分量序列标识出异常数据值,从所述度量时间序列生成所述异常数据值的视觉表示以显示在客户端计算设备上。
20.根据权利要求19所述的方法,其中生成异常数据值的所述视觉表示以显示在客户端计算设备上包括:生成图形用户界面,所述图形用户界面在视觉上指示以下一项或多项内的所述异常数据值:所述度量时间序列、所述尖峰分量序列或所述水平分量序列。
CN202110358292.6A 2020-06-17 2021-04-01 利用稀疏分解的鲁棒性的异常和变化检测 Pending CN113806122A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/904,249 2020-06-17
US16/904,249 US11095544B1 (en) 2020-06-17 2020-06-17 Robust anomaly and change detection utilizing sparse decomposition

Publications (1)

Publication Number Publication Date
CN113806122A true CN113806122A (zh) 2021-12-17

Family

ID=77274235

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110358292.6A Pending CN113806122A (zh) 2020-06-17 2021-04-01 利用稀疏分解的鲁棒性的异常和变化检测

Country Status (3)

Country Link
US (1) US11095544B1 (zh)
CN (1) CN113806122A (zh)
DE (1) DE102021001690A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117375626B (zh) * 2023-12-08 2024-03-08 北京奥力斯特投资管理有限公司 一种智慧供热异常数据传输方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106104496A (zh) * 2014-03-18 2016-11-09 微软技术许可有限责任公司 用于任意时序的不受监督的异常检测
CN110690995A (zh) * 2019-09-29 2020-01-14 南京大学 一种基于多变量时间序列预测的鲁棒性异常检测方法和设备
EP3623964A1 (en) * 2018-09-14 2020-03-18 Verint Americas Inc. Framework for the automated determination of classes and anomaly detection methods for time series
US20200183946A1 (en) * 2018-12-11 2020-06-11 EXFO Solutions SAS Anomaly Detection in Big Data Time Series Analysis

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3669312B2 (ja) 2001-09-13 2005-07-06 岩崎通信機株式会社 波形表示装置
US7620523B2 (en) * 2007-04-30 2009-11-17 Integrien Corporation Nonparametric method for determination of anomalous event states in complex systems exhibiting non-stationarity
US9495395B2 (en) * 2013-04-11 2016-11-15 Oracle International Corporation Predictive diagnosis of SLA violations in cloud services by seasonal trending and forecasting with thread intensity analytics
US10891558B2 (en) * 2015-01-21 2021-01-12 Anodot Ltd. Creation of metric relationship graph based on windowed time series data for anomaly detection
US10261851B2 (en) * 2015-01-23 2019-04-16 Lightbend, Inc. Anomaly detection using circumstance-specific detectors
US10277693B2 (en) * 2015-06-04 2019-04-30 Twitter, Inc. Trend detection in a messaging platform
US10171335B2 (en) * 2015-12-01 2019-01-01 Microsoft Technology Licensing, Llc Analysis of site speed performance anomalies caused by server-side issues
US10628435B2 (en) 2017-11-06 2020-04-21 Adobe Inc. Extracting seasonal, level, and spike components from a time series of metrics data
US11036715B2 (en) * 2018-01-29 2021-06-15 Microsoft Technology Licensing, Llc Combination of techniques to detect anomalies in multi-dimensional time series
US10715393B1 (en) * 2019-01-18 2020-07-14 Goldman Sachs & Co. LLC Capacity management of computing resources based on time series analysis

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106104496A (zh) * 2014-03-18 2016-11-09 微软技术许可有限责任公司 用于任意时序的不受监督的异常检测
EP3623964A1 (en) * 2018-09-14 2020-03-18 Verint Americas Inc. Framework for the automated determination of classes and anomaly detection methods for time series
US20200183946A1 (en) * 2018-12-11 2020-06-11 EXFO Solutions SAS Anomaly Detection in Big Data Time Series Analysis
CN110690995A (zh) * 2019-09-29 2020-01-14 南京大学 一种基于多变量时间序列预测的鲁棒性异常检测方法和设备

Also Published As

Publication number Publication date
US11095544B1 (en) 2021-08-17
DE102021001690A1 (de) 2021-12-23

Similar Documents

Publication Publication Date Title
JP6952058B2 (ja) メモリ使用量判断技術
US11023577B2 (en) Anomaly detection for time series data having arbitrary seasonality
US11809455B2 (en) Automatically generating user segments
Guigou et al. SCHEDA: Lightweight euclidean-like heuristics for anomaly detection in periodic time series
CN113806122A (zh) 利用稀疏分解的鲁棒性的异常和变化检测
WO2017196748A1 (en) Compression techniques for encoding stack trace information
CN114125813A (zh) 基于手机信令的信号覆盖范围确定方法及相关装置
WO2021011103A1 (en) Smoothed seasonality-based dynamic thresholds for anomalous computing resource usage detection

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