Что такое ошибка второго рода?

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

Ответ

Ошибка второго рода (Type II error, ложноотрицательная ошибка) — это статистическая ошибка, которая возникает, когда нулевая гипотеза (H₀) не отвергается, хотя на самом деле она ложна. Другими словами, это пропуск существующего эффекта или различия.

  • Вероятность ошибки обозначается как β.
  • Мощность теста (1 - β) — это вероятность корректно отвергнуть ложную нулевую гипотезу, то есть обнаружить эффект, если он есть.

Практический пример (A/B-тест): Допустим, мы тестируем новую версию сайта (B) против старой (A). Нулевая гипотеза (H₀): конверсия версии B не выше, чем у A. Если на самом деле версия B лучше, но наш тест этого не показал (мы приняли H₀), мы совершили ошибку второго рода — упустили улучшение.

# Пример расчета мощности теста (вероятности избежать ошибки II рода)
from statsmodels.stats.power import TTestIndPower

# Параметры: размер эффекта (effect_size), уровень значимости (alpha), размер выборки (nobs)
effect_size = 0.5  # Средний размер эффекта
alpha = 0.05        # Вероятность ошибки I рода (5%)
nobs = 50           # Наблюдений в каждой группе

# Создаем объект для расчета мощности
power_analysis = TTestIndPower()
power = power_analysis.power(effect_size=effect_size, nobs1=nobs, alpha=alpha, ratio=1.0)

print(f'Мощность теста (1 - β): {power:.2%}')  # Например, 70.4%
print(f'Вероятность ошибки II рода (β): {(1 - power):.2%}')  # Например, 29.6%

Как снизить β (вероятность ошибки II рода)? Увеличить мощность теста: повысить размер выборки (nobs), увеличить размер эффекта (если возможно) или использовать более чувствительный метод анализа.