统计分析

统计中的 Power (功率) 和 PowerAnalysis

2021-03-12  本文已影响0人  数科每日

Power

Power:可以正确拒绝零假设的概率,是一个0-1 的值。

在统计中, 我们常常遇到这样一类问题: 比较2组样本是否存在差异(来自于相同的总体)。比如:

在做这类分析时,都要先确定一个 零假设, 零假设往往是意味着“没有变化”。 比如

实验的目的就要找出足够强的证据(p<0.05),推翻零假设。 如果不能推翻(p>0.05) 那么就只能承认零假设代表的含义了。

进行实验往往要耗费大量人力,物力, 所以所有实验都希望能够“找出潜在的差异”。 一般来说 ,样本数量越大,越容易找出差异。 但是收集样本是有代价的, 有时候代价还很高(比如临床实验), 所以就需要有一个工具, 能够指导实验设计人员判断出实验需要多少样本。 在该样本数下, 既可以一定概率找出差异, 也可以不浪费钱。 “一定概率” 指的就是 Power。

差异越大,Power 越高

如下图, 如果我们从两个总体中,各随机抽取3个样本进行分析。大概率说, 上图更容易分析出差异。

image.png image.png

样本数量越多, 越容易找到差距

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

image.png
image.png

Power Analysis

上面讨论了 Power, 但都是直观的概念, 用在实践中, 必须要有可以量化的工具, 可以计算出具体数值。 Power Analysis 的功能就是计算在不同要求下, 到底需要多少样本的方法。

与功率相关的因素:

至于如何计算, 已经超出本文的讨论范围, 这里给出一个基于 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 的关系
image.png

参考资料

  1. Statistical Power, Clearly Explained!!!
  2. Power Analysis, Clearly Explained!!!
  3. Power of a test
  4. INTRODUCTION TO POWER ANALYSIS
上一篇下一篇

猜你喜欢

热点阅读