anomaly (version 2.0.1)

capa.mv: Detection of multivariate anomalous segments and points using MVCAPA.

Description

This function implements MVCAPA (Multi-Variate Collective And Point Anomaly) from Fisch et al. (2019). It detects potentially lagged collective anomalies as well as point anomalies in multivariate time series data. The runtime of MVCAPA scales linearly (up to logarithmic factors) in ncol(x) and maxlag. If max_seg_len is not set, the runtime scales quadratically at worst and linearly at best in nrow(x). If max_seg_len is set the runtime scales like nrow(x)*max_seg_len.

Usage

capa.mv(x, beta = NULL, beta_tilde = NULL, type = "meanvar",
  min_seg_len = 10, max_seg_len = Inf, max_lag = 0,
  transform = robustscale)

Arguments

x

A numeric matrix with n rows and p columns containing the data which is to be inspected.

beta

A numeric vector of length p, giving the marginal penalties. If type ="meanvar" or if type = "mean" and maxlag > 0 it defaults to the penalty regime 2' described in Fisch, Eckley and Fearnhead (2019). If type = "mean" and maxlag = 0 it defaults to the pointwise minimum of the penalty regimes 1, 2, and 3 in Fisch, Eckley and Fearnhead (2019).

beta_tilde

A numeric constant indicating the penalty for adding an additional point anomaly. It defaults to a BIC style penalty if no argument is provided.

type

A string indicating which type of deviations from the baseline are considered. Can be "meanvar" for collective anomalies characterised by joint changes in mean and variance (the default) or "mean" for collective anomalies characterised by changes in mean only.

min_seg_len

An integer indicating the minimum length of epidemic changes. It must be at least 2 and defaults to 10.

max_seg_len

An integer indicating the maximum length of epidemic changes. It must be at least the min_seg_len and defaults to Inf.

max_lag

A non-negative integer indicating the maximum start or end lag. Default value is 0.

transform

A function used to transform the data prior to analysis by capa.mv. This can, for example, be used to compensate for the effects of autocorrelation in the data. Importantly, the untransformed data remains available for post processing results obtained using capa.mv. The package includes several methods that are commonly used for the transform, (see robustscale and ac_corrected), but a user defined function can be specified. The default value is transform=robust_scale.

Value

An S4 class of type capa.mv.class.

References

2019MVCAPAanomaly

Examples

Run this code
# NOT RUN {
library(anomaly)
# generate some multivariate data
set.seed(0)
sim.data<-simulate(n=500,p=200,mu=2,locations=c(100,200,300),
                   duration=6,proportions=c(0.04,0.06,0.08))
res<-capa.mv(sim.data,type="mean",min_seg_len=2,max_lag=5)
collective_anomalies(res)

# }

Run the code above in your browser using DataLab