Power
Power:可以正确拒绝零假设的概率,是一个0-1 的值。
在统计中, 我们常常遇到这样一类问题: 比较2组样本是否存在差异(来自于相同的总体)。比如:
- 服用了实验药品的治疗组和服用安慰剂的对照组,是否存在差异(药品是否有效)?
- 两个不同的商品展示页面, 是否对用户购买商品有不同的影响?
在做这类分析时,都要先确定一个 零假设, 零假设往往是意味着“没有变化”。 比如
- 药品没有疗效。
- 不同页面对用户没有影响。
实验的目的就要找出足够强的证据(p<0.05),推翻零假设。 如果不能推翻(p>0.05) 那么就只能承认零假设代表的含义了。
进行实验往往要耗费大量人力,物力, 所以所有实验都希望能够“找出潜在的差异”。 一般来说 ,样本数量越大,越容易找出差异。 但是收集样本是有代价的, 有时候代价还很高(比如临床实验), 所以就需要有一个工具, 能够指导实验设计人员判断出实验需要多少样本。 在该样本数下, 既可以一定概率找出差异, 也可以不浪费钱。 “一定概率” 指的就是 Power。
差异越大,Power 越高
如下图, 如果我们从两个总体中,各随机抽取3个样本进行分析。大概率说, 上图更容易分析出差异。


样本数量越多, 越容易找到差距
根据中心极限定理, 随着样本数量增加, 样本均值就越接近总体均值。 也就意味着随着样本数量增加, 我们获得样本均值越接近总体均值。 如果两个总体均值确实不同, 那么越接近总体均值, 两个样本均值之间的距离就越大。 如下图, 在样本数量为 1, 2 , 10 的时候, 样本均值随着样本数量逐渐变得集中。 于是,我们也就越可能找到差异(Power 越大)。


Power Analysis
上面讨论了 Power, 但都是直观的概念, 用在实践中, 必须要有可以量化的工具, 可以计算出具体数值。 Power Analysis 的功能就是计算在不同要求下, 到底需要多少样本的方法。
与功率相关的因素:
- Effect Size : 衡量2个随机变量的相关强度的指标。 关于这个指标如何取,有很多方法,甚至有一些书专门讨论在不同场合下如何取值。 一个最简单的方法是两组样本均值差, 除以池化的标准差。 池化标准差 (pooled standard deviation)(两组样本方差均值的平方根)
- 样本数量
- 显著性(Significance): p-value 需要大于多少,该值越小,结果越可信, 但是需要的样本数量越高。
- Power :推翻零假设(找到差异)的概率, 一般实验中取 0.8 (或者 0.9 )。
至于如何计算, 已经超出本文的讨论范围, 这里给出一个基于 T-test 的计算样本数量的方法。
计算实验需要样本多少 (Python)
# estimate sample size via power analysis
from statsmodels.stats.power import TTestIndPower
# parameters for power analysis
effect = 0.8
alpha = 0.05
power = 0.8
# perform power analysis
analysis = TTestIndPower()
result = analysis.solve_power(effect, power=power, nobs1=None, ratio=1.0, alpha=alpha)
print('Sample Size: %.3f' % result)
在不同 Effect Size 下, 样本数量与Power 的关系

- 在同样样本数量的情况下, Effect Size 越大, power 越高。
- 在同样的 Power 下, Effect Size 越大, 所需样本越少。
网友评论