Ticket #612 (closed: wontfix)
Fit1D: check parameter scaling
Reported by: | Nick Draper | Owned by: | Anders Markvardsen |
---|---|---|---|
Priority: | major | Milestone: | Iteration 21 |
Component: | Keywords: | ||
Cc: | Blocked By: | ||
Blocking: | Tester: |
Description
Some fits have parameters that are of vastly different orders of magnitude. Look at how the fitting optimizers handle this.
Change History
comment:2 Changed 11 years ago by Nick Draper
- Milestone changed from Iteration 19 to Iteration 20
Moved as part of the end of Iteration 19
comment:3 Changed 11 years ago by Anders Markvardsen
- Status changed from new to accepted
The GSL least-squares implementation using derivatives (names gsl_multifit_fdfsolver_lmsder) uses a diagonal scaling matrix.
The GSL simplex implementation does not do this by default. When setting up GSL simplex we have the option of setting the initial size of each vertex of the simplex using gsl_multimin_fminimizer_set.
The easiest (and arguably the best) way to avoid parameters with wastly different order of magnitude is no make sure units are used such that the different parameters scale similarly.
However, this is probably a bit too much to ask users to do.
Hence, a suggestion for doing automatic scaling of the simplex algorithm could be: Use the initial starting values provided by the user to propose a scaling which is given by the ratios of say the absolute value of first parameter with respect to absolute values of the remaining parameters and for parameters which are initialized to zero set the scaling to one. Note it might turn out to be sensible to have a maximum and minimum value for the scaling, since the simplex might behave unexpected in such limits.
Perhaps the user should have the option to 'use scaling' the most sensible default might be not to use scaling.
comment:4 Changed 11 years ago by Anders Markvardsen
- Status changed from accepted to testing
- Resolution set to fixed
comment:5 Changed 11 years ago by Martyn Gigg
- Status changed from testing to reopened
- Resolution fixed deleted
Moved as part of iteration 18 end