pwfdtest(x,...)
## S3 method for class 'panelmodel':
pwfdtest(x, ..., h0 = c("fd","fe"))
## S3 method for class 'formula':
pwfdtest(x, data, ..., h0 = c("fd","fe"))
formula
,data.frame
,linear.hypothesis
or to vcovHC
"htest"
."fe"
), then the errors of the model in first differences (FD)
must be serially correlated with $cor(\hat{e}_{it}, \hat{e}_{is})=-0.5$
for each $t,s$. If on the contrary the levels
model's errors are a random walk, then there must be no serial
correlation in the FD errors (hypothesis "fd"
). Both the fixed
effects (FE) and the first differenced (FD) estimators remain
consistent under either assumption, but relative efficiency changes:
FE is more efficient under "fe"
, FD under "fd"
.
Wooldridge (ibid.) suggests basing a test for either hypothesis on a
pooled regression of FD residuals on their first lag:
$\hat{e}_{i,t}=\alpha + \delta \hat{e}_{i,t-1} + \eta_{i,t}$. Rejecting
the restriction $\delta = -0.5$ makes us conclude against the null of no
serial correlation in errors of the levels equation ("fe"
). The
null hypothesis of no serial correlation in differenced errors
("fd"
) is tested in a similar way, but based on the
zero-restriction on $\delta$. Rejecting "fe"
favours the use of
the first-difference estimator and the contrary, although it is possible
that both be rejected.
pwartest
estimates the fd
model and retrieves residuals,
then estimates an AR(1) pooling
model on them. The test statistic
is obtained by applying linear.hypothesis()
to the latter model
to test the relevant restriction on $\delta$, setting the covariance
matrix to vcovHC
with the option method=''arellano''
to
control for serial correlation.
Unlike the pbgtest
and pdwtest
, this test does not rely on
T-asymptotics and has therefore good properties in ''short''
panels. Furthermore, it is robust to general heteroskedasticity. The
"fe"
version can be used to test for error autocorrelation
regardless of whether the maintained specification has fixed or random
effects (see Drukker, 2003).pdwtest
, pbgtest
, pwartest
data(EmplUK)
pwfdtest(log(emp) ~ log(wage) + log(capital), data = EmplUK)
pwfdtest(log(emp) ~ log(wage) + log(capital), data = EmplUK, h0 = "fe")
Run the code above in your browser using DataLab