手把手教你做ROC曲线

发布时间 2023-05-30 14:42:02作者: spssau

ROC曲线构建流程如下:

一、案例背景

某医师针对55名病人、45名正常人分别进行两种诊断检验,诊断结果分别为text1、text2,想要研究两种诊断方式的预测准确率。图1展示了收集的部分数据如下:

图1

其中是否生病一栏,1代表生病,0代表未生病。

本案例的分析目的是研究两种诊断方式的预测准确率,所以可以通过比较两种诊断方式的ROC曲线的AUC值进行判断。为了帮助大家更好的理解ROC曲线,下面对ROC曲线的相关理论进行介绍。

二、相关理论

ROC曲线全程为受试者工作特征曲线,主要适用于评价二分类变量反映治疗效果或检查结果。下面分别介绍ROC曲线的概念、相关专业术语解释、以及关键指标AUC的判断。

(1)ROC曲线

ROC曲线分析当前在医学领域使用非常广泛,用于研究X(检验变量)对于Y(状态变量)的预测准确率情况以及确定界值点。

ROC曲线的基本思想是把敏感度和特异性看作一个连续变化的过程,用一条曲线描述诊断系统的性能,其制作原理是在连续变量中不同界值点处计算相对应的灵敏度和特异度,然后以敏感度为纵坐标、1-特异性为横坐标绘制一条真阳性率与假阳性率的曲线。

ROC曲线如图2:

图2

ROC曲线纵坐标为敏感度——阳性人群中,检测出阳性的概率,希望该值越高越好;横坐标为1-特异性——阴性人群中,检测为阳性的概率,希望该值越低越好。结合横纵坐标的概念,可以得到结论:曲线越往左上角说明预测准确率越高;曲线越往左上角说明曲线下面积越大,即AUC值越大说明预测准确率越高。

(2)专业术语解释

ROC曲线分析中有很多专业名词,说明如下图:

图3

以图4数据为例进行说明:

(3)ROC曲线下面积

ROC曲线下面积——AUC值的大小可以作为衡量试验准确度的一个指标,ROC曲线下面积值越大,说明预测准确度越高,反之说明预测准确率越低。AUC值介于0到1之间,关于AUC值的判断说明如下:

AUC<0.5:不符合实际情况, 预测诊断比随机性猜测还差,实际情况中不应该出现;

AUC=0.5:说明完全无预测诊断价值,预测准确率和猜测效果一样;

0.5< AUC <0.7:预测诊断价值很低,此种情况相对较常见;

0.7<=AUC<0.9:预测诊断价值高,此种情况较常见;

AUC>=0.9:说明预测诊断价值高,此种情况较好;

AUC = 1,是完美预测没有瑕疵,绝大多数情况下,不存在完美的预测诊断。

对ROC曲线的相关理论有了一定理解之后,接下来就可是使用SPSSAU软件的ROC曲线分析功能进行ROC曲线的构建与分析了。

三、分析操作

上传数据至SPSSAU系统,首先使用SPSSAU的数据标签功能,将是否生病变量中的数字1标识为“生病”,数字0标识为“未生病”,然后点击确认标签,操作如图5:

图5

数据处理完成后,选择ROC曲线分析,将“是否生病”拖拽到右侧状态变量y分析框中;将两次诊断结果拖拽到检验变量x分析框中;分割点默认设置为1(1代表生病,0代表未生病);点击开始分析,操作如图6:

图6

点击开始分析后,SPSSAU将自动输出ROC曲线分析结果;接下来对分析结果进行解读。

四、分析结果解读

①分样本处理结果

图7

首先对案例数据基本情况进行描述,图7展示了样本通过金标准诊断为阳性和阴性的人数。以数字1作为切割点, 1做为阳性,其它作为阴性。从图7可以看出:本次参与分析的样本中,阳性比例为55.00%,阴性比例为45.00%。

②ROC结果AUC汇总

图8

图8展示了本次ROC分析结果的AUC值以及对应的95%CI。从上图可以看出,text1对应的AUC值为0.947(95% CI:89.96%~99.38%),意味着text1对于是否生病的诊断价值非常高。text2对应的AUC值为0.679(95%CI:0.547~0.784),意味着text2对于是否生病的诊断价值比较低。

③ROC最佳界值结果

图9

图9展示了ROC最佳界值相关结果。最佳界值的意义为ROC曲线最靠近左上角的点,即敏感度和误报率组合的相对最优值。最佳临界值指尤登指数的最大值(尤登指数=敏感度 + 特异度 – 1),而Cut-off指在该值时可得到最大的尤登指数,二者是不同的名词,通常情况下使用最佳临界值较多。

从上图可以看出,text1的AUC值为0.947,对应最佳界值为0.820(此时敏感度为0.909,特异度为0.911);对应的Cut-off值为108.9。text2的AUC值为0.679,对应最佳界值为0.277(此时敏感度为0.455,特异度为0.822);对应Cut-off值为147。

④ROC曲线

图10

ROC曲线直观展示假阳性率(1-特异度)与真阳性率(敏感度)之间的关系情况。可以明显的看出,text1的AUC值(ROC曲线下面积)明显大于text2的面积,说明text1的预测准确率明显高于text2的预测准确率。

⑤ROC曲线之AUC比较检验

图11

最后,如果需要对比两项诊断方式的AUC面积是否存在着显著性差异,可手工录入四个数字,包括两个AUC值和两个标准误SE值。对应会生成AUC差值,z 值和p 值。上图显示,text1和text2这两项的AUC值呈现出显著性差异(z =4.6063,p =0.0000<0.01)。

五、总结

ROC曲线是以敏感度为纵坐标、1-特异性为横坐标绘制一条真阳性率与假阳性率的曲线。通过ROC曲线下面积AUC值可以对预测准确性进行评价;同时可以结合敏感度和特异性可以确定筛查标准的最佳界值点。在本次案例分析中,通过ROC曲线分析,得到text1的AUC值为0.947,预测诊断价值很高;text2的AUC值为0.679,预测诊断价值很低。针对两项的AUC面积进行显著性检验,得到二者诊断准确率存在显著性差异,即text1的诊断准确率明显高于text2的诊断准确率。