[R] optimx and follow.on=TRUE... does not follow

Marc Girondot marc_grt at yahoo.fr
Wed May 17 18:29:31 CEST 2017


Hi,

I would like to know if some of you have a solution for this problem:

I use optimx (from package optimx) to fit the parameters of a model 
(complex model based on several imbricated exponential functions).

I use the two methods : method = c("Nelder-Mead", "BFGS") with the options:

control=list(dowarn=FALSE, follow.on=TRUE, kkt=FALSE, trace=1, 
REPORT=100, maxit=1000)

For some situations, it works as expected, but not for others.

The problem occurs at the transition between the two methods:

For example at the end of the Nelder-Mead method the value is 47.55839 
but at the beginning of the BFGS it drops again at 47.62xxx and at the 
end of the BFGS it is "only" 47.56198, so a local minimum (see below a 
result).

                  DHA      DHH     T12H    value fevals gevals niter 
convcode kkt1 kkt2  xtimes

Nelder-Mead 46.93154 39.94028 318.4949 47.55839    409     NA NA       
10   NA   NA 156.896
BFGS        45.29744 36.80026 321.5996 47.56198     54      5 NA        
0   NA   NA  32.604

After investigations, it seems that when parameters are transmitted from 
one method to the next, the values is truncated at the 5th digit. And as 
my model has several exponential functions imbricated, it is very 
sensitive to the precision of the parameters. It does not change the 
main conclusion, but I would prefer not have such a problem.

Does someone has a solution ?

I would prefer continue to use optimx.

Thanks a lot.

Marc



More information about the R-help mailing list