Потужність критерію

Основи інференції в Python

Paul Savala

Assistant Professor of Mathematics

Що визначає потужність?

Sample size Effect size Alpha
Зображення великої групи людей. Зображення пацієнта, який отримує ліки. Зображення 95-відсоткового довірчого інтервалу.
Основи інференції в Python

Імітація даних про схуднення

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)
Основи інференції в Python

t‑критерій

$H_0$: Різниці у схудненні немає (хибно)

$H_a$: Експериментальна група худне (вірно)

Висновок: Правильно відхиляємо $H_0$ на користь $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
Основи інференції в Python

Малий обсяг вибірки

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

Висновок: Не відхиляємо H0 (хибно)

Основи інференції в Python

Малий розмір ефекту

# 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
Основи інференції в Python

Малий ефект? Велика вибірка!

Невелика група людей поруч із великою групою.

Основи інференції в Python

Визначення потужності критерію

Якщо ефект істотний, чи виявить його наш критерій?

Лупа, що показує мікроби на мультяшній руці.

Потужність критерію: якщо істинною є альтернативна гіпотеза (Ha), наскільки ймовірно, що наш критерій відхилить нульову (H0) з огляду на подані дані?

Обчисліть потужність до збирання вибірки

Основи інференції в Python

Обчислення потужності

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

Низький шанс виявлення!

Основи інференції в Python

Розв'язання на потужність

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

print(nobs1)
13735.26
Основи інференції в Python

Давайте потренуємось!

Основи інференції в Python

Preparing Video For Download...