总结下ROC曲线的学习,也可顺便回答论坛中常见问题,如Roc曲线如何绘制,不同roc曲线如何进行比较,roc曲线为何不光滑等,具体如下,
基础理论知识
ROC曲线用于二分类别判断效果的分析和评价,也可用于比较两种方法的测试效果。
ROC曲线以灵敏度(sensitivity)/击中率为纵轴,以误判率(1-Specificity(特异度))/虚惊率为横轴,连接各点绘制曲线。较理想的ROC曲线应该是从左下角垂直上升至顶线,然后水平方向向右延伸到右上角。ROC曲线的对角线也叫机会线,表示分类是机遇造成的,正确分类和错分的概率各为50%,此时方法完全无效。绘制的ROC曲线越靠近机会线,曲线下的面积(AUC)越小, 判断价值或者说分类效果越不好。
ROC曲线下的面积(AUC)取值范围0.5-1.0,一般,AUC在0.5-0.7之间表明判断价值较低,在0.7-0.9之间表示判断价值中等,0.9以上表示判断价值较高。
ROC曲线上各点都是对同一信号刺激的反应,只不过是在不同的判定标准下所得的结果而已。例如对一组经金标准诊断的病人和正常人,进行某项新的诊断试验,roc曲线上各点代表的诊断结果都为阳性,可判断标准却不同,越靠近左下角曲线上的点表明击中率和虚报率越低,越靠近右上角曲线上的点表明击中率和虚报率越高。
SPSS实现
例:现用A,B两种技术检测病人血清钠水平,想了解血清钠水平对落基山猩红热(RMSF)是否有诊断作用,以及哪种检测技术更准确。共45例病人,一组确诊患有RMSF,另一组没有患,但也有发热,头痛,有蚊虫叮咬史。
sodium1,sodium2分别代表两种技术检测出来的血钠水平,fever代表是否患RMSF,1为患病,0为不患病。
Graphs -- ROC curve
test variable : sodium1,sodium2 ( 检测变量可为连续变量,也可为有序分类变量;可选入多个变量用于比较优劣)
State variable :fever (结果变量为二分变量)
Value of state variable : 1 (1表示为RMSF患者)
display 复选框一般都会打上勾
【options】子对话框
Larger test result indicates more positive test 检验结构数值越大,是病人的可能性越大。
smaller test result indicates more positive test 检验结构数值越小,是病人的可能性越大。
有时绘制出的ROC曲线下面积可能小于0.5,即roc曲线在对角线右下方,这一般发生在该检测方法的检测结果值越小,是病人的可能性越大的情况。SPSS默认Larger test result indicates more positive test ,因此对于这类资料,绘制ROC曲线时记得勾smaller test result indicates more positive test 。
两条ROC曲线比较:若两曲线不交叉,那么更外面的、离对角线更远的曲线,其灵敏度越高,错判率越小(图1);若交叉,可近似判断各总体ROC曲线下面积相等(图2)。
对于 有些小伙伴所问,为何制作的ROC曲线不光滑,本人查阅了资料,可能原因是样本量较小,或者有序分类变量的等级数较少。