Teste de proporție cu un eșantion

Testarea ipotezelor în R

Richie Cotton

Data Evangelist at DataCamp

Recapitulare capitol 1

  • O afirmație despre o proporție populațională necunoscută este plauzibilă?
  • Eroarea standard a statisticii de eșantion se calculează prin distribuția bootstrap.
  • Aceasta a fost folosită pentru a calcula o statistică de test standardizată, ...
  • care a fost folosită pentru a calcula o p-valoare, ...
  • care a fost folosită pentru a decide care ipoteză este mai plauzibilă.
  • Aici vom calcula statistica de test fără distribuția bootstrap.
Testarea ipotezelor în R

Statistica de test standardizată pentru proporții

$p$: proporția populației (parametru necunoscut)

$\hat{p}$: proporția eșantionului (statistică de eșantion)

$p_{0}$: proporția populației ipotezată

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

Presupunând că $H_{0}$ este adevărată, $p = p_{0}$, deci

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

Testarea ipotezelor în R

Calcul simplificat al erorii standard

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

Presupunând că $H_{0}$ este adevărată,

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

Acest calcul folosește doar informații din eșantion ($\hat{p}$ și $n$) și parametrul ipotezat ($p_{0}$).

Testarea ipotezelor în R

De ce z și nu 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$ se calculează din $\bar{x}$, deci $\bar{x}$ estimează atât media cât și deviația standard a populației.
  • Aceasta crește incertitudinea estimării parametrului.
  • Distribuția t are cozi mai late decât distribuția normală.
  • Aceasta oferă un nivel suplimentar de precauție.
  • $\hat{p}$ apare doar la numărător, deci scorurile z sunt adecvate.
Testarea ipotezelor în R

Categorii de vârstă Stack Overflow

$H_{0}$: Proporția utilizatorilor SO sub 30 de ani este egală cu 0,5.

$H_{A}$: Proporția utilizatorilor SO sub 30 de ani nu este egală cu 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
Testarea ipotezelor în R

Variabile pentru 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
Testarea ipotezelor în R

Calcularea scorului 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
Testarea ipotezelor în R

Calcularea p-valorii

CDF-ul distribuției normale. Porțiunea de sub -2 este marcată cu roșu, iar cea de peste 2 cu verde. Coadă stângă („mai mic decât")

p_value <- pnorm(z_score) 

Coadă dreaptă („mai mare decât")

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

Două cozi („diferit de")

p_value <- pnorm(z_score) + 
  pnorm(z_score, lower.tail = FALSE)
p_value <- 2 * pnorm(z_score)
0.000244
p_value <= alpha
TRUE
Testarea ipotezelor în R

Vamos praticar!

Testarea ipotezelor în R

Preparing Video For Download...