Announcement

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

  • xteprobit not converging

    Hello Statalisters--

    I'm having trouble running xteprobit with a treatment function. Even after stripping out all control variables, it fails to converge:

    . xtset dyad year

    . xteprobit ag_sig_del oil, vce(cluster dyad) entreat(amdisp1 = oil, pocorrelation)
    adaptive quadrature failed to converge
    r(430);


    Rationale: I am looking at the effect of offshore oil activity on the probability of countries signing maritime boundary delimitation agreements (ag_sig_del - binary variable). I believe that the "oil effect" is conditional on whether the countries already dispute their boundary, but the existence of a dispute is itself engogenous. So I want to include a treatment equation that accounts for disputes in the previous year (amdisp1 - binary variable) being dependent on oil (and potentially other things). This should yield output for the effect of oil both with and without treatment (amdisp=1 and amdisp=0).

    I originally tried to run with additional variables; it ran for several hours before I finally stopped it. I tried a similar model, though not organized as panel data:

    eprobit ag_sig_del oil year1 year2 year3, entreat(amdisp1 = oil year1 year2 year3)


    ... which converges just fine. (NB: year1 year2 year3 are: years from the start of the dataset, the same-squared, the same-cubed.) And I can add additional variables to this model without a problem. But I want to control for unobserved between variation and so would like the panel data version.

    I'm noting another user asked a similar question with xteoprobit, and there hasn't been a response:
    https://www.statalist.org/forums/for...onvergece-fail

    Is there something I'm doing wrong with xteprobit? Or is that model type just so computationally intensive as to be impractical? Something else anyone might suggest I try?
    Last edited by Pat OBrien; 04 Jan 2022, 14:54.

  • #2
    I have general reservations about the xteprobit command, but setting those aside, it appears to me that you're trying to use as an instrument for amdisp1 the explanatory variable oil. This would not be allowed if you were estimating a linear model by random effects IV. The only reason it doesn't give an error message is because, technically, the estimation can go through because of the nonlinearity of the probit functional form. But this kind of identification -- "achieving identification off of a nonlinearity" -- is frowned upon in econometrics. The general rule is that if you can't identify the effects with a linear model then don't try to do it with a nonlinear model. In fact, I wish Stata did not allow this.

    The same is true when you add the year dummies. You need a variable excluded from the equation for ag_sig_del that predicts oil. This is the usual requirement for an instrumental variables analysis.

    The eprobit analysis that you are attempting can also be done using biprobit. But you need an instrument for amdisp1 in any case.

    Comment


    • #3
      Thank you very much, Prof. Wooldridge. Yes, you're right of course.

      Here is a fuller model. (You'll see this time that atdisp works as an instrumental variable.)
      Code:
      mi estimate, cmdok post: eprobit agdel_sig_no_cover oil fish_tot tradepercap losboth jointdemV atdisp vote_share gdp_dif rel_cap agree_sum_prior year1 year2 year3, vce(cluster dyad) entreat(amdisp1 = oil jointdemV atdisp year1 year2 year3)
      But I have a follow up question. As I said in my first post, I am trying to explore the different effects that oil has depending on the status of dispute (amdisp1), hence why amdisp1 is the DV for the treatment equation and why it is interacting with all other variables in the main equation. So I understand, for example, the output for amdisp1#c.oil value 0 to be for oil when amdisp1=0, and the output for amdisp1#c.oil value 1 to be for oil when amdisp1=1.


      Click image for larger version

Name:	eprobit example output.png
Views:	1
Size:	163.7 KB
ID:	1644098



      But how can it be that there are outputs (last ones for the main equation) for amdisp1 at both 0 and 1? If I am interpreting things right otherwise, this just doesn't seem to make sense. Can you help me understand how I should view these. Or if instaed I am not interpreting the rest of the output right. (I just mean on the basic level of what relationships I am dealing with here; I know that I'll have to do some post-estimation work to interpret any probit outcomes.)

      On biprobit, I looked through the manual and it seems ambiguous on whether it requires instrumental variables. The examples under Quick Start (e.g., biprobit (y1 = x1 x2 x3) (y2 = x1 x2) ) always has a different list of variables, though never with the usual "z" notation. And the example given ( biprobit private vote years logptax loginc ) uses the same covariates for both equations.

      Not a big deal for my purposes, as this doesn't seem to accomplish the endogenous or treatment variable that I need. I just point it out; maybe someone at Stata could make the document clearer one way or another on whether the independent variables can or cannot be the same.
      Last edited by Pat OBrien; 07 Jan 2022, 17:04.

      Comment

      Working...
      X