projects
/
valse.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Adjustments for CRAN upload
[valse.git]
/
pkg
/
R
/
computeGridLambda.R
diff --git
a/pkg/R/computeGridLambda.R
b/pkg/R/computeGridLambda.R
index
4b68bcd
..
f4073d0
100644
(file)
--- a/
pkg/R/computeGridLambda.R
+++ b/
pkg/R/computeGridLambda.R
@@
-1,35
+1,39
@@
-#' computeGridLambda
+#' computeGridLambda
#'
#' Construct the data-driven grid for the regularization parameters used for the Lasso estimator
#'
#' @param phiInit value for phi
#'
#' Construct the data-driven grid for the regularization parameters used for the Lasso estimator
#'
#' @param phiInit value for phi
-#' @param rhoInit
\tvalue
for rho
-#' @param piInit
\tvalue
for pi
+#' @param rhoInit
for rho
+#' @param piInit
for pi
#' @param gamInit value for gamma
#' @param X matrix of covariates (of size n*p)
#' @param Y matrix of responses (of size n*m)
#' @param gamma power of weights in the penalty
#' @param mini minimum number of iterations in EM algorithm
#' @param maxi maximum number of iterations in EM algorithm
#' @param gamInit value for gamma
#' @param X matrix of covariates (of size n*p)
#' @param Y matrix of responses (of size n*m)
#' @param gamma power of weights in the penalty
#' @param mini minimum number of iterations in EM algorithm
#' @param maxi maximum number of iterations in EM algorithm
-#' @param tau threshold to stop EM algorithm
+#' @param eps threshold to stop EM algorithm
+#' @param fast boolean to enable or not the C function call
#'
#'
-#' @return the grid of regularization parameters
+#' @return the grid of regularization parameters for the Lasso estimator. The output is a vector with nonnegative values that are relevant
+#' to be considered as regularization parameter as they are equivalent to a 0 in the regression parameter.
#'
#' @export
#'
#' @export
-computeGridLambda <- function(phiInit, rhoInit, piInit, gamInit, X, Y, gamma, mini,
- maxi,
tau, fast = TRUE
)
-
{
+computeGridLambda <- function(phiInit, rhoInit, piInit, gamInit, X, Y, gamma, mini,
+ maxi,
eps, fast
)
+{
n <- nrow(X)
n <- nrow(X)
- p <- dim(phiInit)[1]
- m <- dim(phiInit)[2]
- k <- dim(phiInit)[3]
-
- list_EMG <- EMGLLF(phiInit, rhoInit, piInit, gamInit, mini, maxi, gamma, lambda = 0,
- X, Y, tau, fast)
+ p <- ncol(X)
+ m <- ncol(Y)
+ k <- length(piInit)
+
+ list_EMG <- EMGLLF(phiInit, rhoInit, piInit, gamInit, mini, maxi, gamma, lambda = 0,
+ X, Y, eps, fast)
+
grid <- array(0, dim = c(p, m, k))
grid <- array(0, dim = c(p, m, k))
- for (
i
in 1:p)
+ for (
j
in 1:p)
{
{
- for (j in 1:m) grid[i, j, ] <- abs(list_EMG$S[i, j, ])/(n * list_EMG$pi^gamma)
+ for (mm in 1:m)
+ grid[j, mm, ] <- abs(list_EMG$S[j, mm, ])/(n * list_EMG$pi^gamma)
}
sort(unique(grid))
}
}
sort(unique(grid))
}