时间序列异常检测算法


Answers:


16

Twitter算法基于

Rosner,B。,(1983年5月),“广义ESD多离群程序的百分比”,Technometrics,25(2),第165-172页

我敢肯定,自1983年以来,已经有了许多技术和进步!我已经对内部数据进行了测试,Twitter的异常检测未发现明显的异常值。我还将使用其他方法来测试时间序列中的异常值。我遇到的最好的是Tsay的异常检测程序,该程序在SAS / SPSS / Autobox和SCA软件中实现。所有这些都是商业系统。还有一个 tsoutliers软件包,它很棒,但是需要arima模型规格才能有效地工作。auto.arima在优化和模型选择方面,我的默认设置存在问题。

Tsay的文章是时间序列离群值检测的开创性工作。预测研究领域的领先期刊《国际预测杂志》提到,Tsay的文章是上面链接的文章中被引用次数最多,影响最大的论文之一(另请参见下文)。这项重要工作和其他异常检测算法在预测软件(尤其是开源软件)中的扩散非常罕见。

在此处输入图片说明


14

自2017年起,这是R中异常检测的选项。

Twitter的异常检测包

  • 通过使用季节性混合ESD(SH-ESD)进行工作;
  • 以用于检测异常的通用ESD测试为基础;
  • 可以检测局部和全局异常;
  • 采用时间序列分解和强大的统计指标(例如,中位数和ESD)
  • 对长时间序列采用分段逼近;
  • 还提供了何时没有时间戳的方法;
  • 可以指定异常的方向,感兴趣的窗口,切换分段逼近,并具有视觉支持。

anomalyDetection包(与Twitter的不同)

  • 各种方法,包括马氏距离,因子分析,霍恩平行分析,块检验,主成分分析;
  • 有处理结果的方法。

tsoutliers套餐

  • 按照Chen和Liu过程检测时间序列中的异常值(https://www.jstor.org/stable/2290724?seq=1#page_scan_tab_contents);
  • 基于模型参数的“较少污染”估计值获得异常值,使用多元线性回归估计异常值效果,然后联合估计模型参数和效果。
  • 考虑创新离群值,加总离群值,水平变化,暂时变化和季节性水平变化。

反常acm

  • 通过在每个时间序列上计算特征向量(例如,包括滞后相关性,季节性强度,频谱熵),然后对特征应用鲁棒的主成分分解,最后对前两个主成分应用各种双变量离群值检测方法,进行工作。
  • 根据特征向量确定最不寻常的序列;
  • 程序包包含Yahoo的真实和合成数据集。

彩虹包

  • 使用袋装图和盒装图;
  • 标识深度或密度最低的离群值。

kmodR软件包

washeR方法

鲁棒统计方法的CRAN Task视图

  • 使用稳健的统计方法来检测离群值的多种方法。

编辑2018

异常化:整洁的异常检测


有什么建议可以用于时间序列数据,但没有季节性?在这种情况下可以使用twitter包吗?
MikeHuber

Twitter程序包可处理本地和全局异常。正如他们在文档中所说的那样,“全球异常通常会在预期季节性之上或之下延伸,因此不受季节性和潜在趋势的影响。” 所以可以,您可以使用Twitter程序包潜在地检测时间序列中的异常(没有季节性)。blog.twitter.com/engineering/en_us/a/2015/…–
控制论

8

我遇到了一些可能对您有帮助的资源,但它们不像对您的数据运行R脚本那样容易/方便:-NumentaNuPIC平台是开源的,可用于许多方面,包括异常检测。- Netflix的地图集项目很快将发布一个开源的异常/异常检测工具。- Prelert有来作为服务器端应用程序的异常检测引擎。他们提供的试用版功能有限,可以满足您的需求。

另外,我的公司Insignum的 Beta版产品可以提取时间序列数据并以全自动方式检测异常,当检测到异常时,您只需通过电子邮件接收警报。欢迎访问TwitterLinkedin,我们很乐意为您提供更多信息。


3

Autobox(我的公司)提供离群值检测。与Autobox相比,Twitter的算法具有较大的离群值,但错过了较小的离群值。

运行需要很长时间,但是结果对于发现较小的离群值以及季节性变化(离群值)也更好。下面是使用14,398个原始观测值的前8,560个观测值找到79个离群值的模型。标准版本max最多可以进行10,000次观测,但是可以对其进行更多修改,但是,当您要识别和应对异常值时,没有任何理由拥有大量数据。

Tsay在异常值,水平偏移和方差变化方面的工作以及Chow在参数变化方面的工作以及我们自己在检测季节性变化方面的工作,都对我们产生了影响

如果下载30天试用版并在Twitter示例数据中加载,并将频率指定为60,并将3个触发文件保存在安装文件夹中(noparcon.afs,novarcon.afs,notrend.afs),然后创建一个名为stepupde的文件。 AFS与100。

在此处输入图片说明

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.