This introduces an experimental alternative way to interpolate between PDFs in likelihood/parameter space: radial interpolation.
Instead of initializing models in a grid, you can initialize models in any pattern you want. I stole some code to sample a Latin hypercube from https://github.com/paulknysh/blackbox.
Next, when you call the likelihood function, instead of linearly interpolating the PDFs between the nearest models in each dimension, it computes a weighted average of all PDFs, with the weight of each PDF a decaying exponential of the distance in the parameter space.
You can add more models later, for example to improve resolution in a region you're interested in. This wasn't the main motivation, but it seems nice; could easily be achieved for
My main motivation is dealing with situations with much Monte Carlo noise. You could just use more samples to compute single models, but it seems a waste to spend all your computation time on individual points. With this method, choosing a denser grid helps you fight MC noise and sample your space better at the same time. The radius with which the weight of the individual models decay is an important parameter; I don't really know how to tune that yet. I will try to add an example notebook.
This also fixes #3: it changes rate parameters to be rate multipliers instead of the raw rates everywhere. Some examples will have to be changed after this is merged.
A test notebook has been added which demonstrates we get sensible results in cases with simultaneous shape and rate parameters. Thanks to @kdund for the GaussianSource.
This introduces an experimental alternative way to interpolate between PDFs in likelihood/parameter space: radial interpolation.
My main motivation is dealing with situations with much Monte Carlo noise. You could just use more samples to compute single models, but it seems a waste to spend all your computation time on individual points. With this method, choosing a denser grid helps you fight MC noise and sample your space better at the same time. The radius with which the weight of the individual models decay is an important parameter; I don't really know how to tune that yet. I will try to add an example notebook.
This also fixes #3: it changes rate parameters to be rate multipliers instead of the raw rates everywhere. Some examples will have to be changed after this is merged.
A test notebook has been added which demonstrates we get sensible results in cases with simultaneous shape and rate parameters. Thanks to @kdund for the GaussianSource.