[R] L-BFGS-B and parscale in optim()
Sebastian P. Luque
spluque at gmail.com
Thu May 26 02:33:24 CEST 2011
On Wed, 25 May 2011 23:46:02 +0000,
Ben Bolker <bbolker at gmail.com> wrote:
> Sebastian P. Luque <spluque <at> gmail.com> writes:
>> Hi,
>> When using method L-BFGS-B along with a parscale argument, should the
>> lower and upper bounds provided be on the scaled or unscaled values?
>> Thanks.
> I think you can figure this out by experimentation on your own,
I'm asking because I've already experimented and I'm not certain.
> but I believe that all of the scaling done by parscale is internal
> (i.e., you should provide bounds on the original, unmodified scale).
Within the bounds I provide in the original scale I shouldn't find
problems, but optim() reports that my function is returning non-finite
values. I added a debugging message to the function given to optim() to
see whether those bounds are being violated:
fn <- function(p, l1, l2) {
res <- -sum(FUNCTION-WITH-p-l1-l2)
if (any(!is.finite(res))) {
print(paste("problems with", p, l1, l2))
} else res
}
which shows me that the estimate for at least one parameter is outside
the bounds. I'll try to prepare a simplified example to reproduce.
--
Seb
More information about the R-help
mailing list