Множественные сравнения: вопросы для собеседования (часть 4)
Чем больше гипотез проверяешь, тем выше вероятность ложного открытия. Поправка Бонферрони, Benjamini-Hochberg, FWER vs FDR — методы контроля этой проблемы. На собеседовании спрашивают, почему нельзя просто проверить 20 сегментов и доложить о «статистически значимых» различиях без коррекции.
Вопросы 16–20 из 20
16Вы заранее определили одну основную метрику успеха, но после эксперимента дополнительно посмотрели ещё 10 метрик. Как корректнее всего оформить принятие решения?
AПринимать решение по заранее заданной основной метрике, а остальные явно пометить как вторичные и при необходимости применять поправки на множественность
BВыбрать метрику с минимальным `p-value` из всех 11 и назвать её основной задним числом
CСчитать эксперимент успешным, если хотя бы одна из 11 метрик значима на 0.05 без коррекции
DИгнорировать основную метрику и принимать решение по вторичным, потому что их больше
Ответ: Заранее заданная основная метрика снижает риск ошибок из-за `multiple comparisons`.
Если вы заранее фиксируете основную метрику, вы ограничиваете пространство решений и уменьшаете шанс случайной 'победы'. Вторичные метрики можно анализировать, но важно явно обозначать их статус и правила интерпретации, включая возможные поправки (`Bonferroni`, `Holm` или `FDR`). Типичная ошибка — делать выбор метрики после просмотра результатов и выдавать это за заранее запланированное решение.
17После эксперимента вы посмотрели 20 сегментов и выбрали один с `p-value=0.03`, чтобы сказать, что фича работает в этом сегменте. Что корректнее сделать?
AСмело заявить эффект: раз `p-value < 0.05`, то сегмент подтверждён
BНе смотреть сегменты вообще, потому что это всегда запрещено
CСчитать сегменты автоматически значимыми, если общий эффект незначим
DПризнать `multiple comparisons`: применить поправку или обозначить сегментный результат как исследовательский и подтвердить отдельным тестом
Ответ: Выбор 'лучшего' сегмента после просмотра многих — классический риск из-за `multiple comparisons`.
Если вы просмотрели 20 сегментов и выбрали один по минимальному `p-value`, шанс случайной находки сильно выше, чем для одного заранее заданного сегмента. Корректный подход — заранее фиксировать ключевые сегменты или применять поправку на множественность, например контроль `FWER` или `FDR`. Частая практика — трактовать такие результаты как гипотезогенерацию и подтверждать на новом запуске, чтобы избежать переобучения на шуме.
18В наборе из 8 проверок одна метрика имеет сырой `p-value=0.03`, но после коррекции `Holm` её скорректированный `p-value=0.12`. Как корректнее сформулировать вывод?
AСчитать результат значимым, потому что 0.03 меньше 0.05
BСчитать результат значимым, потому что `Holm` всегда повышает мощность
CНе заявлять значимость при контроле `FWER` с `Holm`; можно упомянуть как сигнал, но честно указать, что после коррекции незначимо
DЗаменить метод на `Benjamini–Hochberg` после просмотра результата и объявить значимость
Ответ: Если вы контролируете `FWER` с `Holm`, решение принимают по скорректированным `p-value`.
Сырой `p-value` не учитывает, что вы делали несколько проверок, а `Holm` как раз корректирует это для контроля `FWER`. Если скорректированный `p-value` больше порога, то с точки зрения заранее выбранного правила значимость не подтверждена. Типичная ошибка — показывать только сырой `p-value` и умалчивать про множественность, что делает репортинг некорректным.
19Вы применяете процедуру `Benjamini–Hochberg` для контроля `FDR` на уровне 0.05 к 5 проверкам с отсортированными `p-value`: 0.004, 0.012, 0.018, 0.07, 0.2. Сколько гипотез будет отклонено?
Ответ: В `Benjamini–Hochberg` ищут максимальный индекс `i`, где `p_i <= (i/m)*q`.
Здесь пороги равны 0.01, 0.02, 0.03, 0.04, 0.05 для `m=5` и `q=0.05`. Первые три `p-value` проходят свои пороги, а четвёртый (0.07) не проходит 0.04. Поэтому отклоняются первые три гипотезы. Типичная ошибка — отклонять только те, что меньше 0.05, не учитывая правило `Benjamini–Hochberg`.
20В эксперименте у вас 1 основная метрика и 3 `guardrail`-метрики, а также 10 сегментных разрезов. Какой подход к принятию решения наиболее корректен с точки зрения множественных проверок?
AОбъявлять успех, если любая из метрик где-то значима при `p-value < 0.05`
BВыбирать сегмент с лучшим `p-value` и считать его основной популяцией задним числом
CЗаранее описать `decision policy`: основной эффект проверяем отдельно, `guardrail` используем как ограничения, сегменты помечаем как исследовательские или корректируем их как `multiple comparisons`, и всё это явно отражаем в отчёте
DПрименить `Bonferroni` только к тем метрикам, которые оказались незначимыми, чтобы 'подтянуть' результат
Ответ: Нужна заранее заданная `decision policy`: что первично, что ограничения, и как трактуются сегменты при `multiple comparisons`.
Когда метрик и разрезов много, без явного правила легко случайно найти 'победу' и нарушить корректность вывода. Хорошая практика — заранее зафиксировать, по чему принимается решение, как обрабатываются `guardrail`, и является ли сегментный анализ подтверждающим или исследовательским. Если сегменты используются для отбора, это `multiple comparisons`, и нужно либо корректировать, либо подтверждать в отдельном запуске. Типичная ошибка — смешать все проверки в одно правило 'значимо где угодно'.
Хотите тренировать интерактивно?
В приложении — таймер, прогресс, стрики и 1700+ вопросов по всем темам.
Тренировать в Telegram