44
Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bev¨ olkerungsentwicklung in den U.S.A. 1900 1910 1920 1930 1940 75.995 91.972 105.711 123.203 131.669 1950 1960 1970 1980 1990 150.697 179.323 203.212 226.505 249.633 (Angaben in Millionen Einwohner). Wir wollen die Einwohnerzahl im Jahr 2000 sch ¨ atzen und berechnen das Interpolationspolynom p 9 vom Grad 9 durch die 10 Datenpaare, das wir an der Stelle 2000 auswerten. Wir erhalten p 9 (2000) = 227.459(?!). 4 Lineare Ausgleichsrechnung TU Bergakademie Freiberg, WS 2011/12

4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

  • Upload
    lediep

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 150

4 Lineare Ausgleichsrechnung

Die folgende Tabelle zeigt die Bevolkerungsentwicklung in den U.S.A.

1900 1910 1920 1930 1940

75.995 91.972 105.711 123.203 131.669

1950 1960 1970 1980 1990

150.697 179.323 203.212 226.505 249.633

(Angaben in Millionen Einwohner). Wir wollen die Einwohnerzahl im Jahr2000 schatzen und berechnen das Interpolationspolynom p9 vom Grad9 durch die 10 Datenpaare, das wir an der Stelle 2000 auswerten. Wirerhalten p9(2000) = 227.459(?!).

4 Lineare Ausgleichsrechnung TU Bergakademie Freiberg, WS 2011/12

Page 2: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 151

1900 1920 1940 1960 1980 20000

50

100

150

200

250

300

350

400

U. S

. Bev

oelk

erun

g [M

illio

nen]

227.459

Interpolationspolynom Grad 9

ZensusdatenPrognose durch Extrapolation

Extrapolationen, die auf Polynomen hohen Grades beruhen, sind riskant!

4 Lineare Ausgleichsrechnung TU Bergakademie Freiberg, WS 2011/12

Page 3: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 152

Das Ausgleichspolynom (Kleinste-Quadrate-Polynom) pn vom Grad n istdurch die Forderung

m∑j=1

|pn(xj)− yj |2 = min

m∑j=1

|q(xj)− yj |2 : grad(q) ≤ n

bestimmt. Dabei bezeichnen (xj , yj) (j = 1, 2, . . . ,m) die gegebenen Da-tenpaare. In unserem Beispiel berechnen wir p1 und p2 sowie die zu-gehorigen Prognosen p1(2000) = 259.771 und p2(2000) = 280.167.

4 Lineare Ausgleichsrechnung TU Bergakademie Freiberg, WS 2011/12

Page 4: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 153

1900 1920 1940 1960 1980 20000

50

100

150

200

250

300

350

400U

. S. B

evoe

lker

ung

[Mill

ione

n]ZensusdatenAusgleichsgeradeAusgleichsparabelZensus 2000 Wert

4 Lineare Ausgleichsrechnung TU Bergakademie Freiberg, WS 2011/12

Page 5: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 154

Problem. Lege durch m Punkte (xi, yi), i = 1, 2, . . . ,m, (naherungsweise)ein Polynom vom Grad n

pn(x) = α0 + α1x+ · · ·+ αnxn

(wobei n+ 1(= Anzahl der Koeffizienten) ≤ m).Ansatz.

α0 + α1x1 + α2x21 + · · · + αnx

n1 = y1

α0 + α1x2 + α2x22 + · · · + αnx

n2 = y2

... +... =

...

α0 + α1xm + α2x2m + · · · + αnx

nm = ym

oder kurzerAα = y

4 Lineare Ausgleichsrechnung TU Bergakademie Freiberg, WS 2011/12

Page 6: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 155

mit der Vandermonde-Matrixa

A =

1 x1 x2

1 · · · xn1

1 x2 x22 · · · xn2

......

1 xm x2m · · · xnm

∈ Rm×(n+1).

A besitzt Rang n + 1, wenn x1, x2, . . . , xm verschieden sind. Dann istdas Ausgleichspolynom eindeutig bestimmt. Seine Koeffizienten sind dieLosungen des Kleinsten-Quadrate-Problems ‖Aα− y‖2 → minα.

Beachte: Ist m = n + 1, dann ist A ∈ R(n+1)×(n+1) quadratisch undinvertierbar. Das Polynom pn interpoliert in diesem Fall samtliche Punkte(xi, yi).

aALEXANDRE THEOPHILE VANDERMONDE (1735–1796)

4 Lineare Ausgleichsrechnung TU Bergakademie Freiberg, WS 2011/12

Page 7: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 156

4 Lineare Ausgleichsrechnung

4.1 Die Normalgleichungen

4.2 Orthogonale Matrizen und QR-Zerlegung

4.3 Householder-Transformationen

4.4 Givens-Rotationen

4.5 Singularwertzerlegung

4.6 Kondition des Ausgleichsproblems

4 Lineare Ausgleichsrechnung TU Bergakademie Freiberg, WS 2011/12

Page 8: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 157

4.1 Die Normalgleichungen

Das lineare Ausgleichsproblem:

Gegeben sind A ∈ Rm×n und b ∈ Rm.

Gesucht ist ein Vektor x ∗ ∈ Rn mit

‖b −Ax ∗‖2 = minx∈Rn

‖b −Ax‖2. (LS)

Andere Formulierung:Bei gegebenen A und b konnen wir jedem x ∈ Rn einen Residualvektorrx := b − Ax zuordnen, der misst, wie gut x das GleichungssystemAx = b erfullt. Wir wollen einen Vektor x ∗ bestimmen, dessen Residuum(gemessen in der Euklid-Norm) so klein wie moglich ist.

Beachte: Ist Ax = b losbar, dann ist x ∗ eine Losung.

4.1 Die Normalgleichungen TU Bergakademie Freiberg, WS 2011/12

Page 9: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 158

Satz 4.11. Ein Vektor x ∈ Rn ist genau dann eine Losung des linearen Ausgleichs-problems (LS), wenn AT rx = 0 gilt. Folglich sind die Losungen von (LS)und die Losungen der Normalgleichungen

ATAx = ATb

identisch. (Insbesondere besitzt (LS) mindestens eine Losung.)2. Sind die Spalten von A linear unabhangig (d.h. rank(A) = n), so besitzt(LS) genau eine Losung.

Beispiel 1. Gegeben sind m Datenpaare (xi, yi) (i = 1, 2, . . . ,m). Unterallen Geraden p0(x) = α (parallel zur x-Achse) wird

∑mi=1 |p0(xi) − yi|2

durch p0(x) = 1m

∑mi=1 yi minimiert.

4.1 Die Normalgleichungen TU Bergakademie Freiberg, WS 2011/12

Page 10: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 159

Beispiel 2. Bestimme die Ausgleichsgerade p1(x) = α0 + α1x durch diePunktwolke (xi, yi) (i = 1, 2, . . . ,m).Aquivalentes Ausgleichsproblem: Bestimme [α0, α1]T ∈ R2 mit∥∥∥∥∥∥∥∥

y1

...

ym

1 x1

......

1 xm

·[α0

α1

]∥∥∥∥∥∥∥∥2

→ minα0,α1

.

Zugehorige Normalgleichungen:m

m∑i=1

xi

m∑i=1

xi

m∑i=1

x2i

α0

α1

=

m∑i=1

yi

m∑i=1

xiyi

.

4.1 Die Normalgleichungen TU Bergakademie Freiberg, WS 2011/12

Page 11: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 160

Dieses Gleichungssystem kann (wie jedes 2 × 2-System) explizit gelostwerden:

α0

α1

=1

D

m∑i=1

x2i −

m∑i=1

xi

−m∑i=1

xi m

m∑i=1

yi

m∑i=1

xiyi

mit

D = mm∑i=1

x2i −

[m∑i=1

xi

]2

.

4.1 Die Normalgleichungen TU Bergakademie Freiberg, WS 2011/12

Page 12: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 161

Eine Methode, das lineare Ausgleichsproblem zu losen:

1. Bestimme die Normalgleichungen.2. Lose die Normalgleichungen durch Gauß-Elimination. (Beachte: ATA istimmer symmetrisch. Besitzt A vollen Spaltenrang, so ist ATA sogar positivdefinit, besitzt also eine Cholesky-Zerlegung.)

Beispiel 3. Bestimme Ausgleichsgerade durch (0, 0), (1, 2), (2, 1) bzw. losedas Ausgleichsproblem∥∥∥∥∥∥∥∥

0

2

1

1 0

1 1

1 2

[α0

α1

]∥∥∥∥∥∥∥∥2

→ min .

4.1 Die Normalgleichungen TU Bergakademie Freiberg, WS 2011/12

Page 13: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 162

1. Normalgleichungen: [ 3 33 5 ] [ α0

α1] = [ 3

4 ].

2. Cholesky-Zerlegung: [ 3 33 5 ] = GGT mit G =

[√3 0√3√

2

].

Lose Gβ = [3, 4]T und GTα = β.

Ergebnis:α = [α0, α1]T = [.5, .5]T

(die Ausgleichsgerade ist also y = .5 + .5x) mit dem Kleinsten-Quadrate-Fehler[

3∑i=1

|yi − (α0 + α1xi)|2]1/2

=[(0− .5)2 + (2− 1)2 + (1− 1.5)2

]1/2= .5·

√6.

4.1 Die Normalgleichungen TU Bergakademie Freiberg, WS 2011/12

Page 14: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 163

−0.5 0 0.5 1 1.5 2 2.5

0

0.5

1

1.5

2

(0,0)

(1,2)

(2,1)

y=.5+.5x

.5

1

.5

4.1 Die Normalgleichungen TU Bergakademie Freiberg, WS 2011/12

Page 15: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 164

Weil die Konditionszahl der Koeffizientenmatrix ATA der Normalgleichun-gen sehr groß werden kann,

cond2(ATA) = cond2(A)2,

ist dieses Verfahren i.a. nicht zu empfehlen:

A =

1 1

0.001 0

0 0.001

, b =

2

0.001

0.001

, x ∗ =

[1

1

].

Erstellt man die Normalgleichungen in sechsstelliger Dezimalarithmetik, soist ATA = [ 1 1

1 1 ] singular (obwohl A vollen Rang 2 besitzt und nicht extremschlecht konditioniert ist, cond2(A) =

√2 · 103).

4.1 Die Normalgleichungen TU Bergakademie Freiberg, WS 2011/12

Page 16: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 165

4.2 Orthogonale Matrizen und QR-Zerlegung

Eine MatrixQ ∈ Rm×m heißt orthogonal, wenn eine der folgenden aquivalen-ten Bedingungen erfullt ist:

(1) QTQ = Im, d.h. Q ist invertierbar und Q−1 = QT ,

(2) ‖Qx‖2 = ‖x‖2 ∀x ∈ Rm, d.h. Q ist normerhaltend,

(3) die Spalten (bzw. Zeilen) von Q bilden eine Orthonormalbasis des Rm.

Fur uns wichtig: Sind A ∈ Rm×n beliebig und Q1 ∈ Rm×m, Q2 ∈ Rn×northogonal, so gilt

‖Q1A‖2 = ‖AQ2‖2 = ‖A‖2und folglich: cond2(Q1A) = cond2(AQ2) = cond2(A).

(Durch orthogonale Transformationen wird die Kondition eines Gleichungs-systems nicht verschlechtert!)

4.2 Orthogonale Matrizen und QR-Zerlegung TU Bergakademie Freiberg, WS 2011/12

Page 17: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 166

Satz 4.2 Zu jeder MatrixA ∈ Rm×n mitm ≥ n und rank(A) = n gibt es eineorthogonale Matrix Q ∈ Rm×m und eine invertierbare obere DreiecksmatrixR ∈ Rn×n mit

A = Q

[R

O

](QR-Zerlegung von A)

(O steht hier fur eine Nullmatrix der Dimension (m− n)× n).

In Beispiel 3:1 0

1 1

1 2

=1

6

−2√

3 3√

2√

6

−2√

3 0 −2√

6

−2√

3 −3√

2√

6

︸ ︷︷ ︸

Q

−√

3 −√

3

0 −√

2

0 0

︸ ︷︷ ︸

[RO ]

4.2 Orthogonale Matrizen und QR-Zerlegung TU Bergakademie Freiberg, WS 2011/12

Page 18: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 167

Wie hilft eine QR-Zerlegung bei der Losung des Ausgleichsproblems?

‖b −Ax‖2 =

∥∥∥∥∥b −Q[R

O

]x

∥∥∥∥∥2

=

∥∥∥∥∥QTb −[R

O

]x

∥∥∥∥∥2

.

Setze c = QTb = [ c1c2 ] mit c1 ∈ Rn und c2 ∈ Rm−n, dann

‖b −Ax‖2 =

∥∥∥∥∥[c1

c2

]−

[R

O

]x

∥∥∥∥∥2

=

∥∥∥∥∥[c1 −Rx

c2

]∥∥∥∥∥2

.

Das bedeutet:(1) Das Kleinste-Quadrate-Problem ‖b −Ax‖2 → min wird durch

x ∗ = R−1c1 (das ist die eindeutige Losung des LGS Rx = c1) gelost.(2) Fur den Kleinsten-Quadrate-Fehler gilt ‖b −Ax ∗‖2 = ‖c2‖2.

In Beispiel 3: c = QTb = −.5 [2√

3,√

2,√

6]T . D.h.: c1 = −.5 [2√

3,√

2]T

und c2 = −.5√

6.Also ist x ∗ = [α0, α1]T = R−1c1 = [.5, .5]T und ‖b −Ax ∗‖2 = .5

√6.

4.2 Orthogonale Matrizen und QR-Zerlegung TU Bergakademie Freiberg, WS 2011/12

Page 19: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 168

Bleibt die Frage, wie man eine QR-Zerlegung von A berechnet.

Prinzipielle Vorgehensweise:Bestimme eine endliche Folge orthogonaler Matrizen Q1, Q2, . . . Qs:

AQ1→ A1 = Q1A, A1

Q2→ A2 = Q2A1, . . . , As−1Qs→ As = QsAs−1,

so dass

As =

[R

O

](mit einer oberen Dreiecksmatrix R) gilt.

Dann ist

A = (Qs · · ·Q2Q1)TAs = QT1 QT2 · · ·QTs As =: Q

[R

O

]die gesuchte QR-Zerlegung von A. (Ein Produkt orthogonaler Matrizen istorthogonal.)

4.2 Orthogonale Matrizen und QR-Zerlegung TU Bergakademie Freiberg, WS 2011/12

Page 20: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 169

4.3 Householder-Transformationen

Jede Matrix P = Im − 2uuT ∈ Rm×m mit u ∈ Rm, ‖u‖2 = 1, heißtHouseholder-Transformation.

Wegen PT = P sowie P 2 = Im ist P orthogonal. Genauer: P ist dieSpiegelung an der Hyperebene u⊥ := {v ∈ Rm : uTv = 0} (dem sog.orthogonalen Komplement von u).

u x

u⊥

Px

4.3 Householder-Transformationen TU Bergakademie Freiberg, WS 2011/12

Page 21: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 170

Gegeben: Ein Vektor x = [x1, . . . , xm]T ∈ Rm, x 6= 0 .

Gesucht: Eine Householder-Transformation P ∈ Rm×m mit Px = γe1

(γ ∈ R, e1 = erster Einheitsvektor).

Losung: P = Im − 2uuT , wobei

u =u

‖u‖2mit u =

x1 + sign(x1)‖x‖2

x2

...

xm

⇒ Px =

−sign(x1)‖x‖2

0...

0

.

Es genugt, u zu speichern: Px = x − 2(uTx )u (in der Praxis speichertman u statt u).

Wie erzeugt man eine QR-Zerlegung mit Householder-Transformationen?

4.3 Householder-Transformationen TU Bergakademie Freiberg, WS 2011/12

Page 22: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 171

A =

x x x

x x x

x x x

x x x

1→

x x x

0 x x

0 x x

0 x x

︸ ︷︷ ︸

A1

2→

x x x

0 x x

0 0 x

0 0 x

︸ ︷︷ ︸

A2

3→

x x x

0 x x

0 0 x

0 0 0

︸ ︷︷ ︸

A3

Schritt 1. Wahle P1 ∈ R4×4 so, dass P1A(:, 1) = γ1e1 ∈ R4.Bestimme A1 = P1A.

Schritt 2. Wahle P2 ∈ R3×3 so, dass P2A1(2 : 4, 2) = γ2e1 ∈ R3.Bestimme A2 =

[1 00 P2

]A1.

Schritt 3. Wahle P3 ∈ R2×2 so, dass P3A2(3 : 4, 3) = γ3e1 ∈ R2.Bestimme A3 =

[I2 OO P3

]A2.

4.3 Householder-Transformationen TU Bergakademie Freiberg, WS 2011/12

Page 23: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 172

Schematisch:

for i = 1:n

bestimme u_i so, dass fuer P_i’ = I - 2*u_i*u_i^T

die Identitaet P_i’*A(i:m,i) = gamma*e_1 gilt

A(i:m,i:n) = P_i’*A(i:m,i:n)

end

A wird hier durch seine QR-Zerlegung uberschrieben. Q wird dabei infaktorisierter Form gespeichert: Q = P1P2 · · ·Pn. Die einzelnen Matrizen Pibzw. P ′i werden naturlich nicht explizit gespeichert. Es genugt, den Vektorui (genauer ui) zu speichern. Man speichert ui in Spalte i der Matrix Aunterhalb der Hauptdiagonalen. Ein Zusatzvektor ist erforderlich fur dieersten Komponenten der Vektoren ui.

4.3 Householder-Transformationen TU Bergakademie Freiberg, WS 2011/12

Page 24: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 173

In Beispiel 3:

u1 =

A(1, 1) + sign(A(1, 1))‖A(:, 1)‖2

A(2, 1)

A(3, 1)

=

1 +√

3

1

1

⇒ P1 = I3 − 2

uT1 u1

u1uT1 (wird nicht berechnet). Es folgt

A1(:, 1) =

−sign(A(1, 1))‖A(:, 1)‖2

0

0

=

−√

3

0

0

,

A2(:, 2) = A(:, 2)− 2uT1 A(:, 2)

uT1 u1u1 = A(:, 2)− 3−

√3

2u1 =

−√

3

.5(√

3− 1)

.5(√

3 + 1)

.

4.3 Householder-Transformationen TU Bergakademie Freiberg, WS 2011/12

Page 25: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 174

u2 =

[A1(2, 2) + sign(A1(2, 2))‖A1(2 : 3, 3)‖2

A1(3, 2)

]=

[.5(√

3− 1) +√

2

.5(√

3 + 1)

]

⇒ P ′2 = I2 − 2uT2 u2

u2uT2 (wird nicht berechnet). Es folgt

A2(2 : 3, 2) =

[−sign(A1(2 : 3, 2))‖A1(2 : 3, 2)‖2

0

]=

[−√

2

0

].

Insgesamt

[R

O

]=

−√

3 −√

3

0 −√

2

0 0

, Q =

[1 0

0 P ′2

]TPT1 (nicht explizit bekannt).

4.3 Householder-Transformationen TU Bergakademie Freiberg, WS 2011/12

Page 26: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 175

Benotigt wird auch QTb = PnPn−1 · · ·P1b.

for i = 1:n

tau = -2*u_i^T*b(i:m)

b(i:m) = b(i:m) + tau*u_i

end

In Beispiel 3:

b =

0

2

1

, u1 =

1 +√

3

1

1

, u1 =1

‖u1‖2u1 =

1√6 + 2

√3

1 +√

3

1

1

.Es folgt

τ1 =−6√

6 + 2√

3, b1 = b−τ1u1 =

0

2

1

−3−√

3

2

1 +√

3

1

1

=

−√

3

.5(√

3 + 1)

.5(√

3− 1)

.4.3 Householder-Transformationen TU Bergakademie Freiberg, WS 2011/12

Page 27: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 176

b1(2 : 3) =

[.5(√

3 + 1)

.5(√

3− 1)

], u2 =

[.5(√

3− 1) +√

2

.5(√

3 + 1)

],

u2 =1

‖u2‖2u2 =

1√4 +√

2(√

3− 1)

[.5(√

3− 1) +√

2

.5(√

3 + 1)

].

Es folgt

τ2 =−2−

√2−√

6√4 +√

2(√

3− 1), b2 = b1(2 : 3)− τ2u2 =

[−.5√

2

−.5√

6

]

und insgesamt

c = QTb = P2P1b = [−√

3,−.5√

2,−.5√

6]T .

4.3 Householder-Transformationen TU Bergakademie Freiberg, WS 2011/12

Page 28: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 177

4.4 Givens-Rotationen

Eine Givens-Rotation

G(θ) =

[cos θ − sin θ

sin θ cos θ

](θ ∈ [0, 2π))

dreht einen Vektor x ∈ R2 um den Winkel θ (im Gegenuhrzeigersinn).

Eine Givens-Rotation in der (i, j)-Ebene des Rn hat (fur i < j) die Form

G(i, j, θ) =

Ii−1 0 O 0 O

0 cos θ 0 − sin θ 0

O 0 Ij−i−1 0 O

0 sin θ 0 cos θ 0

O 0 O 0 In−j

∈ Rn×n.

4.4 Givens-Rotationen TU Bergakademie Freiberg, WS 2011/12

Page 29: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 178

Beachte, dass beim Ubergang x → y = G(i, j, θ)x nur die Komponenten iund j verandert werden. Es gilt: yk = xk ∀k 6∈ {i, j},[

yi

yj

]= G(θ)

[xi

xj

]=

[cos θ − sin θ

sin θ cos θ

][xi

xj

].

Die Matrix G(i, j, θ) ist orthogonal (G(i, j, θ)−1 = G(i, j,−θ) = G(i, j, θ)T ).

Gegeben: i, j, xi, xj ([xi, xj ] 6= [0, 0]).Gesucht: θ mit

[cos θ − sin θsin θ cos θ

][ xixj ] = [ ∗0 ].

Losung:

cos θ =xi√

x2i + x2

j

, sin θ =−xj√x2i + x2

j

mit

[cos θ − sin θ

sin θ cos θ

][xi

xj

]=

√x2i + x2

j

0

.4.4 Givens-Rotationen TU Bergakademie Freiberg, WS 2011/12

Page 30: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 179

Die Konstruktion einer QR-Zerlegung von A durch Givens-Rotationen istjetzt offensichtlich.Die Reihenfolge, in der Elemente von A ‘wegrotiert’ werden:

∗ ∗ ∗3 ∗ ∗2 5 ∗1 4 6

.Aufwand: I.a. doppelt so hoch wie bei Householder-Transformationen(eine QR-Zerlegung durch Householder-Transformationen erfordert 2n2m−n3/3 Gleitpunktoperationen). Besitzt A aber bereits viele Nulleintrage un-terhalb der Hauptdiagonalen, dann ist eine QR-Zerlegung mit Hilfe vonGivens-Rotationen kostengunstiger.

4.4 Givens-Rotationen TU Bergakademie Freiberg, WS 2011/12

Page 31: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 180

4.5 Die Singularwertzerlegung

Satz 4.3 Sei A ∈ Rm×n eine Matrix vom Rang r. Dann gibt es orthogonaleMatrizen U ∈ Rm×m und V ∈ Rn×n sowie eine “Diagonalmatrix” Σ =[

Σr OO O

]∈ Rm×n mit Σr = diag(σ1, σ2, . . . , σr) ∈ Rr×r und σ1 ≥ σ2 ≥ · · · ≥

σr > 0, so dass A die Zerlegung

A = UΣV T (SVD)

besitzt.

Die Darstellung (SVD) heißt Singularwertzerlegung von A. Die positi-ven Zahlen σi nennt man die Singularwerte von A. Schreibt man U =

[u1,u2, . . . ,um] und V = [v1, v2, . . . , vn], so heißen ui ∈ Rm bzw. vi ∈ Rnzugehorige linke bzw. rechte Singularvektoren.

4.5 Die Singularwertzerlegung TU Bergakademie Freiberg, WS 2011/12

Page 32: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 181

Bemerkungen.

1. A = UΣV T = [u1,u2, . . . ,ur]Σr[v1, v2, . . . , vr]T =

∑ri=1 σiuiv

Ti (Dar-

stellung von A als Summe von r Rang-1-Matrizen).

2. Es gelten:

Avi =

{σiui (i = 1, 2, . . . , r),

0 (i = r + 1, r + 2, . . . , n)und

ATui =

{σivi (i = 1, 2, . . . , r),

0 (i = r + 1, r + 2, . . . ,m).

3. {u1, . . . ,ur} ist eine ON-Basis von R(A). {ur+1, . . . ,um} ist eineON-Basis von N (AT ) = R(A)⊥. {v1, . . . , vr} ist eine ON-Basis vonR(AT ) = N (A)⊥. {vr+1, . . . , vn} ist eine ON-Basis von N (A).

4.5 Die Singularwertzerlegung TU Bergakademie Freiberg, WS 2011/12

Page 33: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 182

4. ATA = V ΣTΣV T = V[

Σ2r OO O

]V T , AAT = UΣΣTUT = U

[Σ2

r OO O

]UT .

σ21 , . . . , σ

2r sind die von Null verschiedenen Eigenwerte von ATA bzw.

AAT . Insbesondere sind die Singularwerte σ1, . . . , σr durchA eindeutigfestgelegt. Die rechten Singularvektoren v1, . . . , vn bilden eine ON-Basis des Rn aus Eigenvektoren von ATA:

ATAvi =

{σ2i vi (i = 1, 2, . . . , r),

0 (i = r + 1, r + 2, . . . , n).

Die linken Singularvektoren u1, . . . ,um bilden eine ON-Basis des Rmaus Eigenvektoren von AAT :

AATui =

{σ2i ui (i = 1, 2, . . . , r),

0 (i = r + 1, r + 2, . . . ,m).

4.5 Die Singularwertzerlegung TU Bergakademie Freiberg, WS 2011/12

Page 34: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 183

5. Ist A ∈ Rn×n symmetrisch mit von Null verschiedenen Eigenwertenλ1, . . . , λr, |λ1| ≥ · · · ≥ |λr| > 0, dann sind σi = |λi| die Singularwertevon A.

6. Das Bild der (n-dimensionalen ) Einheitskugel unter A ist ein Ellipsoid(im Rm) mit Mittelpunkt 0 und Halbachsen σiui (σi := 0 fur i > r).

7. Fur A ∈ Rm×n gilt ‖A‖2 = σ1. Ist A ∈ Rn×n invertierbar, gilt außerdem‖A−1‖2 = σ−1

n und cond2(A) = σ1/σn.

8. Besitzt A ∈ Rn×n die SVD A = UΣV T , dann besitzt H =[O AT

A O

]∈

R(m+n)×(m+n) die von Null verschiedenen Eigenwerte ±σi mit zu-gehorigen (normierten) Eigenvektoren 1√

2[vTi ,±uTi ]T .

9. Analoge Aussagen gelten fur komplexe Matrizen A = UΣV H (U, Vunitar). (Ersetze in 5. ‘symmetrisch’ durch ‘normal’!)

4.5 Die Singularwertzerlegung TU Bergakademie Freiberg, WS 2011/12

Page 35: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 184

Die geometrische Interpretation der SVD. Besitzt A ∈ Rm×n die SVD

A = U

[Σr O

O O

]V T

mit Σr = diag(σ1, σ2, . . . , σr), U = [u1,u2, . . . ,um] und V = [v1, v2, . . . , vn],so kann man die Abbildungseigenschaften von A (und AT ) leicht beschrei-ben (vgl. Bemerkung 2). Z.B.:

1 0

1 1

1 2

=

0.22 −0.89 0.41

0.52 −0.25 −0.82

0.82 0.39 0.41

2.68 0

0 0.92

0 0

[

0.58 −0.81

0.81 0.58

]T

(Werte auf 2 Dezimalstellen gerundet).

4.5 Die Singularwertzerlegung TU Bergakademie Freiberg, WS 2011/12

Page 36: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 185

−1

0

1

−1

0

1−1

0

1

u3

x1

u1

u2

x2

x 3

−1 0 1−1

0

1

v1

v2

x1

x 2

Av1 = 2.68u1, ATu1 = 2.68v1,

Av2 = 0.92u2, ATu2 = 0.92v2,

ATu3 = 0 .

4.5 Die Singularwertzerlegung TU Bergakademie Freiberg, WS 2011/12

Page 37: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 186

Satz 4.4 Es sei A ∈ Rm×n eine Matrix vom Rang r mit SVD A = UΣV T =

U[

Σr OO O

]V T . Dann lost

x ∗ = V

[Σ−1r O

O O

]UTb

das Kleinste-Quadrate-Problem (LS). Daruberhinaus ist x ∗ die eindeutigebestimmte Losung von (LS) mit minimaler Euklid-Norm.

Satz 4.5 Es sei A ∈ Rm×n eine Matrix vom Rang r mit SVD A = UΣV T .Die Approximationsaufgabe

min{‖A−Ak‖2 : Ak ∈ Rm×n und rank(Ak) ≤ k}

besitzt fur k ≤ r die Losung

Ak =k∑i=1

σiuivTi mit ‖A−Ak‖2 = σk+1.

4.5 Die Singularwertzerlegung TU Bergakademie Freiberg, WS 2011/12

Page 38: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 187

Anwendung der SVD in der Datenkompression:

Die folgende Graphik zeigt (links oben) das magische Quadrat aus Al-brecht Durers Melancholie I (1514). Die Bildinformation ist in einer Pixel-matrix X der Dimension 359 × 371 gespeichert, deren Eintrage, ganzeZahlen zwischen 1 und 64, verschiedene Graustufen reprasentieren. Wirapproximieren X durch Matrizen niedrigen Rangs k (vgl. Satz 5):

load detail.mat;

[U,S,V]=svd(X);

X_k=U(:,1:k)*S(1:k,1:k)*V(:,1:k)’;

image(X_k), colormap(’gray’), axis(’image’), axis(’off’)

Zur Speicherung von Xk sind k(m+ n) = 730k Zahlen (statt mn = 133189

fur X) erforderlich.

4.5 Die Singularwertzerlegung TU Bergakademie Freiberg, WS 2011/12

Page 39: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 188

Original k=10

k=40k=20

4.5 Die Singularwertzerlegung TU Bergakademie Freiberg, WS 2011/12

Page 40: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 189

k Relativer Fehler σk+1/σ1 Kompressionsrate

10 0.0666 0.055

20 0.0528 0.110

40 0.0382 0.219

4.5 Die Singularwertzerlegung TU Bergakademie Freiberg, WS 2011/12

Page 41: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 190

4.6 Stabilitat bei Kleinsten-Quadrate-Problemen

Satz 4.6 Die Matrix A ∈ Rm×n, m ≥ n, besitze vollen Rang n.x ∗ und x ∗ seien die Lˆsungen der Kleinsten-Quadrate-Probleme

‖b −Ax‖2 → minx∈Rn

bzw. ‖b − Ax‖2 → minx∈Rn

.

Es sei

ε := max

{‖A− A‖2‖A‖2

,‖b − b‖2‖b‖2

}≤ 1

cond2(A)

(diese Voraussetzung garantiert die Eindeutigkeit von x ∗). Dann gilt

‖x ∗ − x ∗‖2‖x ∗‖2

≤ ε κLS +O(ε2)

mit κLS :=2cond2(A)

cos(θ)+ tan(θ)cond2(A)2.

Der Winkel θ ∈ [0, π/2] ist durch sin(θ) = ‖b −Ax ∗‖2/‖b‖2 definiert.

4.6 Stabilitat bei Kleinsten-Quadrate-Problemen TU Bergakademie Freiberg, WS 2011/12

Page 42: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 191

Interpretation: Ist θ = 0 (oder sehr klein), d.h. der Kleinste-Quadrate-Fehler ‖b −Ax ∗‖2 ist sehr klein (im Verhaltnis zu ‖b‖2), dann ist — wegencos(θ) ≈ 1 und tan(θ) ≈ 0 — κLS ≈ 2cond2(A).

Ist θ weder sehr klein noch nahe bei π/2 (z.B. θ = π/4), dann ist dieKonditionszahl κLS sehr viel großer: Sie verhalt sich ungefahr wie cond2(A)2

(κLS = 2cond2(A) + cond2(A)2 fur θ = π/4).

Ist schließlich θ ≈ π/2, d.h. x ∗ ≈ 0 , so ist κLS praktisch unbeschrankt(tan(θ) → ∞ fur θ → π/2). Im Grenzfall θ = π/2 ist x ∗ = 0 und (fast) jedebeliebig kleine Storung von A bzw. b fuhrt auf x ∗ 6= 0 und damit zu einem‘unendlichen’ relativen Fehler.

4.6 Stabilitat bei Kleinsten-Quadrate-Problemen TU Bergakademie Freiberg, WS 2011/12

Page 43: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 192

Ziele von Kapitel 4.

• Sie sollten die Problemstellung der Ausgleichsrechunung darstellenkonnen und eine typische Anwendung angeben. Sie sollten wissen,wann die Losung eines Ausgleichsproblems eindeutig ist.

• Sie sollten die Aquivalenz der Normalgleichungen mit dem Ausgleichs-problem beweisen konnen und wann die Losung eines Ausgleichspro-blems mittels Normalgleichungen numerisch unproblematisch ist.

• Sie sollten wissen, was eine QR-Zerlegung ist, wie diese konstruiertwerden kann und wie eine QR-Zerlegung zur Losung von Ausgleichs-problemen eingesetzt werden kann.

• Sie sollten die wichtigsten Eigenschaften der Singularwertzerlegungkennen und deren Verwendung zur Losung von Ausgleichsproblemensowie in der Datenkompression beschreiben konnen.

4.6 Stabilitat bei Kleinsten-Quadrate-Problemen TU Bergakademie Freiberg, WS 2011/12

Page 44: 4 Lineare Ausgleichsrechnung - TU Bergakademie Freibergernst/Lehre/Numerik_I/Folien/num1Kapitel4.pdf · Numerik I 150 4 Lineare Ausgleichsrechnung Die folgende Tabelle zeigt die Bevolkerungsentwicklung

Numerik I 193

• Sie sollten wissen, wann die Losung eines Ausgleichsproblems gutbzw. schlecht konditioniert ist.

4.6 Stabilitat bei Kleinsten-Quadrate-Problemen TU Bergakademie Freiberg, WS 2011/12