Description
ADMM for High-Dimensional Mediation Models.
Description
We use the Alternating Direction Method of Multipliers (ADMM) for parameter estimation in high-dimensional, single-modality mediation models. To improve the sensitivity and specificity of estimated mediation effects, we offer the sure independence screening (SIS) function for dimension reduction. The available penalty options include Lasso, Elastic Net, Pathway Lasso, and Network-constrained Penalty. The methods employed in the package are based on Boyd, S., Parikh, N., Chu, E., Peleato, B., & Eckstein, J. (2011). <doi:10.1561/2200000016>, Fan, J., & Lv, J. (2008) <doi:10.1111/j.1467-9868.2008.00674.x>, Li, C., & Li, H. (2008) <doi:10.1093/bioinformatics/btn081>, Tibshirani, R. (1996) <doi:10.1111/j.2517-6161.1996.tb02080.x>, Zhao, Y., & Luo, X. (2022) <doi:10.4310/21-sii673>, and Zou, H., & Hastie, T. (2005) <doi:10.1111/j.1467-9868.2005.00503.x>.
README.md
HDMAADMM
Parameter Estimation of High-dimensional Mediation Models Based on Alternating Direction Method of Multipliers (ADMM)
Installation
You can install:
- the latest development version from github with
install.packages("remotes")
remotes::install_github("psyen0824/HDMAADMM")
If you encounter a bug, please file a reproducible example on github.
If you would like to have oneMKL
support. Please use below commands to install:
install.packages(
c("oneMKL", "oneMKL.MatrixCal"),
repos=c("https://cloud.r-project.org/", "https://R-OneMKL.github.io/drat"),
type = "source"
)
remotes::install_github("psyen0824/HDMAADMM", ref = "oneMKL")
examples
simuData <- modalityMediationDataGen(seed = 20231201)
modelElasticNet <- singleModalityAdmm(
X = simuData$MediData$X, Y = simuData$MediData$Y, M1 = simuData$MediData$M1,
rho = 1, lambda1a = 1, lambda1b = 0.1, lambda1g = 2, lambda2a = 1, lambda2b = 1,
penalty = "ElasticNet"
)
fitted(modelElasticNet) # fitted values
predict(modelElasticNet, matrix(c(0, 1), ncol = 1)) # predict values