Testets styrka

Grunderna i inferens med Python

Paul Savala

Assistant Professor of Mathematics

Vad avgör styrkan?

Urvalsstorlek Effektstorlek Alfa
En bild som visar en stor grupp människor. En bild som visar en patient som får läkemedel. En bild av ett konfidensintervall på nittiofem procent.
Grunderna i inferens med Python

Simulera viktminskningsdata

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)
Grunderna i inferens med Python

T-test

$H_0$: Ingen skillnad i viktminskning (fel)

$H_a$: Behandlingsgruppen går ned i vikt (rätt)

Slutledning: Förkastar korrekt $H_0$ till förmån för $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
Grunderna i inferens med Python

Litet urval

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

Slutledning: Misslyckas att förkasta H0 (fel)

Grunderna i inferens med Python

Liten effektstorlek

# 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
Grunderna i inferens med Python

Liten effekt? Stort urval!

En liten grupp människor som står bredvid en stor grupp människor.

Grunderna i inferens med Python

Vad är testets styrka?

Om det finns en signifikant effekt – upptäcker vårt test den?

Ett förstoringsglas som visar bakterier på en tecknad hand.

Testets styrka: Om alternativhypotesen (Ha) stämmer, hur stor är sannolikheten att testet förkastar nollhypotesen (H0) givet tillgängliga data?

Beräkna styrkan innan du samlar in ett urval

Grunderna i inferens med Python

Beräkna styrkan

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

Låg sannolikhet att detektera effekten!

Grunderna i inferens med Python

Lösa för styrkan

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

print(nobs1)
13735.26
Grunderna i inferens med Python

Nu kör vi en övning!

Grunderna i inferens med Python

Preparing Video For Download...