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

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

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

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

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

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

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

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

size(d::MatrixDistribution)
julia

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

length(d::MatrixDistribution)
julia

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

rank(d::MatrixDistribution)
julia

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

mean(d::MatrixDistribution)
julia

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

var(d::MatrixDistribution)
julia

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

cov(d::MatrixDistribution)
julia

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

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

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}
julia

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)
julia
M::AbstractMatrix  n x p mean
U::AbstractPDMat   n x n row covariance
V::AbstractPDMat   p x p column covariance
julia

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

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

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

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

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

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

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

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

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

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

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

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

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

где

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

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

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

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

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

имеет .

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

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

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

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

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

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

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

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