Announcement

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

  • Bivariate probit model with panel data (+fixed effects)

    Dear Statalist,

    Hi.

    I want to estimate the bivariate probit model with panel data.
    My dependent variable(Y), endogenous independent variable(X), and instrument variable(Z) are all binary variables.
    (Some of my control variables ($control_for_y and $control_for_x) are binary and others are continuous.)
    I think there is a reverse causality between X and Y(i.e. Y->X), so I'm considering using a bivariate probit model.
    Also, if possible, I want to run a regression with fixed effects.

    I searched and tried several ways, but none of them seemed to be working:

    - biprobit model: I tried a biprobit code below first. However, I later discovered that the biprobit model is not appropriate for panel data.
    Code:
    biprobit (y = x $control_for_y i.wave) (x = y $control_for_x z i.wave), vce(cluster id)
    (Id is panel variable, and wave is time variable for the panel data.)

    - xtprobit model: Since I'm using panel data, it seems reasonable. However, I don't know how to deal with my endogenous regressor(X) in this model.

    - xtspecialreg: I've heard about this, but as far as I know, xtspecialreg requires the instrument variable to be continuous. (If it is not true, please let me know.)

    So, which model should I use in this case?
    I've heard about cmp but have not tried it yet. Do you think cmp is the best command I can use in this case?
    And also, how can I calculate the marginal effects after probit regression?

    Thank you in advance!

  • #2
    Daisy: You can't include unit-specific fixed effects in almost any nonlinear model and expect good results. The only exception is Poisson regression. With large N, small T, including i.id will result in a severe incidental parameters problem.

    However, you can use the correlated random effects approach. You can read about it in my joint paper with Anastasia Semikya.

    The method involves including the time averages of the exogenous explanatory variables in both equations. And there is nothing with biprobit for panel data; you simply have to obtain cluster-robust standard errors.

    In some recent work with Wei Lin, we suggested that including the time average of the exogenous variable can be a good idea. It will work here as well:

    Code:
    egen xbar = mean(x), by(id)
    egen controlbar = mean(control), by(id)
    egen zbar = mean(z), by(id)
    biprobit (y = x xbar control controlbar zbar i.wave) (x = z zbar control controlbar i.wave), vce(cluster id)

    Comment


    • #3
      Thank you! It was really great help.

      I read your joint paper with Anastasia Semikya, and I'd like to ask you some questions if I understood correctly.

      1. Do you mean that if I put the vce(cluster id) option, then I can use biprobit for panel data?

      2. Putting zbar in both equations is for eliminating selection bias resulting in unbalanced panel data.
      If I put zbar in both equations, then is my reverse causality problem solved?
      That is, do you mean that I don't have to put y or ybar in second equation(x = z zbar control controlbar i.wave)?

      3. Does Including the time average of the exogenous variable play a similar role as putting zbar?
      Also, I wonder if the coefficients of time average variables are not meaningful. (i.e. Only the coefficients of original x, control, z matter.)

      Please let me know if I don't understand your answer or paper properly.

      Again, thanks for your help.

      Comment

      Working...
      X