bayesplot icon indicating copy to clipboard operation
bayesplot copied to clipboard

Add split-chain option to rank plots.

Open sims1253 opened this issue 11 months ago • 0 comments

This is again relevant to https://discourse.mc-stan.org/t/rank-plots-dont-save-you-from-symmetric-non-stationary-chains/37624/4

I suppose this would be relevant for all rank-based plots?

Using this to make my own version of split chains makes the problems super obvious:

n = 1000
chain1 <- -2 + 0.003 * 1:n + arima.sim(list(ar = 0.7), n = n, sd = 0.5)
chain2 <- 1 + -0.003 * 1:n + arima.sim(list(ar = 0.7), n = n, sd = 0.5)

# Split chains into first and second half
midpoint <- n/2
chains <- as_draws_array(list(
  chain1_first = list(theta = chain1[1:midpoint]),
  chain1_second = list(theta = chain1[(midpoint+1):n]),
  chain2_first = list(theta = chain2[1:midpoint]),
  chain2_second = list(theta = chain2[(midpoint+1):n])
))

mcmc_rank_overlay(chains, )
mcmc_rank_ecdf(chains, plot_diff = TRUE)

image image

sims1253 avatar Dec 16 '24 12:12 sims1253