Search for multiple changepoints in the mean using CUSUM

Share:

Description

Given a vector x, control parameters k and h, and a burn-in length BL, returns a list containing the changepoints. Algorithm is implemented in C++.

Usage

1
cpp_detectCUSUMMeanMultiple(x, k, h, BL)

Arguments

x

Vector of numeric values values.

k

control parameter for CUSUM

h

control parameter for CUSUM

BL

Value for the burn-in length.

Details

CUSUM updates via:

S_{j} = \max{0, S_{j-1} + (x_{j} - μ)/ σ - k}

where μ and σ are, respectively, the mean and variance of the in-control stream, x_j is the observation at time j and k is a control parameter for CUSUM. Then, a change is signalled if S_j > h, where h is the other control parameter. This is the formulation for using CUSUM to detect an increase in the mean; there is a similar formulation for detecting a decrease, and usually CUSUM is two-sided (monitors for an increase and a decrease in the mean).

Value

A list with

tauhat

A vector of the changepoints found.

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