Что такое статистическая значимость?

«Что такое статистическая значимость?» — вопрос из категории Статистика и теория вероятностей, который задают на 26% собеседований Data Scientist / ML Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Статистическая значимость — это оценка того, насколько наблюдаемые в данных различия или закономерности могут быть объяснены не случайностью, а реальным эффектом. Она количественно выражается через p-value.

Ключевая концепция: Мы формулируем нулевую гипотезу (H₀) (например, «разницы между группами нет») и проверяем, насколько наши данные с ней несовместимы. Малое p-value говорит: «Если бы H₀ была верна, то получить такие (или более крайние) данные было бы очень маловероятно».

Практический пример (A/B-тест конверсии):

import numpy as np
from scipy.stats import chi2_contingency

# Данные: посетители и конверсии для двух версий сайта
#          Конвертировали   Не конвертировали
version_a = [150,          850]  # Всего 1000 посетителей
version_b = [200,          800]  # Всего 1000 посетителей

observed = np.array([version_a, version_b])
chi2, p_value, dof, expected = chi2_contingency(observed)

print(f'p-value = {p_value:.4f}')
if p_value < 0.05:  # Стандартный порог значимости (уровень альфа)
    print('Разница в конверсии статистически значима (отвергаем H₀).')
else:
    print('Нет оснований считать разницу значимой.')

Критические нюансы:

  • p-value ≠ важность эффекта. Очень маленький p-value может быть получен при огромной выборке даже для тривиальной разницы. Всегда нужно смотреть на размер эффекта (например, разность конверсий).
  • p-value < 0.05 не «доказывает» гипотезу. Это лишь свидетельство против нулевой гипотезы.
  • Риск ошибок: Ошибка I рода (ложноположительная) — найти значимость там, где ее нет (вероятность = уровню альфа, например, 5%). Ошибка II рода (ложноотрицательная) — не обнаружить существующий эффект.
  • Результат зависит от качества данных и корректности выбранного статистического теста.