本文简要介绍 python 语言中 scipy.stats.multinomial
的用法。
用法:
scipy.stats.multinomial = <scipy.stats._multivariate.multinomial_gen object>#
多项式随机变量。
- n: int
试验次数
- p: array_like
试验属于每个类别的概率;总和应为 1
- seed: {无,int,np.random.RandomState,np.random.Generator},可选
用于绘制随机变量。如果种子是None, 这RandomState使用单例。如果种子是一个 int,一个新的
RandomState
使用实例,用种子播种。如果种子已经是一个RandomState
或者Generator
实例,然后使用该对象。默认为None.
参数 ::
注意:
n应该是一个非负整数。的每个元素p应该在区间
并且元素的总和应为 1。如果它们的总和不为 1,则p不使用数组,并用较早元素留下的剩余概率替换。multinomial
的概率质量函数为在 上受支持,其中每个 是一个非负整数,它们的总和是 。
例子:
>>> from scipy.stats import multinomial >>> rv = multinomial(8, [0.3, 0.2, 0.5]) >>> rv.pmf([1, 3, 4]) 0.042000000000000072
的多项分布与相应的二项分布相同(尽管存在微小的数值差异):
>>> 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,)
,但遵循上述规则,它们的行为就像x
和p
中的[3, 4]
和[3, 5]
行和p
中的[.3, .7]
行是单个对象,就好像我们有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, 2, 2)
,其中result[0]
等于multinomial.cov(n=4, p=[.3, .7])
并且result[1]
等于multinomial.cov(n=5, p=[.4, .6])
。或者,可以调用该对象(作为函数)来修复 n 和 p 参数,返回 “frozen” 多项式随机变量:
>>> rv = multinomial(n=7, p=[.3, .7]) >>> # Frozen object with the same methods but holding the given >>> # degrees of freedom and scale fixed.
相关用法
- Python SciPy stats.multiscale_graphcorr用法及代码示例
- Python SciPy stats.multivariate_normal用法及代码示例
- Python SciPy stats.multivariate_hypergeom用法及代码示例
- Python SciPy stats.multivariate_t用法及代码示例
- Python SciPy stats.median_abs_deviation用法及代码示例
- Python SciPy stats.mode用法及代码示例
- Python SciPy stats.monte_carlo_test用法及代码示例
- Python SciPy stats.matrix_normal用法及代码示例
- Python SciPy stats.mood用法及代码示例
- Python SciPy stats.moyal用法及代码示例
- Python SciPy stats.maxwell用法及代码示例
- Python SciPy stats.mvsdist用法及代码示例
- Python SciPy stats.moment用法及代码示例
- Python SciPy stats.mielke用法及代码示例
- Python SciPy stats.median_absolute_deviation用法及代码示例
- Python SciPy stats.median_test用法及代码示例
- Python SciPy stats.mannwhitneyu用法及代码示例
- Python SciPy stats.anderson用法及代码示例
- Python SciPy stats.iqr用法及代码示例
- Python SciPy stats.genpareto用法及代码示例
- Python SciPy stats.skewnorm用法及代码示例
- Python SciPy stats.cosine用法及代码示例
- Python SciPy stats.norminvgauss用法及代码示例
- Python SciPy stats.directional_stats用法及代码示例
- Python SciPy stats.invwishart用法及代码示例
注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.stats.multinomial。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。