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.