时间序列和异常检测


15

我想建立一种算法来检测时间序列中的异常,并且我打算为此使用聚类。

  • 为什么我应该使用距离矩阵而不是原始时间序列数据进行聚类?,

  • 为了检测异常,我将使用基于密度的聚类(一种作为DBscan的算法),在这种情况下行得通吗?是否有在线版本的流数据?

  • 我想在异常发生之前就对其进行检测,因此,使用趋势检测算法(ARIMA)是一个不错的选择吗?


它是正确编写的DBSCAN。它是一个缩写。我不确定您要做什么。检测时间序列内或整个时间序列内的异常。
已退出-Anony-Mousse 2012年

是的,DBSCAN,严格!我正在尝试做的是时间序列数据集中的在线检测异常!所以!有什么要求吗?谢谢问候
napsterockoeur 2012年

在线时间越来越长或正在添加其他系列?同样,这些是非常不同的,并且您需要非常清楚其意思。
已退出-Anony-Mousse 2012年

我的意思是通过在线(流),来自传感器的时间序列在不断增长..每隔一小时收到一组数据(矢量)..
napsterockoeur 2012年

Answers:


12

关于第一个问题,我建议您在对时间序列进行聚类之前阅读这篇著名的文章(对时间序列子序列进行聚类是毫无意义的)。它写的清楚,说明了您要避免的许多陷阱。


6

GCTiao等人一直倡导异常检测或“干预检测”。科学就是寻找重复的模式;检测异常是识别不遵循重复模式的值。我们从牛顿那里学到“谁知道自然的方式会更容易注意到她的偏差,另一方面,谁知道她的偏差会更准确地描述她的方式”。人们通过观察当前规则何时失效来学习规则。考虑时间序列1,9,1,9,1,9,5,9。要识别异常,需要有一种模式。“ 5”与“ 14”一样多。要确定模式,只需使用ARIMA,在这种情况下,“异常”就很明显。尝试使用其他软件/方法,看看哪一个建议使用1,0级ARIMA模型,0,系数为-1.0。使用Google /搜索程序查找“自动Arima”或“自动干预检测”。您可能对免费的东西感到失望,因为它可能物有所值。如果您有大量时间序列背景并且要浪费几年时间,那么自己编写它可能会很有趣。基于距离的方法存在严重局限性http://www3.ntu.edu.sg/SCE/pakdd2006/tutorial/chawla_tutorial_pakddslides.pdf


非常感谢IrishStat爵士,我完全同意你的看法,基于距离的方法也有很大的局限,我猜其他方法也是如此,这就是为什么我要测试基于密度的方法,我看到很多文章在讲关于美国国家航空航天局(NASA)研究,大学等的时间序列异常检测,但是对于特定的数据问题,进展很小。最近,我发现了一个很好的免费软件,用于离群值检测:Weka的MOA!你之前测试过吗?它是一个开源软件,我正在尝试使用它来开发和集成我的小型检测异常算法,
napsterockoeur 2012年

哦:仅供参考:我正在处理流数据
napsterockoeur
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.