Closed faiz95ahmed closed 3 years ago
Looks good. Leaving simulation and probability calculation seems like the best thing to do.
If one of the simulators has the probability calculation strongly connected to the simulation then we could create a separate base class to handle that situation, but such a simulator would have problems calculating the likelihood ratio. When calculating it, we need to run the simulator with parameter theta_0 to get the latents, but also calculate the likelihoods of getting those latents if it was run with a different theta_1. This means we always require a function to calculate the probabilities separate from the simulation, unless we only use likelihood score methods.
@thanksphil will need to implement a clean version of the quick and dirty visualization code from my branch, but it's useful for testing in the mean time so we'll merge my code for now.