De kleinste kwadratenmethode
Laat A een m × n matrix zijn en b een vector in Rm. Veronderstel dat de matrixvergelijking A x = b geen oplossingen heeft omdat
b /∈ Col(A). Wat is dan de ‘best passende oplossing’ van deze matrixvergelijking?
Bepaal de vector ˆb in Col(A) met de kleinste afstand tot b.
Figuur:||Aˆx − b|| ≤ ||Ax − b|| voor alle x ∈ Rn dist(Aˆx, b) ≤ dist(Ax, b) voor alle x ∈ Rn
Los vervolgens de matrixvergelijking A x = ˆb op.
Figuur:De kleinste kwadratenoplossing ˆx in Rn
De vector in Col(A) met de kleinste afstand tot b is de loodrechte projectie van b op Col(A).
Hoe vinden we ˆb = projCol(A)b = Aˆx?
Daartoe moeten we ons realiseren dat de vector
Dus:
aj r(b − ˆb) = 0 (j = 1, 2, . . . , n) ⇔ aTj (b − ˆb) = 0 (j = 1, 2, . . . , n) ⇔
AT(b − ˆb) = 0 ⇔
AT(b − Aˆx) = 0 ⇔
ATb − ATAˆx = 0 ⇔
ATAˆx = ATb
De matrix ATA en de vector ATb kunnen met A en b eenvoudig worden bepaald.
Definitie
De vergelijkingen ATAx = ATb heten de normaalvergelijkingen bij Ax = b.
De niet-lege oplossingsverzameling van de normaalvergelijkingen heten de kleinste kwadraten oplossingen van Ax = b.
Voorbeeld
Wat zijn de ‘kleinste kwadratenoplossingen’ van Ax = b als
A =
1 1
−1 3
1 −2
en b =
1
−2 1
.
ATA =
"
3 0
0 14
#
en ATb =
"
4
−7
# .
Hieruit volgt dat ˆx =
"
4 3
−12
# .
Opgaven
Voorbeeld ( §6.5, opgave 1)
Wat zijn de ‘kleinste kwadratenoplossingen’ van Ax = b als
A =
−1 2
2 −3
−1 3
en b =
4 1 2
.
ATA =
"
6 −11
−11 22
#
en ATb =
"
−4 11
# .
Hieruit volgt dat ˆx =
"
3 2
# .
Voorbeeld
Zie ook §6.6, opgave 12
De relatie tussen de systolische bloeddruk p ( milimeter-kwikdruk [mmHg]) en gewicht w (in ponden) van een kind worden bij benadering gegeven door de vergelijking p = β0 + β1 ln(w ).
Gegeven is de volgende tabel met meetresultaten:
w 44 61 81 113 131
p 91 98 103 110 112
Gevraagd wordt een schatting te bepalen van de systolische bloeddruk van een kind met een gewicht van 100 pond.
1 clear;
2 close all;
3 clc;
4 %
5 % Methode 1
6 % Toepassing van de kleinste kwadratenmethode zoals ...
dat met de
7 % hand zou gebeuren.
8 %
9 % We zoeken de kromme die het best past bij de punten
10 % (44,91),(61,98),(81,103, (113,110) en (131,112).
11 % Er wordt verondersteld dat deze kromme als ...
vergelijking p = b(1)+b(2)*ln(w) heeft.
12 %
13 % Berekening beta(1) en beta(2)
14 %
15
16 w p = [44,61,81,113,131];
17 p p = [91,98,103,110,112];
18 n = length(w p);
19 A = [ones(1,n);log(w p)]';
20 ATA = A'*A;
21 b = A'*p p ';
22 beta = ATA\b;
23
24 %
25 % Voor het berekenen van de fout bepalen we ye = A*b.
26 %
27
28 p e = A*beta;
29
30 %
31 % Berekening van de fout
32 %
33
35
36 %
37 % We tekenen in een plaatje de punten en de gevonden ...
kromme.
38 %
39
40 alpha = 40;
41 gamma = 135;
42 n = 1001;
43 w = linspace(alpha,gamma,n);
44 p = beta(1)+beta(2)*log(w);
45 plot(w p ,p p ,'*r',w,p,'b');
46
47 title('Een voorbeeld van de kleinste kwadratenmethode');
48 text(80,100,['p = ',num2str(beta(1)),' + ...
',num2str(beta(2)),' * ln(w)']);
49
50 text(80,90,['De berekende fout is = ',num2str(err)]);
51
52 pk = beta(1)+ beta(2)*log(100);
Opgaven
§6.6, opgave 3
Wat is de vergelijking van de vorm y = β0+ β1x die het ‘best past’ in de zin van de kleinste kwadratenmethode bij de punten:
(−1, 0), (0, 1), (1, 2), (2, 4).
x =
"
β0
β1
#
zou de oplossing moeten zijn van het stelsel vergelijkingen:
β0+ β1· −1 = 0 β0+ β1· 0 = 1 β0+ β1· 1 = 2 β0+ β1· 2 = 4
of de matrixvergelijking Ax = b met A =
1 −1
1 0
1 1
1 2
en b =
0 1 2 4
.
§6.6, opgave 7
Wat is de vergelijking van de vorm y = β1x + β2x2die het ‘best past’, in de zin van de kleinste kwadratenmethode, bij de punten:
(1, 1.8), (2, 2.7), (3, 3.4), (4, 3.8), (5, 3.9).
x =
"
β1
β2
#
zou de oplossing moeten zijn van het stelsel vergelijkingen:
β1· 1 + β2· 1 = 1.8 β1· 2 + β2· 4 = 2.7 β1· 3 + β2· 9 = 3.4 β1· 4 + β2· 16 = 3.8 β1· 5 + β2· 25 = 3.9
Vraag
Is de kleinste kwadratenmethode oplossing altijd ´e´enduidig?
Het antwoord hierop wordt gegeven door de volgende stelling.
Stelling
Laat A een m × n matrix zijn. Dan zijn de volgende beweringen gelijkwaardig:
De matrixvergelijking Ax = b heeft een ´e´enduidig bepaalde
‘kleinste kwadratenoplossing’ voor alle b ∈ Rm.
De kolommen van A zijn lineair onafhankelijke vectoren.
De matrix ATA is inverteerbaar.
De kleinste kwadratenoplossing is de enige oplossing van de normaalvergelijkingen.
§6.5, opgave 5
Wat zijn de ‘kleinste kwadratenoplossingen’ van Ax = b als
A =
1 1 0 1 1 0 1 0 1 1 0 1
en b =
1 3 8 2
.
ATA =
4 2 2
2 2 0
2 0 2
en ATb =
14
4 10
.
Hieruit volgt dat ˆx =
5
−3 0
+ t
−1 1 1
(t ∈ R).
Bewijs.
Ax = b heeft precies ´e´en kleinste kwadratenoplossing ⇔ de normaalvergelijkingen ATAx = ATb hebben precies ´e´en oplossing ⇔
ATA is inverteerbaar ⇔
dim(Col(ATA)) = n ⇔
dim(Nul(ATA)) = 0 (omdat dim Col(ATA) + dim Nul(ATA) = n) ⇔
dim(Nul(A)) = 0 (omdat Nul(A) = Nul(ATA)) ⇔
dim(Col(A)) = n ⇔
de kolommen van A vormen een basis voor Col(A) Zie ook: §6.5, opgaven 19-21.
Stelling
Als A een m × n matrix is met lineair onafhankelijke kolommen, b ∈ Rn en A = QR waarbij Q een m × n matrix is met orthonormale kolommen en R een n × n bovendriehoeksmatrix met positieve getallen op de hoofddiagonaal dan zijn Rˆx = QTb de normaalvergelijkingen.
Bewijs.
ATA = (QR)T(QR) = RTQTQR = RTInR = RTR en ATb = (QR)Tb = RTQTb dus
ATAˆb = ATb ⇔ RTRˆx = RTQTb ⇔ Rˆx = QTb