cv.sparse.mediation.sgrplasso: Conduct K-fold cross validation for sparse mediation with...

Description Usage Arguments Value Author(s) References Examples

View source: R/cv.sparse.mediation.sgrplasso.R

Description

Conduct K-fold cross validation for sparse mediation with group lasso with multiple tuning parameters

Usage

 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)
)

Arguments

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

Value

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

Author(s)

Seonjoo Lee, sl3670@cumc.columbia.edu

References

TBA

Examples

 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)

seonjoo/smm documentation built on Feb. 11, 2021, 5:54 a.m.