Dirichlet distribution

In probability and statistics, the Dirichlet distribution (after Peter Gustav Lejeune Dirichlet), often denoted $\operatorname {Dir} ({\boldsymbol {\alpha }})$ , is a family of continuous multivariate probability distributions parameterized by a vector ${\boldsymbol {\alpha }}$ of positive reals. It is a multivariate generalization of the beta distribution, hence its alternative name of multivariate beta distribution (MBD). Dirichlet distributions are commonly used as prior distributions in Bayesian statistics, and in fact the Dirichlet distribution is the conjugate prior of the categorical distribution and multinomial distribution.

Parameters Probability density function $K\geq 2$ number of categories (integer)$\alpha _{1},\ldots ,\alpha _{K}$ concentration parameters, where $\alpha _{i}>0$ $x_{1},\ldots ,x_{K}$ where $x_{i}\in (0,1)$ and $\sum _{i=1}^{K}x_{i}=1$ ${\frac {1}{\mathrm {B} ({\boldsymbol {\alpha }})}}\prod _{i=1}^{K}x_{i}^{\alpha _{i}-1}$ where $\mathrm {B} ({\boldsymbol {\alpha }})={\frac {\prod _{i=1}^{K}\Gamma (\alpha _{i})}{\Gamma {\bigl (}\sum _{i=1}^{K}\alpha _{i}{\bigr )}}}$ where ${\boldsymbol {\alpha }}=(\alpha _{1},\ldots ,\alpha _{K})$ $\operatorname {E} [X_{i}]={\frac {\alpha _{i}}{\sum _{k=1}^{K}\alpha _{k}}}$ $\operatorname {E} [\ln X_{i}]=\psi (\alpha _{i})-\psi (\textstyle \sum _{k}\alpha _{k})$ (see digamma function) $x_{i}={\frac {\alpha _{i}-1}{\sum _{k=1}^{K}\alpha _{k}-K}},\quad \alpha _{i}>1.$ $\operatorname {Var} [X_{i}]={\frac {{\tilde {\alpha }}_{i}(1-{\tilde {\alpha }}_{i})}{\alpha _{0}+1}},$ where ${\tilde {\alpha }}_{i}={\frac {\alpha _{i}}{\sum _{k=1}^{K}\alpha _{k}}}$ and $\alpha _{0}=\sum _{i=1}^{K}\alpha _{i}$ $\operatorname {Cov} [X_{i},X_{j}]={\frac {-{\tilde {\alpha }}_{i}{\tilde {\alpha }}_{j}}{\alpha _{0}+1}}~~(i\neq j)$ $H(X)=\log \mathrm {B} (\alpha )+(\alpha _{0}-K)\psi (\alpha _{0})-\sum _{j=1}^{K}(\alpha _{j}-1)\psi (\alpha _{j})$ with $\alpha _{0}$ defined as for variance, above.

The infinite-dimensional generalization of the Dirichlet distribution is the Dirichlet process.

Probability density function

Illustrating how the log of the density function changes when K = 3 as we change the vector α from α = (0.3, 0.3, 0.3) to (2.0, 2.0, 2.0), keeping all the individual $\alpha _{i}$ 's equal to each other.

The Dirichlet distribution of order K ≥ 2 with parameters α1, ..., αK > 0 has a probability density function with respect to Lebesgue measure on the Euclidean space RK−1 given by

$f\left(x_{1},\ldots ,x_{K};\alpha _{1},\ldots ,\alpha _{K}\right)={\frac {1}{\mathrm {B} ({\boldsymbol {\alpha }})}}\prod _{i=1}^{K}x_{i}^{\alpha _{i}-1}$
where $\{x_{k}\}_{k=1}^{k=K}$  belong to the standard $K-1$  simplex, or in other words: $\sum _{i=1}^{K}x_{i}=1{\mbox{ and }}x_{i}\geq 0{\mbox{ for all }}i\in [1,K]$

The normalizing constant is the multivariate beta function, which can be expressed in terms of the gamma function:

$\mathrm {B} ({\boldsymbol {\alpha }})={\frac {\prod _{i=1}^{K}\Gamma (\alpha _{i})}{\Gamma \left(\sum _{i=1}^{K}\alpha _{i}\right)}},\qquad {\boldsymbol {\alpha }}=(\alpha _{1},\ldots ,\alpha _{K}).$

Support

The support of the Dirichlet distribution is the set of K-dimensional vectors ${\boldsymbol {x}}$  whose entries are real numbers in the interval (0,1); furthermore, $\|{\boldsymbol {x}}\|_{1}=1$ , i.e. the sum of the coordinates is 1. These can be viewed as the probabilities of a K-way categorical event. Another way to express this is that the domain of the Dirichlet distribution is itself a set of probability distributions, specifically the set of K-dimensional discrete distributions. The technical term for the set of points in the support of a K-dimensional Dirichlet distribution is the open standard (K − 1)-simplex, which is a generalization of a triangle, embedded in the next-higher dimension. For example, with K = 3, the support is an equilateral triangle embedded in a downward-angle fashion in three-dimensional space, with vertices at (1,0,0), (0,1,0) and (0,0,1), i.e. touching each of the coordinate axes at a point 1 unit away from the origin.

Special cases

A common special case is the symmetric Dirichlet distribution, where all of the elements making up the parameter vector ${\boldsymbol {\alpha }}$  have the same value. The symmetric case might be useful, for example, when a Dirichlet prior over components is called for, but there is no prior knowledge favoring one component over another. Since all elements of the parameter vector have the same value, the symmetric Dirichlet distribution can be parametrized by a single scalar value α, called the concentration parameter.[citation needed] In terms of α, the density function has the form

$f(x_{1},\dots ,x_{K-1};\alpha )={\frac {\Gamma (\alpha K)}{\Gamma (\alpha )^{K}}}\prod _{i=1}^{K}x_{i}^{\alpha -1}.$

When α=1, the symmetric Dirichlet distribution is equivalent to a uniform distribution over the open standard (K − 1)-simplex, i.e. it is uniform over all points in its support. This particular distribution is known as the flat Dirichlet distribution. Values of the concentration parameter above 1 prefer variates that are dense, evenly distributed distributions, i.e. all the values within a single sample are similar to each other. Values of the concentration parameter below 1 prefer sparse distributions, i.e. most of the values within a single sample will be close to 0, and the vast majority of the mass will be concentrated in a few of the values.

More generally, the parameter vector is sometimes written as the product $\alpha {\boldsymbol {n}}$  of a (scalar) concentration parameter α and a (vector) base measure ${\boldsymbol {n}}=(n_{1},\dots ,n_{K})$  where ${\boldsymbol {n}}$  lies within the (K − 1)-simplex (i.e.: its coordinates $n_{i}$  sum to one). The concentration parameter in this case is larger by a factor of K than the concentration parameter for a symmetric Dirichlet distribution described above. This construction ties in with concept of a base measure when discussing Dirichlet processes and is often used in the topic modelling literature.

^ If we define the concentration parameter as the sum of the Dirichlet parameters for each dimension, the Dirichlet distribution with concentration parameter K, the dimension of the distribution, is the uniform distribution on the (K − 1)-simplex.

Properties

Moments

Let $X=(X_{1},\ldots ,X_{K})\sim \operatorname {Dir} (\alpha )$ , meaning that the first K – 1 components have the above density and $X_{K}=1-\sum _{i=1}^{K-1}X_{i}$ .

Let

$\alpha _{0}=\sum _{i=1}^{K}\alpha _{i}.$

Then

$\operatorname {E} [X_{i}]={\frac {\alpha _{i}}{\alpha _{0}}},$
$\operatorname {Var} [X_{i}]={\frac {\alpha _{i}(\alpha _{0}-\alpha _{i})}{\alpha _{0}^{2}(\alpha _{0}+1)}}.$

Furthermore, if $i\neq j$

$\operatorname {Cov} [X_{i},X_{j}]={\frac {-\alpha _{i}\alpha _{j}}{\alpha _{0}^{2}(\alpha _{0}+1)}}.$

The matrix so defined is singular.

More generally, moments of Dirichlet-distributed random variables can be expressed as

$\operatorname {E} \left[\prod _{i=1}^{K}x_{i}^{\beta _{i}}\right]={\frac {B\left({\boldsymbol {\alpha }}+{\boldsymbol {\beta }}\right)}{B\left({\boldsymbol {\alpha }}\right)}}={\frac {\Gamma \left(\sum \limits _{i=1}^{K}\alpha _{i}\right)}{\Gamma \left[\sum \limits _{i=1}^{K}(\alpha _{i}+\beta _{i})\right]}}\times \prod _{i=1}^{K}{\frac {\Gamma (\alpha _{i}+\beta _{i})}{\Gamma (\alpha _{i})}}.$

Mode

The mode of the distribution is the vector (x1, ..., xK) with

$x_{i}={\frac {\alpha _{i}-1}{\alpha _{0}-K}},\qquad \alpha _{i}>1.$

Marginal distributions

$X_{i}\sim \operatorname {Beta} (\alpha _{i},\alpha _{0}-\alpha _{i}).$

Conjugate to categorical/multinomial

The Dirichlet distribution is the conjugate prior distribution of the categorical distribution (a generic discrete probability distribution with a given number of possible outcomes) and multinomial distribution (the distribution over observed counts of each possible category in a set of categorically distributed observations). This means that if a data point has either a categorical or multinomial distribution, and the prior distribution of the distribution's parameter (the vector of probabilities that generates the data point) is distributed as a Dirichlet, then the posterior distribution of the parameter is also a Dirichlet. Intuitively, in such a case, starting from what we know about the parameter prior to observing the data point, we then can update our knowledge based on the data point and end up with a new distribution of the same form as the old one. This means that we can successively update our knowledge of a parameter by incorporating new observations one at a time, without running into mathematical difficulties.

Formally, this can be expressed as follows. Given a model

${\begin{array}{rcccl}{\boldsymbol {\alpha }}&=&\left(\alpha _{1},\ldots ,\alpha _{K}\right)&=&{\text{concentration hyperparameter}}\\\mathbf {p} \mid {\boldsymbol {\alpha }}&=&\left(p_{1},\ldots ,p_{K}\right)&\sim &\operatorname {Dir} (K,{\boldsymbol {\alpha }})\\\mathbb {X} \mid \mathbf {p} &=&\left(\mathbf {x} _{1},\ldots ,\mathbf {x} _{K}\right)&\sim &\operatorname {Cat} (K,\mathbf {p} )\end{array}}$

then the following holds:

${\begin{array}{rcccl}\mathbf {c} &=&\left(c_{1},\ldots ,c_{K}\right)&=&{\text{number of occurrences of category }}i\\\mathbf {p} \mid \mathbb {X} ,{\boldsymbol {\alpha }}&\sim &\operatorname {Dir} (K,\mathbf {c} +{\boldsymbol {\alpha }})&=&\operatorname {Dir} \left(K,c_{1}+\alpha _{1},\ldots ,c_{K}+\alpha _{K}\right)\end{array}}$

This relationship is used in Bayesian statistics to estimate the underlying parameter p of a categorical distribution given a collection of N samples. Intuitively, we can view the hyperprior vector α as pseudocounts, i.e. as representing the number of observations in each category that we have already seen. Then we simply add in the counts for all the new observations (the vector c) in order to derive the posterior distribution.

In Bayesian mixture models and other hierarchical Bayesian models with mixture components, Dirichlet distributions are commonly used as the prior distributions for the categorical variables appearing in the models. See the section on applications below for more information.

Relation to Dirichlet-multinomial distribution

In a model where a Dirichlet prior distribution is placed over a set of categorical-valued observations, the marginal joint distribution of the observations (i.e. the joint distribution of the observations, with the prior parameter marginalized out) is a Dirichlet-multinomial distribution. This distribution plays an important role in hierarchical Bayesian models, because when doing inference over such models using methods such as Gibbs sampling or variational Bayes, Dirichlet prior distributions are often marginalized out. See the article on this distribution for more details.

Entropy

If X is a Dir(α) random variable, the information entropy of X: is

$H(X)=\log \operatorname {B} ({\boldsymbol {\alpha }})+(\alpha _{0}-K)\psi (\alpha _{0})-\sum _{j=1}^{K}(\alpha _{j}-1)\psi (\alpha _{j})$

here $\psi$  is the digamma function.

There is an error in the equation below; please see , e.q. 8. Good luck all!

The following formula for $\operatorname {E} [\log(X_{i})]$  can be used to derive the information entropy above. The exponential family differential identities can be used to get an analytic expression for the expectation of $\log(X_{i})$  and its associated covariance matrix:[citation needed]

$\operatorname {E} [\log(X_{i})]=\psi (\alpha _{i})-\psi (\alpha _{0})$

and

$\operatorname {Cov} [\log(X_{i}),\log(X_{j})]=\psi '(\alpha _{i})\delta _{ij}-\psi '(\alpha _{0})$

where $\psi$  is the digamma function, $\psi '$  is the trigamma function, and $\delta _{ij}$  is the Kronecker delta.

The spectrum of Rényi information for values other than $\lambda =1$  is given by

$F_{R}(\lambda )=(1-\lambda )^{-1}\left(-\lambda \log \mathrm {B} (\alpha )+\sum _{j=1}^{K}\log \Gamma (\lambda (\alpha _{i}-1)+1)-\log \Gamma (\lambda (\alpha _{0}-d)+d)\right)$

and the information entropy is the limit as $\lambda$  goes to 1.

Aggregation

If

$X=(X_{1},\ldots ,X_{K})\sim \operatorname {Dir} (\alpha _{1},\ldots ,\alpha _{K})$

then, if the random variables with subscripts i and j are dropped from the vector and replaced by their sum,

$X'=(X_{1},\ldots ,X_{i}+X_{j},\ldots ,X_{K})\sim \operatorname {Dir} (\alpha _{1},\ldots ,\alpha _{i}+\alpha _{j},\ldots ,\alpha _{K}).$

This aggregation property may be used to derive the marginal distribution of $X_{i}$  mentioned above.

Neutrality

If $X=(X_{1},\ldots ,X_{K})\sim \operatorname {Dir} (\alpha )$ , then the vector X is said to be neutral in the sense that XK is independent of $X^{(-K)}$  where

$X^{(-K)}=\left({\frac {X_{1}}{1-X_{K}}},{\frac {X_{2}}{1-X_{K}}},\ldots ,{\frac {X_{K-1}}{1-X_{K}}}\right),$

and similarly for removing any of $X_{2},\ldots ,X_{K-1}$ . Observe that any permutation of X is also neutral (a property not possessed by samples drawn from a generalized Dirichlet distribution).

Combining this with the property of aggregation it follows that Xj + ... + XK is independent of $\left({\frac {X_{1}}{X_{1}+\cdots +X_{j-1}}},{\frac {X_{2}}{X_{1}+\cdots +X_{j-1}}},\ldots ,{\frac {X_{j-1}}{X_{1}+\cdots +X_{j-1}}}\right)$ . In fact it is true, further, for the Dirichlet distribution, that for $3\leq j\leq K-1$ , the pair $\left(X_{1}+\cdots +X_{j-1},X_{j}+\cdots +X_{K}\right)$ , and the two vectors $\left({\frac {X_{1}}{X_{1}+\cdots +X_{j-1}}},{\frac {X_{2}}{X_{1}+\cdots +X_{j-1}}},\ldots ,{\frac {X_{j-1}}{X_{1}+\cdots +X_{j-1}}}\right)$  and $\left({\frac {X_{j}}{X_{j}+\cdots +X_{K}}},{\frac {X_{j+1}}{X_{j}+\cdots +X_{K}}},\ldots ,{\frac {X_{K}}{X_{j}+\cdots +X_{K}}}\right)$ , viewed as triple of normalised random vectors, are mutually independent. The analogous result is true for partition of the indices {1,2,...,K} into any other pair of non-singleton subsets.

Characteristic function

The characteristic function of the Dirichlet distribution is a confluent form of the Lauricella hypergeometric series. It is given by Phillips as

$CF\left(s_{1},\ldots ,s_{K-1}\right)=\operatorname {E} \left(e^{i\left(s_{1}X_{1}+\cdots +s_{K-1}X_{K-1}\right)}\right)=\Psi ^{\left[K-1\right]}(\alpha _{1},\ldots ,\alpha _{K-1};\alpha ;is_{1},\ldots ,is_{K-1})$

where $\alpha =\alpha _{1}+\cdots +\alpha _{K}$  and

$\Psi ^{[m]}(a_{1},\ldots ,a_{m};c;z_{1},\ldots z_{m})=\sum {\frac {(a_{1})_{k_{1}}\cdots (a_{m})_{k_{m}}\,z_{1}^{k_{1}}\cdots z_{m}^{k_{m}}}{(c)_{k}\,k_{1}!\cdots k_{m}!}}.$

The sum is over non-negative integers $k_{1},\ldots ,k_{m}$  and $k=k_{1}+\cdots +k_{m}$ . Phillips goes on to state that this form is "inconvenient for numerical calculation" and gives an alternative in terms of a complex path integral:

$\Psi ^{[m]}={\frac {\Gamma (c)}{2\pi i}}\int _{L}e^{t}\,t^{a_{1}+\cdots +a_{m}-c}\,\prod _{j=1}^{m}(t-z_{j})^{-a_{j}}\,dt$

where L denotes any path in the complex plane originating at $-\infty$ , encircling in the positive direction all the singularities of the integrand and returning to $-\infty$ .

Inequality

Probability density function $f\left(x_{1},\ldots ,x_{K-1};\alpha _{1},\ldots ,\alpha _{K}\right)$  plays a key role in a multifunctional inequality which implies various bounds for the Dirichlet distribution.

Related distributions

For K independently distributed Gamma distributions:

$Y_{1}\sim \operatorname {Gamma} (\alpha _{1},\theta ),\ldots ,Y_{K}\sim \operatorname {Gamma} (\alpha _{K},\theta )$

we have::402

$V=\sum _{i=1}^{K}Y_{i}\sim \operatorname {Gamma} \left(\sum _{i=1}^{K}\alpha _{i},\theta \right),$
$X=(X_{1},\ldots ,X_{K})=\left({\frac {Y_{1}}{V}},\ldots ,{\frac {Y_{K}}{V}}\right)\sim \operatorname {Dir} \left(\alpha _{1},\ldots ,\alpha _{K}\right).$

Although the Xis are not independent from one another, they can be seen to be generated from a set of K independent gamma random variable.:594 Unfortunately, since the sum V is lost in forming X (in fact it can be shown that V is stochastically independent of X), it is not possible to recover the original gamma random variables from these values alone. Nevertheless, because independent random variables are simpler to work with, this reparametrization can still be useful for proofs about properties of the Dirichlet distribution.

Conjugate prior of the Dirichlet distribution

Because the Dirichlet distribution is an exponential family distribution it has a conjugate prior. The conjugate prior is of the form:

$\operatorname {CD} ({\boldsymbol {\alpha }}\mid {\boldsymbol {v}},\eta )\propto \left({\frac {1}{\operatorname {B} ({\boldsymbol {\alpha }})}}\right)^{\eta }\exp \left(-\sum _{k}v_{k}\alpha _{k}\right).$

Here ${\boldsymbol {v}}$  is a K-dimensional real vector and $\eta$  is a scalar parameter. The domain of $({\boldsymbol {v}},\eta )$  is restricted to the set of parameters for which the above unnormalized density function can be normalized. The (necessary and sufficient) condition is:

$\forall k\;\;v_{k}>0\;\;\;\;{\text{ and }}\;\;\;\;\eta >-1\;\;\;\;{\text{ and }}\;\;\;\;(\eta \leq 0\;\;\;\;{\text{ or }}\;\;\;\;\sum _{k}\exp -{\frac {v_{k}}{\eta }}<1)$

The conjugation property can be expressed as

if [prior: ${\boldsymbol {\alpha }}\sim \operatorname {CD} (\cdot \mid {\boldsymbol {v}},\eta )$ ] and [observation: ${\boldsymbol {x}}\mid {\boldsymbol {\alpha }}\sim \operatorname {Dirichlet} (\cdot \mid {\boldsymbol {\alpha }})$ ] then [posterior: ${\boldsymbol {\alpha }}\mid {\boldsymbol {x}}\sim \operatorname {CD} (\cdot \mid {\boldsymbol {v}}-\log {\boldsymbol {x}},\eta +1)$ ].

In the published literature there is no practical algorithm to efficiently generate samples from $\operatorname {CD} ({\boldsymbol {\alpha }}\mid {\boldsymbol {v}},\eta )$ .

Applications

Dirichlet distributions are most commonly used as the prior distribution of categorical variables or multinomial variables in Bayesian mixture models and other hierarchical Bayesian models. (In many fields, such as in natural language processing, categorical variables are often imprecisely called "multinomial variables". Such a usage is unlikely to cause confusion, just as when Bernoulli distributions and binomial distributions are commonly conflated.)

Inference over hierarchical Bayesian models is often done using Gibbs sampling, and in such a case, instances of the Dirichlet distribution are typically marginalized out of the model by integrating out the Dirichlet random variable. This causes the various categorical variables drawn from the same Dirichlet random variable to become correlated, and the joint distribution over them assumes a Dirichlet-multinomial distribution, conditioned on the hyperparameters of the Dirichlet distribution (the concentration parameters). One of the reasons for doing this is that Gibbs sampling of the Dirichlet-multinomial distribution is extremely easy; see that article for more information.

Random number generation

Gamma distribution

With a source of Gamma-distributed random variates, one can easily sample a random vector $x=(x_{1},\ldots ,x_{K})$  from the K-dimensional Dirichlet distribution with parameters $(\alpha _{1},\ldots ,\alpha _{K})$  . First, draw K independent random samples $y_{1},\ldots ,y_{K}$  from Gamma distributions each with density

$\operatorname {Gamma} (\alpha _{i},1)={\frac {y_{i}^{\alpha _{i}-1}\;e^{-y_{i}}}{\Gamma (\alpha _{i})}},\!$

and then set

$x_{i}={\frac {y_{i}}{\sum _{j=1}^{K}y_{j}}}.$

Proof

The joint distribution of $\{y_{i}\}$  is given by:

$e^{-\sum _{i}y_{i}}\prod _{i=1}^{K}{\frac {y_{i}^{\alpha _{i}-1}}{\Gamma (\alpha _{i})}}$

Next, one uses a change of variables, parametrising $\{y_{i}\}$  in terms of $y_{1},y_{2},\ldots ,y_{K-1}$  and $\sum _{i=1}^{K}y_{i}$  , and performs a change of variables from $y\to x$  such that $x_{K}=\sum _{i=1}^{K}y_{i},x_{1}={\frac {y_{1}}{x_{K}}},x_{2}={\frac {y_{2}}{x_{K}}},\ldots ,x_{K-1}={\frac {y_{K-1}}{x_{K}}}$

One must then use the change of variables formula, $P(x)=P(y(x)){\bigg |}{\frac {\partial y}{\partial x}}{\bigg |}$  in which ${\bigg |}{\frac {\partial y}{\partial x}}{\bigg |}$  is the transformation Jacobian.

Writing y explicitly as a function of x, one obtains $y_{1}=x_{K}x_{1},y_{2}=x_{K}x_{2}\ldots y_{K-1}=x_{K-1}x_{K},y_{K}=x_{K}(1-\sum _{i=1}^{K-1}x_{i})$

The Jacobian now looks like

${\begin{vmatrix}x_{K}&0&\ldots &x_{1}\\0&x_{K}&\ldots &x_{2}\\\vdots &\vdots &\ddots &\vdots \\-x_{K}&-x_{K}&\ldots &1-\sum _{i=1}^{K-1}x_{i}\end{vmatrix}}$

The determinant can be evaluated by noting that it remains unchanged if multiples of a row are added to another row, and adding each of the first K-1 rows to the bottom row to obtain

${\begin{vmatrix}x_{K}&0&\ldots &x_{1}\\0&x_{K}&\ldots &x_{2}\\\vdots &\vdots &\ddots &\vdots \\0&0&\ldots &1\end{vmatrix}}$

which can be expanded about the bottom row to obtain $x_{K}^{K-1}$

Substituting for x in the joint pdf and including the Jacobian, one obtains:

${\frac {\left[\prod _{i=1}^{K-1}(x_{i}x_{K})^{\alpha _{i}-1}\right]\left[x_{K}(1-\sum _{i=1}^{K-1}x_{i})\right]^{\alpha _{K}-1}}{\prod _{i=1}^{K}\Gamma (\alpha _{i})}}x_{K}^{K-1}e^{-x_{K}}$

Each of the variables $0\leq x_{1},x_{2},\ldots ,x_{k-1}\leq 1$  and likewise $0\leq \sum _{i=1}^{K-1}x_{i}\leq 1$ .

Finally, integrate out the extra degree of freedom $x_{K}$  and one obtains:

$x_{1},x_{2},\ldots ,x_{K-1}\sim {\frac {(1-\sum _{i=1}^{K-1}x_{i})^{\alpha _{K}-1}\prod _{i=1}^{K-1}x_{i}^{\alpha _{i}-1}}{B({\underline {\alpha }})}}$

Which is equivalent to

${\frac {\prod _{i=1}^{K}x_{i}^{\alpha _{i}-1}}{B({\underline {\alpha }})}}$  with support $\sum _{i=1}^{K}x_{i}=1$

Below is example Python code to draw the sample:

params = [a1, a2, ..., ak]
sample = [random.gammavariate(a,1) for a in params]
sample = [v/sum(sample) for v in sample]

This formulation is correct regardless of how the Gamma distributions are parameterized (shape/scale vs. shape/rate) because they are equivalent when scale and rate equal 1.0.

Marginal beta distributions

A less efficient algorithm relies on the univariate marginal and conditional distributions being beta and proceeds as follows. Simulate $x_{1}$  from

${\textrm {Beta}}\left(\alpha _{1},\sum _{i=2}^{K}\alpha _{i}\right)$

Then simulate $x_{2},\ldots ,x_{K-1}$  in order, as follows. For $j=2,\ldots ,K-1$ , simulate $\phi _{j}$  from

${\textrm {Beta}}\left(\alpha _{j},\sum _{i=j+1}^{K}\alpha _{i}\right),$

and let

$x_{j}=\left(1-\sum _{i=1}^{j-1}x_{i}\right)\phi _{j}.$

Finally, set

$x_{K}=1-\sum _{i=1}^{K-1}x_{i}.$

This iterative procedure corresponds closely to the "string cutting" intuition described below.

Below is example Python code to draw the sample:

params = [a1, a2, ..., ak]
xs = [random.betavariate(params, sum(params[1:]))]
for j in range(1,len(params)-1):
phi = random.betavariate(params[j], sum(params[j+1:]))
xs.append((1-sum(xs)) * phi)
xs.append(1-sum(xs))

Intuitive interpretations of the parameters

The concentration parameter

Dirichlet distributions are very often used as prior distributions in Bayesian inference. The simplest and perhaps most common type of Dirichlet prior is the symmetric Dirichlet distribution, where all parameters are equal. This corresponds to the case where you have no prior information to favor one component over any other. As described above, the single value α to which all parameters are set is called the concentration parameter. If the sample space of the Dirichlet distribution is interpreted as a discrete probability distribution, then intuitively the concentration parameter can be thought of as determining how "concentrated" the probability mass of a sample from a Dirichlet distribution is likely to be. With a value much less than 1, the mass will be highly concentrated in a few components, and all the rest will have almost no mass. With a value much greater than 1, the mass will be dispersed almost equally among all the components. See the article on the concentration parameter for further discussion.

String cutting

One example use of the Dirichlet distribution is if one wanted to cut strings (each of initial length 1.0) into K pieces with different lengths, where each piece had a designated average length, but allowing some variation in the relative sizes of the pieces. The α/α0 values specify the mean lengths of the cut pieces of string resulting from the distribution. The variance around this mean varies inversely with α0.

Pólya's urn

Consider an urn containing balls of K different colors. Initially, the urn contains α1 balls of color 1, α2 balls of color 2, and so on. Now perform N draws from the urn, where after each draw, the ball is placed back into the urn with an additional ball of the same color. In the limit as N approaches infinity, the proportions of different colored balls in the urn will be distributed as Dir(α1,...,αK).

For a formal proof, note that the proportions of the different colored balls form a bounded [0,1]K-valued martingale, hence by the martingale convergence theorem, these proportions converge almost surely and in mean to a limiting random vector. To see that this limiting vector has the above Dirichlet distribution, check that all mixed moments agree.

Each draw from the urn modifies the probability of drawing a ball of any one color from the urn in the future. This modification diminishes with the number of draws, since the relative effect of adding a new ball to the urn diminishes as the urn accumulates increasing numbers of balls.