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
“魯棒統計”
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/