Статистическая значимость — это вывод о том, что наблюдаемый в данных эффект маловероятно объясняется одной случайностью выборки. Результат называют статистически значимым, когда p-value оказывается меньше заранее выбранного порога альфа. Ниже разберем, что такое p-value (и чем оно НЕ является), как устроены нулевая и альтернативная гипотезы, уровень значимости альфа, ошибки I и II рода, доверительные интервалы и типичные заблуждения. В конце — воспроизводимый пример проверки на Python через scipy.stats.
Содержание
Мини-словарь: что с чем не путать
У темы есть группа близких понятий, которые легко смешать. Развожу их сразу, дальше держу это различие.
- Нулевая гипотеза (H0) — предположение об отсутствии эффекта или различия (например, «средние в двух группах равны»).
- Альтернативная гипотеза (H1) — утверждение, что эффект есть; именно ее мы пытаемся подтвердить косвенно, отвергнув H0.
- Уровень значимости альфа — порог, выбранный ДО эксперимента (часто 0,05); это допустимая вероятность ошибочно отвергнуть верную H0.
- p-value — вычисленная по данным вероятность получить такой же или более экстремальный результат ПРИ УСЛОВИИ, что H0 верна.
Ключевое различие: альфа задаем заранее и один раз, p-value считаем по конкретной выборке и сравниваем с альфа.
Что такое p-value (и чего оно НЕ означает)
p-value — это вероятность увидеть наблюдаемое значение тестовой статистики или более крайнее, если нулевая гипотеза верна. Формально это P(данные такие же или экстремальнее | H0 истинна).
Здесь чаще всего ошибаются, поэтому назову границу явно. p-value — это НЕ вероятность того, что нулевая гипотеза верна, и НЕ вероятность того, что верна альтернативная. Оно не говорит, с какой вероятностью вывод правильный, и не измеряет размер эффекта.
Малое p-value означает лишь одно: такие данные плохо согласуются с H0. Большое p-value не доказывает, что H0 верна, — оно говорит только, что данных недостаточно, чтобы ее отвергнуть.
Порог сравнения выбирают заранее. Если p < альфа, H0 отвергают в пользу H1 и говорят о статистической значимости. Если p >= альфа, оснований отвергнуть H0 нет.
Осторожно с градацией «звездочек». Отметки типа 0,05 / 0,01 / 0,001 — это соглашение о представлении, а не природные пороги. Значение 0,049 и 0,051 почти неразличимы по смыслу, поэтому жесткое деление на «значимо / незначимо» строго по 0,05 — упрощение. Порог 0,05 — традиция (восходит к работам Фишера), а не закон природы.
Уровень значимости альфа и порог решения
Альфа — это заранее принятая допустимая частота ложных срабатываний. Выбор альфа = 0,05 значит: мы готовы примерно в 5% случаев ошибочно объявить эффект там, где его нет (при условии, что H0 на самом деле верна).
Чем строже задача (медицина, безопасность), тем меньше берут альфа — например 0,01 или 0,001. Уменьшая альфа, мы реже ошибаемся ложным срабатыванием, но одновременно чаще пропускаем реальный эффект. Это прямой размен между двумя типами ошибок.
Ошибки I и II рода
При проверке гипотез возможны два вида ошибок. Их удобно свести в таблицу: по строкам — наше решение, по столбцам — как обстоит дело в реальности.
| Решение по тесту | H0 верна на самом деле | H0 ложна на самом деле |
|---|---|---|
| Отвергли H0 | Ошибка I рода (ложноположительная), вероятность = альфа | Верное решение; вероятность = мощность (1 — бета) |
| Не отвергли H0 | Верное решение; вероятность = 1 — альфа | Ошибка II рода (ложноотрицательная), вероятность = бета |
Ошибка I рода — объявили эффект, которого нет (ложная тревога); ее вероятность равна выбранному альфа. Ошибка II рода — не заметили реальный эффект (пропуск); ее вероятность обозначают бета. Величину 1 — бета называют мощностью теста — это шанс обнаружить эффект, если он действительно есть.
Мощность растет с размером выборки и с величиной самого эффекта. Поэтому на маленькой выборке крупный эффект может остаться «незначимым» просто из-за нехватки данных.
Доверительные интервалы: полезное дополнение к p-value
Доверительный интервал (ДИ) — это диапазон значений оцениваемой величины (например, разницы средних), согласующийся с данными при заданном уровне доверия (обычно 95%).
Интерпретация корректна такая: если многократно повторять эксперимент и каждый раз строить 95%-й интервал, примерно 95% таких интервалов накроют истинное значение. Это НЕ означает «истинное значение лежит внутри с вероятностью 95%» для одного конкретного интервала — параметр фиксирован, случаен интервал.
ДИ полезнее одного p-value: он показывает не только «есть ли эффект», но и его вероятный масштаб. Если 95%-й интервал для разницы средних не включает ноль, результат значим на уровне 0,05; при этом ширина интервала говорит о точности оценки.
Пример проверки на Python (scipy.stats)
Сравним две группы двухвыборочным t-тестом. Сценарий: A/B-тест лендинга, метрика — время на странице в секундах. H0: средние равны; H1: средние различаются. Порог альфа = 0,05. Пример полностью воспроизводим — зафиксирован seed.
import numpy as np
from scipy import stats
rng = np.random.default_rng(42)
control = rng.normal(loc=120, scale=30, size=200) # вариант A
variant = rng.normal(loc=128, scale=30, size=200) # вариант B
t_stat, p_value = stats.ttest_ind(control, variant, equal_var=True)
print("mean A = %.2f" % control.mean())
print("mean B = %.2f" % variant.mean())
print("t = %.4f" % t_stat)
print("p-value = %.4f" % p_value)
alpha = 0.05
if p_value < alpha:
print("p < alpha -> отвергаем H0: различие статистически значимо")
else:
print("p >= alpha -> нет оснований отвергнуть H0")
Вывод в консоли:
mean A = 119.09
mean B = 128.60
t = -3.3277
p-value = 0.0010
p < alpha -> отвергаем H0: различие статистически значимо
p-value = 0,0010 меньше 0,05, поэтому H0 (о равенстве средних) отвергаем. Заметьте: тест говорит «различие есть», но НЕ говорит, что оно важно для бизнеса — величину смотрим отдельно.
Дополним вывод доверительным интервалом для разницы средних — он покажет масштаб эффекта:
diff = variant.mean() - control.mean()
se = np.sqrt(control.var(ddof=1)/len(control) + variant.var(ddof=1)/len(variant))
ci_low, ci_high = diff - 1.96*se, diff + 1.96*se
print("diff = %.2f сек; 95%% ДИ = [%.2f, %.2f]" % (diff, ci_low, ci_high))
Вывод:
diff = 9.52 сек; 95% ДИ = [3.91, 15.12]
Интервал не включает ноль, что согласуется с малым p-value. Разница около 9,5 секунды — вот та самая величина эффекта, которую p-value само по себе не сообщает.
Типичные заблуждения
- Значимость != важность эффекта. На большой выборке значимым станет и микроскопическое различие. Всегда смотрите на размер эффекта и ДИ, а не только на факт «p < 0,05».
- p не есть вероятность гипотезы. «p = 0,04» не значит «H0 верна с вероятностью 4%». Это вероятность данных при верной H0, а не наоборот.
- p-hacking. Если перебирать множество тестов, подвыборок или порогов и оставлять только «значимые», ложные срабатывания неизбежны: при альфа = 0,05 примерно 1 из 20 проверок «выстрелит» случайно. Число гипотез и критерий отбора фиксируют до анализа; при множественных сравнениях применяют поправки (например, Бонферрони).
- «p > 0,05» не доказывает отсутствие эффекта. Это может быть просто нехватка мощности (маленькая выборка).
Выводы
- Статистическая значимость — вывод, что эффект вряд ли объясняется случайностью выборки; фиксируется сравнением p-value с заранее выбранным порогом альфа.
- p-value — вероятность таких же или более крайних данных при верной H0; это НЕ вероятность того, что гипотеза верна, и НЕ размер эффекта.
- Ошибка I рода (вероятность = альфа) — ложная тревога; ошибка II рода (вероятность = бета) — пропуск эффекта; 1 — бета есть мощность теста.
- Доверительный интервал дополняет p-value: показывает вероятный масштаб и точность эффекта.
- Значимость не равна важности; p-hacking и трактовка «p > 0,05» как доказательства H0 — частые ошибки.
Где применяется / связь с практикой
Проверка гипотез — повседневный инструмент аналитика данных: A/B-тесты продукта, оценка маркетинговых кампаний, сравнение когорт пользователей, контроль качества. Умение правильно поставить H0/H1, выбрать альфа, посчитать p-value и прочитать доверительный интервал отделяет обоснованное решение от случайного.
Освойте тему на практике
Разобрать эти сюжеты на практических задачах и довести до навыка помогает курс «Аналитик данных» в Otus: там статистика идет вместе с Python и реальными датасетами. Посмотреть формат и темы вживую можно на открытых уроках Otus — это бесплатно и помогает понять, подходит ли вам направление.
FAQ
Какой порог p-value считать «правильным»?
Универсального нет: 0,05 — традиция, но в медицине или безопасности берут 0,01 и строже. Порог выбирают до эксперимента исходя из цены ошибки I рода.
Можно ли доверять значимому результату на маленькой выборке?
С осторожностью: малая выборка дает низкую мощность и нестабильные оценки, а «значимый» эффект может не воспроизвестись. Смотрите на доверительный интервал и по возможности повторяйте тест.
Чем t-тест отличается от хи-квадрат теста?
t-тест сравнивает средние числовых величин между группами, а хи-квадрат проверяет связь категориальных признаков по таблице частот. Выбор зависит от типа данных, а не от предпочтений.



