Перейти к содержимому

Надёжность между кодировщиками в качественных исследованиях

Какой коэффициент подходит к каждому дизайну качественного кодирования, откуда взялись пороги альфы 0.800 и 0.667 и какую долю данных кодировать дважды.

Надёжность между кодировщиками (intercoder reliability, ICR) — это мера с поправкой на случайность, показывающая, насколько согласованно два или более кодировщика применяют один кодбук к одним и тем же фрагментам. Качественные исследования, которые используют контент-анализ или фиксированный кодбук, обычно сообщают альфу Криппендорфа или каппу Коэна на дважды закодированной выборке из 10–25% данных, где α ≥ 0.800 служит общепринятым стандартом, а 0.667 — нижней границей для предварительных выводов. Рефлексивный тематический анализ обходится без коэффициента, потому что этот метод считает кодирование интерпретативным актом, у которого нет точного ответа, с которым мог бы совпасть второй кодировщик.

Надёжность между кодировщиками — это согласие между кодировщиками, которые независимо кодируют один и тот же материал, измеренное коэффициентом, из которого вычтено согласие, ожидаемое случайно. Кодбук, который также называют схемой кодирования (coding frame), перечисляет коды и для каждого кода даёт определение, правила включения и исключения и примеры. Процентное согласие — это доля фрагментов, на которых кодировщики поставили одинаковые коды, без поправки на случайность. Каппа Коэна сравнивает двух кодировщиков, а каппа Флейса сравнивает фиксированное число кодировщиков, каждый из которых закодировал все фрагменты. Альфа Криппендорфа работает с любым числом кодировщиков, с пропущенными кодировками и с номинальными, порядковыми или интервальными кодами. Тематический анализ — это семейство методов выделения тем по всему набору данных, и методы этого семейства расходятся во взглядах на ICR.

Руководство Согласованность разметчиков: как её считать разбирает арифметику коэффициентов. Руководство по разработке кодбука разбирает написание кодов. Учебник Code Interview Transcripts With Two Coders and Report Alpha проводит полный проект в Potato от фрагментов до альфы, а страница Качественные исследования в Potato собирает возможности Potato для качественных исследований в одном месте.

Когда качественные исследования сообщают надёжность между кодировщиками

Специалисты по контент-анализу представляют ICR как требование самого метода, а O'Connor и Joffe (2020) применяют ICR и в тематическом анализе. Коэффициент уместен везде, где несколько кодировщиков делят материал между собой, потому что коэффициент показывает, что каждый кодировщик применяет кодбук одинаково, прежде чем кодировать в одиночку. Исследованию, которое подсчитывает, в скольких интервью встречается каждый код, ICR нужна по той же причине. Внутри команды кодировщики, которые считают коэффициент для каждого кода, видят, какие коды кодировщики понимают по-разному, и O'Connor и Joffe считают обсуждение этих кодов часто более ценным, чем итоговое значение. Рецензенты в некоторых областях просят сообщать ICR, а контрольный список отчётности COREQ требует указать число кодировщиков.

Когда метод возражает против коэффициента

Рефлексивный тематический анализ (ТА) считает субъективность исследователя ресурсом, а кодирование — интерпретативным актом. Braun и Clarke (2023) отвергают идею, что кодирование может быть точным, и называют консенсусное кодирование и измерение согласия между кодировщиками «концептуально несогласованными» (conceptually incoherent) добавками к рефлексивному исследованию. Braun и Clarke отделяют рефлексивный ТА от двух других видов тематического анализа. ТА надёжности кодирования использует независимых кодировщиков и коэффициент согласия, а подходы на основе кодбука, например фреймворк-анализ, заимствуют часть структурированных процедур ТА надёжности кодирования. Некоторые исследователи обоснованной теории тоже отвергают ICR, потому что обоснованная теория строит коды рекурсивно по ходу анализа. Отчёт о рефлексивном ТА вместо коэффициента описывает рефлексивность исследователя и его теоретические допущения.

O'Connor и Joffe отвечают на эпистемологическое возражение, понимая высокий коэффициент как свидетельство того, что исследователи с общей концептуальной рамкой приходят к согласованной интерпретации данных. Оба автора видят бо́льший риск в ложной точности, потому что высокое значение может придать слабому анализу вид строгого. Выберите одну позицию для исследования и изложите эту позицию в разделе о методах.

Какой коэффициент подходит к какому дизайну кодирования

Коэффициент вытекает из двух решений, принятых до начала кодирования. Первое решение касается единицы анализа: это либо фиксированные фрагменты, которые видит каждый кодировщик, либо сегменты, которые каждый кодировщик выделяет сам. Второе решение касается того, получает ли фрагмент один код или несколько.

Дизайн кодированияКоэффициент
Два кодировщика, один код на фрагментКаппа Коэна или номинальная альфа
Три или более кодировщика, каждый кодирует все фрагментыКаппа Флейса или номинальная альфа
Кодировщики на частично пересекающихся, но разных фрагментах, или пропущенные кодировкиАльфа Криппендорфа
Несколько кодов на фрагментАльфа или каппа для каждого кода, где на каждом фрагменте код отмечен как присутствующий или отсутствующий
Коды на упорядоченной шкале, например интенсивностьПорядковая альфа или взвешенная каппа
Каждый кодировщик сам выделяет границы сегментовАльфа для юнитизированных данных или предварительная фиксация сегментов

Несколько кодов на фрагмент — обычная ситуация при кодировании интервью. O'Connor и Joffe для каждого кодировщика отмечают каждый код как 1 или 0 на каждом фрагменте и считают коэффициент код за кодом. Значения по отдельным кодам показывают, какие определения требуют доработки, тогда как одно сводное значение позволяет надёжным кодам скрыть ненадёжные. Krippendorff (2004) приводит тот же довод для контент-анализа и принимает наименьшее значение среди переменных за надёжность всего целого.

Границы сегментов — более трудная проблема при кодировании интервью. Кодировщики, каждый из которых сам выбирает цитаты для кодирования, по-разному дробят и объединяют текст, а автоматическое сравнение может считать две цитаты, различающиеся одним знаком препинания, разными единицами. Вторая статья Krippendorff 2004 года расширяет альфу на единицы, которые кодировщики выделяют внутри непрерывного текста. Более простой путь — сначала зафиксировать сегменты. Первый кодировщик сегментирует и кодирует транскрипт, а второй кодировщик получает те же сегменты с удалёнными кодами. Тогда ICR измеряет применение кодов на фиксированных фрагментах и оставляет согласие по границам неизмеренным.

Общепринятые пороги и их происхождение

Krippendorff (2004) предлагает требовать α ≥ 0.800 и α ≥ 0.667 там, где предварительные выводы ещё допустимы. В той же статье сказано, что, кроме полного согласия, "there are no magical numbers" («магических чисел не существует»), допустимый уровень связан с ценой неверных выводов, а исследователям предлагается обращаться к доверительным интервалам. Для каппы O'Connor и Joffe резюмируют градации Landis и Koch (1977) так: от 0.41 до 0.60 — умеренное, от 0.61 до 0.80 — существенное, от 0.81 до 1 — почти полное. McHugh (2012) считает исходную интерпретацию Коэна слишком мягкой для исследований в области здоровья и называет каппу от 0.60 до 0.79 умеренной, а от 0.80 до 0.90 — сильной. O'Connor и Joffe также приводят стандарт Miles и Huberman для процентного согласия — 80% согласия на 95% кодов. O'Connor и Joffe советуют фиксировать порог до начала кодирования и ставить более высокую планку для результатов, на которых основываются медицинские, политические или финансовые решения.

Размер дважды закодированной выборки

O'Connor и Joffe называют типичной долю от 10 до 25% единиц данных, отобранных случайно или по заявленному правилу, например по одному кейсу из каждой страты. Перед формальной выборкой оба кодировщика неформально кодируют одно интервью и сравнивают кодировки, чтобы выявить неверно понятые определения. После пересмотра следующий раунд использует другое подмножество, а фрагменты, закодированные в раундах проверки надёжности, перекодируются по итоговому кодбуку. Кодировщику, который присоединяется позже, нужна отдельная проверка надёжности. Указывайте число фрагментов и кодировщиков рядом с каждым коэффициентом, потому что у коэффициента по маленькой выборке широкий интервал.

От расхождений к пересмотру кодбука

Кодировщики независимо кодируют выборку для проверки надёжности, а затем встречаются и разбирают каждое расхождение. Команда переписывает неясные определения, добавляет правила исключения и примеры и объединяет коды, которые кодировщики не могут различить. Затем кодировщики проверяют пересмотренный кодбук во втором независимом раунде на новых фрагментах. O'Connor и Joffe предупреждают, что повторные раунды с теми же кодировщиками могут привести к "interpretive convergence" («интерпретативному сближению») между этими кодировщиками, не делая кодбук понятнее для нового читателя. Сообщайте коэффициент, полученный при независимом кодировании, до того как кодировщики обсудят какие-либо расхождения. Итоговые закодированные данные затем получаются консенсусом, голосом третьего кодировщика или решением старшего исследователя, и раздел о методах называет это правило.

Раунд проверки надёжности в Potato

Конфигурация ниже настраивает раунд проверки надёжности на фрагментах интервью о доступе к поликлинике. Каждый фрагмент вне выборки достаётся одному кодировщику, а два кодировщика кодируют 20-процентную выборку, отобранную внутри каждого участника. Поскольку кодбук на время раунда зафиксирован, ни один кодировщик не может добавить код посреди раунда. Определение каждого кода показывается во всплывающей подсказке этого кода:

yaml
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: 2

Каждая строка data/excerpts.jsonl содержит id, text и participant_id. Код "No code applies" гарантирует, что у каждого фрагмента есть ответ. Экспорт надёжности в Potato отбрасывает фрагмент, на котором кодировщик не выбрал ни одного кода, и без этого кода расхождение между одной темой и отсутствием темы никогда не снизило бы альфу. Учебник для двух кодировщиков объясняет случайное распределение. Команда, которая построила кодбук в режиме QDA, может также оставить qda_mode включённым на время раунда вместе с codebook_mode: fixed. В режиме QDA Potato пропускает проверку, которая отклоняет search.annotator_claim вместе с перекрытием. Оставляйте annotator_claim выключенным, пока выборка кодируется.

Когда оба кодировщика закончат, экспортируйте таблицу надёжности и заморозьте раунд:

bash
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 по набору кодов каждого фрагмента, 95-процентный перцентильный бутстреп-интервал по фрагментам, процентное согласие по идентичным наборам, а также число фрагментов и кодировщиков. Снимок сохраняет под тегом конфигурацию раунда, данные, кодировки и альфу по каждому вопросу, как описано на странице Снимки проекта. Затем ведущий исследователь открывает /adjudicate, разрешает каждое расхождение и ставит отметку "Flag for guideline update" везде, где расхождение вызвало определение. Экспорт adjudication записывает эти отметки в adjudication_log.jsonl. Отмеченные фрагменты задают повестку пересмотра кодбука перед следующим раундом.

Два отчёта Potato о согласованности охватывают типы схем, которыми пользуется кодировщик в качественном исследовании, так:

СхемаЭкспорт reliabilityПанель /admin/iaa
radio, select (один код на фрагмент)Номинальная альфа, процентное согласиеПроцентное согласие, каппа Коэна, усреднённая по парам кодировщиков, каппа Флейса, номинальная альфа
multiselect, hierarchical_multiselect (несколько кодов)Альфа с расстоянием MASI, процентное согласиеСредний коэффициент Жаккара, альфа с расстоянием MASI
likertПорядковая альфаЛинейно и квадратично взвешенная каппа, ро Спирмена, порядковая альфа
span (выделенные отрывки)Альфа на уровне символов, объединённая по фрагментамКаппа на уровне токенов, точная и частичная F1 для спанов, альфа на уровне символов, гамма Mathet
textbox и заметкиНетНет

Панель оценивает фрагмент, как только каждый кодировщик, которому назначен этот фрагмент, закончил работу, а страница Дрейф согласованности показывает те же коэффициенты окно за окном во время основного кодирования. В Potato 2.13.1 остаются четыре пробела:

  • Нет альфы по каждому коду. Оба отчёта дают одно значение на вопрос, а в учебнике для двух кодировщиков есть скрипт, который вычисляет альфу для каждого кода по CSV-экспорту.
  • Нет альфы для юнитизации. Альфа на уровне символов для вопросов span считает каждый символ фиксированной единицей, а страница Согласованность для спанов объясняет разницу.
  • Нет других индексов. Potato не вычисляет пи Скотта, индекс Холсти, AC1 Гвета и каппу Бреннана и Предигера.
  • Нет оценки относительно порога. Экспорт сообщает значения без пометок, а панель помечает любое значение от 0.6 до 0.8 как "substantial". Этот диапазон начинается ниже порога Криппендорфа 0.667. Сравнивайте каждое значение с порогом, который исследование зафиксировало заранее.

Частые вопросы

Что использовать для надёжности между кодировщиками: альфу Криппендорфа или каппу Коэна?

Используйте альфу Криппендорфа, когда кодировщиков больше двух, когда кодировщики кодировали разные, но частично пересекающиеся фрагменты или когда коды упорядочены, и любой из двух коэффициентов, когда два кодировщика применяли неупорядоченные коды к одним и тем же фрагментам. На полных номинальных данных от двух кодировщиков оба значения обычно близки. Значения расходятся, когда кодировщики используют код с разной частотой, потому что каппа вычисляет случайное согласие по собственным частотам кодов каждого кодировщика, а альфа — по объединённым частотам.

Какое значение альфы Криппендорфа приемлемо для надёжности между кодировщиками?

Общепринятый стандарт — альфа 0.800 или выше, а 0.667 — наименьшее значение, которое Krippendorff (2004) допускает для предварительных выводов. Krippendorff связывает пороговое значение с ценой неверного вывода и ставит гораздо более высокие требования, когда от результата зависят человеческие жизни. Применяйте порог к каждому коду, а не к среднему по кодам, и указывайте бутстреп-интервал рядом с точечным значением.

Какая каппа Коэна достаточна для согласия между кодировщиками?

Каппа от 0.81 до 0.90 считается почти полной по градациям Landis и Koch (1977) и сильной по более строгой шкале McHugh (2012). Почти полной McHugh называет только каппу выше 0.90. Landis и Koch называют диапазон от 0.61 до 0.80 существенным, тогда как McHugh называет диапазон от 0.60 до 0.79 для исследований в области здоровья лишь умеренным. Зафиксируйте планку до начала кодирования и сообщайте каппу для каждого кода.

Нужно ли сообщать процентное согласие вместе с альфой Криппендорфа?

Да, как описательный показатель рядом с альфой, а утверждение о надёжности опирайте на альфу. Процентное согласие не учитывает случайность. Два кодировщика, которые редко применяют код, согласны на большинстве фрагментов, даже если кодировщики ни разу не сошлись в том, где этот код применим. Krippendorff (2004) отвергает процентное согласие как меру надёжности, а McHugh (2012) советует вычислять и процентное согласие, и каппу. Экспорт reliability в Potato записывает оба столбца для каждого вопроса.

Дополнительное чтение

Литература

  1. 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
  2. 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
  3. 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
  4. Landis, J. R., & Koch, G. G. (1977). The measurement of observer agreement for categorical data. Biometrics, 33(1). https://doi.org/10.2307/2529310
  5. McHugh, M. L. (2012). Interrater reliability: The kappa statistic. Biochemia Medica, 22(3), 276-282. https://doi.org/10.11613/BM.2012.031
  6. 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