bundles / scipy latest / scipy / stats / _covariance / Covariance
class
scipy.stats._covariance:Covariance
source: build-install/usr/lib/python3.14/site-packages/scipy/stats/_covariance.py:12
Signature
class Covariance()Members
Summary
Representation of a covariance matrix.
Extended Summary
Calculations involving covariance matrices (e.g. data whitening, multivariate normal function evaluation) are often performed more efficiently using a decomposition of the covariance matrix instead of the covariance matrix itself. This class allows the user to construct an object representing a covariance matrix using any of several decompositions and perform calculations using a common interface.
Examples
The `Covariance` class is used by calling one of its factory methods to create a `Covariance` object, then pass that representation of the `Covariance` matrix as a shape parameter of a multivariate distribution. For instance, the multivariate normal distribution can accept an array representing a covariance matrix: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)
✗np.float64(4.9595685102808205e-08)but the calculations are performed in a very generic way that does not take advantage of any special properties of the covariance matrix. Because our covariance matrix is diagonal, we can use ``Covariance.from_diagonal`` to create an object representing the covariance matrix, and `multivariate_normal` can use this to compute the probability density function more efficiently.
cov = stats.Covariance.from_diagonal(d) dist = stats.multivariate_normal(mean=[0, 0, 0], cov=cov)✓
dist.pdf(x)
✗np.float64(4.9595685102808205e-08)
Aliases
scipy.stats.Covariance