Last chance! 50% off unlimited learning
Sale ends in
CpSdEwma
calculates the anomalies of a dataset using
classical processing based on the SD-EWMA algorithm. This algorithm is a
novel method for covariate shift-detection tests based on a two-stage
structure for univariate time-series. It works in an online mode and it uses
an exponentially weighted moving average (EWMA) model based control chart to
detect the covariate shift-point in non-stationary time-series. See also
OcpSdEwma
, the optimized and faster function of this function.
CpSdEwma(data, n.train, threshold = 0.01, l = 3)
Numerical vector with training and test dataset.
Number of points of the dataset that correspond to the training set.
Error smoothing constant.
Control limit multiplier.
dataset conformed by the following columns:
1 if the value is anomalous 0, otherwise.
Upper control limit.
Lower control limit.
data
must be a numerical vector without NA values.
threshold
must be a numeric value between 0 and 1.
It is recommended to use low values such as 0.01 or 0.05. By default, 0.01 is
used. Finally, l
is the parameter that determines the control limits.
By default, 3 is used.
Raza, H., Prasad, G., & Li, Y. (03 de 2015). EWMA model based shift-detection methods for detecting covariate shifts in non-stationary environments. Pattern Recognition, 48(3), 659-669.
# NOT RUN {
## 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)
## Calculate anomalies
result <- CpSdEwma(
data = df$value,
n.train = 5,
threshold = 0.01,
l = 3
)
res <- cbind(df, result)
## Plot results
PlotDetections(res, title = "KNN-CAD ANOMALY DETECTOR")
# }
Run the code above in your browser using DataLab