在选择诊断试验时,一些研究学者会在灵敏度和特异度的取舍之间徘徊。那么,是否可以综合灵敏度和特异度之间的特点,选择一个指标来评价诊断实验之间的准确性呢?Lusted在1971年提出了受试者工作特征曲线(receiver operating characteristic curve,简称ROC曲线),用来描述诊断试验的内在真实度,应用十分广泛。

1 ROC曲线

ROC曲线是以假阳性概率(False positive rate,FPR,1-特异度)为横轴,真阳性(True positive rate,TPR,灵敏度)为纵轴所组成的坐标图,和受试者在特定刺激条件下由于采用不同的判断标准得出的不同结果画出的曲线。传统的诊断试验评价方法有一个共同的特点,必须将试验结果分为两类,再进行统计分析。ROC曲线的评价方法与传统的评价方法不同,无须此限制,而是根据实际情况,允许有中间状态,可以把试验结果划分为多个有序分类,如正常、大致正常、可疑、大致异常和异常五个等级再进行统计分析。因此,ROC曲线评价方法适用的范围更为广泛。

2 ROC曲线绘制

在绘制ROC曲线之前,首先要理解一下True Positive(TP), False Positive(FP), True Negative(TN), False Negative(FN)的概念:

  • 预测值为正例,记作P(Positive)
  • 预测值为负例,记作N(Negative)
  • 预测值与真实值相同,记为T(True)
  • 预测值与真实值相反,记为F(False)

混淆矩阵:
在这里插入图片描述
其中:

  • TP为真正例,即预测值与真实值相同,而且都是正例
  • FP为假正例,即预测值与真实值相反,预测值为P
  • FN为假负例,即预测值与真实值相反,预测值为N
  • TN为真负例,即预测值与真实值相同,而且都是反例

由此,引入真正率(True Positive Rate)和假正率(False Positive Rate)的概念:

  • TPR:被分为正类的正样本的比例 T P R = T P T P + F N TPR=\frac{TP}{TP+FN} TPR=TP+FNTP
  • FPR:被分为正类的负样本的比例 F P R = F P F P + T N FPR=\frac{FP}{FP+TN} FPR=FP+TNFP

此外,还有一个概念叫”截断点”。机器学习算法对test样本进行预测后,可以输出各test样本对某个类别的相似度概率。比如t1是P类别的概率为0.3,一般我们认为概率低于0.5,t1就属于类别N。这里的0.5,就是”截断点”。 总结一下,对于计算ROC,最重要的三个概念就是TPR, FPR, 截断点。

截断点不同计算出来的TPR和FPR也不同。将截断点不同取值下对应的TPR和FPR结果画于二维坐标系中得到的曲线,就是ROC曲线。横轴用FPR表示,纵轴用TPR表示。

下面看一个例子来具体了解一下如何绘制ROC曲线。

根据分类器的概率预测结果对样例排序,并按此顺序依次选择不同的“截断点",逐个把样例作为正例进行预测。每次计算出当前分类器的”真正率"和“假正率”,然后分别以它们为纵轴和横轴画图,就可以得到ROC曲线。
在这里插入图片描述
首先我们可以根据分类器对9个待测样本的预测的结果按降序依次排序,排序结果如下图所示。
在这里插入图片描述
9个待测样本的真实类标记如表中第二行所示。
在这里插入图片描述
那么如红色竖线所示的十个“截断点”对应的真正率和假正率就可以一一算出来,如下图所示:
在这里插入图片描述
下图可能更直观一点
在这里插入图片描述
然后分别以TPR和FPR作为纵轴和横轴绘制曲线图,就可以得到十个点绘制地ROC曲线。
在这里插入图片描述
如果我们要预测的待测样本足够多,那么“截断点”就会足够密集,此时ROC折线图就会变成比较平滑的ROC曲线图。

在这里插入图片描述
两种或两种以上不同诊断试验对疾病识别能力的比较。在对同一种疾病的两种或两种以上诊断方法进行比较时,可将各试验的ROC曲线绘制到同一坐标中,以直观地鉴别优劣,靠近左上角的ROC曲线所代表的受试者工作最准确。亦可通过分别计算各个试验的**ROC曲线下的面积(AUC)**进行比较,哪一种试验的 AUC最大,则哪一种试验的诊断价值最佳。比如下图中,A和B就要优于D。
在这里插入图片描述
AUC:ROC曲线下的面积值在1.0和0.5之间。在AUC>0.5的情况下,AUC越接近于1,说明诊断效果越好。AUC在0.5~0.7 时有较低准确性,AUC在0.7~0.9时有一定准确性,AUC在0.9以上时有较高准确性。AUC=0.5时,说明诊断方法完全不起作用,无诊断价值。AUC<0.5不符合真实情况,在实际中极少出现。

3 TPR、FPR、敏感度和特异度

对于医学中的灵敏度和特异度,0表示阴性,1表示阳性(FPR.TPR-敏感度 特异性.),
**敏感度:**在金标准判断有病(阳性)人群中,检测出阳性的几率。真阳性。(检测出确实有病的能力)
**特异度:**在金标准判断无病(阴性)人群中,检测出阴性的几率。真阴性。(检测出确实没病的能力)
用公式表示如下:
敏感度: T P R = T P P = T P T P + F N TPR=\frac{TP}{P}=\frac{TP}{TP+FN} TPR=PTP=TP+FNTP
特异度: S P C = T N N = T N F P + T N SPC=\frac{TN}{N}=\frac{TN}{FP+TN} SPC=NTN=FP+TNTN
可以看出敏感度就是TPR,因为

F P R = F P F P + T N FPR=\frac{FP}{FP+TN} FPR=FP+TNFP
所以FPR不等于特异度。特异度也称真阴性率,就是实际无病按该诊断标准被正确地判定无病的百分比,而FPR为假正(阳)率,即被分为正类的负样本的比例,其中假正(阳)率=1-特异度。
假阴性率又称漏诊率,是指按“金标准”确定的病人中试验检查为阴性或正常人数所占的比例。假阴性与灵敏度之和为1,假阴性率=1-灵敏度,灵敏度越高,假阴性率越低,反之亦然(假阴性率理解.)。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐