KrippendorffのαをPythonで計算しよう
本記事では、PythonでKrippendorffのαを求める方法についてまとめる。また、補足として、4つの尺度水準についての簡単な説明もする。
「Krippendorffのα(クリッペンドルフのアルファ)」とは
被験者評価の一致度を計測するための数値である。
以下のような特徴を持つ。
2名以上の被験者間の一致度を一度に計算可能。
名義尺度、順序尺度、間隔尺度、比例尺度のどれでも計算可能。
欠損値がある場合も計算可能。
-1から1の連続値を取る。
-1:被験者間の評価が完全不一致の場合。(全く対称的な評価の場合など)
0:評価が完全無作為におこなわれている場合。
1:被験者間で評価が完全一致する場合。
つまり、1に近い値であるほど、全体として信頼できる評価であるといえる.。
PythonにおけるKrippendorffのαの計算方法
計算用のライブラリ「krippendorff」を利用する。
pip install krippendorff
ライブラリのドキュメントはこちら
下記のプログラムは、2名の被験者A、Bの評価結果(順序尺度)のKrippendorffのαを計算する例。
code:python
#ライブラリをimport
import krippendorff
#各被験者の結果を用意する
data = [
1,3,3,3,4,2, #被験者A
2,3,3,4,4,1 #被験者B
]
#Krippendorffのαを計算する
alpha = krippendorff.alpha(reliability_data=data, level_of_measurement='ordinal')
print(f"評価一致度: {alpha}")
欠損値がある場合は「None」とする。
「level_of_measurement」で、尺度水準を指定する。
名義尺度:nominal
順序尺度:ordinal
間隔尺度:interval
比例尺度:ratio
最低限の簡素なプログラムです。改善点があれば教えてください。
(補足)4つの尺度水準
名義尺度
意味の違いを区別するだけの数字
例:「1:男、2:女」など
順序尺度
数値の順序だけに意味のある数字
例:「1:全くそう思わない、2:あまりそう思わない、3:そう思う、4:とてもそう思う」など
間隔尺度
間隔に意味がある数字
例:温度(46℃のお湯は、15℃の水よりも、31℃温かい)など ※絶対零度で考える場合を除く
比例尺度
間隔に意味を持ち、かつ0の意味がある数字
例:金額(持ち金0円は、お金を持っていないことを指す)など
参考
krippendorffライブラリのドキュメント
https://github.com/pln-fing-udelar/fast-krippendorff
「Python で Krippendorff's alpha (クリッペンドルフのα係数) を計算する」
https://zenn.dev/hellorusk/articles/a75b374bb77c87
#Yuma_Oe