Výpočet p-hodnot z t-statistik

Testování hypotéz v Pythonu

James Chapman

Curriculum Manager, DataCamp

t-rozdělení

  • t-statistika sleduje t-rozdělení
  • Má parametr zvaný stupně volnosti nebo df
  • Připomíná normální rozdělení, ale má tlustší ocasy

Graf zobrazující hustotu pravděpodobnosti standardního normálního rozdělení ve srovnání s t-rozdělením s 1 stupněm volnosti. T-rozdělení má tlustší ocasy a nižší vrchol uprostřed.

Testování hypotéz v Pythonu

Stupně volnosti

  • Více stupňů volnosti $\rightarrow$ t-rozdělení se blíží normálnímu rozdělení
  • Normální rozdělení $\rightarrow$ t-rozdělení s nekonečným df
  • Stupně volnosti: maximální počet logicky nezávislých hodnot ve výběru

Graf zobrazující hustotu pravděpodobnosti standardního normálního rozdělení ve srovnání s t-rozděleními s různými stupni volnosti. S rostoucím počtem stupňů volnosti se ocasy zužují a vrchol se zvyšuje, čímž se blíží normálnímu rozdělení.

Testování hypotéz v Pythonu

Výpočet stupňů volnosti

  • Dataset obsahuje 5 nezávislých pozorování
  • Čtyři hodnoty jsou 2, 6, 8 a 5
  • Výběrový průměr je 5
  • Poslední hodnota musí být 4
  • Zde jsou 4 stupně volnosti

 

  • $df = n_{child} + n_{adult} - 2$
Testování hypotéz v Pythonu

Hypotézy

$H_{0}$: Střední odměna (v USD) je stejná pro ty, kteří začali programovat jako děti, i pro ty, kteří začali jako dospělí

$H_{A}$: Střední odměna (v USD) je vyšší u těch, kteří začali programovat jako děti, než u těch, kteří začali jako dospělí

 

Použijte pravostranný test

Testování hypotéz v Pythonu

Hladina významnosti

$\alpha = 0.1$

Pokud $p \le \alpha$, zamítněte $H_{0}$.

Testování hypotéz v Pythonu

Výpočet p-hodnot: jeden podíl vs. hodnota

from scipy.stats import norm
1 - norm.cdf(z_score)

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

  • z-statistika: potřebná při odhadování parametru populace z jedné výběrové statistiky

  • t-statistika: potřebná při odhadování parametru populace z více výběrových statistik

Testování hypotéz v Pythonu

Výpočet p-hodnot: dvě střední hodnoty z různých skupin

numerator = xbar_child - xbar_adult
denominator = np.sqrt(s_child ** 2 / n_child + s_adult ** 2 / n_adult)
t_stat = numerator / denominator
1.8699313316221844
degrees_of_freedom = n_child + n_adult - 2
2259
Testování hypotéz v Pythonu

Výpočet p-hodnot: dvě střední hodnoty z různých skupin

  • Použijte CDF t-rozdělení, ne normálního rozdělení
from scipy.stats import t
1 - t.cdf(t_stat, df=degrees_of_freedom)
0.030811302165157595
  • Důkaz, že datoví vědci ze Stack Overflow, kteří začali programovat jako děti, vydělávají více.
Testování hypotéz v Pythonu

Pojďme si procvičit!

Testování hypotéz v Pythonu

Preparing Video For Download...