Dear R-help list,
Just a wrap up for this issue. Thanks to Ravi Varadan and Paul Smith for
useful feedback (both on and off list).
It seems like the culprit was another function being called within
optim, namely adapt (used to solve numerically a double integral in the
likelihood I am maximizing). From what I was able to track down, it is
adapt that just hangs. I do not know exactly why, but decreasing the
precision in adapt, using parameter eps, solves it somewhat.
I have not yet investigated thoroughly if decreasing eps does have an
impact on my results, but that is another story!
Best,
Tiago
Ravi Varadhan wrote:
Hi Tiago,
It is hard for me to speculate without knowing more about your problem.
Here is what I would suggest, assuming your problem specification and its
computer implementation are correct:
(1) You may try to terminate the algorithm by specifying a different
stopping criterion than the default values, and see whether the solution is
of acceptable accuracy. You can increase "factr" and/or "pgtol" to see if
this problem goes away.
(2) Another option is to increase "lmm" parameter, which is the number of
BFGS updates saved for approximating the hessian. Results in Zhu et al.
(ACM 1997) show that increasing "lmm" tends to improve the reliability of
the algorithm. Try, for example, lmm=17 (default is lmm = 5). Also, try
using "trace" to get more information on what goes on.
I can also suggest some alternative solutions:
(3). An easy solution is to try a different optimization algorithm: YOU can
try either nlminb() or spg() in package "BB".
(4). If it is easy to do so, specify analytic score function, i.e. the
gradient of log-likelohood, and re-run optim() or nlminb() or spg().
Hope this helps,
Ravi.
----------------------------------------------------------------------------
Ravi Varadhan, Ph.D.
Assistant Professor, The Center on Aging and Health
Division of Geriatric Medicine and Gerontology
Johns Hopkins University
Ph: (410) 502-2619
Fax: (410) 614-9625
Email: rvarad...@jhmi.edu
Webpage: http://www.jhsph.edu/agingandhealth/People/Faculty/Varadhan.html
----------------------------------------------------------------------------
--------
-----Original Message-----
From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On
Behalf Of Tiago Marques
Sent: Wednesday, April 15, 2009 10:57 AM
To: r-help@r-project.org
Subject: [R] issue with L-BFGS-B in optim (optim just hangs)
Dear R-Help List,
I am using optim, with method=L-BFGS-B, to maximize a likelihood inside a
large simulation exercise. This runs fine for most simulated data sets, but
for some reason, about 1 out of 100 times, optim will just hang.
Using a dumb approach to the problem (i.e. printing the parameter values
each time the function being maximized is evaluated), I tracked down when
this happens, and although I do not understand optim's behavior or what
triggers it, it seems to happen specifically when one of the parameter
boundaries is reached - and then the function just stops being evaluated.
But there is nothing special with the parameter boundary, i.e., if I
decrease or increase the boundary using say lower and upper arguments in
optim, the function seems to hang at the new values. So it does not seem to
be a specific value that triggers the behavior, but the fact that the value
is the boundary defined in the function call.
As anyone seen this behavior before? Is it me missing something or is this
some bug in "method=L-BFGS-B"? Any suggestions on how to deal with it?
Many thanks for any useful feedback,
Tiago
--
Tiago André Marques
Research Unit for Wildlife Population Assessment Centre for Research into
Ecological and Environmental Modelling University of St Andrews The
Observatory Buchanan Gardens St Andrews Fife KY16 9LZ Scotland
Tel: 00441334461842 Fax: 00441334461800 (Scotland office)
Tel: 00351210198736 (Portugal home)
http://www-maths.mcs.st-andrews.ac.uk/homepages/tam2.html
http://www.creem.st-and.ac.uk/tiago/
The University of St Andrews is a charity registered in Scotland : No
SC013532
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.