quantileFitLoc

Purpose

Perform local linear or quadratic quantile regression.

Format

q = quantileFitLoc(y, x[, tau[, xstar]][, qCtl])
q = quantileFitLoc(dataset, formula[, tau[, xstar]][, 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 };

  • xstar (P*1 vector) – Optional argument, quantile points. Default = seqa(0, 1/(50-1), 50).

  • 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.reg_type

    scalar, the regression type. Default = 1.

    1:

    Linear regression.

    2:

    Quadratic regression.

    qCtl.varnames

    string array, variable names. Default = {"X1", "X2", ..., "XK"}.

    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.

Returns:

q (PxM matrix) – estimated quantile \(Y|X=xstar\)

Examples

new;
cls;

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

N = 1000;
X = rndu(N, 1);
Y = sin(9*X) + (rndu(N, 1) - 0.5);

// Call quantileFitLoc
q = quantileFitLoc(Y, X);

Source

quantilefit.src

See also

Functions glm(), olsmt(), quantileFit()