原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.RandomState.multinomial.html
校对:(虚位以待)
RandomState.
multinomial
(n, pvals, size=None)从多项分布绘制样本。
多项分布是二项分布的多元泛化。进行p
可能结果之一的实验。这样的实验的一个例子是投掷骰子,其中结果可以是1到6。Each sample drawn from the distribution represents n such experiments. 其值X_i = [X_0, X_1, t5> X_p]
表示结果的次数i
。
参数: | n:int
pvals:浮点数,长度p
size:int或tuple的整数,可选
|
---|---|
返回: | out:ndarray
|
例子
投掷骰子20次:
>>> np.random.multinomial(20, [1/6.]*6, size=1)
array([[4, 1, 7, 5, 2, 1]])
它在1次降落4次,在2次降落1次。
现在,投掷骰子20次,再次20次:
>>> np.random.multinomial(20, [1/6.]*6, size=2)
array([[3, 4, 3, 3, 4, 3],
[2, 4, 3, 4, 0, 7]])
对于第一次,我们投掷3次1,4次2等。第二,我们投了2次1,4次2等。
加载的模具更有可能着陆在数字6:
>>> np.random.multinomial(100, [1/7.]*5 + [2/7.])
array([11, 16, 14, 17, 16, 26])
概率输入应该归一化。作为实现细节,忽略最后一个条目的值,并假设它占用任何剩余概率质量,但这不应该依赖。一个偏好的硬币在一侧的重量是另一侧的两倍,应该这样取样:
>>> np.random.multinomial(100, [1.0 / 3, 2.0 / 3]) # RIGHT
array([38, 62])
不喜欢:
>>> np.random.multinomial(100, [1.0, 2.0]) # WRONG
array([100, 0])