pyhf.infer.mle.fixed_poi_fit¶
-
pyhf.infer.mle.
fixed_poi_fit
(poi_val, data, pdf, init_pars=None, par_bounds=None, **kwargs)[source]¶ Run a maximum likelihood fit with the POI value fixed.
Note
twice_nll()
is the objective function given to the optimizer and is returned evaluated at the best fit model parameters when the optional kwargreturn_fitted_val
isTrue
.Example
>>> import pyhf >>> pyhf.set_backend("numpy") >>> model = pyhf.simplemodels.hepdata_like( ... signal_data=[12.0, 11.0], bkg_data=[50.0, 52.0], bkg_uncerts=[3.0, 7.0] ... ) >>> observations = [51, 48] >>> data = pyhf.tensorlib.astensor(observations + model.config.auxdata) >>> test_poi = 1.0 >>> bestfit_pars, twice_nll = pyhf.infer.mle.fixed_poi_fit( ... test_poi, data, model, return_fitted_val=True ... ) >>> bestfit_pars array([1. , 0.97224597, 0.87553894]) >>> twice_nll array(28.92218013) >>> -2 * model.logpdf(bestfit_pars, data) == twice_nll array([ True])
- Parameters
data – The data
pdf (Model) – The statistical model adhering to the schema model.json
init_pars (list) – Values to initialize the model parameters at for the fit
par_bounds (list of lists or tuples) – The extrema of values the model parameters are allowed to reach in the fit
kwargs – Keyword arguments passed through to the optimizer API
- Returns
See optimizer API