I would like to hear from those who use nlminb(). I'm not sure how to
interpret the $message output from nlminb().
My application is MLE fits of a dose-response function. The dose-response
function is simply a 2-parameter Weibull (sometimes referred to as a
one-hit model). I've been surprised to find convergence problems given
the simplicity of the dose-response function (and surely comparable
simplicity in the loglikelihood ?). The model and log-likelihood are
printed below.
For a variety of data-sets I keep getting the following message,
FALSE CONVERGENCE
Based on inspection of contour plots of the log-likelihood surface, I've
noticed that this message is not helpful for differentiating fairly good
estimates of the MLE from seemingly bad; where `good' or `bad' is based on
comparability with the MLE apparant in the contour plot.
Ultimately I would like to run nlminb() repeatedly within a loop on
re-sampled data-sets, which means I won't be able to confirm whether every
MLE fit is indeed good (i.e., despite what seem to be inevitable FALSE
CONVERGENCE messages).
I have four questions:
1) Is this a problem with my use of scale ?
2) Any heuristics for setting scale ?
3) What does FALSE CONVERGENCE mean ?
4) Should I be considering another platform/package (note: I do need to
keep non-negative constraints on the parameters)
Thanks for any advice you may have,
[[I am using Splus for Windows version 3.3]]
Kevin
---------
# MODEL:
# P(d) = 1-exp(-theta[1]-theta[2]*d)
tmp <- nlminb(theta, obj = likw3, grad= w2.grh, scale=c(1,10000), lower =
c(0.00001, 0.00001), sumdat = sumdat)
# where,
likw2<-function(theta, sumdat)
{
d <- sumdat$d # doses
r <- sumdat$x # number of responses
n <- sumdat$n # total number of animals
prb <- 1-exp(-theta[1]-theta[2]*d])
lik <- sum(r * log(prb)) + sum((n - r) * log(1 - prb))
return( - lik)
}
and,
w2.grh was generated with the assistance of deriv3() (VR's MASS library)
-------
-----------------------------------------------------------------------
This message was distributed by s-news@wubios.wustl.edu. To unsubscribe
send e-mail to s-news-request@wubios.wustl.edu with the BODY of the
message: unsubscribe s-news