Package: fastcpd 1.1.1

Xingchi Li

fastcpd: Fast Change Point Detection via Sequential Gradient Descent

Implements fast change point detection algorithm based on the paper "Sequential Gradient Descent and Quasi-Newton's Method for Change-Point Analysis" by Xianyang Zhang, Trisha Dawn <https://proceedings.mlr.press/v206/zhang23b.html>. The algorithm is based on dynamic programming with pruning and sequential gradient descent. See Li and Zhang (2026) <doi:10.18637/jss.v116.i06> for details.

Authors:Xingchi Li [aut, cre, cph], Xianyang Zhang [aut, cph]

fastcpd_1.1.1.tar.gz
fastcpd_1.1.1.zip(r-4.7)fastcpd_1.1.1.zip(r-4.6)fastcpd_1.1.1.zip(r-4.5)
fastcpd_1.1.1.tgz(r-4.6-x86_64)fastcpd_1.1.1.tgz(r-4.6-arm64)fastcpd_1.1.1.tgz(r-4.5-x86_64)fastcpd_1.1.1.tgz(r-4.5-arm64)
fastcpd_1.1.1.tar.gz(r-4.7-arm64)fastcpd_1.1.1.tar.gz(r-4.7-x86_64)fastcpd_1.1.1.tar.gz(r-4.6-arm64)fastcpd_1.1.1.tar.gz(r-4.6-x86_64)
fastcpd_1.0.5.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
fastcpd/json (API)

# Install 'fastcpd' in R:
install.packages('fastcpd', repos = c('https://doccstat.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/doccstat/fastcpd/issues

Uses libs:
  • openblas– Optimized BLAS
  • c++– GNU Standard C++ Library v3
  • openmp– GCC OpenMP (GOMP) support library
Datasets:
  • bitcoin - Bitcoin Market Price
  • occupancy - Occupancy Detection Data Set
  • transcriptome - Transcription Profiling of 57 Human Bladder Carcinoma Samples
  • uk_seatbelts - UK Seatbelts Data
  • well_log - Well-log Dataset from Numerical Bayesian Methods Applied to Signal Processing

On CRAN:

Conda:

change-point-detectioncppcustom-functiongradient-descentlassolinear-regressionlogistic-regressionofflinepeltpenalized-regressionpoisson-regressionpypi-packagepythonpython3quasi-newtonstatisticstime-serieswarm-startopenblascppopenmp

7.16 score 24 stars 29 scripts 819 downloads 49 exports 27 dependencies

Last updated from:9d3342cc93. Checks:12 OK, 1 FAIL. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-arm64OK471
linux-devel-x86_64OK459
source / vignettesOK852
linux-release-arm64OK499
linux-release-x86_64OK460
macos-release-arm64OK507
macos-release-x86_64OK830
macos-oldrel-arm64OK365
macos-oldrel-x86_64OK939
windows-develOK606
windows-releaseOK580
windows-oldrelOK616
wasm-releaseFAIL269

Exports:fastcpdfastcpd_arfastcpd_arimafastcpd_armafastcpd_binomialfastcpd_exponentialfastcpd_garchfastcpd_kcpfastcpd_lassofastcpd_lmfastcpd_meanfastcpd_meanvariancefastcpd_mvfastcpd_poissonfastcpd_quantilefastcpd_rankfastcpd_tsfastcpd_varfastcpd_variancefastcpd.arfastcpd.arimafastcpd.armafastcpd.binomialfastcpd.exponentialfastcpd.garchfastcpd.kcpfastcpd.lassofastcpd.lmfastcpd.meanfastcpd.meanvariancefastcpd.mvfastcpd.poissonfastcpd.quantilefastcpd.rankfastcpd.tsfastcpd.varfastcpd.varianceplotprintshowsummaryvariance_armavariance_lmvariance_meanvariance_medianvariance.armavariance.lmvariance.meanvariance.median

Dependencies:abseilbriocallrclicrayondescdiffobjevaluatefsgluejsonlitelifecyclemagrittrotelpkgbuildpkgloadpraiseprocessxpsR6RcppRcppArmadillorlangrprojroottestthatwaldowithr

Advanced examples
Vanilla percentage | Multiple epochs | Notes | Appendix: all code snippets

Last update: 2026-06-28
Started: 2023-12-20

Comparison with other R packages
Data setup | Univariate mean change | Univariate mean and/or variance change | Multivariate mean change | Multivariate mean and/or variance change | Linear regression | Logistic regression | Poisson regression | Lasso | AR(3) | GARCH(1, 1) | VAR(2) | Detection comparison using well_log | Time comparison using well_log | Notes | Related issues | Acknowledgements | Appendix: all code snippets

Last update: 2026-06-28
Started: 2023-12-20

Comparison with vanilla PELT
Setup | Logistic regression | Poisson regression | Penalized linear regression | Notes | Appendix: all code snippets

Last update: 2026-06-28
Started: 2023-12-20

Custom logistic regression model
Compiled (C++) custom cost functions | Notes | Appendix: all code snippets

Last update: 2026-06-28
Started: 2024-02-22

Exploration during development
Exploration of the QMLE method for ARMA models | Notes | Appendix: all code snippets

Last update: 2026-06-28
Started: 2025-03-09

Time Complexity Analysis in fastcpd
Introduction | Time Complexity Simulation for fastcpd.mean() | Impact of SeDG in fastcpd.lasso() | Notes | Appendix: all code snippets

Last update: 2026-06-28
Started: 2025-03-11

Readme and manuals

Help Manual

Help pageTopics
Bitcoin Market Price (USD)bitcoin
Find change points efficientlyfastcpd
Find change points efficiently in AR(p) modelsfastcpd.ar fastcpd_ar
Find change points efficiently in ARIMA(p, d, q) modelsfastcpd.arima fastcpd_arima
Find change points efficiently in ARMA(p, q) modelsfastcpd.arma fastcpd_arma
Find change points efficiently in logistic regression modelsfastcpd.binomial fastcpd_binomial
Find change points efficiently in exponentially distributed datafastcpd.exponential fastcpd_exponential
Wrapper functions for fastcpdfastcpd.family fastcpd_family
Find change points efficiently in GARCH(p, q) modelsfastcpd.garch fastcpd_garch
Find change points efficiently via kernel change point detectionfastcpd.kcp fastcpd_kcp
Find change points efficiently in penalized linear regression modelsfastcpd.lasso fastcpd_lasso
Find change points efficiently in linear regression modelsfastcpd.lm fastcpd_lm
Find change points efficiently in mean change modelsfastcpd.mean fastcpd_mean
Find change points efficiently in mean variance change modelsfastcpd.meanvariance fastcpd.mv fastcpd_meanvariance fastcpd_mv
Find change points efficiently in Poisson regression modelsfastcpd.poisson fastcpd_poisson
Find change points efficiently in quantile regression modelsfastcpd.quantile fastcpd_quantile
Find change points efficiently via rank-based change point detectionfastcpd.rank fastcpd_rank
Find change points efficiently in time series datafastcpd.ts fastcpd_ts
Find change points efficiently in VAR(p) modelsfastcpd.var fastcpd_var
Find change points efficiently in variance change modelsfastcpd.variance fastcpd_variance
An S4 class to store the output created with 'fastcpd()'fastcpd-class
Occupancy Detection Data Setoccupancy
Plot the data and the change points for a fastcpd objectplot,fastcpd,missing-method plot.fastcpd
Print the call and the change points for a fastcpd objectprint,fastcpd-method print.fastcpd
Show the available methods for a fastcpd objectshow,fastcpd-method show.fastcpd
Show the summary of a fastcpd objectsummary,fastcpd-method summary.fastcpd
Transcription Profiling of 57 Human Bladder Carcinoma Samplestranscriptome
UK Seatbelts Datauk_seatbelts
Variance estimation for ARMA model with change pointsvariance.arma variance_arma
Variance estimation for linear models with change pointsvariance.lm variance_lm
Variance estimation for mean change modelsvariance.mean variance_mean
Variance estimation for median change modelsvariance.median variance_median
Well-log Dataset from Numerical Bayesian Methods Applied to Signal Processingwell_log