Testowanie hipotez w Pythonie
James Chapman
Curriculum Manager, DataCamp
age_first_code_cut klasyfikuje, kiedy użytkownik Stack Overflow zaczął programować"adult" oznacza rozpoczęcie w wieku 14 lat lub później"child" oznacza rozpoczęcie przed 14. rokiem życiaHipoteza to twierdzenie o nieznanym parametrze populacji
Test hipotez to test dwóch konkurujących hipotez
Hipoteza zerowa ($H_{0}$) to istniejące przekonanie
Hipoteza alternatywna ($H_{A}$) to nowa „konkurencyjna" idea badacza
Dla naszego problemu:
Poziom istotności odpowiada „ponad wszelką wątpliwość" w testowaniu hipotez

Testy hipotez sprawdzają, czy statystyki próby leżą w ogonach rozkładu zerowego
| Test | Ogony |
|---|---|
| hipoteza alternatywna różna od zerowej | dwustronny |
| hipoteza alternatywna większa od zerowej | prawostronny |
| hipoteza alternatywna mniejsza od zerowej | lewostronny |
$H_{A}$: Odsetek data scientistów, którzy zaczęli programować jako dzieci, jest większy niż 35%
To jest test prawostronny

Wartość p: prawdopodobieństwo uzyskania danego wyniku przy założeniu, że hipoteza zerowa jest prawdziwa
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() to dystrybuanta rozkładu normalnego z scipy.stats.norm.cdf().1 - norm.cdf().
from scipy.stats import norm
1 - norm.cdf(z_score, loc=0, scale=1)
3.1471479512323874e-05
Testowanie hipotez w Pythonie