Moc testu

Podstawy wnioskowania statystycznego w Pythonie

Paul Savala

Assistant Professor of Mathematics

Co wpływa na moc testu?

Rozmiar próby Rozmiar efektu Alfa
Obraz przedstawiający dużą grupę ludzi. Obraz przedstawiający pacjenta przyjmującego lek. Obraz przedstawiający 95-procentowy przedział ufności.
Podstawy wnioskowania statystycznego w Pythonie

Symulacja danych dotyczących utraty wagi

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)
Podstawy wnioskowania statystycznego w Pythonie

Test t

$H_0$: Brak różnicy w utracie wagi (błędna)

$H_a$: Grupa leczona traci na wadze (poprawna)

Wniosek: Prawidłowe odrzucenie $H_0$ na korzyść $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
Podstawy wnioskowania statystycznego w Pythonie

Mały rozmiar próby

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

Wniosek: Brak podstaw do odrzucenia H0 (błąd)

Podstawy wnioskowania statystycznego w Pythonie

Mały rozmiar 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
Podstawy wnioskowania statystycznego w Pythonie

Mały efekt? Duża próba!

Mała grupa ludzi stojąca obok dużej grupy.

Podstawy wnioskowania statystycznego w Pythonie

Definicja mocy testu

Czy test wykryje istotny efekt, jeśli istnieje?

Lupa ukazująca drobnoustroje na dłoni z kreskówki.

Moc testu: Jeśli hipoteza alternatywna (Ha) jest prawdziwa, jakie jest prawdopodobieństwo odrzucenia hipotezy zerowej (H0) na podstawie dostarczonych danych?

Oblicz moc przed zebraniem próby

Podstawy wnioskowania statystycznego w Pythonie

Obliczanie mocy 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

Niskie prawdopodobieństwo wykrycia!

Podstawy wnioskowania statystycznego w Pythonie

Wyznaczanie mocy testu

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

print(nobs1)
13735.26
Podstawy wnioskowania statystycznego w Pythonie

Czas na ćwiczenia!

Podstawy wnioskowania statystycznego w Pythonie

Preparing Video For Download...