Twitter基于R语言的时序数据突变检测(BreakoutDetection)

   Twitter开源的时序数据突变检测(BreakoutDetection),基于无参的E-Divisive with Medians (EDM)算法,比传统的E-Divisive算法快3.5倍以上,并且具有鲁棒统计性,就是你加入一些离群点或异常点,并不影响该算法的检测效果,不过最关键的还是无参特性,有时候调参真是件摸着石头过河的事。

  它认为突变有两种方式:

  1.Mean Shift:突然跳变,比如CPU从40%一跃跳变为60%,像佛教里讲的“顿宗”

  2.Ramp Up:缓慢从一个平稳状态渐变到另一个平稳状态,比如CPU从40%平稳缓慢渐变为60%并平稳,像佛教里讲的“渐宗”

  项目源代码(提交后好像就不更新了):https://github.com/twitter/BreakoutDetection/

  其他针对该算法的讲解(可能需要梯子):

  https://blog.revolutionanalytics.com/2014/11/breakout-detection.html

  https://blog.twitter.com/2014/breakout-detection-in-the-wild

  https://anomaly.io/anomaly-detection-using-twitter-breakout/

  【注】https://anomaly.io/真的挺不错,需要持续关注其中的博客

  视频:

  https://www.youtube.com/watch?v=fcsyL5TwIvE

  该视频对应的PPT截图如下:

  

 

 

  

  

】Twitter默认提供的是基于R语言实现的算法,该视频作者提供了Python版的实现,地址为:

https://github.com/roland-hochmuth/BreakoutDetection

  

 

  “鲁棒统计

  Robust Statistics:A minor error[the anomaly]  in the mathematical model should cause only a small error in the final conclusions

  [moving median(中位数)] 属于鲁棒统计,[moving average(平均值)]不属于鲁棒统计 

  https://anomaly.io/moving-median-robust-anomaly/

  

posted @ 2018-11-13 23:58  静若清池  阅读(2923)  评论(1编辑  收藏  举报