跳到主要内容

样本量计算公式

这两个公式用于简单随机抽样的前期规划,目的是确定构建单个总体均值或比例置信区间所需的样本量。注意,公式本身不保证统计显著性或结果的可推广性。如果涉及聚类设计、有限总体、预期无应答或假设检验,还需要额外的调整或不同的公式。

1. 估计总体均值

若要达到指定的置信水平和精度来估计总体均值,样本量 nn 的计算公式为:

n=(Zα/2×σE)2n = \left(\frac{Z_{\alpha/2} \times \sigma}{E}\right)^2

参数说明:

  • nn:所需样本量
  • Zα/2Z_{\alpha/2}:正的上尾临界值;对 ZN(0,1)Z\sim N(0,1),定义为 P(Z>Zα/2)=α/2P(Z>Z_{\alpha/2})=\alpha/2,即 1α/21-\alpha/2 分位数(95% 置信水平下约为 1.96)
  • σ\sigma:总体标准差的估计值
  • EE:目标置信区间半宽,单位与均值相同;不保证实际误差一定小于这个值

示例:均值样本量计算

假设研究要求 95% 置信水平,估计总体标准差 σ=10\sigma = 10,误差范围 E=2E = 2

import math
from statistics import NormalDist

confidence_level = 0.95
sigma = 10
E = 2
Z = NormalDist().inv_cdf((1 + confidence_level) / 2)
n = math.ceil((Z * sigma / E)**2)
print(n) # 97

2. 估计总体比例

若要在给定误差范围内估计总体比例,样本量 nn 的计算公式为:

n=Zα/22×p×(1p)E2n = \frac{Z_{\alpha/2}^2 \times p \times (1 - p)}{E^2}

参数说明:

  • pp:总体中目标属性比例的估计值
  • EE:误差范围

示例:比例样本量计算

假设问卷调查预计约 50% 的人持肯定态度,置信水平 95%,目标区间半宽为五个百分点:

import math
from statistics import NormalDist

confidence_level = 0.95
p = 0.5
E = 0.05
Z = NormalDist().inv_cdf((1 + confidence_level) / 2)
n = math.ceil(Z**2 * p * (1 - p) / E**2)
print(n) # 385

关键注意事项:

  1. 向上取整:计算结果要向上取整,得到所需的有效观测数。向下取整可能使规划中的区间半宽超过目标;向上取整也不保证实际估计误差一定小于目标。
  2. 标准差估计:均值公式依赖于 σ\sigma 的合理先验估计。
  3. 保守估计:若没有 pp 的先验估计,取 p=0.5p=0.5 是最保守的做法(此时 p(1p)p(1-p) 最大,样本量需求最高)。
  4. 修正系数:若预期存在无应答,需放大样本量;若使用加权或聚类设计,需计入设计效应(Design Effect)。

推导与解释

置信水平为 1α1-\alpha 时,基于正态分布的均值区间半宽为 Zα/2σ/nZ_{\alpha/2}\sigma/\sqrt n。要求它不超过 E>0E>0,再对 nn 求解,就得到第一个公式。伯努利观测的方差为 p(1p)p(1-p),代入即可得到比例公式。因为 p(1p)=1/4(p1/2)2p(1-p)=1/4-(p-1/2)^2,在不知道 pp 时,取 p=0.5p=0.5 会使规划所需样本量最大。

两个算例分别需要 97 个和 385 个有效观测。比例算例的误差是绝对值 0.05,即五个百分点,不是估计比例的 5%。两个代码块都可以仅用 Python 标准库独立运行。将 EE 减半,所需样本量大致增至四倍。

这些是正态近似下的规划公式。σ\sigma 已知且数据独立正态时,均值区间是精确的;其他总体则依赖合适的中心极限定理近似。若 σ\sigma 未知且样本小,可能需要迭代使用 t 分布,并考虑预调查标准差的不确定性。比例接近零或一时,正态近似可能很差;不能代入 p=0p=0p=1p=1 就认定无需数据,而应选择二项分布区间方法,按其宽度规划。

有限总体与应答率

从规模为 NN 的有限总体中进行不放回简单随机抽样时,样本比例的方差会乘以 (Nn)/(N1)(N-n)/(N-1)。若 n0n_0 是上面比例公式尚未取整的结果,对 nn 求解可得:

nfinite=Nn0N+n01.n_{\mathrm{finite}}=\left\lceil\frac{Nn_0}{N+n_0-1}\right\rceil.

例如 N=1000N=1000、置信水平 95%、p=0.5p=0.5E=0.05E=0.05 时,n0384.146n_0\approx384.146,修正后需要 278 个有效回答。若预计应答率为 0.8,邀请 278/0.8=348\lceil278/0.8\rceil=348 人只能给出期望数量,不是保证。如果是否应答与研究结果有关,这项运算不会让最终样本仍然满足简单随机抽样。多邀请一些人本身不能消除无应答偏差。

若要规划“检测某个差异”的检验功效,还需效应量、目标功效、检验方法及组间分配。这与按指定区间宽度估计一个均值或比例,是不同的规划问题。

参考资料

探索关联打开关联网络