The Living Thing / Notebooks :

Hierarchical models

The classic set up: Your process generates observations. Theses are corrupted by noise. You would like to work out the true parameter values of the process despite the noise.

Hierarchical set up: You are observing many processes with different parameters. You don’t see these; rather, another layer of processes lies between you and these underlying processes, perturbing the output in some way. Repeat the last line to taste. These processes in turn generate observations. The observations might be corrupted by noise. You would like to know the distribution for the parameters of the process across the whole population, and possibly of the noise too.

Known as mixed effects models, hierarchical models, nested models (careful! many definitions to that term), not necessarily ecology per se). random coefficient models… and directed graphical models.

Directed graphical models are formally the same thing, but retold with different emphasis for reasons of tradition. When you mention the graphical models, frequently the emphasis is on the independence graph itself; When you mention hierarchical models it seems to be assumed that you wish to estimate parameters, or sample from posteriors, or what-have-you.

In certain cute cases (i.e. linear) these can be inferred by deconvolution. See ANOVA for an important special case. More generally, frequentists sometimes find it convenient to use hierarchical generalised linear models to get tractable parameter estimates for such models. If your structural equations are very much not linear, things can get tedious, and special-cased, e.g. one might do indirect inference.

Bayesians don’t generally do anything special in that vein; this is bread-and-butter Bayes stuff.

In the case that you have many layers of hidden variables and don’t expect any of them to correspond to a “real” state so much as simply to approximate the unknown function better, you just discovered a deep neural network, possibly even a probabilistic neural network. Ranz13 (for example) does explicitly.


Thomas Wiecki wrote:

[… want to take the opportunity to make another point that is not directly related to hierarchical models but can be demonstrated quite well here. Usually when talking about the perils of Bayesian statistics we talk about priors, uncertainty, and flexibility when coding models using Probabilistic Programming. However, an even more important property is rarely mentioned because it is much harder to communicate. @rosstaylor touched on this point in his tweet

It’s interesting that many summarize Bayes as being about priors; but real power is its focus on integrals/expectations over maxima/modes

Michael Betancourt makes a similar point when he says “Expectations are the only thing that make sense.”

But what’s wrong with maxima/modes? Aren’t those really close to the posterior mean (i.e. the expectation)? Unfortunately, that’s only the case for the simple models we teach to build up intuitions. In complex models, like the hierarchical one, the MAP can be far away and not be interesting or meaningful at all.[…

This strong divergence of the MAP and the Posterior Mean does not only happen in hierarchical models but also in high dimensional ones, where our intuitions from low-dimensional spaces gets twisted in serious ways. …

[…Final disclaimer: This might provide the impression that this is a property of being in a Bayesian framework, which is not true. Technically, we can talk about Expectations vs Modes irrespective of that. Bayesian statistics just happens to provide a very intuitive and flexible framework for expressing and estimating these models.

Andrew Gelman

Gelman’s blog posts on this: 1, 2, 3


Various systems implement specialist fitting for general hierarchical models, notably everything bayesian that’s worthwhile using – e.g. edward, pymc3, stan etc.

For special cases such as generalized linear, jointly gaussian, or jointly Bernoulli variables etc, see your favourite statistical language’s standard library.