Parameter Estimation of High-dimensional Mediation Models Based on Alternating Direction Method of Multipliers (ADMM)
Our package is on CRAN now, you can use install.packages to install.
Also, you can install the latest developing version on GitHub via below command:
install.packages("remotes")
remotes::install_github("psyen0824/HDMAADMM")If you encounter a bug, please file a reproducible example on github.
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")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 valuesTest data is generated by modalityMediationDataGen with n=200000 and p=500.
The model is set to Elastic Net. RcppEigen + oneMKL version can be 7 times faster than Pure R version.
Unit: seconds
category mean neval ratio
Pure R 68.337 3 7.12
RcppEigen 18.383 3 1.91
RcppEigen + oneMKL 9.603 3 1This results are run on R-4.3.1 (Windows 11 Pro 22H2) with Intel i9-13900K.