Maximum Likelihood Schätzer für Weibull Parameter

Guten Abend zusammen, Ich muss die Parameter einer Weibull-Verteilung auf Basis von Ausfalldaten schätzen. Der Weg mittels 'mle' ist mir bekannt - da die Verteilung später aber modifiziert bzw. erweitert werden soll brauche ich einen anderen Weg. Ich bekomme mit meinem aktuellen Code aber keine/die falschen Ergebnisse. Kann mir da jemand auf die Sprünge helfen? Vielen Dank!
%%Ausfalldaten (Beispieldaten)
data = [16,34,53,75,93,120];
%%Parameterschätzung (MaxLike)
% C=eta, B=beta
syms B C
%Likelihood-Funktion
LLH=1;
for i=1:numel(data)
LLH=LLH.*((B./C).*(data(i)./C).^(B-1).*exp(-(data(i)./C).^(B)));
end
%partielle Ableitungen
dLdB=diff(LLH,B);
dLdC=diff(LLH,C);
%Gleichungssystem lösen
Bt=solve(dLdB==0,B)
Ct=solve(subs(dLdC,B,Bt)==0,C)
Ich bekomme für für Bt immer einen Fehler 'Bt = Empty sym: 0-by-1'. Werte ich zuerst Ct=solve(dLdC==0,C) aus und danach erst Bt kommt die gleiche Fehlermeldung für Bt.
Viele Grüße und Danke schonmal!

2 Comments

Sorry I do not know German. But you troubleshoot your solution using https://www.mathworks.com/help/symbolic/troubleshoot-equation-solutions-from-solve-function.html
Sorry - could have asked in english as well. I already tried to fix the solutions using assumptions, but this only leads to some huge calculation times for Bt (I cancelled after 10min).
I thought about trying to solve for Bt numerically. Is this done just by replacing 'solve' with 'vpasolve' or do I have to change some other code as well?

Sign in to comment.

Answers (0)

Asked:

on 22 Sep 2017

Commented:

on 22 Sep 2017

Community Treasure Hunt

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

Start Hunting!