从重复的二项分布中取样

0 投票
1 回答
2699 浏览
提问于 2025-04-17 12:57

我有一个重复的二项检验(p = 成功的概率,n = 试验次数)。我想随机生成成功的次数。

我可以生成n个随机数,但这样效率太低了。也就是说,不想这样做:

def successes(p, n):
    count = 0
    for i in xrange(n):
        if random.random() < p:
            count += 1
    return count

我希望这个结果是一个准确的样本(而不是正态分布或其他近似值),因为我会多次使用它来处理高度偏斜的分布。

我觉得可以通过使用密度函数等方法来实现这个目标(http://en.wikipedia.org/wiki/Binomial_distribution#Probability_mass_function),但我有点搞不清楚怎么操作。

1 个回答

2

numpy.random.binomial 这个函数可以做到这一点。

撰写回答