select | R Documentation |
Selects a point along the regularization path of a fitted grpreg object according to the AIC, BIC, or GCV criteria.
select(obj, ...)
## S3 method for class 'grpreg'
select(
obj,
criterion = c("BIC", "AIC", "GCV", "AICc", "EBIC"),
df.method = c("default", "active"),
smooth = FALSE,
...
)
obj |
A fitted grpreg object. |
... |
For S3 method compatibility. |
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. |
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}
A list containing:
The selected value of the regularization parameter, lambda
.
The vector of coefficients at the chosen value of lambda
.
The effective number of model parameters at the chosen value of lambda
.
A vector of the calculated model selection criteria for each point on the regularization path.
grpreg()
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")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.