In your specification, ob_agre subnormal inadpf log_pib log_iasc are treated as strictly exogenous, not predetermined. Also, you implicitly assume that they are uncorrelated with the unobserved "fixed effects", because they are used as instruments without the first-difference transformation in the level model. You might want to change your code as follows:
Code:
xtdpdgmm pntbt L.pntbt ob_agre subnormal inadpf log_decapu log_pib log_iasc log_tarid, /// gmmiv(L.pntbt, lag(2 2) m(d) collapse) /// gmmiv(L.pntbt, lag(1 1) m(l) diff collapse) /// gmmiv(log_decapu, lag(2 2) m(d) collapse) /// gmmiv(log_decapu, lag(1 1) m(l) diff collapse) /// gmmiv(log_tarid, lag(2 2) m(d) collapse) /// gmmiv(log_tarid, lag(1 1) m(l) diff collapse) /// gmmiv(ob_agre subnormal inadpf log_pib log_iasc, lag(1 1) m(d) collapse) /// gmmiv(ob_agre subnormal inadpf log_pib log_iasc, lag(1 1) m(l) diff collapse) /// twostep vce(r) overid
One possibility to deal with the differences in the overidentification tests would be to consider an iterated GMM estimator (option igmm instead of twostep), although this could aggravate any problems if there is a weak identification problem. I would suggest to check for weak identification with the underid command (available from SSC and explained in my presentation).
For correct specification, you want the Difference-in-Hansen tests to not reject the null hypothesis. But for this test to be valid, it is initially required that the test in the "Excluding" column also does not reject the null hypothesis. In your case, none of the tests gives rise to an obvious concern, but the p-values are also not large enough to be entirely comfortable.
Leave a comment: