conquer {conquer} | R Documentation |
Convolution-Type Smoothed Quantile Regression
Description
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.
Usage
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
)
Arguments
X |
An |
Y |
An |
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 |
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. |
Value
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"
orci = "both"
.pivCI
The pivotal confidence intervals for regression coefficients. Only available if
ci = "bootstrap"
orci = "both"
.normCI
The normal-based confidence intervals for regression coefficients. Only available if
ci = "bootstrap"
orci = "both"
.asyCI
The asymptotic confidence intervals for regression coefficients. Only available if
ci = "asymptotic"
orci = "both"
.
References
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 Also
See conquer.process
for smoothed quantile regression process.
Examples
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