Description Usage Arguments Value Author(s) References Examples
View source: R/cv.sparse.mediation.sgrplasso.R
Conduct K-fold cross validation for sparse mediation with group lasso with multiple tuning parameters
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | cv.sparse.mediation.sgrplasso(
X,
M,
Y,
tol = 10^(-5),
K = 5,
max.iter = 100,
lambda1 = exp(-5:0),
lambda2 = exp(seq(0, 0.5 * log(ncol(M)), length = 3)),
alpha = c(0.5, 0.95),
group.penalty.factor = c(1, rep(1, ncol(M))),
penalty.factor = c(1, rep(1, ncol(M) * 2)),
verbose = FALSE,
multicore = 1,
seednum = 1e+05,
non.zeros.stop = ncol(M)
)
|
X |
One-dimensional predictor |
M |
Multivariate mediator |
Y |
Outcome |
tol |
(default -10^(-10)) convergence criterion |
K |
(default=5) number of cross-validation folds |
max.iter |
(default=100) maximum iteration |
lambda1 |
(default=exp(-5:0)) tuning parameter for L1 penalization |
lambda2 |
(default=exp(-5:0)) tuning parameter for L1 penalization |
group.penalty.factor |
(default=c(0,rep(1,V))) give different weight of penalization for the V+1 mediation paths. |
penalty.factor |
(default=c(0,rep(1,2*V))) give different weight of penalization for the 2V mediation paths. |
multicore |
(default=1) number of multicore |
seednum |
(default=10000) seed number for cross validation |
cv.lambda: optimal lambda
cv.tau: optimal tau
cv.alpha: optimal tau
cv.mse: minimum MSE value
mse: Array of MSE, length(alpha) x length(lambda) x length (tau)
lambda: vector of lambda
tau: vector of tau used
alpha: vector of alpha used
z: cross-valication results
Seonjoo Lee, sl3670@cumc.columbia.edu
TBA
1 2 3 4 5 6 7 8 9 10 11 12 | N=200
V=50
set.seed(1234)
a = c(rep(1,3),rep(0,V-3))*5;b<-a
X = rnorm(N)
M = X %*% t(a)+ matrix(rnorm(N*V),N,V)
Y = as.vector(X + M %*% b + rnorm(N))
system.time(cvfit<-cv.sparse.mediation.sgrplasso(X, M, Y, K = 4,multicore = 4, seednum = 20200317))
cvfit$cv.lambda
fit<-sparse.mediation.grplasso(X,M,Y,lambda1 = cvfit$cv.lambda1,lambda2 = cvfit$cv.lambda2)
nonzerogroups = 1-as.numeric((fit$hata!=0)+(fit$hatb!=0) ==0)
refit<-sparse.mediation.grplasso(X,M[,nonzerogroups==1],Y,lambda = 0,lambda2 = cvfit$cv.lambda2)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.