On Wed, Nov 19, 2008 at 11:03 +0100, Michael Smith wrote: > This is a question regarding how "fit_counts" uses the initial parameter > values given by "list_par". [...] > - fit with "gaussian" using Cash statistic > - use "conf" to find the 68% confidence limit for "gaussian(1).LineE" > > - ISIS tells me an improved fit has been found > > - "list_par" shows the new best fit parameters > - and "eval_counts" shows that these parameters indeed give a better fit > > so far so good > > - but, running "fit_counts", the result is a *worse* fit than before > (reverting > to parameter values similar to those *before* running "conf" > > My question is: does "fit_counts" use the parameter values shown by > "list_par" > as starting values for the fit process? Yes. > If so, how can "fit_counts" find best fit values which give a > worse fit than the starting values? I assume you're using the default optimization method, lmdif, which an implementation of the Levenberg-Marquardt method. It makes use of derivative information derived by assuming that that the fit-statistic has the same form as the chi-square statistic (a sum of squared differences between model and data). As a result, the method always changes the parameters so as to improve the chi-square statistic (because the derivatives of the statistic are hard-coded in lmdif). In many cases (e.g. when starting with a poor fit), a parameter change that improves the chi-square statistic will also improve the cash statistic, so the L-M method will usually be effective in getting "close" to minimum of the cash statistic. However, the chi-square minimum and the cash minimum are not in exactly the same place, so if the algorithm is started very close to the cash minimum, L-M might move away from it a little bit. To get the best estimate of the cash statistic minimum, it may be necessary to switch to "subplex", a variant of the simplex method: set_fit_method ("subplex"); subplex optimizes the statistic value without making use of derivative information, so it will do a better job of finding the cash minimum. On the other hand, lmdif usually converges faster, so it's usually the best method for finding the neighborhood of the minimum. Thanks, -John ---- You received this message because you are subscribed to the isis-users list. To unsubscribe, send a message to isis-users-request_at_email.domain.hiddenwith the first line of the message as: unsubscribeReceived on Wed Nov 19 2008 - 06:15:19 EST
This archive was generated by hypermail 2.2.0 : Mon Dec 01 2008 - 12:34:58 EST