Puterea unui test

Bazele inferenței în Python

Paul Savala

Assistant Professor of Mathematics

Ce determină puterea?

Mărimea eșantionului Mărimea efectului Alpha
Imagine cu un grup mare de persoane. Imagine cu un pacient primind medicație. Imagine cu un interval de încredere de 95%.
Bazele inferenței în Python

Simularea datelor de pierdere în greutate

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)
Bazele inferenței în Python

Testul t

$H_0$: Nicio diferență în pierderea în greutate (incorect)

$H_a$: Grupul tratat pierde în greutate (corect)

Concluzie: Se respinge corect $H_0$ în favoarea $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
Bazele inferenței în Python

Eșantion mic

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

Concluzie: Nu se respinge H0 (incorect)

Bazele inferenței în Python

Mărime mică a efectului

# 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
Bazele inferenței în Python

Efect mic? Eșantion mare!

Un grup mic de persoane lângă un grup mare de persoane.

Bazele inferenței în Python

Definirea puterii unui test

Dacă există un efect semnificativ, îl va detecta testul nostru?

O lupă care arată germeni pe o mână desenată.

Puterea unui test: Dacă ipoteza alternativă (Ha) este adevărată, cât de probabil este ca testul să respingă H0 pe baza datelor furnizate?

Calculați puterea înainte de colectarea eșantionului

Bazele inferenței în Python

Calcularea puterii

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

Probabilitate mică de detecție!

Bazele inferenței în Python

Determinarea puterii

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

print(nobs1)
13735.26
Bazele inferenței în Python

Hai să exersăm!

Bazele inferenței în Python

Preparing Video For Download...