Learn R Programming

sandwich (version 2.4-0)

weightsLumley: 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.

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" and 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.

Value

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

weightsLumley returns a vector of weights.

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 \(\rho\) (as computed by acf) of the residuals of the model x. The weights for the "truncate" method are

$$I\{n \rho^2 > C\}$$

and the weights for the "smooth" method are

$$\min\{1, C n \rho^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).

References

Lumley T & 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

Run this code
# NOT RUN {
x <- sin(1:100)
y <- 1 + x + rnorm(100)
fm <- lm(y ~ x)
weave(fm)
vcov(fm)
# }

Run the code above in your browser using DataLab