detectAFFMean: Detect a change/changes in a vector using AFF method

View source: R/detectAFFMeanCDR.R

detectAFFMeanR Documentation

Detect a change/changes in a vector using AFF method

Description

Given a vector x, use the fFF method to sequentially detect changes (or a single change) in the MEAN of the vector.

Usage

detectAFFMean(
  x,
  alpha = 0.01,
  eta = 0.01,
  BL = 50,
  multiple = TRUE,
  single = !multiple,
  usePrechange = FALSE,
  prechangeMean = NULL,
  prechangeSigma = NULL,
  prechangeVar = NULL,
  skipCheck = FALSE
)

Arguments

x

The vector (stream) in which to detect change(s).

alpha

The value for the threshold. Default is alpha=0.01.

eta

The value for of the step size in the gradient descent step. Results show that values of 0.1, 0.01, 0.001 all produce similar results. Default is eta=0.01.

BL

The burn-in length. Default is BL=50.

multiple

Boolean to use to decide whether to detect multiple changes or only a single change. Default is TRUE (i.e. detect multiple changes).

single

Boolean to use to decide whether to detect only a single change or multiple changes. Set to !multiple, i.e. default is FALSE. If both single and multiple are set to TRUE, then only a single change will be detected; if both set to FALSE then multiple changes will be detected (i.e. single dominates).

usePrechange

Boolean indicating whether prechange parameters (mean and variance) are known and will be used (or not). Default is FALSE. If TRUE, then prechange mean and standard deviation variance must be specified. See parameters prechangeMean, prechangeSigma and prechangeVar.

prechangeMean

Value to be used for the prechange mean. Default is NULL. If prechangeKnown = TRUE and value is NULL, this will result in an error.

prechangeSigma

Value to be used for the prechange standard deviation. Default is NULL. If prechangeKnown = TRUE and value is NULL, this will result in an error, unless prechangeVar is not NULL.

prechangeVar

Value to be used for the prechange variance. Default is NULL. If prechangeKnown = TRUE and value is NULL, this will result in an error, unless prechangeSigma is not NULL. prechangeVar is set to sqrt(prechangeSigma).

skipCheck

A boolean which allows the function to skip the check of the stream. Default is FALSE.

Value

A list with the following elements:

tauhat

A vector of the changepoints found.

Author

Dean Bodenham

References

D. A. Bodenham and N. M. Adams (2016) Continuous monitoring for changepoints in data streams using adaptive estimation. Statistics and Computing doi:10.1007/s11222-016-9684-8

Examples

# create a stream with three changepoints
set.seed(8)
x <- rnorm(400, 5, 1) + rep(c(0:3), each=100) # mean is 5 and s.d. is 1

# multiple changepoints
list_aff <- detectAFFMean(x, alpha=0.01, eta=0.01, BL=50, multiple=TRUE)

# now only a single (the first) changepoint
list_aff2 <- detectAFFMean(x, alpha=0.01, eta=0.01, BL=50, single=TRUE)

# now only a single (the first) changepoint, but with the prechange 
# mean and variance known
list_aff3 <- detectAFFMean(x, alpha=0.01, eta=0.01, single=TRUE, 
                           prechangeMean=5, prechangeSigma=1)




ffstream documentation built on May 31, 2023, 7:53 p.m.