There has been some discussion about a difference in the standard errors
reported by -xtdpd- and -xtabond2-.
The discussion began with question about how to get the point estimates to
match.
Julian <[email protected]> noted that
You need to add an h(2) option to -xtabond2-. The following
will produce the same point estimates:
webuse abdata, clear
xtabond2 n L.n, gmm(n, laglimits(2 .)) small h(2)
xtdpd n L.n, dgmm(n, lagrange(2 .)) lgmm(n, lag(1))
Julian continued that
The standard errors are still different though.
David Roodman <[email protected]> noted that
I think the remaining discrepency between xtdpd in xtabond2 in the
standard errors only occurs if you do one-step, non-robust estimation,
which is rare.
David went to verify that -xtabond2- is able replicate a version of DPD in
OX that has a known bug, but I do not understand how this resolves anything.
I cannot speak to what -xtabond2- does, so I will not say anything about it.
Below I illustrate that -xtdpd- produces the same point estimates and
standard errors as produced by the -gmm- command in Stata. I conclude that
the point estimates and standard errors produced by -xtdpd- are correct,
because I can reproduce them using another Stata command that is independent
of -xtdpd-.
I begin by loading the data and estimating the paramters using -xtdpd-.
. webuse abdata, clear
.
. xtdpd n L.n, dgmm(n, lagrange(2 .)) lgmm(n, lag(1))
Dynamic panel-data estimation Number of obs = 891
Group variable: id Number of groups = 140
Time variable: year
Obs per group: min = 6
avg = 6.364286
max = 8
Number of instruments = 36 Wald chi2(1) = 1724.98
Prob > chi2 = 0.0000
One-step results
------------------------------------------------------------------------------
n | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
n |
L1. | 1.170374 .0281795 41.53 0.000 1.115144 1.225605
|
_cons | -.228391 .0308445 -7.40 0.000 -.2888452 -.1679369
------------------------------------------------------------------------------
Instruments for differenced equation
GMM-type: L(2/.).n
Instruments for level equation
GMM-type: LD.n
Standard: _cons
Now I estimate the parameters using the -gmm- command.
. gmm (n - {rho}*L.n - {c}) ///
(D.n - {rho}*LD.n ), ///
xtinstruments(1:D.n, lags(1/1)) ///
xtinstruments(2:n, lags(2/.)) ///
instruments(2: , noconstant) ///
deriv(1/rho = -1*L.n) ///
deriv(1/c = -1) ///
deriv(2/rho = -1*LD.n) ///
winitial(xt LD) onestep vce(unadjusted) ///
variables(L.n ) ///
nocommonesample
Step 1
Iteration 0: GMM criterion Q(b) = .10163841
Iteration 1: GMM criterion Q(b) = .00035315
Iteration 2: GMM criterion Q(b) = .00035315
GMM estimation
Number of parameters = 2
Number of moments = 37
Initial weight matrix: XT LD Number of obs = *
------------------------------------------------------------------------------
| Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
/rho | 1.170374 .0281795 41.53 0.000 1.115144 1.225605
/c | -.228391 .0308445 -7.40 0.000 -.2888452 -.1679369
------------------------------------------------------------------------------
* Number of observations for equation 1: 891
Number of observations for equation 2: 751
------------------------------------------------------------------------------
Instruments for equation 1:
XT-style: LD.n
Standard: _cons
Instruments for equation 2:
XT-style: L(2/.).n
The two commands produce the same point estimates and the same standard
errors.
The syntax for -gmm- is a little involved. This example is a stripped down
version of the example on page 612 of the Stata Reference manual [R] A-H. I
recommend looking there for details about how the -gmm- syntax works.
I conclude that the point estimates and the standard errors produced by
-xtdpd- are correct.
--David
[email protected]
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/