Online Time Series Anomaly Detectors
This package provides anomaly detectors in the context of online time series and their evaluation with the Numenta score.
CAD-OSE algorithm is implemented in Python. It uses bencode library in the hashing step. This dependency can be installed with the Python package manager pip.
$ sudo pip install bencode-python3
You can install the released version of otsad from CRAN with:
# Get the released version from CRAN
install.packages("otsad")
# Get the latest development version from GitHub
::install_github("alaineiturria/otsad") devtools
CpPewma
IpPewma
CpSdEwma
IpSdEwma
CpTsSdEwma
IpTsSdEwma
CpKnnCad(ncm.type = "ICAD")
IpKnnCad(ncm.type = "ICAD")
CpKnnCad(ncm.type = "LDCD")
IpKnnCad(ncm.type = "LDCD")
ContextualAnomalyDetector
NormalizeScore
+
GetNullAndPerfectScores
ReduceAnomalies
PlotDetections
NOTE: As usual in R, the documentation pages for each function can be loaded from the command line with the commands ? or help:
?CpSdEwmahelp(CpSdEwma)
This is a basic example of the use of otsad package:
library(otsad)
## basic example code
# Generate data
set.seed(100)
<- 500
n <- sample(1:100, n, replace = TRUE)
x 70:90] <- sample(110:115, 21, replace = TRUE) # distributional shift
x[25] <- 200 # abrupt transient anomaly
x[320] <- 170 # abrupt transient anomaly
x[<- data.frame(timestamp = 1:n, value = x)
df
# Apply classic processing SD-EWMA detector
<- CpSdEwma(data = df$value, n.train = 5, threshold = 0.01, l = 3) result
<- cbind(df, result)
res PlotDetections(res, title = "SD-EWMA ANOMALY DETECTOR", return.ggplot = TRUE)
See plotly interactive graph
For more details, see otsad documentation and vignettes.