A set of functions implementing the Newey & West (1987, 1994) heteroscedasticity and autocorrelation consistent (HAC) covariance matrix estimators.
NeweyWest(x, lag = NULL, order.by = NULL, prewhite = TRUE, adjust = FALSE, diagnostics = FALSE, sandwich = TRUE, ar.method = "ols", data = list(), verbose = FALSE) bwNeweyWest(x, order.by = NULL, kernel = c("Bartlett", "Parzen", "Quadratic Spectral", "Truncated", "Tukey-Hanning"), weights = NULL, prewhite = 1, ar.method = "ols", data = list(), ...)
a fitted model object. For
bwNeweyWest it can also
be a score matrix (as returned by
integer specifying the maximum lag with positive
weight for the Newey-West estimator. If set to
floor(bwNeweyWest(x, ...)) is used.
Either a vector
z or a formula with a single explanatory
~ z. The observations in the model
are ordered by the size of
z. If set to
default) the observations are assumed to be ordered (e.g., a
logical or integer. Should the estimating functions
be prewhitened? If
TRUE or greater than 0 a VAR model of
as.integer(prewhite) is fitted via
demean = FALSE. The default is to
use VAR(1) prewhitening.
a character specifying the kernel used. All kernels used
are described in Andrews (1991).
bwNeweyWest can only
compute bandwidths for
logical. Should a finite sample adjustment be made? This amounts to multiplication with \(n/(n-k)\) where \(n\) is the number of observations and \(k\) the number of estimated parameters.
logical. Should additional model diagnostics be returned?
vcovHAC for details.
logical. Should the sandwich estimator be computed?
If set to
FALSE only the middle matrix is returned.
method argument passed to
ar for prewhitening (only, not for bandwidth selection).
an optional data frame containing the variables in the
model. By default the variables are taken from the environment which
the function is called from.
logical. Should the lag truncation parameter used be printed?
numeric. A vector of weights used for weighting the estimated
coefficients of the approximation model (as specified by
default all weights are 1 except that for the intercept term (if there is more than
currently not used.
NeweyWest is a convenience interface to
Bartlett kernel weights as described in Newey & West (1987, 1994).
The automatic bandwidth selection procedure described in Newey & West (1994)
is used as the default and can also be supplied to
kernHAC for the
Parzen and quadratic spectral kernel. It is implemented in
which does not truncate its results - if the results for the Parzen and Bartlett
kernels should be truncated, this has to be applied afterwards. For Bartlett
weights this is implemented in
To obtain the estimator described in Newey & West (1987), prewhitening has to be suppressed.
NeweyWest returns the same type of object as
vcovHACwhich is typically just the covariance matrix.
bwNeweyWest returns the selected bandwidth parameter.
Andrews DWK (1991). “Heteroskedasticity and Autocorrelation Consistent Covariance Matrix Estimation.” Econometrica, 59, 817--858.
Newey WK & West KD (1987). “A Simple, Positive Semi-Definite, Heteroskedasticity and Autocorrelation Consistent Covariance Matrix.” Econometrica, 55, 703--708.
Newey WK & West KD (1994). “Automatic Lag Selection in Covariance Matrix Estimation.” Review of Economic Studies, 61, 631--653.
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
## fit investment equation data(Investment) fm <- lm(RealInv ~ RealGNP + RealInt, data = Investment) ## Newey & West (1994) compute this type of estimator NeweyWest(fm) #> (Intercept) RealGNP RealInt #> (Intercept) 594.1004817 -0.5617817294 36.04992496 #> RealGNP -0.5617817 0.0005563172 -0.04815937 #> RealInt 36.0499250 -0.0481593694 13.24912546 ## The Newey & West (1987) estimator requires specification ## of the lag and suppression of prewhitening NeweyWest(fm, lag = 4, prewhite = FALSE) #> (Intercept) RealGNP RealInt #> (Intercept) 359.4170681 -0.3115505035 -4.089319305 #> RealGNP -0.3115505 0.0002805888 -0.005355931 #> RealInt -4.0893193 -0.0053559312 11.171472998 ## bwNeweyWest() can also be passed to kernHAC(), e.g. ## for the quadratic spectral kernel kernHAC(fm, bw = bwNeweyWest) #> (Intercept) RealGNP RealInt #> (Intercept) 794.986166 -0.7562570101 48.19485118 #> RealGNP -0.756257 0.0007537517 -0.06485461 #> RealInt 48.194851 -0.0648546058 17.58798679