Mathematical and statistical functions for the Dirichlet distribution, which is commonly used as a prior in Bayesian modelling and is multivariate generalisation of the Beta distribution.
Returns an R6 object inheriting from class SDistribution.
distr6::Distribution
-> distr6::SDistribution
-> Dirichlet
name
Full name of distribution.
short_name
Short name of distribution for printing.
description
Brief description of the distribution.
packages
Packages required to be installed in order to construct the distribution.
new()
Creates a new instance of this R6 class.
Dirichlet$new(params = c(1, 1), decorators = NULL)
params
numeric()
Vector of concentration parameters of the distribution defined on the positive Reals.
decorators
(character())
Decorators to add to the distribution during construction.
mean()
The arithmetic mean of a (discrete) probability distribution X is the expectation $$E_X(X) = \sum p_X(x)*x$$ with an integration analogue for continuous distributions.
Dirichlet$mean(...)
...
Unused.
mode()
The mode of a probability distribution is the point at which the pdf is a local maximum, a distribution can be unimodal (one maximum) or multimodal (several maxima).
Dirichlet$mode(which = "all")
which
(character(1) | numeric(1)
Ignored if distribution is unimodal. Otherwise "all"
returns all modes, otherwise specifies
which mode to return.
variance()
The variance of a distribution is defined by the formula $$var_X = E[X^2] - E[X]^2$$ where \(E_X\) is the expectation of distribution X. If the distribution is multivariate the covariance matrix is returned.
Dirichlet$variance(...)
...
Unused.
entropy()
The entropy of a (discrete) distribution is defined by $$- \sum (f_X)log(f_X)$$ where \(f_X\) is the pdf of distribution X, with an integration analogue for continuous distributions.
Dirichlet$entropy(base = 2, ...)
base
(integer(1))
Base of the entropy logarithm, default = 2 (Shannon entropy)
...
Unused.
pgf()
The probability generating function is defined by $$pgf_X(z) = E_X[exp(z^x)]$$ where X is the distribution and \(E_X\) is the expectation of the distribution X.
Dirichlet$pgf(z, ...)
z
(integer(1))
z integer to evaluate probability generating function at.
...
Unused.
clone()
The objects of this class are cloneable with this method.
Dirichlet$clone(deep = FALSE)
deep
Whether to make a deep clone.
The Dirichlet distribution parameterised with concentration parameters, \(\alpha_1,...,\alpha_k\), is defined by the pdf, $$f(x_1,...,x_k) = (\prod \Gamma(\alpha_i))/(\Gamma(\sum \alpha_i))\prod(x_i^{\alpha_i - 1})$$ for \(\alpha = \alpha_1,...,\alpha_k; \alpha > 0\), where \(\Gamma\) is the gamma function.
The distribution is supported on \(x_i \ \epsilon \ (0,1), \sum x_i = 1\).
cdf
and quantile
are
omitted as no closed form analytic expression could be found, decorate with FunctionImputation
for a numerical imputation.
Sampling is performed via sampling independent Gamma distributions and normalising the samples (Devroye, 1986).
McLaughlin, M. P. (2001). A compendium of common probability distributions (pp. 2014-01). Michael P. McLaughlin.
Devroye, Luc (1986). Non-Uniform Random Variate Generation. Springer-Verlag. ISBN 0-387-96305-7.
Other continuous distributions:
Arcsine
,
BetaNoncentral
,
Beta
,
Cauchy
,
ChiSquaredNoncentral
,
ChiSquared
,
Erlang
,
Exponential
,
FDistributionNoncentral
,
FDistribution
,
Frechet
,
Gamma
,
Gompertz
,
Gumbel
,
InverseGamma
,
Laplace
,
Logistic
,
Loglogistic
,
Lognormal
,
MultivariateNormal
,
Normal
,
Pareto
,
Poisson
,
Rayleigh
,
ShiftedLoglogistic
,
StudentTNoncentral
,
StudentT
,
Triangular
,
Uniform
,
Wald
,
Weibull
Other multivariate distributions:
EmpiricalMV
,
Multinomial
,
MultivariateNormal
# NOT RUN {
d <- Dirichlet$new(params = c(2, 5, 6))
d$pdf(0.1, 0.4, 0.5)
d$pdf(c(0.3, 0.2), c(0.6, 0.9), c(0.9, 0.1))
# }
Run the code above in your browser using DataLab