View source: R/Finalised_coding.R
| wind_plm_th | R Documentation |
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 the slope of a given data sequence. It is particularly helpful for very long data sequences, as due to applying Isolate-Detect on moving windows, it reduces the computational time (see Details for the relevant literature reference).
wind_plm_th(
xd,
sigma = stats::mad(diff(diff(xd)))/sqrt(6),
thr_con = 1.4,
c_win = 3000,
w_points = 3,
l_win = 12000
)
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 |
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 is then applied.
A numeric vector with the detected change-points.
Andreas Anastasiou, anastasiou.andreas@ucy.ac.cy
plm_th, which is the function that wind_plm_th is based on. Also,
see ID_plm and ID, which employ wind_plm_th. In addition,
see wind_pcm_th for the case of detecting changes in the mean of a
piecewise-constant signal via thresholding.
single.cpt <- c(seq(0, 999, 1), seq(998.5, 499, -0.5))
single.cpt.noise <- single.cpt + rnorm(2000)
cpt.single.th <- wind_plm_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 <- wind_plm_th(three.cpt.noise)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.