Announcement

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

  • Sarah Magd
    replied
    Dear Prof. Sebastian Kripfganz
    I have two questions about the specification of the variables:
    1) Our sample includes the year 2020, and we want to control for it. Therefore, we add a dummy variable for this year. Should we specify this variable as an exogenous variable?
    2) Our dataset includes dummy variables for the availability of technology in some countries in our sample, we want to interact this variable with our main variable of interest. How should we specify the dummy variables and the interaction variables? Should they be exogenous, predetermined, or endogenous variables?

    Thanks a lot!

    Leave a comment:


  • Taka Sakamoto
    replied
    Thank you, Sebastian. I started learning system-GMM two weeks ago and am still in the process of learning it. Your advice has been tremendously helpful, and I am deeply grateful.

    When I remove the lagged level of real GDP per capita, the results look this. Does it look okay?:

    Code:
    . xtdpdgmm gdpgrow sme inflation gfcfgrow hfcegrow tradeopen ,gmm(gdpgrow inflation  gfcfgrow hfcegrow , lag(2 
    > 2) collapse model(diff)) gmm(gdpgrow inflation  gfcfgrow hfcegrow , lag(1 1) diff collapse model(level)) iv(s
    > me,model(level))  one vce(cl id) small overid 
    
    Generalized method of moments estimation
    
    Fitting full model:
    Step 1         f(b) =  2.1473921
    
    Fitting reduced model 1:
    Step 1         f(b) =  1.340e-18
    
    Fitting reduced model 2:
    Step 1         f(b) =  9.209e-16
    
    Fitting reduced model 3:
    Step 1         f(b) =   2.099871
    
    Group variable: id                           Number of obs         =       959
    Time variable: year                          Number of groups      =        21
    
    Moment conditions:     linear =      10      Obs per group:    min =        41
                        nonlinear =       0                        avg =  45.66667
                            total =      10                        max =        46
    
                                        (Std. err. adjusted for 21 clusters in id)
    ------------------------------------------------------------------------------
                 |               Robust
         gdpgrow | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
    -------------+----------------------------------------------------------------
             sme |   3.166296   1.565061     2.02   0.057    -.0983644    6.430957
       inflation |  -.2519669   .0893019    -2.82   0.011    -.4382475   -.0656863
        gfcfgrow |   .2801333   .0899877     3.11   0.005     .0924223    .4678443
        hfcegrow |   .3007462   .3989567     0.75   0.460    -.5314629    1.132955
       tradeopen |  -.0859884   .0266657    -3.22   0.004    -.1416121   -.0303647
           _cons |   6.186441    2.29732     2.69   0.014     1.394314    10.97857
    ------------------------------------------------------------------------------
    Instruments corresponding to the linear moment conditions:
     1, model(diff):
       L2.gdpgrow L2.inflation L2.gfcfgrow L2.hfcegrow
     2, model(level):
       L1.D.gdpgrow L1.D.inflation L1.D.gfcfgrow L1.D.hfcegrow
     3, model(level):
       sme
     4, model(level):
       _cons
    Many thanks for your generous and kind help.

    Taka

    Leave a comment:


  • Sebastian Kripfganz
    replied
    Initially, you put it in because that is what economic theory tells you. Then you conclude that you cannot obtain a reliable estimate; i.e., you cannot reject the null that there is no conditional convergence, but you can also hardly reject the null of any other meaningful value for this coefficient. Thus, in the final step you estimate the model without it to obtain more efficient estimates for the remaining coefficients.

    Leave a comment:


  • Taka Sakamoto
    replied
    Thank you for giving me advice on this. lrgdpopc is real GDP per capita (level), whereas gdpgrowth is annual GDP growth rate. The former is included to account for conditional convergence. So, I should remove lrgdpopc both as regressor and instrument?

    Leave a comment:


  • Sebastian Kripfganz
    replied
    No, I meant removing L.lrgdpopc from the model entirely (both as regressor and instruments).

    Leave a comment:


  • Taka Sakamoto
    replied
    You mean like this?

    Code:
    . xtdpdgmm gdpgrow sme inflation gfcfgrow hfcegrow tradeopen l.lrgdpopc ,gmm( inflation  gfcfgrow hfcegrow lrgd
    > popc , lag(2 3) collapse model(diff)) gmm( inflation  gfcfgrow hfcegrow lrgdpopc, lag(1 2) diff collapse mode
    > l(level)) iv(sme,model(level))  one vce(cl id) small overid
    
    Generalized method of moments estimation
    
    Fitting full model:
    Step 1         f(b) =  4.7191492
    
    Fitting reduced model 1:
    Step 1         f(b) =   .3986962
    
    Fitting reduced model 2:
    Step 1         f(b) =  .93970412
    
    Fitting reduced model 3:
    Step 1         f(b) =  4.5853153
    
    Fitting no-level model:
    Step 1         f(b) =  .93970412
    
    Group variable: id                           Number of obs         =       919
    Time variable: year                          Number of groups      =        21
    
    Moment conditions:     linear =      18      Obs per group:    min =         6
                        nonlinear =       0                        avg =   43.7619
                            total =      18                        max =        46
    
                                        (Std. err. adjusted for 21 clusters in id)
    ------------------------------------------------------------------------------
                 |               Robust
         gdpgrow | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
    -------------+----------------------------------------------------------------
             sme |   .6794376   .2367041     2.87   0.009     .1856815    1.173194
       inflation |  -.1636133    .045614    -3.59   0.002    -.2587624   -.0684641
        gfcfgrow |   .0980104   .0328853     2.98   0.007     .0294129     .166608
        hfcegrow |   .6692242   .1605369     4.17   0.000     .3343501    1.004098
       tradeopen |  -.0166245   .0134452    -1.24   0.231    -.0446707    .0114218
                 |
        lrgdpopc |
             L1. |  -1.220907   1.060466    -1.15   0.263       -3.433     .991187
                 |
           _cons |   14.09685   10.72928     1.31   0.204    -8.284046    36.47775
    ------------------------------------------------------------------------------
    Instruments corresponding to the linear moment conditions:
     1, model(diff):
       L2.inflation L3.inflation L2.gfcfgrow L3.gfcfgrow L2.hfcegrow L3.hfcegrow
       L2.lrgdpopc L3.lrgdpopc
     2, model(level):
       L1.D.inflation L2.D.inflation L1.D.gfcfgrow L2.D.gfcfgrow L1.D.hfcegrow
       L2.D.hfcegrow L1.D.lrgdpopc L2.D.lrgdpopc
     3, model(level):
       sme
     4, model(level):
       _cons

    Leave a comment:


  • Sebastian Kripfganz
    replied
    The standard errors of the lagged dependent variable are now indeed much smaller, but this way too large for any meaningful inference. You might just conclude that you cannot reliably estimate this coefficient, and estimate a static model without lagged dependent variable instead.

    Leave a comment:


  • Taka Sakamoto
    replied
    Thank you for your help. Does it look better with one more lags like these?

    Code:
    . xtdpdgmm gdpgrow sme inflation gfcfgrow hfcegrow tradeopen l.lrgdpopc ,gmm(gdpgrow inflation  gfcfgrow hfcegr
    > ow lrgdpopc , lag(2 3) collapse model(diff)) gmm(gdpgrow inflation  gfcfgrow hfcegrow lrgdpopc, lag(1 2) diff
    >  collapse model(level)) iv(sme,model(level))  one vce(cl id) small overid
    
    Generalized method of moments estimation
    
    Fitting full model:
    Step 1         f(b) =  6.5119593
    
    Fitting reduced model 1:
    Step 1         f(b) =  1.7495734
    
    Fitting reduced model 2:
    Step 1         f(b) =  2.0088941
    
    Fitting reduced model 3:
    Step 1         f(b) =  6.4917358
    
    Fitting no-level model:
    Step 1         f(b) =  2.0088941
    
    Group variable: id                           Number of obs         =       919
    Time variable: year                          Number of groups      =        21
    
    Moment conditions:     linear =      22      Obs per group:    min =         6
                        nonlinear =       0                        avg =   43.7619
                            total =      22                        max =        46
    
                                        (Std. err. adjusted for 21 clusters in id)
    ------------------------------------------------------------------------------
                 |               Robust
         gdpgrow | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
    -------------+----------------------------------------------------------------
             sme |   .9128761   .2466531     3.70   0.001     .3983667    1.427386
       inflation |  -.1421567   .0417887    -3.40   0.003    -.2293263   -.0549871
        gfcfgrow |   .1127319   .0368393     3.06   0.006     .0358865    .1895773
        hfcegrow |   .6901123   .1433662     4.81   0.000     .3910556     .989169
       tradeopen |  -.0239375   .0116199    -2.06   0.053    -.0481762    .0003012
                 |
        lrgdpopc |
             L1. |  -.8863398   .8513687    -1.04   0.310    -2.662264    .8895842
                 |
           _cons |   10.84036   8.734277     1.24   0.229    -7.379021    29.05974
    ------------------------------------------------------------------------------
    Instruments corresponding to the linear moment conditions:
     1, model(diff):
       L2.gdpgrow L3.gdpgrow L2.inflation L3.inflation L2.gfcfgrow L3.gfcfgrow
       L2.hfcegrow L3.hfcegrow L2.lrgdpopc L3.lrgdpopc
     2, model(level):
       L1.D.gdpgrow L2.D.gdpgrow L1.D.inflation L2.D.inflation L1.D.gfcfgrow
       L2.D.gfcfgrow L1.D.hfcegrow L2.D.hfcegrow L1.D.lrgdpopc L2.D.lrgdpopc
     3, model(level):
       sme
     4, model(level):
       _cons

    Leave a comment:


  • Sebastian Kripfganz
    replied
    By removing your instrument for sme, the coefficient of that regressor might be poorly identified. Not surprisingly, the standard errors of that coefficient estimate become huge. It (unsuccessfully) tries to borrow some identification strength from the other instruments, which then also slightly inflates the other standard errors.

    The coefficient of your lagged dependent variable also appears to be poorly identified. It would probably require additional lags as instruments, which in turn would however increase the number of instruments, which can cause further trouble.

    Leave a comment:


  • Taka Sakamoto
    replied
    Thank you. Could you tell me what's happening in the following estimation? I enter the command:

    Code:
    xtdpdgmm gdpgrow sme inflation gfcfgrow hfcegrow tradeopen l.lrgdpopc ,gmm(gdpgrow inflation  gfcfgrow hfcegrow 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 overid
    I get the following results:

    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 overid
    
    Generalized method of moments estimation
    
    Fitting full model:
    Step 1         f(b) =   3.170343
    
    Fitting reduced model 1:
    Step 1         f(b) =  8.867e-16
    
    Fitting reduced model 2:
    Step 1         f(b) =  1.413e-14
    
    Fitting reduced model 3:
    Step 1         f(b) =  3.1380076
    
    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
    When I remove "iv(sme,model(level))" from the command I get the results:

    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))  one vce(cl id) small overid
    
    Generalized method of moments estimation
    
    Fitting full model:
    Step 1         f(b) =  3.1380076
    
    Group variable: id                           Number of obs         =       919
    Time variable: year                          Number of groups      =        21
    
    Moment conditions:     linear =      11      Obs per group:    min =         6
                        nonlinear =       0                        avg =   43.7619
                            total =      11                        max =        46
    
                                        (Std. err. adjusted for 21 clusters in id)
    ------------------------------------------------------------------------------
                 |               Robust
         gdpgrow | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
    -------------+----------------------------------------------------------------
             sme |    -.64922   6.394653    -0.10   0.920    -13.98823    12.68979
       inflation |  -.1814501   .1103874    -1.64   0.116    -.4117143    .0488141
        gfcfgrow |    .181537   .0435933     4.16   0.000     .0906029    .2724712
        hfcegrow |   .6699812   .2849286     2.35   0.029     .0756305    1.264332
       tradeopen |  -.0526704   .0459819    -1.15   0.266    -.1485869    .0432461
                 |
        lrgdpopc |
             L1. |   .1360665     2.8836     0.05   0.963    -5.879018    6.151151
                 |
           _cons |    3.10732   25.29937     0.12   0.903    -49.66625    55.88089
    ------------------------------------------------------------------------------
    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):
       _cons
    "sme" is an invariant dummy variable, but the same results happen when I use a continuous version of "sme".

    I am sorry I have taken time from you. And I appreciate your generous, kind help.

    Many thanks.

    TS

    Leave a comment:


  • Sebastian Kripfganz
    replied
    The variable that you specify in iv() (or gmmiv()) should not be correlated with the error term. In other words, if it is excluded from your regression specification, it should not have a direct effect on the dependent variable after controlling for any indirect effects through the included regressors. This is the standard requirement for a valid instrument.

    As mentioned earlier, iv() is just a special case of gmmiv(). If the relevant instruments are already specified with gmmiv(), then there is often no need to use iv(). In some cases, e.g. for dummy variables, the iv() option is easier to use.

    Leave a comment:


  • Taka Sakamoto
    replied
    Sorry, I have one more question. The variable that goes in iv() cannot and should not be correlated with the dependent variable?

    Leave a comment:


  • Taka Sakamoto
    replied
    Thank you. What am I making happen if I do not use iv() option? I have read your 2019 slides, and see that you sometimes do not use iv() option.

    Thank you for your help.

    Leave a comment:


  • Sebastian Kripfganz
    replied
    That's an error message you should not see. Would it be possible for you to send me your data set by e-mail, so that I can replicate the problem?

    Leave a comment:


  • Sarah Magd
    replied
    Thanks Prof. Sebastian Kripfganz
    I have tried the following code:
    Code:
    xtdpdgmm L(0/1).GDP Labor Capital Financial_Development Temperature, model(diff) collapse gmm(GDP Labor Capital , lag(2 4)) gmm(Financial_Development, lag(1 2)) gmm(Temperature, lag(. .))  two vce(r) overid nl(noserial)
    So I consider Temperature as a predetermined variable, and Temperature as an exogenous variable. However, when I run this code, I get this error:
    xtdpdgmm_init_nl(): 3498 touse variable for model 'diff' required
    <istmt>: - function returned error
    r(3498);


    Could you please help me figure out the problem?

    Leave a comment:

Working...
X