numpy.random.RandomState.multinomial¶
方法
-
RandomState.
multinomial
(n, pvals, size=None)¶ 从多项式分布中提取样本。
多项式分布是二项式分布的多元概括。做一个实验
p
可能的结果。这种实验的一个例子是掷骰子,结果可以是1到6。从分布中提取的每个样本表示 n 这样的实验。它的价值观,X_i = [X_0, X_1, ..., X_p]
,表示结果的次数i
.参数: - n : 利息
实验次数。
- 帕瓦尔 : 浮点数序列,长度p
每个的概率
p
不同的结果。这些应该加起来是1(但是,只要sum(pvals[:-1]) <= 1)
.- size : int或int的元组,可选
输出形状。如果给定的形状是,例如,
(m, n, k)
然后m * n * k
取样。默认值为无,在这种情况下返回单个值。
返回: - out : 恩达雷
提取的样品,形状 size ,如果提供的话。如果不是,形状是
(N,)
.换句话说,每个条目
out[i,j,...,:]
是从分布中提取的N维值。
实例
掷骰子20次:
>>> np.random.multinomial(20, [1/6.]*6, size=1) array([[4, 1, 7, 5, 2, 1]])
它在1号着陆4次,在2号着陆一次,等等。
现在,掷骰子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])