Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

st: RE: `binorm' in Multivariate Maximum Likelihood


From   "FEIVESON, ALAN H. (AL) (JSC-SK) (NASA)" <[email protected]>
To   "'[email protected]'" <[email protected]>
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: [email protected]
[mailto:[email protected]]On Behalf Of Jason Hwang
Sent: Friday, February 04, 2005 5:28 PM
To: [email protected]
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/



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