Announcement

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

  • Reporting lag depth for difference and level equations in System GMM (xtdpdsys / xtabond2)

    Dear Statalist members,
    I am using Stata to estimate two-step System GMM models for my Ph.D. thesis. One of the external examiners has requested that I report the following information for each System GMM specification:
    1. Number of instruments
    2. Lag depth (or lag limits) for the difference equation
    3. Lag depth (or lag limits) for the level equation
    The purpose is to provide greater transparency regarding the instrument structure and to address concerns about instrument proliferation.
    My original estimations were carried out using xtdpdsys.
    The xtdpdsys output reports the number of instruments, and from the estimation command I can also report the values specified through lags(), maxldep(), and maxlags(). However, I have not been able to find any information in the output or documentation that reports the lag depth (or lag limits) separately for the difference and level equations, as requested by the examiner.
    To investigate further, I re-estimated one of the models using xtabond2, since its output explicitly reports the instrument sets for the two equations. The relevant output is:
    Instruments for first differences equation
    GMM-type
    L(2/3).(...)

    Instruments for levels equation
    GMM-type
    DL.(...)
    From this, it is clear that xtabond2 reports the lag limits for the first-difference equation (L(2/3)). However, for the level equation it reports only DL.(...), i.e., first differences of lagged variables, and does not appear to report a corresponding lag range (such as L(2/3)).
    My questions are:
    1. Is there any way in xtdpdsys to obtain or report the lag depth (or lag limits) separately for the difference and level equations?
    2. If not, is there any post-estimation command or other method that allows these lag limits to be determined from a xtdpdsys estimation?
    3. If the recommended approach is to use xtabond2, how should the lag depth for the level equation be reported, given that the output only displays DL.(...) and not an explicit lag range?
    My preference is to continue using xtdpdsys, as all analyses reported in my thesis were estimated using this command. However, if reporting these quantities is only possible through xtabond2, I would appreciate guidance on the correct interpretation and reporting of the level-equation instruments.
    Thank you very much for your time and assistance.

  • #2
    In System GMM, if you specify differenced lags beyond the first one as instruments, they are redundant and will be dropped from the instrument matrix because of collinearity. The reason is that these differenced lag instruments are simply differences of the lagged level instruments.
    An intuitive way to see this is that when you add the column Δy_(t-2) to the instrument matrix (for the level equation), it is actually constructed from the columns y_(t-2) and y_(t-3), which have already been included as instruments for the differenced equation.
    For transparency, it might also be useful to report the lag range (minimum to maximum lag) for each level variable used in the instrument matrix. Since this information can be rather lengthy, including the corresponding command line in the notes below the table (for each numbered model) could provide complete documentation.
    Manh Hoang-Ba,
    Facebook,
    Eureka! Uni - YouTube,
    ManhHB94 (Manh Hoang Ba),
    Hoàng Bá Mạnh – Kinh tế lượng: Lý thuyết và ứng dụng

    Comment


    • #3
      Originally posted by Manh Hoang Ba View Post
      In System GMM, if you specify differenced lags beyond the first one as instruments, they are redundant and will be dropped from the instrument matrix because of collinearity.
      This statement is technically only correct if all available instruments for the model in first differences are used; i.e., no curtailing (lag depth restriction) and no collapsing. Yet, the default choices are typically nevertheless to only use one lag per variable as instruments for the level model. Note also that DL.() is equivalent notation to DL(1/1).(); i.e., the lag range is from 1 to 1.

      More on dynamic panel data GMM estimation in Stata:
      https://www.kripfganz.de/stata/

      Comment

      Working...
      X