Мощность критерия

Основы статистического вывода на Python

Paul Savala

Assistant Professor of Mathematics

От чего зависит мощность?

Размер выборки Размер эффекта Альфа
Изображение большой группы людей. Изображение пациента, получающего лекарство. Изображение доверительного интервала 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...