scipy.stats.

Ковариация#

класс 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