[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

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


- 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)

Errors I receive:

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..

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

Thank you for your consideration. 



*   For searches and help try:

© Copyright 1996–2017 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index