vcovNW {plm} | R Documentation

## Newey and West(1987) Robust Covariance Matrix Estimator

### Description

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

### Usage

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

### Arguments

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

.

### Details

`vcovNW` is a function for estimating a robust covariance matrix of parameters for a panel model according to the Newey and West (1987) method. The function works as a restriction of the Driscoll and Kraay (1998) covariance to no cross-sectional correlation.

Weighting schemes are analogous to those in `vcovHC` in package `sandwich` and are justified theoretically (although in the context of the standard linear model) by MacKinnon and White (1985) and Cribari-Neto (2004) (see Zeileis (2004)).

The main use of `vcovNW` is to be an argument to other functions, e.g. for Wald-type testing: as `vcov` to `coeftest()`, `waldtest()` and other methods in the `lmtest` package; and as `vcov` to `linearHypothesis()` in the `car` package (see the examples). Notice that the `vcov` argument may be supplied a function (which is the safest) or a matrix (see Zeileis (2004), 4.1-2 and examples below).

### Value

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

### Author(s)

Giovanni Millo

### References

Newey, W.K. & West, K.D. (1986) A simple, positive semi-definite, heteroskedasticity and autocorrelationconsistent covariance matrix. Econometrica 55(3), pp. 703–708.

### Examples

    library(lmtest)
    library(car)
    data("Produc", package="plm")
    zz <- plm(log(gsp)~log(pcap)+log(pc)+log(emp)+unemp, data=Produc, model="pooling")
    ## standard coefficient significance test
    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)
    ## test of hyp.: 2*log(pc)=log(emp)
    linearHypothesis(zz, "2*log(pc)=log(emp)", vcov=vcovNW)

[Package plm version 1.5-12 Index]