You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Logit模型聚类稳健标准误预测概率图制作问题求助

我之前也踩过cplot()这个坑!它对vcov参数的支持确实有bug,没法直接传递聚类稳健的方差设定。不过有两个非常靠谱的替代方案,亲测有效:

方法1:手动计算预测值+自定义画图(最灵活)

这个方法绕开cplot()的参数问题,直接用margins计算带聚类稳健标准误的预测概率,再用Stata基础画图命令可视化:

* 1. 拟合Logit模型(也可以不提前指定robust,后面margins单独设置)
logit y x1 x2, cluster(id)

* 2. 计算目标变量的预测概率,明确指定聚类稳健SE
* 这里以x1从1到10的全范围为例,可根据你的变量调整区间
margins, at(x1=(1(1)10)) vcov(cluster id) saving(margin_output, replace)

* 3. 从保存的结果文件提取数据,用twoway画图
use margin_output, clear
twoway (line _at _margin, lwidth(medium) color(navy)) ///
       (rcap _margin_lb _margin_ub _at, lcolor(gray) lwidth(thin)), ///
       ytitle("Predicted Probability of Y=1") ///
       xtitle("X1") ///
       title("Logit Model: Cluster-Robust Predicted Probabilities") ///
       legend(off) ///
       ylabel(0(0.2)1)

方法2:用官方的marginsplot(最简便)

Stata官方的marginsplot完全支持margins命令中指定的聚类稳健方差设定,比cplot()更稳定可靠:

* 1. 拟合Logit模型
logit y x1 x2, cluster(id)

* 2. 计算预测概率,明确指定聚类稳健SE
margins, at(x1=(1(1)10)) vcov(cluster id)

* 3. 直接调用marginsplot画图,自动继承聚类SE设置
marginsplot, ytitle("Predicted Probability") ///
             xtitle("X1") ///
             title("Cluster-Robust Predicted Probabilities") ///
             recast(line) recastci(rcap) ///
             color(navy) cicolor(gray) ///
             legend(off)

临时 workaround(仅当你必须用cplot()时)

如果坚持要使用cplot(),可以先把聚类稳健的方差协方差矩阵替换到当前模型的估计结果中,再调用cplot():

* 拟合基础Logit模型
logit y x1 x2

* 替换为聚类稳健的vcov矩阵
estimates vcov, cluster(id)

* 现在调用cplot()会使用聚类稳健SE
cplot, var(x1) model(logit) ytitle("Predicted Probability")

不过这个方法依赖Stata版本的兼容性,稳定性不如前两种,还是优先推荐方法1或2。

内容的提问来源于stack exchange,提问作者Rebecca412

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 08:13:45