Eén-steekproef proportietesten

Hypothesis Testing in R

Richie Cotton

Data Evangelist at DataCamp

Hoofdstuk 1 samenvatting

  • Is een claim over een onbekende populatieproportie haalbaar?
  • Standaardfout van steekproefstatistiek berekend met bootstrapverdeling.
  • Die gebruikten we om een gestandaardiseerde teststatistiek te berekenen, ...
  • waarmee we een p-waarde berekenden, ...
  • waarmee we kozen welke hypothese het meest logisch was.
  • Nu berekenen we de teststatistiek zonder de bootstrapverdeling.
Hypothesis Testing in R

Gestandaardiseerde teststatistiek voor proporties

$p$: populatieproportie (onbekende populatieparameter)

$\hat{p}$: steekproefproportie (steekproefstatistiek)

$p_{0}$: veronderstelde populatieproportie

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

Als $H_{0}$ waar is, $p = p_{0}$, dus

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

Hypothesis Testing in R

Eenvoudiger standaardfoutberekeningen

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

Aangenomen dat $H_{0}$ waar is,

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

Dit gebruikt alleen steekproefinfo ($\hat{p}$ en $n$) en de veronderstelde parameter ($p_{0}$).

Hypothesis Testing in R

Waarom z in plaats van 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$ wordt uit $\bar{x}$ berekend, dus $\bar{x}$ schat zowel het populatiegemiddelde als de populatiestandaarddeviatie.
  • Dit vergroot de onzekerheid in onze schatting van de populatieparameter.
  • t-verdeling heeft dikkere staarten dan een normale verdeling.
  • Dat geeft extra voorzichtigheid.
  • $\hat{p}$ staat alleen in de teller, dus z-scores zijn prima.
Hypothesis Testing in R

Stack Overflow-leeftijdscategorieën

$H_{0}$: Het aandeel SO-gebruikers onder de dertig is gelijk aan 0,5.

$H_{A}$: Het aandeel SO-gebruikers onder de dertig is niet gelijk aan 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
Hypothesis Testing in R

Variabelen voor 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
Hypothesis Testing in R

De z-score berekenen

$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
Hypothesis Testing in R

De p-waarde berekenen

CDF van de normale verdeling. Het deel links van -2 is rood; het deel rechts van 2 is groen. Linkerstaart ("kleiner dan")

p_value <- pnorm(z_score) 

Rechterstaart ("groter dan")

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

Tweeledig ("niet gelijk aan")

p_value <- pnorm(z_score) + 
  pnorm(z_score, lower.tail = FALSE)
p_value <- 2 * pnorm(z_score)
0.000244
p_value <= alpha
TRUE
Hypothesis Testing in R

Laten we oefenen!

Hypothesis Testing in R

Preparing Video For Download...