Hi,

I’m new to MCMC, and I’m using the Turing package to implement NUTS.

```
par_NUTS = sample(model, NUTS(1000, 0.65), MCMCThreads(), 1000, 3)
```

I’m trying to figure out what the Effective Sample Size (ESS) values returned in the summary statistics mean.

I’ve run 3 separate chains. When I check the ESS values for the individual chains and the combined chains they turn out to be identical:

```
summarystats(par_NUTS; append_chains=true) # Appended chains
```

```
summarystats(par_NUTS; append_chains=false)[1] # Individual chains
```

```
summarystats(par_NUTS; append_chains=false)[2] # Individual chains
```

```
summarystats(par_NUTS; append_chains=false)[3] # Individual chains
```

What does this mean? Is it the relative ESS values that are returned?

1 Like

The documentation of `MCMCChains.rhat`

references the paper https://arxiv.org/pdf/1903.08008.pdf

from which it apparently takes the calculation of `rhat`

(and `ess`

?).

I have only skimmed over the first two pages just now, and hope I do understand correctly. The authors make the point that in general the convergence of MCMC cannot be reliably assessed from a single chain.

Thus, those observables are not calculated for every chain separately, which explains the identical values you observe. You may force a split by calling `ess_rhat(chains[:,:,1])`

etc., but again, those might not reliably report failed convergence and overestimate the ESS.

(*P.S.: Please do not double post 'ESS' in Turing.jl if a question doesn’t receive any attention for a couple of days. That happens. Instead, you can bump it with a comment after a while.*)