pcdtest {plm} | R Documentation |
Pesaran's CD or Breusch-Pagan's LM (local or global) tests for cross sectional dependence in panel models
pcdtest(x, ...) ## S3 method for class 'panelmodel': pcdtest(x, test=c("cd","sclm","lm"), w=NULL, ...) ## S3 method for class 'formula': pcdtest(x, data, index=NULL, model=NULL, test=c("cd","sclm","lm"), w=NULL, ...)
x |
an object of class formula or panelmodel , describing the model to be tested |
data |
a data.frame |
index |
an optional numerical index, in case data has to be formatted by plm.data |
model |
an optional character string indicating which type of model to estimate;
if left to NULL , the original heterogeneous specification of Pesaran is used |
test |
the type of test statistic to be returned. One of "cd" for Pesaran's CD statistic, "lm" for Breusch and Pagan's original LM statistic, "sclm" for the scaled version of Breusch and Pagan's LM statistic |
w |
an nxn matrix describing proximity between observations, with w_ij=a
where a is any number such that as.logical(a)=TRUE , if i,j are
neighbours, 0 or any number b such that as.logical(b)=FALSE elsewhere |
... |
further arguments to be passed on to plm , such as
e.g. effect or random.method |
These tests are originally meant to use the residuals of separate
estimation of one time-series regression for each cross-sectional unit in order to check for
cross-sectional dependence. If a different model specification (within
, random
, ...) is
assumed consistent, one can resort to its residuals for testing (which is common, e.g., when
the time dimension's length is insufficient for estimating the heterogeneous model).
If the time dimension is insufficient and model=NULL
, the function defaults to
estimation of a within
model and issues a warning.
The main argument of this function may be either a model of class panelmodel
or a
formula
and dataframe
; in the second case, unless model
is set to
NULL
, all usual parameters relative to the estimation of a plm
model may be
passed on.
The test is compatible with any consistent panelmodel
for the data at hand, with any
specification of effect
. E.g., specifying effect=''time''
or effect=''twoways''
allows to test for residual cross-sectional dependence after the introduction of time fixed
effects to account for common shocks.
A local version of either test can be computed supplying a proximity matrix (coercible to
logical
) providing information on whether any pair of observations are neighbours or not.
If w
is supplied, only neighbouring pairs will be used in computing the test; else,
w
will default to NULL
and all observations will be used. The matrix needs not be
binary, so commonly used ``row-standardized'' matrices can be employed as well. nb
objects
from spdep must instead be transformed into matrices by nb2mat
before using.
An object of class "htest"
.
Breusch, T.S. and A.R. Pagan (1980), The Lagrange multiplier test and its applications to model specification in econometrics, Review of Economic Studies, 47, pp.239–253.
Pesaran, H. (2004), Tests for cross-sectional dependence in panels, CESIfo Working Paper, .., pp.–.
data(Grunfeld, package="plm") ## test on heterogeneous model (separate time series regressions) pcdtest(inv ~ value + capital, data=Grunfeld, index = c("firm","year")) ## test on twoways fixed effects homogeneous model pcdtest(inv ~ value + capital, data=Grunfeld, model="within", effect="twoways", , index = c("firm","year")) ## test on model object g <- plm(inv ~ value + capital, data=Grunfeld, index = c("firm","year")) pcdtest(g) ## scaled LM test pcdtest(g,test="sclm")