p-värden

Hypotestestning i R

Richie Cotton

Data Evangelist at DataCamp

Brottmål

  • Två möjliga verkliga tillstånd.
    1. Den åtalade begick brottet.
    2. Den åtalade begick inte brottet.
  • Två möjliga utfall.
    1. Skyldig.
    2. Inte skyldig.
  • Den åtalade presumeras inledningsvis vara oskyldig.
  • Om bevisen är "bortom rimligt tvivel" visar att den åtalade begick brottet, döms personen som "skyldig", annars som "inte skyldig".
Hypotestestning i R

Ålder vid första programmeringserfarenhet

  • age_first_code_cut klassificerar när Stack Overflow-användaren började programmera
    1. "adult" innebär att de började vid 14 års ålder eller senare
    2. "child" innebär att de började före 14 års ålder
  • Tidigare forskning tyder på att 35 % av mjukvaruutvecklare började programmera som barn
  • Ger vårt urval stöd för att datavetare i högre utsträckning började programmera som barn?
Hypotestestning i R

Definitioner

En hypotes är ett påstående om en okänd populationsparameter.

Ett hypotestest testar två konkurrerande hypoteser mot varandra.

  • Nollhypotesen ($H_{0}$) är den etablerade "mästaren".

  • Alternativhypotesen ($H_{A}$) är forskarens nya "utmanare".

För vårt problem

  • $H_{0}$: Andelen datavetare som började programmera som barn är densamma som för mjukvaruutvecklare (35 %).
  • $H_{A}$: Andelen datavetare som började programmera som barn är större än 35 %.
1 "Naught" är brittisk engelska för "noll". Av historiska skäl är "H-naught" den internationella konventionen för att uttala nollhypotesen.
Hypotestestning i R
  • Två möjliga verkliga tillstånd.
    1. Den åtalade begick brottet.
    2. Den åtalade begick inte brottet.
  • Två möjliga utfall.
    1. Skyldig.
    2. Inte skyldig.
  • Den åtalade presumeras inledningsvis vara oskyldig.
  • Om bevisen är "bortom rimligt tvivel" visar att den åtalade begick brottet, döms personen som "skyldig", annars som "inte skyldig".
  • I verkligheten är antingen $H_{A}$ eller $H_{0}$ sann (men inte båda).
  • Testet utmynnar antingen i "förkasta $H_{0}$" eller "misslyckas med att förkasta $H_{0}$".
  • Inledningsvis antas nollhypotesen $H_{0}$ vara sann.
  • Om urvalsdata ger "signifikanta" bevis för $H_{A}$, väljs den hypotesen, annars väljs $H_{0}$.

Signifikansnivån motsvarar "bortom rimligt tvivel" vid hypotestestning.

Hypotestestning i R

Ensidiga och tvåsidiga test

Täthetskurva för standardnormalfördelningens pdf där mitten är dold och bara svansarna visas.

Hypotestest avgör om teststatistikan hamnar i svansarna av nollfördelningen.

Test Svansar
alternativet skiljer sig från noll tvåsidigt
alternativet större än noll högersidigt
alternativet mindre än noll vänstersidigt

$H_{A}$: Andelen datavetare som började programmera som barn är större än 35 %.

Vår alternativhypotes använder "större än", så vi behöver ett högersidigt test.

Hypotestestning i R

p-värden

  • Ju större p-värde, desto starkare stöd för $H_{0}$.
  • Ju mindre p-värde, desto starkare bevis mot $H_{0}$.
  • Små p-värden innebär att statistikan ligger i svansen av nollfördelningen (fördelningen av statistikan om nollhypotesen vore sann).
    • "p" i p-värde står för sannolikhet.
    • För p-värden innebär "litet" att värdet är "nära noll".
Hypotestestning i R

Definiera p-värden

Ett p-värde är

sannolikheten att observera en teststatistika

lika extrem eller mer extrem

än vad som observerades i vårt ursprungliga urval,

under antagandet att nollhypotesen är sann.

Hypotestestning i R

Beräkna z-poängen

prop_child_samp <- stack_overflow %>%
  summarize(point_estimate = mean(age_first_code_cut == "child")) %>%
  pull(point_estimate)
0.388
prop_child_hyp <- 0.35
std_error <- 0.0096028
z_score <- (prop_child_samp - prop_child_hyp) / std_error
3.956
Hypotestestning i R

Beräkna p-värdet

  • pnorm() är normalfördelningens CDF.
  • Vänstersidigt test → använd standardvärdet lower.tail = TRUE.
  • Högersidigt test → sätt lower.tail = FALSE.

 

p_value <- pnorm(z_score, lower.tail = FALSE)
3.818e-05
Hypotestestning i R

Nu kör vi en övning!

Hypotestestning i R

Preparing Video For Download...