python中的多项式样本生成

时间:2014-08-31 09:36:42

标签: python numpy random-sample

我能够使用以下代码行从所需大小的概率数组生成二项式样本(输出应与输入概率数组形状的大小相同)

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]]

如何推广这个以使输出与二项式相同(输出样本形状=输入概率形状?

1 个答案:

答案 0 :(得分:3)

我担心你必须手动循环prob_arraypvals目前仅限于单个一维概率阵列。