Select an value of lambda along a grpreg path
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. |
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. |
The criteria are defined as follows, where L is the deviance (i.e, -2 times the log-likelihood), df is the degrees of freedom, and n is the sample size:
AIC = L + 2*df
BIC = L + log(n)*df
GCV= L/((1-df/n)^2)
AICc = AIC + 2*df*(df+1)/(n-df-1)
EBIC = BIC + 2*log(p choose df)
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. |
Patrick Breheny
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")
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.