conquer: Convolution-Type Smoothed Quantile Regression

View source: R/smqr.R

conquerR 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 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 checkSing = TRUE, then it will check if the design matrix is singular before running conquer.

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 tol. Default is 1e-04.

iteMax

(optional) Maximum number of iterations. Default is 5000.

stepBounded

(optional) A logical flag. Default is TRUE. If stepBounded = TRUE, then the step size of gradient descent is upper bounded by stepMax. If stepBounded = FALSE, then the step size is unbounded.

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 ci = "none", then confidence intervals will not be constructed. If ci = "bootstrap", then three types of confidence intervals (percentile, pivotal and normal) will be constructed via multiplier bootstrap. If ci = "asymptotic", then confidence intervals will be constructed based on estimated asymptotic covariance matrix. If ci = "both", then confidence intervals from both bootstrap and asymptotic covariance will be returned.

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" 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".

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

conquer documentation built on March 7, 2023, 5:29 p.m.