Síla testu

Základy statistické inference v Pythonu

Paul Savala

Assistant Professor of Mathematics

Co určuje sílu testu?

Velikost vzorku Velikost efektu Alfa
Obrázek velké skupiny lidí. Obrázek pacienta dostávajícího léčbu. Obrázek 95% intervalu spolehlivosti.
Základy statistické inference v Pythonu

Simulace dat o úbytku hmotnosti

from scipy.stats import norm


# Control group: Mean 0 pounds, std 1 pound
control = norm.rvs(loc=0,
scale=1,
size=100)
# Treatment group: Mean -2 pounds, std 1 pound
treatment = norm.rvs(loc=-2, scale=1, size=100)
Základy statistické inference v Pythonu

T-test

$H_0$: Žádný rozdíl v úbytku hmotnosti (nesprávná)

$H_a$: Léčená skupina hubne (správná)

Závěr: Správně zamítáme $H_0$ ve prospěch $H_a$.

from scipy.stats import ttest_ind


# Conduct a t-test alpha = 0.05 t_test = ttest_ind(treatment, control, alternative='less')
# Check the significance print(t_test.pvalue < alpha)
TRUE
Základy statistické inference v Pythonu

Malá velikost vzorku

control = norm.rvs(loc=0, scale=1, size=5)
treatment = norm.rvs(loc=-2, scale=1, size=5)

# Conduct a t-test tt = ttest_ind(treatment, control, alternative='less')
print(tt.pvalue < 0.05)
FALSE

Závěr: Nezamítáme H0 (nesprávně)

Základy statistické inference v Pythonu

Malá velikost efektu

# Weight loss = 0.2 pounds, sample size = 100

treatment = norm.rvs(loc=-0.2, scale=1, size=100)
# Conduct a t-test t_test = ttest_ind(treatment, control, alternative='less')
print(t_test.pvalue < 0.05)
FALSE
Základy statistické inference v Pythonu

Malý efekt? Velký vzorek!

Malá skupina lidí stojí vedle velké skupiny lidí.

Základy statistické inference v Pythonu

Definice síly testu

Pokud existuje významný efekt, odhalí ho náš test?

Lupa zobrazující zárodky na nakreslené ruce.

Síla testu: Pokud je alternativní hypotéza (Ha) pravdivá, jak pravděpodobně náš test zamítne nulovou hypotézu (H0) na základě dodaných dat?

Sílu vypočítejte před sběrem vzorku

Základy statistické inference v Pythonu

Výpočet síly testu

from statsmodels.stats import power
# Power function
tt_power = power.TTestIndPower()


# Calculate power pwr = tt_power.power(effect_size=0.2,
nobs1=100,
alpha=0.05)
print(pwr)
0.291

Nízká pravděpodobnost detekce!

Základy statistické inference v Pythonu

Řešení pro sílu testu

nobs1 = TTestIndPower().solve_power(effect_size=-0.2, 
                                    nobs1=None, # Solve for
                                    alpha=0.05,
                                    power=0.8)

print(nobs1)
13735.26
Základy statistické inference v Pythonu

Pojďme procvičovat!

Základy statistické inference v Pythonu

Preparing Video For Download...