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