Learn R Programming

sandwich (version 2.0-2)

vcovHC: Heteroskedasticity-Consistent Covariance Matrix Estimation

Description

Heteroskedasticity-consistent estimation of the covariance matrix of the coefficient estimates in regression models.

Usage

vcovHC(x,
  type = c("HC3", "const", "HC", "HC0", "HC1", "HC2", "HC4"),
  omega = NULL, sandwich = TRUE, ...)

meatHC(x, type = , omega = NULL)

Arguments

x
a fitted model object of class "lm".
type
a character string specifying the estimation type. For details see below.
omega
a vector or a function depending on the arguments residuals (the residuals of the linear model), diaghat (the diagonal of the corresponding hat matrix) and df (the residual degrees of freedom). F
sandwich
logical. Should the sandwich estimator be computed? If set to FALSE only the meat matrix is returned.
...
arguments passed to sandwich.

Value

  • A matrix containing the covariance matrix estimate.

Details

The function meatHC is the real work horse for estimating the meat of HC sandwich estimators -- vcovHC is a wrapper calling sandwich and bread. See Zeileis (2006) for more implementation details. The theoretical background, exemplified for the linear regression model, is described below and in Zeileis (2004).

When type = "const" constant variances are assumed and and vcovHC gives the usual estimate of the covariance matrix of the coefficient estimates:

$$\hat \sigma^2 (X^\top X)^{-1}$$

All other methods do not assume constant variances and are suitable in case of heteroskedasticity. "HC" (or equivalently "HC0") gives White's estimator, the other estimators are refinements of this. They are all of form $$(X^\top X)^{-1} X^\top \Omega X (X^\top X)^{-1}$$

and differ in the choice of Omega. This is in all cases a diagonal matrix whose elements can be either supplied as a vector omega or as a a function omega of the residuals, the diagonal elements of the hat matrix and the residual degrees of freedom. For White's estimator omega <- function(residuals, diaghat, df) residuals^2 Instead of specifying of providing the diagonal omega or a function for estimating it, the type argument can be used to specify the HC0 to HC4 estimators. If omega is used, type is ignored. Long & Ervin (2000) conduct a simulation study of HC estimators in the linear regression model, recommending to use HC3 which is thus the default in vcovHC. Cribari-Neto (2004) suggests the HC4 type estimator which is tailored to take into account the effect of leverage points in the design matrix. For more details see the references.

References

Cribari-Neto F. (2004), Asymptotic inference under heteroskedasticity of unknown form. Computational Statistics & Data Analysis 45, 215--233.

Long J. S., Ervin L. H. (2000), Using Heteroscedasticity Consistent Standard Errors in the Linear Regression Model. The American Statistician, 54, 217--224.

MacKinnon J. G., White H. (1985), Some heteroskedasticity-consistent covariance matrix estimators with improved finite sample properties. Journal of Econometrics 29, 305--325.

White H. (1980), A heteroskedasticity-consistent covariance matrix and a direct test for heteroskedasticity. Econometrica 48, 817--838.

Zeileis A (2004), Econometric Computing with HC and HAC Covariance Matrix Estimators. Journal of Statistical Software, 11(10), 1--17. URL http://www.jstatsoft.org/v11/i10/.

Zeileis A (2006), Object-oriented Computation of Sandwich Estimators. Journal of Statistical Software, 16(9), 1--16. URL http://www.jstatsoft.org/v16/i09/.

See Also

lm, hccm, bptest, ncv.test

Examples

Run this code
## generate linear regression relationship
## with homoskedastic variances
x <- sin(1:100)
y <- 1 + x + rnorm(100)
## compute usual covariance matrix of coefficient estimates
fm <- lm(y ~ x)
vcovHC(fm, type="const")
vcov(fm)

sigma2 <- sum(residuals(lm(y~x))^2)/98
sigma2 * solve(crossprod(cbind(1,x)))

Run the code above in your browser using DataLab