Glättende Splineapproximation

 
  • Wenn eine Spline-Approximation bei fehlerbehafteten Daten durchgeführt werden soll, macht die exakte Interpolation wenig Sinn. In diesem Falle kann man zur Glättung greifen.
  • Bei der reinen Spline-Interpolation z.B. mit dem natürlichen Spline wird unter allen zweimal stetig differenzierbaren Funktionen mit g''(x)=0 für x=a und x=b und der Interpolationseigenschaft diejenige Funktion konstruiert, die
    I[a,b] (g"(x))2dx (*)
    minimiert. Hierbei bezeichnet I[] das Integral. (*) approximiert das "Gesamtkrümmungsintegral".
  • Bei dieser glättenden Splineapproximation wird eine Kombination der Minimierung des "Gesamtkrümmungsintegrals" und der Minimierung der Fehlerquadratsumme (Ausgleichsrechnung) vorgenommen. D.h. es wird der Spline über dem gegebenen x-Gitter so konstuiert, daß er
    I[a,b] (S"(x))2dx+w* Summe{i=1,...,n}(yi-S(xi))2
    für geeignetes Gewicht w minimiert. w wird nach dem Kriterium der sogenannten "generalisierten Cross-Validation" gewählt (Hutchinson und de Hoog, Numer. Math. 47, 99-106, 1985). Dabei fällt auch eine Schätzung der Varianz der yi an.
  • Man kann mit dieser Methode eine gute Rekonstruktion auch stark "verrauschter" Daten erreichen.
 

Die Eingaben

 
  • Sie können zwischen der Eingabe eigener (x,y)-Daten und deren Erzeugung durch vorgegebene oder eine eigene Funktion wählen. Geben Sie eigene Daten ein, dann müssen Sie auch die Varianz dieser Daten wählen und eingeben. In diesem Fall können Sie auch die Textausgabe der Splinedarstellung anfordern.
  • Im anderen Fall experimentieren Sie mit Daten, die aus einer Funktion erst erzeugt werden:
  • Ausgangspunkt für die Approximation ist dann die Wahl einer Funktion. Hier stehen 5 Voreinstellungen zur Wahl und es besteht die Möglichkeit, eine eigene Funktion in der FORTRAN-Konvention einzugeben.
  • Anzugeben ist die Anzahl der Interpolationstellen. Wichtig: 4 <= n <= 200 !.
  • Das Intervall, in welchem die glättende Spline-Interpolation durchgeführt werden soll. Die Datenpunkte werden dort äquidistant gewählt.
  • Ferner wird ein Fehlerlevel benötigt, mit dem die Originaldaten der Funktion gestört werden sollen. Wichtig: level in [0,1] ! Der erzeugte Fehler hat die Form
    level*y_abs_max*(2*r-1)
    worin r eine in [0,1] gleichverteilte Pseudozufallszahl ist. y_abs_max ist der absolut grösste y-Wert.
 

Die Ausgaben

 
  • Haben Sie eigene Daten vorgegeben, dann erhalten Sie einen Plot von Spline und Daten sowie, falls gewünscht, eine Textausgabe der Splinedarstellung.
  • Andernfalls wird die gewählte Funktion, die Anzahl der Interpolationspunkte und der gewählte Fehlerlevel ausgeegeben .
  • Eine Grafik zeigt die Lage der gestörten Datenpunkte und den glättenden Spline.
  • Außerdem wird eine Schätzung der Varianz der Daten angegeben.
 

Fragen ?!

 
  • Was passiert bei wenigen Datenpunkten (z.B. 4) ?
  • Wie wirken sich nichtdifferenzierbare Stellen der Originalfunktion aus ?
  • Und was passiert bei sehr großen Störungen ?
 

Das Eingabeformular

 
 

Zurück: Interpolation

 
Back to the top!

16.10.2008