Toetsen voor twee proporties

Hypothesis Testing in R

Richie Cotton

Data Evangelist at DataCamp

Twee proporties vergelijken

$H_{0}$: Het aandeel SO-gebruikers dat hobbyist is, is gelijk voor <30 en ≥30.

$H_{0}$: $p_{\geq30} - p_{<30} = 0$

$H_{A}$: Het aandeel SO-gebruikers dat hobbyist is, verschilt tussen <30 en ≥30.

$H_{A}$: $p_{\geq30} - p_{<30} \neq 0$

alpha <- 0.05
Hypothesis Testing in R

De z-score berekenen

$$ z = \frac{(\hat{p}_{\geq30} - \hat{p}_{<30}) - 0}{\text{SE}(\hat{p}_{\geq30} - \hat{p}_{<30})} $$

$$ \text{SE}(\hat{p}_{\geq30} - \hat{p}_{<30}) = \sqrt{\dfrac{\hat{p} \times (1 - \hat{p})}{n_{\geq30}} + \dfrac{\hat{p} \times (1 - \hat{p})}{n_{<30}}} $$

$\hat{p}$ is een gepoolde schatting van $p$ (gemeenschappelijke, onbekende succeskans).

$$ \hat{p} = \frac{n_{\geq30} \times \hat{p}_{\geq30} + n_{<30} \times \hat{p}_{<30}}{n_{\geq30} + n_{<30} } $$

We hoeven maar 4 waarden te berekenen: $\hat{p}_{\geq30}$, $\hat{p}_{<30}$, $n_{\geq30}$, $n_{<30}$.

Hypothesis Testing in R

Cijfers voor de z-score ophalen

stack_overflow %>%
  group_by(age_cat) %>%
  summarize(
    p_hat = mean(hobbyist == "Yes"),
    n = n()
  )
# A tibble: 2 x 3
  age_cat     p_hat     n
  <chr>       <dbl> <int>
1 At least 30 0.773  1050
2 Under 30    0.843  1216
z_score
-4.217
Hypothesis Testing in R

Proportietoetsen met prop_test()

library(infer)
stack_overflow %>% 
  prop_test(

hobbyist ~ age_cat, # proportions ~ categories
order = c("At least 30", "Under 30"), # welke p-hat aftrekken
success = "Yes", # welke responsewaarde meetellen
alternative = "two-sided", # soort alternatieve hypothese
correct = FALSE # Yates' continuïteitscorrectie toepassen?
)
# A tibble: 1 x 6
  statistic chisq_df   p_value alternative lower_ci upper_ci
      <dbl>    <dbl>     <dbl> <chr>          <dbl>    <dbl>
1      17.8        1 0.0000248 two.sided     0.0605    0.165
Hypothesis Testing in R

Laten we oefenen!

Hypothesis Testing in R

Preparing Video For Download...