比例的置信区间:原理、计算与应用

比例的置信区间:原理、计算与应用

比例的置信区间基本概念

我们也可以基于样本数据计算总体比例的置信区间。置信区间的基础是将正态近似应用于二项分布。回顾离散和连续概率分布,二项分布是一种离散随机变量的概率分布,其中实验只有两种可能的结果。比例测量样本中的成功次数。例如,如果50名调查对象中有10名表示他们计划在未来12个月内进行国际旅行,那么比例是10/50,即0.2或20%。请注意,”成功”一词不一定意味着积极的结果。例如,研究人员可能对美国成年人中的吸烟者比例感兴趣,而吸烟者数量将被视为成功次数。

比例的置信区间定义

比例的置信区间是一个范围,表示总体比例可能落在该范围内的概率。例如,95%的置信区间意味着如果我们重复进行抽样和计算过程,大约95%的置信区间会包含总体比例的真实值。

比例的置信区间的重要性
  • 估计总体比例的可能范围
  • 量化估计的不确定性
  • 支持决策制定和假设检验
  • 适用于只有两种可能结果的离散随机变量

术语定义与使用条件

术语定义

p

总体比例,通常未知

样本比例

x

样本中的成功次数

n

样本大小

使用条件

使用比例的置信区间方法需要满足以下条件:

  1. 从总体中随机选择样本
  2. 验证二项分布的正态近似是否合适,确保np̂n(1-p̂)都至少为5
示例:验证正态近似条件

假设我们有一个样本,其中n=100,p̂=0.3。验证是否满足正态近似条件:

  • np̂ = 100 × 0.3 = 30 ≥ 5 ✓
  • n(1-p̂) = 100 × (1-0.3) = 70 ≥ 5 ✓

由于两个条件都满足,可以使用正态近似来构建置信区间。

比例的置信区间计算

样本比例的计算

样本比例p̂计算为成功次数除以样本大小:

p̂ = x/n
比例的置信区间计算

比例的置信区间的边际误差(E. 根据以下公式计算:

E = zc × √[p̂(1-p̂)/n]

其中:

  • zc:正态分布的临界值,计算为包含置信水平对应面积的z分数
  • :样本比例
  • n:样本大小

一旦计算出边际误差,置信区间的构建方式为:

置信区间下限 = p̂ – E
置信区间上限 = p̂ + E
示例4.5:吸烟者比例的置信区间

问题:一位医学研究人员想知道美国成年人吸烟者的比例是否与五年前(约28%)相比有统计学上的显著变化。研究人员随机选择了1500名成年人,其中360人回答他们是吸烟者。计算成年人吸烟的真实总体比例的95%置信区间,并确定与五年前相比,吸烟者比例是否有统计学上的显著变化。

解答:

  1. 计算样本比例:p̂ = x/n = 360/1500 = 0.24
  2. 验证正态近似条件:
    • np̂ = 1500 × 0.24 = 360 ≥ 5 ✓
    • n(1-p̂) = 1500 × (1-0.24) = 1140 ≥ 5 ✓
  3. 对于95%置信水平,zc = 1.96
  4. 计算边际误差:E = 1.96 × √[0.24 × (1-0.24)/1500] ≈ 0.0216
  5. 构建置信区间:
    • 下限 = 0.24 – 0.0216 = 0.2184
    • 上限 = 0.24 + 0.0216 = 0.2616

因此,95%置信区间为[0.2184, 0.2616],即[21.84%, 26.16%]。由于五年前的比例28%不在这个区间内,我们可以得出结论,吸烟者比例有统计学上的显著下降。

样本量确定

均值的置信区间的样本量确定

当确定均值的置信区间时,可以使用以下最小样本量公式来确定实现特定边际误差所需的最小样本量:

n = (zc × σ / E)2

其中:

  • zc:正态分布的临界值
  • σ:总体标准差
  • E:期望的边际误差
注意:对于样本量计算,结果应向上取整到下一个整数。例如,如果公式结果为59.2,则样本量应取60。
示例4.6:化学工程师平均薪水的样本量

问题:一位福利分析师对化学工程师平均薪水的90%置信区间感兴趣。如果期望的边际误差为1000美元,分析师应该使用多大的样本量?假设总体标准差为8000美元。

解答:

  1. 对于90%置信水平,zc = 1.645
  2. 计算样本量:n = (1.645 × 8000 / 1000)2 = (13.16)2 ≈ 173.19
  3. 向上取整:n = 174

因此,分析师应该使用至少174个样本。

比例的置信区间的样本量确定

比例的样本量可以通过以下公式推导:

n = p̂(1-p̂) × (zc / E)2

其中:

  • zc:正态分布的临界值
  • :样本比例
  • E:期望的边际误差
确定样本量
  • 如果有样本比例的先验估计,则应使用该先验估计
  • 如果没有样本比例的先验估计,则使用p̂=0.5
示例4.7:选民调查的样本量

问题:政治候选人史密斯计划进行一项调查,以确定计划投票给史密斯的选民比例的95%置信区间。应该调查多少人?假设边际误差为3%。

情况1:假设没有计划投票给候选人史密斯的选民比例的先验估计

  1. 使用p̂=0.5
  2. 对于95%置信水平,zc = 1.96
  3. 计算样本量:n = 0.5 × (1-0.5) × (1.96 / 0.03)2 = 0.25 × (65.33)2 ≈ 1067.11
  4. 向上取整:n = 1068

情况2:假设根据先前的选举结果,大约42%的人之前投票给候选人史密斯

  1. 使用p̂=0.42
  2. 对于95%置信水平,zc = 1.96
  3. 计算样本量:n = 0.42 × (1-0.42) × (1.96 / 0.03)2 = 0.2436 × (65.33)2 ≈ 1039.98
  4. 向上取整:n = 1040

因此,如果没有先验估计,应该调查1068人;如果有先验估计42%,则应该调查1040人。

自助法(Bootstrapping)

自助法定义

在之前讨论的置信区间中,需要满足某些要求才能使用估计方法。例如,当计算均值的置信区间时,要求样本大小至少为30,或已知底层总体服从正态分布。当计算比例的置信区间时,要求验证二项分布的正态近似是否合适,确保np̂和n(1-p̂)都至少为5。

当这些要求不满足时,研究人员应该怎么做?幸运的是,有另一种称为”自助法”的方法可以用来在底层分布未知或其中一个条件不满足时找到置信区间。这种自助法涉及重复进行有放回抽样。

有放回抽样

有放回抽样意味着当选择一个样本时,该样本被放回数据集中,然后再选择下一个样本。例如,赌场发牌人计划从标准的52张牌中抽取两张牌的样本。如果抽样是有放回的,那么在选择第一张牌的样本后,这张牌会被放回牌组中,然后再选择第二张牌。这意味着相同的数据值可以在给定样本中出现多次,因为一旦数据值被选为样本,它会被放回数据集中,并有资格再次被选为样本。

自助法的步骤
  1. 从大小为n的随机样本开始
  2. 收集许多大小为n的随机自助样本(通常数百或数千个),抽样是有放回的
  3. 对于每个样本,计算样本统计量(样本均值x̄或样本比例p̂)
  4. 将样本统计量从小到大排序
  5. 对于95%的置信区间,在排序数据中找到百分位数P2.5和P97.5
  6. 对于90%的置信区间,找到百分位数P5和P95
示例4.8:学生年龄的置信区间

问题:一位大学管理员正在开发新的营销材料以增加学院的入学率,管理员对学生平均年龄的90%置信区间感兴趣。

管理员认为年龄的底层分布是偏斜的(不服从正态分布),因此将使用自助法来构建置信区间。管理员随机选择了20名学生,并记录了他们的年龄,如下表所示。使用自助法通过重复抽取大小为10的样本来构建90%的置信区间。

学生ID 学生年龄
00122
00224
00321
00434
00529
00623
00721
00820
00919
01021
01125
01228
01322
01437
01524
01631
01723
01819
01926
02020

使用Python实现自助法:

Python
import numpy as np import matplotlib.pyplot as plt # 学生年龄数据 ages = np.array([22, 24, 21, 34, 29, 23, 21, 20, 19, 21, 25, 28, 22, 37, 24, 31, 23, 19, 26, 20]) # 自助法函数 def bootstrap(data, n_bootstrap=1000, sample_size=10): bootstrap_means = [] for _ in range(n_bootstrap): # 有放回抽样 sample = np.random.choice(data, size=sample_size, replace=True) # 计算样本均值 bootstrap_means.append(np.mean(sample)) return np.array(bootstrap_means) # 执行自助法 bootstrap_means = bootstrap(ages, n_bootstrap=10000, sample_size=10) # 计算90%置信区间 lower = np.percentile(bootstrap_means, 5) upper = np.percentile(bootstrap_means, 95) print(f"90%置信区间: [{lower:.2f}, {upper:.2f}]") # 绘制自助法分布 plt.figure(figsize=(10, 6)) plt.hist(bootstrap_means, bins=30, density=True, alpha=0.7, color='skyblue') plt.axvline(lower, color='red', linestyle='--', label=f'5%分位数: {lower:.2f}') plt.axvline(upper, color='red', linestyle='--', label=f'95%分位数: {upper:.2f}') plt.axvline(np.mean(ages), color='green', linestyle='-', label=f'原始样本均值: {np.mean(ages):.2f}') plt.title('自助法样本均值分布') plt.xlabel('样本均值') plt.ylabel('密度') plt.legend() plt.show()

通过自助法,我们得到了学生平均年龄的90%置信区间。这种方法不依赖于年龄分布的正态性假设,因此适用于偏斜分布的情况。

进一步探索:模拟置信区间

许多网站和资源,如在线教科书《在线统计教育:多媒体学习课程》(http://onlinestatbook.com/)(项目负责人:David M. Lane,莱斯大学),允许用户使用模拟样本数据模拟均值或比例的置信区间。观察有多少区间包含总体均值或总体比例的假设值是有用的。Stapplet网站提供了类似的工具。

置信区间模拟的意义
  • 直观理解置信水平的含义
  • 观察样本量对置信区间宽度的影响
  • 理解置信区间与假设检验的关系
  • 验证置信区间的覆盖概率
示例:使用Python模拟置信区间
Python
import numpy as np import matplotlib.pyplot as plt import seaborn as sns # 设置参数 population_mean = 50 population_std = 10 sample_size = 30 confidence_level = 0.95 n_simulations = 100 # 计算临界值 z_critical = np.abs(np.stats.norm.ppf((1 - confidence_level) / 2)) # 存储置信区间和是否包含总体均值 intervals = [] contains_population_mean = [] # 模拟过程 for _ in range(n_simulations): # 生成样本 sample = np.random.normal(population_mean, population_std, sample_size) # 计算样本统计量 sample_mean = np.mean(sample) sample_std = np.std(sample, ddof=1) # 计算边际误差 margin_of_error = z_critical * (sample_std / np.sqrt(sample_size)) # 计算置信区间 lower_bound = sample_mean - margin_of_error upper_bound = sample_mean + margin_of_error # 存储结果 intervals.append((lower_bound, upper_bound)) contains_population_mean.append(lower_bound <= population_mean <= upper_bound) # 计算包含总体均值的比例 containment_rate = np.mean(contains_population_mean) print(f"包含总体均值的置信区间比例: {containment_rate:.2f}") # 绘制置信区间 plt.figure(figsize=(12, 8)) for i, (lower, upper) in enumerate(intervals): color = 'green' if contains_population_mean[i] else 'red' plt.plot([i, i], [lower, upper], color=color, linewidth=1.5) plt.scatter(i, (lower + upper) / 2, color=color, s=10) plt.axhline(y=population_mean, color='blue', linestyle='--', label=f'总体均值: {population_mean}') plt.title(f'{n_simulations}个95%置信区间(包含率: {containment_rate:.2f})') plt.xlabel('模拟编号') plt.ylabel('置信区间') plt.legend() plt.show()

这种模拟可以帮助我们直观地理解置信区间的含义。在理想情况下,大约95%的置信区间应该包含总体均值。通过多次模拟,我们可以验证这一理论,并观察样本量、总体变异等因素对置信区间的影响。

总结

比例的置信区间是统计推断中的重要工具,它允许我们基于样本数据估计总体比例的可能范围。通过正态近似二项分布的方法,我们可以计算比例的置信区间,但需要满足一定的条件,如样本大小和成功次数的要求。

样本量确定是置信区间应用中的关键环节,它直接影响估计的精确度。对于均值的置信区间,样本量取决于总体标准差、期望的边际误差和置信水平;对于比例的置信区间,样本量还取决于样本比例的先验估计。

当传统方法的条件不满足时,自助法提供了一种强大的非参数替代方案。通过重复有放回抽样,自助法可以在不依赖分布假设的情况下构建置信区间,特别适用于偏斜分布或小样本情况。

通过模拟置信区间,我们可以更直观地理解置信水平的含义,并验证理论上的覆盖概率。这些工具和方法共同构成了比例置信区间的完整框架,为实际应用提供了坚实的理论基础和实践指导。

发表评论

人生梦想 - 关注前沿的计算机技术 acejoy.com 🐾 步子哥の博客 🐾 背多分论坛 🐾 知差(chai)网 🐾 DeepracticeX 社区 🐾 老薛主机 🐾