样本量计算公式
这两个公式用于简单随机抽样的前期规划,目的是确定构建单个总体均值或比例置信区间所需的样本量。注意,公式本身不保证统计显著性或结果的可推广性。如果涉及聚类设计、有限总体、预期无应答或假设检验,还需要额外的调整或不同的公式。
1. 估计总体均值
若要达到指定的置信水平和精度来估计总体均值,样本量 的计算公式为:
参数说明:
- :所需样本量
- :正的上尾临界值;对 ,定义为 ,即 分位数(95% 置信水平下约为 1.96)
- :总体标准差的估计值
- :目标置信区间半宽,单位与均值相同;不保证实际误差一定小于这个值
示例:均值样本量计算
假设研究要求 95% 置信水平,估计总体标准差 ,误差范围 :
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. 估计总体比例
若要在给定误差范围内估计总体比例,样本量 的计算公式为:
参数说明:
- :总体中目标属性比例的估计值
- :误差范围
示例:比例样本量计算
假设问卷调查预计约 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
关键注意事项:
- 向上取整:计算结果要向上取整,得到所需的有效观测数。向下取整可能使规划中的区间半宽超过目标;向上取整也不保证实际估计误差一定小于目标。
- 标准差估计:均值公式依赖于 的合理先验估计。
- 保守估计:若没有 的先验估计,取 是最保守的做法(此时 最大,样本量需求最高)。
- 修正系数:若预期存在无应答,需放大样本量;若使用加权或聚类设计,需计入设计效应(Design Effect)。
推导与解释
置信水平为 时,基于正态分布的均值区间半宽为 。要求它不超过 ,再对 求解,就得到第一个公式。伯努利观测的方差为 ,代入即可得到比例公式。因为 ,在不知道 时,取 会使规划所需样本量最大。
两个算例分别需要 97 个和 385 个有效观测。比例算例的误差是绝对值 0.05,即五个百分点,不是估计比例的 5%。两个代码块都可以仅用 Python 标准库独立运行。将 减半,所需样本量大致增至四倍。
这些是正态近似下的规划公式。 已知且数据独立正态时,均值区间是精确的;其他总体则依赖合适的中心极限定理近似。若 未知且样本小,可能需要迭代使用 t 分布,并考虑预调查标准差的不确定性。比例接近零或一时,正态近似可能很差;不能代入 或 就认定无需数据,而应选择二项分布区间方法,按其宽度规划。
有限总体与应答率
从规模为 的有限总体中进行不放回简单随机抽样时,样本比例的方差会乘以 。若 是上面比例公式尚未取整的结果,对 求解可得:
例如 、置信水平 95%、、 时,,修正后需要 278 个有效回答。若预计应答率为 0.8,邀请 人只能给出期望数量,不是保证。如果是否应答与研究结果有关,这项运算不会让最终样本仍然满足简单随机抽样。多邀请一些人本身不能消除无应答偏差。
若要规划“检测某个差异”的检验功效,还需效应量、目标功效、检验方法及组间分配。这与按指定区间宽度估计一个均值或比例,是不同的规划问题。