From a18bd959443b090db84f03d1cbccefd51c17caed Mon Sep 17 00:00:00 2001 From: u2370093 Date: Thu, 19 Mar 2026 13:30:10 +0000 Subject: [PATCH 1/2] initial values instead of mean --- pybop/optimisers/ep_bolfi_optimiser.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pybop/optimisers/ep_bolfi_optimiser.py b/pybop/optimisers/ep_bolfi_optimiser.py index 42541d819..ce5cb8f14 100644 --- a/pybop/optimisers/ep_bolfi_optimiser.py +++ b/pybop/optimisers/ep_bolfi_optimiser.py @@ -264,7 +264,7 @@ def _set_up_optimiser(self): feature_extractors, fixed_parameters={}, # probably baked into self.problem.model free_parameters={ - name: par.get_mean(transformed=True) + name: par.get_initial_value(transformed=True) for name, par in self.problem.parameters.items() }, initial_covariance=self.problem.parameters.get_covariance(transformed=True), From c7023817fda455d99d73ce918c8e505f7d0bd89f Mon Sep 17 00:00:00 2001 From: u2370093 Date: Thu, 19 Mar 2026 14:29:51 +0000 Subject: [PATCH 2/2] fix mean --- .../battery_parameterisation/bayesian_feature_fitting.py | 7 ++++--- pybop/optimisers/ep_bolfi_optimiser.py | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/examples/scripts/battery_parameterisation/bayesian_feature_fitting.py b/examples/scripts/battery_parameterisation/bayesian_feature_fitting.py index 743183ba7..358119b9c 100644 --- a/examples/scripts/battery_parameterisation/bayesian_feature_fitting.py +++ b/examples/scripts/battery_parameterisation/bayesian_feature_fitting.py @@ -23,16 +23,17 @@ # Set multivariate parameters (defined in model space) distribution = pybop.MultivariateLogNormal( - mean_log_x=[np.log(original_D_n), np.log(original_D_p)], + mean_log_x=[ + np.log(0.9 * original_D_n) - 0.5 * np.log(2), + np.log(1.1 * original_D_p) - 0.5 * np.log(2), + ], covariance_log_x=[[np.log(2), 0.0], [0.0, np.log(2)]], ) parameter_values["Negative particle diffusivity [m2.s-1]"] = pybop.Parameter( - initial_value=0.9 * original_D_n, transformation=pybop.LogTransformation(), distribution=pybop.MarginalDistribution(distribution, 0), ) parameter_values["Positive particle diffusivity [m2.s-1]"] = pybop.Parameter( - initial_value=1.1 * original_D_p, transformation=pybop.LogTransformation(), distribution=pybop.MarginalDistribution(distribution, 1), ) diff --git a/pybop/optimisers/ep_bolfi_optimiser.py b/pybop/optimisers/ep_bolfi_optimiser.py index ce5cb8f14..42541d819 100644 --- a/pybop/optimisers/ep_bolfi_optimiser.py +++ b/pybop/optimisers/ep_bolfi_optimiser.py @@ -264,7 +264,7 @@ def _set_up_optimiser(self): feature_extractors, fixed_parameters={}, # probably baked into self.problem.model free_parameters={ - name: par.get_initial_value(transformed=True) + name: par.get_mean(transformed=True) for name, par in self.problem.parameters.items() }, initial_covariance=self.problem.parameters.get_covariance(transformed=True),