Ich versuche, eine Parameterschätzung durchzuführen und möchte Parameterschätzungen wählen, die den quadratischen Fehler in einer vorhergesagten Gleichung minimieren über etwa 30 Variablen . Wäre die Gleichung linear, würde ich einfach die 30 partiellen Ableitungen berechnen, sie alle auf Null setzen und einen Löser für lineare Gleichungen verwenden. Aber leider die Gleichung ist nichtlinear und ihre Ableitungen sind es auch.
Wäre die Gleichung über eine einzige Variable, würde ich einfach Folgendes verwenden Newton-Verfahren (auch bekannt als Newton-Raphson). Das Internet ist reich an Beispielen und Code zur Umsetzung der Newton-Methode für Funktionen mit einer einzigen Variablen .
Da ich etwa 30 Variablen habe, wie kann ich eine numerische Lösung für dieses Problem mit der Newton-Methode programmieren? ? Ich habe die Gleichung in geschlossener Form und kann die erste und zweite Ableitung berechnen, aber ich weiß nicht so recht, wie es weitergehen soll. Ich habe im Internet eine große Anzahl von Behandlungen gefunden, aber sie gehen schnell in die schwere Matrixnotation über. Ich habe gefunden etwas mäßig Hilfreiches auf Wikipedia, aber ich habe Probleme, es in Code zu übersetzen.
Ich befürchte, dass ich bei der Matrixalgebra und den Matrixinvertierungen nicht weiterkomme. Ich kann eine Matrix mit einem Löser für lineare Gleichungen invertieren, aber ich mache mir Sorgen um die richtigen Zeilen und Spalten, die Vermeidung von Transpositionsfehlern und so weiter.
Um ganz konkret zu sein:
-
Ich möchte mit Tabellen arbeiten, die Variablen auf ihre Werte abbilden. Ich kann eine Funktion für eine solche Tabelle schreiben, die den quadratischen Fehler bei einer solchen Tabelle als Argument zurückgibt. Ich kann auch Funktionen erstellen, die eine partielle Ableitung in Bezug auf eine bestimmte Variable zurückgeben.
-
Ich habe eine vernünftige Ausgangsschätzung für die Werte in der Tabelle, daher mache ich mir keine Sorgen um die Konvergenz.
-
Ich bin mir nicht sicher, wie ich die Schleife schreiben soll, die eine Schätzung (Wertetabelle für jede Variable), die Funktion und eine Tabelle mit partiell abgeleiteten Funktionen verwendet, um eine neue Schätzung zu erstellen.
Bei letzterem bräuchte ich Hilfe. Jede direkte Hilfe oder Hinweise auf gute Quellen werden sehr geschätzt.
Edit: Da ich die erste und zweite Ableitung in geschlossener Form habe, möchte ich sie nutzen und langsamer konvergierende Methoden wie Simplex-Suchen vermeiden.