You are on page 1of 93

METODI DIRETTI e INVERSI

13 REGRESSIONE NON LINEARE


Antonio Emolo
Dipartimento di Scienze Fisiche 2Ma23
081 676822
antonio.emolo@na.infn.it
www.docenti.unina.it/antonio.emolo

Metodo di Newton
Consideriamo un sistema non-lineare di N equazioni in N
incognite
F(m) 0

Per risolvere tale sistema, ci proponiamo di costruire una


successione di vettori
x0 , x1 , x 2 ,

che converga ad una soluzione x* del sistema.

13 - Regressione non lineare

Metodi Diretti e Inversi

Metodo di Newton
Se F continua insieme alle sue derivate, possibile
costruire unapprossimazione in serie di Taylor di F intorno
ad una soluzione di prova x0, arrestata al primo ordine:

F x0 x F x0 F x0 x

dove

F x0 J F x0

F1 x 0

x1

0
FN x
x
1

il jacobiano di F calcolato in x0.


3

13 - Regressione non lineare

F1 x 0

xN

FN x 0

xN

Metodi Diretti e Inversi

Metodo di Newton
Se x= x*- x0, allora possibile ottenere unequazione per
la differenza (approssimata!) tra la soluzione iniziale x0 e la
soluzione incognita x* data da

F x* 0 F x0 F x0 x

Risolvendo tale equazione per x= x*- x0 si trova

F x0 x F x0

Tale equazione alla base del metodo di Newton.

13 - Regressione non lineare

Metodi Diretti e Inversi

Metodo di Newton
Algoritmo 13.1 - Metodo di Newton
Dato un sistema di equazioni F(x)=0 e una soluzione
iniziale x0, bisogna ripetere i passi successivi per calcolare
una successione di soluzioni x1, x2, arrestandosi quando
la successione converge a una soluzione di F(x)=0:
1.

usare la tecnica delleliminazione di


determinare x risolvendo lequazione

Gauss

per

F xk x F xk
2.
3.
5

porre xk+1= xk+x;


porre k=k+1
13 - Regressione non lineare

Metodi Diretti e Inversi

Metodo di Newton
Le propriet teoriche del metodo di Newton sono
riassunte nel seguente
Teorema 13.1
Se la soluzione iniziale x0 sufficientemente vicina alla
soluzione incognita x*, la funzione F(x) continua insieme
alle sue derivate in un intorno di x* e J[F(x*)] nonsingolare, allora la successione generata con il metodo di
Newton converge a x*. La velocit di convergenza di
tipo quadratico nel senso che esiste una costante c tale che,
per grandi valori di k risulta
x k 1 x k
6

c xk x*

13 - Regressione non lineare

2
Metodi Diretti e Inversi

Metodo di Newton
In termini pratici la convergenza quadratica vuol dire che
man mano che ci avviciniamo alla soluzione x*, il numero di
cifre decimali esatte presenti nella soluzione raddoppia ad
ogni iterazione.
Sfortunatamente, se le ipotesi del teorema 13.1 precedente
non sono soddisfatte il metodo di Newton pu convergere
molto lentamente o addirittura non convergere affatto.

13 - Regressione non lineare

Metodi Diretti e Inversi

Metodo di Newton
possibile apportare una semplice modifica al metodo di
Newton che spesso risulta utile nei problemi di convergenza.
Nel metodo di Newton smorzato si utilizzano le equazioni
del metodo di Newton per calcolare, a ciascuna iterazione, la
direzione verso la quale muoversi.
In altri termini, invece di considerare lintervallo completo xk+x
per definire la nuova soluzione di prova, cerchiamo lungo la linea
che congiunge xk con xk+x il punto che minimizza la quantit

F xk a x

e quindi consideriamo lo step a x che minimizza tale norma.


8

13 - Regressione non lineare

Metodi Diretti e Inversi

Metodo di Newton
Supponiamo adesso di voler trovare il punto in cui
minima la funzione a valori scalari f(x).
Se assumiamo che f(x) sia continua con le sue derivate
prima e seconda, possiamo scriverne lapprossimazione in
serie di Taylor

f x x f x f x

0 T

1
xT H f x0 x
2

13 - Regressione non lineare

Metodi Diretti e Inversi

Metodo di Newton

dove

f x 0

x1

f x 0
0
f x
x
N

il gradiente e

lHessiano.
10

H f x0

2 f x0

x
1


2
0

f
x

x x
N 1

2 f x0

x1 xN

2
f x0

xN2

13 - Regressione non lineare

Metodi Diretti e Inversi

Metodo di Newton
Condizione necessaria affinch il punto x* sia un minimo
per f(x) che
*

f x 0

Possiamo allora approssimare il gradiente di f(x) in un


intorno di x0 mediante la relazione

f x0 x f x0 H f x0 x

Ponendo uguale a zero lespressione approssimata del


gradiente di f(x) si ricava

H f x0 x f x0

Risolvendo tale equazione in step successivi si ricava il


metodo di Newton per minimizzare la funzione f(x).
11

13 - Regressione non lineare

Metodi Diretti e Inversi

Metodo di Newton
Algoritmo 13.2 - Metodo di Newton per
minimizzare la funzione f(x)
Data la funzione f(x) continua insieme alle sue derivate
prima e seconda e una soluzione iniziale x0, bisogna
ripetere i passi successivi per calcolare una successione di
soluzioni x1, x2, arrestandosi quando la successione
converge a una soluzione tale che f(x)=0:
1. determinare x risolvendo lequazione

H f xk x f xk
2.
3.
12

porre xk+1= xk+x;


porre k=k+1

13 - Regressione non lineare

Metodi Diretti e Inversi

Metodo di Newton
Le propriet teoriche del metodo di Newton per
minimizzare f(x) sono riassunte nel seguente
Teorema 13.2
Se la funzione f(x) continua insieme alle sue derivate
prima e seconda in un intorno di un punto di minimo locale
x*, esiste una costante l tale che
H f x H f y 2 l x y 2
per ogni vettore y in un intorno di x*, la matrice H[f(x*)]
definita positiva e x0 sufficientemente vicino a x*, allora il
metodo converger quadraticamente a x*.

13

13 - Regressione non lineare

Metodi Diretti e Inversi

Metodo di Newton
Quando converge, il metodo di Newton per minimizzare la
funzione f(x) davvero efficiente.
Come nel caso del metodo di Newton per i sistemi di
equazioni, anche in questo caso le propriet di convergenza
dellalgoritmo possono essere migliorate utilizzando una
ricerca lineare.

14

13 - Regressione non lineare

Metodi Diretti e Inversi

I metodi di Gauss-Newton e LevenbergMarquadt


Il metodo di Newton per i sistemi di equazioni non
direttamente applicabile nella maggior parte delle
regressioni non-lineari e dei problemi inversi dal momento
che, in generale, non abbiamo lo stesso numero di dati e
parametri e poi non detto che esista una soluzione esatta
al problema G(m)=d.
invece possibile utilizzare il metodo di Newton per
minimizzare un problema non-lineare ai minimi quadrati.

15

13 - Regressione non lineare

Metodi Diretti e Inversi

I metodi di Gauss-Newton e LevenbergMarquadt


Nello specifico, consideriamo il problema di voler eseguire
il fit un vettore di N dati d con una funzione descritta da un
vettore m di M parametri. Supponiamo anche di avere a
disposizione un vettore s che contiene le deviazioni
standard associate alle misure. Ipotizziamo che i parametri e
i dati siano collegati da una sistema non-lineare di equazioni
del tipo G(m)=d
Lobiettivo consiste nel ricercare i parametri che
definiscono la funzione che fitta al meglio i dati nel senso
della norma-2 dei residui.
16

13 - Regressione non lineare

Metodi Diretti e Inversi

I metodi di Gauss-Newton e LevenbergMarquadt


Come nel caso della regressione lineare, assumiamo che gli
errori di misura siano normalmente distribuiti. In tal caso, in
accordo con il principio di massima verosimiglianza, bisogna
minimizzare la somma dei quadrati degli scarti normalizzati
per i rispettivi errori.
In particolare, cerchiamo di minimizzare la funzione
G (m) i d i
f (m)

s
i 1
i

17

13 - Regressione non lineare

Metodi Diretti e Inversi

I metodi di Gauss-Newton e LevenbergMarquadt


Per comodit, poniamo

G (m) i d i
f (m)
, con i 1, 2,, N
i

si

f1 (m)
F(m)
f N (m)

In tal caso risulta


N

f (m) f i (m)

i 1

18

13 - Regressione non lineare

Metodi Diretti e Inversi

I metodi di Gauss-Newton e LevenbergMarquadt


Il gradiente di f(m) pu essere scritto come la somma dei
gradienti dei singoli termini:
N

f (m) f i (m)
i 1

Notiamo che risulta


N

f (m) j 2 f i (m) j F(m) j


i 1

che in notazione matriciale si scrive


f (m) 2 J(m) F(m)
T

19

13 - Regressione non lineare

Metodi Diretti e Inversi

I metodi di Gauss-Newton e LevenbergMarquadt


essendo J(m) il Jacobiano:
f1 (m)
f1 (m)

m
mM
1

J (m)


f N (m) f N (m)
m1
mM

20

13 - Regressione non lineare

Metodi Diretti e Inversi

I metodi di Gauss-Newton e LevenbergMarquadt


In maniera del tutto simile possibile esprimere lHessiano
di f(m) in termini degli elementi fi(m):
N

H f (m) H f i (m) H i m
i 1

i 1

dove Hi(m) lHessiano di [fi(m)]2.

21

13 - Regressione non lineare

Metodi Diretti e Inversi

I metodi di Gauss-Newton e LevenbergMarquadt


Lelemento jk di Hi(m) dato da:
2
f i (m)2
H (m)
m j mk
i
jk

m j

f i (m)
2 f i (m)

m
k

f i (m) f i (m)
2 f i (m)
2
f i (m)

m j mk
m j mk

22

13 - Regressione non lineare

Metodi Diretti e Inversi

I metodi di Gauss-Newton e LevenbergMarquadt


In definitiva risulta
N

H f (m) H i m
i 1

2 J (m) J (m) Q(m)


T

essendo
N

Q(m) 2 f i (m) H f i (m)


i 1

23

13 - Regressione non lineare

Metodi Diretti e Inversi

I metodi di Gauss-Newton e LevenbergMarquadt


Nel metodo di Gauss-Newton (GN) si trascura
semplicemente il termine Q(m) approssimando lHessiano
con
T
H f (m) 2 J(m) J(m)

Nel contesto della regressione non-lineare ci aspettiamo


che i termini fi(m) diventino ragionevolmente piccoli man
mano che ci avviciniamo alla soluzione ottimale m* in modo
che lapprossimazione fatta per definire lHessiano risulti
valida.
Tale approssimazione non tuttavia ragionevole nel caso di
problemi non-lineari ai minimi quadrati nei quali i valori di
fi(m) sono grandi.
24

13 - Regressione non lineare

Metodi Diretti e Inversi

I metodi di Gauss-Newton e LevenbergMarquadt


Dividendo lequazione

H f (m) 2 J(m) J(m)


T

per 2 si ricavano le equazioni per le iterazioni successive nel


metodo GN:

J(m ) J(m )m J(m ) F(m )


k

Al primo membro di questa equazione abbiamo una matrice


simmetrica e semi-definita positiva.
Se la matrice, oltre ad essere simmetrica, nei fatti definita
positiva possiamo allora risolvere il sistema di equazioni
utilizzando il metodo della fattorizzazione di Cholesky.
25

13 - Regressione non lineare

Metodi Diretti e Inversi

I metodi di Gauss-Newton e LevenbergMarquadt


Sebbene il metodo GN spesso funzioni in maniera
soddisfacente, esso, essendo basato sul metodo di Newton,
pu spesso fallire per diverse ragioni.
Ad esempio, il metodo fallisce sicuramente se la matrice

J(m ) J(m )
k

singolare.

26

13 - Regressione non lineare

Metodi Diretti e Inversi

I metodi di Gauss-Newton e LevenbergMarquadt


Nel metodo di Levenberg-Marquadt (LM) le equazioni
ricorsive del metodo GN sono modificate come

J(m ) J(m ) lIm J(m ) F(m )


k

Il parametro (positivo) l viene aggiustato nel corso


dellesecuzione dellalgoritmo in modo tale da garantire la
convergenza.
Una ragione fondamentale per usare valori positivi per l che la
presenza del termine lI assicura che la matrice al primo
membro sia non-singolare.
Dal momento che, allora, la matrice simmetrica e definita
positiva, possiamo risolvere il sistema col metodo della
fattorizzazione di Cholesky.
27

13 - Regressione non lineare

Metodi Diretti e Inversi

I metodi di Gauss-Newton e LevenbergMarquadt


Per valori molto grandi di l risulta

J(m ) J(m ) lI lI
k

1
m f (m)

Il metodo diventa in tal caso di tipo steepest-descend nel


senso che lalgoritmo si muove gi nella direzione del
gradiente allo scopo di ridurre pi rapidamente il valore di
f(m).
Lapproccio steepest-descend, pur essendo molto lento dal
punto di vista computazionale, garantisce la convergenza.
28

13 - Regressione non lineare

Metodi Diretti e Inversi

I metodi di Gauss-Newton e LevenbergMarquadt


Di contro, per valori molto piccoli di l, il metodo LM
ritorna al metodo GN che potenzialmente pi veloce ma
incerto per quanto riguarda la convergenza.

29

13 - Regressione non lineare

Metodi Diretti e Inversi

I metodi di Gauss-Newton e LevenbergMarquadt


Uno degli aspetti fondamentali del metodo LM consiste nel
determinare il valore ottimale di l.
La strategia generale di cominciare usando valori molto
piccoli per l in situazioni nelle quali il metodo GN sembra
funzionare bene ma cambiare a valori maggiori quando il
metodo GN non sembra fare progressi.

30

13 - Regressione non lineare

Metodi Diretti e Inversi

I metodi di Gauss-Newton e LevenbergMarquadt


Un semplice approccio al problema consiste nel cominciare
con un valore piccolo per l e di riaggiustarlo ad ogni
iterazione: se il metodo LM conduce ad una riduzione di
f(m) allora conserviamo questa iterazione e riduciamo l per
un fattore moltiplicativo costante (ad esempio, ) prima
delliterazione successiva; se invece LM non porta ad una
riduzione di f(m) allora non conserviamo literazione e
aumentiamo l per un fattore moltiplicativo costante (ad
esempio, 2) e riproviamo di nuovo ripetendo questo
procedimento fino a quando non si trova una iterazione
nella quale f(m) diminuisce.
31

13 - Regressione non lineare

Metodi Diretti e Inversi

I metodi di Gauss-Newton e LevenbergMarquadt


Anche se implementazioni robuste dellalgoritmo LM usano
strategie pi sofisticate per riaggiustare il valore di l, la
semplice strategia descritta in precedenza funziona
piuttosto bene.

32

13 - Regressione non lineare

Metodi Diretti e Inversi

I metodi di Gauss-Newton e LevenbergMarquadt


Il termine lI nel metodo LM, anche se assomiglia molto al
termine di regolarizzazione di Tikhonov

G a 2 I m GT d

non il suo equivalente.


Il termine lI viene utilizzato per stabilizzare la soluzione
determinando la direzione nella quale eseguire la ricerca.
Dal momento che il termine lI usato solo per migliorare
la convergenza dellalgoritmo e non entra nella funzione
obiettivo da minimizzare, esso non regolarizza il problema
non-lineare ai minimi quadrati.
Il problema della regolarizzazione dei problemi non-lineari
sar affrontato nel Modulo 14.
33

13 - Regressione non lineare

Metodi Diretti e Inversi

Aspetti statistici
Ricordiamo dal Modulo 3 che se un vettore d ha una
distribuzione normale multivariata e A una matrice di
dimensioni appropriate, allora anche Ad possiede una
distribuzione normale multivariata con matrice di covarianza ad
essa associata data da

CovAd A Cov(d) AT
Abbiamo applicato questa formula al problema ai minimi quadrati
per Gm=d che abbiamo risolto con le equazioni normali. La
relazione risultante per Cov(m) era

Cov m L2 G G
T

G Cov(d) G G G

Nel caso semplice per il quale Cov(d)=s2I, si trovava

Cov m L2 s G G
34

13 - Regressione non lineare

Metodi Diretti e Inversi

Aspetti statistici
Nei problemi di regressione non-lineare, non avendo a
disposizione una relazione lineare che lega i dati ai
parametri del modello, non possiamo assumere che i
parametri abbiano una distribuzione normale multi-variata e
quindi non possiamo usare le formule precedenti.
In ogni caso siamo interessati a capire quanto (piccole)
perturbazioni nei dati si ripercuotano in (piccole?)
perturbazioni nel modello.

35

13 - Regressione non lineare

Metodi Diretti e Inversi

Aspetti statistici
Consideriamo allora unapprossimazione linearizzata della
funzione di misfit F(m)
F(m* m) F(m* ) J(m* ) m

Sotto questa approssimazione, esiste una relazione lineare


tra i cambiamenti in F e i cambiamenti nei parametri m:
F J(m* ) m

La matrice J(m*) prende allora il posto di G in una stima


approssimata della matrice di covarianza dei parametri del
modello.

36

13 - Regressione non lineare

Metodi Diretti e Inversi

Aspetti statistici
Ricordiamo anche che abbiamo incorporato la deviazione
standard sui dati si direttamente nella definizione di f(m).
La matrice di covarianza dei dati allora data dalla matrice
identit e quindi possiamo scrivere

Cov(m ) J(m )
*

J(m )
T

A differenza di quanto accade nella regressione lineare, la


matrice di covarianza dei parametri, nel caso di regressione
non-lineare, non esatta.

37

13 - Regressione non lineare

Metodi Diretti e Inversi

Aspetti statistici
La matrice di covarianza e gli intervalli di confidenza nel
caso non-lineare dipendono criticamente da quanto
accurata lapprossimazione linearizzata
F J(m* ) m

Se la linearizzazione non accurata sullintervallo di modelli


probabili allora gli intervalli di confidenza risultanti non
saranno corretti.
La propagazione Monte Carlo degli errori, discussa nel
Modulo 6, fornisce un modo alternativo, anche se costoso dal
punto di vista computazionale, per stimare Cov(m*).
38

13 - Regressione non lineare

Metodi Diretti e Inversi

Aspetti statistici
Come nel caso della regressione lineare, possiamo eseguire
un test c2 di bont del fit.
Ladeguatezza di questo test dipende anche da quanto bene
il modello non-lineare approssimato dalla linearizzazione
in termini del Jacobiano per punti prossimi ai valori ottimali
dei parametri.
Nella pratica, tale approssimazione risulta in generale
appropriata a meno che i dati non siano estremamente
rumorosi.

39

13 - Regressione non lineare

Metodi Diretti e Inversi

Aspetti statistici
Come nel caso della regressione lineare, possibile
applicare le tecniche di regressione non-lineare quando gli
errori di misura sono indipendenti e normalmente
distribuiti e le deviazioni standard, pur essendo incognite,
sono assunte uguali fra loro.

40

13 - Regressione non lineare

Metodi Diretti e Inversi

Aspetti statistici
Se definiamo gli elementi del vettore dei residui come

ri G(m* ) i -di

con i 1, 2,, N

una stima per la deviazione standard delle misure data da


N

2
r
i

i 1

N M

e quindi la matrice di covarianza approssimata per le stime


dei parametri del modello

Cov(m ) s J(m )
*

41

J(m )
T

13 - Regressione non lineare

Metodi Diretti e Inversi

Aspetti statistici
Una volta che abbiamo a disposizione m* e Cov(m*),
possiamo costruire gli intervalli di confidenza esattamente
allo stesso modo visto nel Modulo 6.
Proprio come nel caso della regressione lineare, anche
importante esaminare i residui alla ricerca di pattern
sistematici o di deviazioni dalla normalit.
Se non abbiamo stimato la deviazione standard s per le
misure, allora importante valutare il valore del c2 per
avere unidea relativamente alla bont del fit.

42

13 - Regressione non lineare

Metodi Diretti e Inversi

Aspetti statistici
Esempio 13.1
Un metodo classico utilizzato in idrologia per determinare i
principali parametri idrogeologici di un acquifero (conducibilit
idraulica, coefficiente di immagazzinamento, permeabilit, )
lo slug test.
Tale prova consiste nel produrre una variazione istantanea del
livello in un pozzo e nel misurare il tempo necessario al
ripristino delle condizioni iniziali. La variazione istantanea di
livello viene ottenuta mediante lintroduzione (o lestrazione) nel
pozzo di un volume noto dacqua o di un corpo solido di forma
generalmente cilindrica.
Si tratta quindi di una prova in pozzo, eseguita in regime
transitorio, che consente di ottenere informazioni sui parametri
idrogeologici dellacquifero che si trova nelle vicinanze del pozzo.
43

13 - Regressione non lineare

Metodi Diretti e Inversi

Aspetti statistici
Supponiamo che un volume noto Q di acqua (slug) sia
iniettato in un certo pozzo e immaginiamo di osservare
leffetto risultante in un pozzo di osservazione distante d dal
pozzo iniziale. Immaginiamo, ad esempio, di misurare
lelevazione h del livello dellacqua in funzione del tempo t.
Tipicamente, il livello nel pozzo di osservazione aumenta
allinizio rapidamente per poi decrescere pi lentamente.
A partire dalle misure di h, ci proponiamo di determinare il
coefficiente di immagazzinamento S, e la permeabilit T
dellacquifero.
44

13 - Regressione non lineare

Metodi Diretti e Inversi

Aspetti statistici
Il modello matematico per lo slug test dato da
Q
d 2 S / 4Tt
h
e
4 T t

Supponiamo che Q=50m3 e d=60m.


I dati misurati (h in funzione di t) sono in tabella.
t (ore) 5

10

20

30

40

50

h (m)

0.49

0.30

0.20

0.16

0.12

0.72

Supponiamo che le misure di h siano accurate al cm in


modo da avere si=0.01m.
45

13 - Regressione non lineare

Metodi Diretti e Inversi

Aspetti statistici
Costruiamo linput necessario

46

13 - Regressione non lineare

Metodi Diretti e Inversi

Aspetti statistici
Risolviamo il problema ai minimi quadrati con lalgortimo
LM. A tale scopo disponibile lo script MATLAB lm.
numero di
iterazioni

valori iniziali dei


parametri S e T

parametri
stimati
fun uno script nel quale si
calcola la differenza tra i dati
predetti e quelli misurati,
normalizzati per la deviazione
standard (misfit)

parametri
iniziali

jac uno script


che calcola il jacobiano

47

tolleranza
di arresto

numero massimo
di iterazioni
consentite

i dati e gli altri parametri sono


scambiati attraverso comandi
GLOBAL

13 - Regressione non lineare

Metodi Diretti e Inversi

Aspetti statistici
Le stime dei parametri trovate in 22 iterazioni sono
S=0.0021
T=0.5853 m2/hr
Il valore del c2 osservato 2.04
con un corrispondente valore-p del 73%.
Ricordiamo che il numero di gradi di libert N-M=4.

In definitiva, il fit supera il test del c2.


48

13 - Regressione non lineare

Metodi Diretti e Inversi

Aspetti statistici

49

13 - Regressione non lineare

Metodi Diretti e Inversi

Aspetti statistici

S = 0.00207 0.00012
T = 0.585 0.029 m2/hr

50

13 - Regressione non lineare

Metodi Diretti e Inversi

Aspetti statistici
Disegniamo un grafico a isolinee per i valori di c2 al variare
di S e T.
Notiamo che, a differenza del caso lineare, le isolinee non
sono delle ellissi, in conseguenza della non-linearit.

2000

100

1000
10

51

13 - Regressione non lineare

500

Metodi Diretti e Inversi

Aspetti statistici
In ogni caso, se facciamo uno zoom
nellintorno alla soluzione ottimale, troviamo
che le isolinee che rappresentano i valori di c2
sono approssimativamente ellittiche.
Questa osservazione indica che lapprossimazione lineare di
G(m) intorno ai valori ottimali dei parametri una buona
approssimazione per piccole perturbazioni.

52

13 - Regressione non lineare

Metodi Diretti e Inversi

Aspetti statistici
Infine, in figura rappresentata lellisse di confidenza al 95%
confrontata con gli intervalli di confidenza per i parametri.

53

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


La (ovvia!) differenza principale tra i problemi in regressione
lineare (Modulo 6) e quelli in regressione non-lineare che
nel secondo caso abbiamo una funzione G(m) che nonlineare.
I metodi iterativi richiedono il calcolo delle funzioni fi(m) e
delle loro derivate parziali rispetto ai parametri mj.
Queste derivate parziali dipendono, a loro volta, dalle
derivate di G:
f i (m) 1 G (m)i

m j
s i m j

54

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


In alcuni casi abbiamo a disposizione formule esplicite per
G(m) e per le sue derivate.
In altri casi, G(m) esiste solo come una scatola nera
(black box) attraverso una subroutine che viene richiamata
ogni volta che si ha bisogno di calcolare il valore della
funzione.

55

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


Quando esiste una formula esplicita per G(m) e il numero
dei parametri relativamente piccolo, possibile calcolare
a mano le derivate oppure ricorrere a package di calcolo
simbolici.
Esistono anche software di differenziazione automatica
che traducono il codice di un programma che calcola G(m)
in uno che calcola le derivate di G(m).

56

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


Un approccio differente prevede luso delle differenze
finite per approssimare le prime derivate di [G(m)]i.
Un semplice schema al primo ordine dato da

G (m)i G(m he j ) i G (m)i

m j
h

Le relazioni basate sulle differenze finite sono


inevitabilmente meno accurate delle formule esatte e
possono introdurre approssimazioni numeriche nella
ricerca della soluzione di problemi in regressione nonlineare.
57

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


In particolare, il parametro h non deve essere troppo
grande perch la relazione

G (m)i G(m he j ) i G (m)i

m j
h

deriva da unapprossimazione in serie di Taylor che, al


crescere di h, diventa sempre pi inaccurata.
Daltra parte, se h diventa molto piccolo possono verificarsi
errori significativi, legati allarrotondamento, nel numeratore
della relazione precedente.
58

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


Una buona regola pratica consiste nel porre

h e
dove e lerrore nellaccuratezza del calcolo di [G(m)]i.
Per esempio, se la valutazione della funzione accurata allo
0.0001, allora una scelta appropriata per h sarebbe di circa 0.01.
Pu essere tuttavia difficoltoso valutare la reale accuratezza con
la quale viene calcolata la funzione, specie nel caso in cui G una
black box routine.
Unutile tecnica di stima consiste nel disegnare i valori della
funzione al variare di uno dei parametri di interesse in un piccolo
intervallo.Tali grafici dovrebbero essere smooth alla scala di h.
59

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


Quando G data da una black box routine che pu essere
chiamata per calcolare la funzione per un particolare valore di m
e il codice sorgente per la subroutine non disponibile, allora
lunico approccio possibile quello delle differenze finite.
Nella pratica, molte difficolt nel risolvere i problemi di
regressione non-lineari possono essere ricondotte ad un
incorretto calcolo delle derivate. quindi una buona idea fare un
controllo incrociato di ogni formula analitica disponibile rispetto
alle differenze finite.
Molti package software per la regressione non-lineare includono
opzioni per controllare laccuratezza delle formule di
derivazione.
60

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


Una
seconda
importante
questione
legata
allimplementazione dei metodi GN e LM stabilire un
criterio per decidere quando arrestare le iterazioni.
Idealmente, vorremmo fermare il procedimento quando il
gradiente f(m) approssimativamente uguale a 0 e i valori
di m non subiscono pi variazioni sostanziali da
uniterazione alla successiva.
Ovviamente non possibile scegliere un livello di tolleranza
assoluto per ||f(m)||2 che sia appropriato per tutti i
problemi.
Similmente, davvero difficoltoso scegliere un singolo
valore di tolleranza assoluta per
m k 1 m k

61

f m k 1 f m k

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


I test di convergenza che andiamo ad introdurre funzionano
bene per unampia variet di problemi.
Assumiamo che il valore di G(m) possa essere calcolato
con unaccuratezza pari a e.
Per assicurarci che il gradiente di f(m)
approssimativamente uguale a 0, richiediamo che

f mk

62

sia

e 1 f mk

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


Per assicurarci che i valori successivi di m siano prossimi
fra loro, richiediamo

m k m k 1 e 1 m k
2

Infine, per assicurarci che i valori di f(m) siano diventati


stabili, ossia non cambino pi, richiediamo

f m k f m k 1 e 1 f m k

63

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


Ci sono poi diversi problemi ulteriori che possono venire
fuori durante la ricerca di una soluzione con tecniche di
regressione GN o LM per un problema non-lineare, in
dipendenza del comportamento funzionale di f(m).
Innanzitutto entrambi i metodi assumono che f(m) sia una
funzione smooth. Questo significa non solo che f(m) deve
essere continua ma anche che le sue derivate parziali prima
e seconda rispetto ai parametri devono essere continue.

64

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


In figura mostrata una funzione
che continua ma presenta una
discontinuit nella sua derivata
prima.
Quando G(m) data in forma
esplicita, facile verificare le nostre
assunzioni sulla continuit.
Quando invece G(m) data come una black box routine

verificare le ipotesi pu diventare molto complicato.

65

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


Un secondo problema pu venire
fuori quando f(m) presenta una
zona piatta (flat bottom).
In tal caso esistono molti valori di
m che riproducono i dati allo
stesso modo ed difficile
determinare il valore ottimale m*.
Nella pratica, si vede presentarsi questa condizione quando la
matrice [J(m*)]T[J(m*)] singolare (o quasi!).
A causa di questo mal-condizionamento del problema, pu
diventare impossibile il calcolo di intervalli di confidenza accurati
per i parametri. Ci si occuper di questo nel Modulo14.
66

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


Infine, lultimo problema che
consideriamo si presenta quando
f(m) non convessa e quindi
possiede pi minimi locali.
Le tecniche GN e LM sono
concepite per convergere verso un
minimo locale.
Non c tuttavia la certezza che la soluzione trovata corrisponda
al minimo globale perch essa dipende da dove si trova il punto
da quale si inizia la ricerca e quindi lalgoritmo potrebbe
convergere verso una soluzione localmente ottimale.
67

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


I metodi di ottimizzazione globale sono stati sviluppati
proprio affrontare questo tipo di problemi.
Le procedure deterministiche di ottimizzazione globale
possono essere usate in problemi con un numero di
variabili molto piccolo mentre le procedure stocastiche di
ricerca possono essere applicate anche a problemi a pi
larga scala.
Le procedure stocastiche possono essere, nella pratica,
molto efficienti anche se hanno il problema di non avere la
certezza di aver trovato il minimo assoluto.
68

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


In ogni caso, i metodi di ottimizzazione deterministici non sono
la panacea.
Se, ad esempio, nellambito della regressione non-lineare, il
nostro problema non-lineare ai minimi quadrati possiede
soluzioni multiple localmente ottimali alle quali corrisponde lo
stesso valore della funzione obiettivo, allora ciascuna di queste
soluzioni corrisponder ad una soluzione verosimile dal punto di
vista statistico.
In tal caso non possibile scegliere semplicemente la soluzione
ottimale dal punto di vista globale come la nostra soluzione migliore
e costruire gli intervalli di confidenza usando la relazione

Cov(m ) J(m )
*

J(m )
T

perch questo vorrebbe significare che stiamo ignorando le altre


soluzioni verosimili.
69

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


Se tuttavia fossimo in grado di mostrare che esiste una
soluzione ottimale dal punto di vista globale (ad esempio, un
minimo assoluto), e che le altre soluzioni localmente
ottimali hanno valori-p molto piccoli, allora sarebbe
appropriato riportare la soluzione ottimale globale, insieme
ai corrispondenti intervalli di confidenza, come la migliore
possibile.

70

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


Senza entrare nei dettagli dei metodi di ottimizzazione
globale, discutiamo una semplice procedura nota come
multistart method.
In tale procedura generiamo casualmente un gran numero
di soluzioni iniziali e, per ciascuna di esse, eseguiamo la
ricerca mediante lalgoritmo LM.
Esaminiamo quindi le soluzioni trovate, che corrispondono
a minimi locali e selezioniamo quella alla quale corrisponde
il minimo valore di f(m): se le altre soluzioni sono
statisticamente non-verosimili, allora abbiamo il diritto di
scegliere la soluzione ottimale globale come la soluzione
migliore.
71

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


Il multistart method presenta due vantaggi pratici.
Innanzitutto, trovando molte soluzioni corrispondenti a
minimi locali, possibile determinare se esiste pi di una
soluzione verosimile dal punto di vista statistico.
In secondo luogo, possiamo fare un uso efficace del fatto
che il metodo LM converga rapidamente ad una soluzione
localmente ottimale.

72

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


Esempio 13.2
Consideriamo il problema di eseguire il fit di un insieme di
dati mediante la funzione
y m1 em2 x m3 em4 x

Supponiamo che i parametri veri siano:


o m1=1.0
o m2=0.5
o m3=1.0
o m4=0.75
73

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


Supponiamo di avere 25 valori di x equispaziati tra 1 e 7 e
calcoliamo i corrispondenti valori di y aggiungendo quindi
del rumore casuale indipendente, normalmente distribuito
con deviazione standard 0.01, ottenendo in tal modo il dataset (sintetico) da utilizzare.

74

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


Il data-set costruito:

75

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


Sul data-set disponibile usiamo adesso il metodo LM per
risolvere il problema 20 volte usando soluzioni iniziali
random con ciascun parametro uniformemente distribuito
tra -1 e 1.

76

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


Con linsieme di punti iniziali casuali che abbiamo
usato, si trova che la migliore delle soluzioni
ottimali localmente corrisponde al punto iniziale
# 2; la soluzione successiva corrisponde al punto
iniziale #5 e la terza al punto iniziale #1.

77

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


Costruiamo una tabella contenente i valori dei parametri e
il c2 per le soluzioni corrispondenti ai punti iniziali 2, 5 e 1

m1

78

m2

m3

m4

c2

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


Calcoliamo anche il p-value per le tre soluzioni ricordando
che il numero di gradi di libert N-M=25-4=21

79

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


Poich la soluzione 2 ha il miglior valore di c2 mentre le
altre due hanno un c2 decisamente pi elevato, analizziamo
soltanto questa soluzione nei dettagli.
Il valore di c2 per la soluzione corrispondente al punto
iniziale #2 17.39 mentre il p-value associato (con 21 gradi
di libert) 0.69. Questa regressione supera quindi il test
c2 .

80

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


In figura mostrato il
best model per la
soluzione iniziale #2.
La curva confrontata
con i dati con barre di
errore per un s.

81

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


In figura sono mostrati i
residui normalizzati per il
best model.

82

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


Dallanalisi dei residui notiamo che la maggior parte di essi
cade entro 0.5 deviazioni standard.
Pochi sono i residui pi grandi di
un s e al massimo si arriva a 1.9s.
Inoltre non c nessun trend
evidente nella loro distribuzione.

83

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


Calcoliamo adesso la matrice di covarianza approssimata
mediante la relazione

Cov(m ) J(m )
*

J(m )
T

La radice quadrata degli elementi diagonali della matrice di


covarianza sono le deviazioni standard associate ai singoli
parametri e possono essere usate per definire gli intervalli
di confidenza al 95%.
84

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


Si trova

e dunque gli intervalli di confidenza al 95% sono dati da


m1 0.98 0.22
m2 0.6 0.8
m3 1.0 0.5
m4 0.72 0.21
85

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


Notiamo che gli intervalli di confidenza trovati
m1 0.98 0.22
m2 0.6 0.8
m3 1.0 0.5
m4 0.72 0.21
contengono i parametri veri (1, -0.5, 1, -0.75).
C comunque un grande livello di incertezza.
Questo un esempio di un problema di regressione non-lineare
poveramente condizionato, nel quale i dati non sono in grado di
vincolare molto bene i parametri.
86

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


La matrice di correlazione fornisce qualche idea circa la
natura mal-condizionata del problema.
Calcoliamo la matrice di correlazione per la soluzione #2.

87

13 - Regressione non lineare

Metodi Diretti e Inversi

Questioni legate allimplementazione


La matrice di correlazione data da
0.84 0.67
0.89
1
0.84

0
.
96

0
.
99

0.67 0.96
1
0.93

0
.
89

0
.
99
0
.
93
1

Notiamo le forti correlazioni positive e negative che


esistono tra le coppie di parametri.
Ad esempio, la forte correlazione negativa tra m1 e m2 ci
suggerisce che aumentando m1 e contemporaneamente
diminuendo m2 possiamo ottenere una soluzione che
altrettanto buona quanto la mostra soluzione ottimale.
88

13 - Regressione non lineare

Metodi Diretti e Inversi

Definizioni varie
Matrice definita positiva

Una matrice simmetrica reale A definita positiva se la


forma quadratica ad essa associata
f (x) xT Ax

maggiore o uguale a zero per qualsiasi x e risulta


f (x) 0

89

se e solo se x 0

13 - Regressione non lineare

Metodi Diretti e Inversi

Definizioni varie
Le matrice definita positive hanno un comportamento analogo ai
numeri reali positivi godendo delle seguenti propriet:
ogni matrice definita positiva invertibile e la sua inversa
anchessa definita positiva;
se A una matrice definita positiva e a un numero reale,
allora la matrice aA definita positiva;
se A e B sono matrici definite positive allora anche A+B
definita positiva; se poi le matrici commutano (ossia se
AB=BA) allora anche la matrice AB definita positiva;
ogni matrice A definita positiva possiede una radice quadrata
ossia una matrice Q tale che A=QTQ; una matrice definita
positiva pu avere un gran numero di radici quadrate ma ne ha
una sola che risulta definita positiva.
90

13 - Regressione non lineare

Metodi Diretti e Inversi

Definizioni varie
Matrice semi-definita positiva

Una matrice simmetrica reale A semi-definita positiva


se la forma quadratica ad essa associata
f (x) xT Ax

tale che

f (x) 0

Se invece f(x) semi-definita positiva, allora A semidefinita negativa.


Se f(x) non n semi-definita positiva, n semi-definita
negativa, allora si dice indefinita.
91

13 - Regressione non lineare

Metodi Diretti e Inversi

Definizioni varie
Fattorizzazione di Cholesky
Sia A una matrice simmetrica di dimensione n per n definita
positiva. In tal caso A pu essere scritta in maniera univoca
come
A RTR

dove R una matrice non-singolare triangolare superiore.


Di contro, A pu essere fattorizzata in questo modo solo
se definita positiva.
In MATLAB il comando chol consente di calcolare la
fattorizzazione di Cholesky per una matrice simmetrica
definita positiva.
92

13 - Regressione non lineare

Metodi Diretti e Inversi

Definizioni varie
Valore-p del test c2
definito come la probabilit teorica di ottenere un valore
di c2 grande quanto quello osservato:

fc

( x) dx

2
c obs

essendo
f c 2 ( x)

2 2 2

la PDF per la variabile casuale c2.

93

13 - Regressione non lineare

Metodi Diretti e Inversi

You might also like