lqm {lqmm}R Documentation

Fitting Linear Quantile Models

Description

lqm is used to fit linear quantile models based on the asymmetric Laplace distribution.

Usage

lqm(formula, data, subset, na.action, weights = NULL, tau = 0.5,
	contrasts = NULL, control = list(), fit = TRUE)

Arguments

formula

an object of class formula for fixed effects: a symbolic description of the model to be fitted.

data

an optional data frame, list or environment (or object coercible by as.data.frame to a data frame) containing the variables in the model. If not found in data, the variables are taken from environment(formula), typically the environment from which lqm is called.

subset

an optional vector specifying a subset of observations to be used in the fitting process.

na.action

a function which indicates what should happen when the data contain NAs. The default is set by the na.action setting of options.

weights

An optional vector of weights to be used in the fitting process.

tau

the quantile(s) to be estimated. This must be a number between 0 and 1, otherwise the execution is stopped. If more than one quantile is specified, rounding off to the 4th decimal must give non–duplicated values of tau, otherwise the execution is stopped.

contrasts

an optional list. See the contrasts.arg of model.matrix.default.

control

list of control parameters of the fitting process. See lqmControl.

fit

logical flag. If FALSE the function returns a list of arguments to be passed to lqm.fit.gs.

Details

The function computes an estimate on the tau-th quantile function of the response, conditional on the covariates, as specified by the formula argument. The quantile predictor is assumed to be linear. The function maximizes the (log)likelihood of a Laplace regression which is equivalent to the minimization of the weighted sum of absolute residuals (Koenker and Bassett, 1978). The optimization algorithm is based on the gradient of the Laplace log–likelihood (Bottai, Orsini and Geraci, 2013).

Value

lqm returns an object of class lqm.

The function summary is used to obtain and print a summary of the results.

An object of class lqm is a list containing the following components:

theta

a vector of coefficients. theta is a named matrix of coefficients when tau is a vector of values.

scale

the scale parameter.

gradient

the gradient.

logLik

the log–likelihood.

opt

details on optimization (see lqm.fit.gs).

call

the matched call.

term.labels

names for theta.

terms

the terms object used.

nobs

the number of observations.

edf, dim_theta

the length of theta.

rdf

the number of residual degrees of freedom.

tau

the estimated quantile(s).

x

the model matrix.

y

the model response.

weights

the weights used in the fitting process (a vector of 1's if weights = NULL).

InitialPar

starting values for theta.

control

list of control parameters used for optimization (see lqmControl).

Note

Updates/FAQ/news are published here https://marcogeraci.wordpress.com/. New versions are usually published here https://github.com/marco-geraci/lqmm/ before going on CRAN.

Author(s)

Marco Geraci

References

Bottai M, Orsini N, Geraci M (2015). A Gradient Search Maximization Algorithm for the Asymmetric Laplace Likelihood, Journal of Statistical Computation and Simulation, 85(10), 1919-1925.

Chen C (2007). A finite smoothing algorithm for quantile regression. Journal of Computational and Graphical Statistics, 16(1), 136-164.

Koenker R and Bassett G (1978). Regression Quantiles. Econometrica 46(1), 33–50.

See Also

summary.lqm, coef.lqm, predict.lqm, residuals.lqm

Examples


set.seed(123)
n <- 500
p <- 1:3/4
test <- data.frame(x = runif(n,0,1))
test$y <- 30 + test$x + rnorm(n)
fit.lqm <- lqm(y ~ x, data = test, tau = p,
	control = list(verbose = FALSE, loop_tol_ll = 1e-9), fit = TRUE)
fit.lqm

[Package lqmm version 1.5.8 Index]