x3cflux.run_profile_likelihood_cis

class x3cflux.run_profile_likelihood_cis(simulator, mle: ndarray, alpha: float = 0.95, names: List[str] = None, bounds: Dict[str, Tuple[float, float]] = None, num_procs: int = -1, rel_tol: float = 0.001, abs_tol: float = 0.001, **kwargs)

Run confidence interval estimation based on profile likelihoods for all parameters. A simple binary search is used to find to point where the PL threshold is exceeded. For re-optimizing, the interior point optimizer ipopt and its Python interface cyipopt are used. ipopt can be configured by passing the appropriate kwargs. See A. Wächter and L. T. Biegler (2006), https://link.springer.com/article/10.1007/s10107-004-0559-y.

Parameters:
  • simulator – Labeling simulator to evaluate the likelihood and its gradient

  • mle – Maximum Likelihood estimator of the free parameters

  • alpha – Confidence level of the interval (between 0 and 1)

  • names – Compute profile likelihoods only for a subset of parameters given by name.

  • bounds – Parameter boundary constraints

  • num_procs – Number of parallel workers. If the value is below one, the number of workers is set to the number of available CPU’s.

  • rel_tol – Relative convergence criterion for binary search.

  • abs_tol – Absolute convergence criterion for binary search.

  • kwargs – Pass ipopt options as kwargs. See https://coin-or.github.io/Ipopt/OPTIONS.html.

Returns:

List of tuples containing the lower and upper bound of the CI