Ковариация#
- класс scipy.stats.Ковариация[источник]#
Представление ковариационной матрицы
Вычисления с матрицами ковариации (например, отбеливание данных, вычисление функции многомерного нормального распределения) часто выполняются более эффективно с использованием разложения матрицы ковариации вместо самой матрицы ковариации. Этот класс позволяет пользователю создать объект, представляющий матрицу ковариации, используя любое из нескольких разложений, и выполнять вычисления с использованием общего интерфейса.
Примечание
The
Covarianceкласс не может быть создан напрямую. Вместо этого используйте один из фабричных методов (например,Covariance.from_diagonal).- Атрибуты:
covarianceЯвное представление ковариационной матрицы
log_pdetЛогарифм псевдоопределителя ковариационной матрицы
rankРанг ковариационной матрицы
shapeФорма массива ковариации
Методы
colorize(x)Выполнить преобразование раскраски данных.
from_cholesky(разложение Холецкого)Представление ковариации через (нижний) фактор Холецкого
from_diagonal(диагональ)Возвращает представление ковариационной матрицы из её диагонали.
from_eigendecomposition(собственное разложение)Представление ковариации через собственное разложение
from_precision(точность[, ковариация])Вернуть представление ковариации из её матрицы точности.
whiten(x)Выполнить преобразование отбеливания данных.
Примеры
The
Covarianceкласс используется путем вызова одного из его фабричных методов для создания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