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.
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 #425In the current implementation, the model is initialised based on
batch_size
data points. This is a problem whenbatch_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 withseed=310522
vsseed=1
or BOLFIRE tutorial notebook withseed=100123
vsseed=10
.Please make sure
If your contribution adds, removes or somehow changes the functional behavior of the package, please check that
make lint
,make docs
andmake test
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: