rq.fit.lasso: Lasso Penalized Quantile Regression

Description Usage Arguments Value Author(s) References See Also Examples

Description

The fitting method implements the lasso penalty of Tibshirani for fitting quantile regression models. When the argument lambda is a scalar the penalty function is the l1 norm of the last (p-1) coefficients, under the presumption that the first coefficient is an intercept parameter that should not be subject to the penalty. When lambda is a vector it should have length equal the column dimension of the matrix x and then defines a coordinatewise specific vector of lasso penalty parameters. In this case lambda entries of zero indicate covariates that are not penalized. There should be a sparse version of this, but isn't (yet).

Usage

1
rq.fit.lasso(x, y, tau = 0.5, lambda = 1, beta = .9995, eps = 1e-06)

Arguments

x

the design matrix

y

the response variable

tau

the quantile desired, defaults to 0.5.

lambda

the value of the penalty parameter(s) that determine how much shrinkage is done. This should be either a scalar, or a vector of length equal to the column dimension of the x matrix.

beta

step length parameter for Frisch-Newton method.

eps

tolerance parameter for convergence.

Value

Returns a list with a coefficient, residual, tau and lambda components. When called from "rq" (as intended) the returned object has class "lassorqs".

Author(s)

R. Koenker

References

Koenker, R. (2005 Quantile Regression, CUP.

See Also

rq

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
n <- 60
p <- 7
rho <- .5
beta <- c(3,1.5,0,2,0,0,0)
R <- matrix(0,p,p)
for(i in 1:p){
        for(j in 1:p){
                R[i,j] <- rho^abs(i-j)
                }
        }
set.seed(1234)
x <- matrix(rnorm(n*p),n,p) %*% t(chol(R))
y <- x %*% beta + rnorm(n)

f <- rq(y ~ x, method="lasso",lambda = 30)
g <- rq(y ~ x, method="lasso",lambda = c(rep(0,4),rep(30,4)))

quantreg documentation built on May 29, 2017, 11:33 a.m.