scipy.stats.multivariate_t#

scipy.stats.multivariate_t = object>[источник]#

Многомерная случайная величина, распределённая по Стьюденту.

The loc параметр задает местоположение. shape параметр задаёт положительно полуопределённую матрицу формы. df параметр задаёт степени свободы.

В дополнение к вызову методов ниже, сам объект может быть вызван как функция для фиксации местоположения, матрицы формы и степеней свободы параметров, возвращая «замороженное» случайное распределение многомерного t-распределения.

Параметры:
locarray_like, необязательный

Локация распределения. (по умолчанию 0)

shapearray_like, необязательный

Положительно полуопределенная матрица распределения. (по умолчанию 1)

dffloat, опционально

Степени свободы распределения; должны быть больше нуля. Если np.inf тогда результаты являются многомерными нормальными. По умолчанию 1.

allow_singularbool, необязательно

Разрешать ли сингулярную матрицу. (по умолчанию False)

seed{None, int, np.random.RandomState, np.random.Generator}, опционально

Используется для генерации случайных величин. Если seed является None, RandomState используется синглтон. Если seed является int, новый RandomState используется экземпляр, инициализированный с seed. Если seed уже является RandomState или Generator экземпляр, то этот объект используется. По умолчанию None.

Методы

pdf(x, loc=None, shape=1, df=1, allow_singular=False)

Функция плотности вероятности.

logpdf(x, loc=None, shape=1, df=1, allow_singular=False)

Логарифм функции плотности вероятности.

cdf(x, loc=None, shape=1, df=1, allow_singular=False, *,

maxpts=None, lower_limit=None, random_state=None) Функция кумулятивного распределения.

rvs(loc=None, shape=1, df=1, size=1, random_state=None)

Извлечь случайные выборки из многомерного t-распределения.

entropy(loc=None, shape=1, df=1)

Дифференциальная энтропия многомерного t-распределения.

Примечания

Установка параметра loc to None эквивалентно наличию loc будет нулевым вектором. Параметр shape может быть скаляром, в этом случае матрица формы — это единичная матрица, умноженная на это значение, вектором диагональных элементов для матрицы формы или двумерным array_like. Матрица shape должна быть (симметричной) положительно полуопределенной матрицей. Определитель и обратная матрица shape вычисляются как псевдодетерминант и псевдообратная матрица соответственно, так что shape не обязательно иметь полный ранг.

Функция плотности вероятности для multivariate_t является

\[f(x) = \frac{\Gamma((\nu + p)/2)}{\Gamma(\nu/2)\nu^{p/2}\pi^{p/2}|\Sigma|^{1/2}} \left[1 + \frac{1}{\nu} (\mathbf{x} - \boldsymbol{\mu})^{\top} \boldsymbol{\Sigma}^{-1} (\mathbf{x} - \boldsymbol{\mu}) \right]^{-(\nu + p)/2},\]

где \(p\) является размерностью \(\mathbf{x}\), \(\boldsymbol{\mu}\) является \(p\)-мерное положение, \(\boldsymbol{\Sigma}\) the \(p \times p\)-мерная матрица формы, и \(\nu\) является степенями свободы.

Добавлено в версии 1.6.0.

Ссылки

[1]

Арельяно-Валье и др. «Энтропия Шеннона и взаимная информация для многомерных скошенных эллиптических распределений». Скандинавский журнал статистики. Том 40, выпуск 1.

Примеры

Объект может быть вызван (как функция) для фиксации loc, shape, df, и allow_singular параметры, возвращая "замороженную" многомерную случайную величину t-распределения:

>>> import numpy as np
>>> from scipy.stats import multivariate_t
>>> rv = multivariate_t([1.0, -0.5], [[2.1, 0.3], [0.3, 1.5]], df=2)
>>> # Frozen object with the same methods but holding the given location,
>>> # scale, and degrees of freedom fixed.

Создать контурный график PDF.

>>> import matplotlib.pyplot as plt
>>> x, y = np.mgrid[-1:3:.01, -2:1.5:.01]
>>> pos = np.dstack((x, y))
>>> fig, ax = plt.subplots(1, 1)
>>> ax.set_aspect('equal')
>>> plt.contourf(x, y, rv.pdf(pos))
../../_images/scipy-stats-multivariate_t-1.png