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))