诊断试验可靠性评价SAS程序实现
2011-03-11深圳市宝安区妇幼保健院518133王喜文程郁离罗雅丽
深圳市宝安区妇幼保健院(518133) 王喜文 程郁离 罗雅丽
对于诊断试验或筛检试验所用的检测方法一致性的评定,有许多评价指标,其中较为优良和常用的有一致性相关系数(concordance correlation coefficient,rc)和Kappa指数。检测结果是计量资料的用一致性相关系数进行可靠性评价,检测结果是分类资料的用Kappa指数做可靠性评价〔1〕。
但是一致性相关系数和Kappa指数的计算过程都非常复杂,表现在步骤多,公式结构复杂,计算量较大。文中通过实例分别演示了分类资料和计量资料的可靠性评价的SAS程序实现过程,可以大大简化运算过程,提高计算的准确度和工作效率。
1.分类资料的可靠性评价
Kappa指数也称Rater一致性。Kappa指数K的取值范围在(-1,1),应用Kappa值判断观察者间或观察者内的符合程度,Fleiss提出三级划分:K值在0.4~0.75之间表明中、高度一致,K值≥0.75表明一致性极佳,K值≤0.4表明一致性差〔2〕。Kappa指数比较稳定,不易受发病率的影响。
(1)Kappa指数的计算公式
式中,k:分组数或等级数;Aii:k×k表主对角线上的实际例数;ni+和n+i分别为第i行和第i列的合计。
(2)Kappa指数的假设检验
根据实际资料计算的Kappa指数是一个样本的统计量,存在着抽样误差,因而,所计算的Kappa指数是否来自Kappa指数为零的总体应当经过假设检验。检验统计量μ值按下式计算:
(3)示例〔1〕:某省医院放射科医师和省矽肺诊断专家组先后对250名矽肺可疑患者的X线片做两次诊断,结果见表1,对两次诊断结果进行一致性分析。
表1 250名矽肺可疑患者的诊断结果
经计算,本例 Po=0.8240 ,Pc=0.2691,K=0.7592,σk=0.0375,u=20.25
两次诊断结果存在着一致性(u>2.28,P<0.01),根据所求得的 K值为0.7592,K>0.75,可认为两次诊断结果一致性极佳。SAS程序见附录1。
2.计量资料的可靠性评价
一致性相关系数:观察结果之间若不存在相关性,也肯定不存在一致性,若存在相关性却不一定有一致性,即一致性比相关性要求更严格,加上rc已有成熟的假设检验方法和一致性优劣的评判标准,因此,对计量资料进行一致性分析时,常常计算一致性相关系数,而简单相关系数等指标仅作为辅助信息在必要时可同时给出。一致性相关系数rc的取值范围为(-1,1),一般认为,rc>0.85试验可靠性极好,0.5≤rc≤0.85试验可靠性较好,rc<0.5试验可靠性不佳。
(1)一致性相关系数的计算公式
(2)一致性相关系数的假设检验
按上式求得的一致性相关系数rc是样本相关系数,它是总体相关系数ρc的估计值,因此,要检验rc是否来自相关系数ρc为零的总体,做ρc=0的假设检验,常用u检验,检验统计量u值按下式计算。
(3)示例〔1〕:用某种方法检测10名研究对象的血糖值,每个研究对象重复检测两次,所得数据见表2,试评价该检测方法的可靠性。
表2 某法对10名研究对象血糖值重复检测结果(mmol/L)
本例:¯y1=6.8,¯y2=6.7,S21=0.346,S22=0.336,S2
1=0.3180,rc=0.9191
本例,d=0.2933 ,r=0.9327,σ2Z=0.1588,Z=1.5832,u=3.97
因为u>2.58,则P<0.01,按α=0.05的检验水准,拒绝HO,接受H1,可认为两次检测结果存在一致性,根据所求得的rc值为0.9191,rc>0.85,可得出该检测方法可靠性极好的结论。SAS程序见附录2。
讨 论
诊断试验(diagnostic test)是临床实践中必不可少的重要部分。随着医学诊断技术的发展,许多新的诊断试验的方法应用于临床,如果没有科学的设计和评价,我们就不知道这些新的诊断试验方法的临床诊断意义,有时还不适当地夸大或低估了诊断试验的价值。正确应用和评价这些诊断试验不但能提高临床诊断的效率和水平,对疾病的准确、合理的治疗也能提供有力的依据〔3〕,也是正确认识该诊断试验的临床价值及临床上合理选用各种诊断试验、科学地解释诊断试验各种结果的基础,也是实施循证诊断的基础〔4〕。
在诊断试验应用越来越普遍以及对其评价越来越受到重视的的背景下,如何简化诊断试验可靠性评价计算过程,提高其实用性和可操作性成为一个值得研究的问题。鉴于目前较为流行和权威的SPSS统计软件包和SAS统计软件包都没有提供一致性相关系数和Kappa指数的模块或过程,手工计算量很大,费时费力而且容易出现错误,笔者对一致性相关系数和Kappa指数计算、假设检验编写了SAS程序,并在程序中提供了详细的注释。通过运用SAS程序对分类资料和计量资料的可靠性评价实例进行计算和检验。结果显示:整个评价过程非常简单和快速,只需要更改分类资料中的分类数或是计量资料中的样本数,再将原始数据输入SAS程序中的相应数组,运行SAS程序便可很快得到可靠性评价的中间计算结果及最终结论。
1.倪宗瓒.医学统计学.北京:高等教育出版社,2003,224-229.
2.李良寿.临床医学研究原理与方法.第2版.西安:陕西科学出版社,2000,179-195.
3.赵亚双,王滨有.诊断试验的评价.哈尔滨医科大学学报,2003,37(2):182-184.
4.Knottnerus JA,Van Weel C,Muris JW.Evaluation of diagnostic procedures.BMJ,2002,324(7335):477-480.
附录1
诊断或筛检试验分类资料的可靠性评价SAS程序
data kappa;
%let a=4;%let b=4;/*a和b为分类资料的分类数*/
array f(&a,&b)(78 5 1 0 6 56 13 0 2 10 32 3 0 1 3 40);/*f数组内为分类资料按顺序排列的原始数据*/
po=0;
array r(&a);array c(&a);
do i=1 to&a;do j=1 to&a;
if i=j then po=po+f(i,j)/sum(of f(*));/* 计算 PO值*/
end;end;
do i=1 to&a;m=0;
do j=1 to &a;m=m+f(i,j);
r(i)=m;/*计算分类资料的行合计*/end;end;
do j=1 to&a;n=0;
do i=1 to &a;n=n+f(i,j);
c(j)=n;/*计算分类资料的行合计*/end;end;
t=0;do i=1 to&a;
t=t+c(i)*r(i);end;
pc=t/sum(of r(*))**2;/*计算PC值*/
k=(po-pc)/(1-pc);/*计算k值*/
p=0;do i=1 to&a;
p=p+c(i)*r(i)*(c(i)+r(i));end;
kk=(pc*sum(of c(*))**3+pc**2*sum(of c(*))**3-p)**0.5/((1-pc)*sum(of c(*))**2);/*用kk代替*/
u=k/kk;/*计算u值,σk用kk代替*/
run;
附录2
诊断或筛检试验计量资料的可靠性评价SAS程序:
data concord;%let a=10;/*a为样本数量*/
array yone(&a)(6.5 6.7 7.1 6.3 7.5 7.8 6.0 7.3 6.8 6.0);/*第一次测量值*/
array ytwo(&a)(6.3 6.7 7.1 6.0 7.7 7.4 5.8 7.0 6.7 6.3);/*第二次测量值*/
y1=sum(of yone(*))/&a;/*用y1代替*/
y2=sum(of ytwo(*))/&a;/*用y2代替*/
s1=0;s2=0;do i=1 to&a;
s1=s1+(yone(i)-y1)**2/&a;/*用S1代替*/
s2=s2+(ytwo(i)-y2)**2/&a;/*用S2代替*/
end;
s12=0;do i=1 to&a;
s12=s12+(yone(i)-y1)*(ytwo(i)-y2)/&a;end;
rc=2*s12/(s1+s2+(y1-y2)**2);z=0.5*log((1+rc)/(1-rc));
r=s12/(s1*s2)**0.5;d=(y1-y2)/(s1*s2)**0.5;
qq=((1-r**2)*rc**2/((1-rc**2)*r**2)+4*rc**3*(1-rc)*d**2/(r*(1-rc**2)**2)-2*rc**4*d**4/(r**2*(1-rc**2)**2))/(&a-2);
u=z/qq**0.5;/*用qq代替σ2Z*/
run;