weightsLumley {sandwich}R Documentation

Weighted Empirical Adaptive Variance Estimation

Description

A set of functions implementing a class of kernel-based heteroskedasticity and autocorrelation consistent (HAC) covariance matrix estimators as introduced by Andrews (1991).

Usage

weave(x, order.by = NULL, prewhite = FALSE, C = NULL,
  method = c("truncate", "smooth"), acf = isoacf, adjust = FALSE,
  diagnostics = FALSE, sandwich = TRUE, tol = 1e-7, data = list(), ...)

weightsLumley(x, order.by = NULL, C = NULL,
  method = c("truncate", "smooth"), acf = isoacf, tol = 1e-7, data = list(), ...)

Arguments

x a fitted model object of class "lm" or "glm".
order.by Either a vector z or a formula with a single explanatory variable like ~ z. The observations in the model are ordered by the size of z. If set to NULL (the default) the observations are assumed to be ordered (e.g., a time series).
prewhite logical or integer. Should the estimating functions be prewhitened? If TRUE or greater than 0 a VAR model of order as.integer(prewhite) is fitted via ar with method "ols" and demean = FALSE.
C numeric. The cutoff constant C is by default 4 for method "truncate" und 1 for method "smooth".
method a character specifying the method used, see details.
acf a function that computes the autocorrelation function of a vector, by default isoacf is used.
adjust 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.
diagnostics logical. Should additional model diagnostics be returned? See vcovHAC for details.
sandwich logical. Should the sandwich estimator be computed? If set to FALSE only the middle matrix is returned.
tol numeric. Weights that exceed tol are used for computing the covariance matrix, all other weights are treated as 0.
data an optional data frame containing the variables in the order.by model. By default the variables are taken from the environment which the function is called from.
... currently not used.

Details

weave is a convenience interface to vcovHAC using weightsLumley: first a weights function is defined and then vcovHAC is called.

Both weighting methods are based on some estimate of the autocorrelation function r (as computed by acf) of the residuals of the model x. The weights for the "truncate" method are

I{n * r ** 2 > C}

and the weights for the "smooth" method are

min{1, C * n * r ** 2}

where n is the number of observations in the model an C is the truncation constant C.

Further details can be found in Lumley & Heagerty (1999).

Value

weave returns the same type of object as vcovHAC which is typically just the covariance matrix.
weightsLumley returns a vector of weights.

References

Lumley A & Heagerty P (1999), Weighted Empirical Adaptive Variance Estimators for Correlated Data Regression. Journal of the Royal Statistical Society B, 61, 459–477.

See Also

vcovHAC, weightsAndrews, kernHAC

Examples

x <- sin(1:100)
y <- 1 + x + rnorm(100)
fm <- lm(y ~ x)
weave(fm)
vcov(fm)

[Package sandwich version 1.1-1 Index]