Learn R Programming

ImpShrinkage (version 1.0.0)

resReg: The restricted estimator

Description

This function calculates the restricted estimator using $$\hat{\beta}^{R} = \hat{\beta}^{U} - (X^{\top}X)^{-1}H^{\top} (H(X^{\top}X)^{-1}H^{\top})^{-1}(H\hat{\beta}^{U}-h)$$ where

  • \(\hat{\beta}^{U}\) is the unrestricted estimator; See unrReg.

  • \(H\beta = h\) represents a subspace of the parameter space induced by the non-sample information. Here, \(H\) is a known \(q \times p\) matrix, and \(h\) is a known \(q\)-vector.

Usage

resReg(X, y, H, h)

Value

An object of class restricted is a list containing at least the following components:

coef

A named vector of coefficients.

residuals

The residuals, that is, the response values minus fitted values.

s2

The estimated variance.

fitted.values

The fitted values.

Arguments

X

Matrix with input observations, of dimension n x p; each row is an observation vector.

y

Vector with response observations of size n.

H

A given q x p matrix.

h

A given q x 1 vector.

Details

#' The corresponding estimator of \(\sigma^2\) is $$s^2 = \frac{1}{n-p}(y-X\hat{\beta}^{R})^{\top}(y - X\hat{\beta}^{R}).$$

References

Saleh, A. K. Md. Ehsanes. (2006). Theory of Preliminary Test and Stein‐Type Estimation With Applications, Wiley.

Kaciranlar, S., Akdeniz, S. S. F., Styan, G. P. & Werner, H. J. (1999). A new biased estimators in linear regression and detailed analysis of the widely-analysed dataset on portland cement. Sankhya, Series B, 61(3), 443-459.

Kibria, B. M. Golam (2005). Applications of Some Improved Estimators in Linear Regression, Journal of Modern Applied Statistical Methods, 5(2), 367- 380.

Examples

Run this code
n_obs <- 100
p_vars <- 5
beta <- c(2, 1, 3, 0, 5)
simulated_data <- simdata(n = n_obs, p = p_vars, beta)
X <- simulated_data$X
y <- simulated_data$y
p <- ncol(X)
# H beta = h
H <- matrix(c(1, 1, -1, 0, 0, 1, 0, 1, 0, -1, 0, 0, 0, 1, 0), nrow = 3, ncol = p, byrow = TRUE)
h <- rep(0, nrow(H))
resReg(X, y, H, h)

# H beta != h
H <- matrix(c(1, 1, -1, 0, 0, 1, 0, 1, 0, -1, 0, 0, 0, 1, 0), nrow = 3, ncol = p, byrow = TRUE)
h <- rep(1, nrow(H))
resReg(X, y, H, h)


data(cement)
X <- as.matrix(cbind(1, cement[, 1:4]))
y <- cement$y
# Based on Kaciranlar et al. (1999)
H <- matrix(c(0, 1, -1, 1, 0), nrow = 1, ncol = 5, byrow = TRUE)
h <- rep(0, nrow(H))
resReg(X, y, H, h)
# Based on Kibria (2005)
H <- matrix(c(0, 1, -1, 1, 0, 0, 0, 1, -1, -1, 0, 1, -1, 0, -1), nrow = 3, ncol = 5, byrow = TRUE)
h <- rep(0, nrow(H))
resReg(X, y, H, h)

Run the code above in your browser using DataLab