- Kripfganz, S. (2019). Generalized method of moments estimation of linear dynamic panel data models. Proceedings of the 2019 London Stata Conference.
1) Including the second lag of the dependent variable as a regressor can be useful when there are still signs of autocorrelation (e.g. second-order first-difference correlation with the Arellano-Bond test) after including only the first lag. Alternatively, just include the second lag and check the statistical significance of its coefficient.
2) Any lag of the dependent variable would be treated as predetermined. Effectively, you do not need to do anything about it because the instruments for the first lag already take care of the second lag as well.
3) You do not have to necessarily use the forward-orthogonal deviations with unbalanced panel data. It is just generally more efficient in this case and therefore recommended.
4.1) You would use the model in forward-orthogonal deviations instead of the model in first differences (not usually in combination). This can be for the "difference GMM" estimator (which effectively becomes a FOD estimator) and for the "system GMM" estimator.
4.2) Basically, yes.
4.3) As with the "difference part", you can have alternatively a "FOD part" of "system GMM".
4.4) Generally, yes.
4.5) You do not have the change the level model at all when you use the system GMM estimator with the FOD part.
4.6) I would probably not include the diff suboption for iv() when using model(fod), but there is nothing wrong about it. For strictly exogenous variables and for dummy variables, I would personally use model(mdev) instead of model(fod), but note that this is not yet standard practice.
For dummy variables, one would normally assume that they are uncorrelated with the unobserved group-specific effects. In this case, the first of your two system GMM specifications would be more appropriate.
4.7) As said just above, model(mdev) is appropriate for strictly exogenous variables or dummy variables. For an estimation without a level equation, I would recommend the following instruments:
Code:
gmm(x10, model(md) lag(0 0)) gmm(x10, model(fod) lag(0 2)) iv(i.ind, model(md)) iv(i.fc, model(md)) iv(i.mn, model(md))
Code:
gmm(x10, model(md) lag(0 0)) gmm(x10, model(fod) lag(0 2)) iv(i.ind, model(level)) iv(i.fc, model(level)) iv(i.mn, model(level))
5) For the traditional "difference GMM" estimator, you should not include the nl(noserial) option. With this option, you can implement the Ahn-Schmidt GMM estimator with nonlinear moment conditions, which can be an alternative to the system GMM estimator.
6) There is nothing wrong about not using the collapse option with nl(noserial). The logic behind the collapse option in this context is the same as with other instruments, to avoid having too many moment conditions/instruments.
7) quietly just suppresses all the output. All postestimation commands still work normally.
8) You might want to include the small option for a small-sample degrees of freedom correction of the standard errors.
9) The options after the comma can be specified in any order. It does not matter.
10) This would be the traditional approach, yes. estat overid, difference could still be useful to check some other assumptions, e.g. the correct classification of variables as endogenous, predetermined, or exogenous. Please see the model selection section of my 2019 London Stata Conference presentation for an illustration.

Leave a comment: