Распределения матричной размерности
Распределения матричной размерности — это распределения, которые имеют размерность Matrixvariate
(то есть каждая выборка представляет собой матрицу). Абстрактные типы для распределений матричной размерности:
const MatrixDistribution{S<:ValueSupport} = Distribution{Matrixvariate,S}
const DiscreteMatrixDistribution = Distribution{Matrixvariate, Discrete}
const ContinuousMatrixDistribution = Distribution{Matrixvariate, Continuous}
Более сложные функции для работы со случайными матрицами можно найти в пакете RandomMatrices.jl.
Общий интерфейс
Для всех распределений реализован одинаковый набор методов:
#
Base.size
— Method
size(d::MatrixDistribution)
Возвращает размер каждой выборки из распределения d
.
#
Base.length
— Method
length(d::MatrixDistribution)
Длина (то есть количество элементов) каждой выборки из распределения d
.
#
Statistics.var
— Method
var(d::MatrixDistribution)
Вычисляет матрицу поэлементных дисперсий для распределения d
.
#
Statistics.cov
— Method
cov(d::MatrixDistribution)
Вычисляет ковариационную матрицу для vec(X)
, где X
— случайная матрица с распределением d
.
#
Distributions.pdf
— Method
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
.
#
Distributions.logpdf
— Method
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
.
Распределения
#
Distributions.MatrixNormal
— Type
MatrixNormal(M, U, V)
M::AbstractMatrix n x p mean
U::AbstractPDMat n x n row covariance
V::AbstractPDMat p x p column covariance
Матричное нормальное распределение является обобщением многомерного нормального распределения для вещественных матриц . Если , то функция плотности вероятности имеет вид
тогда и только тогда, когда .
#
Distributions.Wishart
— Type
Wishart(ν, S)
ν::Real degrees of freedom (whole number or a real number greater than p - 1)
S::AbstractPDMat p x p scale matrix
Распределение Уишарта является обобщением гамма-распределения для вещественных положительно полуопределенных матриц .
Если , то имеет ранг и функцию плотности вероятности вида
Если , то имеет ранг и плотность относительно подходящего элемента объема в пространстве положительно полуопределенных матриц. Дополнительные сведения см. здесь.
Для целочисленных случайная матрица, заданная в виде
имеет . Для нецелочисленных матрицы Уишарта можно создавать посредством разложения по Бартлетту.
#
Distributions.InverseWishart
— Type
InverseWishart(ν, Ψ)
ν::Real degrees of freedom (greater than p - 1)
Ψ::AbstractPDMat p x p scale matrix
Обратное распределение Уишарта является обобщением обратного гамма-распределений для вещественных положительно определенных матриц . Если , функция плотности вероятности имеет вид
тогда и только тогда, когда .
#
Distributions.MatrixTDist
— Type
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-распределения для вещественных матриц . Если , функция плотности вероятности имеет вид
где
Если совместное распределение
то безусловное распределение
#
Distributions.MatrixBeta
— Type
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)
Матричное бета-распределение является обобщением бета-распределения для вещественных матриц
Если
имеет
#
Distributions.MatrixFDist
— Type
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-распределения для вещественных положительно полуопределенных матриц
Если совместное распределение
то безусловное распределение
#
Distributions.LKJ
— Type
LKJ(d, η)
d::Int dimension
η::Real positive shape
Распределение LKJ — это распределение по вещественным матрицам корреляции
Если
Если требуется коэффициент Холецкого матрицы корреляции, эффективнее будет использовать |