Minimi quadrati non lineari
Ragazzi qualcuno sa darmi spiegazione sul metodo dei minimi quadrati non lineari?
Risposte
mmmmh è un quesito troppo specialistico per le mie competenze, spiacente di non poterti aiutare.
Ciao Giovanni, ti ringrazio innanzitutto per la tua spiegazione. E' stata molto chiara.
Il mio problema riguarda il modo di trovare il vettore dei parametri x. Il mio testo fa il seguente ragionamento.
n.b. userò la lettera t alla fine di un vettore o di una matrice per indicarne la trasposta; (es. f(x)t è la trasposta di f(x))
Detto f(x) il vettore dei residui a "m" elementi e su "n" parametri, il problema è trovare il minimo x di S(x), ove S(x) = f(x)t f(x).
Indicate con J(x)la matrice jacobiana rispettivamente a f(x) e H(x) la matrice hessiana, ci calcoliamo la derivata prima e seconda di S(x) e abbiamo rispettivamente,
S(x)' = 2J(x)t f(x)
S(x)'' = 2J(x)t J(x) + 2H(x) f(x)
Per risolvere allora si usa il metodo di Newton.
partendo da un x1 arbitrario si ha
xk+1 = xk + lamba sk
dove sk si ottiene da
S(x)''sk = -S(x)'
Come si arriva a quest'ultima formula?? Aiuto!
Ciao
Il mio problema riguarda il modo di trovare il vettore dei parametri x. Il mio testo fa il seguente ragionamento.
n.b. userò la lettera t alla fine di un vettore o di una matrice per indicarne la trasposta; (es. f(x)t è la trasposta di f(x))
Detto f(x) il vettore dei residui a "m" elementi e su "n" parametri, il problema è trovare il minimo x di S(x), ove S(x) = f(x)t f(x).
Indicate con J(x)la matrice jacobiana rispettivamente a f(x) e H(x) la matrice hessiana, ci calcoliamo la derivata prima e seconda di S(x) e abbiamo rispettivamente,
S(x)' = 2J(x)t f(x)
S(x)'' = 2J(x)t J(x) + 2H(x) f(x)
Per risolvere allora si usa il metodo di Newton.
partendo da un x1 arbitrario si ha
xk+1 = xk + lamba sk
dove sk si ottiene da
S(x)''sk = -S(x)'
Come si arriva a quest'ultima formula?? Aiuto!
Ciao
In generale, se vogliamo trovare una funzione che approssima al meglio un set di punti dati,(x,y), dobbiamo imporre che per ogni x appartenente al set di dati la distanza (misurata in una qualche metrica) tra f(x) e y sia minima.
f(x) è una funzione che decidiamo noi, può esere lineare o non lineare, che dipende da una serie di coefficienti (a,b,c,....,l,m,n etc) quanti ne vogliamo noi per caratterizzare la funzione.
Allora misuriamo la distanza tra le y e le f(x) con il quadrato della differenza (f(x)-y)^2 e facciamo la somma di questa distanza estesa a tutti gli elementi del set di dati.
Vogliamo che questa sia minima, quindi vogliamo trovareper quali a b, c etc la distanza totale che chiamiamo dtot sia minima.
Quindi facciamo le derivate parziali rispetto ad a, b etc e le ponimao a zero e le mettiamo a sistema.
d(dtot)/da=0
d(dtot)/db=0
etc
le soluzioni di questo sistema sono i coefficienti che rendono minima la distanza tra la funzione f(x) e la funzione y presentata in forma tabellare, indipendentemente che f(x) sia lineare o non lo sia.
f(x) è una funzione che decidiamo noi, può esere lineare o non lineare, che dipende da una serie di coefficienti (a,b,c,....,l,m,n etc) quanti ne vogliamo noi per caratterizzare la funzione.
Allora misuriamo la distanza tra le y e le f(x) con il quadrato della differenza (f(x)-y)^2 e facciamo la somma di questa distanza estesa a tutti gli elementi del set di dati.
Vogliamo che questa sia minima, quindi vogliamo trovareper quali a b, c etc la distanza totale che chiamiamo dtot sia minima.
Quindi facciamo le derivate parziali rispetto ad a, b etc e le ponimao a zero e le mettiamo a sistema.
d(dtot)/da=0
d(dtot)/db=0
etc
le soluzioni di questo sistema sono i coefficienti che rendono minima la distanza tra la funzione f(x) e la funzione y presentata in forma tabellare, indipendentemente che f(x) sia lineare o non lo sia.