[<] [globale Übersicht] [Kapitelübersicht] [Stichwortsuche] [>]


2.7.3 Sensitivitätsanalyse und Fehlerschätzung

Eine Sensitivitätsanalyse ist eine qualitative und quantitative Untersuchung. Sie informiert, wie empfindlich die numerischen Berechnungsergebnisse auf Änderung der Modellstruktur, der Lösungsalgorithmen etc. reagieren. Art und Größe der Änderungen hängen stark vom jeweiligen Problem ab. Bei kleinen Änderungen des Berechnungsergebnisses verringert sich der Grad der Unsicherheit.

  1. Numerische Daten: Durch die Anwendung der Monte-Carlo-Methode können Auswerkungen der Daten- und Rechenfehler untersucht werden. Stellt sich bei der o.g. Methode heraus, daß die untersuchten Einflußgrößen als Ursache zu großer Ungenauigkeiten ausgeschlossen werden können, so ist offensichtlich das verwendete Modell unzureichend. In diesem Fall muß man mit besser angepaßtem Modell arbeiten und den Validierungsvorgang wiederholen.
  2. Software (Sensitivitätsanalyse): Die vorhandenen Programme (Round-off Analysis in TOMS/532) untersuchen bei Fortran77 -Programmen (speziell in Lin. Algebra), für welche Eingangsdaten die größten numerischen Instabilitäten auftreten.
  3. Rundungseffekte: Durch die Anwendung von Software zur Lösung einer einfachen genauen und einen doppelten genauen Arithmetik sind in vielen Fällen die übereinstimmenden Dezimalstellen beider Lösungen korrekt. Z.B ( Iterative Lösung einer nicht linearen Gleichung ) Wenn man folgende Gleichung löst

    \cosh x + \cos x = a \ und  \ a \in \R

    wurde auf der Basis des Newton-Verfahrens
    \[x_{n+1} = x_{n} - \frac{f(x_{n})}{f'(x_{n})}\]

    mit
     $f(x) := \cosh x + \cos x - a$
    und der Abbruchbedingung
    if \[\hbox{{\bf if}}   \quad |x_{n} - x_{n+1}| < \varepsilon \quad
  \hbox{{\bf then exit}}\] then exit

    ein Programm geschrieben. Für a = 2, x0=1 und $\varepsilon = 10^{-6}$ = 10-6 liefert das Programm folgende Werte als Lösung:
    	x13 = 0.0310800  bei einfach genauer Aritmetik;
    	x32 = 0.0001307  bei doppelt genauer Aritmetik.       
    

    Wenn man die beiden Werte anschaut, merkt man den groß Unterschied zwischen den beiden Werten. Im vorliegenden Fall sind die Komplikationen im speziellen darauf zurückzuführen, daß es sich bei der exakten Lösung $x^{*} = 0$ = 0 um eine mehrfache Nullstelle der Gleichung \cosh x + \cos x = a \quad \hbox{mit} \quad a \in \R handelt.

    Man merkt es, hier kann die Variation des Toleranzparameters\[\varepsilon nicht verwendet werden. Für alle Werte

    \[\varepsilon = 10-2,10-3,.....,10-8

    erhält man in einfach genauer Arithmetik stets das gleiche Resultat: x13 = 0.0310800.
  4. Algorithmen: Man kann viele mathematische Standardaufgabenstellungen auf verschiedenen Art und Weise lösen. Sehr oft wird ein Algorithmus durch eine Formel angegeben, die die Operationen festlegt, die an den Ausgangsdaten auszuführen sind, um das gesuchte Resultat zu erhalten. Es besteht oft die Möglichkeit, die Abhängigkeit der numerischen Resultate von der Verwendung spezieller Algorithmen durch den Austausch eines Bibliotheksprogramm gegen ein anderes zu untersuchen.
    Beispiel (Numerische Integration): Wenn zur Lösung eines Integrationsproblems ein Integrationsprogramm eingesetzt wird, das auf Gauß-Kronrod-Formeln mit global-adaptiven Algorithmus beruht, z.B. das Programm QUADPAKqag, dann kann man die Abhängigkeit der Resultate vom Algorithmus z.B. dadurch untersuchen, daß man durch die Wahl des Parameters key verschiedene Gauß-Kronrod-Formelpaare (zwischen 7/15-Punkt-Formeln und 30/61-Punkt-Formeln) zum Einsatz bringt.

    Auf jeden Fall soltte man auch die Abhängigkeit der Resultate von den Genauigkeitsparametern ( epsabs und epsrel beim Programm QUADPACK/qag) durch mindestens drei Computerläufe untersuchen: mit den ursprünglich gewälten Paramerwerten sowie Werten, die sich um die Faktoren 10 und 0.1 davon unterscheiden. Man kann aber auch durch diese Maßnahmen nicht ausschließen, daß Konstellationen auftreten, bei denen z.B. ein peak des Integranden nicht erkannt wird und denentsprechend ungenaue Resultate die Folge sind.

  5. Modelle: Die Sentistivtätanalyse bezüglich der zugrundeliegenden Modelle ist ein wichtiger Teil des Modellbildungsvorgangs. Die Modelländerungen, die dabei durchzuführen und zu untersuchen sind, gestallten sich oft sehr aufwendig. Im Bereich der Numerischen Datenverarbeitung können Hilfsmittel bereit gestellt werden, mit denen die experimentelle Sensitivtätuntersuchung von Modellen oft erheblich erleichtert wird.
  6. Experimentelle Konditionsuntersuchung
  7. Bei komplexeren Aufgabenstellungen ist man in der Praxis oft nicht imstande, für einen konkreten Fall Konditionszahlen zu ermitteln. Da es jedoch für die Beurteilung der Genauigkeit einer Lösung unumgänglich ist, über die Datenfehlerempfindlichkeit Bescheid zu wissen, muß man sich diese Kenntnis auf einem anderen Weg verschaffen: durch Simulation der Störungen.


    Man ersetzt dabei den Vorgang:
     gestörte Daten --> Lösungsverhalten -->
Resultat(ein)
    durch:
    exakte Daten--> Simulation der
Störeinflüsse -- gest&öuml;rte
Daten --> Lösungsverhalten -->
Resultat(viele)


    Da man im allgemeinen die exakten Daten des untersuchten Anwendungsproblems nicht kennt, ist man gezwungen, einen Datensatz (der möglichst große Ähnlichkeit mit den realen Daten hat) als "exakten" Datensatz anzusehen. Wenn möglich, sollte dies ein Datensatz sein, für den man das exakte Resultat kennt. Diesen festen Datensatz stört man nun in möglichst derselben Weise, wie es den Störeinflüssen (Meßfehler usw.) entspricht. Dies kann z.B. mit Hilfe eines Zufallszahlengenerators erfolgen, dessen Ausgangswerte eine Verteilungsfunktion besitzen, die mit jener des simulierten Störfaktors übereinstimmt. Der Zufallsgenerator kann nun dazu verwendet werden eine bestimmte Anzahl von "gestörten Datensätzen" zu generieren, die als Input für das zu untersuchende Lösungsverfahren verwendet werden. Man erhält eine Menge von Lösungen (zu einem "exakten" Datensatz), deren Variabilität Aufschlüsse über die Datenfehlerempfindlichkeit gibt. Es soll hier nicht weiter auf die statische Analyse der erhaltenen Werte eingegangen werden, es sei nur davor gewarnt, aus einer kleinen Variabilität (Streuung) auf kleine Fehler zu schließen.

    Die experimentelle Sensitivitätsanalyse ist ein sehr nützliches Hilfsmittel zur Reduktion von Unsicherheiten, das aber auch seine Grenzen hat, vor allem dann, wenn man eine systematische Untersuchung aller Datenvariationen in Angriff nehmen will. Wenn z.B. ein Problem 100 skalare Eingangsdaten besitzt (z.B. die Elemente einer 10x10 Matrix) und man alle Konstellationen untersuchen will, die sich ergeben, wenn jedes Element entweder ungestört oder um +1% oder -1% gestört ist, dann sind hierfür 3<sup>100</sup>~5*10<sup>47</sup> Berechnungen erforderlich. Erst mit statischen Methoden kann man in dieser Situation eine sinnvolle Sensitivitätsanalyse durchführen, indem man mit Hilfe eines Zufallsgenerators eine handhabbare Teilmenge aus den 3100 möglichen Datenkonstellationen auswählt und als Berechnungseingang verwendet. Die Anzahl der durchzuführenden Berechnungen kann man dann nach statischen Gesichtspunkten und freilich nur nach Maßgabe des Aufwandes, den man zu investieren bereit ist, festlegen.


  8. Fehleranalyse
  9. Eine Alternative zur Sensitivitätsanalyse ist die Fehleranalyse, bei der eine mathematische Untersuchung der Auswirkungen verschiedener Unsicherheitsfaktoren in qualitativer und quantitativer Form vorgenommen wird. Für einen Berechnungsvorgang können oft verschiedene Arten von Fehleranalysen vorgenommen werden, die zu verschiedenen Ergebnissen führen. So gibt es z.B. bei der Lösung linearer Gleichungssysteme verschiedene mathematische Untersuchungen und entsprechend unterschiedliche Resultate bezüglich der Auswirkung von Datenfehlern (Datenunsicherheiten) auf den Resultatvektor.

    Die Fehleranalyse kann in mehrfacher Hinsicht Schwerigkeiten bereiten:

    1. Die erforderlichen mathematischen Untersuchungen könnten so kompliziert und aufwendig sein, daß eine Fehleranalyse unmöglich wird.
    2. Die Abschätzung der Auswirkungen der verschiedenen Unsicherheitsfaktoren kann unter Umständen so pessimistisch sein (d.h. die Auswirkungen werden so stark überschätzt), daß diese Aussagen der Fehleranalyse praktisch wertlos sind.
    3. Die Voraussetzungen der Fehleranalyse können so einschränkend sein, daß eine praktische Anwendung in den meisten Fällen nicht in Frage kommt; z.B. mathematische Aussagen über die Genauigkeit von Integrationsresultaten, bei denen Schranken für die höheren Abletungen der Integrandenfunktion benötigt werden, eignen sich kaum für eine praktische Fehleranalyse.

    Zusammenfassend kann gesagt werden: Weder die Sensitivitätsanalyse noch die mathematische Fehleranalyse liefern automatisierbare Möglichkeiten für die Validierung numerischer Berechnungen. Beide Techniken sind jedoch brauchbare Hilfsmittel, um den Grad der Zuverlässigkeit numerischer Berechnungen zu erhöhen. Für komplexe Problemstellungen mit hohen Zuverlässigkeitsanforderungen muß man stets auch mit einem großen Validierungsaufwand rechnen.


    [<] [globale Übersicht] [Kapitelübersicht] [Stichwortsuche] [>]