Dear list!
I am interested in learning about MLE and I wonder whether it is possible
to use the examples for maximum likelihood estimation given in 8.7 in
MASSv3 with R? AFAIU R does not have a direct replacement for S-PLUS's
ms() which the examples use for the fitting, but optim() may be of help
for me. However, I am not sure how I can convert the use of ms() using
optim()--is there an explanation how to do this somewhere? Thanks.
Best wishes,
Sven C. Koehler
========================================================================Example
from MASSv3 8.7
========================================================================library(MASS)
data(geyser)
attach(geyser)
truehist(waiting, xlim=c(35,110), ymax=0.04, h=5)
width.SJ(waiting)
wait.dns <- density(waiting, 200, width=10.24)
lines(wait.dns, lty=2)
lmix2 <- deriv3(
~ -log(p*dnorm((x-u1)/s1)/s1 + (1-p)*dnorm((x-u2)/s2)/s2),
c("p", "u1", "s1", "u2",
"s2"),
function(x, p, u1, s1, u2, s2) NULL)
p0 <- c(p=mean(waiting < 70), u1=50, s1=5, u2=80, s2=5)
tr.ms <- function(info, theta, grad, scale, flags, fit.pars) {
cat(round(info[3], 3), ":", siginf(theta), "\n")
invisible()
}
wait.mix2 <- ms(~ lmix2(waiting, p, u1, s1, u2, s2),
start=p0, data=geyser, trace=tr.ms)