Der wichtigste Aspekt der Interpolation und Kurvenanpassung besteht darin, zu verstehen, warum Polynomanpassungen hoher Ordnung ein Problem sein können und welche anderen Optionen es gibt, und dann zu verstehen, wann sie eine gute Wahl sind / nicht.
Einige Probleme mit Polynomen höherer Ordnung:
Polynome sind natürlich Schwingungsfunktionen. Wenn die Ordnung des Polynoms zunimmt, nimmt die Anzahl der Schwingungen zu und diese Schwingungen werden stärker. Ich vereinfache hier, die Möglichkeit von mehreren und imaginären Wurzeln macht es ein bisschen komplexer, aber der Punkt ist der gleiche.
Polynome nähern sich +/- unendlich mit einer Rate, die der Polynomordnung entspricht, wenn x auf +/- unendlich geht. Dies ist oft kein gewünschtes Verhalten.
Das Berechnen von Polynomkoeffizienten für Polynome hoher Ordnung ist typischerweise ein schlecht konditioniertes Problem. Dies bedeutet, dass kleine Fehler (z. B. Rundungen in Ihrem Computer) zu großen Änderungen in der Antwort führen können. Das lineare System, das gelöst werden muss, beinhaltet eine Vandermonde-Matrix, die leicht schlecht konditioniert werden kann.
Ich denke, dass das Herzstück dieses Problems vielleicht die Unterscheidung zwischen Kurvenanpassung und Interpolation ist .
Interpolation wird verwendet, wenn Sie der Meinung sind, dass Ihre Daten sehr genau sind und Ihre Funktion genau mit den Datenpunkten übereinstimmen soll. Wenn Sie Werte zwischen Ihren Datenpunkten benötigen, verwenden Sie normalerweise am besten eine glatte Funktion, die dem lokalen Trend der Daten entspricht. Kubische oder hermitische Splines sind häufig eine gute Wahl für diese Art von Problem, da sie viel weniger empfindlich auf nicht lokale (dh an Datenpunkten, die weit von einem bestimmten Punkt entfernt sind) Änderungen oder Fehler in den Daten reagieren und weniger oszillierend sind als ein Polynom. Betrachten Sie den folgenden Datensatz:
x = 1 2 3 4 5 6 7 8 9 10
y = 1 1 1.1 1 1 1 1 1 1 1
Eine Polynomanpassung hat viel größere Schwingungen, insbesondere in der Nähe der Kanten des Datensatzes, als ein Hermite-Spline.
Andererseits ist die Approximation der kleinsten Quadrate eine KurvenanpassungTechnik. Die Kurvenanpassung wird verwendet, wenn Sie eine Vorstellung von der erwarteten Funktionalität Ihrer Daten haben, Ihre Funktion jedoch nicht erforderlich ist, um alle Datenpunkte genau zu durchlaufen. Dies ist typisch, wenn die Daten Messfehler oder andere Ungenauigkeiten enthalten können oder wenn Sie den allgemeinen Trend der Daten extrahieren möchten. Die Approximation der kleinsten Quadrate wird am häufigsten in einem Kurs durch Verwendung von Polynomen für die Kurvenanpassung eingeführt, da dies zu einem linearen System führt, das mit den Techniken, die Sie wahrscheinlich früher in Ihrem Kurs gelernt haben, relativ einfach zu lösen ist. Techniken der kleinsten Quadrate sind jedoch viel allgemeiner als nur Polynomanpassungen und können verwendet werden, um jede gewünschte Funktion an einen Datensatz anzupassen. Wenn Sie beispielsweise einen exponentiellen Wachstumstrend in Ihrem Datensatz erwarten,
Schließlich ist die Auswahl der richtigen Funktion für Ihre Daten ebenso wichtig wie die korrekte Durchführung der Interpolations- oder Kleinstquadratberechnungen. Dies ermöglicht sogar die Möglichkeit einer (vorsichtigen) Extrapolation. Betrachten Sie die folgende Situation. Angesichts der Bevölkerungsdaten (in Millionen von Menschen) für die USA von 2000 bis 2010:
Year: 2000 2001 2002 2003 2004 2005 2006 2007 2008 2010
Pop.: 284.97 287.63 290.11 292.81 295.52 298.38 301.23 304.09 306.77 309.35
Die Verwendung einer exponentiell linearisierten Anpassung der kleinsten Quadrate N(t)=A*exp(B*t)
oder eines Polynominterpolanten 10. Ordnung ergibt die folgenden Ergebnisse:
Das Bevölkerungswachstum in den USA ist nicht ganz exponentiell, aber ich lasse Sie die bessere Passform beurteilen.