Ich generierte zufällig 1000 Datenpunkte mit den Gewichten, die ich weiß, sind wahr für die Normalverteilung. Jetzt versuche ich, die Log-Likelihood-Funktion zu minimieren, um die Werte von sig^2 und die Gewichte zu schätzen. Ich verstehe den Prozess konzeptionell, aber wenn ich versuche, ihn zu programmieren, bin ich einfach verloren.Mit scipy optimieren für MLE Schätzung und Kurvenanpassung
Das ist mein Modell:
p(y|x, w, sig^2) = N(y|w0+w1x+...+wnx^n, sig^2)
ich für eine Weile habe jetzt googeln und ich habe die scipy.stats.optimize.minimize Funktion ist gut für diese gelernt, aber ich kann nicht es richtig zu arbeiten. Jede Lösung, die ich versucht habe, hat für das Beispiel funktioniert, von dem ich die Lösung bekommen habe, aber ich kann es nicht auf mein Problem übertragen.
x = np.linspace(0, 1000, num=1000)
data = []
for y in x:
data.append(np.polyval([.5, 1, 3], y))
#plot to confirm I do have a normal distribution...
data.sort()
pdf = stats.norm.pdf(data, np.mean(data), np.std(data))
plt.plot(test, pdf)
plt.show()
#This is where I am stuck.
logLik = -np.sum(stats.norm.logpdf(data, loc=??, scale=??))
habe ich gefunden, dass der Gleichungsfehler ( w) = .5 * Summe (Poly (x_n, w) - y_n)^2 relevant ist für den Fehler der Gewichtungen minimiert werden, die deshalb maximiert meine Wahrscheinlichkeit für die Gewichte, aber ich verstehe nicht, wie ich das schreiben soll ... Ich habe eine ähnliche Beziehung für sig^2 gefunden, aber habe das gleiche Problem. Kann jemand erklären, wie man das macht, um meine Kurvenanpassung zu unterstützen? Vielleicht so weit gehen, um Pseudo-Code zu posten, den ich verwenden kann?
Was ist 'test'? Können Sie Ihre Frage bearbeiten, um ein Beispiel für "Test" zu geben, das wir verwenden können? Was ist Ihre gewünschte Ausgabe? Werte für die Gewichte und Sigma, die die Wahrscheinlichkeit maximieren? – cd98
Ah-Test war eine ältere Liste, die ich verwendete, die ich mit Daten ersetzte, es war ein Tippfehler im SO-Code. Ja, ich versuche Werte für die Gewichte und Sigma zu finden, die die Wahrscheinlichkeit maximieren. – user2967087