Estimates coefficients of a linear regression model using QR Decomposition. The data matrix \(\mathbf{X}\) is decomposed into $$ \mathbf{X} = \mathbf{Q} \mathbf{R} . $$ Estimates are found by solving \(\boldsymbol{\hat{\beta}}\) in $$ \mathbf{R} \boldsymbol{\hat{\beta}} = \mathbf{Q}^{T} \mathbf{y}. $$

.betahatqr(X, y)

Arguments

X

n by k numeric matrix. The data matrix \(\mathbf{X}\) (also known as design matrix, model matrix or regressor matrix) is an \(n \times k\) matrix of \(n\) observations of \(k\) regressors, which includes a regressor whose value is 1 for each observation on the first column.

y

Numeric vector of length n or n by 1 matrix. The vector \(\mathbf{y}\) is an \(n \times 1\) vector of observations on the regressand variable.

Value

Returns \(\boldsymbol{\hat{\beta}}\), that is, a \(k \times 1\) vector of estimates of \(k\) unknown regression coefficients estimated using ordinary least squares.

References

Wikipedia: Linear regression

Wikipedia: Ordinary least squares

Wikipedia: QR decomposition

Wikipedia: Orthogonal decomposition methods

Wikipedia: Design matrix

See also

Author

Ivan Jacob Agaloos Pesigan

Examples

# Simple regression------------------------------------------------ X <- jeksterslabRdatarepo::wages.matrix[["X"]] X <- X[, c(1, ncol(X))] y <- jeksterslabRdatarepo::wages.matrix[["y"]] .betahatqr(X = X, y = y)
#> betahat #> [1,] 4.874251 #> [2,] 0.197486
# Multiple regression---------------------------------------------- X <- jeksterslabRdatarepo::wages.matrix[["X"]] # age is removed X <- X[, -ncol(X)] .betahatqr(X = X, y = y)
#> betahat #> [1,] -7.1833382 #> [2,] -3.0748755 #> [3,] -1.5653133 #> [4,] 1.0959758 #> [5,] 1.3703010 #> [6,] 0.1666065