Minimi Quadrati
Da Wikipedia, l'enciclopedia libera.
Il metodo dei minimi quadrati è una tecnica di ottimizzazione che permette di trovare una funzione che si avvicini più possibile ad un'interpolazione di un insieme di dati (tipicamente punti del piano). In particolare la funzione trovata deve essere quella che minimizza la somma dei quadrati delle distanze dai punti dati. Questo metodo va distinto da quelli per l'interpolazione dove si richiede che la funzione calcolata passi esattamente per i punti dati.
L'utilizzo più frequente è nell'approssimare l'andamento di dati sperimentali con linee di tendenza. Anche altri problemi di ottimizzazione come la minimizzazione dell'energia o la massimizzazione dell'entropia, possono essere riformulati in una ricerca dei minimi quadrati.
Indice |
[modifica] Formulazione del problema
Siano x e y due vettori di cui le componenti formano le coppie (xi,yi) con i=1,2,...,n che rappresentano i dati in ingresso. Vogliamo trovare una funzione f tale che . Per ottenere una "buona" funzione la si può determinare in modo da minimizzare S dove
e cioè minimizzando il quadrato della distanza fra f(xi) e yi. Da qui il nome "minimi quadrati".
Nei casi pratici in genere f(x) è parametrica: in questo modo il problema si riduce a determinare i parametri che minimizzano la distanza dei punti dalla curva. Naturalmente per ottenere un'unica curva ottimizzata e non un fascio, sono necessari un numero di punti sperimentali maggiore del numero di parametri da cui dipende la curva. In genere dai dati sperimentali ottenuti ci si apetta una distribuzione regolata da relazioni determinate per via analitica; risulta utile quindi parametrizzare la curva teorica e determinare i parametri in modo da minimizzare S.
[modifica] Esempio
- f(x) = mx + q
La funzione interpolante desiderata è una retta, i parametri sono due m e q: per essere determinati univocamente servono almeno due punti da interpolare.
In tal caso è possibile scrivere in modo esplicito i valori dei parametri m e q.
Si consideri di avere N coppie (xi,yi). Allora i coefficienti sono:
- f(x) = xa
La funzione interpolante desiderata è un'esponenziale e possiede un solo parametro; diversamente dall'esempio precedente la funzione non è lineare rispetto ai parametri.
[modifica] Soluzione del caso lineare
Sia f(x) una funzione lineare rispetto ai parametri
dove pi sono i k parametri, e n è il numero di punti noti.
Si può riorganizzare la situazione attraverso il sistema lineare sovradimensionato
dove
Il problema di minimizzare S si riconduce dunque a minimizzare la norma del residuo
dove con [Ap]i si intende l' i-esima componente del vettore prodotto fra A e p.
Possiamo minimizzare derivando
rispetto a ciascun pm e ponendo le derivate pari a 0:
queste equazioni sono equivalenti al sistema
(Ap − y)TA = 0
Quindi il vettore p che minimizza S è la soluzione dell'equazione
ATAp = ATy
Quest'ultima equazione è detta equazione normale. Se il rango di A è completo allora ATA è invertibile e dunque
p = (ATA) − 1ATy
La matrice (ATA) − 1AT è detta pseudo-inversa.
[modifica] Voci correlate
[modifica] Collegamenti esterni
- http://www.physics.csbsju.edu/stats/least_squares.html
- Zunzun.com - Online curve and surface fitting
- http://www.orbitals.com/self/least/least.htm