# NOT RUN {
# A change point identification example with a change points at times 2 and 4
# Set parameters
p <- 30; n <- 10; TT <- 5
delta <- 0.85
m <- p+20; L <- 3; k0 <- 2; k1 <- 4; w <- 0.2
# Generate data
Gamma1 <- Gamma2 <- Gamma3 <- matrix(0, p, m * L)
y <- array(0, c(p, n, TT))
set.seed(928)
for (i in 1:p){
for (j in 1:p){
dij <- abs(i - j)
if (dij < (p * w)){
Gamma1[i, j] <- (dij + 1) ^ (-2)
Gamma2[i, j] <- (dij + 1 + delta) ^ (-2)
Gamma3[i, j] <- (dij + 1 + 2 * delta) ^ (-2)
}
}
}
Z <- matrix(rnorm(m * (TT + L - 1) * n), m * (TT + L - 1), n)
for (t in 1:k0){
y[, , t] <- Gamma1 %*% Z[((t - 1) * m + 1):((t + L - 1) * m), ]
}
for (t in (k0 + 1):k1){
y[, , t] <- Gamma2 %*% Z[((t - 1) * m + 1):((t + L - 1) * m), ]
}
for (t in (k1 + 1):TT){
y[, , t] <- Gamma3 %*% Z[((t - 1) * m + 1):((t + L - 1) * m), ]
}
cpi_covmat(y, n, p, TT, alpha = 0.01)
# }
Run the code above in your browser using DataLab