conquer.process {conquer} | R Documentation |
Fit a smoothed quantile regression process over a quantile range. The algorithm is essentially the same as conquer
.
conquer.process(
X,
Y,
tauSeq = seq(0.1, 0.9, by = 0.05),
kernel = c("Gaussian", "logistic", "uniform", "parabolic", "triangular"),
h = 0,
checkSing = FALSE,
tol = 1e-04,
iteMax = 5000
)
X |
An |
Y |
An |
tauSeq |
(optional) A sequence of quantile values (between 0 and 1). Default is |
kernel |
(optional) A character string specifying the choice of kernel function. Default is "Gaussian". Choices are "Gaussian", "logistic", "uniform", "parabolic" and "triangular". |
h |
(optional) The 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. |
An object containing the following items will be returned:
coeff
A (p + 1)
by m
matrix of estimated quantile regression process coefficients, including the intercept. m is the length of tauSeq
.
bandwidth
Bandwidth value.
tauSeq
The sequence of quantile levels.
kernel
The choice of kernel function.
n
Sample size.
p
Number the covariates.
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
for single-index smoothed quantile regression.
n = 500; p = 10
beta = rep(1, p)
X = matrix(rnorm(n * p), n, p)
Y = X %*% beta + rt(n, 2)
## Smoothed quantile regression process with Gaussian kernel
fit.Gauss = conquer.process(X, Y, tauSeq = seq(0.2, 0.8, by = 0.05), kernel = "Gaussian")
beta.hat.Gauss = fit.Gauss$coeff
## Smoothe quantile regression with uniform kernel
fit.unif = conquer.process(X, Y, tauSeq = seq(0.2, 0.8, by = 0.05), kernel = "uniform")
beta.hat.unif = fit.unif$coeff