联合诊断ROC分析及曲线下面积的比较
Editor's Note
刘老师是我经常请教的统计学专家,很多统计难题我都会找他帮助~他为人严谨、认真、热情,是一位很好的老师~现在刘老师开办公众号给大家普及统计学知识啦,大家赶紧关注吧,扫描下方二维码即可,可在历史消息里查询往期统计知识科普,非常专业!
The following article is from 刘老师医学统计 Author 刘老师
ROC曲线分析是评价指标诊断能力的重要方法。疾病的诊断通常比较复杂,只依靠单一指标往往效果不佳,很多时候需要多个指标联合才能做出诊断。
评价不同指标联合诊断的能力,可以通过比较各自的ROC曲线下面积实现。
MedCalc软件可以实现联合诊断ROC分析,并给出两两比较的假设检验结果,包括p值。
本文欲解决的问题:
拟分别用变量testa
、testb
和testa + testb
联合诊断疾病状态,并对三者的诊断价值进行两两比较。
下面我们一起来看看。
目 录
1. 录入Excel数据
2. 数据导入MedCalc
3. logistic回归
4. 联合诊断ROC分析及曲线下面积比较
5. 分析结果
6. 图形美化
End
1. 录入Excel数据
在Excel中,录入变量名和数据,下图显示部分数据。
变量解释:Testa
和testb
均为血液指标,为数值变量;disease
为疾病状态:0为无病,1为有病。
2. 数据导入MedCalc
选中Excel中的变量名和数据,并复制,在MedCalc里新建数据集:点击File-New
。
鼠标右键-粘贴
即可,MedCalc默认的是带变量名的数据集,这点比SPSS方便一些。
3. logistic回归
点击Statistics——Regression——Logistic regression。
在 Logistic regression 对话框中,在Dependent Variable框选择 Disease,在Independent Variable框中第一、二行分别选择 testa 和 testb。
在Logistic Regression结果对话框中,滑动到最下方,点击Save predicted probabilities,就把概率保存到数据集中了。
此时数据框中多了一列LOGREGR_Pred1,即testa和testb通过logistic产生的预测概率值,综合反应testa和testb的诊断能力,我们可以用LOGREGR_Pred1绘制ROC曲线并计算曲线下面积。
4. 联合诊断ROC分析及曲线下面积比较
点击Statistics——ROC curves——Comparison of ROC curves。
在Comparison of ROC curves对话框中,把LOGREGR_Pred1、testa和testb三个指标放入Variables框,disease放入Classification variable框(并设置Define Status,左侧是positive,写入1;右侧是Negative,写入0),右上角方法选择DeLong,如图所示,点击OK运行。
5. 分析结果
ROC曲线对比的整体情况:
ROC曲线对比的两两比较结果:
ROC曲线对比图:
结果解读:
本文详细介绍了基于MedCalc软件实现两指标联合诊断的ROC分析,还给出了各指标两两比较的Z值和对应的P值。
6. 图形美化
只看图形,难以分别出哪条曲线是LOGREGR_Pred1、testa和testb,我们尝试对图形进行一些修改,让各个曲线更好辨认。
经过反复试验,我们发现只要删除添加在曲线上的图形,就可以很清楚地把变量和曲线对应上了。
效果图: