`vcovHC.Rd`

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, ...)

x | a fitted model object. |
---|---|

type | a character string specifying the estimation type. For details see below. |

omega | a vector or a
function depending on the arguments |

sandwich | logical. Should the sandwich estimator be computed?
If set to |

... | arguments passed to |

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.

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.

A matrix containing the covariance matrix estimate.

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.
doi: 10.18637/jss.v011.i10

Zeileis A (2006). “Object-Oriented Computation of Sandwich Estimators.”
*Journal of Statistical Software*, **16**(9), 1--16.
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)#> (Intercept) x #> (Intercept) 0.013240282 -0.007646095 #> x -0.007646095 0.024425977## usual covariance matrix vcovHC(fm, type = "const")#> (Intercept) x #> (Intercept) 1.301490e-02 3.292563e-05 #> x 3.292563e-05 2.589083e-02vcov(fm)#> (Intercept) x #> (Intercept) 1.301490e-02 3.292563e-05 #> x 3.292563e-05 2.589083e-02#> x #> 1.301490e-02 3.292563e-05 #> x 3.292563e-05 2.589083e-02