Detect a change/changes in a vector using FFF 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

1
2
3
detectFFFMean(x, lambda = 0.95, alpha = 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).

lambda

The value for the forgetting factor. Default is lambda=0.95.

alpha

The value for the threshold. Default is alpha=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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 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_fff <- detectFFFMean(x, alpha=0.01, lambda=0.95, BL=50, multiple=TRUE)

# now only a single (the first) changepoint
list_fff2 <- detectFFFMean(x, alpha=0.01, lambda=0.95, BL=50, single=TRUE)

# now only a single (the first) changepoint, but with the prechange 
# mean and variance known
list_fff3 <- detectFFFMean(x, alpha=0.01, lambda=0.95, BL=50, single=TRUE,
                          prechangeMean=5, prechangeSigma=1)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.