本文简要介绍 python 语言中 scipy.stats.matrix_normal
的用法。
用法:
scipy.stats.matrix_normal = <scipy.stats._multivariate.matrix_normal_gen object>#
矩阵正态随机变量。
mean 关键字指定均值。 rowcov 关键字指定among-row 协方差矩阵。 ‘colcov’ 关键字指定among-column 协方差矩阵。
- mean: 数组,可选
分布的平均值(默认值:无)
- rowcov: 数组,可选
Among-row 分布的协方差矩阵(默认值:1)
- colcov: 数组,可选
Among-column 分布的协方差矩阵(默认值:1)
- seed: {无,int,np.random.RandomState,np.random.Generator},可选
用于绘制随机变量。如果种子是None, 这RandomState使用单例。如果种子是一个 int,一个新的
RandomState
使用实例,用种子播种。如果种子已经是一个RandomState
或者Generator
实例,然后使用该对象。默认为None.
参数 ::
注意:
如果均值设置为无,则使用零矩阵作为均值。如果提供了这些,则从 rowcov 和 colcov 的形状推断该矩阵的维度,如果不明确,则设置为 1。
rowcov 和 colcov 可以是二维的array_likes,直接指定协方差矩阵。或者,一维数组将被解释为对角矩阵的条目,而标量或零维数组将被解释为该值乘以单位矩阵。
由指定的协方差矩阵行科夫和科尔科夫必须是(对称的)正定的。如果样本在X是
, 然后行科夫一定是 和科尔科夫一定是 .意思是必须是相同的形状X.matrix_normal
的概率密度函数为其中 是均值, 是among-row协方差矩阵, 是among-column协方差矩阵。
allow_singular的行为scipy.stats.multivariate_normal目前不支持分发。协方差矩阵必须是满秩的。
matrix_normal
分布与multivariate_normal
分布密切相关。具体来说, (通过连接 的列形成的向量)具有均值 和协方差 (其中 是克罗内克乘积)的多元正态分布。对于矩阵法线,采样和 pdf 评估是 ,但对于等效多元法线,采样和 pdf 评估是 ,使得这种等效形式在算法上效率低下。例子:
>>> import numpy as np >>> from scipy.stats import matrix_normal
>>> M = np.arange(6).reshape(3,2); M array([[0, 1], [2, 3], [4, 5]]) >>> U = np.diag([1,2,3]); U array([[1, 0, 0], [0, 2, 0], [0, 0, 3]]) >>> V = 0.3*np.identity(2); V array([[ 0.3, 0. ], [ 0. , 0.3]]) >>> X = M + 0.1; X array([[ 0.1, 1.1], [ 2.1, 3.1], [ 4.1, 5.1]]) >>> matrix_normal.pdf(X, mean=M, rowcov=U, colcov=V) 0.023410202050005054
>>> # Equivalent multivariate normal >>> from scipy.stats import multivariate_normal >>> vectorised_X = X.T.flatten() >>> equiv_mean = M.T.flatten() >>> equiv_cov = np.kron(V,U) >>> multivariate_normal.pdf(vectorised_X, mean=equiv_mean, cov=equiv_cov) 0.023410202050005054
或者,可以调用对象(作为函数)来固定均值和协方差参数,返回 “frozen” 矩阵正态随机变量:
>>> rv = matrix_normal(mean=None, rowcov=1, colcov=1) >>> # Frozen object with the same methods but holding the given >>> # mean and covariance fixed.
相关用法
- Python SciPy stats.maxwell用法及代码示例
- Python SciPy stats.mannwhitneyu用法及代码示例
- Python SciPy stats.median_abs_deviation用法及代码示例
- Python SciPy stats.multiscale_graphcorr用法及代码示例
- Python SciPy stats.multivariate_normal用法及代码示例
- Python SciPy stats.multivariate_hypergeom用法及代码示例
- Python SciPy stats.mode用法及代码示例
- Python SciPy stats.monte_carlo_test用法及代码示例
- Python SciPy stats.multivariate_t用法及代码示例
- Python SciPy stats.mood用法及代码示例
- Python SciPy stats.moyal用法及代码示例
- Python SciPy stats.mvsdist用法及代码示例
- Python SciPy stats.moment用法及代码示例
- Python SciPy stats.multinomial用法及代码示例
- Python SciPy stats.mielke用法及代码示例
- Python SciPy stats.median_absolute_deviation用法及代码示例
- Python SciPy stats.median_test用法及代码示例
- 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.matrix_normal。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。