pybop-team / PyBOP

A parameterisation and optimisation package for battery models.
https://pybop-docs.readthedocs.io
BSD 3-Clause "New" or "Revised" License
74 stars 23 forks source link

Add marginal log likelihood sampling #549

Open BradyPlanden opened 2 weeks ago

BradyPlanden commented 2 weeks ago

Feature description

Add marginal likelihood sampling methods to enable model selection workflows. A few common implementations are:

  1. R. M. Neal, ‘Annealed Importance Sampling’, Sep. 04, 1998, arXiv: arXiv:physics/9803008.
  2. Bennett, C. H. Efficient estimation of free energy differences from Monte Carlo data. Journal of Computational Physics, 22(2):245–268, 1976. Direct PDF
  3. J. Skilling, ‘Nested Sampling’, in AIP Conference Proceedings, Garching (Germany): AIP, 2004, pp. 395–405. doi: 10.1063/1.1835238.
  4. H. Chai, J.-F. Ton, R. Garnett, and M. A. Osborne, ‘Automated Model Selection with Bayesian Quadrature’, Mar. 01, 2019, arXiv: arXiv:1902.09724.

Motivation

Marginal log-likelihood is a very useful metric for model selection; however, direct computation of this integral is commonly intractable due to dimensional expansion for anything but the lowest number of parameters. To acquire this information, sampling and alternative bayesian integration methods have been investigated.

Possible implementation

No response

Additional context

No response