题记:本公共号[临床研究与医学统计]在之前推送中介绍了用R实现联合诊断的ROC分析[
基于R软件实现联合诊断的ROC分析
],有读者后台留言反馈基于R实现太难,故本文介绍基于SPSS软件实现两指标联合诊断的ROC分析,操作较为简单。
1. 背景知识
诊断试验统是临床研究的重要类别,对于诊断指标是连续型变量的诊断效能评价需要采用ROC分析。
使用ROC分析评价单个连续型诊断指标实现较为方便。
比如,我们现在评估类风湿因子(RF)用于诊断系统性红斑狼疮(SLE),把类风湿因子做为待评价诊断指标,把SLE的确诊结果作为参考标准或金标准(SLE的诊断往往是临床诊断,此处的金标准即是当前国际公认的SLE最权威诊断标准即可),即可做ROC分析,找到最佳Cut-off值,并可以在此Cut-off值下计算敏感度特异度等统计指标。
在临床工作中,我们遇到的问题往往比这要复杂,大多数疾病的诊断并非依靠单一诊断指标,我们往往需要检测不同指标后才能做出诊断。
比如,对于SLE的诊断,我们需要检测多个生化或免疫指标,并结合影像学检查与临床症状和体征做出最终诊断。在
临床实践中,联合诊断的情况更为常见。
所谓联合诊断,是一种串联形式的诊断试验设计,即多个诊断指标阳性,患者患病的可能性更高。
下面笔者提几个问题供大家思考:
1. 什么情况下才需要联合不同的诊断指标?
2. 如何确定联合多个诊断指标的诊断效能?
3. 如何评价不同诊断指标联合方式的优劣?
针对第一个问题,如果单一指标的诊断效能不高,比如ROC曲线下面积AUC低于0.8,或者即便高于0.8,但临床有更高诊断效能的需求,都可以进行联合诊断。
针对第二个问题,需要计算多个诊断指标联合的参数,一般是以参考标准的诊断结果为因变量,以带评价指标为自变量,构建Logistic回归,并计算每个对象对应的预测概率,以预测概率进行ROC分析,计算曲线下面积AUC。
针对第三个问题,比较不同联合诊断方式的ROC曲线下面积即可。
下面我们以一个模拟的案例,为大家讲解联合诊断的ROC分析统计软件实现及结果解读。
2. 案例分析
[案例 1] 本案例中有119个研究对象,均为结核疑似病例,经一系列检查后60个对象明确诊断为结核病,59个对象排除结核病。
如下表1所示:
testa为诊断结核的一种血清标志物,testb为另一种诊断结核病的血清标志物。
拟分别评价单一指标对结核的诊断价值;
两指标联合对结核病的诊断价值。
数据如下:
表1. 119例疑似结核患者的检查结果。
status(1=有病;
0=无病)
|
testa
|
testb
|
0
|
7
|
276
|
0
|
16
|
526
|
1
|
25
|
794
|
0
|
2
|
142
|
0
|
1
|
175
|
1
|
13
|
513
|
1
|
51
|
938
|
0
|
9
|
134
|
1
|
27
|
247
|
0
|
5
|
146
|
……
|
……
|
……
|
1
|
47
|
1239
|
3. 基于SPSS实现ROC分析
表1中的数据整理成数据框结构,另存为.csv格式,并导入SPSS软件 (笔者所用版本为IBMSPSS v25)。
数据结构如下图1与图2所示。
图1. 变量定义。
图2. 数据录入。
图3. 依次选择Analyze--Roc curve,如图设置,将“status”拉入State Variable框中,Value of State Variable框中填1,即发生终点事件。
把待评价指标testa和testb拉入Test Variable框中。
如图设置,点击OK。
计算结果如下表2. testa和testb的ROC曲线下面积AUC分别为0.855和0.619。
下表2中分别报告了其标准误、P值、及95%可信区间。
testa和testb的ROC曲线如图4所示。
表2. Area Under the Curve
|
Test Result Variable(s)
|
Area
|
Std. Errora
|
Asymptotic Sig.b
|
Asymptotic 95% Confidence Interval
|
Lower Bound
|
Upper Bound
|
testa
|
.855
|
.039
|
.000
|
.778
|
.932
|
testb
|
.619
|
.053
|
.025
|
.515
|
.722
|
The test result variable(s): testa, testb has at least one tie between the positive actual state group and the negative actual state group. Statistics may be biased.
|
a. Under the nonparametric assumption
|
b. Null hypothesis: true area = 0.5
|
图4. tetsta和testb诊断结核病的ROC曲线。
下面我们构建联合诊断的Logistic回归模型,并计算两指标联合的预测概率,以预测概率画ROC曲线,并计算曲线下面积。
SPSS操作如下图5-9所示:
图5. 在菜单栏中选择二分类Logistic回归。
图6. 如图依次将结局变量与待评价指标填入并点开Save复选框。
图7. 勾选Probabilities即可计算两指标联合的预测概率,依次点击Continue--Ok。
此时数据框中根据Logistic回归方程可根据每个对象testa和testb取值计算出结局发生的概率,此概率即综合反应了testa和testb的诊断效能,我们即可以此概率绘制ROC曲线并计算曲线下面积。
图8. 两指标联合的预测概率PRE_1。
图9. 依次选择Analyze--Roc curve,如图设置,将“status”拉入State Variable框中,Value of State Variable框中填1,即发生终点事件。
把待评价指标testa、testb和PRE_1拉入Test Variable框中。
如图设置,点击OK。
计算结果如下表3. testa、testb和两指标联合诊断的ROC曲线下面积AUC分别为0.855、0.619和0.898。
下表3中分别报告了其标准误、P值、及95%可信区间。
Testa、testb和两指标联合诊断的的ROC曲线如图11所示。
表3. Area Under the Curve
|
Test Result Variable(s)
|