fix few things for the LLF
[valse.git] / pkg / R / computeGridLambda.R
CommitLineData
ffdf9447 1#' computeGridLambda
086ca318 2#'
d1531659 3#' Construct the data-driven grid for the regularization parameters used for the Lasso estimator
086ca318 4#'
d1531659 5#' @param phiInit value for phi
ca277ac5 6#' @param rhoInit for rho
7#' @param piInit for pi
d1531659 8#' @param gamInit value for gamma
e3f2fe8a 9#' @param X matrix of covariates (of size n*p)
10#' @param Y matrix of responses (of size n*m)
11#' @param gamma power of weights in the penalty
086ca318
BA
12#' @param mini minimum number of iterations in EM algorithm
13#' @param maxi maximum number of iterations in EM algorithm
14#' @param tau threshold to stop EM algorithm
15#'
d1531659 16#' @return the grid of regularization parameters
086ca318 17#'
d1531659 18#' @export
ffdf9447 19computeGridLambda <- function(phiInit, rhoInit, piInit, gamInit, X, Y, gamma, mini,
a3cbbaea 20 maxi, tau, fast)
1b698c16 21{
ffdf9447
BA
22 n <- nrow(X)
23 p <- dim(phiInit)[1]
24 m <- dim(phiInit)[2]
25 k <- dim(phiInit)[3]
1b698c16 26
ffdf9447
BA
27 list_EMG <- EMGLLF(phiInit, rhoInit, piInit, gamInit, mini, maxi, gamma, lambda = 0,
28 X, Y, tau, fast)
29 grid <- array(0, dim = c(p, m, k))
ca277ac5 30 for (j in 1:p)
ffdf9447 31 {
ca277ac5 32 for (mm in 1:m)
33 grid[j, mm, ] <- abs(list_EMG$S[j, mm, ])/(n * list_EMG$pi^gamma)
ffdf9447
BA
34 }
35 sort(unique(grid))
39046da6 36}