2012-02-13 6 views
0

У меня повторный биномиальный тест (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), но я не могу полностью обвести вокруг себя голову.

+0

Вы говорите, что он слишком неэффективен, но откуда вы знаете, что он неэффективен? Вы тестировали, или это просто догадка? –

+0

Это не «повторное биномиальное распределение», это просто биномиальное распределение. – ShreevatsaR

ответ

Смежные вопросы