Announcement

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

  • System-GMM and iv() option

    I’d like to ask for your advice. I’m implementing system-GMM, using xtabond2 and xtdpdgmm. Is it a common thing for the statistical significance of an independent variable(s) to improve when you specify iv() option, as opposed to not use iv()? If it is, would you tell me what could explain it?

    I understand that this is a vague question, but I would be grateful if you could teach me.

    Thank you in advance for your help.

    Taka

  • #2
    It would help if you would prefer the two xtdpdgmm command lines with and without the iv() option, to see which two models you are comparing with each other. iv() is just a collapsed version of gmm(); i.e. iv(x) is equivalent to gmm(x, lag(0 0) collapse) in xtdpdgmm.
    https://www.kripfganz.de/stata/

    Comment


    • #3
      Thank you, Sebastian, for reaching out. It means a lot to me.

      Below is an example of two models I'm talking about. The variable sme in iv() is a dummy variable.

      Code:
      xtdpdgmm gdpgrow koenpov50d  gfcfgrow hfcegrow  l.lrgdpopc if id~=10 & year>1979,gmm(gdpgrow koenpov50d   gfcfgrow hfcegrow  l.lrgdpopc , lag(2 2) collapse model(diff)) gmm(gdpgrow koenpov50d   gfcfgrow hfcegrow  l.lrgdpopc, lag(1 1) diff collapse model(level)) iv(sme,model(level))   one vce(cl id) small
      Code:
      . xtdpdgmm gdpgrow koenpov50d  gfcfgrow hfcegrow  l.lrgdpopc if id~=10 & year>1979,gmm(gdpgrow koenpov50d   gfc
      > fgrow hfcegrow  l.lrgdpopc , lag(2 2) collapse model(diff)) gmm(gdpgrow koenpov50d   gfcfgrow hfcegrow  l.lrg
      > dpopc, lag(1 1) diff collapse model(level)) iv(sme,model(level))    one vce(cl id) small
      
      Generalized method of moments estimation
      
      Fitting full model:
      Step 1         f(b) =  .23404348
      
      Group variable: id                           Number of obs         =       156
      Time variable: year                          Number of groups      =        18
      
      Moment conditions:     linear =      12      Obs per group:    min =         1
                          nonlinear =       0                        avg =  8.666667
                              total =      12                        max =        25
      
                                                 (Std. err. adjusted for 18 clusters in id)
      -------------------------------------------------------------------------------------
                          |               Robust
                  gdpgrow | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
      --------------------+----------------------------------------------------------------
      koenpov50disposable |  -.1138923   .0473851    -2.40   0.028    -.2138661   -.0139184
                 gfcfgrow |    .137214   .0405356     3.39   0.004     .0516914    .2227366
                 hfcegrow |   .4423166   .1265288     3.50   0.003     .1753642    .7092691
                          |
                 lrgdpopc |
                      L1. |  -1.846811   1.181179    -1.56   0.136     -4.33888    .6452584
                          |
                    _cons |   20.89098   12.56187     1.66   0.115    -5.612262    47.39421
      -------------------------------------------------------------------------------------
      Instruments corresponding to the linear moment conditions:
       1, model(diff):
         L2.gdpgrow L2.koenpov50disposable L2.gfcfgrow L2.hfcegrow L2.L.lrgdpopc
       2, model(level):
         L1.D.gdpgrow L1.D.koenpov50disposable L1.D.gfcfgrow L1.D.hfcegrow
         L1.D.L.lrgdpopc
       3, model(level):
         sme
       4, model(level):
         _cons

      Code:
      xtdpdgmm gdpgrow koenpov50d  gfcfgrow hfcegrow  l.lrgdpopc if id~=10 & year>1979,gmm(gdpgrow koenpov50d   gfcfgrow hfcegrow  l.lrgdpopc , lag(2 2) collapse model(diff)) gmm(gdpgrow koenpov50d   gfcfgrow hfcegrow  l.lrgdpopc, lag(1 1) diff collapse model(level))    one vce(cl id) small
      Code:
      . xtdpdgmm gdpgrow koenpov50d  gfcfgrow hfcegrow  l.lrgdpopc if id~=10 & year>1979,gmm(gdpgrow koenpov50d   gfc
      > fgrow hfcegrow  l.lrgdpopc , lag(2 2) collapse model(diff)) gmm(gdpgrow koenpov50d   gfcfgrow hfcegrow  l.lrg
      > dpopc, lag(1 1) diff collapse model(level))    one vce(cl id) small
      
      Generalized method of moments estimation
      
      Fitting full model:
      Step 1         f(b) =  .23131206
      
      Group variable: id                           Number of obs         =       156
      Time variable: year                          Number of groups      =        18
      
      Moment conditions:     linear =      11      Obs per group:    min =         1
                          nonlinear =       0                        avg =  8.666667
                              total =      11                        max =        25
      
                                                 (Std. err. adjusted for 18 clusters in id)
      -------------------------------------------------------------------------------------
                          |               Robust
                  gdpgrow | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
      --------------------+----------------------------------------------------------------
      koenpov50disposable |  -.0701199   .2183029    -0.32   0.752    -.5306988     .390459
                 gfcfgrow |   .1380677   .0406526     3.40   0.003     .0522983    .2238372
                 hfcegrow |   .4541445   .1558248     2.91   0.010     .1253828    .7829062
                          |
                 lrgdpopc |
                      L1. |  -1.825769   1.233382    -1.48   0.157    -4.427979    .7764402
                          |
                    _cons |   20.22054   14.25256     1.42   0.174    -9.849727    50.29082
      -------------------------------------------------------------------------------------
      Instruments corresponding to the linear moment conditions:
       1, model(diff):
         L2.gdpgrow L2.koenpov50disposable L2.gfcfgrow L2.hfcegrow L2.L.lrgdenpopc
       2, model(level):
         L1.D.gdpgrow L1.D.koenpov50disposable L1.D.gfcfgrow L1.D.hfcegrow
         L1.D.L.lrgdpopc
       3, model(level):
         _cons
      Thank you again for your help.

      Taka

      Comment


      • #4
        If sme is a strong instrument for koenpov50disposable, then it would not be surprising to see a reduction in standard errors (higher significance) when adding sme as an instrument. The key question of course is whether sme is a valid instrument; i.e., whether sme is uncorrelated with the error term, which requires it not to have a direct effect on gdpgrow.
        https://www.kripfganz.de/stata/

        Comment


        • #5
          Thank you for your explanation. On the first point (uncorrelated with the error term), according to the Sargan-Hansen test, the instruments are valid. On the second point (not to have a direct effect on gdpgrow), although I don't know if it's the right way to go, when I run path analysis, sme has a direct effect on gdpgrow, I'm afraid (as shown below). I'm new to the knowledge about the requirements for valid instruments, and can't really tell. Could you tell me if I have an invalid case? I thank you for your help.

          Click image for larger version

Name:	USE_6.jpg
Views:	1
Size:	200.7 KB
ID:	1723430

          Comment


          • #6
            In my scheme of analysis, is the following estimation also invalid, because sme has a direct effect on gdpgrow?

            Code:
            xtdpdgmm gdpgrow sme inflation gfcfgrow hfcegrow tradeopen l.lrgdpopc ,gmm(gdpgrow inflation  gfcfgrow hfcegr
            > ow lrgdpopc , lag(2 2) collapse model(diff)) gmm(gdpgrow inflation  gfcfgrow hfcegrow lrgdpopc, lag(1 1) diff
            >  collapse model(level)) iv(sme,model(level))  one vce(cl id) small
            
            Generalized method of moments estimation
            
            Fitting full model:
            Step 1         f(b) =   3.170343
            
            Group variable: id                           Number of obs         =       919
            Time variable: year                          Number of groups      =        21
            
            Moment conditions:     linear =      12      Obs per group:    min =         6
                                nonlinear =       0                        avg =   43.7619
                                    total =      12                        max =        46
            
                                                (Std. err. adjusted for 21 clusters in id)
            ------------------------------------------------------------------------------
                         |               Robust
                 gdpgrow | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
            -------------+----------------------------------------------------------------
                     sme |   1.371398    .415195     3.30   0.004     .5053168     2.23748
               inflation |  -.2012583   .0656044    -3.07   0.006    -.3381068   -.0644099
                gfcfgrow |   .1756431   .0365951     4.80   0.000     .0993071    .2519791
                hfcegrow |   .6537494   .2542447     2.57   0.018     .1234043    1.184095
               tradeopen |  -.0440692   .0166601    -2.65   0.016    -.0788215   -.0093169
                         |
                lrgdpopc |
                     L1. |  -.3924132   1.467164    -0.27   0.792    -3.452864    2.668037
                         |
                   _cons |   7.086845   15.30321     0.46   0.648     -24.8351    39.00879
            ------------------------------------------------------------------------------
            Instruments corresponding to the linear moment conditions:
             1, model(diff):
               L2.gdpgrow L2.inflation L2.gfcfgrow L2.hfcegrow L2.lrgdpopc
             2, model(level):
               L1.D.gdpgrow L1.D.inflation L1.D.gfcfgrow L1.D.hfcegrow L1.D.lrgdpopc
             3, model(level):
               sme
             4, model(level):
               _cons

            Comment


            • #7
              I am not very familiar with this type of path analysis. It might rely on different assumptions than the Sargan test. Notice that the one-step Sargan test is asymptotically invalid for the system GMM estimator. Having said that, with only 18 groups, you are far away from asymptopia. In such small samples, the reliability of any overidentification test might be questionable. It then remains a matter of whether you are happy with simply assuming that sme is a valid instrument. As you realized, this can be a difficult decision, and I am afraid I cannot help much in this regard.
              https://www.kripfganz.de/stata/

              Comment

              Working...
              X