如何在 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 中执行其他常见操作: