Il metodo di Gauss-Newton per le regressioni non-lineari
Transcript
Il metodo di Gauss-Newton per le regressioni non-lineari
Il metodo di Gauss-Newton per le regressioni non-lineari Andrea Onofri Dipartimento di Scienze Agrarie ed Ambientali Università degli Studi di Perugia Versione on-line: http://www.unipg.it/ onofri/RTutorial/index.html 1 Sviluppo del metodo iterativo L’algoritmo di Gauss-Newton è basato sull’espansione in serie di Taylor; in breve, il principio è che ogni funzione f(x) derivabile nel punto x0 e che ammetta derivate fino all’ ordine n-1 in un intervallo che contiene il punto x0 può essere approssimata con un polinomio P(x), di grado minore o uguale ad n-1 e definito da: P (x) = f (x0 ) + f 0 (x0 )(x − x0 ) + f 00 (x0 )(x − x0 ) + ..... + f n (x0 )(x − x0 ) Nel punto x0 P(x) assume lo stesso valore della funzione f(x), mentre per x diverso da x0 esso approssima solamente il valore reale della f(x). In parole più semplici e fermando l’ espansione alla derivata prima, posso dire che se ho una funzione f(x) derivabile in un punto x0 e della quale conosco f(x0 ), posso utilizzare la retta tangente alla funzione in x0 per ottenere valori approssimati per f(x) in un intorno di x0 , il che è utile, se la f è complessa. Lo sviluppo di Taylor può trovare applicazione nelle regressioni non lineari. Infatti, immaginiamo di avere due osservazioni sperimentali, con: " X= 0.5 2.5 # " Y = 1.3 2.0 # Immaginiamo di voler descrivere il vettore Y con una funzione del tipo: Y = exp(θ · X) Nello spazio a due dimensioni (R2 ), il problema può essere posto come in figura 1: il punto Y rappresenta la risposta osservata, mentre la risposta attesa giace sulla curva E(Y), ottenuta assegnando al parametro θ i valori possibili [E(Y) = g(θ)]: " E(Y ) = exp(θ · 0.5) exp(θ · 5.5) 1 # 1 SVILUPPO DEL METODO ITERATIVO 2 Figura 1: Geometria delle regressioni non-lineari Trovare la risposta attesa E(Y) equivale a trovare il punto della curva più vicino ad Y, minimizzando quindi lo scostamento . Tuttavia, a differenza del caso lineare, la superficie dove giace la risposta attesa è curva, non lineare (gli incrementi sono più grandi al crescere di θ) e, talvolta (non in questo caso) la superficie è finita. Insomma, il problema della minimizzazione di non può essere sempre risolto direttamente in modo banale, come nel caso lineare. Possiamo quindi sfruttare le serie di Taylor, ed approssimare la g(θ) tramite la sua derivata prima g’(θ). Il metodo è iterativo e si sviluppa in questo modo. PRIMA ITERAZIONE 1 - Fissiamo un valore iniziale verosimile per θ (ad esempio θ1 = 0). 2 - Tracciamo la derivata prima di g(θ) nel punto θ1 = 0. In figura 2, la retta passa per il punto g(θ) e per il punto V, individuato da: 1 SVILUPPO DEL METODO ITERATIVO " g(θ1 ) = " V = # exp(0 · 0.5) exp(0 · 2.5) d[exp(θ1 ·0.5)] dθ d[exp(θ1 ·2.5)] dθ 3 " = # " = 1 1 0.5 2.5 # # Figura 2: Linearizzazione della regressione 3 - Spostiamo l’origine degli assi in corrispondenza del punto g(θ1) ed otteniamo quindi il punto Y1 definito come: " Y1 = 1.3 − 1 2.0 − 1 # " = 0.3 1.0 # La distanza al quadrato di Y1 dall’origine degli assi è pari a Y T Y = 1.09 1 SVILUPPO DEL METODO ITERATIVO 4 che rappresenta la devianza del residuo del modello non-lineare in questa prima iterazione. Ora il problema è posto in forma lineare: si tratta di trovare il punto della retta g’(θ) più vicino a Y1 , cosa che può essere fatta con le usuali metodiche (approssimazione lineare): β = (V T V )−1 V T Y1 = 0.40769 Il valore di β indica di quanto ci dobbiamo spostare lungo la retta tangente (cioè quanto dobbiamo aggiungere o togliere a θ1) per trovare il punto più vicino ad Y1 . Siccome la retta approssima il valore di g(θ1), se poniamo θ2 = θ1 + β otteniamo una nuova stima di θ che ci porta più vicini di prima al valore ricercato. Possiamo quindi procedere ad una nuova iterazione. SECONDA ITERAZIONE 1 - Fissiamo θ2 = 0.40769 2 - Individuiamo la derivata prima, generata da: " exp(0.40769 · 0.5) exp(0.40769 · 2.5) g(θ2 ) = " V = d[exp(θ2 ·0.5)] dθ d[exp(θ2 ·2.5)] dθ # # " = " 1.226 2.771 0.613 6.928 = # # 3 - Spostiamo l’origine degli assi in corrispondenza del punto g(θ2) ed otteniamo il punto Y2 : " Y2 = 1.3 − 1.226 2.0 − 2.771 # " = 0.074 −0.771 # La devianza del residuo in questa seconda iterazione è pari a Y2T Y2 = 0.599994 Calcoliamo ora un nuovo incremento β = (V T V )−1 V T Y1 = −0.1095 e quindi un nuovo valore di θ: θ3 = 0.40769 − 0.1095 = 0.2982 Proseguendo nelle iterazioni otteniamo i valori di θ e di devianza riportati in tabella. 2 PER APPROFONDIMENTI Iterazione 1 2 3 4 5 6 RSS 1.0900000 0.5999969 0.03092673 0.02259788 0.02259605 0.02259605 5 θ 0 0.4076923 0.2981916 0.2809176 0.2806507 0.2806524 Alla sesta iterazione la variazione del valore di θ diviene trascurabile cosı̀ come quella della devianza residua. Di conseguenza il processo iterativo può essere arrestato, considerando di aver raggiunto la convergenza. 2 Per approfondimenti BATES DM, WATTS DG (1988). Nonlinear Regression Analysis and Its Applications. John Wiley & Sons, Inc., New York.