Hypothesetoetsen in Python
James Chapman
Curriculum Manager, DataCamp
age_first_code_cut classificeert wanneer een Stack Overflow-gebruiker startte met programmeren"adult" betekent start op 14 jaar of ouder"child" betekent start vóór 14 jaarEen hypothese is een uitspraak over een onbekende populatieparameter
Een hypothesetest is een test van twee concurrerende hypothesen
De nulhypothese ($H_{0}$) is de bestaande aanname
De alternatieve hypothese ($H_{A}$) is het nieuwe, uitdagende idee van de onderzoeker
Voor ons probleem:
Significantieniveau is de variant van "beyond a reasonable doubt" bij hypothesetesten

Hypothesetests checken of de steekproefstatistiek in de staarten van de nulverdeling ligt
| Test | Staarten |
|---|---|
| alternatief anders dan nul | tweezijdig |
| alternatief groter dan nul | rechtszijdig |
| alternatief kleiner dan nul | linkszijdig |
$H_{A}$: Het aandeel data scientists dat als kind met programmeren begon is groter dan 35%
Dit is een rechtszijdige test

p-waarden: kans op het waargenomen resultaat, uitgaande van de nulhypothese
prop_child_samp = (stack_overflow['age_first_code_cut'] == "child").mean()
0.39141972578505085
prop_child_hyp = 0.35
std_error = np.std(first_code_boot_distn, ddof=1)
0.010351057228878566
z_score = (prop_child_samp - prop_child_hyp) / std_error
4.001497129152506
norm.cdf() is de normale CDF uit scipy.stats.norm.cdf().1 - norm.cdf().
from scipy.stats import norm
1 - norm.cdf(z_score, loc=0, scale=1)
3.1471479512323874e-05
Hypothesetoetsen in Python