# Create innovation series with block-wise changing variances
n1 <- 200
n2 <- 500
n3 <- 300
n <- n1 + n2 + n3
innov1 <- c(rnorm(n1, 0, 1), rnorm(n2, 0, 3), rnorm(n3, 0, 5))
innov2 <- c(rnorm(n1, 0, 1), rnorm(n2, 0, 5), rnorm(n3, 0, 3))
innov3 <- c(rnorm(n1, 0, 5), rnorm(n2, 0, 3), rnorm(n3, 0, 1))
innov4 <- c(rnorm(n1, 0, 5), rnorm(n2, 0, 1), rnorm(n3, 0, 3))
# Generate the observations
vecx <- cbind(as.vector(arima.sim(n = n, list(ar = 0.8), innov = innov1)),
as.vector(arima.sim(n = n, list(ar = c(0.5, 0.1)), innov = innov2)),
as.vector(arima.sim(n = n, list(ma = -0.7), innov = innov3)),
as.vector(arima.sim(n = n, list(ar = 0.5, ma = -0.5), innov = innov4)))
# Vector to tensor
tenx <- t(vecx)
dim(tenx) <- c(2, 2, n)
# Run TNSS-TD-JD
res <- tNSS.TD.JD(tenx)
res$W
res <- tNSS.TD.JD(tenx, K = 6, lags = 0:6)
res$W
Run the code above in your browser using DataLab