Разбираемся · Создание онлайн-курсов

Поправка Бонферрони: как сравнивать несколько результатов курса

Школа проверяет новый формат занятий сразу по пяти показателям и находит три привлекательных различия. Разберём, зачем учитывать число проверок, как рассчитать поправку Бонферрони и почему даже значимый результат ещё не определяет решение о курсе.

В этом материале

Определите семейство проверяемых гипотез

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

Семейство нужно определить до просмотра результатов. Если сначала перебрать показатели, а затем оставить в отчёте только удачный, число видимых строк перестанет отражать число проведённых проверок. Поправка, рассчитанная по одной оставшейся строке, не решит проблему такого отбора.

Зафиксируйте для каждого показателя определение, окно наблюдения, правило обработки пропусков и статистический тест. Для доли завершивших работу и времени выполнения могут потребоваться разные методы. Здесь мы предполагаем, что исходные p-значения получены корректно; выбор тестов и достаточность выборки требуют отдельного обоснования. Основы организации сравнения описаны в материале про A/B-тест страницы курса.

Назначьте общий уровень ошибки

При нескольких проверках появляется несколько возможностей ошибочно объявить различие существующим. Для выбранного семейства задают допустимый уровень вероятности хотя бы одного ложного отклонения истинной нулевой гипотезы. В учебном примере обозначим этот уровень α и выберем 0,05. Это настройка процедуры, а не оценка вероятности, что конкретный вывод неверен.

Руководство NIST о методе Бонферрони объясняет общий принцип через ограничение суммарной вероятности ошибок. Для m корректных тестов можно сравнивать каждое исходное p-значение с α/m. Независимость всех показателей для этой границы не требуется, но корректность самих тестов остаётся необходимой.

У нас m = 5, поэтому порог равен 0,05/5 = 0,01. Выбор пяти проверок обусловлен протоколом условного эксперимента. Не подбирайте число m после расчёта так, чтобы любимый показатель прошёл границу.

Рассчитайте поправку на условных данных

Для демонстрации возьмём пять вымышленных p-значений. Они не получены из статистики Umhub или реальной школы. Их задача — показать арифметику и изменение решения при одном заранее выбранном правиле.

  • Итоговый балл: исходное p = 0,004; после поправки — 0,020.

  • Завершение задания: исходное p = 0,019; после поправки — 0,095.

  • Время выполнения: исходное p = 0,047; после поправки — 0,235.

  • Обращения к куратору: исходное p = 0,120; после поправки — 0,600.

  • Удовлетворённость: исходное p = 0,330; после поправки — 1,000.

Скорректированное значение вычисляется как минимум из 1 и произведения m × p. Например, для удовлетворённости произведение равно 1,65, поэтому записываем 1. Затем сравниваем скорректированные значения с общим уровнем 0,05. Эквивалентно можно сравнить исходные значения с 0,01: результат будет тем же.

Обе процедуры оставляют значимым только различие итогового балла. Без поправки при пороге 0,05 прошли бы первые три строки. Не применяйте оба способа одновременно: скорректированное p сравнивают с α, а исходное — с α/m.

Отделите статистический вывод от решения школы

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

Остальные четыре строки не доказывают равенство форматов. Возможно, данных недостаточно для обнаружения интересующего различия. Запишите, какое изменение было практически важно и могла ли запланированная выборка его обнаружить. Не превращайте отсутствие значимости в утверждение «новый формат ни на что не влияет».

Поправка также не исправляет несопоставимость групп, ошибки учёта или пропущенные результаты. Если форматы сравнивали на разных потоках с разным уровнем подготовки, изучите состав аудитории. Материал про парадокс Симпсона показывает отдельную проблему объединения таких данных.

Проверьте границы выбранного метода

Бонферрони прост для объяснения, но может быть консервативным. В документации R для p.adjust описаны умножение p на число сравнений и альтернативные процедуры. В частности, метод Холма также контролирует семейную вероятность ошибки и обычно предпочтительнее простой поправки Бонферрони по мощности. Выбор процедуры согласуйте до анализа с человеком, отвечающим за статистику.

Не переключайтесь между методами только ради значимого результата. Если анализ включает ежедневное подглядывание в накапливающиеся данные, множество подгрупп или незапланированные проверки, одной поправки на пять итоговых показателей недостаточно, чтобы описать все аналитические решения. Такие условия должны попасть в протокол отдельно.

Сохраните воспроизводимую карточку анализа

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

Для нашего набора допустим ограниченный итог: после выбранной поправки только первая гипотеза проходит порог; величины и направления эффектов здесь неизвестны. Решение о запуске нового формата пока не обосновано. Начните работу со своим курсом с перечня проверок и правил анализа: этот документ полезнее выбора поправки после появления удобных чисел.

Источники

  1. Руководство NIST о методе Бонферрони ↗
  2. документации R для p.adjust ↗
Создать аккаунт и собирать свою библиотеку →
От знаний — к своему курсу

Создайте свой курс в Umhub

Примените то, что узнали: соберите программу, добавьте материалы и пригласите учеников.

Создать курс