Announcement

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

  • 2SLS with interaction term

    Dear reader,

    For my robustness tests, I also have to include a 2SLS IV test. My main results are from the following regression command:

    reg ROA i.Law##c.ESG Size Leverage sales_growth PPE i.Industry_n i.year, robust

    where Law is the moderating variable that represents Legal legislation (common v.s. civil law) and ESG the ESG score ranging from 0-100. Now I am struggling on what command for the 2SLS to use. I have added a IV which is the Industry-year average ESG composite score. Without using the interaction term, I used the following command for 2SLS that used to work:

    ivregress 2sls ROA Size Leverage sales_growth PPE Industry_n year (ESG = ESG_average), robust

    I hope that there is someone that can tell me how to run the 2SLS with an interaction term like I have.

    Thanks in advance!

  • #2
    If i am right, Woodbridge textbook suggests to use the instrument times the variable that you interact. Suppose x is the endogenous variable, m is the moderating one and z is an instrument for x. Then m*z can be used as an instrument for m*x

    Comment


    • #3
      Dear Dario,

      Thanks for your answer! But stata keeps saying "1b.Law included in both endogenous and excluded exogenous variable lists" or when I use * instead of ## "variable Law*ESG" not found. I tried:

      ivregress 2sls ROA Size Leverage sales_growth PPE Industry_n year (Law*ESG = Law*ESG_average), robust

      But it still doesn't work... also the following didn't work:

      ivregress 2sls ROA Size Leverage sales_growth PPE Industry_n year (i.Law##c.ESG = i.Law*c.ESG_average), robust

      Do you know what is going wrong here? Or should I create the Law*ESG variable then? Wasn't sure whether that gives the same values as i.Law##c.ESG.

      Thanks in advance

      Comment


      • #4
        "Law*ESG" this is illegal in stata (and I guess in any other econometric package) when you pretend that stata generate the cross product to be plugged in the estimation. Some would complain about that solution, but i would create the interaction terms before running the estimation.

        Comment


        • #5
          "Law*ESG" this is illegal in stata (and I guess in any other econometric package) when you pretend that stata generate the cross product to be plugged in the estimation. Some would complain about that solution, but i would create the interaction terms before running the estimation.

          On the side, i would use the user-written command ivreg2 instead of ivregress, as it reports more statistics useful to evaluate the goodness of your model. Moreover, i would add the option first to display the first stage and the option endog( ) indicating in the brackets the two variables that you suppose to be endogenous. The latter will run an endogeneity test, which, again, is useful to check whether your variables are in fact endogenous

          Comment

          Working...
          X