How does matlab do maximum likelihood on custom functions?

4 vues (au cours des 30 derniers jours)
sepideh
sepideh le 5 Juil 2012
Commenté : Jeff Miller le 20 Oct 2020
I am trying to fit a custom function ( generalized Normal distribution type II http://en.wikipedia.org/wiki/Generalized_normal_distribution)to my data and i am using mle function. I wonder what is the method that Matlab uses, is it a search method?

Réponse acceptée

Peter Perkins
Peter Perkins le 6 Juil 2012
Ordinarily, the mle function minimizes the negative log-likelihood that you have defined (either as a PDF, or a log PDF, or as the LL) using fminsearch. If you have the Optimization Toolbox, you can tell mle to use fmincon. This is the 'OptimFun' parameter, explained in the help for the mle function.
  2 commentaires
sepideh
sepideh le 31 Août 2012
Thanks, using mle i find this warning :Warning: Maximum likelihood estimation did not converge. Iteration limit exceeded. How much i can trust the answers and how can i change the number of iterations?
Peter Perkins
Peter Perkins le 31 Août 2012
Modifié(e) : Peter Perkins le 31 Août 2012
Not at all if it didn't converge, and
>> help mle
mle Maximum likelihood estimation.
[snip]
'options' A structure created by a call to STATSET, containing
numerical options for the fitting algorithm. Not
applicable to all distributions.

Connectez-vous pour commenter.

Plus de réponses (1)

gujax
gujax le 20 Oct 2020
Hi,
I would like to explore the above question further...
If I use a standard distribution listed in Matlab document and not my custom, how is mle evaluated? For example if the distribution is Poisson, does mle evaluate minimum of log pdf i.e. does it convert to log pdf? So If i provide a pdf, do I have to state that its a log pdf?
Thanks
  1 commentaire
Jeff Miller
Jeff Miller le 20 Oct 2020
1) Just guessing here, but matlab probably obtains the mle's differently for different distributions, because: for some distributions the mle's are simple functions of the data values, and for other distributions you have to use numerical search.
2) When doing numerical search, matlab probably converts to log pdf to minimize numerical problems.
3) If you provide your own pdf, you definitely would have to provide the pdf or indicate that it is the log pdf (if the mle function has an option for that). The parameters that maximize the product of the pdf values are not necessarily the same as those that maximize the product of the log pdf values.

Connectez-vous pour commenter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by