minimizationlog-likelihoodiminuitzfit

Constrain on parameters for Negative Log Likelihood Minimization


I am trying to fit a 5 parameter (a, b, c, d, e) model, where one of the parameters is constrained by another, let's say,

0< d < 1

e < |d|

I am currently using zfit which as far as I know, uses iMinuit

I have only created the zfit.Parameters and put the limits such that the ranges accessible to them are valid, again, let's say:

d = zfit.Parameter('d', value=0.5, lower_limit=0.3, upper_limit=1.0, step_size=0.01)

e = zfit.Parameter('e', value=0.1, lower_limit=0.0, upper_limit=0.3, step_size=0.01)

It has been working well so far, but I think it is not the right way to do it.

So my question is, what is the correct way to deal with this kind of constraint?

Cheers


Solution

  • I would use this limits with caution, as they block the variables, ideally, they should be far off the final value.

    There are two ways to achieve what you want: