Are Dirichlet Distributions too simple for you?

Are you getting tired of the Exponential Family?

... Then the Logistic Normal Distribution might be right up your alley!

Top Row: Dirichlet Distributions, Bottom Row: Logistic-Normal Distributions

The generative process for the Hierarchical Logistic-Normal Distribution can be summarized as follows:

- Draw
*V*from a Multivariate Gaussian,*N*(μ,Σ). - Exponentiate
*V*. - Project to the Simplex to get a probability vector
*P*(At this point we have a Logistic-Normal distribution). - Draw
*N*samples from Multinomial(*P*).

Download MATLAB Code

Algorithm Details (pdf)

List of included .m Files

- hlnscript.m - example script which illustrates code usage
- hlnEM.m - EM scheme for fitting an HLN distribution
- conditionalMode.m - hlnEM subroutine
- plotlogisticnormal.m - Plot samples from a Logistic Normal on a 2-Simplex
- plotLNlevelsets.m - Plot level sets of a Logistic Normal pdf on a 2-Simplex
- minimize.m - Carl Rasmussen's Conjugate Gradient code
- genHLNsamples.m - Generate samples from a Hierarchical Logistic-Normal Distribution
- genSamps.m - Generate samples from a Logistic-Normal distribution

Instructions:

- First make sure you have the Matlab Statistics Toolbox.

- Unzip hlnfit.zip.
- Open Matlab and run hlnscript