标准偏差在这里和其他任何地方一样适用:它提供了有关数据分散的有用信息。特别是,sd 除以样本大小的平方根是一个标准误差:它估计了均值抽样分布的离散度。让我们计算一下:
3.2%/10000−−−−−√=0.032%=0.00032.
那是很小的——远小于±0.50%您寻求的精度。
虽然数据不是正态分布的,但样本均值非常接近正态分布,因为样本量很大。 例如,这里是一个与你的特征相同的样本的直方图,在它的右边是来自同一总体的一千个额外样本的平均值的直方图。
它看起来非常接近正常,不是吗?
因此,尽管您似乎正确引导,但不需要引导:对称100−α%像往常一样,通过将标准误差乘以标准正态分布的适当百分位数来获得平均值的置信区间(即,Z1−α/200) 并将该距离移动到平均值的任一侧。在你的情况下,Z1−α/200=2.5758, 所以99%置信区间为
(0.977−2.5758(0.032)/10000−−−−−√, 0.977+2.5758(0.032)/10000−−−−−√)=(97.62%,97.78%).
通过反转该关系以求解样本量,可以找到足够的样本量。在这里它告诉我们您需要一个样本大小
(3.2%/(0.5%/Z1−α/200))2≈272.
这足够小,我们可能想要重新检查平均值的抽样分布是正态的结论。 我画了一个样本272来自我的人口并引导其平均值(对于9999迭代):
果然,看起来很正常。事实上,自举置信区间(97.16%,98.21%)与正常理论 CI 几乎相同(97.19%,98.24%).
正如这些例子所示,绝对样本量决定了估计的准确性,而不是人口规模的比例。 (一个极端但直观的例子是,一滴海水可以准确估计海洋中盐的浓度,即使那一滴海水只占所有海水的一小部分。)为了你所说的目的,获取一个样本的10000(这需要超过36工作量是样本的两倍272) 是矫枉过正。
R
执行这些分析并绘制这些图形的代码如下。它从具有 Beta 分布的群体中采样,平均值为0.977和标准差0.032.
set.seed(17)
#
# Study a sample of 10,000.
#
Sample <- rbeta(10^4, 20.4626, 0.4817)
hist(Sample)
hist(replicate(10^3, mean(rbeta(10^4, 20.4626, 0.4817))),xlab="%",main="1000 Sample Means")
#
# Analyze a sample designed to achieve a CI of width 1%.
#
(n.sample <- ceiling((0.032 / (0.005 / qnorm(1-0.005)))^2))
Sample <- rbeta(n.sample, 20.4626, 0.4817)
cat(round(mean(Sample), 3), round(sd(Sample), 3)) # Sample statistics
se.mean <- sd(Sample) / sqrt(length(Sample)) # Standard error of the mean
cat("CL: ", round(mean(Sample) + qnorm(0.005)*c(1,-1)*se.mean, 5)) # Normal CI
#
# Compare the bootstrapped CI of this sample.
#
Bootstrapped.means <- replicate(9999, mean(sample(Sample, length(Sample), replace=TRUE)))
hist(Bootstrapped.means)
cat("Bootstrap CL:", round(quantile(Bootstrapped.means, c(0.005, 1-0.005)), 5))