At times, when fitting a stan model involves a low E-BFMI problem, I am provided with the usual warning :
> fit.binom <- stan('simu_CAR.stan', data = dat_binom_stan, + iter = niter, chains = nchains, verbose = FALSE) Warning messages: 1: There were 1 chains where the estimated Bayesian Fraction of Missing Information was low. See http://mc-stan.org/misc/warnings.html#bfmi-low 2: Examine the pairs() plot to diagnose sampling problems
However if I call
check_energy() , I see no trace of the initial warning :
> check_energy(fit.binom) E-BFMI indicated no pathological behavior.
It seems that the
stan() main function will raise a warning if E-BFMI is lower than 0.3. (as inidcated in 6.1 - A Conceptual Intorduction to Hamiltonian Monte Carlo, p. 44) whereas the
check_energy() function will considered 0.2 as a threshold for pathological behaviors as one can see in the help file ?
Is that indeed the case and is there a practical reason to that ? (Not an earth-shattering problem, but still tickling my curiousity)
PS : R version 3.5.0 and rstan version 2.17.3