On Jul 5, 2012, at 10:48 , chamilka wrote: > Hi everyone! > I am using the mle {stats4} to estimate the parameters of distributions by > MLE method. I have a problem with the examples they provided with the > mle{stats4} html files. Please check the example and my question below! > *Here is the mle html help file * > http://stat.ethz.ch/R-manual/R-devel/library/stats4/html/mle.html > http://stat.ethz.ch/R-manual/R-devel/library/stats4/html/mle.html > > *In the example provided with the help * >> od <- options(digits = 5) >> x <- 0:10 *#generating Poisson counts* >> y <- c(26, 17, 13, 12, 20, 5, 9, 8, 5, 4, 8) *#generating the >> frequesncies* >> > ## Easy one-dimensional MLE: >> nLL <- function(lambda) -sum(stats::dpois(y, lambda, log=TRUE)) *#they >> define the Poisson negative loglikelihood* >> fit0 <- mle(nLL, start = list(lambda = 5), nobs = NROW(y)) * #they >> estimate the Poisson parameter using mle* >> fit0 *#they call the output* > > Call: > mle(minuslogl = nLL, start = list(lambda = 5), nobs = NROW(y)) > > Coefficients: > lambda > 11.545 * #this is their estimated Lambda Vallue.* > > *Now my question is in a Poisson distribution the Maximum Likelihood > estimator of the mean parameter lambda is the sample mean, so if we > calculate the sample mean of that generated Poisson distribution manually > using R we get the below!* > >> sample.mean<- sum(x*y)/sum(y) >> sample.mean > [1] 3.5433 > > *This is the contradiction!! * > Here I am getting the estimate as 3.5433(which is reasonable as most of the > values are clustered around 3), but mle code gives the estimate 11.545(which > may not be correct as this is out side the range 0:10) > > Why this contradiction?
You misunderstand the setup. y are 11 Poisson counts, x is a dose variable used further down in the example. So > mean(y) [1] 11.54545 Your sample.mean would be relevant if there were 127 count measurements, 26 of which were 0, 17 were 1, etc. But then the likelihood would be different: > x <- 0:10 > nLL <- function(lambda) -sum(y*stats::dpois(x, lambda, log=TRUE)) > mle(nLL, start = list(lambda = 5), nobs = NROW(y)) Call: mle(minuslogl = nLL, start = list(lambda = 5), nobs = NROW(y)) Coefficients: lambda 3.54328 > > -- > View this message in context: > http://r.789695.n4.nabble.com/Maximum-Likelihood-Estimation-Poisson-distribution-mle-stats4-tp4635464.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > 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. -- Peter Dalgaard, Professor Center for Statistics, Copenhagen Business School Solbjerg Plads 3, 2000 Frederiksberg, Denmark Phone: (+45)38153501 Email: pd....@cbs.dk Priv: pda...@gmail.com ______________________________________________ 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.