質的研究におけるコーダー間信頼性
定性コーディングの設計ごとにどの係数が適するか、アルファの 0.800 と 0.667 という閾値の出典、そしてデータのどれだけを二重にコーディングすべきかを解説します。
コーダー間信頼性(ICR)は、二人以上のコーダーが同じ抜粋に一つのコードブックをどれだけ一貫して適用するかを示す、偶然補正済みの指標です。内容分析や固定のコードブックを使う定性研究では、通常、データの 10 から 25% を二重にコーディングしたサンプルについて、Krippendorff のアルファまたは Cohen のカッパを報告します。慣例の基準は α ≥ 0.800 で、暫定的な結論の下限は 0.667 です。リフレクシブ・テーマ分析は、この係数を報告しません。この手法では、コーディングは解釈的な行為であり、二人目のコーダーが合わせるべき正確な答えはないと考えるためです。
コーダー間信頼性は、同じ素材を独立してコーディングするコーダー間の一致度で、偶然に期待される一致を差し引く係数で測られます。コードブックは、コーディングフレームとも呼ばれ、各コードについて、定義、包含と除外のルール、例を一覧にしたものです。百分率一致は、コーダーが同じコードを付けた抜粋の割合で、偶然の補正はありません。Cohen のカッパは二人のコーダーを比較し、Fleiss のカッパはすべての抜粋について固定された人数のコーダーを比較します。Krippendorff のアルファは、任意の人数のコーダー、欠損したコーディング、名義、順序、間隔のコードを扱えます。テーマ分析は、データセット全体にわたってテーマを構築する一群の手法で、その群の中で ICR についての見解は分かれます。
アノテーター間一致度の解説は、係数の計算を扱います。コードブック開発ガイドは、コードの書き方を扱います。チュートリアル二人のコーダーでインタビュー記録をコーディングしアルファを報告するは、抜粋からアルファまでの完全なプロジェクトを Potato で実行し、Potato での質的研究は、Potato の定性機能を一か所にまとめています。
定性研究が、コーダー間信頼性を報告する場合
内容分析の研究者は ICR を手法の要件として提示し、O'Connor と Joffe(2020)は、ICR をテーマ分析にも適用しています。複数のコーダーが素材を分担する場合は、どこでも係数に意味があります。係数は、各コーダーが単独でコーディングを始める前に、コードブックを同じように適用していることを示すからです。各コードを含むインタビューの数を数える研究も、同じ理由で ICR を必要とします。チーム内では、コードごとに係数を計算するコーダーは、どのコードの読み方が分かれているかを見ることができ、O'Connor と Joffe は、そうしたコードについての議論は、最終的なスコアより価値があることが多いと判断しています。一部の分野の査読者は ICR を求め、COREQ の報告チェックリストはコーダーの人数を求めます。
手法が係数に反対する場合
リフレクシブ・テーマ分析(TA)は、研究者の主観を資源として扱い、コーディングを解釈的な行為として扱います。Braun と Clarke(2023)は、コーディングが正確でありうるという考え方を退け、合意によるコーディングとコーダー間一致度の測定を、リフレクシブな研究への「概念的に一貫しない」追加物と呼んでいます。Braun と Clarke は、リフレクシブ TA を、ほかの二種類のテーマ分析から区別します。コーディング信頼性 TA は独立したコーダーと一致度の係数を使い、フレームワーク分析のようなコードブック手法は、コーディング信頼性 TA の構造化された手順の一部を借用します。グラウンデッド・セオリーの研究者の中にも ICR を退ける人がいます。グラウンデッド・セオリーは、分析が進むにつれて再帰的にコードを構築するためです。リフレクシブ TA の論文は、係数の代わりに、研究者のリフレクシビティと理論的前提を記述します。
O'Connor と Joffe は、認識論的な反論に対して、高い係数を、概念的な枠組みを共有する研究者がデータについて合意された解釈に達したことの証拠として読むことで答えます。二人の著者は、偽の精度により大きなリスクを見ています。高い数値は、弱い分析を厳密に見せることがあるためです。研究ごとに一つの立場を選び、方法のセクションでその立場を明記してください。
コーディングの設計ごとに適する係数
係数は、コーディングの前に行う二つの判断から決まります。第一の判断は単位で、すべてのコーダーが見る固定された抜粋か、各コーダーが印を付けるセグメントかです。第二の判断は、一つの抜粋に一つのコードを付けるか、複数のコードを付けるかです。
| コーディングの設計 | 係数 |
|---|---|
| 二人のコーダー、抜粋ごとに一つのコード | Cohen のカッパまたは名義アルファ |
| 三人以上のコーダーがすべての抜粋をコーディング | Fleiss のカッパまたは名義アルファ |
| コーダーが重なり合うが異なる抜粋を担当、または欠損したコーディングがある | Krippendorff のアルファ |
| 抜粋ごとに複数のコード | コードごとのアルファまたはカッパ。すべての抜粋で有か無かとして採点 |
| 強度のような順序尺度のコード | 順序アルファまたは重み付きカッパ |
| 各コーダーがセグメントの境界に印を付ける | ユニット化されたデータ用のアルファ、または先にセグメントを固定する |
抜粋ごとに複数のコードを付けることは、インタビューのコーディングでよくあります。O'Connor と Joffe は、各コーダーについて、すべての抜粋で各コードを 1 または 0 として採点し、コードごとに係数を計算します。コードごとの値は、どの定義に改善が必要かを示しますが、単一のプールされた数値では、信頼できるコードが信頼できないコードを隠してしまいます。Krippendorff(2004)は、内容分析について同じ主張をし、変数の中の最小値を全体の信頼性とします。
セグメントの境界は、インタビューのコーディングでより難しい問題です。コーディングする引用を各自が選ぶコーダーは、分割と統合の仕方が異なり、自動比較では、句読点一つだけ異なる二つの引用を別の単位として扱うことがあります。2004 年の二本目の Krippendorff の論文は、アルファを、コーダーがテキストの連続体の中で特定する単位に拡張しています。より単純な方法は、先にセグメントを固定することです。一人目のコーダーが記録をセグメント化してコーディングし、二人目のコーダーは、コードを取り除いた同じセグメントを受け取ります。その場合 ICR は、固定された抜粋上でのコードの適用を測定し、境界の一致は測定されないままになります。
慣例の閾値とそれぞれの出典
Krippendorff(2004)は、α ≥ 0.800 を求め、暫定的な結論がまだ許容される場合は α ≥ 0.667 を求めることを提案しています。同じ論文は、完全な一致を除けば「魔法の数字はない」と述べ、許容できる水準を無効な結論を引き出すコストに結び付け、研究者に信頼区間を参照するよう求めています。カッパについて、O'Connor と Joffe は、Landis と Koch(1977)の区分を、0.41 から 0.60 は中程度、0.61 から 0.80 は相当程度、0.81 から 1 はほぼ完全と要約しています。McHugh(2012)は、Cohen の元の解釈は保健研究には緩すぎると考え、0.60 から 0.79 のカッパを中程度、0.80 から 0.90 を強いと呼んでいます。O'Connor と Joffe は、百分率一致に関する Miles と Huberman の基準、すなわちコードの 95% で 80% の一致も引用しています。O'Connor と Joffe は、コーディングを始める前に閾値を固定すること、医療、政策、財務上の判断に資する知見については、より高い基準にすることを勧めています。
二重にコーディングするサンプルの大きさ
O'Connor と Joffe は、データ単位の 10 から 25% を典型的としており、ランダムに、または各層から一つのケースといった明示的な規則で抽出します。正式なサンプルの前に、両方のコーダーが一つのインタビューを非公式にコーディングして比較し、読み違えた定義を見つけます。改訂の後は、次のラウンドで別のサブセットを使い、信頼性のラウンドでコーディングされた抜粋は、最終的なコードブックで再コーディングされます。後から加わるコーダーには、別の信頼性チェックが必要です。小さなサンプルから得た係数は区間が広いため、すべての係数の隣に、抜粋数とコーダー数を報告してください。
不一致からコードブックの改訂へ
コーダーは、信頼性サンプルを独立してコーディングし、その後で集まって、各不一致を一つずつ確認します。チームは、不明確な定義を書き直し、除外ルールと例を追加し、コーダーが区別できないコードを統合します。その後コーダーは、新しい抜粋を使った二回目の独立したラウンドで、改訂されたコードブックを試します。O'Connor と Joffe は、同じコーダーでラウンドを繰り返すと、コードブックが新しい読み手にとって明確にならないまま、そのコーダー間に「解釈上の収束」が生じうると警告しています。係数は、コーダーが不一致を議論する前の、独立したコーディングから報告してください。最終的なコーディング済みデータは、その後、合意、第三のコーダーの投票、または上級研究者の決定から得られ、方法のセクションはその規則を明記します。
Potato での信頼性ラウンド
以下の設定は、診療所へのアクセスに関するインタビューの抜粋について、信頼性ラウンドを設定します。サンプルの外の各抜粋は一人のコーダーに送られ、二人のコーダーが、各参加者の内部から抽出した 20% のサンプルをコーディングします。ラウンドの間はコードブックが固定されるため、ラウンドの途中でコーダーがコードを追加することはできません。各コードの定義は、そのコードのツールチップとして表示されます。
annotation_task_name: Clinic access interviews, reliability round 1
task_dir: .
output_annotation_dir: annotation_output/
data_files:
- data/excerpts.jsonl
item_properties:
id_key: id
text_key: text
user_config:
allow_all_users: true
users: []
# Two coders on a 20% sample drawn within each participant, one coder elsewhere
num_annotators_per_item:
default: 1
overlap_sample:
fraction: 0.2
count: 2
stratify_by: participant_id
seed: 7
assignment_strategy: random
# Coders apply the agreed codes and cannot add new ones during the round
codebook_mode: fixed
annotation_schemes:
- annotation_type: multiselect
name: codes
description: Which codes apply to this excerpt? Hover over a code for its definition.
humanize_labels: false
labels:
- {name: Access barriers, tooltip: "Distance, transport, opening hours, or waiting time keep the participant from care"}
- {name: Cost concerns, tooltip: "Fees, insurance, or lost wages shape whether the participant seeks care"}
- {name: Provider trust, tooltip: "Confidence or distrust in clinic staff, their competence, or their motives"}
- {name: Administrative burden, tooltip: "Forms, referrals, phone queues, or eligibility rules the participant has to work through"}
- {name: No code applies, tooltip: "The excerpt touches none of the codes above"}
adjudication:
enabled: true
adjudicator_users: [lead]
min_annotations: 2data/excerpts.jsonl の各行には、id、text、participant_id があります。「No code applies」のコードは、すべての抜粋に回答を与えます。Potato の信頼性エクスポートは、コーダーがコードを一つも選ばなかった抜粋を除外するため、このコードがなければ、一つのテーマとテーマなしの間の不一致は、アルファに反映されません。二人のコーダーのチュートリアルは、ランダムな割り当てを説明しています。QDA モードでコードブックを構築したチームは、codebook_mode: fixed を併用して、ラウンドの間も qda_mode をオンにしておくことができます。QDA モードでは、Potato は search.annotator_claim をオーバーラップとともに拒否するチェックをスキップします。サンプルをコーディングしている間は、annotator_claim をオフにしておいてください。
両方のコーダーが終了したら、信頼性の表をエクスポートし、ラウンドを凍結します。
python -m potato.export --config config.yaml --format reliability --output export/
potato snapshot create config.yaml --tag icr-round-1 --note "Reliability round 1"このエクスポートは、質問ごとに一行を持つ reliability.csv と reliability.md を書き出します。codes の質問の行には、各抜粋のコードの集合に対する MASI 距離を用いた Krippendorff のアルファ、抜粋に対する 95% パーセンタイル・ブートストラップ区間、同一の集合での百分率一致、抜粋数とコーダー数が示されます。スナップショットは、プロジェクト・スナップショットで説明されているとおり、そのラウンドの設定、データ、コーディング、質問ごとのアルファを、そのタグの下に保存します。リードはその後 /adjudicate を開き、各不一致を解決し、定義が原因で分かれた場合は「Flag for guideline update」にチェックを入れます。adjudication エクスポートは、それらのフラグを adjudication_log.jsonl に書き込みます。フラグが付いた抜粋が、次のラウンドの前のコードブック改訂の議題になります。
Potato の二つの一致度レポートは、定性コーダーが使うスキームタイプを次のようにカバーします。
| スキーム | reliability エクスポート | /admin/iaa ダッシュボード |
|---|---|---|
radio、select(抜粋ごとに一つのコード) | 名義アルファ、百分率一致 | 百分率一致、コーダーのペアで平均した Cohen のカッパ、Fleiss のカッパ、名義アルファ |
multiselect、hierarchical_multiselect(複数のコード) | MASI 距離を用いたアルファ、百分率一致 | 平均 Jaccard、MASI 距離を用いたアルファ |
likert | 順序アルファ | 線形および二次の重み付きカッパ、Spearman のロー、順序アルファ |
span(ハイライトした箇所) | 抜粋全体でプールした文字レベルのアルファ | トークンレベルのカッパ、完全一致と部分一致のスパン F1、文字レベルのアルファ、Mathet のガンマ |
textbox とメモ | なし | なし |
ダッシュボードは、抜粋に割り当てられたすべてのコーダーが終えた時点で抜粋を採点し、一致度のドリフトは、本番のコーディングの間、同じ係数をウィンドウごとに示します。Potato 2.13.1 には四つの欠落が残っています。
- コードごとのアルファなし。 どちらのレポートも質問ごとに一つの値を示し、二人のコーダーのチュートリアルには、CSV エクスポートからコードごとのアルファを計算するスクリプトがあります。
- ユニット化アルファなし。
spanの質問に対する文字レベルのアルファは、すべての文字を固定された単位として扱い、その違いはスパンの一致度で説明されています。 - ほかの指標なし。 Potato は、Scott の pi、Holsti 指標、Gwet の AC1、Brennan と Prediger のカッパを計算しません。
- 閾値の判断なし。 エクスポートはラベルなしで値を報告し、ダッシュボードは 0.6 から 0.8 の値に「substantial」のバッジを付けます。その区分は、Krippendorff の 0.667 より下から始まります。各値を、調査があらかじめ固定した閾値と比較してください。
よくある質問
コーダー間信頼性には、Krippendorff のアルファと Cohen のカッパのどちらを使うべきですか?
二人を超えるコーダーが参加する場合、コーダーが異なるが重なり合う抜粋をコーディングした場合、またはコードが順序づけられている場合は Krippendorff のアルファを使ってください。二人のコーダーが同じ抜粋に順序のないコードを適用した場合は、どちらの係数でも構いません。二人のコーダーによる完全な名義データでは、二つの値は通常近い値になります。コーダーがコードを異なる頻度で使う場合には、値が離れます。カッパは偶然の一致を各コーダー自身のコード頻度から計算し、アルファはプールした頻度から計算するためです。
コーダー間信頼性として許容できる Krippendorff のアルファはいくつですか?
0.800 以上が慣例の基準で、0.667 は、Krippendorff(2004)が暫定的な結論を認める最も低い値です。Krippendorff は、境界値を誤った結論のコストに結び付け、人命が結果にかかっている場合は、はるかに高い基準を設けます。閾値は、コード全体の平均ではなく、コードごとに適用し、点推定値の隣にブートストラップ区間を報告してください。
コーダー間一致度として十分な Cohen のカッパはいくつですか?
0.81 から 0.90 のカッパは、Landis と Koch(1977)の区分ではほぼ完全、McHugh(2012)のより厳しい尺度では強いとみなされます。McHugh は、ほぼ完全を 0.90 を超えるカッパのために取っておきます。Landis と Koch は 0.61 から 0.80 を相当程度と呼ぶ一方、McHugh は、保健研究では 0.60 から 0.79 を中程度にすぎないと呼びます。コーディングの前に基準を固定し、コードごとにカッパを報告してください。
Krippendorff のアルファと並べて百分率一致も報告すべきですか?
はい。ただし記述的な数値としてアルファの隣に示し、信頼性の主張はアルファで行ってください。百分率一致は偶然を無視します。めったにコードを適用しない二人のコーダーは、コードをどこに適用するかについて一度も一致しなくても、大半の抜粋で一致します。Krippendorff(2004)は百分率一致を信頼性の指標として退け、McHugh(2012)は百分率一致とカッパの両方を計算することを勧めています。Potato の reliability エクスポートは、すべての質問について両方の列を書き出します。
関連資料
- Potato での質的研究。ICR を報告するかどうかと、Potato の定性機能について
- 定性データ分析ソフトウェアの比較。各 QDA プログラムが報告する係数について
- 二人のコーダーでインタビュー記録をコーディングしアルファを報告する。コードごとのアルファを含む、完全なコーディングプロジェクトについて
- インタビュー記録のコーディング。録音からコーディング済みの抜粋までの手順について
- LLM を使った定性コーディング。モデルを二人目のコーダーとして使う場合について
- 定性コーディングのための共有コードブック。コードブックのモードと改訂履歴について
- 裁定と不一致。不一致の解決について
- 一致度計算ツール。任意のツールからエクスポートしたコードの CSV から、アルファとカッパを求める
参考文献
- Braun, V., & Clarke, V. (2023). Toward good practice in thematic analysis: Avoiding common problems and be(com)ing a knowing researcher. International Journal of Transgender Health, 24(1), 1-6. https://doi.org/10.1080/26895269.2022.2129597
- Krippendorff, K. (2004). Reliability in content analysis: Some common misconceptions and recommendations. Human Communication Research, 30(3), 411-433. https://doi.org/10.1111/j.1468-2958.2004.tb00738.x
- Krippendorff, K. (2004). Measuring the reliability of qualitative text analysis data. Quality & Quantity, 38(6), 787-800. https://doi.org/10.1007/s11135-004-8107-7
- Landis, J. R., & Koch, G. G. (1977). The measurement of observer agreement for categorical data. Biometrics, 33(1). https://doi.org/10.2307/2529310
- McHugh, M. L. (2012). Interrater reliability: The kappa statistic. Biochemia Medica, 22(3), 276-282. https://doi.org/10.11613/BM.2012.031
- O'Connor, C., & Joffe, H. (2020). Intercoder reliability in qualitative research: Debates and practical guidelines. International Journal of Qualitative Methods, 19, 1-13. https://doi.org/10.1177/1609406919899220