Poder de um teste

Fundamentos de Inferência em Python

Paul Savala

Assistant Professor of Mathematics

O que determina o poder?

Tamanho da amostra Tamanho do efeito Alfa
Uma imagem mostrando um grande grupo de pessoas. Uma imagem mostrando um paciente recebendo medicação. Uma imagem de um intervalo de confiança de noventa e cinco por cento.
Fundamentos de Inferência em Python

Simulando dados de perda de peso

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)
Fundamentos de Inferência em Python

Teste t

$H_0$: Sem diferença na perda de peso (falso)

$H_a$: O grupo tratado perde peso (verdadeiro)

Conclusão: Rejeitar $H_0$ a favor de $H_a$ corretamente.

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
Fundamentos de Inferência em Python

Amostra pequena

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

Conclusão: Falha em rejeitar H0 (incorreto)

Fundamentos de Inferência em Python

Efeito pequeno

# 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
Fundamentos de Inferência em Python

Efeito pequeno? Amostra grande!

Um pequeno grupo de pessoas ao lado de um grande grupo.

Fundamentos de Inferência em Python

Definindo o poder de um teste

Se houver um efeito significativo, nosso teste vai detectá-lo?

Uma lupa mostrando germes em uma mão de desenho.

Poder de um teste: Se a hipótese alternativa (Ha) for verdadeira, qual a chance de o teste rejeitar a nula (H0) com os dados fornecidos?

Calcule o poder antes de coletar a amostra

Fundamentos de Inferência em Python

Calculando o poder

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

Baixa chance de detecção!

Fundamentos de Inferência em Python

Resolvendo para o poder

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

print(nobs1)
13735.26
Fundamentos de Inferência em Python

Vamos praticar!

Fundamentos de Inferência em Python

Preparing Video For Download...