Low BFMI warning with E-BFMI > 0.3

Hi, I’ve been working on a time series model with unobserved components. For now, I’ve been running things with only one chain before scaling the problem to more chains, but I have found something that is puzzling me and that is likely a result of my own ignorance.

Specifically, I get the “low BFMI” warning. As far as I understand one should get sucha a warning only if E-BFMI < 0.3. Nonetheless, when I use the get_bfmi( stan_object ) function I get that my E-BFMI = 0.71 and if I use check_energy( stan_object ) I get “E-BFMI indicated no pathological behavior”. Hence, these statistics seem to suggest that E-BMFI is not low (contradicting the warning I get). Am I interpreting something totally wrong about the “low BFMI” warning or could it be possible that there is something “funny” going on in RStan?

1 Like

Wow, it looks like the code that throws this warning is just straight-up doing the wrong thing. If true, I’m stunned that this hasn’t been noticed and fixed, since this particular bit of code has been around for a while:

Presumably we want to use rstan::get_bfmi here @bgoodri @jonah

1 Like

Thank you @jsocolar I will move on assuming that there is a glitch in the “low BFMI” warning and check the BFMI directly.