elfi-dev / elfi

ELFI - Engine for Likelihood-Free Inference
http://elfi.readthedocs.io
BSD 3-Clause "New" or "Revised" License
265 stars 60 forks source link

Fix target model initialisation #486

Open uremes opened 3 months ago

uremes commented 3 months ago

Summary:

This update postpones surrogate model initialisation in BOLFI and BOLFIRE until n_initial_evidence data points are available and initialises the model based on all this data. Fixes #425

In the current implementation, the model is initialised based on batch_size data points. This is a problem when batch_size is small because the priors applied on the default kernel are also determined based on the initialisation data and become sensitive to the random seed. For example, see what happens in BOLFI tutorial notebook with seed=310522 vs seed=1 or BOLFIRE tutorial notebook with seed=100123 vs seed=10.

Please make sure

If your contribution adds, removes or somehow changes the functional behavior of the package, please check that

and the proposed changes pass all unit tests (check step 6 of CONTRIBUTING.rst for details)

Copyright and Licensing

Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company):

By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses: