* This code produces an ordered logit model for a y variable with 3 levels. * First write what Stata calls the evaluator program myologit version 9 args lnf xb a1 a2 * The contribution to the likelihood at each level of y quietly replace `lnf' = ln(1/(1+exp(-`a1' + `xb'))) if $ML_y1 == 1 quietly replace `lnf' = ln(1/(1+exp(-`a2'+ `xb')) - 1/(1+exp(-`a1' + `xb'))) if $ML_y1 == 2 quietly replace `lnf' = ln(1 - 1/(1+exp(-`a2'+ `xb'))) if $ML_y1 == 3 end use http://www.ats.ucla.edu/stat/stata/notes/hsb2, clear * specify the method (lf) and the name of your evaluator (myologit) * followed by the equation(s) in parantheses and then the cutpoints. ml model lf myologit (xb: ses = female math write, nocons ) /a1 /a2 ml check ml search ml maximize * You can check a simplified version of your model against the results * from Stata, before writing a program to run a more complicated model. ologit ses female math write
The content of this web site should not be construed as an endorsement of any particular web site, book, or software product by the University of California.