Description Usage Arguments Details Value References Examples
View source: R/GetDetectorScore_GetLabels.R
GetLabels
Calculates the start and end positions of each window that
are focused on the real anomalies. This windows can be used to know if the detected anomaly is a
true positive or not.
1 |
data |
All dataset with training and test datasets with at least |
data
must be a data.frame with timestamp
, value
, is.anomaly
and is.real.anomaly
columns. timestamp
column can be numeric, of type POSIXct, or a
character type date convertible to POSIXct. see GetWindowsLimits
to know more
about how to get start.limit
and end.limit
columns.
Same data set with two additional columns label
and first.tp
.
first.tp
indicates for each window Which is the position of first true positive.
label
indicates for each detection if it is a TP, FP, TN or FN.
A. Lavin and S. Ahmad, “Evaluating Real-time Anomaly Detection Algorithms – the Numenta Anomaly Benchmark,” in 14th International Conference on Machine Learning and Applications (IEEE ICMLA’15), 2015.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | ## Generate data
set.seed(100)
n <- 180
x <- sample(1:100, n, replace = TRUE)
x[70:90] <- sample(110:115, 21, replace = TRUE)
x[25] <- 200
x[150] <- 170
df <- data.frame(timestamp = 1:n, value = x)
# Add is.real.anomaly column
df$is.real.anomaly <- 0
df[c(25,80,150), "is.real.anomaly"] <- 1
## Calculate anomalies
result <- CpSdEwma(
data = df$value,
n.train = 5,
threshold = 0.01,
l = 3
)
res <- cbind(df, result)
# Get Window Limits
data <- GetWindowsLimits(res)
data[data$is.real.anomaly == 1,]
# Get labels
data <- GetLabels(data)
data[data$is.real.anomaly == 1 | data$is.anomaly == 1,]
# Plot results
PlotDetections(res, print.real.anomaly = TRUE, print.time.window = TRUE)
|
timestamp value is.real.anomaly is.anomaly lcl ucl start.limit
25 25 200 1 1 -29.382821 123.0267 22
80 80 112 1 0 -2.043244 182.1024 77
150 150 170 1 1 -40.191861 144.9320 147
end.limit
25 28
80 83
150 153
timestamp value is.real.anomaly is.anomaly lcl ucl start.limit
25 25 200 1 1 -29.382821 123.0267 22
80 80 112 1 0 -2.043244 182.1024 77
150 150 170 1 1 -40.191861 144.9320 147
end.limit first.tp label
25 28 25 tp
80 83 -1 fn
150 153 150 tp
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.