I tried to get the best specification for my model by referring to Kiviet (2019) and Kripfganz (2019) using XTDPDGMM. I started with the endogenous model below as a start, but as we can see, it does not pass the under-identification test. However, its Hansen test, difference-in-Hansen, and AR2 requirement are all satisfied.
Code:
xtdpdgmm L(0/1).ln_output $var, coll model(diff) gmm(ln_output, lag(2 .)) gmm(ln_export, lag(2 .)) gmm(lgm2int, lag(2 .)) gmm(c.ln_export#c.lgm2int, lag(2 .)) gmm(ln_v1115, lag(2 .)) teffect two overid vce(robust) small
Code:
underid, overid underid kp sw noreport
Code:
collinearity check... collinearities detected in [Y X Z] (right to left): __alliv_18 __alliv_17 __alliv_16 collinearities detected in [X Z Y] (right to left): 2012.year 2011.year 2010bn.year warning: collinearities detected, reparameterization may be advisable Overidentification test: Kleibergen-Paap robust LIML-based (LM version) Test statistic robust to heteroskedasticity and clustering on psid j= 3.74 Chi-sq( 10) p-value=0.9584 Underidentification test: Kleibergen-Paap robust LIML-based (LM version) Test statistic robust to heteroskedasticity and clustering on psid j= 9.92 Chi-sq( 11) p-value=0.5378 2-step GMM J underidentification stats by regressor: j= 12.40 Chi-sq( 11) p-value=0.3345 L.ln_output j= 16.89 Chi-sq( 11) p-value=0.1112 ln_export j= 11.07 Chi-sq( 11) p-value=0.4371 lgm2int j= 11.38 Chi-sq( 11) p-value=0.4123 c.ln_export#c.lgm2int j= 22.75 Chi-sq( 11) p-value=0.0191 ln_v1115 j= 24.55 Chi-sq( 11) p-value=0.0106 2010bn.year j= 24.55 Chi-sq( 11) p-value=0.0106 2011.year j= 24.55 Chi-sq( 11) p-value=0.0106 2012.year
Code:
xtdpdgmm L(0/1).ln_output $var, coll model(diff) gmm(ln_output, lag(2 .)) gmm(ln_output, lag(1 1) model(level)) gmm(ln_v1115, lag(1 1) model(level)) teffect two overid vce(robust) small gmm(ln_export, lag(1 1) model(level)) gmm(lgm2int, lag(1 1) model(level)) gmm(c.ln_export#c.lgm2int, lag(1 1) model(level))
Code:
estat overid, difference Sargan-Hansen (difference) test of the overidentifying restrictions H0: (additional) overidentifying restrictions are valid 2-step weighting matrix from full model | Excluding | Difference Moment conditions | chi2 df p | chi2 df p ------------------+-----------------------------+----------------------------- 1, model(diff) | 0.0000 0 . | 1.8547 3 0.6031 2, model(level) | 1.5235 2 0.4669 | 0.3312 1 0.5649 3, model(level) | 1.6436 2 0.4396 | 0.2111 1 0.6459 4, model(level) | 1.6813 2 0.4314 | 0.1734 1 0.6771 5, model(level) | 1.6548 2 0.4372 | 0.2000 1 0.6548 6, model(level) | 1.7867 2 0.4093 | 0.0680 1 0.7943 7, model(level) | 0.0000 0 . | 1.8547 3 0.6031 model(level) | . -5 . | . . .
Code:
. estat serial, ar(1/2) Arellano-Bond test for autocorrelation of the first-differenced residuals H0: no autocorrelation of order 1: z = . Prob > |z| = . H0: no autocorrelation of order 2: z = 1.4313 Prob > |z| = 0.1523
Code:
. underid, underid kp sw noreport collinearity check... collinearities detected in [Y X Z] (right to left): __alliv_11 __alliv_10 __alliv_9 __alliv_4 collinearities detected in [X Z Y] (right to left): 2012.year 2011.year 2010bn.year L.ln_output warning: collinearities detected, reparameterization may be advisable Underidentification test: Kleibergen-Paap robust LIML-based (LM version) Test statistic robust to heteroskedasticity and clustering on psid j= 95.61 Chi-sq( 4) p-value=0.0000 2-step GMM J underidentification stats by regressor: j= 111.89 Chi-sq( 4) p-value=0.0000 L.ln_output j= 90.59 Chi-sq( 4) p-value=0.0000 ln_export j= 74.49 Chi-sq( 4) p-value=0.0000 lgm2int j= 72.65 Chi-sq( 4) p-value=0.0000 c.ln_export#c.lgm2int j= 97.95 Chi-sq( 4) p-value=0.0000 ln_v1115 j= 942.49 Chi-sq( 4) p-value=0.0000 2010bn.year j= 942.49 Chi-sq( 4) p-value=0.0000 2011.year j= 942.49 Chi-sq( 4) p-value=0.0000 2012.year
1. Is this approach valid? Kiviet(2019) and Kripfganz(2019) provide examples started from Arellano-Bond followed by adding the differences as instruments for level. In my approach, all covariates rather than lagged-dependent variables only have differences for the level model.
2. If it is valid, can I say this one as system GMM (Blundel & Bond model)?
3. The MMSC prefer the first model to the second one, but the first one does not pass the under-identification test. Does it make sense that MMSC prefer an unproperly specified model?
Thank you very much.
Cheers,
Tiyo
Leave a comment: