elementi di informatica e applicazioni numeriche t (2015-2016)

82
Elementi di Informatica e Elementi di Informatica e Applicazioni Numeriche T Applicazioni Numeriche T Interpolazione ed Estrapolazione

Upload: others

Post on 05-Oct-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Elementi di Informatica eElementi di Informatica eApplicazioni Numeriche TApplicazioni Numeriche TInterpolazione ed Estrapolazione

Page 2: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Esempio: Profilo di Velocità di un FluidoEsempio: Profilo di Velocità di un Fluido

Consideriamo un problema realistico

■ Dato un fluido che scorre in una condotta di diametro cm...■ ...Vogliamo determinarne sperimentalmente il profilo di velocità

15

Metodo:

Utilizziamo un sensore per effettuare una serie di misurazioni

■ Ogni misurazione è nella forma ■ è la posizione del sensore■ è la velocità misurata

i ( , )xi yixiyi

Possiamo disegnare la misurazioni su un piano cartesiano...

Page 3: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Esempio: Profilo di Velocità di un FluidoEsempio: Profilo di Velocità di un Fluido

Page 4: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Esempio: Velocità di ReazioneEsempio: Velocità di Reazione

Un secondo problema

■ Determinare come la velocità di una reazione chimica...■ ...dipende dalla temperatura a cui essa avviene

Metodo:

Effettuiamo una serie di esperimenti. Per ogni esperimento :i

■ Variamo la temperatura in modo regolare■ Misuriamo la velocità di reazione

xiyi

Possiamo di nuovo disegnare la misurazioni...

Page 5: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Esempio: Velocità di ReazioneEsempio: Velocità di Reazione

Page 6: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Interpolazione/EstrapolazioneInterpolazione/Estrapolazione

Abbiamo le informazioni che ci interessano per alcuni punti

Ma come facciamo a conoscere la velocità in ogni punto?

Page 7: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Interpolazione/EstrapolazioneInterpolazione/Estrapolazione

Abbiamo le informazioni che ci interessano per alcuni punti

Ma come facciamo a conoscere la velocità in ogni punto?

Approccio 1: misuriamo la velocità in ogni punto

■ Ovviamente, questo approccio non è pratico

Page 8: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Interpolazione/EstrapolazioneInterpolazione/Estrapolazione

Abbiamo le informazioni che ci interessano per alcuni punti

Ma come facciamo a conoscere la velocità in ogni punto?

Approccio 1: misuriamo la velocità in ogni punto

■ Ovviamente, questo approccio non è pratico

Approccio 2: inferiamo la velocità

■ Nei punti intermedi■ Prima e dopo le posizioni estreme

I due problemi si chiamano interpolazione ed estrapolazione

Page 9: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Interpolazione/EstrapolazioneInterpolazione/Estrapolazione

Page 10: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Interpolazione/EstrapolazioneInterpolazione/Estrapolazione

Page 11: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Elementi di Informatica eElementi di Informatica eApplicazioni Numeriche TApplicazioni Numeriche T

Polinomio Interpolante

Page 12: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Funzione InterpolanteFunzione Interpolante

Proviamo ad impostare formalmente il problema:

■ Data una serie di di punti ■ HP: i punti sono distinti (i.e. )■ Vogliamo determinare una funzione tale che:

m ( , )xi yi≠ ∀i ≠ jxi xj

f (x)f ( ) = ∀i = 1..mxi yi

Se ci riusciamo, abbiamo risolto tutti i nostri problemi:

■ Possiamo valutare con (interpolazione)■ E possiamo estrapolare i dati nello stesso modo

f (x) < x <xi xj

Grossa difficoltà: come deve essere fatta ?f (x)

Page 13: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Polinomio InterpolantePolinomio Interpolante

Vediamo cosa succede se è un polinomio di grado f (x) n

In questo caso, abbiamo che:

f (x) = ∑j=0

nβj xj

Page 14: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Polinomio InterpolantePolinomio Interpolante

Vediamo cosa succede se è un polinomio di grado f (x) n

In questo caso, abbiamo che:

f (x) = ∑j=0

nβj xj

Per ogni punto , la funzione deve soddisfare:i

f ( ) = =xi ∑j=0

nβj xj

i yi

■ Le incognite sono i coefficienti !■ Quindi le equazioni sono lineari

βj

Page 15: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Polinomio InterpolantePolinomio Interpolante

Possiamo quindi usare la forma matriciale:

=

⎜⎜⎜⎜⎜⎜

xn1

xn2

⋮xn

m−1xnm

xn−11

xn−12

⋮xn−1

m−1xn−1m

……⋱……

x11

x12

⋮x1

m−1x1m

11⋮11

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

βn

βn−1…β1β0

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

ym

ym−1…y2y1

⎟⎟⎟⎟⎟⎟

La matrice a sx è nota come matrice di VandermondeV

■ Ogni riga si riferisce ad un punto ■ La riga contiene , elevato a tutte la potenze

ixi

Proprietà: è non singolare (perché i valori di sono distinti)V xi

Page 16: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Polinomio InterpolantePolinomio Interpolante

Possiamo quindi usare la forma matriciale:

=

⎜⎜⎜⎜⎜⎜

xn1

xn2

⋮xn

m−1xnm

xn−11

xn−12

⋮xn−1

m−1xn−1m

……⋱……

x11

x12

⋮x1

m−1x1m

11⋮11

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

βn

βn−1…β1β0

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

ym

ym−1…y2y1

⎟⎟⎟⎟⎟⎟

Se abbiamo (più termini nel polinomio che punti):n > m − 1■ Il sistema è sottodeterminato■ Ci sono molte soluzioni possibili■ A noi basterebbe trovarne una, però...

Page 17: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Polinomio InterpolantePolinomio Interpolante

Possiamo quindi usare la forma matriciale:

=

⎜⎜⎜⎜⎜⎜

xn1

xn2

⋮xn

m−1xnm

xn−11

xn−12

⋮xn−1

m−1xn−1m

……⋱……

x11

x12

⋮x1

m−1x1m

11⋮11

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

βn

βn−1…β1β0

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

ym

ym−1…y2y1

⎟⎟⎟⎟⎟⎟

Se invece (tanti punti quanti termini del polinomio):n = m − 1■ Esiste una sola soluzione, quindi un solo polinomio interpolante■ Per due punti passa una sola retta, per tre punti una sola parabola...

Page 18: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Esempio: Profilo di Velocità di un FluidoEsempio: Profilo di Velocità di un Fluido

Vediamo un esempio numerico:

Supponiamo di avere i seguenti punti per il nostro fluido in condotta:

(m) (m/s)xi yi

0.010 1.400.054 1.700.111 1.540.138 1.33

Dobbiamo risolvere il sistema:

Vβ = y

Page 19: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Esempio: Profilo di Velocità di un FluidoEsempio: Profilo di Velocità di un Fluido

Vediamo un esempio numerico:

La matrice di Vandermonde è:

x3i x2

i x1i x0

i

V =

⎜⎜⎜⎜

0.00100000.15746401.36763102.6280720

0.01000000.29160001.23210001.9044000

0.10000000.54000001.11000001.3800000

1.00000001.00000001.00000001.0000000

⎟⎟⎟⎟

Risolvendo il sistema otteniamo:

f (x) = 282.21 − 144.686 + 15.0746 + 1.26344x3 x2 x1

Page 20: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Esempio: Profilo di Velocità di un FluidoEsempio: Profilo di Velocità di un Fluido

Vediamo come si comporta nel fare interpolazione (non male!)...

Page 21: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Esempio: Profilo di Velocità di un FluidoEsempio: Profilo di Velocità di un Fluido

...E poi vediamo come va l'estrapolazione (bene anche qui!)

Page 22: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Elementi di Informatica eElementi di Informatica eApplicazioni Numeriche TApplicazioni Numeriche T

Polinomio di Lagrange

Page 23: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Metodi Espliciti e ImplicitiMetodi Espliciti e Impliciti

In questo corso facciamo spesso una distinzione tra:

■ Soluzioni in forma chiusa (o metodi espliciti)■ Descrivono la soluzione con una formula

■ Metodi numerici (o metodi impliciti)■ Permettono di calcolare la soluzione con un algoritmo

L'approccio presentato per ottenere il polinomio interpolante

■ Permette di calcolare i coefficienti con un algoritmo...■ ...Ma non di esprimerli in forma chiusa

Si tratta quindi di un metodo numerico

Proviamo ora a vedere una soluzione in forma chiusa

Page 24: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Un Approccio AlternativoUn Approccio Alternativo

Il nostro obiettivo è trovare una funzione tale che:f (x)f ( ) = ∀i = 1..mxi yi

Proviamo ora ad utilizzare una forma diversa, in particolare:

f (x) = (x)∑i=1

myi li

Dove i termini sono dei polinomi(x)li■ Conseguenza: è di fatto ancora un polinomio■ Solo che la descriviamo con una somma di funzioni...■ ...Anziché attraverso i coefficienti

f (x)

Page 25: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Un Approccio AlternativoUn Approccio Alternativo

Idea principale: I polinomi in(x)li

f (x) = (x)∑i=1

myi li

...sono definiti in modo che, quando :x = xi

■ Tutti gli con si annullano■ Il termine vale esattamente

( )lj xi j ≠ i( )li xi 1

In questo modo, abbiamo che (come desiderato):

f ( ) = + =xi yi ( )li xi⏟=1∑j≠i

yj ( )lj xi⏟=0

yi

Page 26: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Un Approccio AlternativoUn Approccio Alternativo

Vediamo i polinomi per il nostro esempio:(x)li

Page 27: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Un Approccio AlternativoUn Approccio Alternativo

Come sono fatti i polinomi ?(x)li

Ogni deve annullarsi se con (x)li x = xj j ≠ i

■ Possiamo ottenerlo inserendo in l'espressione(x)li(x − )∏

j≠ixj

■ In altre parole il prodotto:

(x − ) … (x − )(x − ) … (x − )x1 xi−1 xi+1 xm

■ Che si annulla per , a meno che x = xj j = i

Page 28: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Un Approccio AlternativoUn Approccio Alternativo

Come sono fatti i polinomi ?(x)li

Ogni deve valere per (x)li 1 x = xi

■ Possiamo ottenerlo modificando l'espressione precedente:

(x − ) ⟶∏j≠i

xj ∏j≠i

x − xj−xi xj

■ Ogni termine vale se ■ Conseguenza: l'intero prodotto vale

(x − )/( − )xj xi xj 1 x = xi1

Page 29: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Polinomio Interpolante in Forma di LagrangePolinomio Interpolante in Forma di Lagrange

Nel complesso, otteniamo il polinomio di Lagrange:

con:

f (x) = (x)∑i=1

myi li

(x) =li ∏j≠i

x − xj−xi xj

Sarebbe meglio parlare di "polinomio interpolante in forma di Lagrange"

■ È un polinomio di grado (al più) , come nel caso precedente■ Di fatto, è lo stesso polinomio di prima!■ Semplicemente, adesso lo otteniamo con una formula■ In alcuni casi è un grosso vantaggio (esempi nella prossima lezione)!

m − 1

Page 30: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Elementi di Informatica eElementi di Informatica eApplicazioni Numeriche TApplicazioni Numeriche TDue Limitazioni dell'Interpolazione

con Polinomi

Page 31: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

L1: Aggiunta di Punti da InterpolareL1: Aggiunta di Punti da Interpolare

Se volessimo migliorare la qualità dell'approssimazione?

Metodo più naturale: incrementare la misurazioni

■ Dividiamo il diametro in segmenti della stessa lunghezza■ Per ogni punto misuriamo la velocità

mxi yi

Idealmente, incrementando l'approssimazione dovrebbe convergere:m

f (x) g(x)− →−−−m→∞

■ Dove è il profilo di velocità realeg(x)In pratica, non è detto che succeda

Page 32: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

L1: Funzione di RungeL1: Funzione di Runge

Supponiamo di volere interpolare la funzione di Runge:

g(x) = 11 + 25x2

Supponiamo di non conoscere direttamenteg(x)■ Ne vogliamo però misurare il valore...■ ...Per punti equispaziati nell'intervallo ■ E poi approssimarla con il polinomio interpolante

[−1, 1]

Intuitivamente:

■ Incrementando ...■ ...L'approssimazione dovrebbe migliorare

n

Page 33: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

L1: Funzione di RungeL1: Funzione di Runge

Questa è la funzione di Runge nell'intervallo [−1, 1]

Page 34: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

L1: Funzione di RungeL1: Funzione di Runge

Questo è il polinomio interpolante con n = 3

Page 35: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

L1: Funzione di RungeL1: Funzione di Runge

Questo è il polinomio interpolante con n = 5

Page 36: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

L1: Funzione di RungeL1: Funzione di Runge

Questo è il polinomio interpolante con n = 7

Page 37: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

L1: Funzione di RungeL1: Funzione di Runge

Questo è il polinomio interpolante con n = 9

Page 38: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

L1: Fenomeno di RungeL1: Fenomeno di Runge

■ Le oscillazioni peggiorano con il numero dei campioni■ Il polinomio interpolante diverge vicino agli estremi (i.e. )−1, 1Questo comportamento è noto come fenomeno di Runge

Aumentando il numero di punti, il comportamento ininterpolazione del polinomio può peggiorare

■ È apparentemente paradossale (vedremo poi il motivo)■ È un primo (grosso) limite del polinomio approssimante

Page 39: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

L2: Difficoltà di EstrapolazioneL2: Difficoltà di Estrapolazione

Consideriamo ora il secondo dei nostri esempi iniziali

■ Vogliamo stimare come la velocità di una reazione chimica...■ ...Dipenda dalla temperatura a cui essa avviene

Innanzitutto dobbiamo fare degli esperimenti:

■ Facciamo variare la temperature da a ■ Usiamo intervalli di 10 gradi ( punti in tutto)■ Misuriamo la velocità di reazione ad ogni punto

x K300∘ K360∘

7

Page 40: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

L2: Difficoltà di EstrapolazioneL2: Difficoltà di Estrapolazione

Supponiamo di avere ottenuto i punti seguenti:

(°K) (num. puro)xi yi

300 1.01310 1.02320 1.04330 1.08340 1.15350 1.30360 1.44

Page 41: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

L2: Difficoltà di EstrapolazioneL2: Difficoltà di Estrapolazione

Questi sono i dati grezzi sul piano cartesiano:

Page 42: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

L2: Difficoltà di EstrapolazioneL2: Difficoltà di Estrapolazione

Questo è il polinomio interpolante (in interpolazione)

Page 43: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

L2: Difficoltà di EstrapolazioneL2: Difficoltà di Estrapolazione

Questo è il polinomio interpolante (in estrapolazione)

Page 44: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

L2: Difficoltà di EstrapolazioneL2: Difficoltà di Estrapolazione

Il comportamento in estrapolazione è pessimo!

■ Estrapolare è più difficile che interpolare in generale■ C'è un margine di incertezza maggiore

In questo caso però la situazione è particolarmente brutta, perché:

Aumentando il numero di punti, il comportamento inestrapolazione del polinomio interpolante può peggiorare

■ Questo è un secondo limite del polinomio approssimante

Page 45: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Elementi di Informatica eElementi di Informatica eApplicazioni Numeriche TApplicazioni Numeriche T

Metodo Lineare dei Minimi Quadrati

Page 46: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Alcune ConsiderazioniAlcune Considerazioni

Abbiamo osservato che, aumentando il numero di punti :( , )xi yi

■ Il comportamento in interpolazione può peggiorare■ Il comportamento in estrapolazione può peggiorare

La radice dei due problemi è comune.

Page 47: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Alcune ConsiderazioniAlcune Considerazioni

Abbiamo osservato che, aumentando il numero di punti :( , )xi yi

■ Il comportamento in interpolazione può peggiorare■ Il comportamento in estrapolazione può peggiorare

La radice dei due problemi è comune. In particolare:

I due problemi nascono dal fatto che il gradodel polinomio interpolante diventa troppo alto

■ I polinomi di grado elevato possono variare in modo brusco...■ ...E si prestano a causare errori dovuti alla precisione finita

Page 48: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Utilizzo di Polinomi di Grado InferioreUtilizzo di Polinomi di Grado Inferiore

Cosa succede se utilizziamo un polinomio di grado ?n < m − 1Il nostro sistema:

Vβ = y

Dove:

■ è la matrice di Vandermonde corrispondente ad ■ è il vettore dei coefficienti

V xβ

Diventa sovradeterminato (e probabilmente impossibile)

■ Se vogliamo utilizzare un polinomio di grado inferiore...■ ...Dobbiamo cambiare la formulazione del problema

Page 49: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Utilizzo di Polinomi di Grado InferioreUtilizzo di Polinomi di Grado Inferiore

Vediamo le idee principali del nuovo approccio:

■ Stabiliamo il grado del polinomio a priori (HP: )■ Non richiediamo che il polinomio passi per tutti i punti■ Cerchiamo invece di minimizzare una stima di errore

n n ≤ m − 1

In particolare, introduciamo il concetto di residuo

= − f ( )ri yi xi

■ Dove, ancora una volta:

f (x) = ∑j=0

nβj xj

Page 50: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Residui e Stima dell'ErroreResidui e Stima dell'Errore

In sostanza il residuo è il nostro errore di stima per ri ( , )xi yi

Come ottenere una stima dell'errore globale?

Idea 1: utilizziamo una somma

e = ∑i=1

mri

■ Una pessima idea in pratica■ Residui con segno diverso si possono cancellare

Page 51: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Residui e Stima dell'ErroreResidui e Stima dell'Errore

In sostanza il residuo è il nostro errore di stima per ri ( , )xi yi

Come ottenere una stima dell'errore globale?

Idea 2: somma dei valori assoluti

e = ∑i=1

m∣∣ri∣∣

■ Già meglio!■ Però è difficile da trattare (derivata discontinua)

Page 52: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Residui e Stima dell'ErroreResidui e Stima dell'Errore

In sostanza il residuo è il nostro errore di stima per ri ( , )xi yi

Come ottenere una stima dell'errore globale?

Idea 3: somma dei residui al quadrato

e = ∑i=1

mr2

i

■ La derivata è continua■ Vantaggio addizionale: gli errori più grandi contano di più!

Page 53: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Minimizzazione ai Minimi QuadratiMinimizzazione ai Minimi Quadrati

Vogliamo che l'errore sia più piccolo possibile

Quindi si tratta di risolvere il problema:

min e(β) = (β∑i=1

mri )2

Noto come problema di minimizzazione ai minimi quadrati

■ Nel problema abbiamo evidenziato la dipendenza di da ■ D'ora in poi, lo faremo sempre■ La soluzione del problema definisce la funzione approssimante■ Il corrispondente errore indica la qualità dell'approssimazione

ri β

β∗

e∗

Page 54: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Metodo (Lineare) dei Minimi QuadratiMetodo (Lineare) dei Minimi Quadrati

Nel nostro caso, per ogni punto , abbiamo:( , )xi yi

(β) = −ri yi ∑j=0

βj xji

■ Conseguenza: i residui dipendono linearmente da ■ Per questa ragione, il metodo di soluzione che vedremo...■ ...Si chiama metodo lineare dei minimi quadrati

β

Per via della linearità, possiamo definire i residui in forma matriciale:

r = y − βV⏟m×(n+1)

■ Dove è la matrice di VandermondeV

Page 55: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Metodo (Lineare) dei Minimi QuadratiMetodo (Lineare) dei Minimi Quadrati

Pertanto il nostro problema diventa:

min e(β) = r(β r(β))T

■ è un vettore riga e un vettore colonna■ Il prodotto scalare è la somma dei residui al quadrato

rT rrrT

Di qui otteniamo:

e(β) = (y − Vβ (y − Vβ))T

E quindi:

e(β) = y − Vβ − (Vβ y − (Vβ VβyT yT )T )T

Page 56: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Metodo (Lineare) dei Minimi QuadratiMetodo (Lineare) dei Minimi Quadrati

A questo punto osserviamo che, nell'equazione:

e(β) = y − Vβ − (Vβ y − (Vβ VβyT yT )T )T

■ Tutti i termini sono scalari e possono essere trasposti a piacimento■ Per il prodotto matriciale, vale che (AB =)T BT AT

Possiamo quindi ottenere:

e(β) = y − ( Vβ − (Vβ y + (Vβ VβyT yT )T )T )T

e(β) = y − (Vβ y − (Vβ y + (Vβ VβyT )T )T )T

e(β) = y − 2 y + VβyT βT V T βT V T

Page 57: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Metodo (Lineare) dei Minimi QuadratiMetodo (Lineare) dei Minimi Quadrati

A questo punto per trovare un punto estremo possiamo risolvere

∇e(β) = 0■ Poi dovremmo valutare il numero di soluzioni possibili...■ ...E verificare se corrispondano a massimi o minimi

Page 58: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Metodo (Lineare) dei Minimi QuadratiMetodo (Lineare) dei Minimi Quadrati

A questo punto per trovare un punto estremo possiamo risolvere

∇e(β) = 0■ Poi dovremmo valutare il numero di soluzioni possibili...■ ...E verificare se corrispondano a massimi o minimi

Per poter calcolare in forma matriciale, è utile:∇e(β)■ Ottenere una formula per la "derivata" di un prodotto scalare ■ Ottenere una formula per la "derivata" di una forma quadratica

xvT

AxxT

Nelle prossime due slides vedremo come farlo...

Page 59: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Digressione: Derivata di un Prodotto ScalareDigressione: Derivata di un Prodotto Scalare

Consideriamo un prodotto scalare xvT

■ Tecnicamente, si tratta di una funzione :f : → ℝℝn

x =vT ∑i=1

nvixi

■ Il gradiente della funzione è dato da:

∇( x) = = = vvT

⎜⎜⎜⎜

∂( x)vT

x1

⋮∂( x)vT

xn

⎟⎟⎟⎟

⎝⎜⎜⎜

v1

⋮vn

⎠⎟⎟⎟

Page 60: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Digressione: Derivata di una Forma QuadraticaDigressione: Derivata di una Forma Quadratica

Consideriamo una forma quadrativca AxxT

■ Corrisponde ancora ad una funzione :f : → ℝℝn

Ax =xT ∑j=1

n

∑i=1

naijxixj

■ Derivando rispette ad otteniamo:xk

= +∂( Ax)xT

xk ∑j=1

nakjxj ∑

i=1

naikxi

Page 61: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Digressione: Derivata di una Forma QuadraticaDigressione: Derivata di una Forma Quadratica

Nell'espressione:

= +∂( Ax)xT

xk ∑j=1

nakjxj

(A)

∑i=1

naikxi

(B)

I due termini (A) e (B) corrispondono a:

(A) Il prodotto scalare di una colonna di per (B) Il prodotto scalare di una riga di per

A xA x

Quindi, in forma matriciale abbiamo:

∇( Ax) = ( + A)xxT AT

Page 62: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Metodo (Lineare) dei Minimi QuadratiMetodo (Lineare) dei Minimi Quadrati

A questo punto possiamo riprendere la discussione

Per trovare un polinomio approssimante, dobbiamo risolvere:

∇e(β) = 0Dove:

e(β) = y − 2 y + VβyT βT V T βT V T

e(β) = y − 2 β + βyT ( yV T )T

⏟vettore

βT VV T⏟matrice

Quindi, applicando le due regole di differenziazione matriciale:

−2( y) + ( V + V )β = 0V T V T V T

Page 63: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Metodo (Lineare) dei Minimi QuadratiMetodo (Lineare) dei Minimi Quadrati

La matrice è simmetrica per costruzione, infatti:VV T

( V = VV T )T V T

Quindi a partire da:

−2( y) − ( V + V )β = 0V T V T V T

Possiamo ottenere:

−2( y) − 2( V)β = 0V T V T

E finalmente otteniamo un sistema lineare!

Vβ = yV T V T

Page 64: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Metodo (Lineare) dei Minimi QuadratiMetodo (Lineare) dei Minimi Quadrati

■ Poiché è non-singolare...■ ...Anche e quindi sono non singolari

VV T VV T

Quindi il sistema lineare:

β =VV T⏟(n+1)×nV T

⏟(n+1)×my⏞

m×1

■ Ha una sola soluzione...■ ...Che corrisponde ad un estremo per e(β)Ci rimane da capire se questa corrisponda a un minimo...

Page 65: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Metodo (Lineare) dei Minimi QuadratiMetodo (Lineare) dei Minimi Quadrati

Per capire se la soluzione del sistema corrisponda al minimo...

...Usiamo le normali regole per le funzioni multivariate:

■ Calcoliamo la matrice Hessiana di ...■ ...E ci assicuriamo che sia definita positiva

e(β)

Page 66: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Metodo (Lineare) dei Minimi QuadratiMetodo (Lineare) dei Minimi Quadrati

Per capire se la soluzione del sistema corrisponda al minimo...

...Usiamo le normali regole per le funzioni multivariate:

■ Calcoliamo la matrice Hessiana di ...■ ...E ci assicuriamo che sia definita positiva

e(β)

Per ottenere possiamo derivare nuovamente:H(e(β))∇e(β) = Vβ − yV T V T

■ Applicando la regola per alle righe di otteniamo∇ xvT VV T

H(e(β)) = VV T

Page 67: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Metodo (Lineare) dei Minimi QuadratiMetodo (Lineare) dei Minimi Quadrati

Si può dimostrare (abbastanza facilmente) che:

■ Se è non singolare (come nel nostro caso)...■ ...Allora è definita positiva

VVV T

Finalmente, concludiamo che risolvendo il sistema lineare:

Vβ = yV T V T

Otteniamo un vettore di terminiβ n + 1■ Questi sono i coefficienti di un polinomio di grado ...■ ...Che minimizza la somma dei residui al quadrato

n

Questo è il metodo lineare dei minimi quadrati

Page 68: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Matrice Pseudo-InversaMatrice Pseudo-Inversa

A volte il sistema viene scritto nella forma:

β = ( V yV T )−1V T

■ Dove è una matrice ■ È nota come matrice pseudo-inversa di

( VV T )−1V T (n + 1) × mV

Perché parlarne? Perché se in Octave eseguite:

b = V \ y % divisione sinistra

■ Se è quadrata, viene risolto il sistema lineare■ Se è quadrata, viene risolto problema ai minimi quadrati

VV

Di fatto eseguire questo metodo in Octave è molto facile!

Page 69: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Metodo dei Minimi Quadrati per l'Esempio 1Metodo dei Minimi Quadrati per l'Esempio 1

Approssimazione di grado del profilo di velocità:2

Page 70: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Metodo dei Minimi Quadrati per l'Esempio 2Metodo dei Minimi Quadrati per l'Esempio 2

Approssimazione di grado della velocità di reazione:3

Page 71: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Minimi Quadrati: Funzione di RungeMinimi Quadrati: Funzione di Runge

Approssimazione di grado della funzione di Runge:2

Page 72: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Minimi Quadrati: Funzione di RungeMinimi Quadrati: Funzione di Runge

In questo caso non funziona molto bene...

Page 73: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Elementi di Informatica eElementi di Informatica eApplicazioni Numeriche TApplicazioni Numeriche T

Oltre i Polinomi

Page 74: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Approssimazione con Funzioni Non LineariApprossimazione con Funzioni Non Lineari

Nel metodo lineare dei minimi quadrati:

■ Approssimiamo una funzione ...■ ...Con una funzione approssimante

g(x)f (x, β)

Nel nostro caso era un polinomio e i coefficientif (x) β

Ma potremmo usare anche qualcosa diverso dai polinomi!

Possiamo usare qualunque funzione

■ Purché dipenda linearmente da ...■ ...dove i termini di si chiamano genericamente parametri

ββ

Page 75: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Approssimazione con Funzioni Non LineariApprossimazione con Funzioni Non Lineari

Per la precisione, possiamo usare qualunque nella forma:f (x)

f (x, β) = (x)∑j=1

nβjϕj

■ Dove è il numero dei parametri■ E ogni è una funzione arbitraria di

n(x)ϕj x

In questo caso, i residui prendono la forma:

(β) = − ( )ri yi ∑j=1

nβjϕj xi

■ Dove può essere pre-calcolato( )ϕj xi

Page 76: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Approssimazione con Funzioni Non LineariApprossimazione con Funzioni Non Lineari

In forma matriciale abbiamo:

r(β) = y − Φβ

Dove ogni termine della matrice corrisponde a Φi,j ( )ϕj xi

■ La formulazione è analoga a quella dei polinomi■ Semplicemente abbiamo invece di Φ V

Possiamo ottenere risolvendo:β

Φβ = yΦT ΦT

Esattamente come nel caso dei polinomi!

■ Condizione: deve essere non singolareΦ

Page 77: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Esempio: Funzione di RungeEsempio: Funzione di Runge

Abbiamo avuto difficoltà ad approssimare la funzione di Runge

Proviamo ad utilizzare una funzione approssimante diversa

Per esempio:

f (x, β) = + + +β1x1 β2 ( )x0⏟=1β3

11 + |x| β4

11 + x2

■ La funzione non è un polinomio■ Però dipende linearmente dai parametri β

Quindi possiamo applicare il metodo lineare dei minimi quadrati

Page 78: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Esempio: Funzione di RungeEsempio: Funzione di Runge

Assumendo di avere x = [−1, −0.33, 0.33, 1]■ Calcoliamo la matrice Φ

x1i x0

i1

1+∣∣xi ∣∣1

1+x2i

Φ =

⎜⎜⎜⎜

−1.00000−0.333330.333331.00000

1.000001.000001.000001.00000

0.500000.750000.750000.50000

0.500000.900000.900000.50000

⎟⎟⎟⎟

■ Poi calcoliamo:

β = ( Φ) yΦT ΦT

Page 79: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Esempio: Funzione di RungeEsempio: Funzione di Runge

Otteniamo questa funzione approssimante (non un gran che):

Page 80: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Esempio: Funzione di RungeEsempio: Funzione di Runge

Aumentando il numero di punti, però...

Page 81: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Esempio: Funzione di RungeEsempio: Funzione di Runge

Aumentando il numero di punti, però...

Page 82: Elementi di Informatica e Applicazioni Numeriche T (2015-2016)

Esempio: Funzione di RungeEsempio: Funzione di Runge

...L'approssimazione migliora considerevolmente!