Heteroscedasticity-consistent estimation of the covariance matrix of the coefficient estimates in regression models.
vcovHC(x, ...)# S3 method for default
vcovHC(x,
type = c("HC3", "const", "HC", "HC0", "HC1", "HC2", "HC4", "HC4m", "HC5"),
omega = NULL, sandwich = TRUE, ...)
meatHC(x, type = , omega = NULL, ...)
A matrix containing the covariance matrix estimate.
a fitted model object.
a character string specifying the estimation type. For details see below.
a vector or a
function depending on the arguments residuals
(the working residuals of the model), diaghat
(the diagonal
of the corresponding hat matrix) and df
(the residual degrees of
freedom). For details see below.
logical. Should the sandwich estimator be computed?
If set to FALSE
only the meat matrix is returned.
arguments passed to sandwich
(in vcovHC
)
and estfun
(in meatHC
), respectively.
The function meatHC
is the real work horse for estimating
the meat of HC sandwich estimators -- the default vcovHC
method
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).
Analogous formulas are employed for other types of models, provided that
they depend on a single linear predictor and the estimating functions
can be represented as a product of “working residual” and regressor
vector (Zeileis 2006, Equation 7).
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
heteroscedasticity. "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 the diagonal omega
or a function for
estimating it, the type
argument can be used to specify the
HC0 to HC5 estimators. If omega
is used, type
is ignored.
Long & Ervin (2000) conduct a simulation study of HC estimators (HC0 to HC3) in
the linear regression model, recommending to use HC3 which is thus the
default in vcovHC
. Cribari-Neto (2004), Cribari-Neto, Souza, & Vasconcellos (2007),
and Cribari-Neto & Da Silva (2011), respectively, suggest the HC4, HC5, and
modified HC4m type estimators. All of them are tailored to take into account
the effect of leverage points in the design matrix. For more details see the references.
Cribari-Neto F. (2004). “Asymptotic Inference under Heteroskedasticity of Unknown Form.” Computational Statistics & Data Analysis 45, 215--233.
Cribari-Neto F., Da Silva W.B. (2011). “A New Heteroskedasticity-Consistent Covariance Matrix Estimator for the Linear Regression Model.” Advances in Statistical Analysis, 95(2), 129--146.
Cribari-Neto F., Souza T.C., Vasconcellos, K.L.P. (2007). “Inference under Heteroskedasticity and Leveraged Data.” Communications in Statistics -- Theory and Methods, 36, 1877--1888. Errata: 37, 3329--3330, 2008.
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. tools:::Rd_expr_doi("10.18637/jss.v011.i10")
Zeileis A (2006). “Object-Oriented Computation of Sandwich Estimators.” Journal of Statistical Software, 16(9), 1--16. tools:::Rd_expr_doi("10.18637/jss.v016.i09")
## generate linear regression relationship
## with homoscedastic variances
x <- sin(1:100)
y <- 1 + x + rnorm(100)
## model fit and HC3 covariance
fm <- lm(y ~ x)
vcovHC(fm)
## usual covariance matrix
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