诊断试验评价指标计算,ROC曲线与AUC值差异比较,ROC曲线案例分析
一、诊断试验评价指标计算
临床诊断是医师的基础工作,诊断试验通常是指诊断或鉴定疾病状态的试验,医师在科学掌握诊断试验评价与分析的方法后,可做出稳妥的诊断结论,以避免个人经验有时出现的误诊现象。
1、配对四格表
诊断试验的数据一般以四格表形式呈现,数据如下表所示:a代表真阳性、b代表假阳性(误诊)、c代表假阴性(漏诊)、d代表真阴性。
诊断试验常用的准确性评价指标及说明如下表所示:
(1)敏感度和特异度
-
敏感度(Sen)又称为真阳性率,即在实际中患者被诊断为阳性的百分比;
-
特异性(Spe)又称为真阴性率,即实际未患病的人被诊断为阴性的百分比。
敏感度和特异性是诊断试验的真实性指标,在一项诊断试验中,高敏感度和高特异性都有助于尽早发现/排除疾病的发生,这两个指标均是希望越大越好。
(2)假阳性率和假阴性率
-
假阳性率(FPR)又称误诊率,指本来未患病的人被诊断为阳性。
-
假阴性率(FNR)又称漏诊率,指本来患病的人被诊断为阴性。
这两个指标和前面敏感度、特异性的关系是:误诊率=1-特异性;漏诊率=1-敏感度。这两个指标也属于诊断试验的真实性指标。
(3)阳性预测值与阴性预测值
阳性预测值PPV和阴性预测值NPV是诊断试验中的预测类指标,能评价试验预测的准确性。当灵敏度和特异度不变时,目标人群的患病率越高,阳性预测值越高,阴性预测值越低。
(4)约登指数
约登指数(Youden Index),有时也被称为优登指数,它是诊断试验的综合评价指标,它综合了灵敏度和特异度两个指标的特性,计算公式为:Sen+Spe-1,其正确取值范围在0~1之间,值越大越好。约登指数常用于ROC曲线确认诊断指标的最佳阈值。
二、ROC曲线与AUC值
1、ROC曲线
Roc 曲线也称受试者工作特征曲线、感受性曲线。Roc 曲线最初运用在军事上,当前在医学研究领域使用非常广泛,用来做疾病诊断方法的比较。Roc曲线是使用诊断指标不同阈值下的灵敏度和假阳性率(1-特异度)数据绘制的曲线图形,如下图所示的 Roc 曲线:
-
ROC曲线纵坐标为敏感度(真阳性率)——阳性人群中,检测出阳性的概率,希望该值越高越好;
-
横坐标为1-特异性(假阳性率)——阴性人群中,检测为阳性的概率,希望该值越低越好。
理论上完美诊断试验的 Roc 曲线会通过左上角(100%敏感度和特异度),而最差的情况是曲线通过左下角到右上角的直线(完全不能区分患病与未患病),因此在实际分析时我们总是期望曲线接近左上角,它表明发现病人和非病人的能力高、总体准确性高。
2、曲线下面积AUC值
Roc 曲线的重要概念是曲线下面积,简称AUC值。该值表示预测准确性,可反映诊断试验的价值。显然,AUC越大,意味着预测准确率越高,反之说明预测准确率越低。AUC值介于0.5到1之间,关于AUC值的判断说明如下:
-
AUC=0.5:说明完全无预测诊断价值,预测准确率和猜测效果一样;
-
0.5<AUC<0.7:预测诊断价值很低,此种情况相对较常见;
-
0.7≤AUC<0.9:预测诊断价值高,此种情况较常见;
-
AUC≥0.9:说明预测诊断价值高,此种情况较好;
-
AUC=1,是完美预测没有瑕疵,绝大多数情况下,不存在完美的预测诊断。
其他相关指标:
三、ROC曲线案例分析
某医生对经过金标准诊断的 55 名患者(病人)、45 名正常人分别进行两种诊断试验检查,部分数据如下表所示,尝试进行 Roc 曲线分析并评价检测指标的诊断准确性。
1、软件操作分析
diag表示金标准诊断结果,为二结局状态变量,0表示正常,1表示患者。test1、test2为医生测定的第一个和第二个医学指标取值,为定量数据。部分数据如下:
上传数据至SPSSAU,在【可视化】模块,选择【ROC曲线】,将diag变量拖拽到右侧状态变量(y)分析框中,test1和test2拖拽到右侧检验变量(x)分析框中,点击开始分析,操作如下图:
2、ROC曲线分析结果
(1)ROC曲线
Roc 曲线能直观地展示假阳性率(1-特异度)与真阳性率(敏感度)之间的关系,下图中带颜色 Roc 曲线越靠近左上角,诊断试验的准确性就越高。具体诊断性能如何,接下来重点解释和分析 AUC值。
(2)AUC值及95%CI
诊断试验指标test1,AUC=0.947>0.9,95% CI 为[0.900,0.994]。AUC值与0.5相比,p<0.05,按 α=0.05 水平,该指标test1的 AUC 与 0.5 的差异显著,有统计学意义。AUC在 0.9 以上,说明诊断指标test1的诊断性能高。test2解读类似,对应的AUC值为0.679,对于diag的诊断价值比较低。
(3)ROC最佳界值结果
-
最佳界值:是指约登指数的最大值,约登指数=Sen+Spe-1,它取最大值时,诊断试验有最佳的灵敏度和特异度。
本例约登指数最大值为 0.820,指标test1的阈值 Cut-off 为108.900,即当诊断指标test1取值大于等于 108.900 时,病例被诊断为“阳性”,取值低于 108.900 时,病例被诊断为“阴性”。在此截断点时敏感度等于 0.909,特异度等于 0.911。指标test2解读类似。
3、ROC曲线AUC差异比较
SPSSAU共提供两类AUC差异比较检验方法,如下:
-
Hanley & McNeil法:是一种基于独立样本的AUC比较方法,通过计算两个模型AUC值的方差和协方差,构造统计量来检验差异显著性,SPSSAU直接输出该结果。
-
Delong text:比较两个分类模型AUC值差异显著性的统计方法,例如同一批患者接受两种诊断方法检测时,通常情况下使用Delong检验较多,分析前可勾选【Delong对比】。
(1)Hanley & McNeil法
用户需要手动输入两个诊断对应的
AUC
值及其标准误(SE
值),平台将计算
z 值和
p值并进行差异判断,如果
p<0.05
则说明两个
Roc 曲线的
AUC
有显著差异;反之,则说明两个AUC
无差别。如下图:
(2)Delong text
Delong test根据 z 值和 p 值进行差异判断,当 p
4、联合诊断
联合诊断是指将多个诊断指标或方法结合起来,通过综合分析提高诊断的准确性。例如,结合影像学检查、血清标志物检测和临床症状,可以更全面地评估疾病状态。
(1)ROC联合诊断问题?
如果希望进行联合诊断,通常做法是先使用‘进阶方法里面的二元Logit回归’,并且分析时‘保存残差和预测值’;接着使用‘生成的预测值’进行ROC分析(名称通常为:“BinaryLogit_Prediction_****”),此时得到的AUC即为联合诊断结果。
与此同时,在开始分析按钮处选中‘联合诊断’,SPSSAU会自动进行联合诊断分析。
(2)ROC曲线需要把联合诊断也放入图中,如何处理它?
ROC时,如果选中联合诊断,其意义是只做联合诊断,并不做其它分析。如果需要将联合诊断与其它X均画入同一个ROC曲线中,原理上需要首先得到‘联合诊断’标题,得到该标题后,将其与其它X全部纳入分析框中然后分析即可。关于‘联合诊断’标题的获取的原理是:使用‘进阶方法里面的二元Logit回归’,并且分析时‘保存残差和预测值’,此时新生成的标题(名称类似为:“BinaryLogit_Prediction_****”)即为‘联合诊断’标题。
参考文献:周俊,马世澎. SPSSAU科研数据分析方法与应用.第1版[M]. 电子工业出版社,2024.