win_cplm_th {IDetect} | R Documentation |
A windows-based approach for multiple change-point detection in a continuous, piecewise-linear signal via thresholding
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
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 |
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 |
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 |
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 |
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
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)