Hello, I tried to fit a poisson distribution but looking at the function fitdistr() it does not optimize lambda but simply estimates the mean of the data and returns it as lambda. I'm a bit confused because I was expecting an optimization of this parameter to gain a good fit... If I would use mle() of stats4 package or mle2() of bbmle package, I would have to write the function by myself which should be optimized. But what shall I return? -sum((y_observed - y_fitted)^2) ? Any other suggestions or comments on my solution? Antje
fitdistr question
4 messages · Antje, Ingmar Visser, Ben Bolker
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20110211/d551bf41/attachment.pl>
Hi Ingmar, hi Dennis, okay, you're right. I was expecting that the result would give the best fit to my data even if it's not a real poisson distribution. It looks somehow similar... But how to judge the goodness of fit? I was using the residual sum of squares. I'm not a statistician, so I'm not sure whether this method is the one to choose... If I estimate lambda with mle2() and use the RSS as criteria to minimize, my lambda is much smaller that with fitdistr(). I'm happy about any suggestion! Antje
On 11 February 2011 09:16, Ingmar Visser <i.visser at uva.nl> wrote:
The ML estimate of lambda is the mean, so no need for (iterative) optimization. See eg: http://mathworld.wolfram.com/MaximumLikelihood.html hth, Ingmar On Fri, Feb 11, 2011 at 8:52 AM, Antje Niederlein <niederlein-rstat at yahoo.de> wrote:
Hello, I tried to fit a poisson distribution but looking at the function fitdistr() it does not optimize lambda but simply estimates the mean of the data and returns it as lambda. I'm a bit confused because I was expecting an optimization of this parameter to gain a good fit... If I would use mle() of stats4 package or mle2() of bbmle package, I would have to write the function by myself which should be optimized. But what shall I return? -sum((y_observed - y_fitted)^2) ? Any other suggestions or comments on my solution? Antje
______________________________________________ R-help at 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.
Antje Niederlein <niederlein-rstat <at> yahoo.de> writes:
Hi Ingmar, hi Dennis, okay, you're right. I was expecting that the result would give the best fit to my data even if it's not a real poisson distribution. It looks somehow similar... But how to judge the goodness of fit? I was using the residual sum of squares. I'm not a statistician, so I'm not sure whether this method is the one to choose... If I estimate lambda with mle2() and use the RSS as criteria to minimize, my lambda is much smaller that with fitdistr().
There are many ways to define the "best fit"; RSS is one reasonable option, maximum likelihood (which in the case of a Poisson distribution is equivalent to least-squares weighted by a variance that is equal to the expected mean, i.e. (y.obs-y.fitted)^2/y.fitted) is another. Which you choose really depends on why you are calculating the estimates in the first place/ what you intend to use them for, although for Poisson data maximum likelihood approaches are more widely accepted.