ROC曲线的介绍

2024-05-04 14:23

1. ROC曲线的介绍


ROC曲线的介绍

2. ROC曲线的ROC分析

SPSS 9.0以上版本可进行ROC分析,操作步骤如下:1.定义列变量,并输入数据(1)诊断分类值或检测结果(test):多个诊断试验则定义test1,test2,...(2)金标准类别(group):1=病例组,0=对照组(3)分类频数(freq),需要进一步执行第二步2.说明频数变量 路径:Data\Weight Case..., 选项:Weight case by, 填表:Freqency Variable (freq)3.ROC分析:路径:Grahps\Roc Curve... 填表:Test Variable(test), State Variable (group), Value of state variable,选项包括:(display) ROC Curve,with diagonal reference line (机会线), standard error and confidence interval (面积的标准误,及其可信区间), Coordinate points of the ROC curve (ROC曲线的坐标点), options:test direction (如果检测值小划归为阳性,则需要选), cofidence level (%):需要除95%以外的可信度,可在此定义。如果是连续型测量资料,则不需要第1步的(3)及第2步。

3. ROC曲线的分析步骤

1.ROC曲线绘制。依据专业知识,对疾病组和参照组测定结果进行分析,确定测定值的上下限、组距以及截断点(cut-off point),按选择的组距间隔列出累积频数分布表,分别计算出所有截断点的敏感性、特异性和假阳性率(1-特异性)。以敏感性为纵坐标代表真阳性率,(1-特异性)为横坐标代表假阳性率,作图绘成ROC曲线。2.ROC曲线评价统计量计算。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.两种诊断方法的统计学比较。两种诊断方法的比较时,根据不同的试验设计可采用以下两种方法:①当两种诊断方法分别在不同受试者身上进行时,采用成组比较法。②如果两种诊断方法在同一受试者身上进行时,采用配对比较法。

ROC曲线的分析步骤

4. ROC曲线的概念

在ROC空间中,以FP rate为横轴、TP rate为纵轴
  
 ROC曲线是显示Classification模型真正率和假正率之间折中的一种图形化方法。
  
 解读ROC图的一些概念定义::
  
  真正(True Positive , TP) 被模型预测为正的正样本;
  
  假负(False Negative , FN) 被模型预测为负的正样本;
  
  假正(False Positive , FP) 被模型预测为正的负样本;
  
  真负(True Negative , TN) 被模型预测为负的负样本。
  
  真正率 (True Positive Rate , TPR)或灵敏度(sensitivity)
  
 TPR = TP /(TP + FN)(正样本预测结果数 / 正样本实际数)
  
  假负率 (False Negative Rate , FNR)
  
 FNR = FN /(TP + FN) (被预测为负的正样本结果数 / 正样本实际数 )
  
  假正率 (False Positive Rate , FPR)
  
 FPR = FP /(FP + TN) (被预测为正的负样本结果数 /负样本实际数)
  
  真负率 (True Negative Rate , TNR)或特指度(specificity)
  
 TNR = TN /(TN + FP) (负样本预测结果数 / 负样本实际数)
  
 目标属性的被选中的那个期望值称作是“正”(positive)

5. 请教多类分类问题的ROC曲线如何绘制

ROC曲线(Receiver Operating Characteristic Curve)是利用Classification模型真正率(True Positive Rate)和假正率(False Positive Rate)作为坐标轴,图形化表示分类方法的准确率的高低。

ROC图的一些概念定义:: 
真正(True Positive , TP)被模型预测为正的正样本 
假负(False Negative , FN)被模型预测为负的正样本 
假正(False Positive , FP)被模型预测为正的负样本 
真负(True Negative , TN)被模型预测为负的负样本 
真正率(TPR)
TPR = TP /(TP + FN) 
正样本预测结果数 / 正样本实际数 。在ROC曲线中,TPR作为Y轴

假正率( FPR) 
FPR = FP /(FP + TN) 
被预测为正的负样本结果数 /负样本实际数 。在ROC曲线中,FPR作为X轴

我在此主要做的事情是画出ROC曲线工程实现方面的一些解释。我们设计一个函数,此函数需要有一个模型预测值predict和数据标签值ground_truth作为输入参数。分为几步进行实现。

(1)统计数据标签值ground_truth(及y)中分类为0和分类为1的数据数目:

pos_num=sum(ground_truth==1);neg_num=sum(ground_truth);

(2)对利用模型求出的预测值predict由低到高进行排序;对应数据原来所在位置进行索引记录,用于重新排序ground_truth.利用函数sort实现,sort详情请查看help文档:

[pre,Index]=sort(predict); ground_truth=ground_truth(Index);

(3)对ground_truth和predict遍历i=1:n,n是测试集数目。其目的是随着predict中概率的增加,随着增加判断正负样本的阈值;也就是说取遍历到的predict值为阈值,大于阈值的假设预测为正样本(阈值右边),小于阈值的假设预测为负样本(阈值左边)。

所以同时我们可得到真正TP 和假正FP值:TP=sum(ground_truth(i:n)==1);FP=sum(ground_truth(i:n)==0);

这时我们就可以求取TPR 和FPR了:TPR=TP/pos_num;  FPR=FP/neg_num;   把求取到的值保存起来(x(i),y(i)),因为这就是我们要在图上画的点。

(4)返回曲线与坐标轴间的面积auc。我们的目的是测量数据的准确率,这个面积就是一个量度,auc越大,准确率越高。

auc=auc+(y(i)+y(i-1))*(x(i-1)-x(i))/2;

实现ROC曲线的代码如下:

%  predict       - 分类器对测试集的分类结果
%  ground_truth - 测试集的正确标签,这里只考虑二分类,即0和1
%  auc            - 返回ROC曲线的曲线下的面积
function auc = plot_roc( predict, ground_truth )
%初始点为(1.0, 1.0)
%计算出ground_truth中正样本的数目pos_num和负样本的数目neg_num

pos_num = sum(ground_truth==1);
neg_num = sum(ground_truth==0);

m=size(ground_truth,1);
[pre,Index]=sort(predict);
ground_truth=ground_truth(Index);
x=zeros(m+1,1);
y=zeros(m+1,1);
auc=0;
x(1)=1;y(1)=1;

for i=2:m
TP=sum(ground_truth(i:m)==1);FP=sum(ground_truth(i:m)==0);
x(i)=FP/neg_num;
y(i)=TP/pos_num;
auc=auc+(y(i)+y(i-1))*(x(i-1)-x(i))/2;
end;

x(m+1)=0;y(m+1)=0;
auc=auc+y(m)*x(m)/2;
plot(x,y);
end

请教多类分类问题的ROC曲线如何绘制

6. ROC曲线的属性

(1)β值的改变独立于d’的变化,考察β值变化对P(y/SN)和P(y/N)的影响时发现:当β接近无穷大时,虚惊率几乎为0,即信号全当成噪音接受;当β接近0时,击中率几乎为0,即噪音全当成信号接受;而当β从接近0向无穷大渐变的过程中,将形成一条完整地ROC曲线,曲线在某一处达到最佳的标准βOPT。(2)ROC曲线的曲率反应敏感性指标d’:对角线,代表P(y/SN)=P(y/N),即被试者的辨别力d’为0,ROC曲线离这条线愈远,表示被试者辨别力愈强,d’的值当然就愈大。由上可知,d’的变化使ROC曲线形成一个曲线簇,而β的变化体现在这一曲线簇中的某一条曲线上不同点的变化。此外,如果将ROC曲线的坐标轴变为Z分数坐标,我们将看到ROC曲线从曲线形态变为直线形态。这种坐标变换可以用来验证信号检测论一个重要假设,即方差齐性假设。

7. ROC曲线的意义

ROC曲线指受试者工作特征曲线(receiver operating characteristic curve), 是反映敏感性和特异性连续变量的综合指标,是用构图法揭示敏感性和特异性的相互关系,它通过将连续变量设定出多个不同的临界值,从而计算出一系列敏感性和特异性,再以敏感性为纵坐标、(1-特异性)为横坐标绘制成曲线,曲线下面积越大,诊断准确性越高。在ROC曲线上,最靠近坐标图左上方的点为敏感性和特异性均较高的临界值。

ROC曲线的意义

8. ROC曲线的主要作用

1.ROC曲线能很容易地查出任意界限值时的对疾病的识别能力。2.选择最佳的诊断界限值。ROC曲线越靠近左上角,试验的准确性就越高。最靠近左上角的ROC曲线的点是错误最少的最好阈值,其假阳性和假阴性的总数最少。3.两种或两种以上不同诊断试验对疾病识别能力的比较。在对同一种疾病的两种或两种以上诊断方法进行比较时,可将各试验的ROC曲线绘制到同一坐标中,以直观地鉴别优劣,靠近左上角的ROC曲线所代表的受试者工作最准确。亦可通过分别计算各个试验的ROC曲线下的面积(AUC)进行比较,哪一种试验的 AUC最大,则哪一种试验的诊断价值最佳。