сеньорчикОткрыть в Telegram
← вся теориятеория к собесу · Статистика

Проверка гипотез и p-value

Зачем это спрашивают

Проверка гипотез - сердце DS-скрининга: на ней стоят все A/B-тесты. И есть один вопрос, который валит чаще всех остальных вместе взятых: «что такое p-value». Спрашивают его не из вредности. По ответу видно, можно ли доверить тебе эксперимент, от которого зависит запуск фичи.

Типовые формулировки: «что такое p-value?», «получили p = 0.06, что дальше?», «почему нельзя остановить тест, как только прокрасилось?».

// Формул тут почти не просят, просят интерпретацию. На ней и сыпятся: определение выучить легко, а понять трудно.

Схема теста и то самое p-value

Начнём с картинки, она тут работает лучше формулы. Представь суд. Есть презумпция невиновности - по умолчанию считаем, что подсудимый чист; в статистике это нулевая гипотеза H0, «эффекта нет». Есть улики - твои данные. И судья задаёт ровно один вопрос: насколько такие улики удивительны для невиновного?

Ответ на этот вопрос и есть p-value: вероятность получить такие данные или ещё более крайние, если H0 верна. Обрати внимание, куда направлен вопрос. p-value не говорит, с какой вероятностью подсудимый невиновен. И не говорит, с какой вероятностью ты сейчас ошибаешься. Оно меряет одно - удивительность улик в мире, где эффекта нет.

Сама схема при этом не меняется никогда: формулируешь H0 и альтернативу H1, считаешь по данным одно число - статистику теста, получаешь p-value, сравниваешь с порогом α, выбранным до эксперимента.

// Порог заранее - не бюрократия. Выбрать α, уже увидев результат, значит подогнать правила под то, что выпало.

статистика теста
одно число по выборке: например, насколько разошлись средние двух групп, измеренное в единицах их разброса
α
как часто ты согласен объявлять эффект там, где его нет; выбирается до эксперимента

Ошибиться можно двумя способами

Ошибка первого рода - объявил эффект там, где его нет. Ложный прокрас. Как часто это будет случаться, решаешь ты сам, и это ровно α. Ошибка второго рода - эффект был, а ты его проспал. Вероятность всё-таки его заметить называется мощностью и равна 1−β.

Мощность растёт от трёх вещей: больше выборка, крупнее сам эффект, мягче α. Поэтому размер выборки считают заранее - из минимального эффекта, который важно поймать (его зовут MDE), из α и из целевой мощности, обычно 0.8. Посчитать после эксперимента, почему не хватило, всегда успеется, но это уже утешение.

// Арифметика, которую стоит помнить: чтобы ловить эффект вдвое меньше, выборка нужна вчетверо больше. Отсюда и вечный торг между «хотим чувствительнее» и «хотим быстрее».

мощность (1−β)
шанс заметить эффект, который на самом деле есть; целятся обычно в 0.8
MDE
минимальный эффект, который тебе важно поймать; от него и считают размер выборки

Какой тест взять и чем опасны двадцать метрик

Тест выбирают по тому, что сравниваешь. Средние двух групп - t-тест, лучше в варианте Уэлча: он не требует, чтобы разброс в группах совпадал, а он почти никогда и не совпадает. Доли - z-тест или хи-квадрат. Данные скошенные, с выбросами - Манна-Уитни, но держи в голове, что он проверяет сдвиг распределений, а не равенство средних, то есть отвечает на слегка другой вопрос.

Дальше ловушка, в которую попадают почти все. Каждый лишний тест это лишний шанс случайного прокраса. Двадцать метрик при α = 0.05 дадут в среднем один «успех» на ровном месте - просто по арифметике. Лечат поправками: Бонферрони и Холм режут жёстко, Бенджамини-Хохберг мягче, он держит долю ложных среди всех отвергнутых гипотез.

// Развилка по названиям, чтобы не гадать: три группы и больше - ANOVA (analysis of variance), а не куча попарных t-тестов; замеры до и после на одних и тех же людях - парный t или Уилкоксон; две скошенные группы - Манна-Уитни; сравнить формы распределений целиком - Колмогоров-Смирнов; проверить нормальность - Шапиро-Уилка, но на больших выборках он отвергает нормальность почти всегда, так что пользы от него немного.

// И самое важное под конец: значимость это не польза. На миллионной выборке прокрасится эффект в сотую долю процента. Решение принимают по доверительному интервалу эффекта - он показывает размер, - а не по одному p-value.

Как отвечать: «Что такое p-value?»

Вероятность получить наблюдаемый результат или ещё более экстремальный при условии, что нулевая гипотеза верна. Это не вероятность того, что нулевая гипотеза верна, и не вероятность ошибки. Если p равно 0.03, это значит, что в мире без эффекта такие данные выпадали бы примерно в трёх экспериментах из ста. Маленькое p - повод отвергнуть нулевую на том пороге, который зафиксировали заранее. А величину эффекта p-value не показывает вообще, за ней я иду к доверительному интервалу.

Точное определение, два явных «не» и переход к интервалу. Валятся ровно в этих трёх местах, и интервьюер сразу слышит, что ты не из их числа.

На чём валят

  • «p = 0.03, значит H0 верна с вероятностью 3%». p-value считается в предположении, что H0 верна, и о её вероятности молчит.
  • Подглядывать в тест и останавливать его, как только прокрасилось: это раздувает ошибку первого рода. Длительность фиксируют заранее или берут методы, где подглядывание разрешено.
  • p = 0.06 читать как «эффекта нет». Незначимость это не доказательство нуля, вполне возможно, что просто не хватило мощности.
  • Гонять десятки метрик и срезов без поправки на множественность: что-нибудь прокрасится случайно, и это будет не открытие.

Проверьте себя

Пять вопросов из банка по этой подтеме. Всего их 33, остальные разбираются в тренажёре.

  1. #hypothesis_testing1 / 5
    Аналитик проверил 20 метрик в эксперименте и радостно репортит одну «значимую» с p = 0.03. В чём проблема и что делать?
    A)Проблемы нет: раз p < 0.05, результат честно и окончательно значим
    B)Нужно просто увеличить выборку сразу примерно в двадцать раз для надёжности
    C)Множественные сравнения раздувают ложные срабатывания — нужны поправки
    D)Надо пересчитать это p-value односторонним вариантом теста
    показать ответ и разбор
    +C)Множественные сравнения раздувают ложные срабатывания — нужны поправки

    // разбор: Вероятность хотя бы одного ложного позитива = 1 − 0.95^20 ≈ 0.64 — «значимая» метрика почти ожидаема даже при полном отсутствии эффектов. Лечение: одна первичная метрика в дизайне, поправки FWER (Bonferroni/Holm) или FDR (Benjamini–Hochberg) для остальных, и честное репортирование всех проверок.

  2. #hypothesis_testing2 / 5
    Почему «подглядывание» за p-value по ходу A/B-теста с остановкой при p < 0.05 ломает статистические гарантии?
    A)Не ломает: p-value остаётся корректным в разные моменты проведения теста
    B)Ломается, если группы получились разного размера
    C)Проблема лишь в том, что тест завершится позже, чем хотелось бы
    D)Повторные проверки раздувают ложные срабатывания — нужны sequential-методы
    показать ответ и разбор
    +D)Повторные проверки раздувают ложные срабатывания — нужны sequential-методы

    // разбор: Гарантия α = 0.05 относится к одной проверке в заранее заданный момент. При остановке «когда стало значимо» вы даёте случайному блужданию много шансов пересечь порог — реальный уровень ложных срабатываний может превысить 20–30%. Решения: заранее зафиксированный n, group sequential с alpha spending, always-valid p-values (mSPRT), байесовский мониторинг.

  3. #hypothesis_testing3 / 5
    Чем t-тест отличается от z-теста и когда какой применять?
    A)T-тест нужен для средних, а z-тест — для медиан
    B)Z-тест применим к долям, а t-тест к средним значениям
    C)Z — при известной дисперсии/большом n, t оценивает её по выборке
    D)Между ними нет разницы, это два названия одного теста
    показать ответ и разбор
    +C)Z — при известной дисперсии/большом n, t оценивает её по выборке

    // разбор: Неопределённость от оценки дисперсии по выборке учитывается тяжёлыми хвостами t-распределения; с ростом n оно сходится к нормальному, и разница исчезает (уже при n ~ 30–50 практически незаметна). Для долей z-тест естественен, потому что дисперсия биномиальной определяется самой долей.

  4. #hypothesis_testing4 / 5
    Чем выборка отличается от генеральной совокупности?
    A)Это совершенно полные синонимы: никакой разницы между ними в статистике нет
    B)Выборка — это все возможные объекты, а совокупность — лишь их часть
    C)Выборка больше генеральной совокупности по размеру
    D)Совокупность — все объекты интереса; выборка — доступное подмножество
    показать ответ и разбор
    +D)Совокупность — все объекты интереса; выборка — доступное подмножество

    // разбор: Генеральная совокупность — все объекты, о которых хотим сделать вывод (все пользователи), а выборка — доступное для наблюдения подмножество. По выборке оценивают параметры совокупности (среднее, долю), и именно из-за неполноты выборки оценка идёт с погрешностью, которую и описывает статистика.

  5. #hypothesis_testing5 / 5
    Маленькая выборка, сильно скошенное распределение с выбросами. t-тест или тест Манна-Уитни и почему?
    A)Манна-Уитни: на малой выборке t-тест чувствителен к тяжёлым хвостам и выбросам, а ранговый тест к ним устойчивее
    B)T-тест: он устойчив к скошенности и выбросам при малом объёме выборки данных
    C)Ни один из тестов неприменим к скошенным данным, поэтому распределение сначала обязательно логарифмируют до анализа
    D)Разницы нет: t-тест и тест Манна-Уитни на данных дают идентичный итоговый p-value
    показать ответ и разбор
    +A)Манна-Уитни: на малой выборке t-тест чувствителен к тяжёлым хвостам и выбросам, а ранговый тест к ним устойчивее

    // разбор: На больших выборках ЦПТ вытягивает t-тест даже для скошенных данных, но при малом n тяжёлые хвосты и выбросы раздувают дисперсию среднего и делают его p-value ненадёжным. Непараметрический тест Манна-Уитни сравнивает ранги, не завязан на нормальность и устойчив к выбросам — разумный выбор при малой скошенной выборке. Логарифм — вариант, но не единственный, а p-value у тестов разный.

дальше

Теорию прочитали. Навык ставится повторением

В Сеньорчике эта подтема идёт в ежедневных сессиях: движок возвращает её, пока ответы не станут уверенными, и ведёт прогресс отдельно по каждой подтеме. Теория внутри тоже бесплатна, лимит только на количество вопросов в день.