5.5. Spline-Interpolation#
Wie wir im vorigen Abschnitt gesehen haben, führt die Verwendung von global definierten Interpolationspolynomen \(P \in \Pi_n\) bezüglich gegebener Datenpunkte \((x_i,f(x_i)) \in \mathbb{R}^2, i=0,\ldots,n\) einer Funktion \(f\) auf einem Intervall \(I\) für \(n\rightarrow \infty\) zu Lösungen, die immer stärker oszillieren und damit die zu Grunde liegende Funktion \(f\) immer schlechter approximieren. Aus diesem Grund geht man dazu über das Intervall \(I\) in Teilintervalle aufzuteilen bezüglich dieser Unterteilung die Datenpunkte im Intervall \(I\) mit stückweise stetigen Polynomen von relativ niedrigem Grad zu interpolieren. Es handelt sich also um einen lokalen Ansatz für das Interpolationsproblem.
Eine typische Wahl für diese Art von Interpolation sind die sogenannten Splines oder Splinefunktionen. Das englische Wort Splineleitet sich von dem deutschen Wort Straklatteab, welche in der Vergangenheit im Schiffsbau verwendet wurden. Bei diesem handelt es sich um ein sehr biegsames Lineal aus Holz, welches vom Schiffsbauer an vorgegebenen Punkten fixiert wurde und so eine glatte Verbindung zwischen diesen Punkten schuf. Die Straklatte nimmt rein pyhsikalisch bedingt hierbei eine Form mit minimaler Biegeenergie und Krümmung an.
In der Mathematik verstehen wir unter einer Splinefunktion glatte Funktion, die auf Teilintervallen mit Polynomen übereinstimmt, wie folgende Definition beschreibt.
Definition 5.7 (Splinefunktion)
Sei \(\Delta \coloneqq \lbrace a = x_0 < x_1 < \ldots < x_n = b \rbrace\) eine Unterteilung des Intervalls \(I = [a,b] \subset \mathbb{R}\). Unter einer zu \(\Delta\) zugehörigen Splinefunktion \(S_\Delta \colon [a,b] \rightarrow \mathbb{R}\) vom Grad \(k \in \mathbb{N}\) versteht man eine reellwertige Funktion mit den folgenden Eigenschaften:
\(S_\Delta \in C^{k-1}([a,b])\) ist auf dem Intervall \(I = [a,b]\) \((k-1)\)-mal stetig differenzierbar.
auf jedem Teilintervall \([x_i, x_{i+1}], i=0,\ldots,n-1\) stimmt \(S_\Delta\) mit einem Polynom vom Grad \(k\) überein.
5.5.1. Lineare Splinefunktionen#
Die einfachste Art von Splines sind diejenigen, die nur stetig auf dem Intervall \(I=[a,b]\) sind, d.h. man versucht die Funktion \(f\) lokal durch stückweise lineare Funktionen zu approximieren. Diese Art von Streckenzug lässt sich bereits mit einfachen Mitteln bestimmen, da man lokal nur die eindeutige Verbindungsgerade zwischen zwei Punkten bestimmen muss.
Seien hierfür zwei Datenpunkte \((x_i,f_i)\) und \((x_{i+1},f_{i+1})\) auf einem asugewählten Teilintervall \([x_i, x_{i+1}] \subset [a,b]\) gegeben. Zur Berechnung des linearen Splines \(S\) auf diesem Teilintervall benutzen wir die Geradengleichung in \(\mathbb{R}\):
Zur Bestimmung der beiden Unbekannten \(m_i,b_i\) auf dem Teilintervall \([x_i,x_{i+1}]\) haben wir lediglich die beiden zu erfüllenden Gleichungen für die Polynominterpolation ausgenutzt, d.h.
5.5.2. Kubische Splinefunktionen#
Die Interpolation mit linearen Splines liefert eine stetige Approximation der Funktion \(f\) auf dem Intervall \([a,b]\), die in der Regel zu ungenau für reale Anwendungen ist. Um bessere Ergebnisse zu erhalten verwendet man typischerweise kubische Splines \(S_\Delta \in C^2([a,b])\) vom Grad \(3\). Hierbei lassen sich zusätzliche Bedingungen an die Glattheit des Splines stellen, so dass die Funktion stetig differenzierbar an den Übergängen, d.h. den Stützstellen wird. In diesem Fall verwendet man kubische Polynome auf jedem Teilintervall \([x_i, x_{i+1}]\) zur Interpolation der Datenpunkte \((x_i,f_i), i=0,\ldots,n\). Man verwendet häufig eine einfache Darstellung der Polynome, die eine Stelle \(x \in \R\) um die linke Intervallsgrenze verschiebt und von folgender Form ist:
Wir erhalten also ein Gleichungssystem mit \(4n\) unbekannten Variablen \((a_i,b_i,c_i,d_i), i=0,\ldots,n-1\).
Für jedes der \(n\) Teilintervalle lassen sich nun die zwei Bedingungen der Polynominterpolation angeben:
Das ergibt also bereits \(2n\) Bedingungen für das lineare Gleichungssystem.
Nun lassen sich weitere \(2(n-1)\) Glattheitsbedingungen an den Spline in den inneren Stützstellen \(x_i, i=1,\ldots,n-1\) stellen indem man fordert, dass der Spline an den Übergängen zweimal stetig differenzierbar sein soll, d.h. es soll gelten:
Die übrig bleibenden \(2\) Freiheitsgrade werden in der Regel mit Hilfe von Randbedingungen festgelegt. Hierbei gibt es in der Praxis verschiedene Ansätze:
natürliche Randbedingungen: \(S''_{\Delta,0}(x_0) = S''_{\Delta,{n-1}}(x_n) = 0\),
Neumann-Randbedingungen: \(S'_{\Delta,0}(x_0) = f'(x_0), \ S'_{\Delta,{n-1}}(x_n) = f'(x_n)\),
periodische Randbedingungen: \(S'_{\Delta,0}(x_0) = S'_{\Delta,n-1}(x_n), \ S''_{\Delta,0}(x_0) = S''_{\Delta,n-1}(x_n)\).
Wie man sieht benötigt man die erste und zweite Ableitung des Splines auf den jeweiligen Teilintervallen \([x_i, x_{i+1}]\), welche sich wie folgt berechnen lassen:
Bemerkung 5.7 (Fehlerabschätzungen und Stabilität von Splines)
Für die Spline-Interpolation gelten lokal auf jedem Teilintervall analoge Fehlerabschätzungen wie bei der Polynominterpolation in Stabilität und Fehlerabschätzung der Polynominterpolation, aber auf jedem Teilintervall. Durch die geringe Länge der Teilintervalle kann der Fehler mit linearen und kubischen Splines klein gehalten werden, und gleichzeitig eine hohe Stabilität erzielt werden.
Wir werden im folgenden Abschnitt auch eine globale Fehlerabschätzung für lineare Splines in einer speziellen Norm herleiten.
5.5.3. Variationsprinzip für Splinefunktionen#
Wir können eine alternative Theorie der Splines basierend auf Variationsprinzipien entwickeln. Die Idee ist es hierbei Minimierungsprobleme für Funktionen zu lösen, die physikalisch motiviert sind. Im folgenden Theorem suchen wir eine interpolierende Funktion, die global die geringste Steigung, d.h., die minimale Variation besitzt.
Satz 5.3 (Variationsmethode bzgl. der ersten Ableitung)
Seien \((x_i, f_i) \in \R^2, i=0,\ldots,n\) eine Menge von Datenpunkten deren Stützstellen monoton steigend sortiert sind und im Intervall \(I \coloneqq [a,b] \subset \R\) liegen. Sei außerdem \(\Delta \coloneqq \lbrace a = x_0 < x_1 < \ldots < x_n = b \rbrace\) die durch die Stützstellen induzierte Unterteilung des Intervalls \(I\).
Dann ist der lineare Spline \(S \coloneqq S_\Delta\) der eindeutige Minimierer des Funktionals
über der Menge der stetigen und bzgl. \(\Delta\) stückweise stetig differenzierbaren Funktionen, die gleichzeitig die Interpolationsbedingung \(f(x_i) = f_i\) erfüllen.
Proof. Sei \(f\) eine stetige und bzgl. \(\Delta\) stückweise stetig differenzierbaren Funktion, die die Interpolationsbedingungen erfüllt. Dann gilt
Nun könnnen wir partiell integrieren und dabei ausnutzen, dass an den Stützstellen die Funktionen übereinstimmen, d.h., dass \(f(x_i) = S(x_i) = f_i\) gilt und dass die zweite Ableitung des linearen Splines auf jedem Teilintervall \((x_{i-1},x_i)\) verschwindet mit \(S''(x) =0\). Damit erhalten wir
Integrieren wir nun wieder in die andere Richtung partiell, so folgt
Da die Energie des Variationsproblems \(E(S)\) also immer kleiner gleich der Energie \(E(f)\) für eine beliebige Funktion \(f\) ist, ist der Spline \(S\) in Minimierer von \(E\).
Diskutieren wir nun noch die Eindeutigkeit dieses Minimierers. Für die Energie einer beliebigen, zulässigen Funktion \(f\) kann \(E(f)=E(S)\) nur dann gelten, wenn \(f'=S'\) fast überall gilt, wie man an obigen Argument erkennt. Dies ist nur möglich, wenn sich \(f\) und \(S\) nur durch eine Konstante in jedem Teilintervall \((x_{i-1},x_i)\) unterscheiden. Da die Randwerte dieser Teilintervalle wegen der Interpolationsbedingung jedoch gleich sind, muss die Konstante schon Null sein. Also ist der lineare Spline \(S\) der eindeutige Minimierer der Energie \(E\) und es gilt \(E(f) > E(S)\) für \(f \neq S\). ◻
Bemerkung 5.8 (Funktionalanalytische Diskussion)
Satz 5.3 zeigt, dass wir die Splineinterpolation als Verallgemeinerung der Minimum-Norm-Lösung aus Die Minimum-Norm-Lösung interpretieren können. Ausgangspunkt ist das unterbestimmte Problem eine stetige und stückweise stetig differenzierbare Funktion zu finden, die die Interpolationsbedingung erfüllt. Auf dieser unendlichdimensionalen Menge minimieren wir die Energie \(E(f)\), welche über eine Halbnorm definiert ist. Es handelt sich um eine Halbnorm, da der Nullraum dieser Abbildung auch alle konstanten Funktionen umfasst und nicht nur die Nullfunktion. Andererseits sind die Konstanten durch die Interpolation bestimmt, also ist \(E\) auf einer geeigneten Menge auch eine Norm.
Tatsächlich können wir einen leicht größeren Raum \(H^1([a,b]) := W^{1,2}([a,b])\) betrachten. Dieser stellt den Sobolev-Raum der Funktionen mit quadratisch integrierbarer (schwacher) Ableitung dar, d.h.
Wie wir in Satz 5.3 gesehen haben sind lineare Splines die eindeutigen Minimierer auf diesem Funktionenraum.
Man kann zeigen, dass in einer Raumdimension \(H^1([a,b])\) nur stetige Funktionen enthält. Die Interpolationsbedingung ist also wohldefiniert. Andererseits sind nicht alle Funktionen in \(H^1([a,b])\) stückweise stetig. Die Minimierung eines Funktionals wie \(E\) über einem solchen Raum ist ein klassisches Problem aus dem mathematischen Feld der Variationsrechnung und partiellen Differentialgleichungen.
Resultate wie Satz 5.3 nennt man auch Representer Theorem, denn hier wird eine Darstellung des Minimums eines Variationsproblems in unendlicher Dimension als Kombination endlich vieler Funktionen (hier: Splines) erhalten. Diese Ergebnisse sind in allgemeinerer Form auch im Bereich Machine Learning wichtig. Dort wird normalerweise statt der Interpolation eine Minimierung des empirischen Risikos mit Regularisierung betrachtet, d.h.
mit einem geeigneten Parameter \(\alpha > 0\). Die Minimierer von \(J_\alpha\) besitzen auch hier die gleiche Gestalt wie Splinefunktionen.
Aus dem Beweis von Satz 5.3 erhalten wir auch eine Fehlerabschätzung für die linearen Splines in Bezug auf die unbekannte, den Daten zu Grunde liegende Funktion \(f\), wie das folgende Korollar zeigt.
Korollar 5.3 (Fehlerabschätzung für lineare Splines)
Es gelten die Voraussetzungen aus Satz 5.3. Außerdem sei \(f \colon I \rightarrow \R\) eine zweimal stetig differenzierbare Funktion, die den Datenpunkten \((x_i,f_i) \in \R^2, i=0,\ldots,n\) zu Grunde liegt. Sei
Dann gilt für den eindeutig bestimmten linearen Spline \(S\) die folgende Fehlerabschätzung
Proof. Da wir angenommen haben, dass die Funktion \(f\) zweimal stetig differenzierar ist erhalten wir wieder durch partielle Integration
Nun können wir den Hauptsatz der Differential- und Integralrechnung anwenden und es gilt für jeden Punkt \(x \in (x_{i-1},x_i)\) wegen der Gleichheit der Randwerte und der Cauchy-Schwarz-Ungleichung
Mit der Definition der Konstante \(M\) können wir nun abschätzen, dass gilt
Mit der Cauchy-Schwarz Ungleichung für die Summe gilt weiter
Die letzte Wurzel können wir kürzen und die vorletzte Wurzel weiter abschätzen, um letztendlich zu erhalten
◻
Bemerkung 5.9
Die Fehlerabschätzung aus Korollar 5.3 besagt, dass der Approximationsfehler durch die lineare Splinefunktion \(S\) an eine Funktion \(f\) in der Halbnorm des Sobolevraums \(H^1([a,b])\) im Wesentlichen von der zweiten Ableitung der Funktion \(f\) und Auflösung \(h_{n+1}\) der Unterteilung \(\Delta\) des Intervalls \(I=[a,b]\) in Teilintervalle abhängt. Das bedeutet, dass der Approximationsfehler mit zusätzlichen Stützstellen \((x_n)_{n\in \N} \subset I\) in der Halbnorm gegen Null konvergiert.
Zum Abschluss diskutieren wir noch ein analoges Resulat für kubische Splines. Hierbei versucht man in der Variationsmethode eine Funktion zu finden, die minimale Krümmung aufweist und trotzdem noch interpoliert.
Satz 5.4 (Variationsmethode bzgl. der zweiten Ableitung)
Seien \((x_i, f_i) \in \R^2, i=0,\ldots,n\) eine Menge von Datenpunkten deren Stützstellen monoton steigend sortiert sind und im Intervall \(I \coloneqq [a,b] \subset \R\) liegen. Sei außerdem \(\Delta \coloneqq \lbrace a = x_0 < x_1 < \ldots < x_n = b \rbrace\) die durch die Stützstellen induzierte Unterteilung des Intervalls \(I\).
Dann ist der kubische Spline \(S \coloneqq S_\Delta\) mit Neumann-Randbedingungen \(S'(a)=S'(b)=f'(a)=f'(b) = 0\) der eindeutige Minimierer des Funktionals
über der Menge der stetig differenzierbaren und bezüglich \(\Delta\) stückweise zweimal stetig differenzierbaren Funktionen, die gleichzeitig die Interpolationsbedingung \(f(x_i) = f_i\) erfüllen.
Proof. Beweis. Es sei \(f\) eine stetig differenzierbare und bezüglich \(\Delta\) stückweise zweimal stetig differenzierbare Funktion, die die Interpolationsbedingungen erfüllt. Mit Hilfe von partieller Integration gilt
Den letzten Term können wir mit Hilfe des Hauptsatzes der Differential- und Integralrechnung, sowie der Produktregel für Differentiation umformen zu
Nun können wir wieder partielle Integration anwenden und erhalten
Insgesamt bekommen wir hierdurch die Identität
Somit beträgt der Unterschied der Energie für die Funktion \(f\) und den kubischen Spline \(S\)
und somit gilt offensichtlich
Bezüglich der Eindeutigkeit des Minimierers stellen wir fest, dass nur \(E(f)=E(S)\) gelten kann, wenn \(f'' \equiv S''\) fast überall gilt. Letzeres ist jedoch wegen der Randwerte und der Interpolationsbedingung schon gleichbedeutend mit \(f\equiv S\). ◻