Source code for pypesto.profile.options

from typing import Dict, Union


[docs]class ProfileOptions(dict): """ Options for optimization based profiling. Parameters ---------- default_step_size: Default step size of the profiling routine along the profile path (adaptive step lengths algorithms will only use this as a first guess and then refine the update). min_step_size: Lower bound for the step size in adaptive methods. max_step_size: Upper bound for the step size in adaptive methods. step_size_factor: Adaptive methods recompute the likelihood at the predicted point and try to find a good step length by a sort of line search algorithm. This factor controls step handling in this line search. delta_ratio_max: Maximum allowed drop of the posterior ratio between two profile steps. ratio_min: Lower bound for likelihood ratio of the profile, based on inverse chi2-distribution. The default 0.145 is slightly lower than the 95% quantile 0.1465 of a chi2 distribution with one degree of freedom. reg_points: Number of profile points used for regression in regression based adaptive profile points proposal. reg_order: Maximum degree of regression polynomial used in regression based adaptive profile points proposal. magic_factor_obj_value: There is this magic factor in the old profiling code which slows down profiling at small ratios (must be >= 0 and < 1). """
[docs] def __init__(self, default_step_size: float = 0.01, min_step_size: float = 0.001, max_step_size: float = 1., step_size_factor: float = 1.25, delta_ratio_max: float = 0.1, ratio_min: float = 0.145, reg_points: int = 10, reg_order: int = 4, magic_factor_obj_value: float = 0.5): super().__init__() self.default_step_size = default_step_size self.min_step_size = min_step_size self.max_step_size = max_step_size self.ratio_min = ratio_min self.step_size_factor = step_size_factor self.delta_ratio_max = delta_ratio_max self.reg_points = reg_points self.reg_order = reg_order self.magic_factor_obj_value = magic_factor_obj_value
def __getattr__(self, key): try: return self[key] except KeyError: raise AttributeError(key) __setattr__ = dict.__setitem__ __delattr__ = dict.__delitem__
[docs] @staticmethod def create_instance( maybe_options: Union['ProfileOptions', Dict] ) -> 'ProfileOptions': """ Returns a valid options object. Parameters ---------- maybe_options: ProfileOptions or dict """ if isinstance(maybe_options, ProfileOptions): return maybe_options options = ProfileOptions(**maybe_options) return options