model.sdll {breakfast} | R Documentation |
Estimating change-points in the piecewise-constant or piecewise-linear mean of a noisy data sequence via the Steepest Drop to Low Levels method
Description
This function estimates the number and locations of change-points in the piecewise-constant or piecewise-linear mean of a noisy data sequence via the Steepest Drop to Low Levels method.
Usage
model.sdll(
cptpath.object,
sigma = stats::mad(diff(cptpath.object$x)/sqrt(2)),
universal = TRUE,
th.const = NULL,
th.const.min.mult = 0.3,
lambda = 0.9
)
Arguments
cptpath.object |
A solution-path object, returned by a sol.[name] routine. The cptpath.object$type variable decides the model type: piecewise-constant (type == "const" ),
piecewise-linear and continuous (type == "lin.cont" ) or piecewise-linear and discontinuous (type == "lin.discont" ). In the piecewise-constant model, SDLL model selection should work well
when cptpath.object is an object returned by the sol.wbs2 routine. In the piecewise-linear model (whether continuous or not), the output of sol.idetect should be supplied as
cptpath.object . Note that the field cptpath.object$x contains the input data sequence.
|
sigma |
An estimate of the standard deviation of the noise in the data cptpath.object$x . Can be a functional of cptpath.object$x or a specific value if known.
The default in the piecewise-constant model is the Median Absolute Deviation of the vector diff(cptpath.object$x)/sqrt(2) , tuned to the Gaussian distribution.
In the piecewise-linear models, diff(cptpath.object$x, differences = 2)/sqrt(6) is used by default.
Note that model.sdll works particularly well when the noise is i.i.d. Gaussian.
|
universal |
If TRUE , then the threshold that decides if there are any change-points is chosen automatically, so that the probability of type-I error (i.e. indicating change-points if there are none)
is approximately 1 - alpha . If FALSE , then th.const must be specified.
|
th.const |
Only relevant if universal == FALSE ; in that case a numerical value must be provided. Used to create the threshold (applicable to the contrast magnitudes stored in cptpath.object )
that decides if there are any change-points in the mean vector; that threshold is then th.const * sqrt(2 * log(n)) * sigma , where n is the length of the data vector cptpath.object$x .
|
th.const.min.mult |
A fractional multiple of the threshold, used to decide the lowest magnitude of contrasts from cptpath.object still considered by the SDLL model selection criterion as potentially change-point-carrying.
|
lambda |
Only relevant if universal == TRUE ; can be set to 0.9 or 0.95. The approximate probability of not detecting any change-points if the truth does not contain any.
|
Details
The Steepest Drop to Low Levels method is described in
"Detecting possibly frequent change-points: Wild Binary Segmentation 2 and steepest-drop model selection", P. Fryzlewicz (2020), Journal of the Korean Statistical Society, 49, 1027–1070.
Value
An S3 object of class cptmodel
, which contains the following fields:
solution.path |
The solution path method used to obtain cptpath.object
|
type |
The model type used, inherited from the given cptpath.object
|
model.selection |
The model selection method used to return the final change-point estimators object, here its value is "sdll"
|
no.of.cpt |
The number of estimated change-points
|
cpts |
The locations of estimated change-points
|
est |
An estimate of the mean of the vector cptpath.object$x
|
References
P. Fryzlewicz (2020). Detecting possibly frequent change-points: Wild Binary Segmentation 2 and steepest-drop model selection. Journal of the Korean Statistical Society, 49, 1027–1070.
See Also
sol.idetect
, sol.idetect_seq
, sol.not
, sol.tguh
, sol.wbs
, sol.wbs2
, breakfast
Examples
f <- rep(rep(c(0, 1), each = 50), 10)
x <- f + rnorm(length(f))
model.sdll(sol.wbs2(x))
[Package
breakfast version 2.4
Index]