library(MASS)
library(relliptical)
library(SOPC)
SAPC_MSESigmaA <- c()
SAPC_MSESigmaD <- c()
SAPC_LSigmaA <- c()
SAPC_LSigmaD <- c()
p <- 10
m <- 5
n <- 2000
mu <- t(matrix(rep(runif(p, 0, 1000), n), p, n))
mu0 <- as.matrix(runif(m, 0))
sigma0 <- diag(runif(m, 1))
F <- matrix(mvrnorm(n, mu0, sigma0), nrow = n)
A <- matrix(runif(p * m, -1, 1), nrow = p)
lower <- c(rep(-0.5, p - 3), -5, -5, -Inf)
upper <- c(rep(0.5, p - 3), 5, 5, Inf)
Sigma <- diag(runif(p, 0, 1))
mut <- runif(p, 0, 10)
trnor <- rtelliptical(n, mut, Sigma, lower, upper, dist = "Normal")
epsilon <- matrix(trnor, nrow = n)
D <- Sigma
data <- mu + F %*% t(A) + epsilon
result <- SAPC_TFM(data, m = m, A = A, D = D, p = p)
SAPC_MSESigmaA <- result$MSESigmaA
SAPC_MSESigmaD <- result$MSESigmaD
SAPC_LSigmaA <- result$LSigmaA
SAPC_LSigmaD <- result$LSigmaD
data_K <- data.frame(
n = n,
MSEA = SAPC_MSESigmaA,
MSED = SAPC_MSESigmaD,
LSA = SAPC_LSigmaA,
LSD = SAPC_LSigmaD
)
print(data_K)
Run the code above in your browser using DataLab