Phylobayes: maxdiff calculation on more than 2 chains



I wonder if someone can explain how maxdiff is computed when more than 2 chains are compared?

I am puzzled by this: I have run 4 chains on a dataset, and if I use ‘bpcomp’ on chains 1, 2 and 3, I get a maxdiff = 0.51, but if I compute it on all four chains, I get a maxdiff = 0.35. I don’t understand how that’s possible.

Many thanks for any answer to my naive question!




do your chains have the same length?

bpcomp computes the max-diff statistic based on the same number of points for each chain. Which means that, if the chains have different lengths, then all will be read until the size of the shortest one has been reached.

and I can imagine cases where the maxdiff is small on the first part of the 3 chains, but then increases again.

in any case, don’t hesitate to send me the files, if you want me to check what happens here



Hi Nicolas,

You were right, one of the chains was significantly shorter than the others and “biased” the comparison of the maxdiff!

Just to be clear though, when there are more than 2 chains, is the computation of the maxdiff done for each pair of chains then the largest of them is reported?

In any case, thank you for your answer!



yes, exactly that.



Thank you for your answer!!