Eine Kurve anpassen, indem man die Fehler verkleinert
Viele Modelle sind Kurven mit wenigen Parametern, und Anpassen heißt, die Parameter zu wählen, bei denen die Kurve nah an den Daten liegt. scipy.optimize.least_squares(fun, x0) tut das. Sie schreiben fun(p), das den Vektor der Residuen liefert, eines je Datenpunkt, wobei ein Residuum der Modellwert minus der Datenwert ist. Die Funktion minimiert dann die Kosten . Sie startet bei Ihrer Vermutung x0 und geht Schritte mit der Jacobi-Matrix , der Tabelle, wie sich jedes Residuum ändert, wenn sich jeder Parameter ändert. Ein Gauss-Newton-Schritt löst und verschiebt die Parameter um . Bei einem in den Parametern linearen Modell trifft ein einziger Schritt die Lösung. bounds=(unten, oben) hält Parameter in einem sinnvollen Bereich. curve_fit ist eine freundlichere Hülle, die das Modell direkt nimmt.
Quadrierte Fehler lassen einen wilden Punkt dominieren: Ein Residuum von zählt . Ein robuster Verlust wächst bei großen Residuen langsamer. Mit loss='soft_l1' und f_scale=1 ist die Strafe , wobei das quadrierte Residuum ist. Die Anpassung von Zinskurven ist der klassische Einsatz. Die Nelson-Siegel-Kurve ist . Sie hat ein langfristiges Niveau , eine Steigung , einen Buckel und eine Abklinglänge in Jahren, und vier Zahlen beschreiben die ganze Kurve. Nach der Anpassung wird das Rauschniveau durch geschätzt, mit Punkten und Parametern.
soft_l1. Bei echten Daten hat eine mit least_squares an die zehn Treasury-Renditen vom 9. Oktober 2026 (3 Monate bis 30 Jahre) angepasste Nelson-Siegel-Kurve ein Niveau von , eine Steigung von (die Kurve steigt mit der Laufzeit) und Jahre und verfehlt die notierten Renditen im Mittel nur um Basispunkte, im schlechtesten Fall um . Vier Parameter an Punkte mit anzupassen, lässt Freiheitsgrade und .- Residuen hinein, Parameter heraus:
fun(p)liefert Modell minus Daten, undleast_squaresverkleinert die Quadratsumme. - Robuster Verlust für Ausreißer:
soft_l1verhindert, dass ein wilder Punkt die ganze Kurve mitzieht. - Vier Zahlen für eine Kurve: Nelson-Siegel fasst eine Zinskurve durch Niveau, Steigung, Buckel und Abklinglänge zusammen.
Lab: Was bewertet wird
- Eine Steigung durch den Ursprung10 Pkt.
- Ein Gauss-Newton-Schritt15 Pkt.
- Eine robuste Strafe15 Pkt.
- Das Rauschniveau nach einer Anpassung10 Pkt.
- Die Argumente von least_squares10 Pkt.
- Ein Kurvenanpassungs-Ablauf10 Pkt.
- Warum ein robuster Verlust30 Pkt.