在使用mlogit模型或者ologit模型分析问题时, 模型中的系数并不是边际影响,因此其符号、大小并不能直接反映对的边际影响,甚至的显著性也不一定能说明边际影响必然显著,因此在进行多值选择模型或者定序选择模型结果汇报时,系数的参考价值有限。一种办法是:不报告,直接汇报边际影响的大小;另一种办法是不报告,而是汇报相对风险比的变化倍数RRR,也就是的值,尤其是当的取值只能变化一单位(比如性别、婚姻等虚拟变量)时,则应汇报。第三种办法是同时汇报、、。下面我们mlogit模型为例进行演示。
cd "E:\数据文件夹\ "
webuse sysdsn1,clear
*********基准模型:ols及结果输出***********
reg insure age male nonwhite i.site
est store ols
esttab ols
outreg2 [ols] using table1,word replace tstat bdec(3) tdec(2) rdec(3) e(F)
*********模型mlogit:追加系数***********
mlogit insure age male nonwhite i.site
est store coef
esttab coef //此时模型m1中汇报的是系数b
outreg2 [coef] using table1,word append tstat bdec(3) tdec(2) rdec(3) e(r2_p)
*********模型mlogit:追加RRR***********
mlogit, rrr //Replay, reporting relative-risk ratios
est store RRR
esttab RRR
outreg2 [RRR] using table1, stnum(replace coef=exp(coef), replace se=coef*se) ///
cti(odds ratio) ///
word append tstat bdec(3) tdec(2) rdec(3) e(r2_p) nonote
*********输出dy/dx:此时outreg2将变量按照列输出结果,不够好用*******
********边际效果的输出,只要在后面附加post命令就可以**********
**********然后就可以用est命令把模型输出到CSV中,进行手动粘贴复制******
margins,dydx(_all) post //边际效应
est store dydx
esttab dydx
esttab dydx using table1.csv,replace compress nogap nonotes b(3) t(2) pr2(3)
***********outreg2输出边际系数的效果如下
outreg2 [dydx] using tab113, see tdec(2) rdec(3) e(F)
outreg2 [dydx] using table1, word append tstat bdec(3) tdec(2) rdec(3) e(r2_p)
****est restore 激活模型,否则想要看看跑过的模型的其他指标,还得重新再跑一遍十分浪费时间
est restore coef //对coef这一模型进行激活,省的再跑一遍,浪费时间。
listcoef, help //汇报系数b、 e^b、e^bStdX
listcoef, help factor pvalue(0.10) positive
**********est+ eq(1)强制把所有模型结果并列在一起*******************
est table ols coef RRR dydx, star(.1 .05 .01) eq(1)
//eq(1)强制把所有结果并列在一起输出在一个表格里,无论模型变量是否一致
***************************结束************************************************