# olsqr2#

## Purpose#

Computes OLS coefficients, residuals, and predicted values using the QR decomposition.

## Format#

{ b, r, p } = olsqr2(depvar, indepvars)#
Parameters:
• depvar (Nx1 vector) – dependent variable

• indepvars (NxP matrix) – independent variables

Returns:
• b (Px1 vector) – least squares estimates of regression of y on x. If x does not have full rank, then the coefficients that cannot be estimated will be zero.

• r (Px1 vector) – OLS residuals. ($$r = y - x*b$$)

• p (Px1 vector) – predicted values. ($$p = x*b$$)

## Examples#

rndseed 129727134;

// Assign random matrices
x = rndn(150, 4);
y = rndn(150, 1);

// Solve OLS coefficient using QR decomposition
{ b, r, p } = olsqr2(y, x);


## 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 olsqr2() procedure handles matrices that do not have full rank by returning zeros for the coefficients that cannot be estimated.