Learn R Programming

rqPen (version 2.3)

groupMultLambda: Quantile Regression with Group Penalty for multiple lambdas

Description

Fit multiple models with L1 group penalty. QICD algorithm is using an adaptation of the algorithm presented by Peng and Wang (2015).

Usage

groupMultLambda(x, y, groups, tau = 0.5, lambda, intercept = TRUE, 
	penalty="LASSO", alg="QICD_warm",penGroups=NULL, ...)

Value

Returns a list of rq.group.pen objects. Each element of the list is a fit for a different value of lambda.

Arguments

x

Matrix of predictors.

y

Vector of response values.

groups

Vector assigning columns of x to groups.

tau

Conditional quantile being modelled.

lambda

Vector of lambdas. Default is for lambdas to be automatically generated.

intercept

Whether model should include an intercept. Constant does not need to be included in "x".

penalty

Type of penalty: "LASSO", "SCAD" or "MCP".

alg

"QICD" for QICD implementation. Otherwise linear programming approach is implemented.

penGroups

Specify which groups will be penalized. Default is to penalize all groups.

...

Additional parameters to be sent to rq.group.fit.

Author

Ben Sherwood

References

[1] Yuan, M. and Lin, Y. (2006). Model selection and estimation in regression with grouped variables. J. R. Statist. Soc. B, 68, 49-67.

[2] Peng, B. and Wang, L. (2015). An Iterative Coordinate Descent Algorithm for High-Dimensional Nonconvex Penalized Quantile Regression. Journal of Computational and Graphical Statistics, 24, 676-694.

Examples

Run this code
if (FALSE) {
x <- matrix(rnorm(400),nrow=100)
y <- 1 + x[,1] - 3*x[,3] + rnorm(100)
cv_model <- groupMultLambda(x,y,groups=c(rep(1,2),rep(2,2)),lambda=seq(.1,.5,.1))
}

Run the code above in your browser using DataLab