Learn R Programming

CptNonPar

Nonparametric change point detection for multivariate time series. Implements the NP-MOJO methodology proposed in McGonigle and Cho (2025).

Installation

You can install the released version of CptNonPar from CRAN with:

install.packages("CptNonPar")

You can install the development version of CptNonPar from GitHub with:

devtools::install_github("https://github.com/EuanMcGonigle/CptNonPar")

Usage

For further examples, see the help files within the package. We can generate an example for change point detection as follows.

We generate a univariate time series of length 1000, with a mean change at time 300, and an autocovariance (but not marginal) change at time 650. Then, we perform the multi-lag NP-MOJO algorithm with lags 0 and 1, and print the estimated change points and the associated clusters:

library(CptNonPar)

n <- 1000
set.seed(123)

noise1 <- stats::arima.sim(model = list(ar = -0.5), n = n, sd = sqrt(1 - 0.5^2))
noise2 <- stats::arima.sim(model = list(ar = 0.5), n = n, sd = sqrt(1 - 0.5^2))

noise <- c(noise1[1:650], noise2[651:n])

signal <- c(rep(0, 300), rep(0.7, 700))

x <- signal + noise

x.c <- np.mojo.multilag(x, G = 166, lags = c(0, 1))

x.c$cpts
#>      cpt lag score
#> [1,] 295   0  1.00
#> [2,] 648   1  0.99

x.c$cpt.clusters
#> [[1]]
#>      cpt lag score
#> [1,] 295   0     1
#> [2,] 296   1     1
#> 
#> [[2]]
#>      cpt lag score
#> [1,] 648   1  0.99

Copy Link

Version

Install

install.packages('CptNonPar')

Monthly Downloads

380

Version

0.3.2

License

GPL (>= 3)

Issues

Pull Requests

Stars

Forks

Maintainer

Euan T. McGonigle

Last Published

January 20th, 2026

Functions in CptNonPar (0.3.2)

np.mojo.multilag

Nonparametric Multiple Lag Change Point Detection
CptNonPar-package

CptNonPar: Nonparametric Change Point Detection for Multivariate Time Series
multilag.cpts.merge

Merge Change Point Estimators from Multiple Lags
multiscale.np.mojo

Multiscale Nonparametric Multiple Lag Change Point Detection
np.mojo

Nonparametric Single Lag Change Point Detection