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

Stata中mlogit多分类逻辑回归各结局AUC及诊断准确性评估代码问询

Stata中多分类逻辑回归模型的性能评估方案

针对你用mlogit拟合的四分类结局模型,mlogitroc确实无法直接输出单个结局的AUC和ROC曲线,推荐用**一对多(one-vs-rest)**的思路,结合Stata原生命令来实现各结局的区分度和诊断准确性评估,具体步骤如下:

1. 先拟合多分类逻辑回归模型

假设你的结局变量是y(包含4个类别,比如0、1、2、3),自变量为x1 x2 x3,先拟合模型:

mlogit y x1 x2 x3, basecategory(0)  // basecategory指定参照组,可根据你的需求调整

2. 计算单个结局的AUC与ROC曲线

针对每个非参照组结局,将其与其他所有结局合并为二分类问题,用predict生成该结局的预测概率,再用roc命令分析:

示例:结局1 vs 其他所有类别

// 生成结局1的预测概率
predict p1, pr outcome(1)
// 创建二分类标记变量:1代表是结局1,0代表是其他类别
gen y1 = (y == 1)
// 计算AUC并绘制ROC曲线,同时输出诊断准确性指标
roc y1 p1, auc graph stats all

执行后会弹出ROC曲线图形,同时在结果窗口输出AUC值、灵敏度、特异度、阳性预测值、阴性预测值等诊断指标。

重复上述步骤处理结局2和结局3

// 结局2 vs 其他
predict p2, pr outcome(2)
gen y2 = (y == 2)
roc y2 p2, auc graph stats all

// 结局3 vs 其他
predict p3, pr outcome(3)
gen y3 = (y == 3)
roc y3 p3, auc graph stats all

3. (可选)比较不同结局的AUC差异

如果需要对比多个结局的AUC是否存在统计学差异,可使用roccomp命令:

roccomp y1 p1 y2 p2 y3 p3

补充说明

多分类模型的性能评估采用one-vs-rest框架是行业通用做法,这种方式能直接利用Stata成熟的二分类ROC分析工具,避免mlogitroc的功能局限。如果需要整体模型的分类准确率,可直接用mlogit拟合后的内置命令:

estat classification

该命令会输出混淆矩阵和整体正确分类比例。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 00:52:37