Date: Sun, 28 Aug 2005 09:42:23 -0500
From: "Jun Xu" <[email protected]>
Subject: RE: st: maximum simulated likelihood
Dear Professor Jenkins and other listers,
1. Thanks for correcting my incorrect terminology. I should use msl (maximum
simulated likelihood)
2. So I would say that we HAVE to create those random variables outside the
loop first, right?
3. With slight change in the last line, my new code now is
*****************************
forval i = 1/100 {
tempname ed`i'
gen double `ed`i'' = -ln(uniform()) // just a very ad hoc way of
creating random vars
}
qui forval i = 1/100 {
replace `sp'= `sp' * (invlogit(`xb' + `ed`i'')) if $ML_y1 == 1
replace `sp'= `sp' * (invlogit(-(`xb' + `ed`i''))) if $ML_y1 == 0
}
qui replace `lnf' = (ln(`sp')/100)
********************************
One more question:
I use simplest lf method. I am not quite sure why I need to have
"qui replace `lnf' = `lnf' + (ln(`sp')/100)" (say Option A) instead of
"qui replace `lnf' = (ln(`sp')/100)" (say Option B). For Option A, I cannot
get it converged. Option B converged. Regardless of the convergence, I am
just wondering which one is right.
Thanks a lot
Jun Xu
Please re-read my last message.