Classic Processing Shift-Detection based on EWMA (SD-EWMA).
Classic Processing Shift-Detection based on EWMA (SD-EWMA).
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)
Arguments
data: Numerical vector with training and test dataset.
n.train: Number of points of the dataset that correspond to the training set.
threshold: Error smoothing constant.
l: Control limit multiplier.
Returns
dataset conformed by the following columns:
is.anomaly: 1 if the value is anomalous 0, otherwise.
ucl: Upper control limit.
lcl: Lower control limit.
Details
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.
Examples
## Generate dataset.seed(100)n <-180x <- sample(1:100, n, replace =TRUE)x[70:90]<- sample(110:115,21, replace =TRUE)x[25]<-200x[150]<-170df <- data.frame(timestamp =1:n, value = x)## Calculate anomaliesresult <- CpSdEwma( data = df$value, n.train =5, threshold =0.01, l =3)res <- cbind(df, result)## Plot resultsPlotDetections(res, title ="KNN-CAD ANOMALY DETECTOR")
References
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.