本文简要介绍 python 语言中 scipy.stats.multivariate_normal
的用法。
用法:
scipy.stats.multivariate_normal = <scipy.stats._multivariate.multivariate_normal_gen object>#
多元正态随机变量。
mean 关键字指定均值。 cov 关键字指定协方差矩阵。
- mean: 类似数组,默认:
[0]
分布的平均值。
- cov: 数组 或
Covariance
,默认值:[1]
分布的对称正(半)定协方差矩阵。
- allow_singular: 布尔值,默认值:
False
是否允许奇异协方差矩阵。如果出现以下情况,则忽略此设置:冠状病毒是一个
Covariance
对象。- seed: {无,int,np.random.RandomState,np.random.Generator},可选
用于绘制随机变量。如果种子是None, 这RandomState使用单例。如果种子是一个 int,一个新的
RandomState
使用实例,用种子播种。如果种子已经是一个RandomState
或者Generator
实例,然后使用该对象。默认为None.
- mean: 类似数组,默认:
参数 ::
注意:
设置参数意思是到None相当于拥有意思是成为zero-vector。参数冠状病毒可以是标量,在这种情况下,协方差矩阵是单位乘以该值、协方差矩阵对角线条目的向量、二维 数组 或
Covariance
对象。协方差矩阵冠状病毒可能是子类的实例
Covariance
,例如scipy.stats.CovViaPrecision。如果是这样,allow_singular被忽略。否则,当 allow_singular 为 True 时,cov 必须是对称正半定矩阵;当 allow_singular 为 False 时,它必须是(严格)正定的。不检查对称性;仅使用下三角形部分。 cov 的行列式和倒数分别计算为 pseudo-determinant 和 pseudo-inverse,因此 cov 不需要具有满秩。
multivariate_normal
的概率密度函数为其中 是平均值, 协方差矩阵, 的秩。在单数 的情况下,SciPy 根据 [1] 扩展此定义。
参考:
[1]多元正态分布 - 简并情况,维基百科,https://en.wikipedia.org/wiki/Multivariate_normal_distribution#Degenerate_case
例子:
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> from scipy.stats import multivariate_normal
>>> x = np.linspace(0, 5, 10, endpoint=False) >>> y = multivariate_normal.pdf(x, mean=2.5, cov=0.5); y array([ 0.00108914, 0.01033349, 0.05946514, 0.20755375, 0.43939129, 0.56418958, 0.43939129, 0.20755375, 0.05946514, 0.01033349]) >>> fig1 = plt.figure() >>> ax = fig1.add_subplot(111) >>> ax.plot(x, y) >>> plt.show()
或者,可以调用该对象(作为函数)来固定均值和协方差参数,返回 “frozen” 多元正态随机变量:
>>> rv = multivariate_normal(mean=None, cov=1, allow_singular=False) >>> # Frozen object with the same methods but holding the given >>> # mean and covariance fixed.
输入分位数可以是任何形状的数组,只要最后一个轴标记组件即可。例如,这允许我们在 2D 中显示非各向同性随机变量的冻结 pdf,如下所示:
>>> x, y = np.mgrid[-1:1:.01, -1:1:.01] >>> pos = np.dstack((x, y)) >>> rv = multivariate_normal([0.5, -0.2], [[2.0, 0.3], [0.3, 0.5]]) >>> fig2 = plt.figure() >>> ax2 = fig2.add_subplot(111) >>> ax2.contourf(x, y, rv.pdf(pos))
相关用法
- Python SciPy stats.multivariate_hypergeom用法及代码示例
- Python SciPy stats.multivariate_t用法及代码示例
- Python SciPy stats.multiscale_graphcorr用法及代码示例
- Python SciPy stats.multinomial用法及代码示例
- 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.multivariate_normal。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。