使用Twitter異常檢測框架遇到的坑
阿新 • • 發佈:2018-11-08
在Github上搜索“Anomaly Detection”,Twitter的異常檢測框架(基於R語言)高居榜首,可見效果應該不錯:
但是活躍度並不高,3-4年沒人維護了:
因此在使用時難免會遇到一些坑,整個使用方式如下(紅色部分,就是直接在RStudio中執行時,可能有異常的地方):
install.packages("devtools")
devtools::install_github("twitter/AnomalyDetection")
library(AnomalyDetection)
data(raw_data)
res = AnomalyDetectionTs(raw_data, max_anoms=0.02, direction='both', plot=TRUE)
res$plot
1.devtools::install_github("twitter/AnomalyDetection")
異常如下:
Error in process_initialize(self, private, command, args, stdin, stdout, : processx error, setup stdio: #2 The system cannot find the file specified. at 'win/processx.c:984' In addition: Warning messages: 1: In untar2(tarfile, files, list, exdir) : skipping pax global extended headers 2: In untar2(tarfile, files, list, exdir) : skipping pax global extended headers
該問題沒有很好解決,同事用RStudio下載是可以的,然後把下載到R下library裡的AnomalyDetection拷貝到我機器上對應目錄下
2.res = AnomalyDetectionTs(raw_data, max_anoms=0.02, direction='both', plot=TRUE)
異常如下:
Error: Column x is a date/time and must be stored as POSIXct, not POSIXlt
該問題已經有人解決了,並且提交了PR:https://github.com/twitter/AnomalyDetection/pull/92
所以重新下載了修復後的異常檢測程式碼:
devtools::install_github("caijun/AnomalyDetection")
另外在簡書上發現一個大神的帖子:https://www.jianshu.com/p/02ba9ce11656,從該大神其他帖子可以看出,是個機器學習擁躉。