breakfast {breakfast}R Documentation

Methods for fast multiple change-point detection and estimation

Description

This function estimates the number and locations of change-points in a data sequence, which is modelled as a piecewise-constant function plus i.i.d. Gaussian noise. This is carried out via a two-stage procedure combining solution path generation and model selection methodologies.

Usage

breakfast(x, solution.path = NULL, model.selection = NULL)

Arguments

x

A numeric vector containing the data to be processed

solution.path

A string or a vector of strings containing the name(s) of solution path generating method(s); if individual methods are accessed via this option, default tuning parameters are used. Alternatively, you can directly access each solution path generating method via sol.[method], see below. If both solution.path and model.selection are unspecified, we return the output from the suggested combinations based on their performance, which are: ("idetect", "ic"), ("idetect_seq", "thresh"), ("not", "ic"), ("tguh", "lp"), ("wbs", "ic") and ("wbs2", "sdll"). If solution.path is specified but model.selection is not, we return the output from the specified solution.path methods combined with the suggested model selection methods (respectively) as above.

  • "idetect" IDetect, see sol.idetect

  • "idetect_seq" Sequential IDetect, see sol.idetect_seq

  • "not" Narrowest-Over-Threshold, see sol.not

  • "tguh" Tail-Greedy Unbalanced Haar, see sol.tguh

  • "wbs" Wild Binary Segmentation, see sol.wbs

  • "wbs2" Wild Binary Segmentation 2, see sol.wbs2

  • "all" All of the above

model.selection

A string or a vector of strings containing the name(s) of model selection method(s); if individual methods are accessed via this option, default tuning parameters are used. Alternatively, you can directly access each model selection method via model.[method], see below. If both solution.path and model.selection are unspecified, we return the output from the suggested combinations based on their performance, which are: ("idetect", "ic"), ("idetect_seq", "thresh"), ("not", "ic"), ("tguh", "lp"), ("wbs", "ic") and ("wbs2", "sdll"). If model.selection is specified but solution.path is not, we return the output from the specified model.selection methods combined with the suggested solution path methods (respectively) as above.

  • "ic" Strengthened Schwarz information criterion, see model.ic

  • "lp" Localised pruning, see model.lp

  • "sdll" Steepest Drop to Low Levels method, see model.sdll

  • "thresh" Thresholding, see model.thresh

  • "all" All of the above

Details

Please also take a look at the vignette for tips/suggestions/examples of using the breakfast package.

Value

An S3 object of class breakfast.cpts, which contains the following fields:

References

A. Anastasiou & P. Fryzlewicz (2019). Detecting multiple generalized change-points by isolating single ones. arXiv preprint arXiv:1901.10852.

R. Baranowski, Y. Chen & P. Fryzlewicz (2019). Narrowest-over-threshold detection of multiple change points and change-point-like features. Journal of the Royal Statistical Society: Series B, 81(3), 649–672.

H. Cho & C. Kirch (2021) Two-stage data segmentation permitting multiscale change points, heavy tails and dependence. arXiv preprint arXiv:1910.12486.

P. Fryzlewicz (2014). Wild binary segmentation for multiple change-point detection. The Annals of Statistics, 42(6), 2243–2281.

P. Fryzlewicz (2020). Detecting possibly frequent change-points: Wild Binary Segmentation 2 and steepest-drop model selection. To appear in Journal of the Korean Statistical Society.

P. Fryzlewicz (2018). Tail-greedy bottom-up data decompositions and fast multiple change-point detection. The Annals of Statistics, 46(6B), 3390–3421.

Examples

f <- rep(rep(c(0, 1), each = 50), 10)
x <- f + rnorm(length(f)) * .5
breakfast(x)

[Package breakfast version 2.2 Index]