Learn R Programming

rqPen (version 2.3)

rq.lasso.fit: Quantile Regression with LASSO penalty

Description

Fits a quantile regression model with the LASSO penalty. Algorithm is similar to LASSO code presented in Koenker and Mizera (2014).

Usage

rq.lasso.fit(x,y,tau=.5,lambda=NULL,weights=NULL,
             intercept=TRUE,coef.cutoff=.00000001,
             method="br", penVars=NULL,scalex=TRUE, ...)

Value

Returns the following:

coefficients

Coefficients from the penalized model.

PenRho

Penalized objective function value.

residuals

Residuals from the model.

rho

Objective function evaluation without the penalty.

tau

Conditional quantile being modelled.

n

Sample size.

Arguments

x

Matrix of predictors.

y

Vector of response values.

tau

Conditional quantile being modelled.

lambda

Tuning parameter.

weights

Weights for the objective function.

intercept

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

coef.cutoff

Coefficients below this value will be set to zero.

method

Use method "br" or "fn" as outlined in quantreg package. We have found "br" to be more stable for penalized regression problems.

penVars

Variables that should be penalized. With default value of NULL all variables are penalized.

scalex

If set to true the predictors will be scaled to have mean zero and standard deviation of one before fitting the model. The output returned will be on the original scale of the data.

...

Additional items to be sent to rq. Note this will have to be done carefully as rq is run on the augmented data to account for penalization and could provide strange results if this is not taken into account.

Author

Ben Sherwood

References

[1] Koenker, R. and Mizera, I. (2014). Convex optimization in R. Journal of Statistical Software, 60, 1--23.

[2] Tibshirani, R. (1996). Regression shrinkage and selection via the lasso. Journal of the Royal Statistical Society. Series B, 58, 267--288.

[3] Wu, Y. and Liu, Y. (2009). Variable selection in quantile regression. Statistica Sinica, 19, 801--817.

Examples

Run this code
x <- matrix(rnorm(800),nrow=100)
y <- 1 + x[,1] - 3*x[,5] + rnorm(100)
lassoModel <- rq.lasso.fit(x,y,lambda=1)

Run the code above in your browser using DataLab