Fleiss の Kappa係数
解説
Fleiss の Kappa係数は、3人以上の評価者間の一致度を評価するための統計的手法です。 医療診断、画像判定、テキスト分類など、複数の評価者が同じ対象を評価する場合の信頼性を定量化するために広く使用されています。
前提条件
- 評価対象が2つ以上
- 評価者が2人以上
- 各評価者は独立して評価を行う
- 評価カテゴリーは名義尺度 (または順序尺度) である
重要な概念
Kappa係数の解釈:
-
- 0.81-1.00: ほぼ完全な一致(Almost perfect)
- 0.61-0.80: かなりの一致(Substantial)
- 0.41-0.60: 中等度の一致(Moderate)
- 0.21-0.40: まずまずの一致(Fair)
- 0.00-0.20: わずかな一致(Slight)
- <0: 劣悪な一致(Poor)
観察された一致度と期待される一致度:
- 観察された一致度: 実際のデータで観察された評価者間の一致の程度
- 期待される一致度: 偶然によって生じる一致の程度
計算要素
- Kappa係数 = (観察された一致度 - 期待される一致度) / (1 - 期待される一致度)
- 95%信頼区間: 同じ条件で測定を繰り返した場合に、計算される区間の95%が母集団の真のKappa係数を含むような区間
- Z値: Kappa係数を標準誤差で割った値
- p値: 帰無仮説 (評価者間の一致が偶然による以上のものでない) が正しいと仮定した場合に、観測されたデータと同じかそれ以上に極端なデータが得られる確率
具体例
4人の病理医が20個の検体について「癌」か「腺腫」かを診断した結果の一致度を検討します。
検体番号 | 病理医1 | 病理医2 | 病理医3 | 病理医4 |
---|---|---|---|---|
01 | 癌 | 癌 | 癌 | 癌 |
02 | 癌 | 癌 | 癌 | 腺腫 |
03 | 腺腫 | 腺腫 | 腺腫 | 腺腫 |
… | … | … | … | … |
例えばある検体では、全員ががんと診断していますが、ある検体は、3人が癌、1人が腺腫と診断しています。
分析の結果:
統計量 | 値 | 解釈 |
---|---|---|
Kappa係数 | 0.65 | 実質的な一致 (substantial) の範囲 |
標準誤差 | 0.0913 | Kappa係数の推定精度を示す |
95%信頼区間 | 0.471 ~ 0.829 | 「中程度の一致」から「ほぼ完全な一致」まで広がっている |
Z値 | 7.12 | Kappa係数を標準誤差で除した値 |
p値 | <0.00001 | 評価者間の一致が偶然では説明できないことを示唆 |
解釈のポイント
- p値が極めて小さいため、評価者間の一致は明らかに偶然以上のものと判断できます
- この例の場合は当然ですので、有意であることに意味がありません。
- 係数0.65は臨床的に意味のある一致度を示していますが、完全な一致からは距離があります
- 信頼区間の幅は比較的広く、より精確な推定には更なるサンプルサイズが必要かもしれません
注意点
- 複数の評価者間の一致度を単一の指標で表現できます
- 評価者は必ずしも同一である必要はありません
- カテゴリー数は2つ以上であれば任意の数に対応可能です
- カテゴリーは名義尺度であることを前提としています
- 順序尺度であっても、その順序性は考慮されませんので、例えば 癌/腺腫/正常 などの診断の一致度をみる目的には適切ではありません。
- 部分的な一致は考慮されません
- 評価者数が増えるほど、高い一致度を得ることが難しくなる傾向があります
- カテゴリー数が増えると、一般的に一致度は低くなる傾向があります
データ形式
通常、long Format が適切です。
必要に応じて変換できます。
{{title}}
{{title}}
{{ item.full }}
{{title}}
{{group}}
{{title || 'カラム選択'}}
{{title || 'カラム選択'}}
{{ title }} カテゴリー変数を選択してください。複数選択すると組み合わされます
...(選択肢が多すぎます)
それぞれに設定する値を入力してください。異なる分類に同じ値を設定することもできます。順位の数値を入れれば、順序カテゴリカル変数として扱えるようになります。
分類内容 | 値 | |
{{ item.tag }} |
データの取り扱い
- データインポート
- データの読み込みは、ブラウザ内で完結し、外部へのデータ送信は発生しません。
- データ保持
- 読み込んだデータはブラウザ内に保持されます。
- ブラウザのセッションが終了または全てのタブが閉じられると、保持していたデータは自動的に破棄されます。
- データの安全性
- ブラウザがクラッシュした場合でも、10分経過すれば次回の起動時にデータは安全に消去されます。
- 共用のPCでの使用も考慮し、データの外部漏洩のリスクを最小化しています。
クラウド R を利用する時のデータ送信
- 最小限のデータ送信
- 外部のRサーバーへ送信されるデータは、数値計算に必要な最小限のセットに制限されています。
- 送信データは解析に必要なサブセットのみに限られます。
- ユーザーコントロール下のデータ送信
- 送信前に、どのデータが外部サーバーへ送信されるのか内容を確認することが可能です。
- データの送信はユーザーの操作により行われ、自動的な送信は行いません。
- クラウド R 出力結果の保持
- クラウド R からの出力結果は、将来の自動翻訳や自動解説の機能実現のため、サーバーがデータベースに保持します。
- その際に、送信者の情報や、計算元となるデータなど、プライバシーに関わる情報は保持しません。
- 通信経路も全て暗号化していますので、たとえプライバシーに関わる情報が含まれていたとしても、通常は漏洩する恐れはありません。
AI による解説を利用する時のデータ送信
- 最小限のデータ送信
- 外部のAIサーバーへ送信されるデータは、クラウド R の出力結果と、用いた統計手法の徐放です。
- ただし、クラウド R の出力結果に連続した数値データが含まれる場合は、AI にデータ形式を認識させる目的で、連続データの最初の行のみを送信します。
- クラウド R 出力結果の保持
- AI による解説内容は、将来の品質向上などのため、サーバーがデータベースに保持します。
- その際に、送信者の情報や、計算元となるデータなど、プライバシーに関わる情報は保持しません。
新しい列 (カラム) 名:
ここで設定した値に完全一致するデータを欠損値として扱います。
新しい列 (カラム) 名:
Reactive stat において、統計データの変数は、通常の数値や文字列として扱われます。 したがって、日付や時間の概念は直接的にはサポートされていません。
統計計算を行う際には、日付や時間の差分を数値として事前に用意しておく必要があります。
計算結果プレビュー:
新しい列 (カラム) 名:
チェックされた行が削除対象となります
データがありません
欠損値を含むカラムを選択
カラムを選択
削除対象の行
削除対象の行はありません
データ入力
{{ errorMessage || dataStatus + 'です'}}
設定とオプション
データがありません
R の出力結果
R出力図形
AI による R 出力結果の解説
変換設定:
(
変換元の単位:
変換先の単位:
)
変換結果プレビュー:
新しい列 (カラム) 名:
計算式の入力:
数式:
- データ: カラム名 (列名) をそのまま記述するか、"列名" のようにダブルクォートで挟んで指定
- 算術演算子: +, -, *, /, ()
- 基本関数: abs(), sqrt(), pow(), exp(), log(), log10()
- 三角関数: sin(), cos(), tan(), asin(), acos(), atan()
- 丸め関数: round(), floor(), ceil()
体重 / pow(身長, 2)
, "体重" / ("身長" * "身長")
利用可能なカラム:
{{ column }}
変換結果プレビュー:
{{ errorMessage }}
新しい列 (カラム) 名:
区切り文字の選択:
欠損値の処理:
プレビュー:
{{ preview }}
新しい列 (カラム) 名:
確認
データがありません
{{title}}
...(選択肢が多すぎます)
{{truncateString(filteringText, 1000)}}
データ
設定
解析結果
Fleiss の Kappa係数の計算結果
クラウド R 分析