select.grpreg {grpreg} | R Documentation |
Select an value of lambda along a grpreg path
Description
Selects a point along the regularization path of a fitted grpreg object according to the AIC, BIC, or GCV criteria.
Usage
select(obj,...)
## S3 method for class 'grpreg'
select(obj, criterion=c("BIC", "AIC", "GCV", "AICc",
"EBIC"), df.method=c("default","active"), smooth=FALSE, ...)
Arguments
obj |
A fitted grpreg object. |
criterion |
The criterion by which to select the regularization
parameter. One of |
df.method |
How should effective model parameters be calculated?
One of: |
smooth |
Applies a smoother to the information criteria before selecting the optimal value. |
... |
For S3 method compatibility. |
Details
The criteria are defined as follows, where L
is the deviance
(i.e, -2 times the log-likelihood), \nu
is the degrees of
freedom, and n
is the sample size:
AIC = L + 2\nu
BIC = L + \log(n)\nu
GCV = \frac{L}{(1-\nu/n)^2}
AICc = AIC + 2\frac{\nu(\nu+1)}{n-\nu-1}
EBIC = BIC + 2 \log{p \choose \nu}
Value
A list containing:
lambda |
The selected value of the regularization parameter,
|
beta |
The vector of coefficients at the chosen value of
|
df |
The effective number of model parameters at the chosen value
of |
IC |
A vector of the calculated model selection criteria for each point on the regularization path. |
Author(s)
Patrick Breheny
See Also
grpreg
Examples
data(Birthwt)
X <- Birthwt$X
y <- Birthwt$bwt
group <- Birthwt$group
fit <- grpreg(X, y, group, penalty="grLasso")
select(fit)
select(fit,crit="AIC",df="active")
plot(fit)
abline(v=select(fit)$lambda)
par(mfrow=c(1,3))
l <- fit$lambda
xlim <- rev(range(l))
plot(l, select(fit)$IC, xlim=xlim, pch=19, type="o", ylab="BIC")
plot(l, select(fit,"AIC")$IC, xlim=xlim, pch=19, type="o",ylab="AIC")
plot(l, select(fit,"GCV")$IC, xlim=xlim, pch=19, type="o",ylab="GCV")