Announcement

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

  • How can we distinguish endogenous variable, exogenous variable and predetermined variable?

    Dear Sebastian,

    When I use your command xtdpdgmm, How can I distinguish endogenous variable, exogenous variable and predetermined variable?

    This problem has been bothering me all the time


    I am looking forward to your reply.
    Best regards.

    Raymond Zhang
    Stata 17.0,MP

  • #2
    Since you didn't mention xtdpdgmm (SSC) in the title you should probably tag Sebastian Kripfganz if you have questions about his xtdpdgmm.

    Comment


    • #3
      thank you for your suggestion!
      Best regards.

      Raymond Zhang
      Stata 17.0,MP

      Comment


      • #4
        A strictly exogenous variable is a variable that is uncorrelated with the idiosyncratic error term for all time periods. (It is usually still allowed to be correlated with the individual-specific error component, i.e. the "fixed effect".)
        A predetermined (weakly exogenous) variable is uncorrelated with the contemporaneous and all future idiosyncratic errors but might be correlated with past errors.
        An endogenous variable (as defined in most of the panel data literature) is uncorrelated with future idiosyncratic errors but might be correlated with contemporaneous and past errors.

        Let s be a strictly exogenous variable, p be a predetermined variable, and e be an endogenous variable. Valid instruments for the first-differenced model can be specified as:
        Code:
        gmm(s, lag(. .) model(diff))
        gmm(p, lag(1 .) model(diff))
        gmm(e, lag(2 .) model(diff))
        Note that gmm(s, lag(. .) model(diff)) uses all future and all past observations as instruments. But using future observations is rarely done in practice. You could thus replace it by gmm(s, lag(0 .) model(diff)).

        As an alternative to the first-differenced model, valid instruments can be specified for the model in forward-orthogonal deviations as follows:
        Code:
        gmm(s, lag(. .) model(fodev))
        gmm(p, lag(0 .) model(fodev))
        gmm(e, lag(1 .) model(fodev))
        Again, using all future observations for strictly exogenous variables is rarely done in practice. Yet, gmm(s, lag(0 .) model(fodev)) is not ideal in this case because it would treat strictly exogenous variables in the same way as predetermined variables. To mimic gmm(s, lag(0 .) model(diff)), you could specify gmm(s, lag(-1 .) model(fodev)), which uses the observation from one period of the future. Yet, this still might seem a bit odd.

        To avoid the above issues with strictly exogenous variables, my personal recommendation is to specify those variables for the model in mean deviations:
        Code:
        gmm(s, lag(. .) model(mdev))
        Or, to avoid using future observations: gmm(s, lag(0 .) model(mdev)). Mean deviations can only be used with strictly exogenous variables but for them it is actually the natural choice because it mimics the transformation used by a conventional fixed-effects estimator. It might even be reasonable to combine instruments for the model in mean deviations with instruments for the forward-orthogonally deviated model:
        Code:
        gmm(s, lag(0 .) model(fodev)) gmm(s, lag(0 0) model(mdev))

        For the model in levels, under the additional assumption that first differences of s, p, and e are uncorrelated with the "fixed effects", the following instruments are valid:
        Code:
        gmm(s, lag(0 0) model(level))
        gmm(p, lag(0 0) model(level))
        gmm(e, lag(1 1) model(level))
        Further lags are often redundant for the level model.

        The same logic applies if you want to replace the gmm() option with an iv() option because the latter is just a collapsed version of the former. The validity of the above instruments for predetermined and endogenous variables crucially hinges on the assumption that the idiosyncratic error term is serially uncorrelated.

        For more details, please see my 2019 London Stata Conference presentation:
        Note that the above is not directly applicable to xtabond2.
        Last edited by Sebastian Kripfganz; 15 Jan 2021, 07:19.
        https://www.kripfganz.de/stata/

        Comment


        • #5
          Sebastian Kripfganz Dear Pro Sebastian,
          ​​​​​​​Your answer is wonderful. Thank you for your patience in answering my question.Another two questions,
          Q1: when we report the overidentification test of xtabont2 or xtabond, we report Hansen p-value.But in your command ,we get Sargan/Hansen test p-value,does it mean i should write like "Sargan/hansen p-value 0.5432" in my paper?
          Q2:when i do underidentification test, I get J statistics. Is it Hansen J statistics? Should I report in my paper?

          Best regards!
          ​​​​​​​Raymond
          Best regards.

          Raymond Zhang
          Stata 17.0,MP

          Comment


          • #6
            Q1: Strictly speaking, the Sargan test is the overidentification test for the 1-step estimator with the 1-step weighting matrix, assuming that this weighting matrix is optimal. The Hansen test is typically regarded as the 2-step overidentification test with the 2-step weighting matrix. Whenever you report estimates for a two-step estimator, I would just refer to the Hansen test.

            Q2: The underid command can provide results for a variety of tests. It should tell you the name of the test right above the result. While it is not yet common practice to report underidentification test results in empirical papers, it would actually be good if people start doing it.
            https://www.kripfganz.de/stata/

            Comment


            • #7
              I know it is not yet common practice to report underidentification test result in empirical papers, but in your slides of London Stata Conference, you said it is very important to do this test because overidentification test will be invalid if it does not pass underidentification test. So I may try to report both overidentification and underidentification test result in my paper.
              Thank you for your kind help.
              Best regards.

              Raymond Zhang
              Stata 17.0,MP

              Comment


              • #8
                Sorry for my poor English.
                Best regards.

                Raymond Zhang
                Stata 17.0,MP

                Comment


                • #9
                  Sebastian Kripfganz Dear Pro Sebastian,
                  Which version of xtdpdgmm command is the newest one?My version is 2.3.1.
                  Best regards.

                  Raymond Zhang
                  Stata 17.0,MP

                  Comment


                  • #10
                    Originally posted by Raymond Zhang View Post
                    Which version of xtdpdgmm command is the newest one?My version is 2.3.1.
                    You have the newest version.
                    https://www.kripfganz.de/stata/

                    Comment


                    • #11
                      Thanks a lot.
                      Best regards.

                      Raymond Zhang
                      Stata 17.0,MP

                      Comment


                      • #12
                        sebastian Kripfganz*Dear Pro Sebastian, Which kind of GMM method should I use? FD-GMM or sys GMM?Some people think that if the*coefficient of Lag 1 of the dependent variable is larger than 0.8, we should use sys-GMM.What is your idea about choosing between FD-GMM and sys-GMM?Are there some standards for model selection between the two methods? I am looking forward to your reply. ​​​​​​​Raymond
                        Best regards.

                        Raymond Zhang
                        Stata 17.0,MP

                        Comment


                        • #13
                          Selecting between diff-GMM and sys-GMM on the basis of the estimated autoregressive (AR) coefficient is not usually a good approach:

                          Suppose the diff-GMM estimator suffers from identification problems. In that case, the AR coefficient estimated with diff-GMM may be strongly biased and therefore not informative whether the true AR coefficient is close to 1 or not (i.e. whether there is a potential identification issue). Even worse, the bias might be so strong that you get an estimate of, say, 0.6, even though the true value is close to 1. You would incorrectly conclude that the diff-GMM estimator is reliable even though it is not. But that also means that if the diff-GMM estimator does not suffer from identification problems and the true coefficient is indeed close to 0.6, we cannot conclude either that the estimator is reliable because the results are not distinguishable from the previous situation (by just looking at the coefficient estimate).

                          If you instead directly start with the sys-GMM estimator that does not suffer from this identification issue, the AR coefficient estimate might be reliable. But if it is, then there is no need to go back to the diff-GMM estimator because the sys-GMM estimator is more efficient because it makes use of an additional assumption about the initial observations. Yet, this is a potentially quite strong assumption (essentially stationarity). If it is violated, then again the sys-GMM estimate would no longer be reliable. So, you would still not use this coefficient estimate as a basis to distinguish between the estimators.

                          Instead, the better approach would be to test for underidentification of the diff-GMM estimator. If that appears to be a problem, you could then proceed with the sys-GMM estimator if the additional stationarity assumption seems reasonable. If not, then you could alternatively use the Ahn-Schmidt GMM estimator with nonlinear moment conditions that can also be implemented with xtdpdgmm. It has the advantage that it does not rely on the additional stationarity assumption but has better identification properties than the diff-GMM estimator.

                          For an example of a model selection strategy, please have a look at the "Model Selection" section in my 2019 London Stata Conference presentation (and the reference to a paper by Kiviet therein).
                          https://www.kripfganz.de/stata/

                          Comment


                          • #14
                            So,do you mean sys-GMM is often better than diff-GMM?Whether I can do like this:
                            1.Firstly, test for underidentification of the diff-GMM estimator
                            2.If it does not pass underidentification test,I should use sys-GMM.
                            3 if it passes underidentification test,I should consider Ahn-Schmidt GMM estimator with nonlinear moment conditions.
                            Can i conclude that sys-GMM is better than diff-GMM?because no matter the underidentification test passes or not, sys-GMM or Ahn-Schmidt GMM is better than diff-GMM.

                            thank you for your help again.
                            Best regards.

                            Raymond Zhang
                            Stata 17.0,MP

                            Comment


                            • #15
                              If you can justify the additional mean-stationarity assumption needed for consistency of the sys-GMM estimator, then it usually performs better than the diff-GMM estimator (provided you ensure that the instruments are sufficiently strong and there are not too many of them).

                              In the standard model with serially uncorrelated errors, the Ahn-Schmidt GMM estimator is superior to the diff-GMM estimator without requiring additional assumptions. Thus, if the diff-GMM estimator does not pass the underidentification test, I would first add the nonlinear moment conditions. (Make sure to check the Arellano-Bond test for absence of serial error correlation.) The Ahn-Schmidt estimator could be superior even if the diff-GMM estimator passes the underidentification test.

                              The sys-GMM estimator really is about the additional mean-stationarity assumption. If it holds, it is the preferred estimator (irrespective of whether the diff-GMM estimator suffers from identification problems or not), unless your cross-sectional sample size is relatively small in which case the sys-GMM estimator might have poor finite-sample properties.

                              The diff-GMM estimator is primarily useful when you cannot use the Ahn-Schmidt estimator (due to serial correlation) or the sys-GMM estimator (due to a violation of mean stationarity), or if the sample size is relatively small and you want to use a relatively simple estimator without many overidentifying restrictions.
                              https://www.kripfganz.de/stata/

                              Comment

                              Working...
                              X