检验功效

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 推断基础

Passons à la pratique !

Python 推断基础

Preparing Video For Download...