Statalist


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: Re: Error in stata manual on xtdpd?


From   "Brian P. Poi" <bpoi@stata.com>
To   Stata List <statalist@hsphsun2.harvard.edu>
Subject   Re: st: Re: Error in stata manual on xtdpd?
Date   Wed, 7 Oct 2009 15:50:40 -0500 (CDT)

On Wed, 7 Oct 2009, Hewan Belay wrote:

Dear Brian,

Thanks a lot for your response. I also have another question about the manual--not so much an error but something I think would be very impoortant to include. I understand that one of the critical advantages of the system GMM dynamic panel data estimator (Arellano-Bover/Blundell-Bond) over the difference GMM estimator (Arellano-Bond) is that the former is able to identify the effects of time-invariant explanatory variables, which the latter can not. It is not mentioned anywhere in the description of xtdpd or xtdpdsys how to do this. After asking around, I found out that the additional command -hascons- in the xtdpd line is the way to be able to include time-invariant regressors. However, the description for -hascons- doesn't say so. (However, please do let me know if the above is not a correct representation of -hascons-)

Many thanks!
Hewan


-xtabond- does not allow for time-invariant regressors, because the Arellano-Bond estimator only uses the difference equation, and first-differencing will wipe out those time-invariant regressors.

-xtdpdsys- does allow for time-invariant regressors, because the Arellano-Bover/Blundell-Bond estimator uses both the difference equation and the level equation. The coefficients for time-invariant regressors are identified by virtue of the fact that those variables still appear in the level equation.

-hascons- in the xtdpd line is the way to be able to include time-invariant regressors. However, the description for -hascons-

Yes, 'hascons' is needed with -xtdpd- to include time-invariant regressors. To wit, you can see that

   . webuse abdata
   // make kbar time-invariant
   . bysort id: gen kbar = sum(k)/_N
   . by id: replace kbar = kbar[_N]
   . xtdpdsys n w kbar, lags(1)

and

   . xtdpd n L.n w kbar, div(w kbar) dgmmiv(n, lag(2 .))     ///
                lgmmiv(n, lag(1)) hascons

produce the same results. Without the 'hascons' option, -xtdpd-, like -xtabond-, would eliminate kbar from the model because D.kbar would be identically zero in the difference equation and hence collinear with the constant term.

Generally, the best way to learn -xtdpd- is to first fit a simpler model using -xtabond- or -xtdpdsys-, then replicate that model using -xtdpd-. The instrument summary at the bottom of the output of the first two commands greatly helps in replicating results using -xtdpd-. Then once you're sure a simpler form of your model is correctly specified with -xtdpd-, you can go ahead and modify the model with -xtdpd-. -xtabond- and -xtdpdsys- are 'convenience' commands implemented on top of -xtdpd- that make fitting the most common DPD models easier.

  -- Brian Poi
  -- bpoi@stata.com

*
*   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/



© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index