fastcpd_meanvariance | R Documentation |
fastcpd_meanvariance()
, fastcpd.meanvariance()
,
fastcpd_mv()
, fastcpd.mv()
are wrapper
functions of fastcpd()
to find the meanvariance change. The
function is similar to fastcpd()
except that the data is by
default a matrix or data frame or a vector with each row / element as an
observation and thus a formula is not required here.
fastcpd_meanvariance(data, ...)
fastcpd.meanvariance(data, ...)
fastcpd_mv(data, ...)
fastcpd.mv(data, ...)
data |
A matrix, a data frame or a vector. |
... |
Other arguments passed to |
A fastcpd object.
fastcpd()
set.seed(1)
data <- c(
rnorm(3000, 0, 1),
rnorm(1000, 10, 1),
rnorm(3000, 10, 20),
rnorm(1000, 0, 1)
)
system.time(result <- fastcpd.mv(data))
summary(result)
plot(result)
set.seed(1)
p <- 3
data <- if (requireNamespace("mvtnorm", quietly = TRUE)) {
rbind(
mvtnorm::rmvnorm(2e+5, mean = rep(0, p), sigma = diag(1, p)),
mvtnorm::rmvnorm(1e+5, mean = rep(50, p), sigma = diag(1, p)),
mvtnorm::rmvnorm(2e+5, mean = rep(0, p), sigma = diag(100, p)),
mvtnorm::rmvnorm(2e+5, mean = rep(0, p), sigma = diag(1, p)),
mvtnorm::rmvnorm(1e+5, mean = rep(50, p), sigma = diag(1, p)),
mvtnorm::rmvnorm(2e+5, mean = rep(50, p), sigma = diag(100, p))
)
} else {
rbind(
matrix(rnorm(p * 2e+5, mean = 0, sd = 1), ncol = p),
matrix(rnorm(p * 1e+5, mean = 50, sd = 1), ncol = p),
matrix(rnorm(p * 2e+5, mean = 0, sd = 10), ncol = p),
matrix(rnorm(p * 2e+5, mean = 0, sd = 1), ncol = p),
matrix(rnorm(p * 1e+5, mean = 50, sd = 1), ncol = p),
matrix(rnorm(p * 2e+5, mean = 50, sd = 10), ncol = p)
)
}
system.time(result <- fastcpd.mv(data))
summary(result)
result@thetas[seq_len(p), ]
lapply(result@thetas[seq_len(p^2) + p, ], function(thetas) matrix(thetas, p))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.