Wraps changepoints::CV.search.DP.VAR1() (Wang, Yu, Rinaldo and
Willett): dynamic programming with an \(\ell_0\) penalty for changes in
the transition matrix of a vector autoregression, with the two tuning
parameters chosen by cross-validation. The change here is in the
dynamics — how the series predicts itself — not in the level, so it
is invisible to every mean-change engine in the package.
Arguments
- x
A numeric matrix or data frame, rows as time points.
- gamma_set
Candidate values of the \(\ell_0\) tuning parameter. Defaults to a small grid scaled by the series length.
- lambda_set
Candidate lasso penalties. Defaults to
c(0.01, 0.1, 1).- delta
Minimum spacing. Defaults to
max(5, floor(n / 20)).- ...
Additional arguments passed to the engine.
References
Wang D, Yu Y, Rinaldo A, Willett R (2019). “Localizing changes in high-dimensional vector autoregressive processes.” arXiv preprint arXiv:1909.06359. doi:10.48550/arXiv.1909.06359 .
See also
Other changepoint engines:
bcp_wrapper(),
beast_wrapper(),
bfast_wrapper(),
binsegrcpp_wrapper(),
bocpd_wrapper(),
cpm_wrapper(),
cpop_wrapper(),
cpt_wrapper(),
decafs_wrapper(),
ecp_wrapper(),
envcpt_wrapper(),
esac_wrapper(),
fabisearch_wrapper(),
fastcpd_wrapper(),
fcov_wrapper(),
fmean_wrapper(),
fpop_wrapper(),
geomcp_wrapper(),
hdcov_wrapper(),
hdreg_wrapper(),
idetect_wrapper(),
inspect_wrapper(),
kcp_wrapper(),
kwc_wrapper(),
mcp_wrapper(),
mosum_wrapper(),
network_wrapper(),
not_wrapper(),
npmojo_wrapper(),
nsp_wrapper(),
ocd_wrapper(),
pilliat_wrapper(),
segmented_wrapper(),
smuce_wrapper(),
sn_wrapper(),
strucchange_wrapper(),
taylor_wrapper(),
tguh_wrapper(),
trend_wrapper(),
wbs2_wrapper(),
wbs_wrapper(),
wbsts_wrapper()
Examples
# \donttest{
set.seed(2026)
p <- 3
step <- function(n, a) {
Y <- matrix(0, n, p)
for (i in 2:n) Y[i, ] <- a * Y[i - 1, ] + stats::rnorm(p)
Y
}
var_wrapper(rbind(step(50, 0.1), step(50, 0.8)),
gamma_set = c(1, 10), lambda_set = c(0.1, 1))
#> ggcpt (changepoint detection result)
#> Method: var
#> Change in: regression
#> Changepoints found: 1
#> CP convention: left
#> Penalty: l0 (CV)
#> Series length: 100
#>
#> Changepoints:
#> # A tibble: 1 × 2
#> cp cp_value
#> <int> <dbl>
#> 1 56 0.423
# }
