def fit( self, model: abstract.AbstractPriorModel, analysis: abstract_search.Analysis ): best_likelihood = float("-inf") best_instance = None likelihoods = list() for list_ in make_lists( no_dimensions=model.prior_count, step_size=self.step_size ): instance = model.instance_from_unit_vector( list_ ) likelihood = analysis.log_likelihood_function( instance ) likelihoods.append(likelihood) if likelihood > best_likelihood: best_likelihood = likelihood best_instance = instance return Result( samples=MockSamples( max_log_likelihood_instance=best_instance, log_likelihood_list=likelihoods, gaussian_tuples=None ), model=model )
def _lists(self) -> List[List[float]]: """ A list of hypercube vectors, used to instantiate the perturbation_model and create the individual perturbations. """ return make_lists(self.perturbation_model.prior_count, step_size=self.step_size)