Filter löschen
Filter löschen

Maximum Likelihood Estimation function

1 Ansicht (letzte 30 Tage)
Jane Smith
Jane Smith am 12 Mai 2022
Bearbeitet: David Randolph am 13 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?

Akzeptierte Antwort

Torsten
Torsten am 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 Kommentare
Torsten
Torsten am 12 Mai 2022
Bearbeitet: Torsten am 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 am 13 Mai 2022
Bearbeitet: Jane Smith am 13 Mai 2022
Yes you are correct.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

John D'Errico
John D'Errico am 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 Kommentare
Jane Smith
Jane Smith am 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 am 13 Mai 2022
Bearbeitet: David Randolph am 13 Mai 2022
@John D'Errico wrong again!

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Line Plots finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by