I am trying to estimate the multivariate effective sample size of an MCMC posterior sample with 8 parameters. For that, I am using the function
multiESS in the R package mcmcse. One of the arguments of this function is batch size, the choice of which significantly influences the estimation of the multivariate ESS.
User @Greenparker gave incredibly helpful answers to previous questions regarding
multiESS. Answering a question specifically about the choice of batch size, she suggests the following:
A reasonable thing to do is to look at how many significant [autocorrelation] lags you have. If you have large lags, then choose a larger batch size, and if you have small lags choose a smaller batch size.
I have really small autocorrelation lags. In fact, I have no significant autocorrelation lag at all, possibly because I set a rather high thinning interval of 10,000 samples. Here's how my autocorrelation plot looks like for one parameter (all the others look the same):
Following @Greenparker's advice, I would think setting the batch size to the lowest possible value (batch size = 1) is a good idea. However, in the same post, she also notes that:
If [batch size]=1, then the batch means will be exactly the Markov chain, and your batch means estimator will estimate Λ and not Σ.
So, on the one hand, I understand that I should use a low batch size if I have low autocorrelation lags. On the other, there seems to be disadvantages in using too low a batch size (although it is not clear to me if estimating Λ and not Σ is something that compromises the estimation of multivariate ESS).
My question is: should I set the batch size to 1 when I have no significant autocorrelation at all? If not, what would be a more recommendable value?