Fit a linear regression model the group LASSO penalty.

group.lasso(
  X,
  Y,
  grps = NULL,
  lambda = 0,
  thresh = 1e-05,
  maxit = 1e+05,
  learning.rate = 0.01,
  family = gaussian
)

# S4 method for matrix,numeric
group.lasso(
  X,
  Y,
  grps = NULL,
  lambda = 0,
  thresh = 1e-05,
  maxit = 1e+05,
  learning.rate = 0.01,
  family = gaussian
)

# S4 method for matrix,matrix
group.lasso(
  X,
  Y,
  grps = NULL,
  lambda = 0,
  thresh = 1e-05,
  maxit = 1e+05,
  learning.rate = 0.01,
  family = gaussian
)

Arguments

X

input matrix, of dimension (n x p) where n is the number of observations and p is the number of covariables. Each row is an observation vector.

Y

output matrix, of dimension (n x q) where n is the number of observations and q is the number of response variables. Each row is an observation vector.

grps

vector of integers or NA_integer_ of length p that encodes the grouping of variables, e.g., c(1, 1, 2, 2, NA)

lambda

numerical shrinkage parameter

thresh

numerical threshold for optimizer

maxit

maximum number of iterations for optimizer (integer)

learning.rate

step size for Adam optimizer (numerical)

family

family of response, e.g., gaussian or binomial

Value

An object of class edgenet

beta

the estimated (p x q)-dimensional coefficient matrix B.hat

alpha

the estimated (q x 1)-dimensional vector of intercepts

parameters

regularization parameters

lambda

regularization parameter lambda)

family

a description of the error distribution and link function to be used. Can be a netReg::family function or a character string naming a family function, e.g. gaussian or "gaussian".

call

the call that produced the object

References

Yuan, Ming and Lin, Yi (2006), Model selection and estimation in regression with grouped variables.
Journal of the Royal Statistical Society: Series B

Meier, Lukas and Van De Geer, Sara and Bühlmann, Peter (2008), The group lasso for logistic regression.
Journal of the Royal Statistical Society: Series B

Examples

X <- matrix(rnorm(100 * 10), 100, 5) b <- rnorm(5) grps <- c(NA_integer_, 1L, 1L, 2L, 2L) # estimate the parameters of a Gaussian model Y <- X %*% b + rnorm(100) fit <- group.lasso(X = X, Y = Y, grps = grps, family = gaussian, maxit = 10)