听了连老师的stata MLE,自己练习写MLE的估计,目前已经把logit probit tobit 和truncreg的写好,但是练习写ordered logit 和 ordered probit遇到了问题,请教一下。下面是我写的似然函数
因为ordered logit 的似然函数是Pr(y=m|x)=F(Cm-xb)-F(Cm-1 - xb) F为invlogit Cm 为 y=m时的cut值.我这里按y有4个分类来写的 *-------------------------------------------------
cap program drop myologit_lf
program define myologit_lf
version 9
args lnf xb c1 c2 c3
qui replace `lnf' = ln(1-invlogit(`xb'-`c1')) if $ML_y1 == 1
qui replace `lnf' = ln(invlogit(`xb'-`c1')-invlogit(`xb'-`c2')) if $ML_y1 == 2
qui replace `lnf' = ln(invlogit(`xb'-`c2')-invlogit(`xb'-`c3')) if $ML_y1 == 3
qui replace `lnf' = ln(invlogit(`xb'-`c3')) if $ML_y1 == 4
end
*-------------------------------------------------
用如下这笔数据操作
use http://www.stata-press.com/data/lf2/ordwarm2,clear
其中warm 为4分类
做ologit warm ed 可以收敛
但是做
ml model lf myologit_lf (warm = ed) /c1 /c2 /c3
ml max
就不能收敛
把 invlogit 换成normal还是不行。
请问是不是我把似然函数写错了?


雷达卡





京公网安备 11010802022788号







