从重复的二项分布中取样
我有一个重复的二项检验(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),但我有点搞不清楚怎么操作。