Phylogenetic signal for binomial and lognormal families

Hi there,

I am using brms to run models including phylogenetic signal and I was wondering how can I determine lambda with other families than gaussian, in my case binomial and lognormal.

Thanks in advance,


1 Like

Welcome to the forum. Sorry for taking so long to respond.

Most people on this forum are not experts on phylogenetics and even those who are [like me] might not work with comparative methods. Can you share more information, for instance how \lambda is defined? Then we can try and help you gauge whether that is “extractable” from brms output.

Thank you for your answer. No problem for the time : ) The forum looks quite busy…by the way thank you for taking care of such thing!

So according to

in gaussian case, lambda is defined as the variance explained by phylogeny/(all variance components in the model)

hyp <- “sd_phylo__Intercept^2 / (sd_phylo__Intercept^2 + sigma^2) = 0”
(hyp <- hypothesis(model_simple, hyp, class = NULL))

So actually the question is more how to calculate the proportion of variance explained by phylogenetic signal when the distribution does not follow a gaussian one.

There are some papers out there I believe that make suggestions in that regard and whose formulas you can then also use in brms. I dont remember them right now unfortunately.

I’m having the same trouble as maxbiostat and cannot find any papers addressing the subject.

I looked at again the literature and so far, I found no information about how to estimate lambda with Bayesian method in context of non-normal distribution. One paper used the ‘hypothesis’ method as well and substituted π2/3 for the residual variance when the family is Bernoulli, but the citation leads to the brms vignette about phylogeny where nothing is specify about this family.

Hi @Theo and @Scott_Calvert,

After consulting with a colleague with experience in the comparative method, they told me that

If \boldsymbol A is a matrix that is proportional to shared branch lengths between two taxa, and \boldsymbol I is an identity matrix, the phenotypes have covariance \boldsymbol V_a \boldsymbol A + V_e \boldsymbol I and \lambda (or h_2) is V_a/(V_a+V_e).
For non-gaussian response \lambda is typically on the link (linear predictor) scale. Data scale versions exist but they depend on the location effects too so are often hard to compute.

They did not tell me what V_a and V_e stand for, but I presume they match the quantities in the vignette. Maybe somebody here may know what these are.

They also recommended Chapter 11 of this book as a good entry point.

It’s quantitative genetics lingo. The phylogenetic signal (lambda) is directly analogous to heritability (h2) on a pedigree.

Va is the additive genetic variance (in this case variance attributable to the phylogeny), and Ve is the variance attributable to the environment (or error), so the residual variance (in the simple case at least).

1 Like

Hi @maxbiostat and @Ax3man,

Thank you for your help!

Yes Lambda seems to not be easy to determine in non-gaussian cases. I imagine that an easy way to estimate the phylogenetic variance can be done by looking at the difference of variance explained between a model with and without the phylogeny as random effect.

Thanks again for your help!

In case you haven’t solved this yet—I think you just need to google how to calculate residual variance from your model distribution type. I have a similar problem, and after reading your post and a few of the related threads, I went down a 30min rabbit hole looking up how to do this from negative binomial distributions (non-normal like yours, also not ‘out-of-the-box’ calculation). I have now found a few papers that address my problem (I’ll link them here in case others have this same issue: Tempelman and Gianola 1999 and Mair et al. 2015). My exact search terms that led me here after 20 minutes of unfruitful searching was “negative binomial” “animal model”, and I think you’ll be able to find something similar if you google. Best of luck with your search!

1 Like