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