cpU  R Documentation 
Nonparametric CUSUM tests for changepoint detection particularly sensitive to changes in certain quantities that can be estimated using onesample Ustatistics of order one or two. So far, the quantities under consideration are the expectation (thus corresponding to the standard CUSUM test based on the sample mean), the variance, Gini's mean difference, the autocovariance at a specified lag, the covariance for bivariate data and Kendall's tau for multivariate data. The observations can be serially independent or dependent (strongly mixing). Approximate pvalues for the test statistic are obtained by means of a multiplier approach or by estimating the asymptotic null distribution. Details can be found in the first reference.
cpMean(x, method = c("nonseq", "seq", "asym.var"), b = NULL, weights = c("parzen", "bartlett"), N = 1000, init.seq = NULL, include.replicates = FALSE) cpVar(x, method = c("nonseq", "seq", "asym.var"), b = NULL, weights = c("parzen", "bartlett"), N = 1000, init.seq = NULL, include.replicates = FALSE) cpGini(x, method = c("nonseq", "seq", "asym.var"), b = NULL, weights = c("parzen", "bartlett"), N = 1000, init.seq = NULL, include.replicates = FALSE) cpAutocov(x, lag = 1, method = c("nonseq", "seq", "asym.var"), b = NULL, weights = c("parzen", "bartlett"), N = 1000, init.seq = NULL, include.replicates = FALSE) cpCov(x, method = c("nonseq", "seq", "asym.var"), b = NULL, weights = c("parzen", "bartlett"), N = 1000, init.seq = NULL, include.replicates = FALSE) cpTau(x, method = c("seq", "nonseq", "asym.var"), b = NULL, weights = c("parzen", "bartlett"), N = 1000, init.seq = NULL, include.replicates = FALSE)
x 
a numeric vector or a data matrix containing continuous observations. 
lag 
an integer specifying at which lag to consider the autocovariance. 
method 
a string specifying the method for computing the
approximate pvalue for the test statistic; can be either

b 
strictly positive integer specifying the value of the
bandwidth parameter determining the serial dependence when
generating dependent multiplier sequences using the 'moving average
approach'; see Section 5 of the second reference. The value 1
will create i.i.d. multiplier
sequences suitable for serially independent observations. If set to

weights 
a string specifying the kernel for creating the weights used in the generation of dependent multiplier sequences within the 'moving average approach'; see Section 5 of the second reference. 
N 
number of multiplier replications. 
init.seq 
a sequence of independent standard normal variates of
length 
include.replicates 
a logical specifying whether the
object of 
When method
is either "seq"
or "nonseq"
,
the approximate pvalue is computed as
(0.5 + sum(S[i] >= S, i=1, .., N)) / (N+1),
where S and S[i] denote the test statistic and a multiplier replication, respectively. This ensures that the approximate pvalue is a number strictly between 0 and 1, which is sometimes necessary for further treatments.
When method = "asym.var"
, the approximate pvalue is computed
from the estimated asymptotic null distribution, which involves the
Kolmogorov distribution. The latter is dealt with reusing code from
the ks.test()
function; credit to RCore.
An object of class
htest
which is a list,
some of the components of which are
statistic 
value of the test statistic. 
p.value 
corresponding approximate pvalue. 
u 
the values of the 
b 
the value of parameter 
A. Bücher and I. Kojadinovic (2016), Dependent multiplier bootstraps for nondegenerate Ustatistics under mixing conditions with applications, Journal of Statistical Planning and Inference 170, pages 83105, https://arxiv.org/abs/1412.5875.
A. Bücher and I. Kojadinovic (2016), A dependent multiplier bootstrap for the sequential empirical copula process under strong mixing, Bernoulli 22:2, pages 927968, https://arxiv.org/abs/1306.3930.
cpDist()
for a related test based on the multivariate
empirical d.f., cpCopula()
for a related test based on
the empirical copula, cpAutocop()
for a related test based on
the empirical autocopula, cpRho()
for a related test based on
Spearman's rho, bOpt()
for the function used to
estimate b
from x
if b = NULL
and
seqOpenEndCpMean
for related sequential tests that can be used
for online monitoring.
## The standard CUSUM test based on the sample mean cp < cpMean(c(rnorm(50), rnorm(50, mean=1)), b=1) cp ## Estimated changepoint which(cp$statistics == cp$statistic) ## Testing for changes in the autocovariance n < 200 k < n/2 ## the true changepoint x < c(arima.sim(list(ar = 0.5), n = k), arima.sim(list(ar = 0.5), n = n  k)) cp < cpAutocov(x) cp ## Estimated changepoint which(cp$u == cp$statistic) ## Another example x < c(arima.sim(list(ar = c(0,0.5)), n = k), arima.sim(list(ar = c(0,0.5)), n = n  k)) cpAutocov(x) cp < cpAutocov(x, lag = 2) cp ## Estimated changepoint which(cp$u == cp$statistic) ## Not run: ## Testing for changes in Kendall's tau require(copula) n < 100 k < 50 ## the true changepoint u < rCopula(k,gumbelCopula(1.5)) v < rCopula(nk,gumbelCopula(3)) x < rbind(u,v) cp < cpTau(x) cp ## Estimated changepoint which(cp$u == cp$statistic) ## Testing for changes in the covariance cp < cpCov(x) cp ## Estimated changepoint which(cp$u == cp$statistic) ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.