|
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 ?
|
|
|
|
|
|
|