首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Bootstrap方法计算95%的置信区间

如何使用Bootstrap方法计算95%的置信区间
EN

Stack Overflow用户
提问于 2016-11-08 23:57:53
回答 3查看 15.1K关注 0票数 8

我正在尝试使用python中的bootstrap方法来计算平均值的置信区间。假设我有一个包含100个条目的向量a,我的目标是使用bootstrap计算这100个值的平均值及其95%的置信区间。到目前为止,我已经使用np.random.choice函数从我的向量中重新采样了1000次。然后,对于每个包含100个条目的bootstrap向量,我计算了平均值。所以现在我有1000个bootstrap平均值和来自我的初始向量的单个样本平均值,但我不确定如何继续。我如何使用这些平均值来找到初始向量平均值的置信区间?我是python的新手,这是我第一次接触bootstrap方法,所以如果有任何帮助,我将不胜感激。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-11-09 00:02:50

您可以对包含1000个均值的数组进行排序,并使用第50个和第950个元素作为90%的引导置信区间。

你的1000个均值的集合基本上是均值估计器的分布(均值的抽样分布)的样本。所以,你可以对一个发行版本中的样本执行的任何操作,都可以在这里执行。

票数 7
EN

Stack Overflow用户

发布于 2017-04-11 01:05:20

我有一个简单的统计解决方案:置信区间基于标准误差。在你的例子中,标准误差是1000自举均值的标准偏差。假设您的参数(均值)的抽样分布为正态分布,这应该由中心极限定理的性质保证,只需将期望置信区间的等效z分数乘以标准差即可。因此:

下限= bootstrap均值- 1.96 *标准。dev.你的自举意味着

上限= bootstrap均值+ 1.96 *标准。dev.你的自举意味着

正态分布中95%的情况与平均值的标准差在1.96以内

希望这能有所帮助

票数 5
EN

Stack Overflow用户

发布于 2016-11-09 00:13:22

首先,我建议你加深对bootstrapping方法及其用法的理解,主要思想是处理数据缺乏的情况,而你想要复制更多的数据。

其次,关于置信区间,您可以使用威尔逊评分区间,它旨在帮助您对二项式模型进行排名。 I found this Ipython notebook解释了您所要求的内容

威尔逊区间的一个简短示例

代码语言:javascript
复制
import math


def ci(positive, n, z):
    # z = 1.96
    phat = positive / n

    return (phat + z * z / (2 * n) - z * math.sqrt((phat * (1 - phat) + z * z / (4 * n)) / n)) / (1 + z * z / n), \
           (phat + z * z / (2 * n) + z * math.sqrt((phat * (1 - phat) + z * z / (4 * n)) / n)) / (1 + z * z / n)


sample_size = [50, 100, 200, 400, 8000]
z_rate_confidence = {'95%': 1.96, '90%': 1.92, '75%': 1.02}
success_rate = [0.6, 0.7, 0.8]
for confidence, z in z_rate_confidence.iteritems():
    print 'confidence: '+confidence + '\n'
    for n in sample_size:
        print 'sample size: ',n
        for s in success_rate:
            print ci(s * n, n, z)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40491298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档