查看原文
其他

Stata教程:ROC曲线下面积的比较

2017-04-18 大仙儿 医咖会

一、相同人群不同诊断方法的ROC比较

假设某医生要比较两种诊断方法的总体准确性大小,该医生使用两种诊断方法分别对同一群患者进行了测量。患者的真实状态已知。



mod1代表诊断方法1测量结果,mod2代表诊断方法2测量结果,取值越大说明得病的可能性越大(本例中为有序多分类变量,赋值1-6。实际情况也可以是连续变量)。status代表患者真实的状态,0为正常,1为异常。


在stata中输入命令:

roccomp status mod1 mod2, graph summary


命令roccomp(比较ROC曲线下面积)后第一个变量应该代表患者的真实状态,后面的变量为待评价的诊断方法,可以为多个。


结果如下:


图1. 相同样本不同诊断方法的ROC面积检验


其中诊断方法1 ROC面积为0.8828,95%CI为(0.8207-0.9450),诊断方法2的ROC面积为0.9302,95%CI为(0.8801-0.9804),二者差异性检验P=0.1282,无统计学差异。


另外stata还给出ROC图:


图2. 相同样本不同诊断方法的ROC

二、不同人群不同诊断方法的ROC比较

假设上例中,诊断方法1测量结果来自样本1,诊断方法2测量结果来自样本2,测量结果与上例相同。



mod代表诊断方法,取值1/2分别代表诊断方法1和诊断方法2,该两种诊断方法分别应用于不同的样本。status代表真实患病状态,1代表异常,0代表正常。rating代表两个诊断方法的评分,评分越高患病的可能性越高(本例中为有序多分类变量,赋值1-6。实际情况也可以是连续变量)。pop代表人数,对于第一行,表示诊断方法1评分为1且患者真实状态为正常的人数共有12人。


stata中输入以下命令:

roccomp status rating [fw=pop], by(mod) graph summary


fw=pop告诉软件pop变量代表的是人数。代表诊断方法的变量要放入by后的括号中。如果数据类型并没有pop变量,即一行代表一个人,那么可以将[fw=pop]省略。


结果如下:


图3. 不同样本不同诊断方法的ROC面积检验


诊断方法1的ROC面积为0.8828,95%CI为(0.8207-0.9450),诊断方法2的ROC面积为0.9302,95%CI为(0.8801-0.9804),二者差异性检验P=0.2447,无统计学差异。由于该例子的数据与上面例子一样,因此两个ROC的面积和95%CI相同,不同的是该例中P值变大了,这是因为独立样本的变异比同一个样本的变异要大。


图与上例中一致。


以上两个例子的区别主要在于数据格式。若诊断方法的测量结果来自同一样本,那么测量数据应该平行排列,分别用mod1和mod2两个变量表示,如果测量数据来自不同的样本,那么数据应该垂直排列,用mod的不同取值代表不同的诊断方法。


(如果你想使用文中数据进行练习,请随时给小咖(微信:xys2016ykf)发消息,小咖将原始数据发给你。)


ROC曲线相关阅读

1. 多图实例:教你绘制ROC曲线

2. 了解ROC曲线下面积,有这篇文章就够了
3. SPSS操作:多项测量指标的ROC曲线分析

医咖会微信:medieco-ykh

赶快关注医咖会吧!


有临床研究设计或统计学方面的难题?快加小咖个人微信(xys2016ykf),加入医咖会统计讨论群,和小伙伴们一起交流学习吧。我们诚邀各位小伙伴加入我们,一起创作有价值的内容,将知识共享给更多人!


点击左下角“阅读原文”,看看医咖会既往推送了哪些研究设计或统计学文章。还可以到医咖会公众号下方的自定义菜单,点击“直接搜索”,查找你想了解的内容。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存