ID_pcm function

Multiple change-point detection in the mean of a vector using the Isolate-Detect methodology

Multiple change-point detection in the mean of a vector using the Isolate-Detect methodology

This function estimates the number and locations of multiple change-points in the mean of the noisy piecewise-constant input vector x, using the Isolate-Detect methodology. The noise is Gaussian. The estimated signal, as well as the solution path defined in sol_path_pcm are also given. The function is a hybrid between the thresholding approach of win_pcm_th and the information criterion approach of pcm_ic and estimates the change-points taking into account both these approaches (see Details for more information and the relevant literature reference).

ID_pcm(x, thr_id = 1, th_ic_id = 0.9, pointsth = 3, pointsic = 10)

Arguments

  • x: A numeric vector containing the data in which you would like to find change-points.

  • thr_id: A positive real number with default value equal to 1. It is used to define the threshold, if the thresholding approach is to be followed; see pcm_th

    for more details.

  • th_ic_id: A positive real number with default value equal to 0.9. It is useful only if the model selection based Isolate-Detect method is to be followed. It is used to define the threshold value that will be used at the first step (change-point overestimation) of the model selection approach described in pcm_ic.

  • pointsth: A positive integer with default value equal to 3. It is used only when the threshold based approach is to be followed and it defines the distance between two consecutive end- or start-points of the right- or left-expanding intervals, respectively.

  • pointsic: A positive integer with default value equal to 10. It is used only when the information criterion based approach is to be followed and it defines the distance between two consecutive end- or start-points of the right- or left-expanding intervals, respectively.

Returns

A list with the following components:

cptA vector with the detected change-points.
no_cptThe number of change-points detected.
fitA numeric vector with the estimated piecewise-constant signal.
solution_pathA vector containing the solution path.

Details

Firstly, this function detects the change-points using win_pcm_th. If the estimated number of change-points is larger than 100, then the result is returned and we stop. Otherwise, ID_pcm proceeds to detect the change-points using pcm_ic and this is what is returned. To sum up, ID_pcm returns a result based on pcm_ic if the estimated number of change-points is less than 100. Otherwise, the result comes from thresholding. More details can be found in ``Detecting multiple generalized change-points by isolating single ones'', Anastasiou and Fryzlewicz (2018), preprint.

Examples

single.cpt <- c(rep(4,1000),rep(0,1000)) single.cpt.noise <- single.cpt + rnorm(2000) cpts_detect <- ID_pcm(single.cpt.noise) three.cpt <- c(rep(4,500),rep(0,500),rep(-4,500),rep(1,500)) three.cpt.noise <- three.cpt + rnorm(2000) cpts_detect_three <- ID_pcm(three.cpt.noise) multi.cpt <- rep(c(rep(0,50),rep(3,50)),20) multi.cpt.noise <- multi.cpt + rnorm(2000) cpts_detect_multi <- ID_pcm(multi.cpt.noise)

See Also

win_pcm_th and pcm_ic which are the functions that ID_pcm

is based on. In addition, see ID_cplm for the case of detecting changes in a continuous, piecewise-linear signal. The main function ID

of the package employs ID_pcm.

Author(s)

Andreas Anastasiou, a.anastasiou@lse.ac.uk

  • Maintainer: Andreas Anastasiou
  • License: GPL-3
  • Last published: 2018-03-09

Useful links