Проблема множественных сравнений: что это и как бороться?
Короткий ответ
Когда проверяешь много гипотез сразу, вероятность хотя бы одного ложного срабатывания растёт: при 20 независимых тестах с α=0.05 шанс словить ложную значимость ≈ 64%. Лечится поправками: Бонферрони (делим α на число тестов — строго), или контроль FDR по Бенджамини — Хохбергу (мягче, для многих метрик). Плюс дисциплина: заранее фиксировать одну главную метрику.
Вопрос для тех, кто дорос до реальных экспериментов. Проверяют, понимаешь ли ты, почему «мы прокрутили 15 метрик и одна выстрелила» — это чаще всего не открытие, а арифметика ложных тревог.
Как рассуждать
Оттолкнись от смысла α: каждый отдельный тест допускает 5% ложных срабатываний. Проверяешь один тест — риск 5%. Проверяешь двадцать — риски копятся. Дальше покажи арифметику накопления и назови два инструмента: жёсткий Бонферрони и мягкий контроль доли ложных открытий. Ключ — что бороться надо и методом, и дисциплиной планирования.
Эталонный ответ
Каждый тест на уровне α = 0.05 сам по себе даёт 5% шанс ошибки первого рода. Но если гипотез много, растёт вероятность, что хотя бы одна «выстрелит» случайно.
Арифметика. Для m независимых тестов, где эффекта нет, вероятность не получить ни одной ложной значимости равна 0.95^m. При m = 20 это 0.95²⁰ ≈ 0.36, значит вероятность хотя бы одной ложной находки ≈ 1 − 0.36 = 64%. То есть на два десятка метрик почти гарантированно найдётся «значимая» пустышка.
Где это ловит аналитика:
- Много метрик в одном A/B-тесте (конверсия, чек, retention, клики...).
- Много сегментов («а давай посмотрим отдельно по iOS, по Android, по регионам»).
- Несколько вариантов в A/B/C/n-тесте.
Как бороться:
- Поправка Бонферрони. Порог для каждого теста делим на число тестов: при 20 сравнениях требуем p < 0.05/20 = 0.0025. Просто и строго, но при большом m душит мощность — реальные эффекты начинают теряться.
- Контроль FDR (Бенджамини — Хохберг). Контролирует ожидаемую долю ложных среди отвергнутых гипотез, а не сам факт хоть одной ошибки. Мягче Бонферрони, разумный выбор, когда метрик много и часть эффектов реальна.
- Дисциплина дизайна. Заранее объявить одну основную метрику и основную гипотезу, остальное — как exploratory, требующее подтверждения в новом тесте. Это часто важнее самих поправок: разведочная находка на 15 метриках — это гипотеза, а не вывод, и её место — в следующем, подтверждающем эксперименте.
Коротко про разницу подходов: Бонферрони контролирует вероятность хотя бы одной ошибки среди всех тестов (FWER) — это жёстко и уместно, когда цена любой ложной находки высока. FDR контролирует ожидаемую долю ложных срабатываний среди отвергнутых — это про «пусть часть из отобранного окажется мусором, лишь бы доля была под контролем», что разумно при скрининге десятков метрик.
Частые ошибки
- Крутить метрики и сегменты, пока что-нибудь не станет значимым (p-hacking), и подавать это как результат.
- Игнорировать поправку в A/B/C-тестах: сравнение нескольких вариантов с контролем — это уже множественные сравнения.
- Применять Бонферрони на сотнях тестов и удивляться нулевой мощности — тут уместнее FDR.
- Думать, что поправки «чинят» подглядывание во времени (peeking): это отдельная проблема, там нужны последовательные методы, а не Бонферрони. И помни: даже правильный p-value без размера эффекта решение не принимает.
Потренируй этот вопрос с ИИ-интервьюером
Читать разбор полезно, а отвечать вслух под давлением — совсем другое. ИИ-интервьюер задаст этот и смежные вопросы, будет копать глубже и разберёт твои ответы. Первое короткое интервью — бесплатно.
Пройти собеседование бесплатно