opt.multiFSSEMiPALM2 | R Documentation |
optimize multiFSSEMiPALM's parameters by minimize BIC, when feature size is large (> 300), BIC methods will be much faster than Cross-validation
opt.multiFSSEMiPALM2( Xs, Ys, Bs, Fs, Sk, sigma2, nlambda = 20, nrho = 20, p, q, wt = TRUE )
Xs |
eQTL matrices |
Ys |
Gene expression matrices |
Bs |
initialized GRN-matrices |
Fs |
initialized eQTL effect matrices |
Sk |
eQTL index of genes |
sigma2 |
initialized noise variance |
nlambda |
number of hyper-parameter of lasso term in CV |
nrho |
number of hyper-parameter of fused-lasso term in CV |
p |
number of genes |
q |
number of eQTLs |
wt |
use adaptive lasso or not. Default TRUE. |
list of model selection result
seed = 1234 N = 100 # sample size Ng = 5 # gene number Nk = 5 * 3 # eQTL number Ns = 1 # sparse ratio sigma2 = 0.01 # sigma2 set.seed(seed) library(fssemR) data = randomFSSEMdata(n = N, p = Ng, k = Nk, sparse = Ns, df = 0.3, sigma2 = sigma2, u = 5, type = "DG", nhub = 1, dag = TRUE) ## If we assume that different condition has different genetics perturbations (eQTLs) data$Data$X = list(data$Data$X, data$Data$X) ## gamma = cv.multiRegression(data$Data$X, data$Data$Y, data$Data$Sk, ngamma = 20, nfold = 5, ## N, Ng, Nk) gamma = 0.6784248 ## optimal gamma computed by cv.multiRegression fit = multiRegression(data$Data$X, data$Data$Y, data$Data$Sk, gamma, N, Ng, Nk, trans = FALSE) Xs = data$Data$X Ys = data$Data$Y Sk = data$Data$Sk fitm <- opt.multiFSSEMiPALM2(Xs = Xs, Ys = Ys, Bs = fit$Bs, Fs = fit$Fs, Sk = Sk, sigma2 = fit$sigma2, nlambda = 10, nrho = 10, p = Ng, q = Nk, wt = TRUE) fitc0 <- fitm$fit (TPR(fitc0$Bs[[1]], data$Vars$B[[1]]) + TPR(fitc0$Bs[[2]], data$Vars$B[[2]])) / 2 (FDR(fitc0$Bs[[1]], data$Vars$B[[1]]) + FDR(fitc0$Bs[[2]], data$Vars$B[[2]])) / 2 TPR(fitc0$Bs[[1]] - fitc0$Bs[[2]], data$Vars$B[[1]] - data$Vars$B[[2]]) FDR(fitc0$Bs[[1]] - fitc0$Bs[[2]], data$Vars$B[[1]] - data$Vars$B[[2]])
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.