# Works fine
np.random.binomial(n = 1, [0.1, 0.3], 2)
# Raises an exception
np.random.binomial(n = 1, [0.1, 0.3], 1)
# Works fine also if the list has length 1
np.random.binomial(n = 1, [0.1], 20)
为了回答你的问题,n=2的二项分布产生从0到2的数字。看看Binomial distribution definition。我不会详细说明,因为这是数学,而不是编码。 函数调用np.random.binomial(n = 2, p = [0.1, 0.5, 0.4])将生成三个二项式分布样本,每个样本为B(2, 0.1)、B(2, 0.5)和B(2, 0.4)。 我想你主要问题的答案现在已经很清楚了,如果你用二项式函数来做一个取1的概率为0.1的伯努利实验,你应该写:
1条答案
按热度按时间11dmarpk1#
我看了一下函数实现。
二项分布中的参数
n
表示我们要进行多少次伯努利实验。在二项分布中,p
表示每次伯努利实验的等概率。那么
p
的列表对于二项分布意味着什么呢?没有。在这个函数中,作为p
参数的list_of_p
的概率列表将产生与len(list_of_p)
一样多的样本。这个函数将检查list_of_p
中的每个元素是否在0和1之间。在
list_of_p
中的所有元素都相同的特定情况下,我们可以使用第三个参数:size
。也就是说,这两行是等价的:所以,如果我们可以告诉函数,我们需要两个不同参数的样本数,我们可以给予函数矛盾的信息,对吗?,是的,但是如果我们这样做,函数会引发错误。
为了回答你的问题,
n=2
的二项分布产生从0到2的数字。看看Binomial distribution definition。我不会详细说明,因为这是数学,而不是编码。函数调用
np.random.binomial(n = 2, p = [0.1, 0.5, 0.4])
将生成三个二项式分布样本,每个样本为B(2, 0.1)
、B(2, 0.5)
和B(2, 0.4)
。我想你主要问题的答案现在已经很清楚了,如果你用二项式函数来做一个取1的概率为0.1的伯努利实验,你应该写: