Одновибіркові тести для часток

Перевірка гіпотез у R

Richie Cotton

Data Evangelist at DataCamp

Підсумок розділу 1

  • Чи є правдоподібною заява про невідому частку в популяції?
  • Стандартну похибку вибіркової статистики обчислено з бутстрап-розподілу.
  • Її використано для стандартизованої тестової статистики, ...
  • яку використано для обчислення p-значення, ...
  • за яким вирішили, яка гіпотеза має більше сенсу.
  • Тут ми обчислимо тестову статистику без бутстрап-розподілу.
Перевірка гіпотез у R

Стандартизована тестова статистика для часток

$p$: частка в популяції (невідомий параметр популяції)

$\hat{p}$: вибіркова частка (вибіркова статистика)

$p_{0}$: гіпотетична частка в популяції

$$ z = \frac{\hat{p} - \text{mean}(\hat{p})}{\text{standard error}(\hat{p})} = \frac{\hat{p} - p}{\text{standard error}(\hat{p})} $$

За умови, що $H_{0}$ істинна, $p = p_{0}$, тож

$$ z = \dfrac{\hat{p} - p_{0}}{\text{standard error}(\hat{p})} $$

Перевірка гіпотез у R

Простіші обчислення стандартної похибки

$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}}}}$

$SE_{\hat{p}} = \sqrt{\dfrac{p_{0}*(1-p_{0})}{n}}$

За умови, що $H_{0}$ істинна,

$z = \dfrac{\hat{p} - p_{0}}{\sqrt{\dfrac{p_{0}*(1-p_{0})}{n}}}$

Тут використано лише дані вибірки ($\hat{p}$ і $n$) та гіпотетичний параметр ($p_{0}$).

Перевірка гіпотез у R

Чому z, а не t?

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

  • $s$ обчислюється з $\bar{x}$, тож $\bar{x}$ використовують і для оцінки середнього, і для оцінки стандартного відхилення в популяції.
  • Це підвищує невизначеність оцінки параметра популяції.
  • t-розподіл має «товстіші» хвости, ніж нормальний.
  • Це додає обережності.
  • $\hat{p}$ з'являється лише в чисельнику, тож z-статистики підходять.
Перевірка гіпотез у R

Вікові категорії Stack Overflow

$H_{0}$: Частка користувачів SO молодше 30 дорівнює 0,5.

$H_{A}$: Частка користувачів SO молодше 30 не дорівнює 0,5.

alpha <- 0.01
stack_overflow %>% 
  count(age_cat)
# A tibble: 2 x 2
  age_cat         n
  <chr>       <int>
1 At least 30  1050
2 Under 30     1216
Перевірка гіпотез у R

Змінні для z

p_hat <- stack_overflow %>%
  summarize(prop_under_30 = mean(age_cat == "Under 30")) %>%
  pull(prop_under_30)
0.5366
p_0 <- 0.50
n <- nrow(stack_overflow)
2266
Перевірка гіпотез у R

Обчислення z-статистики

$z = \dfrac{\hat{p} - p_{0}}{\sqrt{\dfrac{p_{0}*(1-p_{0})}{n}}}$

numerator <- p_hat - p_0
denominator <- sqrt(p_0 * (1 - p_0) / n)
z_score <- numerator / denominator
3.487
Перевірка гіпотез у R

Обчислення p-значення

Функція розподілу (CDF) нормального розподілу. Частина лінії менша за -2 виділена червоним, більша за 2 — зеленим. Лівий хвіст («менше ніж»)

p_value <- pnorm(z_score) 

Правий хвіст («більше ніж»)

p_value <- pnorm(z_score, lower.tail = FALSE)

Двосторонній («не дорівнює»)

p_value <- pnorm(z_score) + 
  pnorm(z_score, lower.tail = FALSE)
p_value <- 2 * pnorm(z_score)
0.000244
p_value <= alpha
TRUE
Перевірка гіпотез у R

Давайте потренуємось!

Перевірка гіпотез у R

Preparing Video For Download...