如何在 python 中计算二项式置信区间


二项式概率的置信区间使用以下公式计算:

置信区间 = p +/- z*(√ p(1-p) / n )

金子:

  • p: “成功”的比例
  • z:选择的z值
  • n:样本量

在 Python 中计算此类置信区间的最简单方法是使用statsmodels包中的ratio_confint()函数:

 proportion_confint ( count , nobs , alpha = 0.05 , method = ' normal ' )

金子:

  • count : 成功次数
  • nobs :尝试总数
  • alpha :显着性水平(默认为 0.05)
  • method :用于置信区间的方法(默认为“正常”)

下面的例子展示了如何在实际中使用这个功能。

示例:在 Python 中计算二项式置信区间

假设我们想要估计一个县中支持某项法律的居民比例。

我们决定随机抽取 100 名居民作为样本,发现其中 56 人赞成该法律。

我们可以使用proportion_confint()函数来计算全县中拥有该法律的居民的真实比例的95%置信区间:

 from statsmodels. stats . proportion import proportion_confint

#calculate 95% confidence interval with 56 successes in 100 trials
proportion_confint(count= 56 , nobs= 100 )

(0.4627099463758483, 0.6572900536241518)

支持该法律的县居民真实比例的 95% 置信区间为[.4627, .6573]

默认情况下,该函数使用渐近正态近似来计算置信区间。但是,我们可以使用方法参数来使用不同的方法。

例如,R 编程语言中用于计算二项式置信区间的默认函数是 Wilson 得分区间。

在Python中计算置信区间时,我们可以使用以下语法来指定该方法:

 from statsmodels. stats . proportion import proportion_confint

#calculate 95% confidence interval with 56 successes in 100 trials
proportion_confint(count= 56 , nobs= 100 , method=' wilson ')

(0.4622810465167698, 0.6532797336983921)

这告诉我们,支持该法律的县居民真实比例的 95% 置信区间是[.4623, .6533]

该置信区间与使用正态近似计算的置信区间略有不同。

请注意,我们还可以调整alpha值来计算不同的置信区间。

例如,我们可以将 alpha 设置为 0.10 来计算 90% 的置信区间:

 from statsmodels. stats . proportion import proportion_confint

#calculate 90% confidence interval with 56 successes in 100 trials
proportion_confint(count= 56 , nobs= 100 , alpha= 0.10 , method=' wilson ')

(0.47783814499647415, 0.6390007285095451)

这告诉我们,支持该法律的县居民真实比例的 90% 置信区间是[.4778, .6390]

注意:您可以在此处找到ratio_confint()函数的完整文档。

其他资源

以下教程解释了如何在 Python 中执行其他常见操作:

如何在 Python 中绘制置信区间
如何在 Python 中使用二项式分布

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注