************************************ *Ordered probit with given thresholds (first equation in the system (2.9) of my PhD paper) ************************************ #delimit; capture program drop myoprobit ; program define myoprobit; args lnf theta1 theta2; qui replace `lnf' = ln(normprob ((ln(1.524) -`theta1')/`theta2')) if $ML_y1==1; qui replace `lnf' = ln(normprob ((ln(3.811) -`theta1')/`theta2')- normprob((ln(1.524) -`theta1')/`theta2')) if $ML_y1==2; qui replace `lnf' = ln(normprob ((ln(7.622) -`theta1')/`theta2')- normprob((ln(3.811) -`theta1')/`theta2')) if $ML_y1==3; qui replace `lnf' = ln(normprob ((ln(15.245)-`theta1')/`theta2')- normprob((ln(7.622) -`theta1')/`theta2')) if $ML_y1==4; qui replace `lnf' = ln(normprob ((ln(38.112) -`theta1')/`theta2')- normprob((ln(15.245)-`theta1')/`theta2')) if $ML_y1==5; qui replace `lnf' = ln(normprob ((ln(76.221) -`theta1')/`theta2')- normprob((ln(38.112)-`theta1')/`theta2')) if $ML_y1==6; qui replace `lnf' = ln(1-normprob ((ln(76.221) -`theta1')/`theta2')) if $ML_y1==7; end; ml model lf myoprobit (cap: k= cj artisan francha loc2 sexe etrange age1 age2 age4 age5 age6 age7 diplom1 diplom2 diplom3 nbcr expro1 proch1 proch2 motiv1a motiv2a motiv3a crqui2 crqui3 crqui4 crqui5 pret sub exo iaa horsiaa constr transp immobil serventr servpart educsant reg21 reg22 reg23 reg24 reg25 reg26 reg31 reg41 reg42 reg43 reg52 reg53 reg54 reg72 reg73 reg74 reg82 reg83 reg91 reg93 reg94 )/ sigma ; *ml check; log using Lognormal.txt; ml maximize;