R: Driscoll and Kraay (1998) Robust Covariance Matrix Estimator

vcovSCC {plm} | R Documentation

## Driscoll and Kraay (1998) Robust Covariance Matrix Estimator

### Description

Nonparametric robust covariance matrix estimators a la Driscoll and Kraay for panel models with cross-sectional and serial correlation.

### Usage

    ## S3 method for class 'plm'
    vcovSCC(x, type = c("HC0", "sss", "HC1", "HC2", "HC3", "HC4"),
                          cluster="time",
                          maxlag=NULL,
                          inner=c("cluster","white","diagavg"),
                          wj=function(j, maxlag) 1-j/(maxlag+1),
                          ...)

### Arguments

`x` | an object of class `"plm"` or `"pcce"`
`type` | one of `"HC0"`, `"sss"`, `"HC1"`, `"HC2"`, `"HC3"`, `"HC4"`,
`cluster` | switch for vcovG; set at `"time"` here,
`maxlag` | either `NULL` or a positive integer specifying the maximum lag order before truncation
`inner` | the function to be applied to the residuals inside the sandwich: `"cluster"` for SCC, `"white"` for Newey-West, (`"diagavg"` for compatibility reasons)
`wj` | weighting function to be applied to lagged terms,
`...` | further arguments

.

### Details

`vcovSCC` is a function for estimating a robust covariance matrix of parameters for a panel model according to the Driscoll and Kraay (1998) method, which is consistent with cross–sectional and serial correlation in a T-asymptotic setting and irrespective of the N dimension. The use with random effects models is undocumented.

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 `vcovSCC` is to be an argument to other functions, e.g. for Wald–type testing: argument `vcov.` to `coeftest()`, argument `vcov` to `waldtest()` and other methods in the `lmtest` package; and argument `vcov.` to `linearHypothesis()` in the car package (see the examples). Notice that the `vcov` and `vcov.` arguments allow to supply 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, partially ported from Daniel Hoechle's (2007) Stata code

### References

Cribari-Neto, F. (2004) Asymptotic inference under heteroskedasticity of unknown form. Computational Statistics & Data Analysis 45(2), pp. 215–233.

Driscoll, J.C. and Kraay, A.C. (1998) Consistent Covariance Matrix Estimation with Spatially Dependent Panel Data. Review of Economics and Statistics 80(4), pp. 549–560.

Hoechle, D. (2007) Robust standard errors for panel regressions with cross-sectional dependence. Stata Journal, 7(3), pp. 281–312.

MacKinnon, J. G. and White, H. (1985) Some heteroskedasticity-consistent covariance matrix estimators with improved finite sample properties. Journal of Econometrics 29(3), pp. 305–325.

Zeileis, A. (2004) Econometric Computing with HC and HAC Covariance Matrix Estimators. Journal of Statistical Software, 11(10), pp. 1–17. URL http://www.jstatsoft.org/v11/i10/.

### See Also

`vcovHC` from the sandwich package for weighting schemes (`type` argument).

### 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)
    ## SCC robust significance test, default
    coeftest(zz, vcov.=vcovSCC)
    ## idem with parameters, pass vcov as a function argument
    coeftest(zz, vcov.=function(x) vcovSCC(x, type="HC1", maxlag=4))
    ## joint restriction test
    waldtest(zz, update(zz, .~.-log(emp)-unemp), vcov=vcovSCC)
    ## test of hyp.: 2*log(pc)=log(emp)
    linearHypothesis(zz, "2*log(pc)=log(emp)", vcov.=vcovSCC)

[Package plm version 1.6-5 Index]