ROC曲线原理实例分析 【1】
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROC曲线原理实例分析 【1】相关的知识,希望对你有一定的参考价值。
参考技术A 在选择诊断试验时,许多研究者会在灵敏度和特异度之间进行艰难的取舍。那么,是否可以综合考虑灵敏度和特异度的特点,根据一个指标评价诊断试验的准确性呢?受试者工作特征曲线(receiver operating characteristic curve,简称ROC曲线),用来描述诊断试验的内在真实程度,应用十分广泛。
ROC曲线是以真阳性率(灵敏度)为纵坐标,假阳性率(1-特异度)为横坐标绘制的。每一个点都对应诊断试验的一个截点,我们将这些可能的点连接起来即可制作出经验ROC曲线(empirical ROC curve)。该方法可以帮助研究者简单、直观地分析诊断试验的临床准确性,选择更加合适的截点。
一、背景介绍
在介绍ROC曲线之前,首先来介绍一下预测模型的背景。
(一)预测模型建模流程简介
1.利用数据中的训练集进行模拟的生成。
2.利用测试集进行模型的评测。
3.将评测的结果反馈给生成模型。
4.若评测结果比较满意,进行生成模型的输出,否则重新生成。
那么测试集如何评测预测模型?这里引出混淆矩阵的概念。
(二)混淆矩阵
混淆矩阵也称误差矩阵,是表示精度评价的一种标准格式,常用来预测模型的准确率。
图1 混淆矩阵
P:样本中的正例,n:样本中的负例 Y:通过模型预测出来样本中的正列,N:通过模型预测出来样本中的负列 TP(True Positives):本来是正列,通过模型预测出来也是正列FP(False Positives):本来是负列,通过模型预测出来也是正列预测模型准确率accuracy=(TP+TN)/(P+n) (三)案例分析
表1 原始数据
从表1可以看出,有20个观测值,结局有1和0两种状态,分别代表着阳性和阴性。类似于Logistic回归当中某个人是否患疾病,患病为1,不患病为0。预测概率是通过Logistic回归预测的结果。那怎么去预测这组概率的准确率呢?
从表2中可以看出前6个数据预测结局为阳性,其他14个数据预测结局为阴性。计算它的混淆矩阵如表3,真实结局中有10个1和10个0。但是预测结局的阳性数有6个,其中有5个是真实阳性,有1个是真实阴性。第三个观测值结局本来是阴性的,但预测结局是阳性的,这个观测值预测错误。同理,预测结局的阴性数有14个,其中有9个是真实阴性,有5个是真实阳性。第九个观测值结局本来是阳性的,但预测结局是阴性的,这个观测值预测错误。
表3 混淆矩阵表
真阳率是指本来是阳性的,预测出的结果也是阳性的。假阳率是指本来是阴性的,但预测出的结果是阳性的。从表3中可以看出,在真实阳性数这一竖列中,预测正确的观测值有5个,所以真阳率(TPR)=5/P=5/10=0.5。在真实阴性数这一竖列中,预测正确的观测值有1个,所以假阳率(FPR)=1/n=1/10=0.1。
同理真阴率(TNR)=9/10=0.1,假阴率(FNR)=5/10=0.5。
表4 真阳率和假阳率
从表4可以看出,以0.54为阈值,作出来的混淆矩阵真阳率为0.5,假阳率为0.1。真阳率和假阳率是以每一次相应的预测概率为阈值,算出混淆矩阵而得到的。
将1-20每个样本的评分均作为分类器的判定阈值,可以得到20组TPR和FPR的有序数对。然后以TPR和FPR为两个坐标轴建立一个直角坐标系,就可以得到图2。
图2 TPR和FPR的有序数对
二、ROC曲线概念
ROC曲线:受试者工作特征曲线(receiver operating characteristic curve,简称ROC曲线),又称为感受性曲线(sensitivity curve)。
采用真阳性率和假阳性率作出的曲线,适用于诊断试验结果为连续变量。试验的真阳性率(Sen)为纵坐标(Y),假阳性率(1-Spe)为横坐标(X),坐标轴上的率值由0 1或0% 100%。
图3 ROC曲线示意图横轴FPR:1-TPR,1-Specificity,FPR越大,预测正类中实际负类越多。纵轴TPR:Sensitivity,TPR越大,预测正类中实际正类越多。理想目标:TPR=1,TPR=0,即图中(0,1)点,故ROC曲线越靠拢(0,1)点,越偏离45°对角线越好,Sensitivity、Specificity越大效果越好。
三、最佳阈值的确定——约登指数
约登指数(Youden index,YI):是评价筛查试验真实性的方法,假设其假阴性和假阳性的危害性同等意义时,即可应用约登指数。约登指数=灵敏度Sensitivity+特异度Specificit-1=[a/(a+c)+d/(b+d)]-1。指数越大说明筛查试验的效果越好,真实性越大。从表中可以看出,真阳率与假阳率的差值就是约登指数,最大的约登指数为0.4,0.4对应的预测概率为0.54,大于0.54认为是阳性的,小于0.54认为是阴性的。0.54就是最佳阈值。
四、AUC概念
AUC(Area Under Curve)值为ROC曲线下方的面积大小。显然,AUC越大,预测效果越好。AUC=1,是完美分类器,采用这个预测模型时,不管设定什么截断点都能得出完美预测。绝大多数预测的场合,不存在完美分类器。0.5<AUC<1,优于随机猜测。这个预测模型妥善设定截断点的话,能有预测价值。AUC=0.5,跟随机猜测一样(例:抛硬币),模型没有预测价值。AUC<0.5,比随机猜测还差,但只要总是反预测而行,就优于随机预测。
图4 包含AUC值的ROC曲线
[参考资料]( https://mp.weixin.qq.com/s?src=11×tamp=1584533576&ver=2224&signature=6PwC6AuccTKFKXc0sXP0Cp7rEVSF3Qp2QFHfyfE 7Bq3d1cN-XspGn-EV2gqpTVgaS2q 1ZBqgxp7bx3zDNkhfOxz7DM62BCpshh*EiK7oj9QD517iKBdoR58gaYLBMM&new=1
)
R语言使用pROC包的plot.roc函数对单变量进行ROC分析并可视化ROC曲线
R语言使用pROC包的plot.roc函数对单变量进行ROC分析并可视化ROC曲线
目录
R语言使用pROC包的plot.roc函数对单变量进行ROC分析并可视化ROC曲线
创作挑战赛 新人创作奖励来咯,坚持创作打卡瓜分现金大奖以上是关于ROC曲线原理实例分析 【1】的主要内容,如果未能解决你的问题,请参考以下文章