Ticket #612 (closed: wontfix)

Opened 11 years ago

Last modified 5 years ago

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:1 Changed 11 years ago by Nick Draper

  • Milestone changed from Iteration 18 to Iteration 19

Moved as part of iteration 18 end

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

comment:6 Changed 11 years ago by Martyn Gigg

  • Status changed from reopened to testing
  • Resolution set to wontfix

comment:7 Changed 11 years ago by Martyn Gigg

  • Status changed from testing to closed

comment:8 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 1460

Note: See TracTickets for help on using tickets.