Kurs:Numerik I/4 Lineare Ausgleichsrechnung
Aus Wikiversity
Inhaltsverzeichnis |
[Bearbeiten] 4.1 Problemstellung
In der Praxis hat man häufig auch ein überbestimmtes lineares Gleichungssystem Ax = b für eine Matrix
mit n > k und eine rechte Seite
zu „lösen“. Da ein solches System mehr Gleichungen als Unbekannte hat, ist im Allgemeinen
für alle
und besitzt es somit keine exakte Lösung. Es macht also Sinn, ein x * als „Lösung“ zu akzeptieren, für welches der Defekt Ax − b hinsichtlich einer gewählten lp-Norm
auf dem
minimal wird, also eine Lösung x * des Problems
Im Fall der Verwendung der l2- bzw. Euklidischen Norm lautet dieses Problem
-
- (4.1)

- (4.1)
welches im Hinblick auf eine Lösung mit dem Problem
-
- (4.2)

- (4.2)
äquivalent ist, wobei die zu minimierende Funktion in (4.2) für alle
differenzierbar ist. (Die Funktionen in (4.1) und (4.2) haben offenbar dieselben Minimalpunkte x, sofern solche existieren.) Bei Wahl der l2-Norm minimiert man also die Summe der Fehlerquadrate, und man spricht daher auch von Fehlerquadratmethode oder von diskreter l2-Approximation. Die Lösung des entsprechenden Problems für die l1- und die
- bzw. Tschebyscheff-Norm ist ebenfalls von großem praktischen Interesse, führt aber auf nichtdifferenzierbare Funktionen, so dass diese Probleme schwieriger zu lösen sind. (Man kann letztere Probleme als lineare Optimierungsprobleme formulieren und beispielsweise mit dem sog. Simplexalgorithmus lösen.) Bevor wir nun das Problem in (4.2) weiter untersuchen, wollen wir zunächst zwei Aufgabenstellungen beschreiben und analysieren, die auf ein derartiges über-bestimmtes Gleichungssystem führen.
In Naturwissenschaft und Technik hat man oft das Problem, mit einer großen Zahl von Messwerten umgehen zu müssen. Ein anderes, sich häufig stellendes Problem ist es, eine in endlich vielen Punkten gegebene Funktion, welche durch eine rechenaufwändige Vorschrift bestimmt ist, durch eine einfacher zu berechnende zu ersetzen. Beide Probleme kann man gemeinsam angehen und als l2-Approximationsprobleme beschreiben.
Wir gehen dazu von n Zahlenpaaren
-
- (4.3)

- (4.3)
mit
für
aus, wobei üblicherweise n groß ist. Beispielsweise können die
irgendwelche zu unterschiedlichen Zeitpunkten
gemessene Werte oder, im Hinblick auf die Approximation einer gegebenen Funktion f, die Funktionswerte yj: = f(tj) zu gewissen Punkten tj des Definitionsbereichs von f sein. Das Ziel der Ausgleichsrechnung ist es nun, durch geeignete Wahl eines Parametervektors
eine Funktion der Gestalt
-
- (4.4)

- (4.4)
mit k gegebenen stetigen Ansatzfunktionen vi zu finden, so dass die Fehler
-
- (4.5)

- (4.5)
möglichst klein ausfallen. Dabei sollte sinnvollerweise
sein und ist zumeist
. Hat man einen solchen Parametervektor x bzw. eine solche Funktion
gefunden und sind die Approximationsfehler in (4.5) nicht zu groß, so kann man statt mit den Daten (4.3) nur mit dieser Funktion arbeiten, für die im Fall
erheblich weniger Information, nämlich nur der Vektor x, abgespeichert werden muss. Weil
eine stetige Funktion ist, erlaubt ein solches Vorgehen außerdem, Werte y zu Werten bzw. „Zeiten“ t zu berechnen, für die keine Messung vorliegt.
Die Ansatzfunktionen hat man so zu wählen, dass sie den gemessenen Prozess möglichst gut beschreiben. Häufig, insbesondere dann, wenn man wenig über den gegebenen Prozess weiß, verwendet man die Monome
-
- (4.6)

- (4.6)
so dass
ein Polynom vom Grad
ist (Polynomapproximation). Wenn es sich um einen periodischen Prozess handelt, ist es aber beispielsweise günstiger, die k: = 2p + 1 Funktionen
-
- (4.7)

- (4.7)
als Ansatzfunktionen zu wählen (trigonometrische Approximation), weil man dann im Allgemeinen bei gleicher Anzahl von Funktionen kleinere Fehler erhält. Andere Systeme von Ansatzfunktionen können ebenfalls vernünftig sein.
Nun ist es nicht sinnvoll, x so zu wählen, dass die Summe aller Fehler
möglichst klein wird, da diese Summe auch bei großen Einzelfehlern sehr klein werden kann, nämlich dann, wenn sich die positiven und negativen Fehler (nahezu) aufheben. Die Größe des Fehlervektors
misst man daher mit einer lp-Norm im
. Insbesondere führt dann die Verwendung der quadrierten l2- bzw. Euklidischen Norm (siehe den Kommentar zu (4.1) und (4.2)) auf die für alle
differenzierbare Funktion
Mit den Setzungen
-
- (4.8)

- (4.8)
kann diese geschrieben werden als
Das beschriebene Problem der Ausgleichsrechnung ist also von der Form (4.2), wobei A und b durch (4.8) gegeben sind.
Wir betrachten nun allgemein das Problem (4.2). Die zu minimierende Funktion
können wir wegen
-
- F(x) = (b − Ax)T(b − Ax) = bTb − (Ax)Tb − bTAx + (Ax)TAx
als quadratische Funktion in k Veränderlichen
-
- (4.9)

- (4.9)
schreiben. Für die darin vorkommende Matrix ATA kann man aussagen:
[Bearbeiten] Lemma 4.1
- Sei
mit
und
. Dann ist die Matrix
positiv definit.
[Bearbeiten] Beweis.
Die Matrix ATA ist wegen (ATA)T = ATA symmetrisch. Weiter ist sie positiv semidefinit, d. h. es gilt
Wegen
sind die k Spalten
von A linear unabhängig (Zeilenrang = Spaltenrang) und daher hat man
q.e.d.
Im Fall der Ausgleichsrechnung mit den Ansatzfunktionen (4.6) und (4.7) ist die Rangbedingung in Lemma 4.1 unter unserer Voraussetzung
immer erfüllt, wie das folgende Lemma besagt.
[Bearbeiten] Lemma 4.2
- Für die mit den Ansatzfunktionen (4.6) oder (4.7) gebildete Matrix
in (4.8) mit
gilt
.
[Bearbeiten] Beweis.
Für A in (4.8) und
gilt:
Wird A insbesondere durch (4.6) spezifiziert, so implizieren wegen
letztere Gleichungen die Identität h = 0, da ein von Null verschiedenes Polynom vom Grad
höchstens k − 1 Nullstellen besitzt. Für (4.7) schließt man analog mittels komplexer Darstellungen des Sinus und Kosinus (siehe z. B. Collatz/Krabs: Approximationstheorie, Teubner, Stuttgart, 1973).
q.e.d.
[Bearbeiten] 4.2 Lösung der Normalgleichungen
Wir betrachten nun die quadratische Funktion
in (4.9), wobei wir
voraussetzen. Sie hat bei x den Gradienten und die Hessematrix
Notwendige Bedingung dafür, dass x * Minimalpunkt von F ist, ist die Bedingung
bzw. äquivalent dazu, dass x * die sog. Normalgleichungen
-
- ATAx = ATb
erfüllt. Nach Lemma 4.1 ist dabei die (von x unabhängige) Matrix
positiv definit, so dass die eindeutige Lösung x * der Normalgleichungen auch der einzige (globale) Minimalpunkt von F ist. Wir können somit festhalten:
[Bearbeiten] Satz 4.3
- Sei
mit
und
. Dann besitzt das lineare Ausgleichsproblem
- eine eindeutige Lösung
und diese ist eindeutige Lösung des linearen Gleichungssystems
- (4.10) ATAx = ATb.
Wir betrachten dazu ein Beispiel der Ausgleichsrechnung.
[Bearbeiten] Beispiel 4.4
Wir betrachten den Fall der sog. Ausgleichsgeraden. Wenn die yj
mit
in (4.3) ungefähr auf einer Geraden liegen, macht es Sinn,
d. h. die Ansatzfunktionen (4.6) mit k = 2 zu wählen und somit
zu setzen. Mit
hat
in diesem Fall die Gestalt
. Weiter ist dann
Für eine symmetrische invertierbare Matrix
kann man die Inverse explizit angeben:
Somit lautet die Lösung der Normalgleichungen (4.10) in diesem Fall
und demzufolge
-
- (4.11)

- (4.11)
Dabei hat man
-
- (4.12)

- (4.12)
Beispielsweise für die n = 8 Wertepaare
errechnet man
Mit (4.11) und (4.12) ergibt sich somit
Die Ausgleichsgerade zu den gegebenen Daten lautet folglich
Der maximale relative Fehler der z(x * ,tj) bezüglich der yj beträgt
bzw. ungefähr 1.6%.
Für k > 2 könnte man die Normalgleichungen (4.10) mittels einer Cholesky-Zerlegung lösen. Diese selbst ist, wie man zeigen kann, numerisch stabil. Leider ist das Ausgleichproblem selbst aber häufig schlecht konditioniert. Man betrachte z. B. die Matrix A, die sog. Vandermonde-Matrix, die man für n = k im Fall der Wahl der Monome (4.6) als Ansatzfunktionen erhält:
Für
unterscheiden sich die Funktionen tr − 1 und tr bereits für nicht allzu großes r kaum, so dass die r-te und (r + 1)-te Spalten in A für solche r nahezu linear abhängig sind. Die oft große Kondition von A geht außerdem noch im Fall n = k bei der Lösung der Normalgleichungen quadratisch ein, denn es gilt:
[Bearbeiten] Lemma 4.5
- Für eine reguläre Matrix
gilt
[Bearbeiten] Beweis.
Nach Satz 3.19 hat eine positiv definite Matrix
Eigenwerte λi: = λi(B) > 0
. Weiter hat wegen
für Eigenvektoren xi zu λi die Inverse B − 1, die somit auch positiv definit ist, die Eigenwerte [λi] − 1
. Es gilt folglich nach Satz 2.15
wobei λmax: = λmax(B) und λmin: = λmin(B) einen größten und kleinsten Eigenwert von B bezeichnen. Indem man x mittels einer Orthonormalbasis von Eigenvektoren darstellt, kann man ferner die Abschätzungen
beweisen, wobei offenbar Gleichheit in der ersten bzw. zweiten Ungleichung für einen zu λmin bzw. λmax gehörenden Eigenvektor angenommen wird. Folglich schließt man
Wendet man diese Ergebnisse auf die nach Lemma 4.1 positiv definite Matrix
an, so erhält man mit Satz 2.19
q.e.d.
Es ist daher große Vorsicht bei Anwendung der Cholesky-Zerlegung für die Lösung der Normalgleichungen geboten. Prinzipiell ist sie nur zu empfehlen, wenn große Residuen bi − (Ax)i
in der Lösung des Ausgleichsproblems zu erwarten sind (s. Deuflhard/Hohmann). Sicherer ist es aber, so vorzugehen, wie es im folgenden Abschnitt beschrieben ist.
[Bearbeiten] 4.3 Lösung mittels QS-Zerlegung
Für eine QS-Zerlegung stellen wir zunächst fest:
[Bearbeiten] Lemma 4.6
- Sei
mit
und
gegeben und A = QS eine Zerlegung von A, wobei
eine orthogonale und
eine Matrix der folgenden Gestalt ist (vgl. (3.39)):
- (4.13)

- (4.13)
- Dann gilt:
- (i)
, - (ii)
.
[Bearbeiten] Beweis.
Da Q eine orthogonale Matrix ist, gilt
Wegen
ist nach Lemma 4.1 insbesondere
also (i) richtig. Weiter hat man
Wendet man nun Lemma 4.5 auf die nach Lemma 4.1 positiv definite Matrix RTR an, so gelangt man zu (ii).
q.e.d.
Der folgende Satz gibt an, wie Fehlerquadratprobleme mittels einer QS-Zerlegung von A gelöst werden können.
[Bearbeiten] Satz 4.7
- Es seien
mit
und
, eine orthogonale Matrix
und
gegeben wie in Lemma 4.6. Weiter sei der Vektor
dargestellt in der Form
- Dann ist der Vektor
genau dann die eindeutige Lösung des linearen Ausgleichsproblems
- wenn x * eindeutige die Lösung des Systems
- Rx = y1
- ist. Außerdem hat man
[Bearbeiten] Beweis.
Für einen beliebigen Vektor
erhalten wir unter Verwendung von (3.38) und Lemma 3.23
Daraus folgt
sowie
Damit ist alles gezeigt.
q.e.d.
Nach Satz 4.3 und Lemma 4.6 besitzen das l2-Approximationsproblem sowie das System Rx = y1 eine eindeutige Lösung. Wir geben zum letzten Satz ein Beispiel.
[Bearbeiten] Beispiel 4.8
Wir betrachten das Fehlerquadratproblem mit den Daten
Nach Beispiel 3.32 liefert eine QS-Zerlegung von A mit gleichzeitiger Berechnung von QTb
Die Lösung von Rx = y1 bzw.
lautet
Der zugehörige Approximationsfehler in der Euklidischen Norm ist gegeben durch
Wir wollen nun die beiden beschriebenen Lösungswege für das l2-Problem, die Lösung der Normalgleichungen mittels Cholesky-Zerlegung und die Lösung über den in Satz 4.7 dargestellten Weg, vergleichen. In beiden Fällen muss die rechte Seite b des Systems Ax = b von links mit einer Matrix multipliziert werden. Weiter sind bei der Cholesky-Zerlegung zwei und bei dem Weg über die QS-Zerlegung ein gestaffeltes lineares Gleichungssystem zu lösen. (Da die Lösung eines solchen Systems nur etwa k2 / 2 Multiplikationen und Divisionen erfordert, vernachlässigen wir hier diesen zusätzlichen Aufwand bei der Cholesky-Zerlegung.) Im Fall der Lösung der Normalgleichungen benötigt man ferner zur Berechnung der symmetrischen Matrix ATA etwa
und für die Cholesky-Zerlegung etwa
wesentliche Rechenoperationen. Daneben erfordert die Berechnung des Residuenvektors b − Ax weitere nk Multiplikationen, so dass die zuletzt genannten Teilaufgaben zusammen ungefähr
wesentliche Rechenoperationen erfordern, das sind
-
- (4.14)
für
und
für
.
- (4.14)
Für das sich aus Satz 4.7 ergebende Vorgehen benötigt man über die Matrix-Vektor-Multiplikation und die Lösung eines Dreieckssystems hinaus nur die Berechnung der QS-Zerlegung von A. Wie ein Vergleich von (3.55) und (4.14) liefert, müssen demnach für beide Wege im Fall
etwa gleich viele wesentliche Rechenoperationen durchgeführt werden, während der Weg über die QS-Zerlegung für
etwa doppelt so viele wesentliche Rechenoperationen erfordert wie der über die Normalgleichungen. Letzterem Nachteil der QS-Zerlegung steht jedoch entgegen, dass bei ihr nach Lemma 4.6 die Konditionszahl
bzw. für quadratisches A (vgl. Satz 4.5) die Zahl
den Rundungsfehlereinfluss bei der Lösung des Dreieckssystems bestimmt, während dies bei dem Weg über die Normalgleichungen die Zahl κ2 ist. Wir geben dazu ein (allerdings etwas extremes) Beispiel:
[Bearbeiten] Beispiel 4.9
Es sei n: = 6,k: = 5 und
mit einem
gegeben durch
Damit ergibt sich
Es seien nun b: = 10 und r: = 10 die Basis und Mantissenlänge des verwendeten Computers, so dass
die zugehörige Maschinengenauigkeit ist. Weiter sei
und damit
. Dann erhält man
-
mit aij: = 1
.
Die Matrix gl(ATA) hat offenbar den Rang 1 und ist singulär. Man errechnet hier






















![\operatorname{cond}_2(A^TA) = [\operatorname{cond}_2(A)]^2.](http://upload.wikimedia.org/math/5/1/9/5195aa521a737661cfcf6736016cb494.png)
![Bx^i = \lambda_ix^i \Leftrightarrow B^{-1}x^i = [\lambda_i]^{-1} x^i](http://upload.wikimedia.org/math/2/f/b/2fbd18c8c0e5ea2c0ff0d9ff27fe0260.png)



![\operatorname{cond}_2(A^TA) = \frac{\lambda_\max(A^TA)}{\lambda_\min(A^TA)} = \frac{\max\limits_{\|x\|_2=1} x^T (A^TA)x}{\min\limits_{\|x\|_2=1} x^T (A^TA)x} = \frac{\max\limits_{\|x\|_2=1} \|Ax\|^2_2}{\min\limits_{\|x\|_2=1} \|Ax\|^2_2} = [\operatorname{cond}_2(A)]^2.](http://upload.wikimedia.org/math/9/b/d/9bd29bd4290c1f34b62fc3155399274f.png)

![0 \neq \det(A^TA) = \det(R^TR) = [\det(R)]^2](http://upload.wikimedia.org/math/9/2/6/926e1b012fa509d312fde9612d0744c0.png)
















![\left[ \operatorname{cond}_2(A^TA) \right]^{1/2} = \left[ \frac{5 + \varepsilon^2}{\varepsilon^2} \right]^{1/2} \approx 4.5_{10} + 5.](http://upload.wikimedia.org/math/5/5/e/55e8df2ac2bdd22a7c4761c445ae39dc.png)