scipy.stats.multinomial

scipy.stats.multinomial = <scipy.stats._multivariate.multinomial_gen object>[源代码]

多项式随机变量。

参数
xarray_like

分位数,最后一个轴为 x 表示组件。

n集成

试验次数

parray_like

审判落入每个类别的概率;总和应为1

random_state :{无,整型, numpy.random.Generator{无,整型,

如果 seed 为无(或 np.random )、 numpy.random.RandomState 使用的是Singleton。如果 seed 是一个整型、一个新的 RandomState 实例,其种子设定为 seed 。如果 seed 已经是一个 GeneratorRandomState 实例,则使用该实例。

参见

scipy.stats.binom

二项分布。

numpy.random.Generator.multinomial

从多项分布中抽样。

scipy.stats.multivariate_hypergeom

多元超几何分布。

注意事项

n 应为正整数。的每个元素 p 应该在中场休息的时候 \([0,1]\) 元素的总和应为1。如果它们的总和不是1,则 p 不使用数组,并替换为较早元素遗留的剩余概率。

或者,可以调用该对象(作为函数)来修复 np 参数,返回一个“冻结的”多项式随机变量:

的概率质量函数 multinomial

\[F(X)=\frac{n!}{x_1!\cdots x_k!}p_1^{x_1}\cdots p_k^{x_k},\]

支持于 \(x=(x_1, \ldots, x_k)\) 其中每个 \(x_i\) 是一个非负整数,它们的和是 \(n\)

0.19.0 新版功能.

示例

>>> from scipy.stats import multinomial
>>> rv = multinomial(8, [0.3, 0.2, 0.5])
>>> rv.pmf([1, 3, 4])
0.042000000000000072

的多项式分布 \(k=2\) 与相应的二项分布相同(尽管数值上有微小差异):

>>> from scipy.stats import binom
>>> multinomial.pmf([3, 4], n=7, p=[0.4, 0.6])
0.29030399999999973
>>> binom.pmf(3, 7, 0.4)
0.29030400000000012

功能 pmflogpmfentropy ,以及 cov 支持广播,约定下矢量参数 (xp )被解释为好像沿着最后一个轴的每一行都是单个对象。例如:

>>> multinomial.pmf([[3, 4], [3, 5]], n=[7, 8], p=[.3, .7])
array([0.2268945,  0.25412184])

这里, x.shape == (2, 2)n.shape == (2,) ,以及 p.shape == (2,) ,但是遵循上面提到的规则,它们的行为就像 [3, 4][3, 5] 在……里面 x[.3, .7] 在……里面 p 是一个单一的物体,就好像我们有 x.shape = (2,)n.shape = (2,) ,以及 p.shape = () 。要在不广播的情况下获取单个元素,我们将执行以下操作:

>>> multinomial.pmf([3, 4], n=7, p=[.3, .7])
0.2268945
>>> multinomial.pmf([3, 5], 8, p=[.3, .7])
0.25412184

这个广播也适用于 cov ,其中输出对象是大小的方阵 p.shape[-1] 。例如:

>>> multinomial.cov([4, 5], [[.3, .7], [.4, .6]])
array([[[ 0.84, -0.84],
        [-0.84,  0.84]],
       [[ 1.2 , -1.2 ],
        [-1.2 ,  1.2 ]]])

在此示例中, n.shape == (2,)p.shape == (2, 2) ,并且遵循上面的规则,这些广播就好像 p.shape == (2,) 。因此,结果也应该是有形状的 (2,) ,但由于每个输出都是 \(2 \times 2\) 矩阵,结果实际上是有形状的 (2, 2, 2) ,在哪里 result[0] 等于 multinomial.cov(n=4, p=[.3, .7])result[1] 等于 multinomial.cov(n=5, p=[.4, .6])

方法:

``pmf(x, n, p)``

概率质量函数。

``logpmf(x, n, p)``

概率质量函数的对数。

``rvs(n, p, size=1, random_state=None)``

从多项分布中随机抽取样本。

``entropy(n, p)``

计算多项分布的熵。

``cov(n, p)``

计算多项分布的协方差矩阵。