У меня повторный биномиальный тест (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), но я не могу полностью обвести вокруг себя голову.
Вы говорите, что он слишком неэффективен, но откуда вы знаете, что он неэффективен? Вы тестировали, или это просто догадка? –
Это не «повторное биномиальное распределение», это просто биномиальное распределение. – ShreevatsaR