ROC曲线也叫受试者工作曲线,原来用在军事雷达中,后面广泛应用于医学统计中。ROC曲线是根据一系列不同的二分类方式(分界值或决定阈),以真阳性率(灵敏度)为纵坐标,假阳性率(1-特异度)为横坐标绘制的曲线。

ROC曲线主要应用于二分类结局,比如是否死亡,疾病诊断,肿瘤复发等等,可以用于自变量为连续变量的截点判定。

ROC曲线R语言分析 roc曲线数据处理_二分类


可以做ROC曲线的软件很多,如SPSS,R语言,Stata, SAS等等,其中SPSS非常简单,适合完全没有基础的初学者,今天我们就来使用SPSS作出一个符合论文发表的ROC曲线。

首先打开SPSS,导入我们一个既往的肺炎和炎症因子的数据

ROC曲线R语言分析 roc曲线数据处理_取值_02


依次点击分析----分类------ROC曲线

ROC曲线R语言分析 roc曲线数据处理_数据分析_03


如下图因变量肺炎放入状态变量,填入发生发生的取值,我这里是1,自变量放入检验变量一栏,连续变量都放进去

ROC曲线R语言分析 roc曲线数据处理_SPSS_04


点击确定得出下图,SPSS到了26.0作图比以前稍微好看了一点,之前版本做的图真是不能看,还可以对下面图片进行小修改

ROC曲线R语言分析 roc曲线数据处理_取值_05


修改后这样又美观了一点

ROC曲线R语言分析 roc曲线数据处理_ROC曲线R语言分析_06


下方表格标出了各个指标的AUC值,代表了各个指标对肺炎的判定能力,这个可是一个重要的指标

ROC曲线R语言分析 roc曲线数据处理_数据分析_07


接下来我们就要来求特异度和灵敏度啦,我们拿炎症指标THF作示范,其他都是一样的

首先找到它的曲线坐标

ROC曲线R语言分析 roc曲线数据处理_取值_08


看到敏感度和1-特异性这两行没有,我们把它拷贝下来放到SPSS中,

ROC曲线R语言分析 roc曲线数据处理_二分类_09


得到了两个新的指标VAR00001,WAR00002

ROC曲线R语言分析 roc曲线数据处理_ROC曲线R语言分析_10


使用SPSS计算功能V=VAR00001-WAR00002, 如下图,红线V的最大值就是TNF的截点,了,

ROC曲线R语言分析 roc曲线数据处理_ROC曲线R语言分析_11


ROC曲线R语言分析 roc曲线数据处理_SPSS_12


因此TNF的截点就是48,敏感度就是46%,特异度=1-0.18=82%,同理可以求出其他指标的截点,敏感度和特异度。您学会了吗?