olsqrmt¶
Purpose¶
Computes OLS coefficients using QR decomposition.
Format¶
-
b =
olsqrmt(depvars indepvars, tol)¶ Parameters: - depvar (Nx1 vector) – dependent variable
- indepvars (NxP matrix) – independent variables
- tol (scalar) – the tolerance for testing if diagonal elements are approaching zero. The default value is 10-14.
Returns: b (Px1 vector) – least squares estimates of regression of depvar on indepvars. If indepvars does not have full rank, then the coefficients that cannot be estimated will be zero.
Examples¶
rndseed 129727134;
// Assign random matrices
x = rndn(150, 4);
y = rndn(150, 1);
// Set tolerance
tol = 1E-10;
// Solve OLS coefficient using QR decomposition
{ b, r, p } = olsqrmt(y, x, tol);
Remarks¶
This provides an alternative to \(y/x\) for computing least squares coefficients.
This procedure is slower than the / operator. However, for near singular
matrices it may produce better results.
The olsqrmt() procedure handles matrices that do not have full rank by returning zeros
for the coefficients that cannot be estimated.