我能够使用以下代码行从所需大小的概率数组生成二项式样本(输出应与输入概率数组形状的大小相同)
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]]
如何推广这个以使输出与二项式相同(输出样本形状=输入概率形状?
答案 0 :(得分:3)
我担心你必须手动循环prob_array
。 pvals
目前仅限于单个一维概率阵列。