第二軍醫(yī)大學衛(wèi)生統(tǒng)計學教研室(200433)
郭軼斌 郭 威 秦宇辰 何 倩 張新佶 吳 騁△
·計算機應用·
基于Kappa系數(shù)的一致性檢驗及其軟件實現(xiàn)*
第二軍醫(yī)大學衛(wèi)生統(tǒng)計學教研室(200433)
郭軼斌 郭 威 秦宇辰 何 倩 張新佶 吳 騁△
在醫(yī)學檢驗學、影像醫(yī)學和臨床醫(yī)學的研究工作中,經(jīng)常會遇到一致性評價問題:如評估兩種檢測方法或兩名檢驗人員的檢測結(jié)果是否一致,評價某種新的診斷試驗方法與金標準之間的一致性,或者同一種方法進行多次測定的結(jié)果是否一致等。根據(jù)檢測指標的類型不同,可采用的一致性檢驗方法也不相同,常用的一致性檢驗方法有配對χ2檢驗、回歸系數(shù)、組內(nèi)相關(guān)系數(shù)(ICC)[1]、Kendall秩相關(guān)系數(shù)、Bland-Altman法[2]、Kappa系數(shù)等[3]。其中,適用于無序分類資料和等級資料一致性檢驗的Kappa系數(shù)已成為目前應用非常廣泛的評價指標。該方法由Cohen等在1960年提出,可根據(jù)Kappa系數(shù)的取值大小來衡量兩種診斷結(jié)果的一致程度,Kappa系數(shù)的值越大說明兩種結(jié)果的一致性越高[4-5]。Kappa統(tǒng)計量與配對χ2檢驗皆可用于分類變量的一致性檢驗。前者不僅能檢驗兩種方法或兩次調(diào)查間是否有一致性,而且能給出一個反映一致性大小的量化值——Kappa系數(shù)[6]。但在實際應用中,如何合理地估計Kappa系數(shù)及其對應的P值常困擾著科研人員。針對上述問題,本文在回顧簡單Kappa系數(shù)及加權(quán)Kappa系數(shù)計算方法的基礎(chǔ)上,詳細介紹了如何采用常用統(tǒng)計軟件SAS和SPSS進行實現(xiàn)以及處理“行列數(shù)不相等”等特殊問題,并對兩類軟件的輸出結(jié)果進行比較,提供了SAS程序,可輸出需報告的主要結(jié)果,為科研人員正確應用Kappa系數(shù)解決診斷試驗中一致性檢驗的問題提供了簡單實用的操作方法。
Kappa系數(shù)是從比較兩個觀測者對同一事物的觀測結(jié)果或同一觀測者對同一事物的兩次觀測結(jié)果是否一致出發(fā),用由于機遇造成的一致性和實際觀測的一致性之間的差別大小作為評價基礎(chǔ)所提出的統(tǒng)計指標[7-8]。針對資料類型的不同,常用的Kappa系數(shù)包括針對無序分類資料(含二分類和多分類)的簡單Kappa系數(shù)(simple Kappa)和針對等級資料的加權(quán)Kappa系數(shù)(weighted Kappa)。簡單Kappa系數(shù)的算法比較簡單,在這里不再贅述。在此僅介紹加權(quán)Kappa系數(shù)的原理和算法。
加權(quán)Kappa系數(shù)是簡單Kappa系數(shù)的推廣,是用加權(quán)的方法對兩個評價結(jié)果進行量化,主要用于等級資料。對于四格表來說,簡單Kappa系數(shù)與加權(quán)Kappa系數(shù)是相等的,對于行×列的列聯(lián)表資料,加權(quán)Kappa系數(shù)的計算公式為:
式(2)中N為總例數(shù);Aij為方法1第i個水平,方法2第j個水平對應的頻數(shù);wij為方法1第i個水平,方法2第j個水平對應頻數(shù)的權(quán)重,0≤wij=wji<1,i≠j,wii=1;Ai.為方法 1的第 i個水平的所有頻數(shù)(第 i行合計);A.j為方法2的第 j個水平的所有頻數(shù)(第j列合計)。
確定wij主要有兩種方法:Cicchetti-Allison法(線性權(quán)重)和 Fleiss-Cohen法(平方權(quán)重)[3,9],估計方法分別為:
其中,Ci表示第i個水平的評價分值,k表示列數(shù)[9],C1為最小的評價分值,Ck為最大分值。
權(quán)重計算與等級的評價分值有關(guān),研究者要用專業(yè)知識來確定。通過計算公式不難看出CA法計算的權(quán)重值小于FC法,即計算出的Kappa值CA法會小于FC法,由此可知,在對無效假設(shè)H0∶κ=0的假設(shè)檢驗中,PCA<PFC,說明FC法比CA法更保守,即更不容易拒絕無效假設(shè)H0。
Kappa系數(shù)的值介于-1到1之間,如果κ<0,說明Pa<Pe,即兩觀測結(jié)果不一致;如果κ=-1,說明完全不一致;如果κ=0,則Pa=Pe,即觀察的一致率完全是由隨機因素造成的;如果κ>0,則Pa>Pe,即兩種觀察結(jié)果較大可能存在一致性,由于隨機因素引起的可能性較小。κ值越大說明兩種結(jié)果越一致,當 κ≥0.75時,說明結(jié)果一致性較好,若κ<0.4,說明缺乏一致性[7]。
常用的統(tǒng)計軟件均能計算Kappa系數(shù)。其中,SPSS軟件僅能計算簡單Kappa系數(shù),而SAS軟件既可以計算簡單Kappa系數(shù),也可以計算加權(quán)Kappa系數(shù)。由于SAS計算簡單Kappa系數(shù)的過程與計算加權(quán)Kappa系數(shù)的相同,只是參數(shù)設(shè)置上有所區(qū)別,文中不再贅述,僅以SAS介紹加權(quán)Kappa系數(shù)的實現(xiàn),并介紹行列數(shù)不等這一特殊情況下的Kappa值軟件實現(xiàn)過程。
1.加權(quán)Kappa系數(shù)的軟件實現(xiàn)
加權(quán)Kappa系數(shù)的計算可采用SAS軟件實現(xiàn),本文使用SAS9.4。本例數(shù)據(jù)來源于謝競芳等發(fā)表的《晨尿與任意時間尿樣尿碘值的一致性檢驗》一文[10],采取74名產(chǎn)前檢查的孕婦同天晨尿樣和任意時間尿樣各1份,用碘催化砷鈰反應快速定量檢測的方法同時測定兩種尿樣尿碘值,數(shù)據(jù)見表1。由于原文中數(shù)據(jù)分類過多,筆者將其進行了合并。
表1 晨尿與任意時間尿樣尿碘含量(μg/L)
其SAS程序如下:
data kappa;
do r=1 to 4;do c=1 to 4;input f@@;output;end;end;
cards;
16 6 2 2 14 6 2 0 8 8 2 0 4 2 0 2
;
proc freq data=kappa;tables r*c/agree;weight f;test wtkap;exact wtkap;output out=result wtkappa;proc print data=result;run;
程序說明:本例用do-end語句來創(chuàng)建數(shù)據(jù)集。在FREQ過程中,tables語句表示以變量r為行變量,以變量c為列變量的列聯(lián)表,其中使用了agree選項,表示在結(jié)果中輸出Kappa一致性檢驗的結(jié)果。用weight語句定義f變量為列聯(lián)表中的實際頻數(shù)。test wtkap語句表示計算加權(quán)kappa系數(shù)漸近P值,exact wtkap語句表示計算加權(quán)kappa系數(shù)確切P值。output語句表示將計算的結(jié)果輸出到名為“result”的數(shù)據(jù)集中,然后使用PRINT過程將“result”數(shù)據(jù)集打印到輸出窗口。
結(jié)果及解釋如下:
在輸出窗口中可以看到加權(quán)Kappa系數(shù)的結(jié)果,_WTKAP_為加權(quán)Kappa值等于0.0839,E_WTKAP為漸近標準誤等于0.0873,L_WTKAP為加權(quán)Kappa值95%置信區(qū)間的下限,U_WTKAP為加權(quán)Kappa值95%置信區(qū)間的上限,95%置信區(qū)間為(-0.0872,0.2550)。P2_WTKAP為漸近雙側(cè)檢驗的P值等于0.2590,XP2_WTKA為確切雙側(cè)檢驗的 P值等于0.3078。因此,尚不能認為晨尿與任意時間尿樣尿碘含量存在一致性。
讀者也可以打開邏輯庫中的名為“result”的數(shù)據(jù)集來查看以上的結(jié)果。
在SAS軟件中可以對Kappa系數(shù)進行漸近和確切假設(shè)檢驗,只需在PROC部中添加表2中的語句即可,Kappa系數(shù)確切檢驗的具體方法參見文獻[11]。值得注意的,確切概率計算量很大,對于大于4×4的方陣資料,SAS計算時間會很長,請讀者慎用此方法。
表2 SAS程序中Kappa系數(shù)假設(shè)檢驗的語句
在SAS軟件中,加權(quán)Kappa系數(shù)的權(quán)重計算方法默認為Cicchetti-Allison法,如讀者需要使用 Fleiss-Cohen法,可以在agree語句后加上選項(WT=FC)。
2.行列數(shù)不相等資料的Kappa系數(shù)的軟件實現(xiàn)
常規(guī)的Kappa一致性檢驗要求資料為方陣,即兩個觀察者(方法)的結(jié)果分類相同且數(shù)目一致,體現(xiàn)在列聯(lián)表中為行數(shù)與列數(shù)相等。但在實際研究中,有時會出現(xiàn)兩個觀察者(方法)的結(jié)果分類水平數(shù)不一致的情況,即行數(shù)與列數(shù)不相等。例如:兩醫(yī)師對病人病情嚴重程度的診斷如表3。
表3 甲乙兩醫(yī)師對患者某病病情嚴重程度的診斷
此時,甲醫(yī)師診斷病情較輕的患者數(shù)為0,而乙醫(yī)師診斷病情較輕的患者數(shù)不為0。
由于相應的檢驗方法及置信區(qū)間無法定義,所以SPSS和SAS均無法直接輸出Kappa系數(shù)。此時可以通過以下方法解決:(1)如果需要計算的是簡單Kappa系數(shù),可以采用SPSS軟件,在數(shù)據(jù)集中將取值為0的一行(或列)觀測值都賦以一個很小的值,如0.001,而原有觀測相對來說具有較大的取值,這樣處理并不會影響到Kappa系數(shù)的計算[4,12]。
(2)如果要計算的是加權(quán)Kappa系數(shù),如表3??梢圆捎?SAS軟件,此時由于有空行存在,需要在weight語句中加上 zeros選項,即 weight變量名/zeros;如果讀者想要了解計算加權(quán)Kappa系數(shù)時的權(quán)重值,可在agree后加上選項printkwt。對于表3資料,對應的SAS程序如下(數(shù)據(jù)錄入的方法與計算加權(quán)Kappa系數(shù)中的一致,在此不再贅述):
proc freq data=kappa;tables r*c/agree;weight f/zeros;test wtkap;exact wtkap;output out=result wtkappa;proc print data=result;run;
輸出的主要結(jié)果及其解釋同本部分第1節(jié)。
本文介紹了Kappa系數(shù)的用途、分類和適用條件,對應的軟件實現(xiàn)的方法和實現(xiàn)中應注意的問題以及行列數(shù)不相等資料的軟件實現(xiàn)方法。
Kappa系數(shù)廣泛應用于各種計數(shù)資料的一致性檢驗,在使用過程中要注意盡量減少不必要的分類,以避免出現(xiàn)行列數(shù)不一致的情況。
[1]余紅梅.組內(nèi)相關(guān)系數(shù)及其軟件實現(xiàn).中國衛(wèi)生統(tǒng)計,2011,28(5):497-500.
[2]劉玉秀.定量方法對比研究重復測量設(shè)計Bland-Altman一致限LoA的可信區(qū)間估計.中國衛(wèi)生統(tǒng)計,2014,31(2):224-229.
[3]夏邦世.Kappa一致性檢驗在檢驗醫(yī)學研究中的應用.中華檢驗醫(yī)學雜志,2006,29(1):83-84.
[4]華琳.關(guān)于對診斷一致性Kappa系統(tǒng)的探討.數(shù)理醫(yī)藥學雜志,2006,19(5):518-520.
[5]Cyr L,F(xiàn)rancis K.Measures of clinical agreement for nominal and categorical data:the kappa coefficient.Computers in biology and medicine,1992,22(4):239-246.
[6]王潔貞.Kappa統(tǒng)計量在一致性和重現(xiàn)性檢驗中的應用.山東醫(yī)科大學學報,1996,34(3):209-212.
[7]王偉.介紹一種評價臨床檢查結(jié)果一致性的新指標—Kappa值.天津醫(yī)藥,1991,19(10):639-640.
[8]文萬青.關(guān)于kappa系數(shù)的進一步評價和校正.中國衛(wèi)生統(tǒng)計,1994,11(6):4-7.
[9]閆巖.對診斷一致性kappa系數(shù)及評價指標的探討.中國衛(wèi)生統(tǒng)計,2007,24(3):313-315.
[10]謝竟芳.晨尿與任意時間尿樣尿碘值的一致性檢驗.中國地方病防治雜志,2010,25(5):359-360.
[11]蘇炳華.Kappa檢驗的確切概率計算法.上海第二醫(yī)科大學學報,1993,13(1):12-15.
[12]Gross ST.The kappa coefficient of agreement for multiple observers when the number of subjects is small.Biometrics,1986,42(4):883-893.
*:上海市軟科學研究重點項目(14692101700);總后優(yōu)秀青年科技人才扶持對象資助項目;上海市衛(wèi)生和計劃生育委員會科研課題(20154Y0074)
△通信作者:吳騁,E-mail:wucheng_wu@hotmail.com
郭海強)