当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy Covariance.from_precision用法及代码示例


本文简要介绍 python 语言中 scipy.stats.Covariance.from_precision 的用法。

用法:

static  Covariance.from_precision(precision, covariance=None)#

从精度矩阵返回协方差的表示。

参数

precision array_like

精度矩阵;即对称正定协方差方阵的逆矩阵。

covariance 数组,可选

方形、对称、正定协方差矩阵。如果未提供,则可能需要计算(例如,评估累积分布函数scipy.stats.multivariate_normal)通过反转精确.

注意

令协方差矩阵为 ,其精度矩阵为 ,并且 为较低的 Cholesky 因子,使得 。数据点 的白化是通过计算 来执行的。 计算为 ,其中 操作按元素执行。

Covariance 类不支持奇异协方差矩阵,因为奇异协方差矩阵不存在精度矩阵。

例子

准备一个对称正定精度矩阵 P 和一个数据点 x 。 (如果精度矩阵尚不可用,请考虑 Covariance 类的其他工厂方法。)

>>> import numpy as np
>>> from scipy import stats
>>> rng = np.random.default_rng()
>>> n = 5
>>> P = rng.random(size=(n, n))
>>> P = P @ P.T  # a precision matrix must be positive definite
>>> x = rng.random(size=n)

创建 Covariance 对象。

>>> cov = stats.Covariance.from_precision(P)

Covariance 对象的函数与参考实现进行比较。

>>> res = cov.whiten(x)
>>> ref = x @ np.linalg.cholesky(P)
>>> np.allclose(res, ref)
True
>>> res = cov.log_pdet
>>> ref = -np.linalg.slogdet(P)[-1]
>>> np.allclose(res, ref)
True

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.stats.Covariance.from_precision。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。