Interpolation (Mathematik)

Aus testwiki
Version vom 17. März 2025, 14:16 Uhr von imported>Mike Krüger (Weblinks)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

In der numerischen Mathematik bezeichnet der Begriff Interpolation (aus lateinisch inter = dazwischen und polire = glätten, schleifen) eine Klasse von Problemen und Verfahren. Zu gegebenen diskreten Daten (z. B. Messwerten) soll eine stetige Funktion (die sogenannte Interpolante oder Interpolierende) gefunden werden, die diese Daten abbildet. Man sagt dann, die Funktion interpoliert die Daten.

Zu interpolierende Punkte

Einführung

Manchmal sind von einer Funktion nur einzelne Punkte bekannt, aber keine analytische Beschreibung der Funktion, durch die sie an beliebigen Stellen ausgewertet werden könnte. Ein Beispiel sind Punkte als Resultat einer physikalischen Messung. Könnte man die Punkte durch eine (eventuell glatte) Kurve verbinden, so wäre es möglich, die unbekannte Funktion an den dazwischenliegenden Stellen zu schätzen. In anderen Fällen soll eine schwierig handhabbare Funktion näherungsweise durch eine einfachere dargestellt werden. Eine Interpolationsfunktion kann diese Anforderung der Einfachheit erfüllen. Diese Aufgabe bezeichnet man als Interpolationsproblem. Es gibt für das Problem mehrere Lösungen, der Anwender muss zunächst geeignete Ansatzfunktionen wählen. Je nach Ansatzfunktionen erhalten wir eine andere Interpolante.

Die Interpolation ist eine Art der Approximation: Die betrachtete Funktion wird durch die Interpolationsfunktion in den Stützstellen exakt wiedergegeben und in den restlichen Punkten immerhin näherungsweise. Die Approximationsgüte hängt vom Ansatz ab. Um sie zu schätzen, werden Zusatzinformationen über die Funktion f benötigt. Diese ergeben sich auch bei Unkenntnis von f meist in natürlicher Weise: Beschränktheit, Stetigkeit oder Differenzierbarkeit lassen sich häufig voraussetzen.

Bei anderen Approximationsverfahren wie der Ausgleichungsrechnung wird nicht gefordert, dass die Messdaten exakt wiedergegeben werden. Dadurch unterscheiden sich diese Verfahren von der Interpolation. Bei dem verwandten Problem der Extrapolation werden Werte geschätzt, die über den Definitionsbereich der Daten hinausgehen.

Interpolationsprobleme

Das allgemeine Interpolationsproblem

Gegeben seien n+1 Paare reeller oder komplexer Zahlen (xi,fi) als Stützpunkte. Man wählt eine Ansatzfunktion Φ(x,a0,,an), die sowohl von x als auch von n+1 weiteren Parametern aj abhängt. Als Interpolationsproblem bezeichnet man die Aufgabe, die aj so zu wählen, dass Φ(xi,a0,,an)=fi ist.

Das lineare Interpolationsproblem

Man spricht von einem linearen Interpolationsproblem, wenn Φ nur linear von den aj abhängt, d. h.

Φ(x,a0,,an)=a0+a1Φ1(x)+a2Φ2(x)++anΦn(x).

Insbesondere die Polynominterpolation ist ein solches lineares Interpolationsproblem. Für die Polynominterpolation gilt

Φ(x,a0,,an)=a0+a1x+a2x2+a3x3++anxn.

Spezialfälle für n=1, n=2 und n=3 nennt man lineare, quadratische und kubische Interpolation. In zwei Dimensionen spricht man entsprechend von bilinear, biquadratisch und bikubisch.

Des Weiteren ist die trigonometrische Interpolation eine lineare Interpolation:

Φ(x,a0,,an)=a0+a1exi+a2e2xi++anenxi,(i2=1)

Nichtlineare Interpolationsprobleme

Zu den wichtigsten nichtlinearen Interpolationsproblemen zählt

  • das rationale: Φ(x,a0,,an,b0,,bm)=a0+a1x+a2x2+a3x3++anxnb0+b1x+b2x2+b3x3++bmxm

Interpolationsverfahren

Abschnittsweise konstante Interpolation

Datei:Piecewise constant.svg
Abschnittsweise konstante Interpolation

Als einfache Interpolationsmethode kann der nächstgelegenen Datenwert gesucht werden und dem aktuellen Punkt dessen Wert zugewiesen werden.[1] Bei einfachen Problemen ist es unwahrscheinlich, dass diese Methode verwendet wird, da die lineare Interpolation fast genauso einfach ist. Bei höherdimensionalen multivariaten Interpolationen könnte diese Methode aufgrund ihrer Schnelligkeit und Einfachheit dennoch eine gute Wahl sein.

Lineare Interpolation

Datei:Linear interpolation.svg
Stückweise durchgeführte lineare Interpolation

Die von Isaac Newton begründete lineare Interpolation ist am einfachsten und wird wohl in der Praxis am häufigsten benutzt. Hier werden zwei gegebene Datenpunkte (x0,f0) und (x1,f1) durch eine Strecke verbunden. Es gilt:

f(x)=f0+f1f0x1x0(xx0)=f0x1xx1x0+f1xx0x1x0.

Dies entspricht einer Konvexkombination der Endpunkte (x0,f0) und (x1,f1).

Detaillierte Erläuterungen siehe Allgemeine lineare Interpolation.

Höhergradige Polynome

Datei:Polynomial-interpolation.svg
Interpolationspolynom 7. Grades

Zu n+1 paarweise verschiedenen Datenpunkten gibt es genau ein Interpolationspolynom n-ten Grades, das an den vorgegebenen Stützstellen mit den vorgegebenen Stützwerten übereinstimmt. Die Bestimmung der Koeffizienten erfordert die Lösung eines linearen Gleichungssystems. Die Existenz eines solchen Interpolationspolynoms sieht man z. B. mit Hilfe der Formel von Lagrange

p(x)=i=0nfik=0,kinxxkxixk.

Diese Funktion nimmt an den Stellen x0,,xn die Werte f0,,fn an. Die Eindeutigkeit folgt aus der bekannten Tatsache, dass ein Polynom n-ten Grades höchstens n Nullstellen besitzt.

Weitere Verfahren zur Polynominterpolation siehe dort.

Stückweise Interpolation

Datei:Spline interpolation.svg
Kubische Spline-Interpolation

Da Polynome mit zunehmendem Grad immer instabiler werden, d. h. stark zwischen den Interpolationspunkten schwingen, werden in der Praxis Polynome mit einem Grad größer als 5 kaum eingesetzt. Stattdessen interpoliert man einen großen Datensatz stückweise. Im Fall der linearen Interpolation wäre das ein Polygonzug oder linearer Spline, bei stückweisen Polynomen höheren Grades spricht man auch von Spline-Interpolation. Bei abschnittsweise definierten Interpolanten ist die Frage der Stetigkeit und Differenzierbarkeit an den Stützstellen von großer Bedeutung.

Im mehrdimensionalen Fall basiert insbesondere die Methode der finiten Elemente für elliptische Probleme zweiter Ordnung auf dem Einsatz stetiger Splines, oft auf Dreiecksgittern. Fehlerabschätzungen für die Finite-Element-Methode basieren auf entsprechenden Abschätzungen des Interpolationsfehlers.

Hermiteinterpolation

Sind zusätzlich zu den Stützstellen xi auch noch die k-Ableitungen f(k)(xi)=fi(k) zu interpolieren, so spricht man von einem Hermite-Interpolationsproblem. Die Lösung dieses Problems lässt sich analog zum Lagrange-Verfahren ebenfalls in geschlossener Form angeben.

Im mehrdimensionalen Fall basiert insbesondere die Methode der finiten Elemente für elliptische Probleme vierter Ordnung auf dem Einsatz stetig differenzierbarer Splines. Auf Dreiecksgittern ist deren Konstruktion nicht so einfach.

Trigonometrische Interpolation

Wählt man als Ansatzfunktion ein trigonometrisches Polynom, so erhält man eine trigonometrische Interpolation. Die Interpolationsformel

g(x)=12a0+k=1N1(akcoskx+bksinkx)+12aNcosNx,N=n/2

entspricht einer Fourier-Entwicklung der unbekannten Interpolanten. Die Fourier-Koeffizienten ak und bk berechnen sich zu

ak2ni=1nf(xi)coskxi und bk2ni=1nf(xi)sinkxi.

Dabei wird angenommen, dass die Stützstellen xi im Intervall [0;2π] äquidistant verteilt sowie außerhalb dieses Intervalls periodisch sind. Die Koeffizienten können effizient mit Hilfe der schnellen Fourier-Transformation berechnet werden.

Logarithmische Interpolation

Vermutet bzw. weiß man, dass den Daten eine logarithmische Funktion zugrunde liegt, so empfiehlt sich dieses Verfahren.

Bei der logarithmischen Interpolation werden zwei bekannte Datenpunkte (x0,f0) und (x1,f1) durch eine logarithmische Kurve verbunden. Es gilt:

lnflnf0lnf1lnf0=xx0x1x0

Oder anders formuliert:

f(x)=f0exp((xx0)(lnf1lnf0)x1x0)

Beispiel: χ²-Test

Gaußprozess-Regression (Kriging)

Datei:Gaussianprocess gapMean.svg
Gaußprozess-Interpolation (blau) und geschätztes Vertrauensintervall (grau) einer Lücke zwischen zwei Kurven (schwarz) von sehr gemischten Eigenschaften.

Ein sehr vielseitiges und universelles Interpolationsverfahren ist die Gaußprozess-Regression bzw. das Kriging-Verfahren. Damit können sowohl Interpolationen als auch Glättungen in beliebigen Dimensionen und auf unregelmäßigen Stützstellen durchgeführt werden. Mithilfe einer sogenannten Kovarianzfunktion können spezielle Eigenschaften der Daten beschrieben werden (z. B. die Korrelationslänge oder eine Periodizität), um damit die für das Problem optimale Interpolation durchzuführen.

Eigenschaften der Interpolationsmethode:

  • Geeignet für unregelmäßige Stützstellen
  • Interpolation in beliebigen Dimensionen (z. B. Flächen-Interpolation)
  • Optimale Interpolation von glatten, periodischen oder verrauschten Kurven
  • Vorhersage des Vertrauensintervalls der Interpolation

Allgemeine lineare Interpolation

Es sei H eine reelle oder komplexe stetig differenzierbare Funktion mit Nullstellenmenge {xk:kausI}, wobei alle Nullstellen einfach sein müssen. Dabei kann die Indexmenge I eine endliche Menge, wie z. B. I={1,,N}, oder eine abzählbare Menge, wie I= oder I=, sein. Damit sind die Interpolationskerne gegeben als

Lk(x):=H(x)H(xk)(xxk)=G(x,xk)G(xk,xk)

und stetig mit dem Wert 1 an der Stelle x=xk fortgesetzt. Die Hilfsfunktion G(x,y) ist außerhalb der Diagonalen x=y definiert als

G(x,y):=H(x)H(y)xy und stetig fortgesetzt zu G(x,x):=H(x).

Auf den Nullstellen gilt Lk(xj)=δk,j, wobei das Kronecker-Delta verwendet wurde.

Sind jetzt Werte fk für jedes kI vorgegeben, so ist eine Interpolationsfunktion definiert durch

F(x):=kIfkLk(x)=kIG(x,xk)G(xk,xk)fk.

Im Falle einer abzählbaren Nullstellenmenge muss die Konvergenzbedingung

kI|fkH(xk)(1+|xk|)|<

erfüllt sein.

Beispiele

  • Mit vorgegebenen Stützstellen {x1,,xN} und einer reellen Funktion h mit h(0)=0, h(0)0 kann die Funktion H(x):=h(xx1)h(xxN) gebildet werden. Dann erhält man
Lk(x)=h(xxk)h(0)(xxk)jkh(xxj)h(xkxj).
Das aus h(x)=x resultierende Interpolationsverfahren ist die Lagrange-Interpolation. Andere Beispiele sind h(x)=x/(1+x2) für nach Unendlich gegen Null fallende Interpolationsfunktionen oder h(x)=sin(x) für eine beschränkte Interpolationsfunktion mit übersichtlicher Berechnungsformel.
F(x)=n=0N1xn1Nk=1Nfkx¯kn ist.
  • Mit H(x):=sin(πx) und den Nullstellen xk=k, k, ergibt sich als Interpolationsfunktion die Kardinalreihe
F(x)=kfksin(πx)(1)+kπ(xk)=kfksin(π(xk))π(xk).

Diese spielt eine zentrale Rolle im Nyquist-Shannon-Abtasttheorem. Die Konvergenzbedingung lautet

k|fk1+|k||<.

Stützstellendarstellung von Polynomen

Sei p(x)=a0+a1x+a2x2++an1xn1 ein Polynom. Dieses Polynom lässt sich in der sogenannten Koeffizientendarstellung durch die Angabe des Vektors (a0,,an1) darstellen. Eine alternative Darstellung, die ohne die Koeffizienten a0,,an1 auskommt, besteht in der Stützstellendarstellung. Dabei wird das Polynom für n Werte xi mit 0in1 und i ausgewertet, d. h., es werden die Funktionswerte p(xi)=yi berechnet. Das Paar von Vektoren ((x0,,xn1),(y0,,yn1)) bezeichnet man als die Stützstellendarstellung des Polynoms p. Ein wesentlicher Vorteil dieser Darstellung besteht darin, dass zwei Polynome in Stützstellendarstellung in Θ(n) (s. Landau-Symbole) Schritten multipliziert werden können. In Koeffizientendarstellung werden hingegen Θ(n2) Schritte benötigt. Die Transformation von der Koeffizienten- in die Stützstellendarstellung ist daher von spezieller Bedeutung und wird als Fourier-Transformation bezeichnet. Die Rücktransformation wird durch Interpolation erreicht.

Anwendungen

Datei:Umbrella Nearest Neigbor.png
Interpolation bei der Skalierung eines Bildes

Hinsichtlicher vieler Anwendungen von Interpolationsverfahren besteht die Vorstellung, dass hierbei neue Information aus bestehenden Daten hinzugewonnen wird. Dies ist aber unrichtig. Vielmehr wird durch die Interpolation ein möglicher Verlauf einer kontinuierlichen Funktion zwischen den bekannten Abtastpunkten abgeschätzt. Diese Abschätzung basiert auf der Annahme, dass der Verlauf einigermaßen „glatt“ ist, was in den vielen Fällen zu plausiblen Resultaten führt. Diese Annahme muss aber nicht notwendigerweise so zutreffen, denn die höheren Frequenzanteile, die bei der Digitalisierung eines Signals aufgrund des Abtasttheorems verloren gegangen sind, können grundsätzlich durch eine anschließende Interpolation nicht wieder rekonstruiert werden. Damit muss für jede Interpolation eine Annahme über die maximal zuvor enthaltene Frequenz gemacht werden. Nur wenn diese bekannt ist und eine ideale Digitalisierung vorlag, gelingt die Rekonstruktion perfekt. In den meisten Fällen wird damit dem Signal eine gewisse Menge an Falschinformation hinzugefügt.

Ein bekanntes Problem der Interpolation in der digitalen Signalverarbeitung ist die der Umwandlung eines Signals mit einer niedrigen Abtastrate in eine hohe (siehe Abtastratenkonvertierung). Dabei werden neue Abtastwerte für das Ausgabesignal aus denen des Eingabesignals interpoliert. Je nach Anwendungsfall werden dazu entweder Nullen eingefügt, die jeweils vorherigen Werte wiederholt oder eine von mehreren Interpolationen (linear, bilinear oder wavelet) genutzt.

Ein Spezialfall ist die Skalierung von Bildern in der Computergrafik: Da bei vielen Bildern maximale Kontraste benutzt werden, liegen Daten vor, bei denen das Nyquist-Kriterium verletzt wurde. Diese Bilder sind nur durch ganzzahlige Faktoren sinnvoll skalierbar, da sich bei unganzzahligen Ansätzen die Notwendigkeit ergibt, Pixelwerte für Zwischenkoordinaten zu berechnen, wodurch Alias-Effekte auftreten (Moiré-Muster).

Ein weiterer Anwendungsfall ist die Gewinnung von Phasen- und Amplitudeninformationen für Zwischenfrequenzen bei einer FFT: Hier sind spezielle Interpolationsformeln nötig. Diese erzeugen aber ebenfalls keine neuen Informationen, sondern machen nur die bereits enthaltenen Informationen der Stützpunkte leichter interpretierbar.[2]

Interpolation in höheren Dimensionen

Die oben gezeigten einfachen Verfahren sind meist nur für 1D-Probleme beschrieben. Für höhere Dimensionen geeignet sind Spline-Interpolationen mit z. B. Thinplate-Splines oder anderen Radial-Basisfunktionen oder das Kriging-Verfahren bzw. die Gaußprozessregression. Eine einfache Möglichkeit zur Interpolation von Punkten in höheren Dimensionen (2,3,), die in einem regelmäßigen Gitter vorliegen, ist die rekursive Anwendung von 1D-Interpolationen.

Am Beispiel der bilinearen Interpolation sei dieses erläutert.

BilinearInterpolation Gegeben sind Zahlenwerte an den Eckpunkten Q11, Q12, Q21 und Q22. Gesucht ist der interpolierte Wert an Stelle P.

Vorgehensweise: Die lineare Interpolation wird zweimal angewendet, z. B. zuerst für die x-Richtung. Es wird R1 aus Q11 und Q21 mit der linearen 1D-Interpolation ermittelt. Anschließend wird R2 auf gleiche Weise bestimmt. Der Wert an P ergibt sich als lineare 1D-Interpolation in y-Richtung zwischen R1 und R2.

3D: Für eine trilineare Interpolation gibt es 23 Eckpunkte mit Zahlenwerten. Die erste Interpolation auf der x-Achse ergibt 22 Zwischenpunkte, die auf einer Ebene senkrecht zu x=Px liegen. In dieser Ebene wird in y-Richtung interpoliert bei y=Py und es ergeben sich 21 Zwischenpunkte auf einer Linie in z-Richtung an Position x=Px,y=Py. Die letzte Interpolation auf dieser Linie ergibt schließlich 20 Punkte, also die gesuchte Lösung.

Für eine beliebige Dimension ist das Verfahren durch sukzessive Rekursion anwendbar.

Siehe auch

Vorlage:Wiktionary

Literatur

  • Josef Stoer: Numerische Mathematik 1. 8. Auflage, Springer 1999.
  • Bernd Jähne: Digitale Bildverarbeitung. 4. Auflage, Springer 1997.
  • Oppenheim, Schafer: Zeitdiskrete Signalverarbeitung. Oldenbourg 1992.
  • Crochiere, Rabiner: Multirate Digital Signal Processing. Prentice Hall 1983.

Einzelnachweise