Zurück...

Splines - Regression über flexible Modellierung

Bei praktischen Anwendungen kann eine lineare Anpassung (Modellierung) nicht ausreichend sein. Die Ursachen dafür können inhaltliche Gründe (keine Transformation möglich) oder Einflüsse durch Kovariablen sein.

Spline-Beispiel

Eine Anpassung an die links dargestellte Funktion ist durch eine einfache Transformation oder einem Polynom schwierig.

Hier kann über die flexible Modellierung eine Schätzung des Modells möglich sein.

Eine Regressionsanalyse über die flexible Modellierung geht in der Regel von einer großen Zahl von Parametern aus, die einzelnd nicht mehr (sinnvoll) interpretierbar sind. Für diese Art der Regressionsanalyse wird die gleiche Annahme bezüglich des Fehlers gemacht, wie bei der linearen Regression:

        Die Fehlerannahme ist von Bedeutung bei der Schätzung des Konfidenzintervalles.

Eine Modellierungsmöglichkeit zur Regressionsanalyse sind Polynome mit folgendem Modell (F1):

F1

Der Einfluss von x auf y wird durch ein Polynom vom Grad n modelliert. Darauf basierend, können die Regressionskoefizienten an des Polynoms über KQ-Schätzung bestimmt werden. Mit einem Polynom ist eine Modellierung der Anpassung oft nicht ausreichend, um lokale Ausprägungen (Minima / Maxima) des Funktionsverlaufes zu erfassen. Deswegen wird der Wertebereich x in Intervalle separiert und für diese Bereiche werden jeweilige Polynome geschätzt. D. h., anstelle des Modells F1 für den gesamten Wertebereich werden also mehrere lokale Polynome geschätzt. Zur Schätzung werden i. d. R. Polynome 3. Grades verwendet. Polynome höheren Grades neigen besonders in den Endbereichen zu oszillieren. Durch die Separierung des Wertebereiches x (Definitionsbereich) und der anschließenden Schätzung der lokalen Polynome wird, wie in der nächsten Abbildung zeigt, der Nachteil dieser Vorgehensweise deutlich:

Polynom und Knoten

Die einzelnen Polynome ergeben keinen glatten Funktionsverlauf mehr, da sie verschiedene Funktionswerte aufweisen. Die linke Abbildung soll diesen Sachverhalt verdeutlichen (ist sicher nicht perfekt)!

Die Gesamtfunktion ist somit unstetig! Damit das Modell nutzbar ist, müssen sog. Glättungsanforderungen gestellt werden. Diese Anforderungen führen zu den Polynom-Splines.

Die Separierung des Definitionsbereiches in Intervalle führt zu dem Begriff der Knoten.

Das bedeutet, das z. B. 10 Intervalle = 10 Konten entsprechen. Je mehr Konten k verwendet werden, desto größer ist die Zahl der lokalen Polynome, aus denen das Polynom-Spline zusammengesetzt ist. Für das Polynom-Spline wird (n-1)-mal Stetigkeit verlangt (Differenzierbarkeitsanforderung). Das Polynom-Modell F1 wird nun über die Glattheitsanforderung für das Knoten-Konzept erweitert (F2):

F2

In F2 finden also die Polynome der einzelnen Segemente (lokale Polynome) und die globale Glattheitsanforderung über das Knotenkonzept (k-Term) Anwendung. Ein Polynom-Spline ist eine Linearkombination der n+m-1 (Polynomgrad + Knotenzahl - 1) Funktionen. Die einzelnen Koeffizienten an zeigen jeweils die Änderung der Steigung und durch Einführung von (x - kj) wird sichergestellt, dass die Steigungsänderung so glatt erfolgt, das die “Glattheitsanforderung” erfüllt ist. Verkürzt ausgedrückt, ein Polynom-Spline lässt sich als lineares Regressionsmodell mit großer Parameterzahl auffassen (siehe hier Fahrmeier, Kneib, Lang, Regression).
Im Gegensatz zum linearen Modell ist allerdings eine Interpretation der geschätzten Koeffizienten an nicht sinnvoll. Hier interessiert ehr die Form der geschätzten Funktion. Die Güte der Modellanpassung lässt sich durch Vergleich der Beobachtungen und der darauf basierenden Spline-Schätzung beurteilen.
Zu bemerken ist noch, dass die Güte der Schätzung auch von der Zahl und Position der Knoten k abhängt. Zahl und Knotenposition hängen wiederum von der Verteilung der Beobachtungen ab. Von Vorteil ist die Knotenzahl auf Basis der Quantile. Damit werden entsprechend viele Knoten in Bereiche gelegt, in denen die Zahl der Beobachtungen hoch ist.
Als praktikable Größe des Polynomgrades n hat sich n = 3 (kubisch) bewährt.

Zur Schätzung (Modellierung) einer Spline-Funktion kann z. B. das R-Paket splines und die entsprechenden R -Funktionen verwendet werden:

      > x <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
      > y <- c(1, 3, 4, 3, 2, 4, 8, 9, 9.5, 8, 10, 13, 16, 18, 20)
      > interpSpline(x,y)

      > plot(sp, main = "Spline-Funktion")
      > points(x,y)

Spline-Funktion

      Die Spline-Funktion wurde über die Funktion interpSpline() geschätzt (modelliert) und in dem Objekt sp abgelegt. Für neue x-Daten (Beobachtungen) können die y-Werte über die Funktion predict() geschätzt werden:

      > x_neu <- c(4.5, 7.5, 11.5)
      > predict(sp, x_neu)
      $x
      [1]  4.5  7.5 11.5

      $y
      [1]  2.285222  8.742508 11.485926
       

      Interpretation: Für die neuen Beobachtungen 4,5, 7,5 und 11,5 abgelegt in x_neu  werden die y-Werte 2,285, 8,743 und 11,486 geschätzt.

 

Seitenanfang

Hat der Inhalt Ihnen weitergeholfen und Sie möchten diese Seiten unterstützen?

Impressum

Datenschutz