На этой странице
Воспроизводимость и согласие — методические заметки
Решения, на которых построен модуль воспроизводимости и согласия: какой метод даёт каждый коэффициент, как строится его интервал, откуда взяты шкалы интерпретации, что меняет заданная схема измерений и в чём модуль отказывает, а также подтверждающие всё это числа. Все числа получены на наборе-примере (cafe.ru.csv, спецификация лежит рядом). Разделы следуют разделам руководства.
Структура данных
Повторная пара испытуемого и условия отклоняется, а не разворачивается. tidyr::pivot_wider() превращает повторяющуюся ячейку в столбец-список, который psych::ICC() принимает без ошибки и выдаёт ICC = 0, так что после неудачного слияния таблиц на экране оказалось бы правдоподобное число. Модуль сам считает повторы (в сводке структуры данных и ещё раз при запуске расчёта) и, пока они есть, отказывает всем метрикам, которым нужна широкая матрица. Метод Блэнда — Альтмана допускается только при явно указанной схеме, которая даёт длинной таблице собственный путь расчёта (см. «Повторные измерения» ниже). Строки без испытуемого или условия отбрасываются на стороне R ещё до разворота. Иначе пропущенное условие превратилось бы в отдельный столбец эксперта NA и считалось бы условием, а это незаметно меняет вариант каппы и доступность корреляций. Строка без сеанса не входит ни в одну пару и отбрасывается так же.
Метрики воспроизводимости
Вариант каппы зависит от числа экспертов и типа оценки. При двух условиях выполняется irr::kappa2() — с weight = "squared" для порядковой оценки и без весов для остальных. При трёх и более условиях для порядковой оценки вычисляется κ Лайта (Light, 1971), то есть kappa2(weight = "squared") по каждой паре условий с последующим усреднением, а для категориальной — irr::kappam.fleiss() по Флейссу (Fleiss, 1971). Квадратичные веса выбраны потому, что при них взвешенная каппа приближается к внутриклассовой корреляции на тех же оценках, как показал Коэн (Cohen, 1968), и порядковую каппу можно сопоставлять с ICC. Расширение Флейсса берёт вероятность случайного согласия из объединённых частот категорий, что подходит для схемы, где эксперты меняются от испытуемого к испытуемому, но взвешенной формы у него нет, поэтому для упорядоченных категорий используется κ Лайта. Для κ Коэна и Флейсса p-значения дают асимптотические критерии из пакетов, а распределение κ Лайта неизвестно, поэтому p-значения у неё нет.
α Криппендорфа: оценка вычисляется irr::kripp.alpha(), бутстрэп — встроенной процедурой по матрице совпадений. Функцию расстояния задаёт тип оценки: nominal для категориальной, ordinal для порядковой, interval для непрерывной, поскольку именно тип определяет, как понимать расстояние между двумя оценками. Бутстрэп пересчитывает α на каждой бутстрэп-выборке, и накладные расходы каждого вызова kripp.alpha() заняли бы большую часть цикла, поэтому повторы считает собственная процедура модуля. Она вычисляет α как единицу минус отношение наблюдаемого расхождения к ожидаемому по матрице совпадений, как у Криппендорфа (Krippendorff, 2004), с номинальной, интервальной и порядковой метриками. Порядковая метрика (квадрат числа оценок в категориях между двумя оценками) применяется и к наблюдаемому, и к ожидаемому расхождению, потому что взвешивание одного лишь ожидаемого исказило бы коэффициент. Испытуемый, оценённый меньше чем в двух условиях, не даёт ни одной пары и выпадает, поэтому N для α — число испытуемых хотя бы с двумя оценками.
Проверка. На паре чек_до и чек_после из кафе встроенная процедура и kripp.alpha(method = "interval") дают одно и то же значение 0.6545.
При двух условиях W Кендалла не выводится. irr::kendall() ранжирует входные данные, и для двух экспертов коэффициент конкордации в точности равен для корреляции Спирмена двух столбцов. По сути это та же корреляция Спирмена в другой шкале и с другим p, поэтому на стороне R W не вычисляется, а примечание под таблицами объясняет почему. Начиная с трёх условий расчёт идёт с correct = TRUE (поправкой на связанные ранги), а p — хи-квадрат-приближение из пакета, по Кендаллу и Бабингтону Смиту (Kendall & Babington Smith, 1939). Уровни берутся по шкале Шмидта (Schmidt, 1997), единственной опубликованной таблице ориентиров для самого W: 0.1 — очень слабая, 0.3 — слабая, 0.5 — умеренная, 0.7 — сильная, 0.9 — необычно сильная согласованность. Каждое число — нижняя граница своего уровня, так что нижний уровень доходит до 0.3. По шкале ICC, рядом с которой W часто приводят в литературе о межэкспертном согласии, значение W = 0.72 попало бы в уровень «умеренная», а по Шмидту это «сильная». Модуль сравнения, приводящий W рядом с критерием Фридмана, оценивает его той же функцией шкалы, так что один и тот же W получает одно и то же заключение в любом модуле.
Проверка. На паре чек_до и чек_после из кафе ρ Спирмена равна 0.679, а kendall() на этих двух столбцах возвращает W = 0.839 = (1 + 0.679) ⁄ 2.
Интервал для ρ Спирмена строится через z-преобразование Фишера со стандартной ошибкой Бонетта — Райта. cor.test(method = "spearman") интервала не даёт, поэтому модуль строит его сам: ρ ограничивается значением ±0.9999, преобразуется по Фишеру и получает стандартную ошибку по Бонетту и Райту (Bonett & Wright, 2000), поскольку пирсоновская даёт для ранговой корреляции интервал примерно на 10% уже нужного. Затем границы преобразуются обратно. Для r Пирсона сохраняются интервал и p из cor.test(). Обе корреляции оцениваются по шкале силы корреляции с порогами 0.10, 0.30 и 0.50 и распространённым расширением 0.70 для очень сильной связи, а не по шкале согласия, потому что корреляция измеряет согласованность, а не согласие. Уровень определяется по значению со знаком, так что отрицательный коэффициент попадает в нижний уровень.
SEM зависит от выбранной модели ICC: абсолютного согласия или согласованности. По Вейру (Weir, 2005) и де Вету и др. (de Vet et al., 2006), SEM рядом с ICC абсолютного согласия включает систематические различия между экспертами, а рядом с ICC согласованности исключает их. Модуль строит дисперсионный анализ, которого требует выбранная модель, — aov(score ~ subj) для однофакторной и aov(score ~ subj + rater) для двухфакторных — и берёт для однофакторной и двухфакторной смешанной модели. Двухфакторная случайная модель добавляет компонент дисперсии экспертов, , но не ниже остаточной оценки. SDC равно , где — квантиль заданного уровня доверия: у каждого из двух измерений ошибка SEM, поэтому у их разности она в раз больше. SDC зависит от уровня доверия, и поэтому уровень указан в заголовке столбца. Интервал SDC — бутстрэп-интервал SEM, умноженный на тот же множитель, а не результат отдельного бутстрэпа, поскольку это одна и та же оценка.
Проверка. На паре чек_до и чек_после из кафе SEM равна 2.16 при двухфакторной случайной модели и 2.02 при двухфакторной смешанной: случайная модель добавляет компонент дисперсии для сдвига на 1.09 единицы между двумя периодами, который смешанная модель не учитывает. SDC при 95% равно 5.98 против 5.60.
Все коэффициенты, кроме ICC и двух корреляций, получают интервал процентильного бутстрэпа по испытуемым. Асимптотическая стандартная ошибка каппы по Флейссу, Коэну и Эвериту (Fleiss, Cohen & Everitt, 1969) не работает при крайних маргинальных частотах, у κ Лайта и α Криппендорфа интервала в замкнутой форме нет вовсе, а ни один аналитический интервал для SEM и индексов обнаружения сигнала не ведёт себя надёжно во всём диапазоне входных данных. Поэтому все они используют один цикл: испытуемые выбираются с возвращением столько раз, сколько задано в настройке Повторы бутстрэпа, при зерне бутстрэпа, на каждой бутстрэп-выборке вычисляются все выбранные коэффициенты, а интервал дают обычные процентильные квантили, как у Эфрона (Efron, 1979, 1981). Интервал не выводится, если значение дали меньше половины повторов: бутстрэп-выборка, попавшая на постоянный столбец или пустую ячейку, даёт NA, и квантили по оставшемуся меньшинству дали бы интервал для оценки, которую в большинстве бутстрэп-выборок вычислить не удалось. ICC, r Пирсона и ρ Спирмена сохраняют аналитические интервалы, которым цикл не нужен.
Параметры ICC
Шесть коэффициентов — это строки psych::ICC(), по умолчанию ICC(2,1). Модель и форма выбирают строку (ICC1, ICC2 и ICC3 для единичных измерений, ICC1k, ICC2k и ICC3k для усреднённых), интервал строится при alpha = 1 − confidence level, а p берётся из F-критерия этой строки. Двухфакторная случайная модель с единичными измерениями выбрана по умолчанию, потому что отвечает на обычный вопрос о межэкспертном согласии в постановке Ку и Ли (Koo & Li, 2016): все испытуемые оценены одними и теми же экспертами, эти эксперты представляют тех, на кого должен распространяться вывод исследования, а на практике будет использоваться оценка одного эксперта. Шесть строк соответствуют случаям Шраута и Флейсса (Shrout & Fleiss, 1979), где абсолютное согласие связано с моделями случайных эффектов, а согласованность — со смешанной, поэтому выбор между согласием и согласованностью не вынесен в отдельный параметр. Более полная классификация Мак-Гроу и Вонга (McGraw & Wong, 1996) удвоила бы число вариантов ради различия, которое и так задаёт модель.
Чтение результатов воспроизводимости
Каждый коэффициент оценивается по шкале, принятой в литературе о нём, и в строке оценивается только один коэффициент. ICC — по шкале Ку и Ли (Koo & Li, 2016) с порогами 0.50 ⁄ 0.75 ⁄ 0.90, каппа — по шести уровням Лэндиса и Коха (Landis & Koch, 1977), W Кендалла — по шкале Шмидта (Schmidt, 1997) 0.3 ⁄ 0.5 ⁄ 0.7 ⁄ 0.9, α Криппендорфа — по порогам самого Криппендорфа (Krippendorff, 2004), 0.667 и 0.800, корреляции — по шкале силы корреляции. По шкале ICC значение α = 0.70 считалось бы умеренным, хотя Криппендорф допускает при нём лишь предварительные выводы, а применить эту шкалу к r значило бы оценивать коэффициент согласованности как коэффициент согласия. В одной строке стоят несколько коэффициентов одного и того же согласия, поэтому заключение выносится по одному из них — первому из имеющихся в порядке ICC, κ, W, α, r и ρ, так что коэффициенты согласия идут раньше коэффициентов согласованности. В ячейке указано, какой коэффициент оценён: в строке с κ и α заключение относится к каппе, а α сверяют с её собственной шкалой по таблице в руководстве. Столбец p выводится, только если у метрики хотя бы в одной строке есть конечное p (у κ Лайта, SEM, SDC и α его не бывает), чтобы не выводить столбец из одних прочерков.
Согласие по Блэнду — Альтману
Интервалы границ согласия строятся по дисперсии Блэнда и Альтмана (Bland & Altman, 1999) с квантилем t. Граница составлена из двух оценок, и её дисперсия равна , где . В схеме с одним измерением это выражение 1999 года , поэтому у каждой границы свой интервал на квантиле t при степенях свободы разностей, а у смещения — свой, по . Степени свободы входят в выражение отдельным членом, а не как , чтобы кластерная схема (см. «Повторные измерения» ниже) могла подставить свои. Минимум — три пары: при меньшем числе оценки возвращаются пустыми вместе с числом пар.
Проверка. На паре чек_до и чек_после из кафе (199 полных пар, смещение −1.09, стандартное отклонение разностей 2.86) границы равны −6.69 и 4.51, а интервал нижней границы — [−7.37, −6.00].
Смещение не проверяется на равенство нулю. Блэнд и Альтман (Bland & Altman, 1986) исходят из того, что в сравнении методов вопрос в другом: достаточно ли мало расхождение, чтобы с ним мириться, а это суждение о ширине границ в единицах измерения. Критерий для смещения проверяет лишь, отличима ли средняя разность от нуля, а на большой выборке это верно для любого пустякового сдвига и на малой неверно для серьёзного. Поэтому карточка выводит смещение с интервалом и без p, и по той же причине наклон пропорционального смещения представлен интервалом, а не критерием.
Регрессия пропорционального смещения выполняется всегда. Описывает ли данные одна постоянная пара границ, нужно проверять всегда, а не по отдельному запросу, поэтому в каждом сравнении разности регрессируются на средние пар (lm(d ~ m), начиная с трёх пар), а наклон выводится с интервалом confint(), при схеме с сеансами — кластерно-робастным. Подогнанная линия наносится на график, а если интервал не включает ноль, под таблицей появляется предупреждение, как рекомендуют Блэнд и Альтман (Bland & Altman, 1999).
При смешанной модели SDC совпадает с полушириной границ согласия. При двух условиях остаточный средний квадрат двухфакторного дисперсионного анализа ровно вдвое меньше дисперсии парных разностей, поэтому , и SDC на заданном уровне равно , то есть полуширине границ согласия на том же уровне. Обе модели абсолютного согласия добавляют к SEM компонент различий между условиями, поэтому их SDC больше: они включают систематическую разность в интервал, тогда как метод Блэнда — Альтмана выносит её отдельно в смещение.
Проверка. На паре чек_до и чек_после из кафе границы равны −6.69 и 4.51, то есть полуширина составляет 5.60. SDC при 95% равно 5.60 при двухфакторной смешанной модели и 5.98 при двухфакторной случайной.
При числе условий больше двух выводится каждая пара, а графики строятся при первом открытии. Смещение и границы определены для пары и на k условий не обобщаются, поэтому для каждой переменной перебираются все k(k−1)/2 сравнений, каждое со своей парой и направлением вычитания, вместо того чтобы брать одну произвольную пару или не брать ни одной. Графики переменной сворачиваются в элемент <details> и строятся при первом его открытии: у графика, построенного внутри закрытого <details>, нет разметки, поэтому подгонка viewBox в каркасе графика опрашивает блок нулевого размера до исчерпания попыток и выводит обрезанный график. Кроме того, отложенное построение убирает по k(k−1)/2 графиков на переменную из первой отрисовки.
Анализ в логарифмической шкале
Логарифмирование применяется к самим измерениям, поэтому в повторной схеме усредняются логарифмы, а не логарифмируется среднее. Логарифмирование обоих измерений превращает разброс, растущий с величиной, в постоянный, а разность — в логарифм отношения, как предлагают Блэнд и Альтман (Bland & Altman, 1999), и дальше весь расчёт идёт в логарифмических единицах. Средние по ячейкам в повторной схеме — это средние логарифмов, смещение и границы для таблицы потенцируются (среднее геометрическое отношение и границы отношения, каждый интервал вместе со своей оценкой), а наклон как коэффициент регрессии разности логарифмов на среднее логарифмов безразмерен и выводится без изменений. График остаётся в логарифмических единицах, чтобы его линии и оси были согласованы, а примечание оговаривает это расхождение, чтобы таблицу и график не приняли за противоречащие друг другу. У неположительного измерения нет логарифма, и оно становится пропуском до начала расчёта. Такие случаи подсчитываются в парах, тех же единицах, в которых указан N в таблице, так что n никогда не уменьшается незаметно.
Повторные измерения
Схему нужно указать, потому что по данным её не определить. Блэнд и Альтман (Bland & Altman, 2007) предлагают две оценки для повторных измерений, и дублирующиеся строки при обеих выглядят одинаково. Составляют ли два измерения, сделанные за один сеанс, пару или просто повторяют друг друга, определяет протокол измерений, поэтому модуль не угадывает схему, а требует её указать и до тех пор отклоняет метод Блэнда — Альтмана на повторных строках. Цена ошибки здесь велика: если свести к среднему сопоставленные повторы, реальное изменение истинного значения между сеансами попадёт в шум повторных измерений, а если составить пары из несвязанных повторов, появится несуществующий порядок. Если повторы объявлены неупорядоченным набором, ячейки сводятся к средним, а дисперсия повторных измерений каждого условия объединяется как остаточный средний квадрат дисперсионного анализа повторов по испытуемым, который остаётся несмещённым при разном числе повторов. На этом Границы для среднего повторных измерений останавливаются, а Границы для одного измерения добавляют дисперсию повторных измерений каждого условия обратно к дисперсии разностей средних по ячейкам за вычетом выборочного шума, который эти средние уже содержат. Это точно при разном числе повторов и совпадает с опубликованной формой , когда у каждого испытуемого одно и то же m. Компонент между испытуемыми ограничен снизу нулём, поскольку там, где испытуемые почти не различаются, шум средних может превысить наблюдаемую между ними дисперсию.
Схема с сеансами меняет интервалы, а не оценки. Указанный сеанс сопоставляет повтор j одного условия с повтором j другого и позволяет истинному значению меняться от сеанса к сеансу (вторая схема из статьи 2007 года), поэтому испытуемый даёт несколько разностей, и они не независимы. Смещение и границы — обычное среднее и по всем парам. Меняется другое: откуда берётся дисперсия одной разности и сколько весит каждая оценка. Эту дисперсию дают компоненты однофакторной модели случайных эффектов для разностей по испытуемым: их сумма — та дисперсия, которую описывают границы, и именно её перестаёт оценивать наблюдаемая дисперсия, когда испытуемые дают по нескольку разностей. Дисперсия среднего точна при неравных размерах кластеров, а приближение Саттертуэйта даёт сумме степени свободы, по которым строится интервал границ. Если компонент между испытуемыми ограничен нулём, сумма сводится к компоненту повторных измерений с его собственными степенями свободы. Интервал наклона — кластерно-робастная сэндвич-оценка CR1 по испытуемым со степенями свободы по их числу, по Ляну и Зегеру (Liang & Zeger, 1986), поскольку в разностях одного испытуемого есть общая для них составляющая расхождения и обычный интервал регрессии слишком узок. Испытуемый ровно с одним сеансом не образует кластера, поэтому данные, где у каждого испытуемого один сеанс, дают те же числа, что и расчёт без сеанса: сама по себе пометка ничего не меняет. В ячейке испытуемого и сеанса с двумя измерениями одного условия нет порядка для сопоставления, поэтому она усредняется и учитывается в предупреждении. Пары и Испытуемые выводятся в таблице рядом, потому что только здесь это разные числа.
Теория обнаружения сигнала
Сигналом считается большее из двух значений переменной, а истинное состояние задаётся именем уровня. Обе роли принимают одни и те же два значения, поэтому, какое из них означает «сигнал есть», решается один раз для обеих: берётся большее — 1, а не 0, из текстовых значений последнее по алфавиту. Для обычных кодировок это верно и не требует отдельного параметра: если поменять метки в обеих ролях, d′ и A′ не изменятся, а у индексов смещения лишь сменится знак, и карточка называет уровень, чтобы знак можно было истолковать. Перестановка истины и ответа, напротив, транспонирует таблицу и меняет все доли, поэтому этот выбор оставлен пользователю. В R он передаётся как имя уровня, а не номер столбца, потому что pivot_wider() упорядочивает столбцы по первому появлению, а этот порядок пользователь не выбирал. Переменная, где различных значений не два, или расчёт, где условий не два, пропускаются, и карточка сообщает, какое требование не выполнено.
d′, c и β вычисляются по скорректированным долям, A′ и B″ — по наблюдаемым. Если и — доли попаданий и ложных тревог, то по Грину и Светсу (Green & Swets, 1966) , и : расстояние между распределениями признака, смещение критерия от их середины (оба в единицах SD) и отношение правдоподобия в точке критерия. При доле ровно 0 или 1 уходит в бесконечность, и на этот случай предусмотрен параметр Крайние доли. Лог-линейное правило Хаутуса (Hautus, 1995) прибавляет 0.5 к каждой частоте и 1 к каждому итогу независимо от того, крайняя ли доля, и выбрано по умолчанию, потому что поправка одних лишь крайних долей смещает d′ сильнее, чем небольшое сжатие всех долей. Правило сдвигает только долю, достигшую края, где N — число испытаний с той же стороны истинного состояния, а Нет оставляет три индекса пустыми. A′ Поллака и Нормана (Pollack & Norman, 1964) в вычислительной форме Грира (Grier, 1971) и B″ Дональдсона (Donaldson, 1992) — непараметрические аналоги, определённые и в крайних точках, поэтому они вычисляются по наблюдаемым долям при любой поправке, как и сводка ответов, которая показывает наблюдаемое. Знак B″ меняется при , чтобы консервативному наблюдателю соответствовало положительное значение и после того, как доля попаданий опустилась ниже доли ложных тревог. При нулевом знаменателе индекс не определён: обе доли равны 0 или 1, то есть все ответы верны, все неверны или все одинаковы.
Проверка. На данных кафе, где рекомендует сопоставлено с правилом владельца оценка ≥ 8 (87 попаданий, 44 пропуска, 6 ложных тревог и 56 правильных отвержений), лог-линейные доли 87.5 ⁄ 132 и 6.5 ⁄ 63 дают d′ = 1.68, c = 0.42 и β = 2.03, а наблюдаемые доли 0.664 и 0.097 дают A′ = 0.87 и B″ = 0.44. Ручной расчёт и карточка совпадают.
Пропущенные данные
Каждый метод по-своему отбрасывает пропущенные оценки, поэтому N в таблице относится к конкретной метрике. Пропуск в матрице оценок (испытуемый без строки в одном из условий или оценка, оставленная пустой при попарном удалении) доходит до каждого расчёта, и методы поступают с ним по-разному. irr::kappa2(), kappam.fleiss() и kendall() применяют к входным данным na.omit(), а cor.test() оставляет полные пары, поэтому все они работают с испытуемыми, оценёнными во всех условиях. kripp.alpha() использует каждую пару оценок испытуемого, так что испытуемый с одной оценкой ничего не даёт, а с двумя оценками из трёх по-прежнему учитывается. psych::ICC() оценивает компоненты дисперсии через lme4::lmer() на длинной таблице, а aov() для SEM работает с имеющимися оценками, поэтому оба используют все оценки и учитывают каждого испытуемого хотя бы с одной оценкой. Метод Блэнда — Альтмана и сводка ответов обнаружения сигнала используют полные пары двух сравниваемых условий. Если бы модуль сам удалял пропуски построчно по всем выбранным метрикам, он отбрасывал бы оценки, которые ICC и α могут использовать, а для случая, когда нужна одна выборка, есть построчное удаление в настройках. Поэтому каждая метрика сообщает своё число, и таблицы используют один столбец N, только пока все метрики во всех строках совпадают, а при первом расхождении разделяются на столбец для каждой метрики: общий заголовок, верный для большинства ячеек, дал бы неверное число в остальных.
Воспроизводимость в R
Список литературы соответствует тому, что было выполнено, а не всем возможностям модуля. Каждую ссылку добавляет ветвь кода, которая дала результат: tidyr — всегда; irr — когда он понадобился для каппы, α Криппендорфа или действительно рассчитанного W Кендалла (при двух условиях W не выводится, поэтому ни он, ни пакет не цитируются ради столбца, которого нет ни на одной карточке); psych вместе с lme4 и статьёй о нём — когда ICC вычислен на непрерывной оценке. Для каппы цитируется тот вариант, который был рассчитан: каппа Коэна — при двух условиях или любой порядковой оценке (κ Лайта — среднее κ Коэна, и ссылки даются на обе), каппы Лайта и Флейсса — начиная с трёх условий для порядковых и категориальных оценок. Корреляции цитируются только при двух условиях, а SEM, метод Блэнда — Альтмана и α Криппендорфа — только если была оценка подходящего для них типа. Статья Блэнда и Альтмана 2007 года цитируется по выполненной схеме, то есть при границах для одного измерения и при сопоставлении по сеансам, поскольку только они используют её компоненты дисперсии, а усреднение повторов выполняет обычный расчёт на средних по ячейкам и ссылки не добавляет. Ссылка на кластерно-робастную оценку добавляется только при схеме с сеансами, единственной, где есть кластеры. Цепочка обнаружения сигнала (Грин и Светс, A′, B″) цитируется, когда хотя бы одна переменная подошла, лог-линейная поправка — когда она выбрана, а правило отдельной ссылки не даёт, поскольку Мак-Миллан и Крилман уже входят в цепочку. Процентильный бутстрэп цитируется, если какой-либо интервал строился бутстрэпом. Поэтому список можно вставить в статью как литературу именно этого расчёта, и ничего лишнего в нём не будет.