  # st: RE: `binorm' in Multivariate Maximum Likelihood

 From "FEIVESON, ALAN H. (AL) (JSC-SK) (NASA)" To "'statalist@hsphsun2.harvard.edu'" Subject st: RE: `binorm' in Multivariate Maximum Likelihood Date Tue, 8 Feb 2005 14:38:47 -0600

```Jason - Have you tried reparameterizing to force a positive definite
covariaance matrix for your bivariate normal?

e.g. log(v_11)=th1; log(v_22)=th2; logit((1+rho)/2)=th3

in terms of th1, th2 and th3, the 2 x 2 covariance matrix (v_ij) is then

v_11=exp(th1);  v_22=exp(th2); v12=v21=rho*sqrt(v_11*v_12) where rho=-1 +
2*exp(th3)/(1+exp(th3))

Al Feiveson

-----Original Message-----
From: owner-statalist@hsphsun2.harvard.edu
[mailto:owner-statalist@hsphsun2.harvard.edu]On Behalf Of Jason Hwang
Sent: Friday, February 04, 2005 5:28 PM
To: statalist@hsphsun2.harvard.edu
Subject: st: `binorm' in Multivariate Maximum Likelihood

Dear Statalist Users,

I would very much appreciate your help with the following problem.

I'm trying to write a maximum likelihood procedure for a system with:

- a binary dependent variable
- a binary endogenous explanatory variable
- two continuous endogenous explanatory variables

In matrix form, it's easy to derive the likelihood function: express the
joint density of all four variables as the product of the joint density of
the two binary variables conditional on the continuous variables and the
joint density of the continuous variables. The first part, the density of
binary variables requires calculating probabilities for the four relevant
cases. (Greene pg. 855 as well as Wooldridge)

I am using the function `binorm' to calcluate the density of the two
binary variables. `binorm' takes three inputs, (conditional) means for the
two variables and a correlation coefficient (variances are normalized to
one).  Now there three arguments are, in my model, complicated functions
of elements from the 4 x 4 covariance matrix of the full system.

The problem is Stata can't find any starting values for this procedure.
I've looked at the correlation coefficient that is being generated and
often it exceeds 1 or is smaller than -1, in which case binorm produces on
output.  I have tried imposing restrictions on various parameters when
running `ml search' to see if I can get a correlation coefficient in the
unit interval, but that didn't work either.

Any suggestions for how to proceed?

Thanks very much for your help,

Jason

*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
```