Документация Engee

Распределения матричной размерности

Распределения матричной размерности — это распределения, которые имеют размерность Matrixvariate (то есть каждая выборка представляет собой матрицу). Абстрактные типы для распределений матричной размерности:

const MatrixDistribution{S<:ValueSupport} = Distribution{Matrixvariate,S}

const DiscreteMatrixDistribution   = Distribution{Matrixvariate, Discrete}
const ContinuousMatrixDistribution = Distribution{Matrixvariate, Continuous}

Более сложные функции для работы со случайными матрицами можно найти в пакете RandomMatrices.jl.

Общий интерфейс

Для всех распределений реализован одинаковый набор методов:

size(d::MatrixDistribution)

Возвращает размер каждой выборки из распределения d.

length(d::MatrixDistribution)

Длина (то есть количество элементов) каждой выборки из распределения d.

rank(d::MatrixDistribution)

Ранг каждой выборки из распределения d.

mean(d::MatrixDistribution)

Возвращает матрицу средних значений d.

var(d::MatrixDistribution)

Вычисляет матрицу поэлементных дисперсий для распределения d.

cov(d::MatrixDistribution)

Вычисляет ковариационную матрицу для vec(X), где X — случайная матрица с распределением d.

pdf(d::Distribution{ArrayLikeVariate{N}}, x::AbstractArray{<:Real,N}) where {N}

Evaluate the probability density function of d at x.

This function checks if the size of x is compatible with distribution d. This check can be disabled by using @inbounds.

Implementation

Instead of pdf one should implement _pdf(d, x) which does not have to check the size of x. However, since the default definition of pdf(d, x) falls back to logpdf(d, x) usually it is sufficient to implement logpdf.

See also: logpdf.

logpdf(d::Distribution{ArrayLikeVariate{N}}, x::AbstractArray{<:Real,N}) where {N}

Evaluate the logarithm of the probability density function of d at x.

This function checks if the size of x is compatible with distribution d. This check can be disabled by using @inbounds.

Implementation

Instead of logpdf one should implement _logpdf(d, x) which does not have to check the size of x.

See also: pdf.

Распределения

MatrixNormal(M, U, V)
M::AbstractMatrix  n x p mean
U::AbstractPDMat   n x n row covariance
V::AbstractPDMat   p x p column covariance

Матричное нормальное распределение является обобщением многомерного нормального распределения для вещественных матриц . Если , то функция плотности вероятности имеет вид

тогда и только тогда, когда .

Wishart(ν, S)
ν::Real           degrees of freedom (whole number or a real number greater than p - 1)
S::AbstractPDMat  p x p scale matrix

Распределение Уишарта является обобщением гамма-распределения для вещественных положительно полуопределенных матриц .

Если , то имеет ранг и функцию плотности вероятности вида

Если , то имеет ранг и плотность относительно подходящего элемента объема в пространстве положительно полуопределенных матриц. Дополнительные сведения см. здесь.

Для целочисленных случайная матрица, заданная в виде

имеет . Для нецелочисленных матрицы Уишарта можно создавать посредством разложения по Бартлетту.

InverseWishart(ν, Ψ)
ν::Real           degrees of freedom (greater than p - 1)
Ψ::AbstractPDMat  p x p scale matrix

Обратное распределение Уишарта является обобщением обратного гамма-распределений для вещественных положительно определенных матриц . Если , функция плотности вероятности имеет вид

тогда и только тогда, когда .

MatrixTDist(ν, M, Σ, Ω)
ν::Real            positive degrees of freedom
M::AbstractMatrix  n x p location
Σ::AbstractPDMat   n x n scale
Ω::AbstractPDMat   p x p scale

Матричное t-распределение является обобщением многомерного t-распределения для вещественных матриц . Если , функция плотности вероятности имеет вид

где

Если совместное распределение задано в виде

то безусловное распределение имеет вид .

MatrixBeta(p, n1, n2)
p::Int    dimension
n1::Real  degrees of freedom (greater than p - 1)
n2::Real  degrees of freedom (greater than p - 1)

Матричное бета-распределение является обобщением бета-распределения для вещественных матриц , для которых и являются положительно определенными. Если , функция плотности вероятности имеет вид

Если и являются независимыми, а означает нижний коэффициент Холецкого, то

имеет .

MatrixFDist(n1, n2, B)
n1::Real          degrees of freedom (greater than p - 1)
n2::Real          degrees of freedom (greater than p - 1)
B::AbstractPDMat  p x p scale

Матричное F-распределение (иногда называемое матричным бета-распределением второго рода) является обобщением F-распределения для вещественных положительно полуопределенных матриц . Если , функция плотности вероятности имеет вид

Если совместное распределение задано в виде

то безусловное распределение имеет вид .

LKJ(d, η)
d::Int   dimension
η::Real  positive shape

Распределение LKJ — это распределение по вещественным матрицам корреляции (положительно определенным матрицам с единицами на диагонали). Если , функция плотности вероятности имеет вид

Если , то распределение LKJ является равномерным по пространству матриц корреляции.

Если требуется коэффициент Холецкого матрицы корреляции, эффективнее будет использовать LKJCholesky, что позволит избежать разложения матрицы.