使用cohen kappa係數衡量分類精度

在診斷試驗中,研究者希望考察不同診斷方法在診斷結果上是否具有一致性。如評價兩個醫務工作者對同一組病人的診斷結論的一致性、同一醫務工作者對同一組病人前後進行兩次觀察作出診斷的一致性。1960年Cohen等提出用Kappa值作爲評價判斷的一致性程度的指標。實踐證明,它是一個描述診斷的一致性較爲理想的指標,因此在臨牀試驗中得到廣泛的應用。下文給出的例子也都是基於醫療診斷的,可見其提出背景。除此之外,kappa係數也可用於衡量分類精度,在kaggle競賽中經常被用作評價指標,如2019 data science bowlPetFinder.my Adoption Prediction等等。

由於診斷試驗一致性的大小不完全取決於研究者的臨牀經驗和診斷能力,還可能是由於機遇因素的作用,致使不同研究者得出相同的診斷結論。即沒有受過專業醫療教育的人對患者進行診斷也可能會得出與專業醫生一樣的結論,而這種一致性結論完全是由於機遇因素導致的。kappa係數即是在一致性判斷中剔除機遇因素的影響。kappa取值爲[0,1],值越大代表一致性越強/分類精度越高。

kappa係數的計算分爲以下幾類,下面將通過例子介紹這幾種kappa係數如何計算。

  • 簡單kappa(simple kappa)
  • 加權kappa(weighted kappa)
    • 線性加權(linear weighted kappa)
    • 平方加權(quadratic weighted kappa)

Simple Kappa

simple kappa的計算公式如下:

k=\frac{p_{o}-p_{e}}{1-p_{e}}

其中,p_{o}代表觀察符合率,計算方法爲用每一類正確分類的樣本數量之和除以總樣本數;

p_{e}代表機遇符合率,計算方法爲假設第一個人判斷每一類的樣本個數分別爲a1,a2,...,aC,而第二個人判斷每一類的樣本個數分別爲b1,b2,...,bC,總樣本個數爲n,則\mathrm{pe}=\frac{\mathrm{a} 1 \times \mathrm{b} 1+\mathrm{a} 2 \times \mathrm{b} 2+\ldots+\mathrm{aC} \times \mathrm{bC}}{\mathrm{n} \times \mathrm{n}}。解釋這一公式的來源,我們把分母中的一個n除到分子中,則每一個加和部分都除以n,以第一類爲例\frac{\mathrm{a} 1 \times \mathrm{b} 1}{\mathrm{n}},將n除給a1,即第一個人判斷所有人中有(a1/n)比例的人是屬於第一類的,如果他是不受專業限制的隨機判斷,他也會認爲第二個人將b1個人分爲第一類的人裏有(a1/n)比例的人是屬於第一類的,這樣相乘我們得到\frac{\mathrm{a} 1 \times \mathrm{b} 1}{\mathrm{n}},也就是在隨機判斷的情況下兩個人判斷一致的個數。將所有類別中由於機遇判斷一致的個數加和除以總樣本數得到機遇符合率。

下文給出一個計算例子:

P_{\circ}=\frac{(a+d)}{n}=\frac{22+11}{39}=0.8462

P_{\mathrm{e}}=\frac{\left(\frac{f_{1} \times g_{1}}{n}\right)+\left(\frac{f_{2} \times g_{2}}{n}\right)}{n}=\frac{\left(\frac{26 \times 24}{39}\right)+\left(\frac{13 \times 15}{39}\right)}{39}=0.5385

\kappa=\frac{P_{\mathrm{o}}-P_{\mathrm{e}}}{1-P_{\mathrm{e}}}=\frac{0.8462-0.5385}{1-0.5385}=0.67

Weighted Kappa

對於有序分類變量的一致性檢驗應該使用加權kappa係數。當分類類別代表等級分類,例如對疾病嚴重程度給出診斷,分爲最輕到最重的五個等級。我們通常會認爲,對同一個診斷的分級差異越大則造成的結果越嚴重,不一致性越強。例如將一個疾病最重的人判別爲最輕和將一個疾病較輕的人判斷爲最輕帶來的懲罰應該是不一樣的。加權kappa便是基於這個思想。

線性加權(linear weighted kappa)認爲每兩個級別之間的差異相等,如果兩個判定結果之間差三個類別,那麼他們之間的不一致程度剛好是差一類的三倍,權值計算公式如下,其中i,j代表類別編號,其差值也就代表兩個類別的距離。N爲類別總數。由公式可知,判定結果一致時,權值爲0。

w_{i, j}=\frac{i-j}{N-1}

平方加權(quadratic weighted kappa)則將線性加權的權值平方,放大級別距離大的判定不一致程度,權值計算公式如下:

w_{i, j}=\frac{(i-j)^{2}}{(N-1)^{2}}

kappa係數計算公式如下:

\kappa=1-\frac{\sum_{i, j} w_{i, j} O_{i, j}}{\sum_{i, j} w_{i, j} E_{i, j}}

其中O_{i, j}代表將第i類判別爲第j類的個數,E_{i, j}代表根據真實列聯表根據上文提到的計算方法,計算機遇判斷將會得到怎樣的結果。其實就是對列聯表中的所有值加權求和。

比如計算上文例子的線性加權kappa

\sum_{i, j} w_{i, j} O_{i, j}=0\times22+1\times2+1\times4+0\times11=6

計算機遇判斷後得到的列聯表如下

\sum_{i, j} w_{i, j} E_{i, j}=0\times16+1\times8+1\times10+0\times5=18

\kappa=1-\frac{6}{18}=0.67

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章