# st: Triprobit & mvprobit errors (trivariate probit model)

 From "Tiffany Davenport" To Subject st: Triprobit & mvprobit errors (trivariate probit model) Date Tue, 29 Jul 2008 15:01:38 -0400

```Dear Statalist,

I am experiencing difficulties simultaneously estimating three equations in
order to estimate the average treatment effects of two interventions
relative to a control group in a randomized experiment.  I have used both
triprobit and mvprobit commands and have different problems with each. I
have searched the Statalist archives for applicable posts, but did not turn
up enough information to resolve these issues.

I am estimating the following three equations:

1. Outcome= &agr;1 + &bgr;1TreatmentAContact + &bgr;2TreatmentBContact + &bgr;3Stratum1 +
&bgr;4Covariate1 +.+  &bgr;9Covariate6 + &egr;1

2. TreatmentAContact= &ggr; + &dgr;1Treatment A + &dgr;2Stratum1 + &dgr;3Covariate1 +.+
&dgr;8Covariate6 + &egr;2

3. TreatmentBContact = &pgr; + &thgr; 1TreatmentB + &thgr;2Stratum1 + &thgr;3Covariate1 +.+
&thgr;8Covariate6 + &egr;3

Where

- All variables are binary including the "Outcome" dependent variable and
all explanatory variables.
-  TreatmentAContact and TreatmentBContact are binary indicators of a
subject's successfully having received the respective treatment.
- TreatmentA and TreatmentB are binary indicators of random assignment to
treatment groups A and B, respectively. "Control" is the reference group.
- Standard errors are clustered by unit of randomization.

The syntax I have been using is the following:

Triprobit [or mvprobit] (Outcome= TreatmentAContact TreatmentBContact
covariate1 covariate2 covariate3 covariate4 covariate5 covariate6 stratum1)
(TreatmentAContact = TreatmentA covariate1 covariate2 covariate3 covariate4
covariate5 covariate6 Stratum1) (TreatmentBContact = TreatmentB covariate1
covariate2 covariate3 covariate4 covariate5 covariate6 Stratum1), cl
(randomization unit)

triprobit:
When I use triprobit with up to 5000 draws, I get the error "matrix not
positive definite, r(506);"  or "could not calculate numerical derivatives
missing values encountered r(430);" When I specify "difficult" for
triprobit, the output includes hundreds of iterations of the same log
likelihood that are nonconcave, and though I have halted the process, it
does not seem as though convergence will be reached..

mvprobit:
When I use the mvprobit command with fewer draws (50, for example) I get the
error, "flat or discontinuous region encountered, r(430);"

In either case, all iterations after the first few result in log likelihoods
that are listed as "nonconcave."  Both commands work with a low number of
draws, but the estimates are not stable. (If I slightly increase the number
of draws, the estimates of the coefficients change.)

I believe the presence of the control group, for which either contact
variable is always 0 might be causing these problems.  Does anyone have
suggestions of alterations to triprobit or mvprobit that might help or
perhaps a more appropriate estimation strategy than maximum simulated
likelihood?

Sincerely,

Tiffany

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
```