diff --git a/arviz/stats/diagnostics.py b/arviz/stats/diagnostics.py index eae8692165..21577b62f4 100644 --- a/arviz/stats/diagnostics.py +++ b/arviz/stats/diagnostics.py @@ -46,6 +46,7 @@ def bfmi(data): Examples -------- Compute the BFMI of an InferenceData object + .. ipython:: In [1]: import arviz as az @@ -526,9 +527,9 @@ def _bfmi(energy): energy_mat = np.atleast_2d(energy) num = np.square(np.diff(energy_mat, axis=1)).mean(axis=1) # pylint: disable=no-member if energy_mat.ndim == 2: - den = _numba_var(svar, np.var, energy_mat, axis=1, ddof=0) + den = _numba_var(svar, np.var, energy_mat, axis=1, ddof=1) else: - den = np.var(energy, axis=1) + den = np.var(energy, axis=1, ddof=1) return num / den diff --git a/arviz/tests/test_diagnostics.py b/arviz/tests/test_diagnostics.py index 1ba514ad5d..4100cdbd19 100644 --- a/arviz/tests/test_diagnostics.py +++ b/arviz/tests/test_diagnostics.py @@ -45,7 +45,7 @@ def data(): class TestDiagnostics: def test_bfmi(self): energy = np.array([1, 2, 3, 4]) - assert_almost_equal(bfmi(energy), 0.8) + assert_almost_equal(bfmi(energy), 0.6) def test_bfmi_dataset(self): data = load_arviz_data("centered_eight")