微信直播

AME统计学09| 受试者工作特征曲线分析法

Published at: 2015年第1卷第S1期

胡志德
关键词:

在临床研究的论文中,特别是诊断准确性试验中,经常会遇到受试者工作特征(ROC)曲线。颇令部分同行感到棘手的几个问题是,不知道ROC曲线的来龙去脉?不知道如何利用ROC分析分析自己的数据?不知道如何正确解读ROC曲线所传递的信息?在此,笔者拟就如何解读ROC曲线谈谈自己的认识。

1 诊断试验中的一些基本概念

在谈及ROC曲线时,我们需要先了解一些诊断准确性试验的基本概念。

对疾病进行正确的诊断是科学治疗的前提,没有诊断就谈不上治疗,至少谈不上病因学治疗。在临床工作中,临床医师最先接触到的信息是患者的年龄、性别、症状、体征和病史等。根据这些信息,临床医师可以大致圈定一个患者可能罹患的目标疾病名单。比如对于一个头痛、颈强直、发热而就诊的老年患者,临床医师的第一印象是患者可能罹患以下疾病:细菌性脑膜炎、病毒性脑膜炎、真菌性脑膜炎、结核性脑膜炎。考虑到各型脑膜炎的治疗策略完全不同,因此迫切需要进一步明确患者到底患了哪一种脑膜炎。如果想进一步明确患者到底罹患了哪一类脑膜炎,此时就不能仅仅依靠症状、病史和体征了,因为上述各种脑膜炎的症状、体征和病史大体相同。

针对这样一个“脑膜炎患者”,在诊断过程中需要特别明确的一个问题就是:患者是否患有细菌性脑膜炎。在临床上,诊断细菌性脑膜炎的金标准是脑脊液细菌培养、革兰染色、细菌抗原测定、治疗反应性观察等综合判断的结果。虽然根据金标准检查结果可以准确地将患者分为细菌性脑膜炎和非细菌性脑膜炎,但金标准也有一些缺陷,比如细菌培养耗时过久,不便于早期诊断;革兰染色主观性太大,而且很多细菌性脑膜炎患者的脑脊液细菌涂片和培养结果呈现阴性;根据治疗反应性来确定患者是否罹患细菌性脑膜炎本身很冒险。此时,临床医师会设想,能不能有对患者进行一些检查,比如实验室检查,以辅助诊断患者是否罹患细菌性脑膜炎。

已知C反应蛋白(CRP)在细菌性脑膜炎患者中外周血中是增高的,对鉴别细菌性脑膜炎有一定帮助,因此临床医师决定对该病人进行血清CRP的检测。在应用CRP诊断细菌性脑膜炎时,临床医师最关心的两个问题是:第一,在细菌性脑膜炎中,有多少患者的CRP水平会增高,即诊断敏感性问题;第二在非细菌性脑膜炎患者中,有多少患者的CRP水平会降低,即诊断特异性问题。

诊断敏感性和特异性从两个侧面反映了一种诊断手段的诊断性能,即确诊疾病的能力和排除疾病的能力。通常情况下,人们总期望诊断手段的敏感性和特异性均为100%,但这种诊断手段通常不存在。即使是金标准,也只能说是基于目前的认识,认为该标准可以相对较为准确地用于诊断或排除疾病。

在了解了诊断敏感性和特异性两个基本的概念以后,我们就需要去了解一些诊断试验的基本特征。以CRP诊断细菌性脑膜炎为例,已知虽然细菌性脑膜炎的血清CRP水平总体上高于非细菌性脑膜炎,但是二者往往有部分重叠。临床医师在运用CRP结果以前,需要先明确CRP增高或降低的阈值,即CRP高于多少时才能算增高(阳性)。这是一个十分重要的问题,因为阈值的确定直接影响了敏感性和特异性。如果阈值设定得较低,绝大部分细菌性脑膜炎患者的CRP都会被认为是阳性,诊断敏感性自然增高,但诊断特异性却会因此而降低,因为有很多非细菌性脑膜炎患者的CRP也为阳性。反之,如果诊断阈值设定得很高,则绝大部分非细菌性脑膜炎患者的CRP呈现阴性,诊断特异性因此提高,但诊断敏感性却会大大降低,因为即使在细菌性脑膜炎患者中,CRP阳性患者也仅为少数。

上述事实说明,在诊断试验中,减少漏诊必然增加误诊,减少误诊必然增加漏诊;或者说提高敏感性必然降低特异性,提高特异性必然降低敏感性。

在诊断试验中,诊断敏感性和特异性之间存在不可调和的矛盾,二者往往因诊断界值的变化而呈现此消彼长的变化趋势。当我们去评价某一诊断手段的性能时,敏感性和特异性之间这种特殊的关系就为我们带来了不小的麻烦。比如:CRP诊断细菌性脑膜炎的最佳诊断界值该设定为多少呢?与另一个诊断细菌性脑膜炎的指标降钙素原(PCT)相比,在某诊断界值下,CRP的诊断敏感性为70%,特异性为80%;PCT在某诊断界值下,诊断敏感性为80%,特异性为70%。在此情况下,PCT和CRP在诊断细菌性脑膜炎上谁更胜一筹呢?之所以无法明确这些问题的答案,就在于诊断敏感性和特异性在反映诊断性能方面有一定的局限性,即二者只能反映某一诊断界值下的诊断性能,无法从总体上明确检查手段的诊断性能。

2 ROC曲线来历

ROC曲线最早是运用在军事上,后来逐渐运用到医学领域。相传在第二次世界大战期间,雷达兵的任务之一就是死死地盯住雷达显示器,观察是否有敌机来袭。理论上讲,只要有敌机来袭,雷达屏幕上就会出现相应的信号,但是实际上,有时如果有飞鸟出现在雷达扫描区域时,雷达屏幕上有时也会出现信号。这种情况令雷达兵烦恼不已:如果过于谨慎,凡是有信号就确定为敌机来袭,显然会增加误报风险;如果过于大胆,凡是信号都认为飞鸟,又会增加漏报的风险。每个雷达兵都竭尽所能地研究飞鸟信号和飞机信号之间的区别,以便增加预报的准确性。但问题在于,每个雷达兵都有自己的判别标准,有的雷达兵比较谨慎,容易出现误报;有的雷达兵则比较胆大,容易出现漏报。

为了研究每个雷达兵预报的准确性,雷达兵的管理者汇总了所有雷达兵的预报特点,特别是他们漏报和误报的概率,并将这些概率画到一个二维坐标里面。这个二维坐标的纵坐标为敏感性,即在所有敌机来袭的事件中,每个雷达兵准确预报的概率。而横坐标则特1-特异性,表示了在所有非敌机来袭信号中,雷达兵预报错误的概率。由于每个雷达兵的预报标准不同,且得到的敏感性和特异性的组合也不同。将这些雷达兵的预报性能进行汇总后,雷达兵管理员发现他们刚好在一条曲线上,这条曲线就是我们经常在医学杂志上看见的ROC曲线。

3 如何解读ROC曲线

图1为笔者从某杂志上截取的一张ROC曲线图。从左下角到右上角共有两条连接线,其中一条直线,是参考线;另一条是曲线,就是我们常见的ROC曲线。ROC曲线的纵坐标表示诊断敏感性;横坐标通常为1-特异性。在本图中,横坐标之所以为特异性是因为横坐标的刻度是从右向左读取的。实际上,如果横坐标的刻度是从左向右读取的话,就应该标识为1-特异性。也可以将表示误诊率,因此越靠近左侧,表示待评价试验诊断特异性越高。ROC曲线的解读有以下要点:

图1 ROC曲线示例

3.1 曲线下面积越大,总体诊断效率越高

所以总体来看,ROC曲线的走势越靠近左上角,其曲线下面积(AUC)也越大,表示待评价试验的总体诊断性能越高。在图1中, AUC其实就是指蓝色部分。AUC是一个相对比值,表示曲线下的面积占整个二维坐标系面积的比例。假定曲线完全沿着左侧纵坐标上行,达到左上角后继续向右平行走形,则曲线下面积为1.0,表示该待评价试验具有极高的总体诊断价值;如果曲线从左下角径直延伸到右上角(实际上就是参考线),则曲线下面积为0.5,表示该待评价试验总体上没有任何诊断价值。这里需要特别强调的是“总体”二字:敏感性与特异性当然也能反映待评价试验的诊断性能,但是其仅仅反映了某一界值下的诊断性能,具有一定的局限性。相比之下,AUC反映的并不是某一界值下的诊断性能,而是所有界值下诊断敏感性和特异性的组合,因此能比较客观和科学的反映待评价试验的总体诊断性能。

3.2 总体样本量和疾病分布状况影响曲线的光滑程度

这点与生存曲线有一些类似。图2分别列出了两张ROC曲线图,左侧的ROC曲线图总体样本量为172,疾病组样本量为64;而右侧ROC曲线的样本量为93,疾病组样本量仅为9个。

 


图2 样本量与ROC曲线的平滑程度

3.3 ROC曲线是不同界值下诊断效率的组合

在图中,笔者在ROC曲线下标识了A,B,C三点。我们大致可以看出三个点的诊断敏感性分别为0.30,0.80和0.92左右;特异性分别为0.95,0.80和0.35左右。实际上,如果该曲线表示CRP对细菌性脑膜炎的诊断价值的话,A点表示诊断界值较高的点,此时诊断敏感性较低,但特异性较高;B点表示一个相对合适的诊断界点,此时诊断敏感性和特异性均较高;C点则表示此时CRP的诊断界值较低,此时诊断敏感性较高,特异性较低。一般认为,在ROC曲线中,最靠近左上角的点全面权衡了诊断敏感性和特异性,是较为理想的诊断界点,但这个结论并不绝对(详见后述)。

 


图3 ROC曲线是不同界值下诊断效率的组合

4 ROC曲线解读和应用的常见误区

4.1 AUC小于0.5

如前所述,AUC为1时,表示检查手段有近乎完美的诊断价值;AUC为0.5时,表示曲线没有任何诊断价值。也许有读者会问,那AUC小于0.5呢?在部分已经发表的论文中,确实有部分论文报道了AUC小于0.5,但这纯属作者未掌握绘图软件要领所致。为什么AUC不可能小于0.5呢?打个极端的比方:假定现在又100个具有脑膜炎症状的患者,其中细菌性脑膜炎50人,现在甲乙两医生同时去诊断疾病,理论上讲,诊断准确性如果能达到100%,那无疑是人们期望的结果。但现实往往并非如此,甲医生的诊断准确性为50%,而乙医生的诊断准确性为0%。表面上看,甲医生的诊断准确性要高于乙医生,但现实并非如此,假定还有一位丙医生,虽然不会看病,但是每次都给出和乙医生相反的结论,其诊断准确性岂不是100%,显著高于甲医生的诊断准确性。实际上,任何疾病的诊断均存在一个验前概率的问题,即不借助任何手段,仅仅靠运气,随意对患者进行诊断,也会有一定的诊断准确性。AUC的基础值是0.5,而不是1,实际上也暗含了一个先验概率的问题,即通过抛硬币的手段来诊断疾病,准确性也能达到50%。

4.2 AUC也有可信区间和P值

这个问题在“如何正确认识P值”一文中曾有提及。当我们对数据进行分析时,自然而然会得到一个AUC,但这个AUC本身只是一次随机抽样的结果,用统计术语来说叫“点估计值”。即使在当前试验中,我们得出的AUC并非0.5,但也不能排除这属于抽样误差。在统计学上,我们需要做一个检验,以明确我们得到的AUC和0.5之间的差异是否是由于抽样误差造成的。P若小于0.05,则表示我们得到的AUC与0.5之间的差异并不是抽样误差造成的,或者说检查手段的诊断效率不是由抽样误差造成的。实际上,所有的统计软件在进行ROC分析时,都给告知AUC的95%可信区间,如果检查手段AUC的95%可信区间下限并非0.5,则可以认为AUC统计学意义,AUC不等于0.5并非抽样误差造成。

4.3 AUC的比较,经常被忽略的问题

如前所述,在临床研究中,人们往往需要比较两种检查手段的诊断性能,比如比较PCT和CRP对细菌性脑膜炎的诊断价值。如前所述,敏感性和特异性并不能反映检查手段的总体诊断性能,只有AUC才是反映总体诊断效能的最佳指标。因此我们需要比较两种检查手段的AUC,这里就牵涉到一个统计学问题:假定CRP和PCT的AUC分别为0.75和0.80,能否就此认为PCT诊断细菌性脑膜炎的性能优于CRP?显然不能!前面讲过,AUC只是一次抽样结果,是一个点估计值;虽然本次试验得到的结果是PCT的AUC比CRP的AUC高出0.05,但仍不能排除这个0.05系抽样误差造成。因此我们需要做一个统计学检验。AUC的比较在统计学上还有一些争议,目前较为常用的方法有两种,一是Delong等在1988年提出的方法(Biometrics 1988;44(3):837-45);二是Hanley在1983年提出的方法(Radiology1983;148(3):839-43.)。不同的软件采用的方法不同,研究者在进行分析时可以参阅软件说明,笔者经常使用的ROC分析软件是Sigmaplot,就是采用的Delong的方法。

4.4 AUC的局限性

AUC也有一定的局限性,主要表现在其没有对应的临床解释,不能像敏感性、特异性、阳/阴性预测值等诊断特征一样直接应用于临床。而且,更重要的是,AUC与诊断性能之间并非呈线性关系,比如:AUC同样是增长0.01,但其从0.80上升到0.81,和从0.95上升到0.96,所能带来的诊断性能的提高是完全不同的。当AUC很高时,即使是微小的进步,也会带来诊断效能上巨大的提高。

目前国际上一部分学者认为AUC介于0.5和0.7之间表示检查手段的诊断效率较低;若AUC介于0.7和0.9之间,则表明检查手段具有中等诊断效率;若AUC大于0.9则表明检查手段具有较高的诊断效率。笔者认为这种划分方法实质上不太科学,当我们去判断一个检查手段是否具有临床价值时,往往需要结合专业进行讨论。有的疾病,由于缺乏有效的诊断手段,即使某一检查手段的AUC只有0.7,也是可以应用于临床实践的。实际上,目前在临床上广泛应用的肿瘤标志物中,AUC大多介于0.7和0.8之间,但这并不妨碍这些肿瘤标志物在临床上广泛应用。在临床上,AUC能达到0.90以上的诊断试验少之又少。

4.5 如何确定诊断界点

如何从ROC曲线上选择合适的界点作为推荐的诊断界值是诊断准确性试验一个无法回避,同时也十分棘手的问题。有学者主张选取约登指数(即“敏感性+特异性-1”)最大时的界值作为推荐的诊断界值,但是这种界点确定方式明显没有考虑验前概率的问题,也没有权衡漏诊和误诊的危害;也有学者提出采用准确性最高的界点(敏感性×疾病组样本量+特异性×对照组)作为推荐的诊断界值,但这种方法虽然考虑了先验概率的问题,但同样没有权衡漏诊和误诊的危害。实际上,界值的确定是一件“仁者见仁,智者见智”事情,往往需要研究者根据专业知识来权衡漏诊和误诊的危害,根据疾病诊断现状来确定检查方法在疾病诊断流程中的地位。比如研究D-二聚体对肺栓塞的诊断价值,考虑到肺栓塞的诊断金标准是CPTA,该技术已经十分成熟,目前肺栓塞诊断面临的主要问题是CPTA经常被不加限制地被使用,使得一些非肺栓塞患者不得不接受CPTA检查,而CPTA本身有很多副作用,比如放射损伤,造影剂损伤等;同时,不加限制地使用CPTA又会加重患者的经济负担。因此,对D-二聚体在肺栓塞的流程中的定位可能仅仅限于筛查,即减少非肺栓塞患者接受CPTA的风险。在此背景下,研究者通常选择敏感性(阴性预测值)较高的点作为推荐的诊断界值。

另外一个值得关注的问题是,如果基于已有的数据去探寻合适的诊断界点,往往会夸大该项检查的诊断价值,这在样本量小于200的研究中特别明显。打个极端的比方,如果实验组和对照组均只有一个病人,那就肯定能得到敏感性和特异性均为100%的结果。因此,国际上有流行病学家主张预先设定诊断界值,即尚未进行ROC分析前就确定诊断界值。或者将研究人群分为测试队列和验证队列,在测试队列中获取诊断界值,在验证队列中评价检查的诊断性能。但据笔者观察,目前国际上开展的诊断试验较少采用这些方式去确定诊断界值,这一方面与这些观念还没有深入人心有关,另一方面也因为如果设立测试队列和验证队列的话,往往会加大研究的难度。

4.6 如何研究联合诊断

部分诊断手段往往可以联合使用,以提高疾病诊断的准确性。传统的联合诊断手段主要是系列诊断试验和平行诊断试验,前者提高了特异性,却牺牲了敏感性;后者则提高了敏感性而牺牲了特异性,显然都不是最佳的选择。我们假定如果两个诊断手段高度相关,那其中一个诊断手段所提供的信息与另一个诊断手段提供的信息可能是完全一致的,此时相当于1+1=1,提示联合应用两个诊断手段并不能提高诊断效能。那么,该如从统计学上分析多指标联合诊断有助于提高总体诊断效率呢。国际上目前较为成熟的方法有三种:C-statistics,净重分层改进(integrateddiscrimination improvement,NRI)和整合区分指数(net reclassification improvement,IDI)。三者在计算方法上有一些共通之处,比如研究CRP和PCT对脑膜炎的联合诊断价值,可以先用以患者是否患病作为因变量,以CRP和PCT作为自变量,构建一个logistic回归。对于一个特定的病人,我们可以将其CRP和PCT带入logistic回归方程,可以算出一个新的指标(此处暂且将其命名为CRP+PCT)。在此基础上,我们再进一步对“CRP+PCT”这个变量进行ROC分析,计算其AUC,并比较其AUC与CRP和PCT的AUC是否有统计学差异(C- statistic)。假定CRP+PCT的曲线下面积是显著大于CRP和PCT的,那就可以认为CRP和PCT联合诊断有助于提高诊断效能,即CRP和PCT是1+1大于1,二者联合诊断可以提高该病的诊断准确性。NRI则是在C-statistics的基础上,通过一个预先设定的界值对患者进行重新分类,分别观察疾病组和对照组受益人群是否增加;IDI的计算则是C-statistics的基础上比较每个人群被正确诊断的总体概率是否增加。总体来说,这些统计学方法的操作十分繁琐,一般的统计软件难以实现,需要研究者加载模块或自己编程进行统计。

在临床研究中,有时往往会明确在现有的临床背景下,一个新的诊断手段是否会提升疾病的总体诊断准确性。以CRP诊断细菌性脑膜炎为例:除了CRP以外,性别、年龄、症状、体征、脑脊液常规检查也可以为细菌性脑膜炎的诊断提供一些尽管不太准确,但是也相对有用的信息。实际上即使不参考CRP的结果,临床医师也能对其中的一部分患者进行准确的诊断和鉴别诊断。因此,研究者往往感兴趣的是:CRP是否能提供常规临床检查所不能提供的诊断信息,提升细菌性脑膜炎的诊断准确性。此时也需要用上述统计学方法进行分析。其基本策略是先以临床常规资料为基础,构建一个logistic回归方程(称为“基本方程”),然后再将用CRP和临床常规信息构建一个logistic回归方程(称为“基本+CRP方程”)。对一个特定的患者而言,不论是通过“基本方程”,还是“基本+CRP”方程,都可以计算出一个具体的数值,我们暂且将该数值称为“基本数值”和“基本+CRP数值”,该数值的大小实际上反映了患者患细菌性脑膜炎的概率。对上述两个数值分别进行ROC分析,就可以得出两个AUC,通过比较AUC的大小就能明确CRP能否提供常规诊断信息以外的信息。

目前在国际上还有一种较为流行的方法,再以CRP诊断细菌性脑膜炎为例。可以先将CRP的检测结果进行设盲,让临床医师阅读患者病历资料,对患者患细菌性脑膜炎的概率进行分析,得出一个介于0到1的数值(P1),该值越大,表示患者患细菌性脑膜炎的风险也越大。然后再将CRP的检测结果对临床医生开放,让其在此阅读病历,分析患者患细菌性脑膜炎的概率(P2)。之后分别对P1和P2进行ROC分析,并比较AUC,若P2的AUC大于P1,则可以确定,即使考虑常规临床资料,CRP可以提高脑膜炎的诊断准确性。

不论是C-statistics,NRI,IDI,还是临床概率评分,都只是一种统计学方法,临床医生最关心的往往还是专业价值。统计上有意义不见得专业上有意义,反之亦然。有时诊断上的受益并不能转化为预后上的受益。因此为了明确一个新的诊断手段是否对临床有益,往往需要开展随机对照试验予以证实。据笔者观察,目前这类论文在国际杂志上几乎算是凤毛麟角。

4.7 ROC曲线分析法的其它应用

实际上,ROC分析不仅仅限于诊断领域,也可以用于其它研究。理论上讲,凡是结局变量为两分类的研究均可采用ROC分析法。比如:研究CRP与主动脉夹层患者住院期间死亡的关系,可以按照主动脉夹层患者是否在住院期间死亡将其分为死亡组和存活组,然后采用ROC分析法评价CRP预测患者住院死亡的能力;研究肿瘤患者血清D-二聚体是否与患者发生深静脉血栓有关,可以按照肿瘤患者是否发生深静脉血栓将病人分为有血栓组和无血栓组,然后采用ROC分析法评价D-二聚体对发生血栓的预测能力。

需要说明的是,ROC分析本身没有考虑时间问题,因此不建议用于“time-to-event”的分析。比如在上述CRP与主动脉夹层的案例中,由于结局变量是患者是否院内死亡,一般不用考虑时间的影响,因为如果观察终点是院内死亡的话,患者多活或少活几日的专业价值并不大。在研究D-二聚体与恶性肿瘤患者是否发生血栓时,如果关注的内容不仅仅是患者是否发生血栓,更关注于其何时发生血栓,则不宜用ROC分析法,而应该用Cox模型和Kaplan-Meier法,毕竟治疗后立即发生血栓和治疗4年后再发生血栓的专业意义是不一样的

4.8 ROC曲线的绘制

多数统计软件和绘图软件,比如GraphPad Prism,Sigmaplot,SPSS,Origin和medcalc等均可实现ROC曲线的绘制,笔者较为推崇Sigmaplot,具体的绘制方法笔者另辟小文进行展示。

5 总结

本文对ROC分析的统计学基础进行了评析,浅析了ROC分析中值得注意的几个问题。需要说明的一点是:ROC分析只是一种统计学分析方法,其合理应用必须建立在正确的试验设计之上。如果试验设计本身有缺陷,再高明的统计学方法也无济于事。关于诊断准确性试验的常见偏倚及其控制,笔者此前曾在《临床与病理杂志》杂志上撰文进行了解析,可能发表于2015年第二期,欢迎各位同行斧正。

作者简介:胡志德,AME学术沙龙委员、Journal of Thoracic Disease杂志Section Editor(Systematic Review and Meta-analysis),工作于济南军区总医院实验诊断科,现为第二军医大学临床检验诊断学博士研究生,以第一作者或通讯作者身份发表SCI论文十余篇,并主持国家青年科学基金一项。

关注AME科研时间,回复关键词【统计】,可查看统计学专栏精彩文章。

本文题图来自网络。

本文由AME科研时间首发,媒体转载请注明出处。更多精彩文章、手术视频、中英文书,可点击http://kysj.amegroups.com/,登陆科研时间网站观看。

Doi:10.3978/kysj.2014.1.501

comments powered by Disqus

附件