python:kappa係数

エンジニア

臨床研究における医療統計で用いられるカッパ係数について説明します。

pythonを用いて、例題と実際のプログラミングを提示します。

スポンサーリンク

カッパ係数とは

カッパ係数とは、2つの評価者間の一致率を評価する際に用いられます。

ある疾患に関して、疾患活動性評価の指標として指標Aと指標Bがあるとき、

これらの指標の一致度を評価します。

よって複数検査値や活動性指標の正常値の一致性、観察者間の診断の一致性などを評価するのに用います。

スポンサーリンク

例題

指標Aは1以下が正常、指標Bでは2以下が正常である。 このとき正常値の一致性は?

Csvファイル作成

ファイル名 ”kappa 例.csv“

AB
01
11
12
13
22
23
24
24
34
44

プログラム作成

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のおすすめ教材を紹介▼

▼関連記事▼

スポンサーリンク
スポンサーリンク
スポンサーリンク
エンジニアPython
スポンサーリンク
スポンサーリンク
スポンサーリンク
シェアする
kirinをフォローする