Announcement

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

  • IV with several endogenous variables

    Dear All,

    I am going to estimate the following model:

    y=a+b+c*x^2+d*kx+e*r+error

    where x is an endogenous variable and k and r are assumed to be exogenous.

    I estimate the above equation using ivreg2 and z1 and z2 as instruments.

    So I estimate:

    ivreg2 y r (x x^2 kx=z1 z1^2 z2 z2^2 z1*k z2*k), first r

    Since I include also x^2 I square the two instruments z1 and z2. Moreover, I assume that if z1 and z2 are valid instruments for x then z1*k and z2*k are valid instruments for kx.

    I am not sure if my approach is adequate. Do you have any hint?

    Thanks,

    Dario

  • #2
    Is kx some function of x or a completely different variable from x? if k is assumed exogenous, then only x should be on the lhs of the () in the command. all 2sls commands (including ivreg2) will include k in the first stage as predictors for x.

    Also, exogenity/edogenity of x is unrelated to it's functional form (broadly speaking). If you wish to include a quadratic term for x it's fine - but it does not entail that the instrument also has to be quadratic, just like if x was ln(x) does not entail z to be ln(z) or z^3 or sqrt(z).

    Comment


    • #3
      Dear Ariel,

      Thanks for your reply. ​kx is the product between x(endogenous) and k(exogenous). I do not use k and x separately. So if I am correct, I do not need to include the squared value of the instrument. Right?

      Best

      Dario

      Comment


      • #4
        Right. Moreover, I don't think you need to include k in the first stage at all. If it's exogenous it shouldn't be on the lhs of the () but rather outside the (), if It's an instrument it should be on the rhs of the (). I don't think iv'e ever seen an interaction of an endogenous variable and exogenous variable in an IV model.

        Also, you should use factor variable notation throughout - instead of
        Code:
        gen x2 = x * x
        reg y x x2
        use
        Code:
        reg y c.x##c.x
        see
        Code:
        help fvvarlist
        for details

        Comment


        • #5
          Thanks. Indeed, it is the first time i deal with the interaction of an exogenous and endogenous variable.

          Thanks for your help.

          Comment


          • #6
            Here are a few more comments. First, I haven't checked Stata 15, but in Stata 14, factor notation is not allowed when specifying endogneous variables in ivregress. If it was not changed for Stata 15, it's a good improvement for Stata 16.

            Second, you're intuition about what to do in this case is right on. I just have one question: How come the variable k does not appear by itself? It's unusual to include the level of x and the interaction k*x without also including the level of k. It can also be quite misleading.

            So, after you create the squares and interactions, I would use

            Code:
            ivregress y k r (x xsq k_x = z1 z1sq z2 z2sq z1_k z2_k), first r
            You might even add z1_z2, the interaction between z1 and z2.

            You can find essentially this suggestion in Chapter 8 of my 2010 MIT Press book.

            JW

            Comment


            • #7
              Thank you Jeff. Indeed, I will include also k by itself. I did not think about adding the product of the two instruments. Thanks for your suggestions.

              Comment


              • #8
                Hello All,

                I urgently need help in a similar kind of problem that is happening in my estimations. I intended to estimate the impact of firm's leverage on its market share using 2SLS modelling. My model also incorporates the square term along with an interaction of leverage with HHI. To do that I use the following command:

                ivregress 2sls Market Share HHI CV's (c.Leverage##c.Leverage c.Leverage#c.HHI = c.Instrument##c.Instrument c.Instrument#c.HHI) where [CV: Control Variables ]

                While I do that I find that the R square is blank. Is my command correct?

                Also, I have following more questions:
                1. if I intend to do it through GMM then the command would be like this:
                ivreg2 Market Share HHI CV's (c.Leverage##c.Leverage c.Leverage#c.HHI = c.Instrument##c.Instrument c.Instrument#c.HHI), gmm 2s robust small. Is it correct?

                2. Even if I do not include the interactions and quadratic term of leverage and intend to solve it using simultaneous equation modelling then the right approach would be to separately estimate each equation using:
                ivereg2 market share CV's ( Leverage = Cv's of Leverage from second equation), endog (Market Share)
                ivereg2 leverage CV's (Market Share = Cv's of Market Share from first equation), endog (Leverage)

                3. Now if I incorporate the interaction as well as square term then how do I modify the simultaneous equation systems command? I assume I know how it can be modified in 2SLS (where I have only 1 instrument) but if I want to do it through SEM (where there could be more than one instrument), how do I proceed with that? The best I could come up was:

                ivreg2 market share CV's (Leverage## Leverage Leverage#HHI = All CV's from second equation## All Cv's from second equation HHI#All CV's). Is it correct?

                I know this is a long post of questions but I have gone through many reads and forums and unfortunately could not find anything definite. Please someone help here, I am really stuck and all these questions are so interrelated that I am not able to follow even any one of the approaches unless clarified which one is appropriate. Answers or just approval of any of them would be really helpful. Any reading would be helpful too.

                Hoping for a reply.

                Thanks,
                Mohina

                Comment


                • #9
                  Originally posted by Jeff Wooldridge View Post
                  Here are a few more comments. First, I haven't checked Stata 15, but in Stata 14, factor notation is not allowed when specifying endogneous variables in ivregress. If it was not changed for Stata 15, it's a good improvement for Stata 16.

                  Second, you're intuition about what to do in this case is right on. I just have one question: How come the variable k does not appear by itself? It's unusual to include the level of x and the interaction k*x without also including the level of k. It can also be quite misleading.

                  So, after you create the squares and interactions, I would use

                  Code:
                  ivregress y k r (x xsq k_x = z1 z1sq z2 z2sq z1_k z2_k), first r
                  You might even add z1_z2, the interaction between z1 and z2.

                  You can find essentially this suggestion in Chapter 8 of my 2010 MIT Press book.

                  JW
                  A quick follow up, does the order all variables in the varlist_iv section matters?

                  Comment

                  Working...
                  X