I am running a Markov Chain Monte Carlo sampler for phylogenetic inference. I used to track the progress of convergence by checking the Effective Sample Size in Tracer. Because the results started to look good, I have begun to implement some analytics in Python, and while at it I also added ArviZ ESS calculation.
For most of my chains and most of my parameters, ArviZ and Tracer agree concerning the order of magnitude of the Effective Sample Size, but there are a few runs that have all parameters with ESS in the several hundreds according to Tracer, but very low ESS according to ArviZ.
I noticed that ArviZ exposes several different methods of computing ESS, but I cannot find documentation what they mean. (The R package Rhat also provides ‘bulk’ and ‘tail’, so I get a vague idea what they do.
What do the other options mean? Do you have any advice on which methods I should use for what purpose?