scipy.stats.dirichlet_multinomial#

scipy.stats.dirichlet_multinomial = <scipy.stats._multivariate.dirichlet_multinomial_gen object>[source]#

狄利克雷多分布随机变量。

狄利克雷多项式分布是一个复合概率分布:它是在浓度参数 alpha 的狄利克雷分布中随机抽取的次数 n 和类概率 p 的多项式分布。

参数:
alphaarray_like

浓度参数。最后一个轴上的条目数量确定分布的维度。每个条目必须是严格正数。

nint 或 array_like

试验次数。每个元素都必须是严格的正整数。

seed{None, int, np.random.RandomState, np.random.Generator},可选

用于绘制任一样本。如果seedNoneRandomState单例将被使用。如果seed是int,一个新的RandomState实例将被使用,并以seed播种。如果seed已经是RandomStateGenerator实例,那么该对象将被使用。默认值是None

另请参阅

scipy.stats.dirichlet

狄利克雷分布。

scipy.stats.multinomial

多项分布。

参考文献

[1]

狄利克雷 - 多项分布,维基百科,https://www.wikipedia.org/wiki/Dirichlet-multinomial_distribution

示例

>>> from scipy.stats import dirichlet_multinomial

获取PMF

>>> n = 6  # number of trials
>>> alpha = [3, 4, 5]  # concentration parameters
>>> x = [1, 2, 3]  # counts
>>> dirichlet_multinomial.pmf(x, alpha, n)
0.08484162895927604

如果类别的计数和不等于试验的次数,那么概率质量为零。

>>> dirichlet_multinomial.pmf(x, alpha, n=7)
0.0

获取PMF的对数

>>> dirichlet_multinomial.logpmf(x, alpha, n)
-2.4669689491013327

获得均值

>>> dirichlet_multinomial.mean(alpha, n)
array([1.5, 2. , 2.5])

获取方差

>>> dirichlet_multinomial.var(alpha, n)
array([1.55769231, 1.84615385, 2.01923077])

获得协方差

>>> dirichlet_multinomial.cov(alpha, n)
array([[ 1.55769231, -0.69230769, -0.86538462],
       [-0.69230769,  1.84615385, -1.15384615],
       [-0.86538462, -1.15384615,  2.01923077]])

或者,可以将对象称为(作为函数)修复alphan参数,返回“冻结”的狄利克雷多项离散随机变量。

>>> dm = dirichlet_multinomial(alpha, n)
>>> dm.pmf(x)
0.08484162895927579

所有方法都已完全矢量化。xalpha的每个元素都是一个向量(沿着最后一个轴),n的每个元素都是一个整数(标量),结果按元计算。

>>> x = [[1, 2, 3], [4, 5, 6]]
>>> alpha = [[1, 2, 3], [4, 5, 6]]
>>> n = [6, 15]
>>> dirichlet_multinomial.pmf(x, alpha, n)
array([0.06493506, 0.02626937])
>>> dirichlet_multinomial.cov(alpha, n).shape  # both covariance matrices
(2, 3, 3)

支持根据标准 NumPy 约定进行广播。这里,我们为三个试验次数(每个都是一个标量)中的每一个设置了四组集中参数(每个都是一个二维向量)。

>>> alpha = [[3, 4], [4, 5], [5, 6], [6, 7]]
>>> n = [[6], [7], [8]]
>>> dirichlet_multinomial.mean(alpha, n).shape
(3, 4, 2)

方法

logpmf(x, alpha, n)

概率质量函数的对数。

pmf(x, alpha, n)

概率质量函数。

mean(alpha, n)

狄利克雷多项分布的均值。

var(alpha, n)

狄利克雷多项分布的方差。

cov(alpha, n)

狄利克雷多项分布的协方差。