GetMle {offlineChange} | R Documentation |
Transform N dependent data into approximated independent data (N/window_size) x (L+1). Computes the estimated coefficients of each window of original data.
GetMle(y, window_size)
y |
The original data to find change points. |
window_size |
The number of observations each window contains. |
x |
The transformed data, which are the estimated coefficients of original data. |
J. Ding, Y. Xiang, L. Shen, and V. Tarokh, Multiple Change Point Analysis: Fast Implementation and Strong Consistency. IEEE Transactions on Signal Processing, vol. 65, no. 17, pp. 4495-4510, 2017.
N <- 1000 N1 <- floor(0.1*N) N2 <- floor(0.3*N) a1 <- c(0.8, -0.3); c1 <- 0 a2 <- c(-0.5, 0.1); c2 <- 0 a3 <- c(0.5, -0.5); c3 <- 0 y <- rep(0,N) L<-2 y[1:L] <- rnorm(L) for (n in (L+1):N){ if (n <= N1) { y[n] <- y[(n-1):(n-L)] %*% a1 + c1 + rnorm(1) } else if (n <= (N1+N2)) { y[n] <- y[(n-1):(n-L)] %*% a2 + c2 + rnorm(1) } else { y[n] <- y[(n-1):(n-L)] %*% a3 + c3 + rnorm(1) } } GetMle(y,window_size=100)