Lasso: get the Maximal lambda

Description

Calculates the maximal value of the weight lambda of the L1 penalty term in a Lasso regression. For values >= this value, the null model will be obtained as the result of the penalized regression.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
lambdamax(x, ...)

## S3 method for class 'formula'
lambdamax(formula, nonpen = ~1, data,
  weights, subset, na.action, offset, coef.init,
  penscale = sqrt, model = LogReg(),
  center = NA, standardize = TRUE, contrasts = NULL,
  nlminb.opt = list(), ...)

## Default S3 method:
lambdamax(x, y, index, weights = NULL,
  offset = rep(0, length(y)), coef.init = rep(0, ncol(x)),
  penscale = sqrt, model = LogReg(),
  center = NA, standardize = TRUE,
  nlminb.opt = list(), ...)

Arguments

x

design matrix (including intercept)

y

response vector

formula

formula of the penalized variables. The response has to be on the left hand side of ~.

nonpen

formula of the nonpenalized variables. This will be added to the formula argument above and doesn't need to have the response on the left hand side.

data

data.frame containing the variables in the model.

index

vector which defines the grouping of the variables. Components sharing the same number build a group. Non-penalized coefficients are marked with NA.

weights

vector of observation weights.

subset

an optional vector specifying a subset of observations to be used in the fitting process.

na.action

a function which indicates what should happen when the data contain NAs.

offset

vector of offset values.

coef.init

initial parameter vector. Penalized groups are discarded.

penscale

rescaling function to adjust the value of the penalty parameter to the degrees of freedom of the parameter group. See the reference below.

model

an object of class lassoModel implementing the negative log-likelihood, gradient, hessian etc. See lassoModel for more details.

standardize, center

logical; see lasso.

contrasts

an (optional) list with the contrasts for the factors in the model.

nlminb.opt

arguments to be supplied to nlminb.

...

additional arguments to be passed to the functions defined in model.

Details

Uses nlminb to optimize the non-penalized parameters.

Value

Numerical value of the maximal lambda

Author(s)

Lukas Meier, Seminar f. Statistik, ETH Zurich

Examples

1
2
3
data(splice)
lambdamax(y ~ ., data = splice, model = LogReg(), center = TRUE,
          standardize = TRUE)