Maximum Likelihood Estimation function

8 vues (au cours des 30 derniers jours)
Jane Smith
Jane Smith le 12 Mai 2022
syms a
logL=100.*log(a)+sum(log(exp(a.*c2))+sum(log((1+exp(a.*c2)).^-2)));
j = fplot(logL)
hold on
%%
m=100/a;
o=sum(c);
p=2*exp(a.*c);
q=exp(a.*c)+1;
dlog=m+o-p.*c.*(q.^-1);
k=fplot(dlog);
hline.Color = 'k';
c is a matrix of data
I am trying to find the maximum of the estimator is there another method except plotting the graphs of the log functions?

Réponse acceptée

Torsten
Torsten le 12 Mai 2022
x = your data vector
fun = @(a) n/a + sum(x) - 2*a*sum(exp(a*x)./(exp(a*x)+1);
a = fzero(fun,1)
  3 commentaires
Torsten
Torsten le 12 Mai 2022
Modifié(e) : Torsten le 12 Mai 2022
I think there is an error in your derivative of L with respect to a. In my opinion, the function must be
fun = @(a) n/a + sum(x) - 2*sum(x.*exp(a*x)./(exp(a*x)+1))
Jane Smith
Jane Smith le 13 Mai 2022
Modifié(e) : Jane Smith le 13 Mai 2022
Yes you are correct.

Connectez-vous pour commenter.

Plus de réponses (1)

John D'Errico
John D'Errico le 12 Mai 2022
Is there another way? Why not negate the function, and then use a tool like fminbnd? Or fminsearch. Or fmincon or fminunc, or ...
  2 commentaires
Jane Smith
Jane Smith le 12 Mai 2022
I am getting errors when trying with those functions.
Error using fcnchk
FUN must be a function, a valid character vector expression, or an inline function object.
I have been trying it on various softwares. The function f(x) is made up so i am getting confused were my mistake is in finding the estimate.
David Randolph
David Randolph le 13 Mai 2022
Modifié(e) : David Randolph le 13 Mai 2022
@John D'Errico wrong again!

Connectez-vous pour commenter.

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by