Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Sebastian Kripfganz
    replied
    That's correct. Without the lagged dependent variable, it becomes a static model, similar to xtivreg, fe. You normally still need the same tests: the Hansen test for the validity of the overidentifying restrictions; and even the Arellano-Bond test for serial correlation, because the GMM-type instruments with lagged variables typically still rely on the assumption of no serial correlation in the untransformed errors.

    Leave a comment:


  • Mugi Jang
    replied
    Dear professor Sebastian Kripfganz
    Roodman said that xtabond2 does not require the lagged dependent variable to appear on the right-hand side(Roodman,2009.p.127.) .Then does the model change from dynamic to static and can we interpret the results as same as xtivreg,fe ? with applying gmm stype instrument for the other independent variables? In this case what kinds of test do the model have to pass?

    Leave a comment:


  • Sebastian Kripfganz
    replied
    I recommend to have a look at the tests implemented in the underid command; see slides 43 to 47 of my 2019 London Stata Conference presentation.

    Leave a comment:


  • Mugi Jang
    replied
    Dear professor Sebastian Kripfganz
    in diff or system gmm , in additio to hansen-sagan overidentifying restrictions test, is there any relevance test for the gmm or standard instruments?

    Leave a comment:


  • Sebastian Kripfganz
    replied
    Indeed, large sample sizes make it easier to detect violations of the model assumptions. Unfortunately, in your case the difference-in-Hansen tests are not helpful for finding a particular violation. I am afraid, further guidance needs to come from economic theory. For example, there might be relevant omitted variables, or it might be worth considering whether the timing of the effects is appropriate (i.e. whether contemporaneous regressors might be more appropriate than lagged regressors, or whether further lags might be relevant).

    Leave a comment:


  • Mugi Jang
    replied
    Dear Sebastian Kripfganz

    I got the following results
    The results satisfy the autocorrelation test but not the hansen test and also does not satisfy any Sargan-Hansen (difference) test of the overidentifying restrictions
    You said in somewhere post that if observation is very large then the model is very sensitive to the misspecification of model.
    Then do I have to disregard this model and data or is there any remedy for the rejection of sagan-hansen test?
    Thanks lot in advance


    xtdpdgmm L(0/1).dlntfp L(1/1).dlnrnd L(1/1).dinvest L(1/1).dlnrcapital i.type ,
    > model(diff) gmmiv(L.dlntfp, lag(1 . ) ) gmmiv(L.dlnrnd, lag(1 . )) gmmiv(L.dinves
    > t, lag(1 . )) gmmiv(L.dlnrcapital,lag(1 . )) gmmiv(L.dlntfp, model(l)lag(0 0)diff
    > ) gmmiv(L.dlnrnd, model(l)lag(0 0)diff) gmmiv(L.dinvest, model(l)lag(0 0)diff) gm
    > miv(L.dlnrcapital,model(l)lag(0 0)diff) iv( i.type ,model(l) )vce(robust) teffects
    > overid two


    Group variable: firmid Number of obs = 29827
    Time variable: year Number of groups = 4267

    Moment conditions: linear = 118 Obs per group: min = 4
    nonlinear = 0 avg = 6.990157
    total = 118 max = 7

    (Std. err. adjusted for 4,267 clusters in firmid)
    ------------------------------------------------------------------------------
    | WC-Robust
    dlntfp | Coefficient std. err. z P>|z| [95% conf. interval]
    -------------+----------------------------------------------------------------
    dlntfp |
    L1. | .4948371 .0166118 29.79 0.000 .4622785 .5273956
    |
    dlnrnd |
    L1. | .004618 .0017585 2.63 0.009 .0011713 .0080647
    |
    dinvest |
    L1. | -3.41e-07 9.33e-06 -0.04 0.971 -.0000186 .000018
    |
    dlnrcapital |
    L1. | -.0173935 .0027628 -6.30 0.000 -.0228086 -.0119785
    |
    _Itype_2 | -.0070249 .0048173 -1.46 0.145 -.0164667 .0024168
    _Itype_3 | -.0506892 .0107092 -4.73 0.000 -.0716788 -.0296995
    _Itype_4 | -.0626915 .0113263 -5.54 0.000 -.0848906 -.0404924
    |
    year |
    2016 | -.0126684 .0015735 -8.05 0.000 -.0157524 -.0095843
    2017 | -.0137031 .0016652 -8.23 0.000 -.0169667 -.0104394
    2018 | -.0061274 .0015763 -3.89 0.000 -.0092169 -.0030379
    2019 | -.017485 .0016935 -10.32 0.000 -.0208042 -.0141659
    2020 | -.0159248 .0017539 -9.08 0.000 -.0193625 -.0124872
    2021 | -.0141207 .001876 -7.53 0.000 -.0177975 -.0104439
    |
    _cons | .0527505 .010136 5.20 0.000 .0328844 .0726167
    ------------------------------------------------------------------------------
    Instruments corresponding to the linear moment conditions:
    1, model(diff):
    2016:L1.L.dlntfp 2017:L1.L.dlntfp 2018:L1.L.dlntfp 2019:L1.L.dlntfp
    2020:L1.L.dlntfp 2021:L1.L.dlntfp 2017:L2.L.dlntfp 2018:L2.L.dlntfp
    2019:L2.L.dlntfp 2020:L2.L.dlntfp 2021:L2.L.dlntfp 2018:L3.L.dlntfp
    2019:L3.L.dlntfp 2020:L3.L.dlntfp 2021:L3.L.dlntfp 2019:L4.L.dlntfp
    2020:L4.L.dlntfp 2021:L4.L.dlntfp 2020:L5.L.dlntfp 2021:L5.L.dlntfp
    2021:L6.L.dlntfp
    2, model(diff):
    2016:L1.L.dlnrnd 2017:L1.L.dlnrnd 2018:L1.L.dlnrnd 2019:L1.L.dlnrnd
    2020:L1.L.dlnrnd 2021:L1.L.dlnrnd 2017:L2.L.dlnrnd 2018:L2.L.dlnrnd
    2019:L2.L.dlnrnd 2020:L2.L.dlnrnd 2021:L2.L.dlnrnd 2018:L3.L.dlnrnd
    2019:L3.L.dlnrnd 2020:L3.L.dlnrnd 2021:L3.L.dlnrnd 2019:L4.L.dlnrnd
    2020:L4.L.dlnrnd 2021:L4.L.dlnrnd 2020:L5.L.dlnrnd 2021:L5.L.dlnrnd
    2021:L6.L.dlnrnd
    3, model(diff):
    2016:L1.L.dinvest 2017:L1.L.dinvest 2018:L1.L.dinvest 2019:L1.L.dinvest
    2020:L1.L.dinvest 2021:L1.L.dinvest 2017:L2.L.dinvest 2018:L2.L.dinvest
    2019:L2.L.dinvest 2020:L2.L.dinvest 2021:L2.L.dinvest 2018:L3.L.dinvest
    2019:L3.L.dinvest 2020:L3.L.dinvest 2021:L3.L.dinvest 2019:L4.L.dinvest
    2020:L4.L.dinvest 2021:L4.L.dinvest 2020:L5.L.dinvest 2021:L5.L.dinvest
    2021:L6.L.dinvest
    4, model(diff):
    2016:L1.L.dlnrcapital 2017:L1.L.dlnrcapital 2018:L1.L.dlnrcapital
    2019:L1.L.dlnrcapital 2020:L1.L.dlnrcapital 2021:L1.L.dlnrcapital
    2017:L2.L.dlnrcapital 2018:L2.L.dlnrcapital 2019:L2.L.dlnrcapital
    2020:L2.L.dlnrcapital 2021:L2.L.dlnrcapital 2018:L3.L.dlnrcapital
    2019:L3.L.dlnrcapital 2020:L3.L.dlnrcapital 2021:L3.L.dlnrcapital
    2019:L4.L.dlnrcapital 2020:L4.L.dlnrcapital 2021:L4.L.dlnrcapital
    2020:L5.L.dlnrcapital 2021:L5.L.dlnrcapital 2021:L6.L.dlnrcapital
    5, model(level):
    2016:D.L.dlntfp 2017:D.L.dlntfp 2018:D.L.dlntfp 2019:D.L.dlntfp
    2020:D.L.dlntfp 2021:D.L.dlntfp
    6, model(level):
    2016:D.L.dlnrnd 2017:D.L.dlnrnd 2018:D.L.dlnrnd 2019:D.L.dlnrnd
    2020:D.L.dlnrnd 2021:D.L.dlnrnd
    7, model(level):
    2016:D.L.dinvest 2017:D.L.dinvest 2018:D.L.dinvest 2019:D.L.dinvest
    2020:D.L.dinvest 2021:D.L.dinvest
    8, model(level):
    2016:D.L.dlnrcapital 2017:D.L.dlnrcapital 2018:D.L.dlnrcapital
    2019:D.L.dlnrcapital 2020:D.L.dlnrcapital 2021:D.L.dlnrcapital
    9, model(level):
    _Itype_2 _Itype_3 _Itype_4
    10, model(level):
    2016bn.year 2017.year 2018.year 2019.year 2020.year 2021.year
    11, model(level):
    _cons

    . estat serial, ar(1/3)

    Arellano-Bond test for autocorrelation of the first-differenced residuals
    H0: no autocorrelation of order 1 z = -20.4888 Prob > |z| = 0.0000
    H0: no autocorrelation of order 2 z = 1.3926 Prob > |z| = 0.1638
    H0: no autocorrelation of order 3 z = 1.2584 Prob > |z| = 0.2083

    . estat overid

    Sargan-Hansen test of the overidentifying restrictions
    H0: overidentifying restrictions are valid

    2-step moment functions, 2-step weighting matrix chi2(104) = 279.9075
    Prob > chi2 = 0.0000

    2-step moment functions, 3-step weighting matrix chi2(104) = 277.7027
    Prob > chi2 = 0.0000

    . 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) | 146.8224 83 0.0000 | 133.0851 21 0.0000
    2, model(diff) | 239.7621 83 0.0000 | 40.1453 21 0.0071
    3, model(diff) | 258.7313 83 0.0000 | 21.1761 21 0.4482
    4, model(diff) | 224.2280 83 0.0000 | 55.6795 21 0.0001
    5, model(level) | 254.1427 98 0.0000 | 25.7648 6 0.0002
    6, model(level) | 265.6027 98 0.0000 | 14.3047 6 0.0264
    7, model(level) | 273.3105 98 0.0000 | 6.5969 6 0.3597
    8, model(level) | 266.5003 98 0.0000 | 13.4072 6 0.0370
    9, model(level) | 272.5903 101 0.0000 | 7.3171 3 0.0624
    10, model(level) | 271.3848 98 0.0000 | 8.5227 6 0.2023
    model(diff) | 75.4602 20 0.0000 | 204.4472 84 0.0000
    model(level) | 194.3691 71 0.0000 | 85.5384 33 0.0000



    .

    Leave a comment:


  • Sebastian Kripfganz
    replied
    The test statistic produced by your estat overid onelevel command is calculated as the difference of the individual Hansen test statistics from the two models, as you already observed. The right comparison in the output of estat overid, difference would be the very last row, where the difference test statistic is shown as 8.1042. These numbers do not coincide exactly, because for the estat overid, difference table the reduced model (without the level moment conditions) was computed using a restricted weighting matrix, taking the weighting matrix of the full model and leaving out the rows and columns for the level model. This weighting matrix differs from the one computed for the first model. The two test statistics are asymptotically equivalent, but not identical in finite samples.

    The benefit of using the restricted weighting matrix is that it does not require estimating both models, and that the test statistic is guaranteed to be non-negative. The advantage of comparing the Hansen tests from two separately estimated models is that it gives you full flexibility about which moment conditions you want to test without getting lost in the larger table produced by estat overid, difference.

    Leave a comment:


  • Mugi Jang
    replied
    Dear professor Sebastian Kripfganz
    You recommended me to try the manual difference-in-Hansen test outlined on slide 49 of your 2019 London Stata Conference presentation
    So I tried as follows

    *comparison of one and two level equation
    1.nested model
    xtdpdgmm L(0/1).n w k, model(diff) collapse gmm(n, lag(2 4)) gmm(w k, lag(1 3)) gmm(n, lag(1 1)diff model(level)) two vce(r) overid // gmm(w k, lag(0 0) diff model(level)) dropped
    estat overid
    estimates store onelevel

    2.nesting full model
    xtdpdgmm L(0/1).n w k, model(diff) collapse gmm(n, lag(2 4)) gmm(w k, lag(1 3)) gmm(n, lag(1 1) diff model(level)) gmm(w k, lag(0 0) diff model(level)) two vce(r) overid
    estat overid
    estat overid,difference
    estat overid onelevel

    From the 1.nested model the output is as follows
    1, model(diff):
    L2.n L3.n L4.n
    2, model(diff):
    L1.w L2.w L3.w L1.k L2.k L3.k
    3, model(level):
    L1.D.n

    . estat overid

    Sargan-Hansen test of the overidentifying restrictions
    H0: overidentifying restrictions are valid
    2-step moment functions, 2-step weighting matrix chi2(7) = 8.2384
    Prob > chi2 = 0.3120
    2-step moment functions, 3-step weighting matrix chi2(7) = 6.6284
    Prob > chi2 = 0.4686


    From the 2.nesting full model the output is as follows

    1, model(diff):
    L2.n L3.n L4.n
    2, model(diff):
    L1.w L2.w L3.w L1.k L2.k L3.k
    3, model(level):
    L1.D.n
    4, model(level):
    D.w D.k
    5, model(level):
    _cons

    . estat overid
    Sargan-Hansen test of the overidentifying restrictions
    H0: overidentifying restrictions are valid

    2-step moment functions, 2-step weighting matrix chi2(9) = 16.1962
    Prob > chi2 = 0.0629

    2-step moment functions, 3-step weighting matrix chi2(9) = 13.8077
    Prob > chi2 = 0.1293

    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) | 14.6666 6 0.0230 | 1.5296 3 0.6754
    2, model(diff) | 4.0234 3 0.2590 | 12.1728 6 0.0582
    3, model(level) | 15.8404 8 0.0447 | 0.3558 1 0.5509
    4, model(level) | 12.0861 7 0.0978 | 4.1102 2 0.1281
    model(diff) | 0.0000 0 . | 16.1962 9 0.0629
    model(level) | 8.0920 6 0.2314 | 8.1042 3 0.0439


    Finally I utilized the xtdpdgmm postestimation command estat overid to compute the difference of two nested overidentification test statistics


    estat overid onelevel

    Sargan-Hansen difference test of the overidentifying restrictions
    H0: additional overidentifying restrictions are valid
    2-step moment functions, 2-step weighting matrix chi2(2) = 7.9578
    Prob > chi2 = 0.0187
    2-step moment functions, 3-step weighting matrix chi2(2) = 7.1793
    Prob > chi2 = 0.0276


    Here are my questions
    why does not the values of the last Sargan-Hansen difference test (right above)match to Sargan-Hansen (difference) test of the overidentifying restrictions of nesting model

    7.9578 != 4.1102

    But it matches to the difference value of the two model's Sargan-Hansen test of the overidentifying restrictions


    16.1962 - 8.2384 = 7.9578

    why I can't find this value(7.9578) in the 2.nesting full model's "| Excluding | Difference output" table
    and also after excluding the model 4 the chi2 value of nesting model is 12.0861 not 8.2384 in "| Excluding | Difference output" table

    Thanks lot in advance

    Leave a comment:


  • Sebastian Kripfganz
    replied
    Filip Novinc
    1. If the difference-in-Hansen test fails for one set of instruments, it might be reasonable to just drop this set of instruments and continue with all of the other instruments. You might want to test for potential underidentification problems after dropping a set of instruments using the underid postestimation command.
    2. Which tests you report depends on the message you want to conveye. A good strategy might be to report the overall Hansen test and a single difference-in-Hansen test for all level instruments jointly. If you want to be more specific about different sets of instruments, you can also report all of the individual circled difference-in-Hansen tests.
    3. (a) is a robustness test to potential problems with estimating the optimal weighting matrix; this could be useful. (b) is unclear to me what kind of robustness you are assessing; depends on your research question. (c) it is not sure what you will achieve with these comparisons. (d) it might be insightful to check the robustness to different lag lengths for the instruments.

    Mugi Jang
    1. Note that with model(fod), the contemporaneous variables (lag 0) already qualify as instruments (for exogenous and predetermined variables). The test results here look all fine.
    2. It is hard to say what is going on here. You might want to try keeping the instruments for the indicator variables for the first-differenced model, at least for testing purposes. You could also try the manual difference-in-Hansen test outlined on slide 49 of my 2019 London Stata Conference presentation; make sure that the smaller model is nested in the larger one!

    Leave a comment:


  • Mugi Jang
    replied
    Dear professor Kripfganz
    I am trying to measure the rate of return to R&D , so I build a model dyanmic panel data model
    dlntfp(firm performance) = L.dlntfp + L.dlnrnd(firm RnD investment) + L.dinvest(firm physical invest) + L.dlnrcapital(firm captal sotck) + i.type_num(firm tipe)
    I first implemented model(fod) collapse nolevel and second stage I added the level equation
    then at the second stage the excluding differenc hansen test value changed form insignificant to significant
    what does this phenomina happen?
    If the results of difference gmm does not satisfy anyone of test(Arellano-Bond test for autocorrelation of the first-differenced residuals, Sargan-Hansen test of the overidentifying restrictions ,Sargan-Hansen (difference) test of the overidentifying restrictions) then can't we move to sys-gmm.
    Thanks lot!



    1. only model(fod) not level equation

    . xi:xtdpdgmm L(0/1).dlntfp L(1/1).dlnrnd L(1/1).dinvest L(1/1).dlnrcapital i.type_num , model(fod
    > ) collapse iv( i.type ) gmmiv(L.dlntfp, lag(1 3 ) ) gmmiv(L.dlnrnd, lag(1 3 )) gmmiv(L.dinvest,
    > lag(1 3 )) gmmiv(L.dlnrcapital,lag(1 3 )) vce(robust) teffects overid two
    i.type_num _Itype_num_1-4 (naturally coded; _Itype_num_1 omitted)
    i.type _Itypea1-4 (_Itypea1 for type==대기업 omitted)

    Generalized method of moments estimation


    Group variable: firmid Number of obs = 5690
    Time variable: year Number of groups = 815

    Moment conditions: linear = 22 Obs per group: min = 4
    nonlinear = 0 avg = 6.981595
    total = 22 max = 7

    (Std. err. adjusted for 815 clusters in firmid)
    ------------------------------------------------------------------------------
    | WC-Robust
    dlntfp | Coefficient std. err. z P>|z| [95% conf. interval]
    -------------+----------------------------------------------------------------
    dlntfp |
    L1. | .2366397 .1872553 1.26 0.206 -.130374 .6036533
    |
    dlnrnd |
    L1. | -.0956772 .0571342 -1.67 0.094 -.2076581 .0163037
    |
    dinvest |
    L1. | .0007188 .0010524 0.68 0.495 -.0013438 .0027815
    |
    dlnrcapital |
    L1. | -.0430342 .0297595 -1.45 0.148 -.1013618 .0152934
    |
    _Itype_num_2 | .0423446 .1142619 0.37 0.711 -.1816045 .2662937
    _Itype_num_3 | .0406287 .0307536 1.32 0.186 -.0196472 .1009046
    _Itype_num_4 | .087836 .0908781 0.97 0.334 -.0902819 .2659538
    |
    year |
    2016 | -.0333049 .0093917 -3.55 0.000 -.0517122 -.0148976
    2017 | -.0495779 .0079012 -6.27 0.000 -.065064 -.0340919
    2018 | -.0027143 .0064672 -0.42 0.675 -.0153898 .0099612
    2019 | -.0495071 .0129707 -3.82 0.000 -.0749292 -.024085
    2020 | .0116514 .009511 1.23 0.221 -.0069897 .0302926
    2021 | -.054457 .0174896 -3.11 0.002 -.0887359 -.0201781
    |
    _cons | -.0319817 .1018606 -0.31 0.754 -.2316247 .1676614
    ------------------------------------------------------------------------------
    Instruments corresponding to the linear moment conditions:
    1, model(fodev):
    L1.L.dlntfp L2.L.dlntfp L3.L.dlntfp
    2, model(fodev):
    L1.L.dlnrnd L2.L.dlnrnd L3.L.dlnrnd
    3, model(fodev):
    L1.L.dinvest L2.L.dinvest L3.L.dinvest
    4, model(fodev):
    L1.L.dlnrcapital L2.L.dlnrcapital L3.L.dlnrcapital
    5, model(fodev):
    _Itypea2 _Itypea3 _Itypea4
    6, model(level):
    2016bn.year 2017.year 2018.year 2019.year 2020.year 2021.year
    7, model(level):
    _cons

    . estat serial, ar(1/3)

    Arellano-Bond test for autocorrelation of the first-differenced residuals
    H0: no autocorrelation of order 1 z = -2.6375 Prob > |z| = 0.0084
    H0: no autocorrelation of order 2 z = -0.5151 Prob > |z| = 0.6065
    H0: no autocorrelation of order 3 z = 0.4108 Prob > |z| = 0.6812

    . estat overid

    Sargan-Hansen test of the overidentifying restrictions
    H0: overidentifying restrictions are valid

    2-step moment functions, 2-step weighting matrix chi2(8) = 9.4444
    Prob > chi2 = 0.3062

    2-step moment functions, 3-step weighting matrix chi2(8) = 11.7550
    Prob > chi2 = 0.1625

    . 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(fodev) | 6.0013 5 0.3061 | 3.4431 3 0.3282
    2, model(fodev) | 7.4374 5 0.1901 | 2.0070 3 0.5709
    3, model(fodev) | 6.1205 5 0.2947 | 3.3239 3 0.3443
    4, model(fodev) | 5.8152 5 0.3246 | 3.6292 3 0.3044
    5, model(fodev) | 8.3917 5 0.1359 | 1.0527 3 0.7885
    6, model(level) | 4.0922 2 0.1292 | 5.3523 6 0.4995
    model(fodev) | . -7 . | . . .




    2. adding sys-gmm

    . xtdpdgmm L(0/1).dlntfp L(1/1).dlnrnd L(1/1).dinvest L(1/1).dlnrcapital i.type_num , model(fod) collapse gmmiv(L.dlntfp, lag(1 . ) )
    >gmmiv(L.dlnrnd, lag(1 . )) gmmiv(L.dinvest, lag(1 . )) gmm
    > iv(L.dlnrcapital,lag(1 . )) gmmiv(L.dlntfp, model(l)lag(0 0) ) gmmiv(L.dlnrnd, model(l)lag(0 0))
    > gmmiv(L.dinvest, model(l)lag(0 0)) gmmiv(L.dlnrcapital,model(l)lag(0 0)) iv( i.type ,model(l) )
    > vce(robust) teffects overid
    i.type_num _Itype_num_1-4 (naturally coded; _Itype_num_1 omitted)
    i.type _Itypea1-4 (_Itypea1 for type==대기업 omitted)

    Generalized method of moments estimation



    Group variable: firmid Number of obs = 5690
    Time variable: year Number of groups = 815

    Moment conditions: linear = 34 Obs per group: min = 4
    nonlinear = 0 avg = 6.981595
    total = 34 max = 7

    (Std. err. adjusted for 815 clusters in firmid)
    ------------------------------------------------------------------------------
    | Robust
    dlntfp | Coefficient std. err. z P>|z| [95% conf. interval]
    -------------+----------------------------------------------------------------
    dlntfp |
    L1. | .6732203 .0246499 27.31 0.000 .6249074 .7215332
    |
    dlnrnd |
    L1. | .0140929 .0018071 7.80 0.000 .0105511 .0176346
    |
    dinvest |
    L1. | 5.76e-06 7.07e-06 0.82 0.415 -8.10e-06 .0000196
    |
    dlnrcapital |
    L1. | -.0123889 .0017524 -7.07 0.000 -.0158236 -.0089542
    |
    _Itype_num_2 | -.0007039 .0083043 -0.08 0.932 -.0169801 .0155723
    _Itype_num_3 | .0167453 .0080707 2.07 0.038 .000927 .0325635
    _Itype_num_4 | .0119466 .0081141 1.47 0.141 -.0039568 .0278499
    |
    year |
    2016 | -.0458018 .005804 -7.89 0.000 -.0571774 -.0344262
    2017 | -.0513295 .0055171 -9.30 0.000 -.0621428 -.0405162
    2018 | .0014926 .0048898 0.31 0.760 -.0080912 .0110764
    2019 | -.0680147 .0056909 -11.95 0.000 -.0791686 -.0568607
    2020 | .0193935 .0058651 3.31 0.001 .0078981 .0308889
    2021 | -.0765423 .0055467 -13.80 0.000 -.0874137 -.0656709
    |
    _cons | .0185271 .0081254 2.28 0.023 .0026016 .0344526
    ------------------------------------------------------------------------------
    Instruments corresponding to the linear moment conditions:
    1, model(fodev):
    L1.L.dlntfp L2.L.dlntfp L3.L.dlntfp L4.L.dlntfp L5.L.dlntfp
    2, model(fodev):
    L1.L.dlnrnd L2.L.dlnrnd L3.L.dlnrnd L4.L.dlnrnd L5.L.dlnrnd
    3, model(fodev):
    L1.L.dinvest L2.L.dinvest L3.L.dinvest L4.L.dinvest L5.L.dinvest
    4, model(fodev):
    L1.L.dlnrcapital L2.L.dlnrcapital L3.L.dlnrcapital L4.L.dlnrcapital
    L5.L.dlnrcapital
    5, model(level):
    L.dlntfp
    6, model(level):
    L.dlnrnd
    7, model(level):
    L.dinvest
    8, model(level):
    L.dlnrcapital
    9, model(level):
    _Itypea2 _Itypea3 _Itypea4
    10, model(level):
    2016bn.year 2017.year 2018.year 2019.year 2020.year 2021.year
    11, model(level):
    _cons

    . estat serial, ar(1/3)

    Arellano-Bond test for autocorrelation of the first-differenced residuals
    H0: no autocorrelation of order 1 z = -10.9716 Prob > |z| = 0.0000
    H0: no autocorrelation of order 2 z = 0.4605 Prob > |z| = 0.6451
    H0: no autocorrelation of order 3 z = 1.2161 Prob > |z| = 0.2239

    . estat overid

    Sargan-Hansen test of the overidentifying restrictions
    H0: overidentifying restrictions are valid

    1-step moment functions, 1-step weighting matrix chi2(20) = 68.5536
    note: * Prob > chi2 = 0.0000

    1-step moment functions, 2-step weighting matrix chi2(20) = 55.3697
    note: * Prob > chi2 = 0.0000

    * asymptotically invalid if the one-step weighting matrix is not optimal

    . estat overid, difference

    Sargan-Hansen (difference) test of the overidentifying restrictions
    H0: (additional) overidentifying restrictions are valid

    1-step weighting matrix from full model
    note: asymptotically invalid if the one-step weighting matrix is not optimal

    | Excluding | Difference
    Moment conditions | chi2 df p | chi2 df p
    ------------------+-----------------------------+-----------------------------
    1, model(fodev) | 56.1563 15 0.0000 | 12.3972 5 0.0297
    2, model(fodev) | 58.8869 15 0.0000 | 9.6666 5 0.0853
    3, model(fodev) | 53.7500 15 0.0000 | 14.8036 5 0.0112
    4, model(fodev) | 62.2399 15 0.0000 | 6.3137 5 0.2769
    5, model(level) | 55.4676 19 0.0000 | 13.0860 1 0.0003
    6, model(level) | 62.7131 19 0.0000 | 5.8405 1 0.0157
    7, model(level) | 61.7584 19 0.0000 | 6.7951 1 0.0091
    8, model(level) | 64.4376 19 0.0000 | 4.1159 1 0.0425
    9, model(level) | 59.0935 17 0.0000 | 9.4600 3 0.0238
    10, model(level) | 56.8654 14 0.0000 | 11.6881 6 0.0693
    model(fodev) | 0.3769 0 . | 68.1766 20 0.0000
    model(level) | 11.5289 7 0.1172 | 57.0247 13 0.0000

    Leave a comment:


  • Filip Novinc
    replied
    Dear professor Kripfganz,

    Regarding difference-in-Hansen test after xtdpdgmm estimation, may I ask two questions please:

    1) If moment conditions for just one variable in model(level) do not pass the test, is it ok not to use instruments for model(level) just for that variable? Do reviewers see this as a cherry-picking or is it legit?

    2) estat overid, difference gave me the following output:
    Click image for larger version

Name:	diff-in-Hansen.png
Views:	1
Size:	33.1 KB
ID:	1713710


    Is it ok to report overall Hansen test + p-values circled in red (since these test the Blundell-Bond assumption, if my understading is correct)?

    I am asking this since I've got a lot of models to report, but cannot figure out how to extract the diff-in-Hansen test in a table to word document. Any suggestions here?

    3) For the purpose of testing robustness of dynamic panel data SYS-GMM estimation, what of the following do you suggest: a) comparing twostep and igmm estimations; b) using another (similar) dependent variable; c) reporting FE and OLS estimations; d) something else?

    Leave a comment:


  • Mugi Jang
    replied
    Thank you very much Sebastian Kripfganz
    and sorry about my misnumbering
    2.Second Q corresponds to 3.Replacing with higher lagged
    and
    3. Third Q corresponds to 2.including higher lagged differenced instruments
    ​​​​​​​
    Anyway I clearly understand what redundant means
    Thanks lot again!

    Leave a comment:


  • Sebastian Kripfganz
    replied
    1. Redundant means that these instruments are perfectly collinear with the already included instruments. Therefore, you do not need to include them because they would be dropped during the estimation anyway (just as any estimation command drops regressors which are perfectly collinear with others). However, strictly speaking, these additional lagged instruments for the level model are only redundant if ALL lags for the first-differenced model are used WITHOUT collapsing (and with balanced panel data). As soon as you collapse the instruments or limit their lag order, there is a good chance that the extra lags for the level model are no longer redundant, and therefore could be used in the estimation.
    2. Yes, that would exactly be the recommended approach.
    3. In your example, the higher-order lags are not strictly redundant because the lag limit for the first-differenced model is restricted to 3 and the instruments are also collapsed.
    Here is an example of that redundancy, where adding the first lag of the instruments for the model in level neither changes the number of instruments actually used nor the estimation results:
    Code:
    . webuse psidextract
    
    . xtdpdgmm L(0/1).lwage wks, gmm(L.lwage wks, l(1 .) m(d)) gmm(L.lwage wks, d l(0 0)) vce(r)
    
    Generalized method of moments estimation
    
    Fitting full model:
    Step 1         f(b) =  .02160153
    
    Group variable: id                           Number of obs         =      3570
    Time variable: t                             Number of groups      =       595
    
    Moment conditions:     linear =      47      Obs per group:    min =         6
                        nonlinear =       0                        avg =         6
                            total =      47                        max =         6
    
                                       (Std. err. adjusted for 595 clusters in id)
    ------------------------------------------------------------------------------
                 |               Robust
           lwage | Coefficient  std. err.      z    P>|z|     [95% conf. interval]
    -------------+----------------------------------------------------------------
           lwage |
             L1. |   .8324395   .0321538    25.89   0.000     .7694192    .8954597
                 |
             wks |  -.0000475   .0014533    -0.03   0.974     -.002896    .0028009
           _cons |   1.209187   .2559019     4.73   0.000     .7076281    1.710745
    ------------------------------------------------------------------------------
    Instruments corresponding to the linear moment conditions:
     1, model(diff):
       3:L1.L.lwage 4:L1.L.lwage 5:L1.L.lwage 6:L1.L.lwage 7:L1.L.lwage
       4:L2.L.lwage 5:L2.L.lwage 6:L2.L.lwage 7:L2.L.lwage 5:L3.L.lwage
       6:L3.L.lwage 7:L3.L.lwage 6:L4.L.lwage 7:L4.L.lwage 7:L5.L.lwage 3:L1.wks
       4:L1.wks 5:L1.wks 6:L1.wks 7:L1.wks 3:L2.wks 4:L2.wks 5:L2.wks 6:L2.wks
       7:L2.wks 4:L3.wks 5:L3.wks 6:L3.wks 7:L3.wks 5:L4.wks 6:L4.wks 7:L4.wks
       6:L5.wks 7:L5.wks 7:L6.wks
     2, model(level):
       3:D.L.lwage 4:D.L.lwage 5:D.L.lwage 6:D.L.lwage 7:D.L.lwage 2:D.wks 3:D.wks
       4:D.wks 5:D.wks 6:D.wks 7:D.wks
     3, model(level):
       _cons
    
    . xtdpdgmm L(0/1).lwage wks, gmm(L.lwage wks, l(1 .) m(d)) gmm(L.lwage wks, d l(0 1)) vce(r)
    
    Generalized method of moments estimation
    
    Fitting full model:
    Step 1         f(b) =  .02160153
    
    Group variable: id                           Number of obs         =      3570
    Time variable: t                             Number of groups      =       595
    
    Moment conditions:     linear =      47      Obs per group:    min =         6
                        nonlinear =       0                        avg =         6
                            total =      47                        max =         6
    
                                       (Std. err. adjusted for 595 clusters in id)
    ------------------------------------------------------------------------------
                 |               Robust
           lwage | Coefficient  std. err.      z    P>|z|     [95% conf. interval]
    -------------+----------------------------------------------------------------
           lwage |
             L1. |   .8324395   .0321538    25.89   0.000     .7694192    .8954597
                 |
             wks |  -.0000475   .0014533    -0.03   0.974     -.002896    .0028009
           _cons |   1.209187   .2559019     4.73   0.000     .7076281    1.710745
    ------------------------------------------------------------------------------
    Instruments corresponding to the linear moment conditions:
     1, model(diff):
       3:L1.L.lwage 4:L1.L.lwage 5:L1.L.lwage 6:L1.L.lwage 7:L1.L.lwage
       4:L2.L.lwage 5:L2.L.lwage 6:L2.L.lwage 7:L2.L.lwage 5:L3.L.lwage
       6:L3.L.lwage 7:L3.L.lwage 6:L4.L.lwage 7:L4.L.lwage 7:L5.L.lwage 3:L1.wks
       4:L1.wks 5:L1.wks 6:L1.wks 7:L1.wks 3:L2.wks 4:L2.wks 5:L2.wks 6:L2.wks
       7:L2.wks 4:L3.wks 5:L3.wks 6:L3.wks 7:L3.wks 5:L4.wks 6:L4.wks 7:L4.wks
       6:L5.wks 7:L5.wks 7:L6.wks
     2, model(level):
       3:D.L.lwage 5:D.L.lwage 6:D.L.lwage 7:D.L.lwage 5:L1.D.L.lwage 2:D.wks
       4:D.wks 6:D.wks 7:D.wks 4:L1.D.wks 6:L1.D.wks
     3, model(level):
       _cons

    Leave a comment:


  • Mugi Jang
    replied
    Dear professor Sebastian Kripfganz
    I hope you are well today
    Always thank you for your clear answer
    This time I have three question as followings
    1.First Q
    In your London presentation(2019)p.31 you tald that "In combination with the moment conditions for the differenced model, further lags for the level model are redundant" with roodman(2009), and Arellano and Bover(1995)
    Here what is the exact meaning of redundant? does it mean that we do not need to include higher order lags or must not use higer lags additionally ?

    2.Second Q
    another question is if higher order lags are redundant and it is better to use only one moment contion then instead of using the first zero lag can we use higher lag one. in case of predetermined variable

    3. Third Q
    Last, if higher lags are redundant, then why including the higer lags affect the estimation results


    The folliwings are three case
    1.using only first differenced instrument in level equation :gmm(n, lag(1 1) diff model(level))
    xtdpdgmm L(0/1).n w k, model(diff) collapse gmm(n, lag(2 4)) gmm(w k, lag(1 3)) gmm(n, lag(1 1) diff model(level)) gmm(w k, lag(0 0) diff model(level)) two vce(r) // p.36

    ------------------------------------------------------------------------------
    | WC-Robust
    n | Coefficient std. err. z P>|z| [95% conf. interval]
    -------------+----------------------------------------------------------------
    n |
    L1. | .5117523 .1208484 4.23 0.000 .2748937 .7486109
    |
    w | -1.323125 .2383451 -5.55 0.000 -1.790273 -.855977
    k | .1931365 .0941343 2.05 0.040 .0086367 .3776363
    _cons | 4.698425 .7943584 5.91 0.000 3.141511 6.255339
    ------------------------------------------------------------------------------

    2.including higher lagged differenced instruments in level equation :gmm(n, lag(1 3) diff model(level))
    xtdpdgmm L(0/1).n w k, model(diff) collapse gmm(n, lag(2 4)) gmm(w k, lag(1 3)) gmm(n, lag(1 3) diff model(level)) gmm(w k, lag(0 0) diff model(level)) two vce(r) // p.36

    ------------------------------------------------------------------------------
    | WC-Robust
    n | Coefficient std. err. z P>|z| [95% conf. interval]
    -------------+----------------------------------------------------------------
    n |
    L1. | .4951825 .0955246 5.18 0.000 .3079577 .6824073
    |
    w | -1.2974 .192342 -6.75 0.000 -1.674383 -.9204167
    k | .2078625 .0951428 2.18 0.029 .0213861 .394339
    _cons | 4.649591 .5885837 7.90 0.000 3.495989 5.803194
    ------------------------------------------------------------------------------


    ​​​​​​​3.Replacing with higher lagged differenced instruments in level equation :gmm(n, lag(3 3) diff model(level))
    xtdpdgmm L(0/1).n w k, model(diff) collapse gmm(n, lag(2 4)) gmm(w k, lag(1 3)) gmm(n, lag(3 3) diff model(level)) gmm(w k, lag(0 0) diff model(level)) two vce(r) // p.36

    ------------------------------------------------------------------------------
    | WC-Robust
    n | Coefficient std. err. z P>|z| [95% conf. interval]
    -------------+----------------------------------------------------------------
    n |
    L1. | .4765705 .0994517 4.79 0.000 .2816488 .6714922
    |
    w | -1.412922 .2631131 -5.37 0.000 -1.928614 -.8972297
    k | .1916385 .1015619 1.89 0.059 -.0074192 .3906962
    _cons | 5.016399 .8148121 6.16 0.000 3.419396 6.613401
    ------------------------------------------------------------------------------

    Thank you so much again!!!

    Leave a comment:


  • Sebastian Kripfganz
    replied
    Because they are are used for different model transformations - here: forward-orthogonal deviations and mean deviations - these instruments (more precisely: these moment conditions) carry different informational content. If that was not the case, the command would automatically drop redundant instruments.

    Let F be the forward-orthogonal deviations transformation matrix, M be the mean deviations transformation matrix, Z be the untransformed instrument, and e be the untransformed errors. The respective moment conditions are
    E [Z' (F e)] = 0 for the forward-orthogonally deviated errors
    E [Z' (M e)] = 0 for the mean deviated errors

    Now redefine the Zf = F' Z and Zm = M' Z, then the moment conditions can be written as
    E [Zf' e] = 0 for the level errors
    E [Zm' e] = 0 for the level errors

    Clearly, Zf and Zm are different instruments (even though Z was initially the same). See also slide 33 of my presentation.

    Leave a comment:

Working...
X