2014-08-31 2 views
3

Я способен генерировать биномиальные выборки из массива вероятностей в нужном размере (выход должен быть тем же размером формы ввода вероятности массива) с использованием следующих строк кодаполиномиальной генерации образца в Python

prob_list = [[0.3,0.3,0.4],[0.4,0.3,0.3]] 
prob_array = np.asarray(prob_list) 
y_sample = np.random.binomial(size=prob_array.shape, n=1, p=prob_array) 
print(y_sample) 

Выходной сигнал

[[0 0 0] 
[1 1 1]] 

Форма входных вероятностей (2 * 3) и выходных выборок (2 * 3) одинаковы.

Можно ли сделать то же самое с многочленом? Можно создать многочленные образцы для одной строки.

y_sample = np.random.multinomial(size=1, n=1, pvals=prob_array[0]) 
print(y_sample) 
[[1 0 0]] 

Как можно обобщить эту функцию, чтобы получить выход таких же, как бином (выходную форму образца = форму входных вероятностей?

ответ

3

Боится, что вам придется вручную петля на prob_array. pvals в настоящее время ограничиваются являясь единственным одномерным массивом вероятностей.

+2

Спасибо за ваш комментарий. Было бы здорово, если бы у нас была обобщенная версия многочлена. Я открою билет по этой проблеме. – udi