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

Проверка гипотез в Python

James Chapman

Curriculum Manager, DataCamp

p-значение: краткое резюме

  • p-значения количественно оценивают свидетельства в пользу нулевой гипотезы
  • Большое p-значение → нет оснований отвергнуть нулевую гипотезу
  • Малое p-значение → нулевая гипотеза отвергается
  • Где проходит граница?
Проверка гипотез в Python

Уровень значимости

Уровень значимости критерия ($\alpha$) — пороговое значение для «разумных сомнений»

  • Распространённые значения $\alpha$: 0.2, 0.1, 0.05 и 0.01
  • Если $p \le \alpha$, отвергаем $H_{0}$, иначе — нет оснований отвергнуть $H_{0}$
  • $\alpha$ задаётся до проведения проверки гипотезы
Проверка гипотез в Python

Вычисление p-значения

alpha = 0.05

prop_child_samp = (stack_overflow['age_first_code_cut'] == "child").mean() prop_child_hyp = 0.35
std_error = np.std(first_code_boot_distn, ddof=1)
z_score = (prop_child_samp - prop_child_hyp) / std_error
p_value = 1 - norm.cdf(z_score, loc=0, scale=1)
3.1471479512323874e-05
Проверка гипотез в Python

Принятие решения

alpha = 0.05

print(p_value)
3.1471479512323874e-05
p_value <= alpha
True

Отвергаем $H_{0}$ в пользу $H_{A}$

Проверка гипотез в Python

Доверительные интервалы

При уровне значимости $\alpha$ обычно выбирают доверительный интервал уровня 1 - $\alpha$

  • $\alpha=0.05$ → $95\%$ доверительный интервал
import numpy as np
lower = np.quantile(first_code_boot_distn, 0.025)
upper = np.quantile(first_code_boot_distn, 0.975)
print((lower, upper))
(0.37063246351172047, 0.41132242370632466)
Проверка гипотез в Python

Типы ошибок

Преступления не совершал Преступление совершил
Вердикт: невиновен верно ушёл от ответственности
Вердикт: виновен незаконное осуждение верно

 

истинная $H_{0}$ истинная $H_{A}$
принята $H_{0}$ верно ложноотрицательный результат
принята $H_{A}$ ложноположительный результат верно

 

Ложноположительные результаты — это ошибки I рода; ложноотрицательные — ошибки II рода.

Проверка гипотез в Python

Возможные ошибки в нашем примере

Если $p \le \alpha$, отвергаем $H_{0}$:

  • Ошибка I рода (ложноположительная): специалисты по данным не начинали программировать в детстве с более высокой частотой

Если $p \gt \alpha$, нет оснований отвергнуть $H_{0}$:

  • Ошибка II рода (ложноотрицательная): специалисты по данным действительно начинали программировать в детстве с более высокой частотой
Проверка гипотез в Python

Давайте потренируемся!

Проверка гипотез в Python

Preparing Video For Download...