我遇到了AnomalyDetectionRs AnomalyDetectionTs函数的问题:
关注此帖:https://blog.twitter.com/2015/introducing-practical-and-robust-anomaly-detection-in-a-time-series
devtools::install_github("twitter/AnomalyDetection")
library(AnomalyDetection)
ts_sample = data.frame(count(my_timestamp, 'timestamp'))
anomalies = AnomalyDetectionTs(ts_sample,
max_anoms=0.02,
direction='both',
only_last='day',
plot=TRUE,
title = 'Twitter CDMX')
产生这个:
Error in if (data_sigma == 0) break :
missing value where TRUE/FALSE needed
我使用与官方文档中相同的数据格式,相同的数据类型,相同的数据框大小和相同的参数:
> str(raw_data)
'data.frame': 14398 obs. of 2 variables:
$ timestamp: POSIXlt, format: "1980-09-25 14:01:00" "1980-09-25 14:02:00" "1980-09-25 14:03:00" ...
$ count : num 182 176 184 178 165 ...
> str(ts_sample)
'data.frame': 14398 obs. of 2 variables:
$ timestamp: POSIXlt, format: "2015-12-10 16:15:00" "2016-01-18 22:58:00" "2016-07-29 05:41:00" ...
$ freq : num 11 4 1 6 1 5 3 5 4 5 ...
答案 0 :(得分:0)
问题是only_last='day'
不正确,only_last
需要设置为T(rue)或F(alse)。