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

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

Раздел: [Статистика для ML](https://ml-book.com/s/statistics/) · Страница темы: https://ml-book.com/t/p-value/ · Обновлено: 2026-09-16 · Источник: ml-book.com, учебник делается сообществом

## Интуиция

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

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

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

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

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

1. Формулируем H_0 (μ = 30) и H_1 (μ > 30 или μ ≠ 30) — *до* взгляда на данные.
2. Выбираем **уровень значимости** (significance level) α — порог удивления, обычно 0,05. В физике частиц порог открытия — «пять сигм», то есть p ≈ 3·10^{−7}: так дорого стоит ложное открытие.
3. Считаем **статистику теста** — насколько далеко наблюдение от H_0 в единицах стандартной ошибки:

   `z = (x̄ − μ_0) / (σ/√n)`

   При σ = 8 мин, n = 20 и x̄ = 33 получаем SE ≈ 1,8 и z ≈ 1,68: наблюдение отстоит от обещания на 1,7 стандартной ошибки.
4. Мы знаем, как распределена z при верной H_0: по [ЦПТ](https://ml-book.com/t/sampling-clt/) это нормальное распределение (при оценённой σ — t-распределение). P-value — площадь хвоста за наблюдением: вероятность получить z не меньше 1,68. Для одностороннего теста (H_1: дольше) это 0,047, для двустороннего (H_1: не равно, хвосты с обеих сторон) — вдвое больше, 0,094.
5. Сравниваем с α: p ≤ α — отвергаем H_0, результат **статистически значим** (statistically significant); p > α — «не удалось отвергнуть».

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

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

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

> 🎛 Интерактивная визуализация — на странице темы: https://ml-book.com/t/p-value/

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

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

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

- **Множественные сравнения** (multiple comparisons). Проверил 20 метрик при α = 0,05 — в среднем одна окажется «значимой» без всякого эффекта. Лекарства: одна заранее выбранная метрика решения, поправка Бонферрони (α/m) или контроль доли ложных открытий (FDR).
- **Подглядывание** (peeking). Смотреть p каждый день и останавливаться на первом p < 0,05 — ошибка I рода раздувается до десятков процентов. Длительность фиксируется заранее или используются последовательные тесты (подробнее в теме про [A/B-тесты](https://ml-book.com/t/ab-testing/)).
- **Выбор стороны после данных.** Односторонний тест вдвое уменьшает p, поэтому направление H_1 нельзя выбирать, глядя на знак эффекта.
- **В ML.** Запустить обучение на 20 сидах и отчитаться лучшим; подбирать гиперпараметры на тестовой выборке; объявить победу по +0,5 п.п. на бенчмарке из 500 задач. Для честного сравнения моделей на одном тесте нужен парный тест (McNemar для accuracy, парный бутстреп для остального) — он учитывает, что модели ошибаются на одних и тех же трудных примерах.

> **⚠️ Подводный камень**
>
> «p = 0,3, значит, эффекта нет» — самая частая ошибка. Большое p означает лишь, что данных не хватило, чтобы отличить эффект от шума: отсутствие доказательств — не доказательство отсутствия. Прежде чем заключать «разницы нет», посмотри на доверительный интервал и мощность: возможно, тест просто не мог разглядеть эффект такого размера.

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

## Связанные темы

- [Доверительные интервалы](https://ml-book.com/t/confidence-intervals/)
- [Выборка, ЦПТ и стандартная ошибка](https://ml-book.com/t/sampling-clt/)
- [A/B-тесты и продуктовые метрики](https://ml-book.com/t/ab-testing/)
- [Оценка LLM: бенчмарки и LLM-as-judge](https://ml-book.com/t/llm-evals/)

---

Интерактив, тест из 12 вопросов и карточки терминов — на странице темы: https://ml-book.com/t/p-value/
Весь учебник в markdown: https://ml-book.com/llms-full.txt · Оглавление для агентов: https://ml-book.com/llms.txt
