# stepsel: Automatic selection of number of jumps In stepR: Multiscale Change-Point Inference

## Description

Select the number of jumps.

## Usage

 ``` 1 2 3 4 5 6 7 8 9 10``` ```stepsel(path, y, type = c("MRC", "AIC", "BIC"), ...) stepsel.MRC(path, y, q, alpha = 0.05, r = ceiling(50 / min(alpha, 1 - alpha)), lengths = if(attr(path\$cand, "family") == "gaussKern") 2^(floor(log2(length(y))):ceiling(log2(length(attr(path\$cand, "param")\$kern)))) else 2^(floor(log2(length(y))):0), penalty = c("none", "log", "sqrt"), name = if(attr(path\$cand, "family") == "gaussKern") ".MRC.ktable" else ".MRC.table", pos = .GlobalEnv) stepsel.AIC(path, ...) stepsel.BIC(path, ...) ```

## Arguments

 `path` an object of class `steppath` `y` for `type=MRC` only: a numeric vector containing the serial data `type` how to select, dispatches specific method `...` further argument passed to specific method `q, alpha, r, lengths, penalty, name, pos` see `bounds`

## Value

A single integer giving the number of blocks selected, with `attr`ibute `crit` containing the values of the criterion (MRC / AIC / BIC) for each fit in the path.

## Note

To obtain the threshold described in Boysen et al.~(2009, Theorem~5), set `q=(1+delta) * sdrobnorm(y) * sqrt(2*length(y))` for some positive `delta` and `penalty="none"`.

## References

Boysen, L., Kempe, A., Liebscher, V., Munk, A., Wittich, O. (2009) Consistencies and rates of convergence of jump-penalized least squares estimators. The Annals of Statistics 37(1), 157–183.

Yao, Y.-C. (1988) Estimating the number of change-points via Schwarz' criterion. Statistics & Probability Letters 6, 181–189.

`steppath`, `stepfit`, family, `stepbound`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23``` ```# simulate 5 blocks (4 jumps) within a total of 100 data points b <- c(sort(sample(1:99, 4)), 100) f <- rep(rnorm(5, 0, 4), c(b, diff(b))) rbind(b = b, f = unique(f)) # add gaussian noise y <- f + rnorm(100) # find 10 candidate jumps path <- steppath(y, max.cand = 10) # select number of jumps by simulated MRC with sqrt-penalty # thresholded with positive delta, and by BIC sel.MRC <- stepsel(path, y, "MRC", alpha = 0.05, r = 1e2, penalty = "sqrt") sel.MRC delta <- .1 sel.delta <- stepsel(path, y, "MRC", q = (1 + delta) * sdrobnorm(y) * sqrt(2 * length(y)), penalty = "none") sel.delta sel.BIC <- stepsel(path, type="BIC") sel.BIC # compare results with truth fit.MRC <- path[[sel.MRC]] as.data.frame(fit.MRC) as.data.frame(path[[sel.delta]]) as.data.frame(path[[sel.BIC]]) ```