ROC简介
曲线的全称是Receiver Operating Characteristic Curve(受试者工作特征)
ROC曲线是用来检验模型的预测能力的常用方式
ROC的常用指标是AUC,全称是area under the curve(曲线下面积)
AUC越大,表明模型的预测能力越好
一般而言,
AUC=1:模型能够完美区分正负样本
0.85≤AUC≤0.95:预测效果优秀
0.7≤AUC≤0.85:预测效果良好
0.5≤AUC≤0.7:一定的预测能力,但效果较低
AUC=0.5:预测能力与随机猜测无异
AUC<0.5: 预测能力比随机猜测还差
我们常做的横断面研究,常常需要分析一些自变量对某一个因变量的关系,这时候可以用上ROC曲线,以下是一个简单的举例
示例说明
1.数据
自变量:人口学特征如性别、年龄、婚姻、学历体重指数等分类变量
因变量:是否患有焦虑症(二分类变量)
2.分析目的
①自变量与因变量的关系(某一个自变量与因变量的关系)
②多个自变量构建出的模型对焦虑症症的预测能力
分析思路
可先通过单因素和多因素的logistic回归判断哪些自变量对因变量是有影响,有统计学意义的,也就是P<0.05。再将有统计学意义的变量构建出一个模型,这个模型来预测焦虑症。那么我们就可以通过绘制ROC曲线来判断模型的预测能力。
数据分析
此处省略利用SPSS进行logistic分析的过程。假设得出的结果是多因素logistic回归结果显示性别、年龄、婚姻、学历、体重指数都与焦虑症正向相关
SPSS建立模型
1.分析→回归→二元logistic
2.将变量放入相应的变量框
3.在“保存”中选中“概率”,点击继续
4.变量列表会多出一列,就是预测概率,可以理解为预测值,这个预测值将会用来与实际值比较,绘制ROC曲线
SPSS绘制ROC曲线
1.分析→ROC曲线(不同SPSS版本这个功能位置不同,有的在“分类”模块里面
2.将“预测概率”放入检验变量,将“焦虑症”(实际值)放入状态变量
3.“状态变量值”一般指的是阳性的变量值,这里的数据有焦虑症用1表示,无焦虑症用0表示。所以这里的状态变量值为1。“显示”可以勾选前三个
4.在SPSS的输出中,看曲线和曲线下面积值
区域下面积就是AUC值,是要得出的数据
这个AUC值还可以,模型预测能力良好
双击图像可以唤出图像编辑器对横纵坐标、颜色等进行编辑
根据需要编辑图表大小,填充与边框,变量
单击一次可以变成可输入的文本框,转成英文标题
双击轴标题可以改变字号,颜色等
怎么保存编辑好的图呢?
在“编辑”下面点击“复制图表”,可以把图表粘贴到word中保存下来
这样ROC曲线就画好咯
当需要在一张图中绘制多条ROC曲线时,就可以用R语言绘制,下期再更新。