Вычисление p-значений по t-статистикам

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

James Chapman

Curriculum Manager, DataCamp

t-распределения

  • t-статистика подчиняется t-распределению
  • Имеет параметр число степеней свободы, или df
  • Похоже на нормальное распределение, но с более тяжёлыми хвостами

График, показывающий функцию плотности стандартного нормального распределения и t-распределения с 1 степенью свободы. У t-распределения более тяжёлые хвосты и более низкий пик.

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

Степени свободы

  • Больше степеней свободы $\rightarrow$ t-распределение приближается к нормальному
  • Нормальное распределение $\rightarrow$ t-распределение с бесконечным df
  • Степени свободы: максимальное число логически независимых значений в выборке

График, показывающий функцию плотности стандартного нормального распределения и t-распределения с различными степенями свободы. По мере роста числа степеней свободы хвосты сужаются, а пик становится выше, всё больше напоминая нормальное распределение.

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

Вычисление степеней свободы

  • Набор данных содержит 5 независимых наблюдений
  • Четыре значения: 2, 6, 8 и 5
  • Выборочное среднее равно 5
  • Последнее значение должно быть 4
  • Число степеней свободы равно 4

 

  • $df = n_{child} + n_{adult} - 2$
Проверка гипотез в Python

Гипотезы

$H_{0}$: Средняя компенсация (в долларах США) одинакова для тех, кто начал программировать в детстве, и тех, кто начал во взрослом возрасте

$H_{A}$: Средняя компенсация (в долларах США) выше у тех, кто начал программировать в детстве, по сравнению с теми, кто начал во взрослом возрасте

 

Используется правосторонний критерий

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

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

$\alpha = 0.1$

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

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

Вычисление p-значений: одна доля против значения

from scipy.stats import norm
1 - norm.cdf(z_score)

$SE(\bar{x}_{\text{child}} - \bar{x}_{\text{adult}}) \approx \sqrt{\dfrac{s_{\text{child}}^2}{n_{\text{child}}} + \dfrac{s_{\text{adult}}^2}{n_{\text{adult}}}}$

  • z-статистика: применяется, когда по одной выборочной статистике оценивается параметр генеральной совокупности

  • t-статистика: применяется, когда по нескольким выборочным статистикам оценивается параметр генеральной совокупности

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

Вычисление p-значений: два средних из разных групп

numerator = xbar_child - xbar_adult
denominator = np.sqrt(s_child ** 2 / n_child + s_adult ** 2 / n_adult)
t_stat = numerator / denominator
1.8699313316221844
degrees_of_freedom = n_child + n_adult - 2
2259
Проверка гипотез в Python

Вычисление p-значений: два средних из разных групп

  • Используется функция распределения t, а не нормального распределения
from scipy.stats import t
1 - t.cdf(t_stat, df=degrees_of_freedom)
0.030811302165157595
  • Есть основания считать, что специалисты по данным Stack Overflow, начавшие программировать в детстве, зарабатывают больше.
Проверка гипотез в Python

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

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

Preparing Video For Download...