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 已经是一个Generator
或RandomState
实例,则使用该实例。
参见
scipy.stats.binom
二项分布。
numpy.random.Generator.multinomial
从多项分布中抽样。
scipy.stats.multivariate_hypergeom
多元超几何分布。
注意事项
n 应为正整数。的每个元素 p 应该在中场休息的时候 \([0,1]\) 元素的总和应为1。如果它们的总和不是1,则 p 不使用数组,并替换为较早元素遗留的剩余概率。
或者,可以调用该对象(作为函数)来修复 n 和 p 参数,返回一个“冻结的”多项式随机变量:
的概率质量函数
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
功能
pmf
,logpmf
,entropy
,以及cov
支持广播,约定下矢量参数 (x
和p
)被解释为好像沿着最后一个轴的每一行都是单个对象。例如:>>> 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)``
计算多项分布的协方差矩阵。