vcovNW function

Newey and West (1987) Robust Covariance Matrix Estimator

Newey and West (1987) Robust Covariance Matrix Estimator

Nonparametric robust covariance matrix estimators a la Newey and West for panel models with serial correlation.

vcovNW(x, ...) ## S3 method for class 'plm' vcovNW( x, type = c("HC0", "sss", "HC1", "HC2", "HC3", "HC4"), maxlag = NULL, wj = function(j, maxlag) 1 - j/(maxlag + 1), ... ) ## S3 method for class 'pcce' vcovNW( x, type = c("HC0", "sss", "HC1", "HC2", "HC3", "HC4"), maxlag = NULL, wj = function(j, maxlag) 1 - j/(maxlag + 1), ... )

Arguments

  • x: an object of class "plm" or "pcce"
  • ...: further arguments
  • type: the weighting scheme used, one of "HC0", "sss", "HC1", "HC2", "HC3", "HC4", see Details,
  • maxlag: either NULL or a positive integer specifying the maximum lag order before truncation
  • wj: weighting function to be applied to lagged terms,

Returns

An object of class "matrix" containing the estimate of the covariance matrix of coefficients.

Details

vcovNW is a function for estimating a robust covariance matrix of parameters for a panel model according to the \insertCite NEWE:WEST:87;textualplm method. The function works as a restriction of the \insertCite DRIS:KRAA:98;textualplm covariance (see vcovSCC()) to no cross--sectional correlation.

Weighting schemes specified by type are analogous to those in sandwich::vcovHC() in package list("sandwich") and are justified theoretically (although in the context of the standard linear model) by \insertCite MACK:WHIT:85;textualplm and \insertCite CRIB:04;textualplm \insertCite @see @ZEIL:04plm.

The main use of vcovNW (and the other variance-covariance estimators provided in the package vcovHC, vcovBK, vcovDC, vcovSCC) is to pass it to plm's own functions like summary, pwaldtest, and phtest or together with testing functions from the lmtest and car packages. All of these typically allow passing the vcov or vcov. parameter either as a matrix or as a function, e.g., for Wald--type testing: argument vcov. to coeftest(), argument vcov to waldtest() and other methods in the list("lmtest") package; and argument vcov. to linearHypothesis() in the list("car") package (see the examples), see \insertCite @see also @ZEIL:04plm, 4.1-2, and examples below.

Examples

data("Produc", package="plm") zz <- plm(log(gsp)~log(pcap)+log(pc)+log(emp)+unemp, data=Produc, model="pooling") ## as function input to plm's summary method (with and without additional arguments): summary(zz, vcov = vcovNW) summary(zz, vcov = function(x) vcovNW(x, method="arellano", type="HC1")) ## standard coefficient significance test library(lmtest) coeftest(zz) ## NW robust significance test, default coeftest(zz, vcov.=vcovNW) ## idem with parameters, pass vcov as a function argument coeftest(zz, vcov.=function(x) vcovNW(x, type="HC1", maxlag=4)) ## joint restriction test waldtest(zz, update(zz, .~.-log(emp)-unemp), vcov=vcovNW) ## Not run: ## test of hyp.: 2*log(pc)=log(emp) library(car) linearHypothesis(zz, "2*log(pc)=log(emp)", vcov.=vcovNW) ## End(Not run)

References

\insertRef CRIB:04plm

\insertRef DRIS:KRAA:98plm

\insertRef MACK:WHIT:85plm

\insertRef NEWE:WEST:87plm

\insertRef ZEIL:04plm

See Also

sandwich::vcovHC() from the list("sandwich") package for weighting schemes (type argument).

Author(s)

Giovanni Millo