Announcement

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

  • Forbidden Regression Problem?

    I am quite confused about the forbidden regression problem, and unsure if I have one in this case.

    Stage 1:

    Probit Model: Prob(Vulnerability) = Set of regressors that predict vulnerability.

    The predicted value "Predicted vulnerability" is a variable of interest in stage 2.

    Stage 2:

    Seemingly Unrelated Regression: DV = Predicted Vulnerability + Controls

    Does having a probit first stage model with a SUR in the second stage a case of a forbidden regression? If so, what is the best solution for this?

    It seems the discussion around forbidden regressions is centered around instrumental variable approaches. In my setting, the first stage model is mostly useful for just condensing multiple determinants of vulnerability into one predicted measure.

  • #2
    It is FR.

    Couple questions.
    1. Why not just use DV from probit in second stage? Endogeneity?
    2. Why using SUR?

    If not SUR, then

    Code:
    etregress depvar [indepvars], treat(depvar_t = indepvars_t) [twostep]

    Comment


    • #3
      Hi George,

      The construct I am interested in is like likelihood of a future distress. Vulnerability is a measure of a current distress (I'm realizing it's a bad variable name, I just pull it from prior lit).

      I use SUR as I have two DV and my hypotheses compare the coefficients across the two SUR equations.



      Comment


      • #4
        Do the two DVs measure future distress? Or, is vulnerability a measure of lagged distress? Or, are you saying that certain observables are correlated with distress so you are predicting the propensity to be distressed in the first stage?

        Comment


        • #5
          The two DVs are donations and grants. I am seeking to see if they respond to predicted vulnerability (the likelihood of a future distress). Predicted Vulnerability and controls lagged one year.

          Prob(Current Distress) = regressors shown to predict a future distress (lagged of course)

          Derive predicted vulnerabiltity from this.

          SUR:

          Donations = a1Predicted Vulnerability + Controls (Predicted vulnerability and all controls lagged one year)

          Grants = b1Predicted Vulnerability + Controls (Predicted vulnerability and all controls lagged one year)

          Hypothesis: a1=b1


          Comment


          • #6
            I don't know what "distress" is measuring, but if its related to "happiness" then you've got a jointly determined system. If you think distress is not a function of donations/grants, then estimate stage 2 and forget about stage 1.
            The first stage is not the likelihood of future distress, it is the likelihood of current distress. It is the prediction of a DV measured as current distress.

            There is reason to suspect that they are jointly determined.
            HTML Code:
            https://www.hbs.edu/ris/Publication%20Files/10-012_0350a55d-585b-419d-89e7-91833a612fb5.pdf
            https://www.talkspace.com/blog/giving-back-mental-health-impact/
            Is this two-stage thing done in the literature on this topic?

            Might look at control function.

            Comment


            • #7
              The primary benefit of doing this in 2 stages is that the "predicted vulnerability" construct is a combination of around 6 measures (the regressors in the first stage). If I insert all 6 into stage 2 and justrun this as 1 stage, it becomes difficult to interpret my findings on this construct.

              Comment


              • #8
                What you have written in #5 is not a Seemingly Unrelated Regression, but rather a Multivariate Regression, because the regressors in both your equations are the same.

                When the regressors are the same in all equations, Seemingly Unrelated Regression reduces to a Multivariate Regression, which in turn is equivalent to OLS equation by equation.

                What you have is more of a Generated Regressor problem, rather than a Forbidden Regression.

                What you can do is the following:


                1. Estimate your two equations of the system like George told you using -etregress-. Use full maximum likelihood, and not two stage or control function.

                2. Use -suest- to carry out the across equations test you have in mind.



                Comment


                • #9
                  Hi Joro,

                  Yes my understanding is that the SUR in my setting is equivalent to OLS equation by equation.

                  I will explore the usage of -etregress-.

                  Another question: I have two other variables of interest that are not generated from a first stage model. Will the coefficients on those variables be correct when using -etregress-, or should I run those tests separately and just include the 6 first stage variables as controls?

                  Thank you!

                  Comment


                  • #10
                    Everything will be correct if you use -etregress- because it correctly takes into account all interplay between the first and second stage.

                    If in the second stage you have a generated regressor, the standard errors and wrong for all variables, even for the ones which are not generated.

                    Originally posted by Kyle Alex Smith View Post
                    Hi Joro,

                    Yes my understanding is that the SUR in my setting is equivalent to OLS equation by equation.

                    I will explore the usage of -etregress-.

                    Another question: I have two other variables of interest that are not generated from a first stage model. Will the coefficients on those variables be correct when using -etregress-, or should I run those tests separately and just include the 6 first stage variables as controls?

                    Thank you!

                    Comment


                    • #11
                      OK so I will try:

                      etregress donations a1VOI1 a2VOI2 Controls , treat(Distress = x1 x2 x3)

                      etregress grants b1VOI1 b2VOI2 Controls , treat(Distress = x1 x2 x3)


                      What would be the appropriate code to run a1=b1?

                      Previously with SUR I was using:

                      lincom _b[donations:programratio_tm1] - _b[grants:programratio_tm1]

                      Comment


                      • #12
                        rough sketch, but I'd seek confirmation this is legit (Joro?)

                        Code:
                        sysuse auto, clear
                        etregress price headroom weight , treat(foreign = turn displacement)
                        eststo e1
                        etregress mpg headroom weight , treat(foreign = turn displacement)
                        eststo e2
                        suest e1 e2
                        test [e1_price]weight=[e2_mpg]weight

                        Comment


                        • #13
                          The code George displays implements what I have in mind.

                          And I have not seen this approach in textbooks or papers, so this is brand new super modern stuff. It should work because -etregress- is taking appropriate care of the relationship between first and second stage, and -suest- is taking appropriate care of the relationship between the two equations.

                          Most importantly, if this super modern stuff makes its way into a paper, Kyle Alex Smith must most definitely cite the two Georges, George Ford and Gueorgui Kolev as the proud inventors of the method.


                          Originally posted by George Ford View Post
                          rough sketch, but I'd seek confirmation this is legit (Joro?)

                          Code:
                          sysuse auto, clear
                          etregress price headroom weight , treat(foreign = turn displacement)
                          eststo e1
                          etregress mpg headroom weight , treat(foreign = turn displacement)
                          eststo e2
                          suest e1 e2
                          test [e1_price]weight=[e2_mpg]weight

                          Comment


                          • #14
                            I'll get my 7 lines of code published in Econometrica ASAP!

                            Comment

                            Working...
                            X