# quantileFit¶

## Purpose¶

Perform linear quantile regression.

## Format¶

qOut = quantileFit(y, x[, tau, w, qCtl])
qOut = quantileFit(dataset, formula[, tau, w, qCtl])
qOut = quantileFit(dataframe, formula[, tau, w, qCtl])
Parameters
• y (Nx1 vector) – dependent variable.

• x (NxK matrix or sparse matrix or N-dimensional array) – independent variables.

• dataset (string) – name of dataset.

• formula (string) –

formula string of the model.

E.g "y ~ X1 + X2", ‘y’ is the name of dependent variable, ‘X1’ and ‘X2’ are names of independent variables;

E.g "y ~ .", ‘.’ means including all variables except dependent variable ‘y’;

E.g "y ~ -1 + X1 + X2", ‘-1’ means no intercept model.

• tau (Mx1 vector) – Optional argument, quantile levels. Default = { 0.05, 0.5, 0.95 };

• w (Nx1 vector) – Optional argument, containing weights. Default = uniform weights.

• qCtl (struct) –

Optional argument, instance of the qfitControl structure containing the following members:

 qCtl.bandwidth scalar, the multiplicative factor of the bandwidth. Default = 1. qCtl.varnames Kx1 string array, variable names. Default = {"X1", "X2", ..., "XK"}. The name for the constant will be added automatically if it is included in the model. qCtl.verbose scalar, print results Default = 1. 1 Printing on. 0 No printing. qCtl.const scalar, include constant in regression. Default = 1. 1 a constant term will be added. 0 no constant term will be added. qCtl.vce_method scalar, method to use for calculating the asymptotic covariance matrix. Default = 1. 1 IID errors. 2 heteroskedasticity robust standard errors. qCtl.bw_method scalar, method to use for calculating the bandwidth for the asymptotic covariance matrix computation. Default = 1. 1 Hall-Sheather bandwidth. 2 Bofinger bandwidth. 3 Chamberlain bandwidth. qCtl.vce_kernel scalar,kernel to use for calculating the asymptotic covariance matrix computation. Default = 1. 1 Normal(Gaussian). 2 Epanechnikov. 3 Biweight. 4 Parzen. 5 Cosine. qCtl.bootstrap scalar, number of iterations for bootstrap standard errors and confidence intervals. Default = 0, for no bootstrap. qCtl.alpha scalar, alpha values for bootstrap confidence intervals.

Returns

qOut (struct) –

instance of qfitOut struct structure:

 qOut.beta KxM matrix, quantile parameter estimates, with estimates for each tau stored in a separate column. qOut.u_plus NxM matrix, positive part of residuals. qOut.u_minus NxM matrix, negative part of residuals. qOut.vce array, with a KxK matrix estimated asymptotic covariance matrix stored on a separate plane for each tau specified. qOut.vce_ci array, with a Kx2 matrix containing lower and upper confidence intervals based on asymptotic covariance estimates stored on separate planes for each tau specified. qOut.vce_se matrix, with estimated asymptotic standard errors, stored in separate columns for each tau specified. qOut.ci array, with a Kx2 matrix containing bootstrapped lower and upper confidence intervals stored on separate planes for each tau specified. qOut.se matrix, with bootstrapped standard errors, stored in a separate column for each tau specified. qOut.t KxM matrix, with estimate t-values based on asymptotic standard errors. Estimates for each tau are stored in a separate column. qOut.pvt KxM matrix, with p-values for estimated t-values. Estimates for each tau are stored in a separate column. qOut.number_obs Scalar, number of observations used in estimation. qOut.number_missing Scalar, number of missing values eliminated from original data. qOut.df_residuals Scalar, residual degrees of freedom. qOut.df_model Scalar, model degrees of freedom. qOut.h Vector, bandwidth used in asymptotic variance estimation. Values for each tau are stored in separate columns. qOut.sparsity Vector, sparsity used in asymptotic variance estimation. Values for each tau are stored in separate columns.

## Examples¶

new;
cls;

// Set random number generator seed for
// repeatable random numbers
rndseed 4893;

N = 1000;
x = 10*rndu(N, 1) - 5;
y = 5 + 2*X + rndn(rows(x), 1)*10;

// Set up tau for regression
tau = 0.05;

// Call quantileFit
struct qfitOut qOut;
qOut = quantileFit(Y, X, tau);


This produces the following output

 =====================================================================================
Valid cases:                   1000                Dependent variable:              Y
Missing cases:                    0                   Deletion method:           None
Number variables:                 1                           DF model              1
DF residuals                    998
=====================================================================================

Name    Coeff.  Standard   t-value    P >|t|        lb        ub
Error
-------------------------------------------------------------------------------------
Tau = 0.05

CONSTANT  -11.6768    0.5542  -21.0713    0.0000  -12.7629  -10.5907
X1    1.6790    0.1885    8.9059    0.0000    1.3095    2.0485


quantilefit.src