I have not used "nlm", but that happens routinely with function minimizers trying to test negative values for one or more component of x. My standard approach to something like this is to parameterize "llfunc" in terms of log(shape) and log(scale), as follows:

llfunc <- function (x) { -sum(dweibull(AM,shape=exp(x[1]),scale=exp(x[2]), log=TRUE))}

Have you tried this? If no, I suspect the warnings will disappear when you try this. If not, I suggest you rewrite "llfunc" to store "nlglk <- (-sum(...))" and then print out x whenever nlglk is NA or Inf or Nan.

hope this helps. spencer graves

Eric Rescorla wrote:

I'm trying to fit a Weibull distribution to some data via maximum
likelihood estimation. I'm following the procedure described by Doug
Bates in his "Using Open Source Software to Teach Mathematical
Statistics" but I keep getting warnings about NaNs being converted to
maximum positive value:



llfunc <- function (x) { -sum(dweibull(AM,shape=x[1],scale=x[2], log=TRUE))}
mle <- nlm(llfunc,c(shape=1.5,scale=40), hessian=TRUE)


Warning messages: 1: NaNs produced in: dweibull(x, shape, scale, log) 2: NA/Inf replaced by maximum positive value 3: NaNs produced in: dweibull(x, shape, scale, log) 4: NA/Inf replaced by maximum positive value


Can someone offer some advice here?


Thanks,
-Ekr

--
[Eric Rescorla                                   [EMAIL PROTECTED]
                     http://www.rtfm.com/

______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help



______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help

Reply via email to