Metoda najmanjih kvadrata.QR–faktorizacija
1 / 17
Upute:http://titan.fsb.hr/ mvrdolja/matlab/matlab.htmhttp://www.fer.unizg.hr/predmet/matlab
2 / 17
Metoda najmanjih kvadrata
Y - zavisna varijablaX1,X2, . . . ,Xk - nezavisne varijable
Model:
Y = a0 + a1X1 + a2X2 + . . . akXk
= a0 +k∑
j=1
ajXj
Parametre modela a0,a1, . . . ,ak odredujemo iz podataka.n podataka:Yi , i = 1, . . . ,nXij , i = 1, . . . ,n, j = 1, . . . , k
3 / 17
Metoda najmanjih kvadrata
Y - zavisna varijablaX1,X2, . . . ,Xk - nezavisne varijable
Model:
Y = a0 + a1X1 + a2X2 + . . . akXk
= a0 +k∑
j=1
ajXj
Parametre modela a0,a1, . . . ,ak odredujemo iz podataka.n podataka:Yi , i = 1, . . . ,nXij , i = 1, . . . ,n, j = 1, . . . , k
3 / 17
Metoda najmanjih kvadrata
Y - zavisna varijablaX1,X2, . . . ,Xk - nezavisne varijable
Model:
Y = a0 + a1X1 + a2X2 + . . . akXk
= a0 +k∑
j=1
ajXj
Parametre modela a0,a1, . . . ,ak odredujemo iz podataka.n podataka:Yi , i = 1, . . . ,nXij , i = 1, . . . ,n, j = 1, . . . , k
3 / 17
Φ(a0,a1, . . . ,ak ) =n∑
i=1
a0 +k∑
j=1
ajXij − Yi
2
Metoda najmanjih kvadrata:
Φ(a0,a1, . . . ,ak )→ min
4 / 17
Matricni zapis
Φ(a0,a1, . . . ,ak ) =n∑
i=1
a0 +k∑
j=1
ajXij − Yi
2
X = [1 X1X2 . . .Xk ]
X =
1 X11 X12 . . . X1k1 X21 X22 . . . X2k...
......
...1 Xn1 Xn2 . . . Xnk
a = [a0a1 . . . ak ]T i y = [Y1Y2 . . .Yn]T
Φ(a0,a1, . . . ,ak ) = Φ(a) =‖ Xa− y ‖22
5 / 17
Matricni zapis
Φ(a0,a1, . . . ,ak ) =n∑
i=1
a0 +k∑
j=1
ajXij − Yi
2
X = [1 X1X2 . . .Xk ]
X =
1 X11 X12 . . . X1k1 X21 X22 . . . X2k...
......
...1 Xn1 Xn2 . . . Xnk
a = [a0a1 . . . ak ]T i y = [Y1Y2 . . .Yn]T
Φ(a0,a1, . . . ,ak ) = Φ(a) =‖ Xa− y ‖22
5 / 17
Matricni zapis
Φ(a0,a1, . . . ,ak ) =n∑
i=1
a0 +k∑
j=1
ajXij − Yi
2
X = [1 X1X2 . . .Xk ]
X =
1 X11 X12 . . . X1k1 X21 X22 . . . X2k...
......
...1 Xn1 Xn2 . . . Xnk
a = [a0a1 . . . ak ]T i y = [Y1Y2 . . .Yn]T
Φ(a0,a1, . . . ,ak ) = Φ(a) =‖ Xa− y ‖22
5 / 17
Matricni zapis
Φ(a0,a1, . . . ,ak ) =n∑
i=1
a0 +k∑
j=1
ajXij − Yi
2
X = [1 X1X2 . . .Xk ]
X =
1 X11 X12 . . . X1k1 X21 X22 . . . X2k...
......
...1 Xn1 Xn2 . . . Xnk
a = [a0a1 . . . ak ]T i y = [Y1Y2 . . .Yn]T
Φ(a0,a1, . . . ,ak ) = Φ(a) =‖ Xa− y ‖225 / 17
Problem najmanjih kvadrata:
Φ(a) =‖ Xa− y ‖22→ min
Ekvivalentno:‖ Xa− y ‖2→ min
Generalno:‖ Ax− b ‖2→ min
6 / 17
Problem najmanjih kvadrata:
Φ(a) =‖ Xa− y ‖22→ min
Ekvivalentno:‖ Xa− y ‖2→ min
Generalno:‖ Ax− b ‖2→ min
6 / 17
Problem najmanjih kvadrata:
Φ(a) =‖ Xa− y ‖22→ min
Ekvivalentno:‖ Xa− y ‖2→ min
Generalno:‖ Ax− b ‖2→ min
6 / 17
Rješavanje problema najmanjih kvadrata.Sustav normalnih jednadžbi.
Traženje minimuma funkcije Φ:
Φ(a) =→ min
∂Φ
∂aj(a) = 0, j = 0, . . . , k .
7 / 17
Rješavanje problema najmanjih kvadrata.Sustav normalnih jednadžbi.
Traženje minimuma funkcije Φ:
Φ(a) =→ min
∂Φ
∂aj(a) = 0, j = 0, . . . , k .
7 / 17
Radi jednostavnosti definiramo: X0 = 1(Xi0 = 1).
Φ(a0,a1, . . . ,ak ) =n∑
i=1
k∑j=0
ajXij − Yi
2
∂Φ
∂al(a) = 2
n∑i=1
k∑j=0
ajXij − Yi
Xil = 2n∑
i=1
k∑j=0
ajXijXil − YiXil
= 2
n∑i=1
k∑j=0
ajXijXil −n∑
i=1
YiXil
= 2
k∑j=0
(n∑
i=1
XijXil
)aj −
n∑i=1
YiXil
l = 0, . . . , k .
8 / 17
Radi jednostavnosti definiramo: X0 = 1(Xi0 = 1).
Φ(a0,a1, . . . ,ak ) =n∑
i=1
k∑j=0
ajXij − Yi
2
∂Φ
∂al(a) = 2
n∑i=1
k∑j=0
ajXij − Yi
Xil = 2n∑
i=1
k∑j=0
ajXijXil − YiXil
= 2
n∑i=1
k∑j=0
ajXijXil −n∑
i=1
YiXil
= 2
k∑j=0
(n∑
i=1
XijXil
)aj −
n∑i=1
YiXil
l = 0, . . . , k .
8 / 17
Normalni sustav jednadžbi:
k∑j=0
(n∑
i=1
XijXil
)aj =
n∑i=1
YiXil , l = 0, . . . , k .
Složenost (k � n): 2 · k · n
9 / 17
Normalni sustav jednadžbi:
k∑j=0
(n∑
i=1
XijXil
)aj =
n∑i=1
YiXil , l = 0, . . . , k .
Složenost (k � n):
2 · k · n
9 / 17
Normalni sustav jednadžbi:
k∑j=0
(n∑
i=1
XijXil
)aj =
n∑i=1
YiXil , l = 0, . . . , k .
Složenost (k � n): 2 · k · n
9 / 17
QR metoda
Unitarna matrica - matrica koja cuva normu: ‖ Ux ‖2=‖ x ‖2
Rješavanje sustava jednadžbi QR metodom
Sustav. Ax = b
Rastav: A = QRQ - unitarna (ortogonalna) matricaR - gornjetrokutasta matrica
Ax = b ⇔ QRx = b
Metoda:1 A = QR2 Riješimo Qy = b (y = QT b)3 Riješimo gornjetrokutasti sustav Rx = y
10 / 17
QR metoda
Unitarna matrica - matrica koja cuva normu: ‖ Ux ‖2=‖ x ‖2
Rješavanje sustava jednadžbi QR metodom
Sustav. Ax = b
Rastav: A = QRQ - unitarna (ortogonalna) matricaR - gornjetrokutasta matrica
Ax = b ⇔ QRx = b
Metoda:1 A = QR2 Riješimo Qy = b (y = QT b)3 Riješimo gornjetrokutasti sustav Rx = y
10 / 17
QR metoda
Unitarna matrica - matrica koja cuva normu: ‖ Ux ‖2=‖ x ‖2
Rješavanje sustava jednadžbi QR metodom
Sustav. Ax = b
Rastav: A = QRQ - unitarna (ortogonalna) matricaR - gornjetrokutasta matrica
Ax = b ⇔ QRx = b
Metoda:1 A = QR2 Riješimo Qy = b (y = QT b)3 Riješimo gornjetrokutasti sustav Rx = y
10 / 17
QR metoda
Unitarna matrica - matrica koja cuva normu: ‖ Ux ‖2=‖ x ‖2
Rješavanje sustava jednadžbi QR metodom
Sustav. Ax = b
Rastav: A = QRQ - unitarna (ortogonalna) matricaR - gornjetrokutasta matrica
Ax = b ⇔ QRx = b
Metoda:1 A = QR2 Riješimo Qy = b (y = QT b)3 Riješimo gornjetrokutasti sustav Rx = y
10 / 17
QR metoda za problem najmanjih kvadrata
‖ Ax− b ‖2→ min
A = QR ⇒
‖ Ax− b ‖2=‖ QRx− b ‖2=‖ Q(Rx−QT b) ‖2=‖ Rx−QT b ‖2
A je n × k matrica (n� k ).
R =
[R10
]gdje je R1 k × k matrica
11 / 17
QR metoda za problem najmanjih kvadrata
‖ Ax− b ‖2→ min
A = QR ⇒
‖ Ax− b ‖2=‖ QRx− b ‖2=‖ Q(Rx−QT b) ‖2=‖ Rx−QT b ‖2
A je n × k matrica (n� k ).
R =
[R10
]gdje je R1 k × k matrica
11 / 17
QR metoda za problem najmanjih kvadrata
‖ Ax− b ‖2→ min
A = QR ⇒
‖ Ax− b ‖2=‖ QRx− b ‖2=‖ Q(Rx−QT b) ‖2=‖ Rx−QT b ‖2
A je n × k matrica (n� k ).
R =
[R10
]gdje je R1 k × k matrica
11 / 17
QT b =
[y1y2
]gdje je y1 ∈ Rk .
Sada je:
‖ Ax− b ‖22 = ‖[
R10
]x−
[y1y2
]‖22
= ‖[
R1x0
]−[
y1y2
]‖22
= ‖[
R1x− y1−y2
]‖22
= ‖ R1x− y1 ‖22 + ‖ y2 ‖22
12 / 17
QT b =
[y1y2
]gdje je y1 ∈ Rk .Sada je:
‖ Ax− b ‖22 = ‖[
R10
]x−
[y1y2
]‖22
= ‖[
R1x0
]−[
y1y2
]‖22
= ‖[
R1x− y1−y2
]‖22
= ‖ R1x− y1 ‖22 + ‖ y2 ‖22
12 / 17
‖ Ax− b ‖2→ min ⇔ ‖ R1x− y1 ‖22 + ‖ y2 ‖22→ min⇔ ‖ R1x− y1 ‖2= 0⇔ R1x = y1
13 / 17
QR metoda za problem najmanjih kvadrata. Algoritam
Problem: ‖ Ax− b ‖2→ min
Metoda:1 A = QR2 R1 - prvih k redaka matrice R3 y1 - prvih k elemenata vektora QT b4 Riješimo gornjetrokutasti sustav R1x = y1
14 / 17
Zadatak 1
Riješite sustav jednadžbi Hx = b. H je Hilbertova matrica reda n(hij = 1/(i + j − 1)). Vektor b odredite tako da zadate rješenje x.Usporedite više metoda za rješavanje linearnog sustava jednadžbi(LU, QR, pivotiranje, . . . ).
Pomoc.SkriptePath: ’File / Set path’Generiranje matrice: hilb(n)linsolve(A,b)lu(A)qr(A)svd(A)
15 / 17
Zadatak 1
Riješite sustav jednadžbi Hx = b. H je Hilbertova matrica reda n(hij = 1/(i + j − 1)). Vektor b odredite tako da zadate rješenje x.Usporedite više metoda za rješavanje linearnog sustava jednadžbi(LU, QR, pivotiranje, . . . ).Pomoc.
Skripte
Path: ’File / Set path’Generiranje matrice: hilb(n)linsolve(A,b)lu(A)qr(A)svd(A)
15 / 17
Zadatak 1
Riješite sustav jednadžbi Hx = b. H je Hilbertova matrica reda n(hij = 1/(i + j − 1)). Vektor b odredite tako da zadate rješenje x.Usporedite više metoda za rješavanje linearnog sustava jednadžbi(LU, QR, pivotiranje, . . . ).Pomoc.
SkriptePath: ’File / Set path’
Generiranje matrice: hilb(n)linsolve(A,b)lu(A)qr(A)svd(A)
15 / 17
Zadatak 1
Riješite sustav jednadžbi Hx = b. H je Hilbertova matrica reda n(hij = 1/(i + j − 1)). Vektor b odredite tako da zadate rješenje x.Usporedite više metoda za rješavanje linearnog sustava jednadžbi(LU, QR, pivotiranje, . . . ).Pomoc.
SkriptePath: ’File / Set path’Generiranje matrice: hilb(n)
linsolve(A,b)lu(A)qr(A)svd(A)
15 / 17
Zadatak 1
Riješite sustav jednadžbi Hx = b. H je Hilbertova matrica reda n(hij = 1/(i + j − 1)). Vektor b odredite tako da zadate rješenje x.Usporedite više metoda za rješavanje linearnog sustava jednadžbi(LU, QR, pivotiranje, . . . ).Pomoc.
SkriptePath: ’File / Set path’Generiranje matrice: hilb(n)linsolve(A,b)
lu(A)qr(A)svd(A)
15 / 17
Zadatak 1
Riješite sustav jednadžbi Hx = b. H je Hilbertova matrica reda n(hij = 1/(i + j − 1)). Vektor b odredite tako da zadate rješenje x.Usporedite više metoda za rješavanje linearnog sustava jednadžbi(LU, QR, pivotiranje, . . . ).Pomoc.
SkriptePath: ’File / Set path’Generiranje matrice: hilb(n)linsolve(A,b)lu(A)
qr(A)svd(A)
15 / 17
Zadatak 1
Riješite sustav jednadžbi Hx = b. H je Hilbertova matrica reda n(hij = 1/(i + j − 1)). Vektor b odredite tako da zadate rješenje x.Usporedite više metoda za rješavanje linearnog sustava jednadžbi(LU, QR, pivotiranje, . . . ).Pomoc.
SkriptePath: ’File / Set path’Generiranje matrice: hilb(n)linsolve(A,b)lu(A)qr(A)
svd(A)
15 / 17
Zadatak 1
Riješite sustav jednadžbi Hx = b. H je Hilbertova matrica reda n(hij = 1/(i + j − 1)). Vektor b odredite tako da zadate rješenje x.Usporedite više metoda za rješavanje linearnog sustava jednadžbi(LU, QR, pivotiranje, . . . ).Pomoc.
SkriptePath: ’File / Set path’Generiranje matrice: hilb(n)linsolve(A,b)lu(A)qr(A)svd(A)
15 / 17
Zadatak 2
Metodom najmanjih kvadrata odredite polinom k -tog stupnja kojiaproksimira eksponencijalnu funkciju na itervalu [0,10]. Koristite ntocaka. Zadatak riješite koristeci normalni sustav jednadžbi teQR-metodu.
Pomoc.FOR petlja:
for R = 1:NRADIend
i-ti stupac: A(:,i)
16 / 17
Zadatak 2
Metodom najmanjih kvadrata odredite polinom k -tog stupnja kojiaproksimira eksponencijalnu funkciju na itervalu [0,10]. Koristite ntocaka. Zadatak riješite koristeci normalni sustav jednadžbi teQR-metodu.Pomoc.
FOR petlja:for R = 1:NRADIend
i-ti stupac: A(:,i)
16 / 17
Zadatak 2
Metodom najmanjih kvadrata odredite polinom k -tog stupnja kojiaproksimira eksponencijalnu funkciju na itervalu [0,10]. Koristite ntocaka. Zadatak riješite koristeci normalni sustav jednadžbi teQR-metodu.Pomoc.
FOR petlja:for R = 1:NRADIend
i-ti stupac: A(:,i)
16 / 17
Zadatak 3
Nacrtajte podatke i polinom iz prošlog zadatka.
Pomoc.pc=polyfit(t,e,k-1)p=polyval(pc,t)plot(x,y)plot(x1, y1, x2, y2)
17 / 17
Zadatak 3
Nacrtajte podatke i polinom iz prošlog zadatka.
Pomoc.pc=polyfit(t,e,k-1)p=polyval(pc,t)
plot(x,y)plot(x1, y1, x2, y2)
17 / 17
Zadatak 3
Nacrtajte podatke i polinom iz prošlog zadatka.
Pomoc.pc=polyfit(t,e,k-1)p=polyval(pc,t)plot(x,y)plot(x1, y1, x2, y2)
17 / 17