# win_cplm_th: A windows-based approach for multiple change-point detection... In IDetect: Isolate-Detect Methodology for Multiple Change-Point Detection

## Description

This function performs the windows-based variant of the Isolate-Detect methodology with the thresholding-based stopping rule in order to detect multiple change-points in a continuous, piecewise-linear noisy data sequence, with the noise being Gaussian. It is particularly helpful for very long data sequences, as due to applying Isolate-Detect on moving windows, the computational time is reduced. See Details for a brief explanation of this approach and for the relevant literature reference.

## Usage

 ```1 2``` ```win_cplm_th(xd, sigma = stats::mad(diff(diff(xd)))/sqrt(6), thr_con = 1.4, c_win = 3000, w_points = 3, l_win = 12000) ```

## Arguments

 `xd` A numeric vector containing the data in which you would like to find change-points. `sigma` A positive real number. It is the estimate of the standard deviation of the noise in `xd`. The default value is `mad(diff(diff(xd)))/sqrt(6)`, where `mad(xd)` denotes the median absolute deviation of `xd` computed under the assumption that the noise is independent and identically distributed from the Gaussian distribution. `thr_con` A positive real number with default value equal to 1.4. It is used to define the threshold. The change-points are estimated by thresholding with threshold equal to `sigma * thr_con * sqrt(2 * log(T))`, where `T` is the length of the data sequence `xd`. `c_win` A positive integer with default value equal to 3000. It is the length of each window for the data sequence in hand. Isolate-Detect will be applied in segments of the form `[(i-1) * c_win + 1, i * c_win]`, for i=1,2,...,K, where K depends on the length `T` of the data sequence. `w_points` A positive integer with default value equal to 3. It defines the distance between two consecutive end- or start-points of the right- or left-expanding intervals, respectively. `l_win` A positive integer with default value equal to 12000. If the length of the data sequence is less than or equal to `l_win`, then the windows-based approach will not be applied and the result will be obtained by the classical Isolate-Detect methodology based on thresholding.

## Details

The method that is implemented by this function is based on splitting the given data sequence uniformly into smaller parts (windows), to which Isolate-Detect, based on the thresholding stopping rule (see `cplm_th`), is then applied.

## Value

A numeric vector with the detected change-points.

## Author(s)

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

## See Also

`cplm_th`, which is the function that `win_cplm_th` is based on. Also, see `ID_cplm` and `ID`, which employ `win_cplm_th`. In addition, see `win_pcm_th` for the case of detecting changes in a piecewise-constant signal via thresholding.

## Examples

 ```1 2 3 4 5 6 7``` ```single.cpt <- c(seq(0, 999, 1), seq(998.5, 499, -0.5)) single.cpt.noise <- single.cpt + rnorm(2000) cpt.single.th <- win_cplm_th(single.cpt.noise) three.cpt <- c(seq(0, 3999, 1), seq(3998.5, 1999, -0.5), seq(2001,9999,2), seq(9998,5999,-1)) three.cpt.noise <- three.cpt + rnorm(16000) cpt.three.th <- win_cplm_th(three.cpt.noise) ```

IDetect documentation built on May 2, 2019, 11:04 a.m.