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
qfitControlstructure 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);