Ich versuche, Histogrammdaten anzupassen, die einer Poisson-Verteilung zu folgen scheinen. Ich erkläre die Funktion wie folgt und versuche sie mit der Methode der kleinsten Quadrate anzupassen.Poisson-PDF-Parameter mit Kurvenanpassung in MATLAB schätzen
xdata; ydata; % Arrays in which I have stored the data.
%Ydata tell us how many times the xdata is repeated in the set.
fun= @(x,xdata) (exp(-x(1))*(x(1).^(xdata)))./(factorial(xdata)) %Function I
% want to use in the fit. It is a poisson distribution.
x0=[60]; %Approximated value of the parameter lambda to help the fit
p=lsqcurvefit(fun,x0,xdata,ydata); % Fit in the least square sense
begegne mir aber das nächste Problem
Error using snls (line 48)
Objective function is returning undefined values at initial point.
lsqcurvefit cannot continue.
ich online gesehen habe, dass es manchmal mit einer Division durch Null zum Beispiel zu tun hatte. Dies kann durch Hinzufügen eines kleinen Betrags im Nenner gelöst werden, so dass diese Indetermination niemals stattfindet. Das ist jedoch nicht mein Fall. Was ist das Problem?
ich nicht weiß, dass es nicht der richtige Weg war, es zu tun. Danke für den Kommentar! Wie auch immer, lsqcurvefit sollte in der Lage sein, mir ein Ergebnis für den Parameter zu geben. Ich habe versucht, mit einem bekannten Poisson pdf und es gab mir ein Ergebnis. Was ist das Problem? –
Ich habe deinen Kommentar nicht verstanden. Warum benutzt du nicht, was ich vorgeschlagen habe? – Royi
Ich sehe jetzt die MLE-Methode ist besser. Ich fragte mich jedoch immer noch, warum die Methode der kleinsten Quadrate nicht funktionierte. –