为什么这个numpy multinominal方法运行时没有任何错误?

时间:2015-10-03 16:01:41

标签: python statistics probability

我跑了以下一行:

np.random.multinomial(10, [1/5., 1/5., 1/5., 1/5., 1/5., 1/5.])

并生成输出

array([3, 4, 0, 0, 3, 0])

这意味着当我将6面骰子滚动10次时,上述输出表示特定面出现次数的频率计数。这里,第1侧出现3次,第2侧出现4次,依此类推。

我的问题是上述方法不应该抛出错误,因为骰子边的概率值总和为> 0。 1/0?我确信我在这里误解了一些东西,但却无法弄清楚是什么。

2 个答案:

答案 0 :(得分:1)

文档说:

cacheName

这意味着最后一个元素的概率为0 运行这个:

"dict"

您将看到最后一个元素如何永不显示,概率确实为0

答案 1 :(得分:1)

实际上代码只会考虑到pvals总和为1.所以在这种情况下只有前五个总和。所以在你的数组中,无论你运行多少次,第6个元素都将为零。因此,如果你为所有6个元素提供1/3,它将执行就好像掷出3个骰子并且在输出数组中最后3个元素将为零。它不必显示错误。一旦总和达到一个就会停止而只是忽略其他人。这就是语法。 希望这会有所帮助。