np.mojo.multilag {CptNonPar} | R Documentation |
Nonparametric Multiple Lag Change Point Detection
Description
For a given set of lagged values of the time series, performs nonparametric change point detection of a possibly multivariate time series.
Usage
np.mojo.multilag(
x,
G,
lags = c(0, 1),
kernel.f = c("quad.exp", "gauss", "euclidean", "laplace", "sine")[1],
kern.par = 1,
data.driven.kern.par = TRUE,
threshold = c("bootstrap", "manual")[1],
threshold.val = NULL,
alpha = 0.1,
reps = 199,
boot.dep = 1.5 * (nrow(as.matrix(x))^(1/3)),
parallel = FALSE,
boot.method = c("mean.subtract", "no.mean.subtract")[1],
criterion = c("eta", "epsilon", "eta.and.epsilon")[3],
eta = 0.4,
epsilon = 0.02,
use.mean = FALSE,
eta.merge = 1,
merge.type = c("sequential", "bottom-up")[1]
)
Arguments
x |
Input data (a |
G |
An integer value for the moving sum bandwidth;
|
lags |
A |
kernel.f |
String indicating which kernel function to use when calculating the NP-MOJO detector statistics; with
|
kern.par |
The tuning parameter that appears in the expression for the kernel function, which acts as a scaling parameter. |
data.driven.kern.par |
A |
threshold |
String indicating how the threshold is computed. Possible values are
|
threshold.val |
The value of the threshold used to declare change points, only to be used if |
alpha |
a numeric value for the significance level with
|
reps |
An integer value for the number of bootstrap replications performed, if |
boot.dep |
A positive value for the strength of dependence in the multiplier bootstrap sequence, if |
parallel |
A |
boot.method |
A string indicating the method for creating bootstrap replications. It is not recommended to change this. Possible choices are
|
criterion |
String indicating how to determine whether each point
|
eta |
A positive numeric value for the minimal mutual distance of
changes, relative to bandwidth (if |
epsilon |
a numeric value in (0,1] for the minimal size of exceeding
environments, relative to moving sum bandwidth (if |
use.mean |
|
eta.merge |
A positive numeric value for the minimal mutual distance of changes, relative to bandwidth, used to merge change point estimators across different lags. |
merge.type |
String indicating the method used to merge change point estimators from different lags. Possible choices are
|
Details
The multi-lag NP-MOJO algorithm for nonparametric change point detection is described in McGonigle, E. T. and Cho, H. (2023) Nonparametric data segmentation in multivariate time series via joint characteristic functions. arXiv preprint arXiv:2305.07581.
Value
A list
object that contains the following fields:
G |
Moving window bandwidth |
lags |
Lags used to detect changes |
kernel.f , data.driven.kern.par , use.mean |
Input parameters |
threshold , alpha , reps , boot.dep , boot.method , parallel |
Input parameters |
criterion , eta , epsilon |
Input parameters |
cpts |
A matrix with rows corresponding to final change point estimators, with estimated change point location and associated lag and p-value given in columns. |
cpt.clusters |
A |
References
McGonigle, E.T., Cho, H. (2023). Nonparametric data segmentation in multivariate time series via joint characteristic functions. arXiv preprint arXiv:2305.07581.
Fan, Y., de Micheaux, P.L., Penev, S. and Salopek, D. (2017). Multivariate nonparametric test of independence. Journal of Multivariate Analysis, 153, pp.189-210.
Messer M., Kirchner M., Schiemann J., Roeper J., Neininger R., Schneider G. (2014). A Multiple Filter Test for the Detection of Rate Changes in Renewal Processes with Varying Variance. The Annals of Applied Statistics, 8(4), 2027-2067.
See Also
Examples
set.seed(1)
n <- 500
noise <- c(rep(1, 300), rep(0.4, 200)) * stats::arima.sim(model = list(ar = 0.3), n = n)
signal <- c(rep(0, 100), rep(2, 400))
x <- signal + noise
x.c <- np.mojo.multilag(x, G = 83, lags = c(0, 1))
x.c$cpts
x.c$cpt.clusters