本文简要介绍 python 语言中 scipy.stats.dirichlet_multinomial
的用法。
用法:
scipy.stats.dirichlet_multinomial = <scipy.stats._multivariate.dirichlet_multinomial_gen object>#
狄利克雷多项式随机变量。
狄利克雷多项分布是一种复合概率分布:它是具有试验次数的多项分布n和类别概率
p
从具有浓度参数的狄利克雷分布中随机采样alpha
.- alpha: array_like
浓度参数。沿最后一个轴的条目数决定了分布的维数。每个条目必须严格为正数。
- n: int 或 数组
试验次数。每个元素必须是严格的正整数。
- seed: {无,int,np.random.RandomState,np.random.Generator},可选
用于绘制随机变量。如果种子是None, 这RandomState使用单例。如果种子是一个 int,一个新的
RandomState
使用实例,用种子播种。如果种子已经是一个RandomState
或者Generator
实例,然后使用该对象。默认为None.
参数 ::
参考:
[1]Dirichlet-multinomial分布,维基百科,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]])
或者,可以调用该对象(作为函数)来修复scipy.stats.alpha和n参数,返回“frozen” Dirichlet 多项式随机变量。
>>> dm = dirichlet_multinomial(alpha, n) >>> dm.pmf(x) 0.08484162895927579
所有方法都是完全矢量化的。的每个元素x和scipy.stats.alpha是一个向量(沿着最后一个轴),每个元素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)
相关用法
- Python SciPy stats.dirichlet用法及代码示例
- Python SciPy stats.directional_stats用法及代码示例
- Python SciPy stats.differential_entropy用法及代码示例
- Python SciPy stats.dweibull用法及代码示例
- Python SciPy stats.dunnett用法及代码示例
- Python SciPy stats.dgamma用法及代码示例
- Python SciPy stats.describe用法及代码示例
- Python SciPy stats.dlaplace用法及代码示例
- 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.invwishart用法及代码示例
- Python SciPy stats.bartlett用法及代码示例
- Python SciPy stats.levy_stable用法及代码示例
- Python SciPy stats.page_trend_test用法及代码示例
- Python SciPy stats.itemfreq用法及代码示例
- Python SciPy stats.exponpow用法及代码示例
- Python SciPy stats.gumbel_l用法及代码示例
- Python SciPy stats.chisquare用法及代码示例
- Python SciPy stats.semicircular用法及代码示例
- Python SciPy stats.gzscore用法及代码示例
- Python SciPy stats.gompertz用法及代码示例
注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.stats.dirichlet_multinomial。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。