我最近看了Homin Lee在"Detecting outliers and anomalies in realtime at Datadog"上的OSCON Austin 2016 talk,并找到了提出以下问题的适当动机。在
基本上,我要做的是在图中找到不一定同时开始的异常(t),但形状非常相似(在家族中)
分开:
合并:
如我的(粗略)概念图所示,给定两个相似的频率(f)时间函数,我想根据它们每个拐点的位置将它们排在一起。其中一个频率图从t=-2开始,另一个t=5开始。它们都有拐点在t_1=8.5和t_2=1.5附近。我想把他们排成一行。从本质上说,所绘制的图像应该是我的算法的最终输出,并列出任何触发的异常,比如绿色曲线,如果f=0.2att_1=12,那么这应该是一个异常,因为它不在家族中。正如homi-Lee所说,图表不会“在训练过的信封内”
现在我想展示一下我的特定方法,看看你是否有同样的想法或者有更好的方法来开发这个算法。在选择使用哪种异常检测算法之前,我们需要讨论如何准备这些数据。我们将继续使用频率与时间数据作为示例。为了准备数据,我们需要(1)找到拐点,(2)缩放数据,使所有数据具有相同的时域持续时间(即,12-5=7=7=5-(-2)),以及(3)找到匹配(排列)每个图的时间(即5到-2,6到-1,依此类推)。在
一旦数据准备好,现在就进入算法。对于(健壮的)异常检测,我正在考虑使用one-class/multi-class支持向量机(SVM),因为我们将训练一组巨大的图来形成“包络线”。本节也开放供建议。在
正如一个登月者所想的那样,我希望最终能够把所有的图表放到一个巨大的图上,并从中指出异常。问题是会有很多不同的时间间隔。因此,一个解决方案是创建一个单一的通用(u)时间间隔,这样您就不必处理不同的间隔(例如,t_1=5,9将变成t_=1,5,同样的情况也适用于t_2)。在
所以,为了重述一下,我希望分析不同时间间隔的相似图形,以发现异常。找出关键点/关键点(不一定是拐点)、比例、绘制图表,并检查异常情况。在
我已经漫谈了很长时间,但如果有些事情没有意义,你希望我澄清或详细说明,让我知道,我会的。请随意提出建议,向我提交一些代码,然后或者我以前没有必要想到的其他想法或方法。在
谢谢。在
另外,关于图纸的事我很抱歉,我已经尽力了。:P
目前没有回答
相关问题 更多 >
编程相关推荐