第二軍醫大學衛生統計學教研室(200433)
郭軼斌 郭 威 秦宇辰 何 倩 張新佶 吳 騁△
·計算機應用·
基于Kappa系數的一致性檢驗及其軟件實現*
第二軍醫大學衛生統計學教研室(200433)
郭軼斌 郭 威 秦宇辰 何 倩 張新佶 吳 騁△
在醫學檢驗學、影像醫學和臨床醫學的研究工作中,經常會遇到一致性評價問題:如評估兩種檢測方法或兩名檢驗人員的檢測結果是否一致,評價某種新的診斷試驗方法與金標準之間的一致性,或者同一種方法進行多次測定的結果是否一致等。根據檢測指標的類型不同,可采用的一致性檢驗方法也不相同,常用的一致性檢驗方法有配對χ2檢驗、回歸系數、組內相關系數(ICC)[1]、Kendall秩相關系數、Bland-Altman法[2]、Kappa系數等[3]。其中,適用于無序分類資料和等級資料一致性檢驗的Kappa系數已成為目前應用非常廣泛的評價指標。該方法由Cohen等在1960年提出,可根據Kappa系數的取值大小來衡量兩種診斷結果的一致程度,Kappa系數的值越大說明兩種結果的一致性越高[4-5]。Kappa統計量與配對χ2檢驗皆可用于分類變量的一致性檢驗。前者不僅能檢驗兩種方法或兩次調查間是否有一致性,而且能給出一個反映一致性大小的量化值——Kappa系數[6]。但在實際應用中,如何合理地估計Kappa系數及其對應的P值常困擾著科研人員。針對上述問題,本文在回顧簡單Kappa系數及加權Kappa系數計算方法的基礎上,詳細介紹了如何采用常用統計軟件SAS和SPSS進行實現以及處理“行列數不相等”等特殊問題,并對兩類軟件的輸出結果進行比較,提供了SAS程序,可輸出需報告的主要結果,為科研人員正確應用Kappa系數解決診斷試驗中一致性檢驗的問題提供了簡單實用的操作方法。
Kappa系數是從比較兩個觀測者對同一事物的觀測結果或同一觀測者對同一事物的兩次觀測結果是否一致出發,用由于機遇造成的一致性和實際觀測的一致性之間的差別大小作為評價基礎所提出的統計指標[7-8]。針對資料類型的不同,常用的Kappa系數包括針對無序分類資料(含二分類和多分類)的簡單Kappa系數(simple Kappa)和針對等級資料的加權Kappa系數(weighted Kappa)。簡單Kappa系數的算法比較簡單,在這里不再贅述。在此僅介紹加權Kappa系數的原理和算法。
加權Kappa系數是簡單Kappa系數的推廣,是用加權的方法對兩個評價結果進行量化,主要用于等級資料。對于四格表來說,簡單Kappa系數與加權Kappa系數是相等的,對于行×列的列聯表資料,加權Kappa系數的計算公式為:


式(2)中N為總例數;Aij為方法1第i個水平,方法2第j個水平對應的頻數;wij為方法1第i個水平,方法2第j個水平對應頻數的權重,0≤wij=wji<1,i≠j,wii=1;Ai.為方法 1的第 i個水平的所有頻數(第 i行合計);A.j為方法2的第 j個水平的所有頻數(第j列合計)。
確定wij主要有兩種方法:Cicchetti-Allison法(線性權重)和 Fleiss-Cohen法(平方權重)[3,9],估計方法分別為:

其中,Ci表示第i個水平的評價分值,k表示列數[9],C1為最小的評價分值,Ck為最大分值。
權重計算與等級的評價分值有關,研究者要用專業知識來確定。通過計算公式不難看出CA法計算的權重值小于FC法,即計算出的Kappa值CA法會小于FC法,由此可知,在對無效假設H0∶κ=0的假設檢驗中,PCA<PFC,說明FC法比CA法更保守,即更不容易拒絕無效假設H0。
Kappa系數的值介于-1到1之間,如果κ<0,說明Pa<Pe,即兩觀測結果不一致;如果κ=-1,說明完全不一致;如果κ=0,則Pa=Pe,即觀察的一致率完全是由隨機因素造成的;如果κ>0,則Pa>Pe,即兩種觀察結果較大可能存在一致性,由于隨機因素引起的可能性較小。κ值越大說明兩種結果越一致,當 κ≥0.75時,說明結果一致性較好,若κ<0.4,說明缺乏一致性[7]。
常用的統計軟件均能計算Kappa系數。其中,SPSS軟件僅能計算簡單Kappa系數,而SAS軟件既可以計算簡單Kappa系數,也可以計算加權Kappa系數。由于SAS計算簡單Kappa系數的過程與計算加權Kappa系數的相同,只是參數設置上有所區別,文中不再贅述,僅以SAS介紹加權Kappa系數的實現,并介紹行列數不等這一特殊情況下的Kappa值軟件實現過程。
1.加權Kappa系數的軟件實現
加權Kappa系數的計算可采用SAS軟件實現,本文使用SAS9.4。本例數據來源于謝競芳等發表的《晨尿與任意時間尿樣尿碘值的一致性檢驗》一文[10],采取74名產前檢查的孕婦同天晨尿樣和任意時間尿樣各1份,用碘催化砷鈰反應快速定量檢測的方法同時測定兩種尿樣尿碘值,數據見表1。由于原文中數據分類過多,筆者將其進行了合并。

表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語句來創建數據集。在FREQ過程中,tables語句表示以變量r為行變量,以變量c為列變量的列聯表,其中使用了agree選項,表示在結果中輸出Kappa一致性檢驗的結果。用weight語句定義f變量為列聯表中的實際頻數。test wtkap語句表示計算加權kappa系數漸近P值,exact wtkap語句表示計算加權kappa系數確切P值。output語句表示將計算的結果輸出到名為“result”的數據集中,然后使用PRINT過程將“result”數據集打印到輸出窗口。
結果及解釋如下:
在輸出窗口中可以看到加權Kappa系數的結果,_WTKAP_為加權Kappa值等于0.0839,E_WTKAP為漸近標準誤等于0.0873,L_WTKAP為加權Kappa值95%置信區間的下限,U_WTKAP為加權Kappa值95%置信區間的上限,95%置信區間為(-0.0872,0.2550)。P2_WTKAP為漸近雙側檢驗的P值等于0.2590,XP2_WTKA為確切雙側檢驗的 P值等于0.3078。因此,尚不能認為晨尿與任意時間尿樣尿碘含量存在一致性。
讀者也可以打開邏輯庫中的名為“result”的數據集來查看以上的結果。
在SAS軟件中可以對Kappa系數進行漸近和確切假設檢驗,只需在PROC部中添加表2中的語句即可,Kappa系數確切檢驗的具體方法參見文獻[11]。值得注意的,確切概率計算量很大,對于大于4×4的方陣資料,SAS計算時間會很長,請讀者慎用此方法。

表2 SAS程序中Kappa系數假設檢驗的語句
在SAS軟件中,加權Kappa系數的權重計算方法默認為Cicchetti-Allison法,如讀者需要使用 Fleiss-Cohen法,可以在agree語句后加上選項(WT=FC)。
2.行列數不相等資料的Kappa系數的軟件實現
常規的Kappa一致性檢驗要求資料為方陣,即兩個觀察者(方法)的結果分類相同且數目一致,體現在列聯表中為行數與列數相等。但在實際研究中,有時會出現兩個觀察者(方法)的結果分類水平數不一致的情況,即行數與列數不相等。例如:兩醫師對病人病情嚴重程度的診斷如表3。

表3 甲乙兩醫師對患者某病病情嚴重程度的診斷
此時,甲醫師診斷病情較輕的患者數為0,而乙醫師診斷病情較輕的患者數不為0。
由于相應的檢驗方法及置信區間無法定義,所以SPSS和SAS均無法直接輸出Kappa系數。此時可以通過以下方法解決:(1)如果需要計算的是簡單Kappa系數,可以采用SPSS軟件,在數據集中將取值為0的一行(或列)觀測值都賦以一個很小的值,如0.001,而原有觀測相對來說具有較大的取值,這樣處理并不會影響到Kappa系數的計算[4,12]。
(2)如果要計算的是加權Kappa系數,如表3。可以采用 SAS軟件,此時由于有空行存在,需要在weight語句中加上 zeros選項,即 weight變量名/zeros;如果讀者想要了解計算加權Kappa系數時的權重值,可在agree后加上選項printkwt。對于表3資料,對應的SAS程序如下(數據錄入的方法與計算加權Kappa系數中的一致,在此不再贅述):
proc freq data=kappa;tables r*c/agree;weight f/zeros;test wtkap;exact wtkap;output out=result wtkappa;proc print data=result;run;
輸出的主要結果及其解釋同本部分第1節。
本文介紹了Kappa系數的用途、分類和適用條件,對應的軟件實現的方法和實現中應注意的問題以及行列數不相等資料的軟件實現方法。
Kappa系數廣泛應用于各種計數資料的一致性檢驗,在使用過程中要注意盡量減少不必要的分類,以避免出現行列數不一致的情況。
[1]余紅梅.組內相關系數及其軟件實現.中國衛生統計,2011,28(5):497-500.
[2]劉玉秀.定量方法對比研究重復測量設計Bland-Altman一致限LoA的可信區間估計.中國衛生統計,2014,31(2):224-229.
[3]夏邦世.Kappa一致性檢驗在檢驗醫學研究中的應用.中華檢驗醫學雜志,2006,29(1):83-84.
[4]華琳.關于對診斷一致性Kappa系統的探討.數理醫藥學雜志,2006,19(5):518-520.
[5]Cyr L,Francis 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統計量在一致性和重現性檢驗中的應用.山東醫科大學學報,1996,34(3):209-212.
[7]王偉.介紹一種評價臨床檢查結果一致性的新指標—Kappa值.天津醫藥,1991,19(10):639-640.
[8]文萬青.關于kappa系數的進一步評價和校正.中國衛生統計,1994,11(6):4-7.
[9]閆巖.對診斷一致性kappa系數及評價指標的探討.中國衛生統計,2007,24(3):313-315.
[10]謝竟芳.晨尿與任意時間尿樣尿碘值的一致性檢驗.中國地方病防治雜志,2010,25(5):359-360.
[11]蘇炳華.Kappa檢驗的確切概率計算法.上海第二醫科大學學報,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);總后優秀青年科技人才扶持對象資助項目;上海市衛生和計劃生育委員會科研課題(20154Y0074)
△通信作者:吳騁,E-mail:wucheng_wu@hotmail.com
郭海強)