Loading [MathJax]/jax/output/HTML-CSS/jax.js
  • Overview
  • The Dirichlet Distribution
    • As a generalization of the Beta distribution
    • Other connections to the Beta distribution
  • Density
  • Examples
    • Session Information

Last updated: 2017-03-04

Code version: 5d0fa13

Overview

The purpose of this vignette is to introduce the Dirichlet distribution. You should be familiar with the Beta distribution since the Dirichlet can be thought of as a generalization of the Beta distribution.

If you want more details you could look at Wikipedia.

The Dirichlet Distribution

You can think of the J-dimensional Dirichlet distribution as a distribution on probability vectors, q=(q1,,qJ), whose elements are non-negative and sum to 1. It is perhaps the most commonly-used distribution for probability vectors, and plays a central role in Bayesian inference from multinomial data.

The Dirichlet distribution has J parameters, α1,,αJ that control the mean and variance of the distribution. If qDirichlet(α1,,αJ) then:

  • The expectation of qj is αj/(α1++αJ).

  • The variance of qj becomes smaller as the sum jαj increases.

As a generalization of the Beta distribution

The 2-dimensional Dirichlet distribution is essentially the Beta distribution. Specifically, let q=(q1,q2). Then qDirichlet(α1,α2) implies that q1Beta(α1,α2) and q2=1q1.

Other connections to the Beta distribution

More generally, the marginals of the Dirichlet distribution are also beta distributions.

That is, if qDirichlet(α1,,αJ) then qjBeta(αj,jjαj).

Density

The density of the Dirichlet distribution is most conveniently written as p(q|α)=Γ(α1++αJ)Γ(α1)Γ(αJ)Jj=1qαj1j(qj0;jqj=1). where Gamma here denotes the gamma function.

Actually when writing the density this way, a little care needs to be taken to make things formally correct. Specifically, if you perform standard (Lebesgue) integration of this “density” over the J dimensional space q1,,qJ it integrates to 0, and not 1 as a density should. This problem is caused by the constraint that the qs must sum to 1, which means that the Dirichlet distribution is effectively a J1-dimensional distribution and not a J dimensional distribution.

The simplest resolution to this is to think of the J dimensional Dirichlet distribution as a distribution on the J1 numbers (q1,,qJ1), satisfying J1j=1qj1, and then define qJ:=(1q1q2qJ1). Then, if we integrate the density p(q1,,qJ1|α)=Γ(α1++αJ)Γ(α1)Γ(αJ)J1j=1qαj1j(1q1qJ1)αJ(qj0;J1j=1qj1). over (q1,,qJ1), it integrates to 1 as a density should.

Examples

Session Information

sessionInfo()
R version 3.3.0 (2016-05-03)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.10.5 (Yosemite)

locale:
[1] en_NZ.UTF-8/en_NZ.UTF-8/en_NZ.UTF-8/C/en_NZ.UTF-8/en_NZ.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] tidyr_0.4.1     dplyr_0.5.0     ggplot2_2.1.0   knitr_1.15.1   
 [5] MASS_7.3-45     expm_0.999-0    Matrix_1.2-6    viridis_0.3.4  
 [9] workflowr_0.3.0 rmarkdown_1.3  

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.5      git2r_0.18.0     plyr_1.8.4       tools_3.3.0     
 [5] digest_0.6.9     evaluate_0.10    tibble_1.1       gtable_0.2.0    
 [9] lattice_0.20-33  shiny_0.13.2     DBI_0.4-1        yaml_2.1.14     
[13] gridExtra_2.2.1  stringr_1.2.0    gtools_3.5.0     rprojroot_1.2   
[17] grid_3.3.0       R6_2.1.2         reshape2_1.4.1   magrittr_1.5    
[21] backports_1.0.5  scales_0.4.0     htmltools_0.3.5  assertthat_0.1  
[25] mime_0.5         colorspace_1.2-6 xtable_1.8-2     httpuv_1.3.3    
[29] labeling_0.3     stringi_1.1.2    munsell_0.4.3   

This site was created with R Markdown