Re: [Rd] "wild" function example in optim

From: Peter Dalgaard <p.dalgaard_at_biostat.ku.dk>
Date: Tue 26 Apr 2005 - 17:04:55 GMT

Thomas Lumley <tlumley@u.washington.edu> writes:

> On Tue, 26 Apr 2005, Werner Bier wrote:
>
> > Dear all,
> >
> > Firstly, I do apologize if my question is simple and posted in the
> > wrong place but I had no reply from the R-help mailing list (maybe
> > it is too simple!).
> >
> > I was wondering why parscale is set to 20 in the "wild" function
> > example used in ?optim. This function has only one parameter and if
> > we set parscale equal to 1 then the solution near the global minimum
> > is not found.
> >
> > I would use parscale only in cases the object function has more than
> > one parameter to be optimised, shouldn't I?
> >
>
> parscale is more important in cases with more than one parameter (and
> with one parameter you could set fnscale instead of parscale to get
> the same effect)
>
> However, a sufficiently badly scaled one-d problem can still benefit
> from fnscale or parscale.
> > f
> function(x) 1e-10*x^2
> > g
> function(x) 2e-10*x
> > optim(7,f,g,method="CG")$par
> [1] 7
> > optim(7,f,g,method="CG",control=list(parscale=1e5))$par
> [1] 1.209735e-14
> > optim(7,f,g,method="CG",control=list(fnscale=1e-10))$par
> [1] 1.673141e-15

It also depends on the optimizer. The SANN optimizer basically jumps haphazardly (well, a bit more intelligently than that) back and forth along the x axis and then "cools down" in order to settle in the "best" local minimum. The parscale plays a role in setting the scale of those jumps and if it is too low it might not wander far enough to get near the true minimum.

For further information, you really need to do your own reading. References are given on the help page.

-- 
   O__  ---- Peter Dalgaard             Blegdamsvej 3  
  c/ /'_ --- Dept. of Biostatistics     2200 Cph. N   
 (*) \(*) -- University of Copenhagen   Denmark      Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk)             FAX: (+45) 35327907

______________________________________________
R-devel@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Received on Wed Apr 27 03:09:50 2005

This archive was generated by hypermail 2.1.8 : Mon 24 Oct 2005 - 22:26:42 GMT