Диагностика Mock-интервью
Главная · Статистика для ML

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

P-value простыми словами: нулевая гипотеза, уровень значимости 0,05, ошибки I и II рода, одно- и двусторонние тесты — и почему p = 0,03 не значит «эффект есть с вероятностью 97 %». С интерактивом.

Интуиция

Пиццерия обещает доставку за 30 минут. Ты замерил 20 доставок — в среднем 33. Они врут или тебе просто не повезло с курьерами? Вопрос звучит бытово, но это ровно та же ситуация, что «новая модель на 0,8 п.п. точнее старой» или «после релиза конверсия выросла на 2 %». Есть скучное объяснение — нулевая гипотеза (null hypothesis, H0): «обещание верно, среднее время 30, а 33 — случайные колебания». И есть интересное — альтернативная гипотеза (alternative hypothesis, H1): «доставка стала дольше».

P-value отвечает на один-единственный вопрос: если скучное объяснение верно, насколько удивительны наши данные? Маленькое p — «такое почти не бывает случайно, скучное объяснение трещит». Большое — «ничего удивительного, шум легко даёт такие 33».

Хорошая аналогия — суд. Презумпция невиновности — это H0. Улики — данные. Приговор «виновен» выносят, только если улики почти необъяснимы невиновностью. А приговор «не виновен» не означает «доказано, что невиновен», — он означает «улик не хватило».

Как это работает

Проверка гипотезы (hypothesis testing) — пять шагов, и все вычисления сидят в третьем и четвёртом:

  1. Формулируем H0 (μ = 30) и H1 (μ > 30 или μ ≠ 30) — до взгляда на данные.
  2. Выбираем уровень значимости (significance level) α — порог удивления, обычно 0,05. В физике частиц порог открытия — «пять сигм», то есть p ≈ 3·10−7: так дорого стоит ложное открытие.
  3. Считаем статистику теста — насколько далеко наблюдение от H0 в единицах стандартной ошибки:
    z = (x̄ − μ0) / (σ/√n)
    При σ = 8 мин, n = 20 и x̄ = 33 получаем SE ≈ 1,8 и z ≈ 1,68: наблюдение отстоит от обещания на 1,7 стандартной ошибки.
  4. Мы знаем, как распределена z при верной H0: по ЦПТ это нормальное распределение (при оценённой σ — t-распределение). P-value — площадь хвоста за наблюдением: вероятность получить z не меньше 1,68. Для одностороннего теста (H1: дольше) это 0,047, для двустороннего (H1: не равно, хвосты с обеих сторон) — вдвое больше, 0,094.
  5. Сравниваем с α: p ≤ α — отвергаем H0, результат статистически значим (statistically significant); p > α — «не удалось отвергнуть».

Обрати внимание, как всё зависит от n. Те же 33 минуты при n = 200 дают z ≈ 5,3 и p порядка 10−7: отклонение на 3 минуты стало невероятным при верной H0. Тот же размер эффекта — другая уверенность, потому что стандартная ошибка сжалась в √10 раз.

Отвергая или не отвергая, мы можем ошибиться двумя способами. Ошибка I рода (type I error, ложная тревога): H0 верна, а мы её отвергли; её вероятность — как раз α. Ошибка II рода (type II error, пропуск): эффект есть, а мы его не заметили; её вероятность β, а 1 − βмощность (power) теста. Снижая α, мы реже кричим «волки!», но чаще пропускаем настоящего волка; вырваться из этого компромисса можно только увеличив n.

💡 Ключевая мысль P-value — это P(данные не менее экстремальные | H0 верна), а не P(H0 верна | данные). Оно измеряет удивление, а не вероятность гипотезы и не размер эффекта: при огромном n значимым станет и ничтожное отклонение.

Связь с доверительными интервалами

Двусторонний тест на уровне α и доверительный интервал уровня 1 − α — одно и то же, сказанное по-разному: H0 отвергается ровно тогда, когда μ0 не попадает в интервал. Но интервал информативнее: «+3 мин, 95 % ДИ [−0,5; 6,5]» показывает и размер эффекта, и то, что данные совместимы с нулём. Голое «p = 0,094» не показывает ничего, кроме степени удивления. Хорошая привычка — всегда приводить оценку эффекта с интервалом, а p-value — как дополнение.

Как p-value ломают: p-hacking

⚠️ Подводный камень «p = 0,3, значит, эффекта нет» — самая частая ошибка. Большое p означает лишь, что данных не хватило, чтобы отличить эффект от шума: отсутствие доказательств — не доказательство отсутствия. Прежде чем заключать «разницы нет», посмотри на доверительный интервал и мощность: возможно, тест просто не мог разглядеть эффект такого размера.
🎤 На собеседовании
  • «Что такое p-value?» — вероятность получить наблюдаемый или более экстремальный результат при верной H0; не вероятность, что H0 верна, и не вероятность ошибки.
  • «Ошибки I и II рода — какая страшнее?» — зависит от цены: ложная тревога в медицинском скрининге дешевле пропуска, а ложное «модель лучше» стоит релиза; α выбирают под цену ошибок.
  • «Как честно сравнить две модели на одном тесте?» — парный тест на одних и тех же примерах: McNemar или бутстреп разности; интервал для разницы, а не два отдельных.
  • «Результат значим при p = 0,01, но эффект 0,01 %. Внедряем?» — статистическая значимость не равна практической: при большом n значимо всё, смотри размер эффекта и стоимость внедрения.