在一个样本中计算比例的置信区间

5
当样本量很小,甚至样本量为1时,计算比例置信区间(CI)的更好方法是什么?
我目前使用以下方式计算单个样本中比例的CI: enter image description here 然而,我的样本量非常小,有时甚至只有1。我还尝试了使用以下公式来近似计算小样本中比例p的(1-α)100%置信区间: enter image description here

具体而言,我正在尝试实现这两个公式来计算比例的置信区间。如下图所示,在2018-Q1时,蓝色组没有置信区间,因为在2018-Q1有1个人选择了该项。如果使用有限人口修正(FPC),则在N等于1时不会修正CI。 因此,我的问题是什么是解决100%比例的小样本问题的最佳统计方法。

enter image description here

  • 如果您能提供一个用Python计算它的包,那就太好了!谢谢!

要求我们推荐或寻找书籍、工具、软件库、教程或其他外部资源的问题,因为它们往往会吸引带有个人观点的答案和垃圾邮件,所以在 Stack Overflow 上是不被允许的。相反,请描述问题以及已经采取的解决方案。 - scopchanov
1个回答

6

尝试使用statsmodels.stats.proportion.proportion_confint函数

http://www.statsmodels.org/devel/generated/statsmodels.stats.proportion.proportion_confint.html

根据文档,您可以按照以下方式使用它:

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

参数如下:

  • count (int或array_array_like) - 成功次数,可以是pandas Series或DataFrame
  • nobs (int) - 总试验次数
  • alpha (float在(0, 1)之间) - 显著性水平,默认为0.05
  • method (string in ['normal']) - 置信区间使用的方法,目前可用的方法有:

    • normal:渐近正态逼近
    • agresti_coull:Agresti-Coull区间
    • beta:基于Beta分布的Clopper-Pearson区间
    • wilson:Wilson得分区间
    • jeffreys:Jeffreys贝叶斯区间
    • binom_test:实验性质,反转binom_test

2
感谢您建议使用Python包计算CI。 Brown,LD,Cat,TT和DasGupta,A(2001)。关于比例的区间估计。统计科学16:101-133建议对于小n来说使用Wilson或Jeffreys方法,而对于较大的n则可以采用Agresti-Coull,Wilson或Jeffreys方法。 - Sharedobe
谢谢您提供这段代码。然而,我不确定应该选择哪种方法——normal还是binom_test。我已经从A/B测试中聚合了数据,例如总会话数、有订单的会话数。我可以从这两个数据中得到比率。您有什么想法吗? - Death Metal
1
假设您的数据是定量的,您可以减去两个数据并查看差异是否与零显著不同,或者只是两个正态分布。当您有一系列真/假(伯努利试验)并希望找到成功率的置信区间时,二项式分布是适当的。如果您有数字分布,则正态分布是适当的。 - Kelvin Wang
@KelvinWang 谢谢您宝贵的评论,非常感激。 :) - Death Metal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接