glmpath {glmpath} | R Documentation |
Fits the entire L1 regularization path for generalized linear models
Description
This algorithm uses predictor-corrector method to compute the entire regularization path for generalized linear models with L1 penalty.
Usage
glmpath(x, y, data, nopenalty.subset = NULL, family = binomial,
weight = rep(1, n), offset = rep(0, n), lambda2 = 1e-5,
max.steps = 10 * min(n, m), max.norm = 100 * m,
min.lambda = (if (m >= n) 1e-6 else 0), max.vars = Inf,
max.arclength = Inf, frac.arclength = 1, add.newvars = 1,
bshoot.threshold = 0.1, relax.lambda = 1e-8,
standardize = TRUE, eps = .Machine$double.eps,
trace = FALSE)
Arguments
x |
matrix of features |
y |
response |
data |
a list consisting of |
nopenalty.subset |
a set of indices for the predictors that are not subject to the L1 penalty |
family |
name of a family function that represents the distribution of y to
be used in the model. It must be |
weight |
an optional vector of weights for observations |
offset |
an optional vector of offset. If a column of |
lambda2 |
regularization parameter for the L2 norm of the
coefficients. Default is |
max.steps |
an optional bound for the number of steps to be taken. Default is
|
max.norm |
an optional bound for the L1 norm of the coefficients. Default is
|
min.lambda |
an optional (lower) bound for the size of |
max.vars |
an optional bound for the number of active variables. Default is
|
max.arclength |
an optional bound for arc length (L1 norm) of a step. If
|
frac.arclength |
Under the default setting, the next step size is computed so that
the active set changes right at the next value of lambda. When
|
add.newvars |
|
bshoot.threshold |
If the absolute value of a coefficient is larger than
|
relax.lambda |
A variable joins the active set if |
standardize |
If |
eps |
an effective zero |
trace |
If |
Details
This algorithm implements the predictor-corrector method to determine the entire path of the coefficient estimates as the amount of regularization varies; it computes a series of solution sets, each time estimating the coefficients with less regularization, based on the previous estimate. The coefficients are estimated with no error at the knots, and the values are connected, thereby making the paths piecewise linear.
Value
A glmpath
object is returned.
lambda |
vector of |
lambda2 |
|
step.length |
vector of step lengths in |
corr |
matrix of |
new.df |
vector of degrees of freedom (to be used in the plot function) |
df |
vector of degrees of freedom at each step |
deviance |
vector of deviance computed at each step |
aic |
vector of AIC values |
bic |
vector of BIC values |
b.predictor |
matrix of coefficient estimates from the predictor steps |
b.corrector |
matrix of coefficient estimates from the corrector steps |
new.A |
vector of boolean values indicating the steps at which the active set changed (to be used in the plot/predict functions) |
actions |
actions taken at each step |
meanx |
means of the columns of x |
sdx |
standard deviations of the columns of x |
xnames |
column names of x |
family |
family used |
weight |
weights used |
offset |
offset used |
nopenalty.subset |
nopenalty.subset used |
standardize |
|
Author(s)
Mee Young Park and Trevor Hastie
References
Mee Young Park and Trevor Hastie (2007) L1 regularization path algorithm for generalized linear models. J. R. Statist. Soc. B, 69, 659-677.
See Also
cv.glmpath, plot.glmpath, predict.glmpath, summary.glmpath
Examples
data(heart.data)
attach(heart.data)
fit.a <- glmpath(x, y, family=binomial)
fit.b <- glmpath(x, y, family=gaussian)
detach(heart.data)