Announcement

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

  • #16
    Hello Sebastian,

    I have some additional questions about the use of xtdpdbc.

    1. When I use two lagged dependent variables in one of my projects, the coefficient of the first lag is greater than 1.00. Is this a problem, as I believe it would be if I were using xtdpdgmm? If I use only one lag, the coefficient is well below 1.00. Does that suggest that I should use only the first lag? Below are the results I get, first using only one lag and then two lags.

    Code:
    .  xtdpdbc y l(0/1).(x1 x2 x3 x4 x5 x6 x7 ) if l2.y~=.,  fe vce(robust)   lags(1) teffects
    
    Bias-corrected estimation
    Iteration 0:   f(b) =  .00080012  
    Iteration 1:   f(b) =  4.311e-06  
    Iteration 2:   f(b) =  6.914e-10  
    Iteration 3:   f(b) =  2.391e-16  
    
    Group variable: ccode                        Number of obs         =       970
    Time variable: year                          Number of groups      =        67
    
                                                 Obs per group:    min =         5
                                                                   avg =  14.47761
                                                                   max =        19
    
                                      (Std. err. adjusted for clustering on ccode)
    ------------------------------------------------------------------------------
                 |               Robust
               y | Coefficient  std. err.      z    P>|z|     [95% conf. interval]
    -------------+----------------------------------------------------------------
               y |
             L1. |   .9505701    .032202    29.52   0.000     .8874553    1.013685
                 |
              x1 |
             --. |   .0338362   .0119252     2.84   0.005     .0104632    .0572092
             L1. |  -.0314495   .0113423    -2.77   0.006    -.0536799   -.0092191
                 |
              x2 |
             --. |  -.0080593   .0107437    -0.75   0.453    -.0291165    .0129979
             L1. |   .0077397   .0089561     0.86   0.387    -.0098139    .0252934
                 |
              x3 |
             --. |   .0095416   .0031686     3.01   0.003     .0033314    .0157519
             L1. |  -.0025377   .0022687    -1.12   0.263    -.0069842    .0019088
                 |
              x4 |
             --. |  -.0388867   .0131287    -2.96   0.003    -.0646184    -.013155
             L1. |   .0260135   .0127738     2.04   0.042     .0009773    .0510498
                 |
              x5 |
             --. |  -.0077469   .0040453    -1.92   0.055    -.0156755    .0001817
             L1. |   .0006256   .0027068     0.23   0.817    -.0046797    .0059309
                 |
              x6 |
             --. |   .0041924   .0150888     0.28   0.781     -.025381    .0337659
             L1. |  -.0073131   .0154181    -0.47   0.635     -.037532    .0229058
                 |
              x7 |
             --. |  -.0016741   .0025556    -0.66   0.512     -.006683    .0033348
             L1. |   .0040669   .0030768     1.32   0.186    -.0019636    .0100973
                 |
            year |
           2001  |   .0000659   .0155769     0.00   0.997    -.0304642     .030596
           2002  |   .0261921    .016956     1.54   0.122     -.007041    .0594253
           2003  |   .0267463   .0191526     1.40   0.163    -.0107922    .0642848
           2004  |   .0032066   .0168039     0.19   0.849    -.0297284    .0361416
           2005  |  -.0096127   .0176495    -0.54   0.586    -.0442051    .0249797
           2006  |  -.0034658   .0165419    -0.21   0.834    -.0358874    .0289558
           2007  |   .0105695   .0185388     0.57   0.569    -.0257658    .0469048
           2008  |   .0033926   .0184238     0.18   0.854    -.0327174    .0395025
           2009  |   .0058206   .0181105     0.32   0.748    -.0296753    .0413166
           2010  |   .0232615   .0180021     1.29   0.196    -.0120219    .0585449
           2011  |  -.0081063   .0219142    -0.37   0.711    -.0510572    .0348447
           2012  |  -.0076749   .0186275    -0.41   0.680    -.0441842    .0288343
           2013  |  -.0162198   .0196031    -0.83   0.408    -.0546413    .0222016
           2014  |  -.0000364   .0185574    -0.00   0.998    -.0364082    .0363354
           2015  |   .0054735   .0213165     0.26   0.797    -.0363061    .0472531
           2016  |  -.0096166   .0187961    -0.51   0.609    -.0464562    .0272231
           2017  |  -.0080846   .0166891    -0.48   0.628    -.0407945    .0246254
           2018  |   .0112082   .0158973     0.71   0.481    -.0199498    .0423663
                 |
           _cons |   .0335686   .0215907     1.55   0.120    -.0087484    .0758855
    ------------------------------------------------------------------------------
    
    .  xtdpdbc y l(0/1).(x1 x2 x3 x4 x5 x6 x7 ) if l2.y~=.,  fe vce(robust)   lags(2) teffects
    
    Bias-corrected estimation
    Iteration 0:   f(b) =  .00088917  
    Iteration 1:   f(b) =  3.530e-06  
    Iteration 2:   f(b) =  6.444e-09  
    Iteration 3:   f(b) =  3.986e-14  
    
    Group variable: ccode                        Number of obs         =       970
    Time variable: year                          Number of groups      =        67
    
                                                 Obs per group:    min =         5
                                                                   avg =  14.47761
                                                                   max =        19
    
                                      (Std. err. adjusted for clustering on ccode)
    ------------------------------------------------------------------------------
                 |               Robust
               y | Coefficient  std. err.      z    P>|z|     [95% conf. interval]
    -------------+----------------------------------------------------------------
               y |
             L1. |   1.079941   .0932062    11.59   0.000     .8972602    1.262622
             L2. |  -.1456414   .0836234    -1.74   0.082    -.3095402    .0182574
                 |
              x1 |
             --. |   .0320216   .0110966     2.89   0.004     .0102727    .0537705
             L1. |  -.0286191   .0104707    -2.73   0.006    -.0491414   -.0080969
                 |
              x2 |
             --. |   -.008389   .0107657    -0.78   0.436    -.0294894    .0127114
             L1. |   .0072774   .0091959     0.79   0.429    -.0107462    .0253011
                 |
              x3 |
             --. |   .0089407   .0029207     3.06   0.002     .0032162    .0146653
             L1. |  -.0033645   .0024326    -1.38   0.167    -.0081322    .0014032
                 |
              x4 |
             --. |  -.0340336   .0114255    -2.98   0.003    -.0564272     -.01164
             L1. |   .0218265   .0107334     2.03   0.042     .0007895    .0428635
                 |
              x5 |
             --. |  -.0076639   .0040157    -1.91   0.056    -.0155345    .0002066
             L1. |   .0015686   .0024271     0.65   0.518    -.0031883    .0063255
                 |
              x6 |
             --. |   .0032186   .0129516     0.25   0.804     -.022166    .0286032
             L1. |  -.0054722   .0131681    -0.42   0.678    -.0312811    .0203367
                 |
              x7 |
             --. |   .0000721   .0023317     0.03   0.975     -.004498    .0046422
             L1. |    .002005   .0022469     0.89   0.372    -.0023988    .0064088
                 |
            year |
           2001  |  -.0019082   .0170997    -0.11   0.911    -.0354231    .0316066
           2002  |   .0238397   .0169462     1.41   0.159    -.0093743    .0570537
           2003  |   .0222379   .0199436     1.12   0.265    -.0168507    .0613266
           2004  |   .0014419   .0170003     0.08   0.932    -.0318781    .0347619
           2005  |  -.0093809   .0171457    -0.55   0.584    -.0429858    .0242239
           2006  |  -.0018028   .0158745    -0.11   0.910    -.0329161    .0293106
           2007  |   .0114593   .0180345     0.64   0.525    -.0238878    .0468063
           2008  |   .0022069   .0183826     0.12   0.904    -.0338223    .0382361
           2009  |   .0035213   .0174704     0.20   0.840      -.03072    .0377627
           2010  |    .022896   .0177357     1.29   0.197    -.0118653    .0576572
           2011  |  -.0093328   .0220228    -0.42   0.672    -.0524966    .0338311
           2012  |  -.0064383   .0175773    -0.37   0.714    -.0408892    .0280127
           2013  |  -.0144945   .0191387    -0.76   0.449    -.0520057    .0230167
           2014  |   .0028155    .018004     0.16   0.876    -.0324716    .0381026
           2015  |   .0046752   .0206528     0.23   0.821    -.0358035    .0451539
           2016  |  -.0102328   .0179129    -0.57   0.568    -.0453415    .0248758
           2017  |  -.0059206   .0167213    -0.35   0.723    -.0386939    .0268526
           2018  |   .0131007   .0157716     0.83   0.406    -.0178111    .0440125
                 |
           _cons |   .0433748   .0208475     2.08   0.037     .0025145    .0842351
    ------------------------------------------------------------------------------
    
    .
    2. As seen in the results above, the coefficient of x1 (my main variable of interest) for the current period is positive and statistically significant, but not much greater than the coefficient of the lag of x1, which is negatively signed. When I calculate the long-run effects of x1 (in the manner discussed in earlier posts), the long-run coefficient is not statistically significant. Do these results suggest that x1 has a short-run effect on y, but this effect does not increase over time (in other words, no long-run effect)?

    Thanks.

    Comment


    • #17
      1. The stability condition for the dynamic process is that the sum of the coefficients of the lagged dependent variables should be less than 1. This is satisfied in your case. (There is no difference in this regard between xtdpdbc and xtdpdgmm.)

      2. Yes, that is what your results suggest. There is a contemporaneous short-run effect of x1 which is counteracted by a similar delayed short-run effect with opposite sign. They cancel out each other in the long-run.
      https://www.kripfganz.de/stata/

      Comment


      • #18
        Thanks, so much. Your answers to my questions, as usual, are very helpful and allow me to go forward with my projects with more knowledge and confidence.

        Comment


        • #19
          A significant update to version 1.2.0 is available for the xtdpdbc command:
          Code:
          net install xtdpdbc, from(http://www.kripfganz.de/stata/) replace
          With the re option, you can now compute a random-effects (RE) version of the bias-corrected estimator. This is a GMM (not GLS) estimator, which adds the level moment conditions for the exogenous regressors to the existing moment conditions, which are utilized by the fixed-effects (FE) estimator. Consequently, the RE estimator is overidentified. This has the benefit that a Sargan-Hansen overidentification test is a simple way of testing for RE versus FE. This test is now implemented in the estat overid postestimation command. Alternatively, a generalized Hausman test can be used for the same purpose with the new estat hausman command.

          The command also allows to estimate hybrid models in between the RE and FE models, in which the RE assumption is only applied to a subset of regressors. This can be achieved with the new option hybrid(). Furthermore, the Arellano-Bond test for serial correlation in the first-differenced residuals is now implemented in the estat serial postestimation command.

          For full details, please see the help files:
          Code:
          help xtdpdbc
          help xtdpdbc postestimation
          Here is a simple example:
          Code:
          . webuse abdata
          
          . xtdpdbc n w k, fe teffects vce(robust)
          
          Bias-corrected estimation
          Iteration 0:   f(b) =  .00223714  
          Iteration 1:   f(b) =  3.069e-06  
          Iteration 2:   f(b) =  7.574e-10  
          Iteration 3:   f(b) =  5.466e-17  
          
          Group variable: id                           Number of obs         =       891
          Time variable: year                          Number of groups      =       140
          
          Fixed-effects model                          Obs per group:    min =         6
                                                                         avg =  6.364286
                                                                         max =         8
          
                                               (Std. err. adjusted for clustering on id)
          ------------------------------------------------------------------------------
                       |               Robust
                     n | Coefficient  std. err.      z    P>|z|     [95% conf. interval]
          -------------+----------------------------------------------------------------
                     n |
                   L1. |   .7618648   .1021882     7.46   0.000     .5615796      .96215
                       |
                     w |  -.4193358   .1337239    -3.14   0.002    -.6814298   -.1572417
                     k |   .2283234   .0532835     4.29   0.000     .1238897    .3327571
                       |
                  year |
                 1978  |  -.0198984    .014369    -1.38   0.166     -.048061    .0082643
                 1979  |  -.0304133   .0168824    -1.80   0.072    -.0635021    .0026756
                 1980  |  -.0629852   .0182608    -3.45   0.001    -.0987757   -.0271947
                 1981  |  -.1126957   .0211605    -5.33   0.000    -.1541695   -.0712219
                 1982  |  -.0816646   .0184412    -4.43   0.000    -.1178087   -.0455205
                 1983  |  -.0401727   .0201478    -1.99   0.046    -.0796616   -.0006838
                 1984  |   -.007744   .0261004    -0.30   0.767       -.0589    .0434119
                       |
                 _cons |   1.684649   .4919518     3.42   0.001     .7204408    2.648856
          ------------------------------------------------------------------------------
          
          . estimates store fe
          
          . xtdpdbc n w k, re teffects vce(robust)
          
          Bias-corrected estimation
          
          Step 1:
          Iteration 0:   f(b) =  .10203684  
          Iteration 1:   f(b) =  .00604729  
          Iteration 2:   f(b) =  .00567393  
          Iteration 3:   f(b) =  .00567273  
          Iteration 4:   f(b) =  .00567272  
          
          Step 2:
          Iteration 0:   f(b) =  .14020188  
          Iteration 1:   f(b) =  .08998905  
          Iteration 2:   f(b) =  .08993042  
          Iteration 3:   f(b) =  .08993037  
          
          Group variable: id                           Number of obs         =       891
          Time variable: year                          Number of groups      =       140
          
          Random-effects model                         Obs per group:    min =         6
                                                                         avg =  6.364286
                                                                         max =         8
          
                                               (Std. err. adjusted for clustering on id)
          ------------------------------------------------------------------------------
                       |               Robust
                     n | Coefficient  std. err.      z    P>|z|     [95% conf. interval]
          -------------+----------------------------------------------------------------
                     n |
                   L1. |   .9566098   .0248605    38.48   0.000     .9078841    1.005336
                       |
                     w |  -.0559192   .0174443    -3.21   0.001    -.0901093    -.021729
                     k |   .0415304    .020966     1.98   0.048     .0004378     .082623
                       |
                  year |
                 1978  |   .0096357   .0141993     0.68   0.497    -.0181943    .0374657
                 1979  |   .0063768   .0152289     0.42   0.675    -.0234712    .0362249
                 1980  |  -.0357028   .0169424    -2.11   0.035    -.0689093   -.0024962
                 1981  |  -.1129358   .0185769    -6.08   0.000    -.1493458   -.0765257
                 1982  |  -.1018467   .0147469    -6.91   0.000    -.1307501   -.0729433
                 1983  |   -.039552   .0190684    -2.07   0.038    -.0769254   -.0021786
                 1984  |  -.0447143   .0180495    -2.48   0.013    -.0800908   -.0093379
                       |
                 _cons |    .237997   .0784342     3.03   0.002     .0842687    .3917253
          ------------------------------------------------------------------------------
          
          . estat overid
          
          Hansen test of the overidentifying restrictions
          note: degrees of freedom adjusted for time effects in unbalanced panels
          
          H0: overidentifying restrictions are valid             chi2(2)     =   12.5903
                                                                 Prob > chi2 =    0.0018
          
          . estat hausman fe (L.n w k), df(2)
          
          Generalized Hausman test                               chi2(2)     =   19.9951
          H0: coefficients do not systematically differ          Prob > chi2 =    0.0000
          
          . estat serial, ar(1/3)
          
          Arellano-Bond test for autocorrelation of the first-differenced residuals
          H0: no autocorrelation of order 1:     z =   -2.3646   Prob > |z|  =    0.0180
          H0: no autocorrelation of order 2:     z =   -0.9081   Prob > |z|  =    0.3638
          H0: no autocorrelation of order 3:     z =    0.8619   Prob > |z|  =    0.3887
          Both the Hansen and the Hausman test suggest that the RE assumption is not justified. The Arellano-Bond serial correlation does not indicate any problem. (If there is no serial correlation in levels, we expect first-order serial correlation in first differences but no higher-order serial correlation.)
          https://www.kripfganz.de/stata/

          Comment


          • #20
            Yesterday's version unfortunately contained a bug which could lead to unexpected behavior of the command under older Stata versions (Stata 15 or earlier). This has now been fixed. Please update the command again.

            In addition, estat overid will now show an error message if it is run after the just-identified fixed-effects estimator. estat hausman will now show a note under some circumstances if it is likely that a degrees-of-freedom adjustment is necessary. (A word of caution: The reverse is not true. If the command does not display the warning note, you cannot infer that the degrees of freedom are correct. Always check yourself!)

            A situation where this can happen is when the model is estimated with time effects, because the additional level moment conditions for the time effects are asymptotically redundant, even though some of them might not be numerically redundant in finite sample when the panel data set is unbalanced. Due to the asymptotic equivalence of the overidentification test and the generalized Hausman test, the correct degrees of freedom can normally be inferred from the estat overid output. They can then be manually supplied to estat hausman with the df() option. While estat overid adjusts the degrees of freedom automatically, this is a more complex issue for estat hausman and therefore not (currently) implemented.

            As a general rule, when contrasting the random-effects versus the fixed-effects estimator, the degrees of freedom equal the number of exogenous regressors, excluding the lagged dependent variables and excluding deterministic terms such as time dummies. If the random-effects assumption is only applied to a subset of the regressors in a hybrid model, the degrees of freedom are reduced accordingly.
            https://www.kripfganz.de/stata/

            Comment


            • #21
              With the usual thanks to Kit Baum, the xtdpdbc command is now also available from SSC, in case you cannot install it directly from my website:
              Code:
              ssc install xtdpdbc
              https://www.kripfganz.de/stata/

              Comment


              • #22
                Hi Sebastian,
                Thanks a lot for the update, the estat serial feature is very useful!
                I have a question regarding long-run effects, interactions and marginal effects with your command xtdpdbc.
                I run the following regression:
                Code:
                xtdpdbc y x i.dummy##i.dummy2
                If I want to get different marginal effects in the short run I could do
                Code:
                margins r.dummy, dydx(dummy2)
                or
                Code:
                margins, dydx(dummy2) at(dummy=(0 1)
                Is there anything similar to get the same marginal effects for the long-run?
                Thanks.

                Comment


                • #23
                  I am afraid I do not see a simple way of computing marginal effects for the long-run effects. You can use the nlcom command to compute the long-run effects, but you cannot combine it with margins. The only way I see is to work out the expression for the desired marginal effect yourself and to then calculate it with the nlcom command.
                  https://www.kripfganz.de/stata/

                  Comment


                  • #24
                    Hi Sebastian,
                    Thanks for the reply, I will try to figure it out.
                    By the way, after estimating the model I get an error when using
                    Code:
                    estat serial
                    xtdpbc_score(): 3260 nonclass found where class required
                    <istmt>: - function returned error

                    I have updated the command again but the problem persists, do you know what I could be doing wrong?
                    Thanks

                    Comment


                    • #25
                      I cannot replicate this error message on my computer. Would it be possible for you to send me your data set by e-mail and the exact command lines you typed, so that I can investigate the problem?
                      https://www.kripfganz.de/stata/

                      Comment


                      • #26
                        An update is available on my personal website:
                        Code:
                        net install xtdpdbc, from(http://www.kripfganz.de/stata/) replace
                        In some rare instances, the optimization algorithm used to minimize the nonlinear objective function converges to an "incorrect" solution. In our paper (Breitung et al.), we suggest to reinitialize the optimization with different starting values and to repeat this process until a "correct" solution is found. This approach is now implemented as the default in the new version 1.3.0 of xtdpdbc. If an incorrect solution is found - characterized by a positive eigenvalue of the score matrix - a new initial value for the autoregressive parameter is drawn randomly from the uniform distribution (and all other coefficients are initialized at zero). Make sure to set a random-number seed for replication purposes! By default, xtdpdbc does up to 10 reinitialization attempts. This can be changed with the new option reinit(). With reinit(0), the previous behavior of the command is reestablished. A warning message is displayed if no correct solution is found. For further information, please see the Remarks section of the help file.
                        Last edited by Sebastian Kripfganz; 29 May 2022, 07:03.
                        https://www.kripfganz.de/stata/

                        Comment


                        • #27
                          Hi Sebastian,

                          Can we test if the exogenous assumption of the explanatory variables is valid in XTDPDBC?

                          Comment


                          • #28
                            No, as with the traditional fixed-effects estimator, the exogeneity of the regressors is an identifying assumption which cannot be checked. You would need to use a different estimator, e.g. GMM.
                            https://www.kripfganz.de/stata/

                            Comment


                            • #29
                              Hi Sebastian,
                              Thank you for contributing this useful command. I met a problem when using it, stata reported an error:
                              <istmt>: 3499 xtdpdbc_init() not found
                              From the help file, I guess it's about specifying the initial values of the coefficients.The ducument says that the initial values are taken from FE-estimator by default, but it didn't work for my case.
                              So do I need to run xtreg to get the estimates first and then use it as the input for your `from' option?

                              Comment


                              • #30
                                Originally posted by Fan Zheng View Post
                                I met a problem when using it, stata reported an error:
                                <istmt>: 3499 xtdpdbc_init() not found
                                This error occurs when Stata cannot find the command's Mata library, which can happen if the command was not properly installed. Restarting Stata might help. Did you install the xtdpdbc package using the ssc or net install command? Sometimes typing the following in the command window helps to make Stata aware of the Mata library:
                                Code:
                                mata mata mlib index
                                https://www.kripfganz.de/stata/

                                Comment

                                Working...
                                X