首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

配对卡方检验和一致性检验

新年第一更,首先祝大家上班快乐!

言归正传:诊断实验与金标准的比较,用一致性检验

临床上经常会遇到要比较某种诊断实验与金标准优劣的情况,对于这种二分类变量的比较,一般首先想到的都是卡方检验。

假设有100个患者,对其中每个人都先后进行了试验A和金标准的检查,结果如表1所示:

经过计算,卡方X2=44,p=0.51。也就是说,试验A和金标准没有区别。

但仔细看下表1就会发现问题,金标准的患病率为90%;而试验A无非是把患者随意的分为两组,每50人一组。试验A的结果提示患病率有50%,而金标准却是90%。根据卡方检验的结果,怎么就没有区别呢?

这里就涉及到卡方检验中卡方的计算。卡方其实就是残差(实际频数与理论频数的差值)的平方除以期望频数的求和。

A为实际频数,E为理论频数。

以表1为例,从金标准的结果可以看出,这100个患者的患病率为(44+46)/(44+46+4+6)=90%;那么对试验A来说,不管你根据试验结果怎么分组,只要保证每组当中的患病率接近90%(理论频数)就行了。

比如本例中根据试验A的结果将患者为了阴阳两组,每组都是50人。可以计算阳性组a的理论频数应该是50X90%=45(实际频数为46);阴性组中c的理论频数应该是50X90%=45(实际频数为44);

由于表1的实际频数,与根据金标准得出理论频数非常接近。虽然试验A与金标准的检验效力差了很多,但卡方检验的结果仍然显示二者没有区别。

换句话说,即便是试验A将这100个病人分为70人和30人的两组,只要保证每组当中各有90%患病(即a和c的实际频数接近理论频数的63和27),那么卡方检验就会显示试验A和金标准没有区别。

那么这个时候,如果想要评价诊断实验与金标准之间的一致性,应该用什么呢?

配对卡方检验(McNemar test)

配对卡方检验, 适用于对同一人群先后使用两种检测方法,计算的是两种诊断试验不一致的部分(比如表1的b和c)。其卡方计算公式为:

X2=(b-c)2/(b+c)。

还是以表1为例,计算可得卡方X2=33.33,p<0.0001,可见二者诊断效能是有区别的。

由此可以看出,卡方检验解决不了的问题,利用配对卡方检验或许可以解决。

但配对卡方检验也不是万能的,比如表2的情况:

由计算可得,配对卡方检验的卡方X2=0.04,p=0.84,二者的诊断效能好像并没有区别。

然而仔细看表2就会发现,其实在这100个病人当中,试验A与金标准的结果几乎是完全相反的。为什么会出现这种情况?

其实配对卡方检验的零假设,是假如金标准和试验A的没有区别,则患者被金标准判定为阳性和被试验A判断为阳性的概率是相同的:

P(a)+P(c)=P(a)+P(b)

(边缘概率相等)

同理,患者被金标准判定为阴性和被试验A判定为阴性的概率也是相同的 :P(b)+P(d)=P(c)+P(d)

也就是说,配对卡方检验的零假设是 P(b)=P(c);假如P(b)和P(C)差别很大,则说明金标准和试验A具有区别。

所以配对卡方检验的卡方X2=(b-c)2/(b+c)。

这里的卡方计算,只考虑了b和c差异的部分。所以遇到表2这种b和c非常接近的例子,就不能反应真实的情况。

所以,如果要评价两种试验的一致性(二分类检测),尤其是拿诊断试验和金标准比较的时候,还是要用一致性检验(Kappa检验)

Kappa值的计算则比较复杂:

Kappa=(Pa-Pexp)/(1-Pexp)

注: Pa是实际一致率:(a+d)/n;

Pexp是期望一致率:[ (a+c)/n * (a+b)/n ] + [(b+d)/n * (c+d)/n]。

n=a+b+c+d

Kappa取值从-1~+1。-1代表完全不一致;+1代表完全一致;0表示没有相关。

根据表2的数据计算,Kappa等于-0.96,P小于0.001;说明二者具有反向的一致率,并且结果有统计学意义。

以表1的数字计算,可得Kappa等于0.04,P值等于0.51;说明二者具有非常弱的一致性,且Kappa值不具有统计学显著性。

可见,一致性检验既可以计算二者的相关性大小,还能计算这种大小的统计学显著性。

总而言之,考虑到配对卡方检验的局限,如果要比较诊断实验和金标准的相关性,还是要用一致性检验

注:

如果要比较两个诊断试验的优劣,在知道金标准的情况下,可以计算重分类改善指标NRI(Net Reclassification Improvement)。

如果两个诊断试验都不是二分类,比如(强,中,弱),Kappa值的计算不受影响;但如果两个诊断实验一个是二分类,一个是三分类,则需要对Kappa值进行校正。

最后附上SAS计算一致性的代码(以表1为例):

dataexample1;

inputtest_A gold_standard n;

cards;

1 1 46

1 0 4

0 1 44

0 0 6

;

run;

procfreqdata=example1;

tabletest_A*gold_standard/agree;

weightn;

testkappa;

run;

Ref:

Viera AJ, Garrett JM. Understanding inter observer agreement: the kappa statistic. Fam Med. 2005 May;37(5):360-3.

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180307G0QOC200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券