Распределения матричной размерности
Распределения матричной размерности — это распределения, которые имеют размерность 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 — это распределение по вещественным матрицам корреляции
Если
|
Если требуется коэффициент Холецкого матрицы корреляции, эффективнее будет использовать |