QICD Algorithm for Nonconvex Penalized Quantile Regression

Share:

Description

Produces penalized quantile regression models for specified lambdas and penalty of choice. For now, lambda must be specified. The model is fit using the QICD algorithm from Peng and Wang (2015).

Usage

1
2
3
QICD(y, x, tau = 0.5, lambda = NULL, weights=NULL, beta_initial = NULL, 
    intercept = TRUE, penalty = "SCAD", a = 3.7, converge_criteria = 1e-06, 
    maxin = 100, maxout = 20, method = "br",...)

Arguments

y

Vector of response values.

x

Matrix of predictors. Note: If intercept is desired, do not include a column of 1's. If intercept is desired, then set "intercept=TRUE".

tau

Conditional quantile being modelled

lambda

Tuning parameter.

weights

Weights for the objective function.

beta_initial

Vector of values for coefficients (not intercept) to initialize algorithm. If NULL, the LASSO model is fit and used as initializing values.

intercept

Whether model should include an intercept. Constant does not need to be included in "x". Takes values "TRUE" or "FALSE".

penalty

MCP or SCAD. Takes values "MCP" or "SCAD".

a

Second tuning parameter.

converge_criteria

Difference in betas from iteration process that would satisfy convergence.

maxin

Maximum number of iterations of the coordinate descent part of the QICD algorithm to be done.

maxout

Maximum number of iterations of the Minimize-Majorize (MM) part of the QICD algorithm to be done.

method

Use method "br" or "fn" as outlined in quantreg package. Method "fn" better for large n or p.

...

Additional arguments sent to rq.lasso.fit for initial estimates

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.

penalty

Penalty used, SCAD or MCP.

Author(s)

Adam Maidman

References

[1] 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

1
2
3
x <- matrix(rnorm(800),nrow=100)
y <- 1 + x[,1] - 3*x[,5] + rnorm(100)
scadModel <- QICD(y,x,lambda=1, intercept=TRUE, beta_initial=rep(0,8))

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.