Ok, I think I understand this. I have questions more on the conceptual side now.
1000 x 50 x 2 sized tensor which represents 50 chains containing 1000 samples each,
# chain_x: 1000 x 50 x 2
stats.effective_sample_size(chain_x, chain_dim=1, sample_dim=0)
I get the following result,
I was expecting a 2-D tensor (representing ESS per dimension from the sample space) and this seems to fall in line with my understanding.
However, I don't know how to interpret these numbers. I was thinking that there is no way ESS can be greater than 1000. Am I missing something here?
Also, if I report ESS in results, do I report the
min among all dimensions?
Edit: I generated the chains using my own implementation of HMC and have visualized one of them below. It seems to be doing reasonable so I am hoping at least my samples are reasonable.