scipy.stats.

协方差#

class scipy.stats.Covariance[source]#

协方差矩阵的表示

涉及协方差矩阵的计算(例如,数据白化,多元正态函数评估)通常使用协方差矩阵的分解而不是协方差矩阵本身来更有效地执行。 此类允许用户使用几种分解中的任何一种构造表示协方差矩阵的对象,并使用通用接口执行计算。

注意

Covariance 类不能直接实例化。 而是使用工厂方法之一(例如 Covariance.from_diagonal)。

属性:
covariance

协方差矩阵的显式表示

log_pdet

协方差矩阵的伪行列式的对数

rank

协方差矩阵的秩

shape

协方差数组的形状

方法

colorize(x)

对数据执行着色变换。

from_cholesky(cholesky)

通过(下)Cholesky因子提供的协方差的表示

from_diagonal(diagonal)

从对角线返回协方差矩阵的表示。

from_eigendecomposition(eigendecomposition)

通过特征分解提供的协方差的表示

from_precision(precision[, covariance])

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

whiten(x)

对数据执行白化变换。

示例

Covariance 类通过调用其工厂方法之一来创建一个 Covariance 对象,然后将协方差矩阵的该表示形式作为多元分布的形状参数传递来使用。

例如,多元正态分布可以接受表示协方差矩阵的数组

>>> from scipy import stats
>>> import numpy as np
>>> d = [1, 2, 3]
>>> A = np.diag(d)  # a diagonal covariance matrix
>>> x = [4, -2, 5]  # a point of interest
>>> dist = stats.multivariate_normal(mean=[0, 0, 0], cov=A)
>>> dist.pdf(x)
4.9595685102808205e-08

但是计算以非常通用的方式执行,没有利用协方差矩阵的任何特殊属性。 因为我们的协方差矩阵是对角的,所以我们可以使用 Covariance.from_diagonal 来创建一个表示协方差矩阵的对象,并且 multivariate_normal 可以使用它来更有效地计算概率密度函数。

>>> cov = stats.Covariance.from_diagonal(d)
>>> dist = stats.multivariate_normal(mean=[0, 0, 0], cov=cov)
>>> dist.pdf(x)
4.9595685102808205e-08