conquer | R Documentation |
Estimation and inference for conditional linear quantile regression models using a convolution smoothed approach. Efficient gradient-based methods are employed for fitting both a single model and a regression process over a quantile range. Normal-based and (multiplier) bootstrap confidence intervals for all slope coefficients are constructed.
conquer( X, Y, tau = 0.5, kernel = c("Gaussian", "logistic", "uniform", "parabolic", "triangular"), h = 0, checkSing = FALSE, tol = 1e-04, iteMax = 5000, stepBounded = TRUE, stepMax = 100, ci = c("none", "bootstrap", "asymptotic", "both"), alpha = 0.05, B = 1000 )
X |
An n by p design matrix. Each row is a vector of observations with p covariates. Number of observations n must be greater than number of covariates p. |
Y |
An n-dimensional response vector. |
tau |
(optional) The desired quantile level. Default is 0.5. Value must be between 0 and 1. |
kernel |
(optional) A character string specifying the choice of kernel function. Default is "Gaussian". Choices are "Gaussian", "logistic", "uniform", "parabolic" and "triangular". |
h |
(optional) Bandwidth/smoothing parameter. Default is \max\{((log(n) + p) / n)^{0.4}, 0.05\}. The default will be used if the input value is less than or equal to 0. |
checkSing |
(optional) A logical flag. Default is FALSE. If |
tol |
(optional) Tolerance level of the gradient descent algorithm. The iteration will stop when the maximum magnitude of all the elements of the gradient is less than |
iteMax |
(optional) Maximum number of iterations. Default is 5000. |
stepBounded |
(optional) A logical flag. Default is TRUE. If |
stepMax |
(optional) Maximum bound for the gradient descent step size. Default is 100. |
ci |
(optional) A character string specifying methods to construct confidence intervals. Choices are "none" (default), "bootstrap", "asymptotic" and "both". If |
alpha |
(optional) Miscoverage level for each confidence interval. Default is 0.05. |
B |
(optional) The size of bootstrap samples. Default is 1000. |
An object containing the following items will be returned:
coeff
A (p + 1)-vector of estimated quantile regression coefficients, including the intercept.
ite
Number of iterations until convergence.
residual
An n-vector of fitted residuals.
bandwidth
Bandwidth value.
tau
Quantile level.
kernel
Kernel function.
n
Sample size.
p
Number of covariates.
perCI
The percentile confidence intervals for regression coefficients. Only available if ci = "bootstrap"
or ci = "both"
.
pivCI
The pivotal confidence intervals for regression coefficients. Only available if ci = "bootstrap"
or ci = "both"
.
normCI
The normal-based confidence intervals for regression coefficients. Only available if ci = "bootstrap"
or ci = "both"
.
asyCI
The asymptotic confidence intervals for regression coefficients. Only available if ci = "asymptotic"
or ci = "both"
.
Barzilai, J. and Borwein, J. M. (1988). Two-point step size gradient methods. IMA J. Numer. Anal., 8, 141–148.
Fernandes, M., Guerre, E. and Horta, E. (2021). Smoothing quantile regressions. J. Bus. Econ. Statist., 39, 338-357.
He, X., Pan, X., Tan, K. M., and Zhou, W.-X. (2022+). Smoothed quantile regression for large-scale inference. J. Econometrics, in press.
Koenker, R. and Bassett, G. (1978). Regression quantiles. Econometrica, 46, 33-50.
See conquer.process
for smoothed quantile regression process.
n = 500; p = 10 beta = rep(1, p) X = matrix(rnorm(n * p), n, p) Y = X %*% beta + rt(n, 2) ## Smoothed quantile regression with Gaussian kernel fit.Gauss = conquer(X, Y, tau = 0.5, kernel = "Gaussian") beta.hat.Gauss = fit.Gauss$coeff ## Smoothe quantile regression with uniform kernel fit.unif = conquer(X, Y, tau = 0.5, kernel = "uniform") beta.hat.unif = fit.unif$coeff ## Construct three types of confidence intervals via multiplier bootstrap fit = conquer(X, Y, tau = 0.5, kernel = "Gaussian", ci = "bootstrap") ci.per = fit$perCI ci.piv = fit$pivCI ci.norm = fit$normCI
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.