It looks like my previous message has gone unnoticed.
So I am sending it again. Forgive the repetition, but
I am really stuck on this and hoping to get some help.
Thanks
dear statalisters,
I am trying to estimate an ordered probit model using
the ML command. The reason for not simply use the
oprobit command, is that I want then to modify the
likelihood function in order to account for censored
observations. I know I could probably use other models
then a censored ordered probit to correct for
censoring (like Cox regression), but to show this I
need first to replicate the results from a published
study where the censored ordered probit model was
used.
I am new to the ML command, so what I did was to
follow the instructions in the FAQ �Is it possible to
include a constant term (intercept) in ordered probit
model within Stata? What is the relationship between
ordered probit and
probit?�(http://www.stata.com/support/faqs/stat/constant.html).
In this FAQ W. Gould explains that estimating an
ordered probit is equivalent to estimate a series of
binary probit with one equation for each outcome, and
constraining the coefficients (but not the constants)
to be the same across equations, the constants derived
from each equation are the cut-off points with
reversed sign.
My dependent variable (x) has 12 outcomes (from 0 to
11). Therefore I defined first 11 dummies of the type:
Dum1= x ==11
Dum2= x>=10
Dum3= x>=9
�����.
Dum10=x>=1
Then, I estimate the 11 equations simultaneously,
imposing the constraints on the coefficients. The
likelihood function of the model is the sum of the
likelihood functions for each of the equations. The
model specification is below (the model contains some
50 explanatory variables, I reduced here to 5 or six
to save space).
Now, the coefficients estimates I obtain are similar
to those obtained by simply running the �oprobit�
command. However:
- the value of the log-likelihood I get is twice the
value obtained with oprobit
- standard errors are much smaller in my model than in
�oprobit�
- the constants from my model are �similar� to the
cut-off points obtained through oprobit, but still
quite different.
Any guess about what am I doing wrong?
Any other way to estimate this model?
Any help really appreciated. Thanks.
Edoardo
cap program drop maxprob
program define maxprob
args lnf1 theta1 theta2 theta3 theta4 theta5 theta6
theta7 theta8 theta9 theta10 theta11
qui replace `lnf1'
=($ML_y1)*ln(normprob(`theta1'))+(1-$ML_y1)*ln(normprob(-`theta1'))+
/*
*/
($ML_y2)*ln(normprob(`theta2'))+(1-$ML_y2)*ln(normprob(-`theta2'))+
/*
*/
($ML_y3)*ln(normprob(`theta3'))+(1-$ML_y3)*ln(normprob(-`theta3'))+
/*
*/
($ML_y4)*ln(normprob(`theta4'))+(1-$ML_y4)*ln(normprob(-`theta4'))+
/*
*/
($ML_y5)*ln(normprob(`theta5'))+(1-$ML_y5)*ln(normprob(-`theta5'))+
/*
*/
($ML_y6)*ln(normprob(`theta6'))+(1-$ML_y6)*ln(normprob(-`theta6'))+
/*
*/
($ML_y7)*ln(normprob(`theta7'))+(1-$ML_y7)*ln(normprob(-`theta7'))+
/*
*/
($ML_y8)*ln(normprob(`theta8'))+(1-$ML_y8)*ln(normprob(-`theta8'))+
/*
*/
($ML_y9)*ln(normprob(`theta9'))+(1-$ML_y9)*ln(normprob(-`theta9'))+
/*
*/
($ML_y10)*ln(normprob(`theta10'))+(1-$ML_y10)*ln(normprob(-`theta10'))+
/*
*/
($ML_y11)*ln(normprob(`theta11'))+(1-$ML_y11)*ln(normprob(-`theta11'))
/*
*/
end
do constr1
do constr2
do constr3
ml model lf maxprob (school1=cos for sav semurb rural
sex) /*
*/ (school2=cos for sav semurb rural sex) /*
*/ (school3=cos for sav semurb rural sex) /*
*/ (school4=cos for sav semurb rural sex) /*
*/ (school5=cos for sav semurb rural sex) /*
*/ (school6=cos for sav semurb rural sex) /*
*/ (school7=cos for sav semurb rural sex) /*
*/ (school8=cos for sav semurb rural sex ) /*
*/ (school9=cos for sav semurb rural sex) /*
*/ (school10=cos for sav semurb rural sex) /*
*/ (school11=cos for sav semurb rural sex ) /*
*/ , constraints(1-590)
__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com
*
* 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/