rq.fit.lasso | R Documentation |
The fitting method implements the lasso penalty 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. If lambda
is not specified, a default value is
selected according to the proposal of Belloni and Chernozhukov (2011).
See LassoLambdaHat
for further details.
There should be a sparse version of this, but isn't (yet).
There should also be a preprocessing version, but isn't (yet).
rq.fit.lasso(x, y, tau = 0.5, lambda = NULL, beta = .99995, eps = 1e-06)
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 |
beta |
step length parameter for Frisch-Newton method. |
eps |
tolerance parameter for convergence. |
Returns a list with a coefficient, residual, tau and lambda components.
When called from "rq"
(as intended) the returned object
has class "lassorqs".
R. Koenker
Koenker, R. (2005) Quantile Regression, CUP.
Belloni, A. and V. Chernozhukov. (2011) l1-penalized quantile regression in high-dimensional sparse models. Annals of Statistics, 39 82 - 130.
rq
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)))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.