Metodo dei minimi quadrati e matrice pseudoinversa - Supsi
Metodo dei minimi quadrati e matrice pseudoinversa - Supsi
Metodo dei minimi quadrati e matrice pseudoinversa - Supsi
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Scuola universitaria professionale<br />
della Svizzera italiana<br />
Dipartimento<br />
Tecnologie<br />
Innovative<br />
<strong>Metodo</strong> <strong>dei</strong> <strong>minimi</strong> <strong>quadrati</strong> e <strong>matrice</strong> <strong>pseudoinversa</strong><br />
Algebra Lineare<br />
Semestre Estivo 2006
<strong>Metodo</strong> <strong>dei</strong> <strong>minimi</strong> <strong>quadrati</strong> e <strong>matrice</strong> <strong>pseudoinversa</strong> SUPSI-DTI<br />
3.1 Il metodo <strong>dei</strong> <strong>minimi</strong> <strong>quadrati</strong><br />
3.1.1 Problema introduttivo<br />
Una ferrovia percorre una tratta che porta dal paese A al paese D passando per i<br />
paesi C e D.<br />
A <br />
x1 <br />
B <br />
x2 <br />
C <br />
x3 <br />
D<br />
Si vuole misurare con precisione la distanza tra le diverse stazioni. Due impiegati<br />
delle ferrovie eseguono le misurazioni necessarie e raccolgono i seguenti dati:<br />
AB = 35km, AC = 67km, AD = 89km, BD = 53km, CD = 20km.<br />
Otteniamo quindi il sistema<br />
⎧<br />
⎪⎨<br />
⎪⎩<br />
x1<br />
= 35<br />
= 67<br />
x1 + x2<br />
x1 + x2 + x3 = 89<br />
x2 + x3<br />
x3<br />
Risolvendo il sistema con Gauss troviamo:<br />
1 0 0 35<br />
1 1 0 67<br />
1 1 1 89<br />
0 1 1 53<br />
0 0 1 20<br />
→<br />
= 53<br />
= 20<br />
1 0 0 35<br />
0 1 0 32<br />
0 0 1 22<br />
0 0 0 1<br />
0 0 0 0<br />
Il sistema è impossibile! Evidentemente gli impiegati delle ferrovie hanno compiuto<br />
degli errori di misurazione. Come possiamo ricostruire le distanze x1,x2,x3 a partire<br />
dai dati raccolti nel miglior modo possibile?<br />
3.1.2 Sistemi di equazioni sovra-determinati: un problema frequente in<br />
pratica<br />
Il problema introduttivo è solo un esempio di un problema molto frequente in pratica.<br />
Se si vogliono determinare delle grandezze sconosciute tramite misurazioni è<br />
praticamente impossibile non commettere errori di misurazione. Per aumentare la<br />
sicurezza di solito si tende a raccogliere un numero di misurazioni delle grandezze<br />
da determinare (o di grandezze ad esse correlate) superiore al numero di incognite.<br />
Così facendo si ottengono <strong>dei</strong> sistemi A·x = b con un numero di equazioni superiore<br />
al numero di incognite (A ∈ R m×n con m > n), questi sistemi vengono detti sovradeterminati.<br />
Solitamente i sistemi sovra-determinati non possiedono una soluzione<br />
esatta.<br />
2 Algebra Lineare Semestre Estivo 2006
SUPSI-DTI <strong>Metodo</strong> <strong>dei</strong> <strong>minimi</strong> <strong>quadrati</strong> e <strong>matrice</strong> <strong>pseudoinversa</strong><br />
Come possiamo allora risolvere il nostro problema? Chiaramente non è possibile<br />
ricavare una soluzione esatta x e quindi dobbiamo accontentarci di calcolare un<br />
vettore x ∗ che somigli il più possibile a una soluzione del sistema. In particolare<br />
sappiamo che per qualsiasi x ∗ vale<br />
A · x ∗ = b,<br />
e quindi esiste un vettore r di residui tale che<br />
A · x ∗ = b + r.<br />
Il vettore x∗ migliore sarà quello per cui i residui sono più piccoli secondo un certo<br />
criterio. Il criterio più usato in pratica è quello di cercare il vettore x∗ tale che il<br />
vettore r <strong>dei</strong> residui abbia modulo minimo, ossia quando<br />
<br />
r = r2 1 + ... + r2 m,<br />
è minimo, o in maniera equivalente quando<br />
r 2 1 + ... + r 2 m,<br />
è minimo. Questo criterio viene detto criterio <strong>dei</strong> <strong>minimi</strong> <strong>quadrati</strong> e il metodo per<br />
trovare il vettore x ∗ metodo <strong>dei</strong> <strong>minimi</strong> <strong>quadrati</strong>.<br />
3.1.3 Il metodo <strong>dei</strong> <strong>minimi</strong> <strong>quadrati</strong><br />
Consideriamo il sistema<br />
A · x ∗ − b = r.<br />
Il sistema può essere scritto in componenti come<br />
⎧<br />
⎪⎨<br />
⎪⎩<br />
e, definendo i vettori aj =<br />
forma vettoriale come<br />
a11x ∗ 1 + a12x ∗ 2 + ... + a1nx ∗ n − b1 = r1<br />
a21x ∗ 1 + a22x ∗ 2 + ... + a2nx ∗ n − b2 = r2<br />
.<br />
am1x ∗ 1 + am2x ∗ 2 + ... + amnx ∗ n − bm = rm<br />
⎛<br />
⎜<br />
⎝<br />
a1j<br />
.<br />
amj<br />
⎞<br />
⎟<br />
⎠ per ogni j = 1,...,n, può essere scritto in<br />
x ∗ 1 · a1 + x ∗ 2 · a2 + ... + x ∗ n · an − b = r. (3.1)<br />
Il vettore di residui r è la differenza tra una combinazione lineare <strong>dei</strong> vettori a1,...,an<br />
e il vettore b. Per far sì che il vettore r abbia modulo minimo è necessario che r<br />
Semestre Estivo 2006 Algebra Lineare 3
<strong>Metodo</strong> <strong>dei</strong> <strong>minimi</strong> <strong>quadrati</strong> e <strong>matrice</strong> <strong>pseudoinversa</strong> SUPSI-DTI<br />
sia perpendicolare allo sottospazio di R m generato dai vettori a1,...,an. Quindi il<br />
vettore r deve soddisfare le seguenti condizioni:<br />
a1 · r = 0,<br />
a2 · r = 0,<br />
.<br />
an · r = 0,<br />
dove · indica un prodotto scalare tra vettori. Moltiplicando scalarmente entrambe le<br />
parti del sistema 3.1 per ogni vettore aj otteniamo un nuovo sistema di n equazioni<br />
e n incognite, sappiamo infatti che<br />
x ∗ 1 · aj · a1 + x ∗ 2 · aj · a2 + ... + x ∗ n · aj · an − aj · b = aj · r = 0,<br />
e quindi abbiamo il sistema<br />
⎧<br />
⎪⎨<br />
⎪⎩<br />
x ∗ 1 · a1 · a1 + x ∗ 2 · a1 · a2 + ... + x ∗ n · a1 · an = a1 · b<br />
x ∗ 1 · a2 · a1 + x ∗ 2 · a2 · a2 + ... + x ∗ n · a2 · an = a2 · b<br />
.<br />
x ∗ 1 · an · a1 + x ∗ 2 · an · a2 + ... + x ∗ n · an · an = an · b<br />
(3.2)<br />
Sfruttando il fatto che il prodotto scalare ai ·aj è esprimibile sotto forma di prodotto<br />
matriciale come ai T · aj possiamo scrivere il sistema 3.2 in forma matriciale come<br />
A T · A · x ∗ = A T · b. (3.3)<br />
Il sistema 3.3 è un sistema di n equazioni e n incognite che, nei problemi reali,<br />
solitamente, possiede un’unica soluzione esatta x ∗ che a sua volta è la ”soluzione”<br />
secondo il criterio <strong>dei</strong> <strong>minimi</strong> <strong>quadrati</strong> del sistema A · x = b. Si può dimostrare<br />
che il sistema 3.3 non possiede un’unica soluzione solo se le colonne della <strong>matrice</strong> A<br />
sono linearmente dipendenti, eseguendo molte misurazioni con errori di misurazione<br />
questa eventualità è in realtà praticamente impossibile.<br />
Esempio Possiamo ora calcolare la soluzione del problema introduttivo secondo<br />
il criterio <strong>dei</strong> <strong>minimi</strong> <strong>quadrati</strong>. Abbiamo<br />
⎛ ⎞<br />
1 0 0<br />
⎜ 1 1 0 ⎟<br />
A = ⎜ 1 1 1 ⎟<br />
⎝ 0 1 1 ⎠<br />
0 0 1<br />
A T ⎛ ⎞<br />
⎛ ⎞<br />
1 0 0<br />
1 1 1 0 0 ⎜ 1 1 0 ⎟<br />
· A = ⎝ 0 1 1 1 0 ⎠ · ⎜ 1 1 1 ⎟<br />
0 0 1 1 1 ⎝ 0 1 1 ⎠<br />
0 0 1<br />
=<br />
⎛ ⎞<br />
3 2 1<br />
⎝ 2 3 2 ⎠ ,<br />
1 2 3<br />
4 Algebra Lineare Semestre Estivo 2006
SUPSI-DTI <strong>Metodo</strong> <strong>dei</strong> <strong>minimi</strong> <strong>quadrati</strong> e <strong>matrice</strong> <strong>pseudoinversa</strong><br />
⎛<br />
A T · b = ⎝<br />
1 1 1 0 0<br />
0 1 1 1 0<br />
0 0 1 1 1<br />
otteniamo quindi il sistema<br />
⎛ ⎞ ⎛<br />
3 2 1<br />
⎝ 2 3 2 ⎠ · ⎝<br />
1 2 3<br />
⎛<br />
⎞<br />
⎜<br />
⎠ · ⎜<br />
⎝<br />
x ∗ 1<br />
x ∗ 2<br />
x ∗ 3<br />
⎞<br />
35<br />
67<br />
89<br />
53<br />
20<br />
⎛<br />
⎠ = ⎝<br />
e la soluzione x ∗ 1 = 35.125, x ∗ 2 = 32.5, x ∗ 3 = 20.625.<br />
3.2 La <strong>matrice</strong> <strong>pseudoinversa</strong><br />
⎞<br />
⎟<br />
⎠ =<br />
⎛<br />
⎝<br />
Se tutte le colonne della <strong>matrice</strong> A sono linearmente indipendenti, allora la <strong>matrice</strong><br />
ha rango massimo (rang(A) = n). È possibile dimostrare che in questo caso anche la<br />
<strong>matrice</strong> AT ·A possiede rango massimo. Ma visto che AT ·A è una <strong>matrice</strong> quadrata<br />
di rango massimo sappiamo che possiede una <strong>matrice</strong> inversa (AT · A) −1 . Il sistema<br />
3.3 può quindi essere risolto calcolando direttamente<br />
x ∗ = (A T · A) −1 · A T · b.<br />
191<br />
209<br />
162<br />
⎞<br />
⎠ ,<br />
191<br />
209<br />
162<br />
La <strong>matrice</strong> (A T · A) −1 · A T ∈ R n×m è detta <strong>pseudoinversa</strong> della <strong>matrice</strong> A ∈ R m×n .<br />
Solitamente la <strong>matrice</strong> <strong>pseudoinversa</strong> di A viene indicata con A + .<br />
3.2.1 Proprietà della <strong>matrice</strong> <strong>pseudoinversa</strong><br />
Data una <strong>matrice</strong> A ∈ R m×n di rango massimo e la sua <strong>pseudoinversa</strong> A + valgono<br />
le seguenti proprietà.<br />
• A · A + · A = A,<br />
• A + · A · A + = A + ,<br />
• (α · A) + = α −1 · A + . dove α = 0 è un numero reale.<br />
Se la <strong>matrice</strong> A è già una <strong>matrice</strong> quadrata di rango pieno e quindi invertibile<br />
allora la sua <strong>pseudoinversa</strong> è uguale alla sua inversa (A −1 = A + ). Bisogna fare bene<br />
attenzione però di non pensare che la <strong>pseudoinversa</strong> di una <strong>matrice</strong> non quadrata sia<br />
l’equivalente dell’inversa di una <strong>matrice</strong> quadrata. Mentre l’inversa viene utilizzata<br />
per trovare la soluzione esatta di un sistema determinato, la <strong>pseudoinversa</strong> viene<br />
utilizzata per trovare un vettore che soddisfi il criterio <strong>dei</strong> <strong>minimi</strong> <strong>quadrati</strong> in un<br />
sistema sovra-determinato, vettore che non sarà in generale una soluzione esatta del<br />
sistema.<br />
Semestre Estivo 2006 Algebra Lineare 5<br />
⎞<br />
⎠ ,
<strong>Metodo</strong> <strong>dei</strong> <strong>minimi</strong> <strong>quadrati</strong> e <strong>matrice</strong> <strong>pseudoinversa</strong> SUPSI-DTI<br />
3.3 Esercizi<br />
1. Verifica le proprietà della <strong>pseudoinversa</strong> utilizzando la <strong>matrice</strong><br />
⎛<br />
2<br />
⎞<br />
1<br />
A = ⎝ 3 −1 ⎠ .<br />
−1 2<br />
2. Determina una funzione f(x) = a·x+b che passi il più vicino possibile (secondo<br />
il criterio <strong>dei</strong> <strong>minimi</strong> <strong>quadrati</strong>) ai punti<br />
xi -1 0 1 2<br />
yi 0 1 3 9<br />
3. Determina una funzione g(x) = a ·x 2 +b·x+c che passi il più vicino possibile<br />
(secondo il criterio <strong>dei</strong> <strong>minimi</strong> <strong>quadrati</strong>) ai punti<br />
xi 0 1 2 3 4 5 6 7<br />
yi 1.86 5.63 12.42 17.58 21.15 28.49 33.48 37.26<br />
4. Cosa otteniamo come soluzione con il metodo <strong>dei</strong> <strong>minimi</strong> <strong>quadrati</strong> se misuriamo<br />
ripetutamente un’unica grandezza?<br />
5. Di un triangolo ABC misuriamo i tre angoli α = 31 o , β = 62 o e γ = 90 o .<br />
Utilizza il metodo <strong>dei</strong> <strong>minimi</strong> <strong>quadrati</strong> per stimare il valore <strong>dei</strong> tre angoli.<br />
6 Algebra Lineare Semestre Estivo 2006