臨床研究における医療統計で用いられるカッパ係数について説明します。
pythonを用いて、例題と実際のプログラミングを提示します。
カッパ係数とは
カッパ係数とは、2つの評価者間の一致率を評価する際に用いられます。
ある疾患に関して、疾患活動性評価の指標として指標Aと指標Bがあるとき、
これらの指標の一致度を評価します。
よって複数検査値や活動性指標の正常値の一致性、観察者間の診断の一致性などを評価するのに用います。
例題
指標Aは1以下が正常、指標Bでは2以下が正常である。 このとき正常値の一致性は?
Csvファイル作成
ファイル名 ”kappa 例.csv“
A | B |
0 | 1 |
1 | 1 |
1 | 2 |
1 | 3 |
2 | 2 |
2 | 3 |
2 | 4 |
2 | 4 |
3 | 4 |
4 | 4 |
プログラム作成
import pandas as pd
from sklearn.metrics import confusion_matrix, cohen_kappa_score
df = pd.read_csv("kappa 例.csv")
y_true = df["A"]
y_pred = df["B"]
y_true = (y_true<=1)
y_pred = (y_pred<=2)
k = cohen_kappa_score(y_true, y_pred, weights='quadratic')
print("カッパ係数:{:.3f}".format(k))
{:.3f}とは?
小数点のケタ数などの書式指定をできます。
{インデックス番号:書式指定}
それぞれテキストの意味は以下の通り↓
: | 以下が書式指定 |
.3 | 小数点以下のケタ数 |
f | 型(タイプ) |
{:.3f} | 小数点以下3桁を小数点表記する |
実行
「Run」→「Run Module」 もしくは「F5」
結果
上記を実行した結果、このように表示されます。
カッパ係数:0.583
>>>
結果の評価
カッパ係数の値の目安は以下のような基準を参考にします。
Landis and Kochの基準
0.0~0.2 | わずかに一致 slightagreement |
0.21~0.40 | まずまずの一致 fair agreement |
0.41~0.60 | 中等度の一致 moderate agreement |
0.61~0.80 | かなりの一致 substantial agreement |
0.81~1.0 | ほぼ完全、完全一致 almost perfect or perfect agreement |
Krippendorffの基準
0.67 | 評価しない discounted |
0.67~0.80 | 不確かな結果 conclusions entatively |
0.80~ | 明確な結果 definite conclusions |
よってLandis and Kochの基準で「中等度の一致」、Krippendorffの基準では「評価しない」と評価されます。
まとめ
医療統計で用いるカッパ係数のpythonを用いた方法について説明しました。
上記プログラムはコピーして、適宜必要箇所を変更すれば使えます。
▼Pythonのおすすめ教材を紹介▼
▼関連記事▼