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

Post on 05-Oct-2021

1 views 0 download

transcript

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

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...

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

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...

Esempio: Velocità di ReazioneEsempio: Velocità di Reazione

Interpolazione/EstrapolazioneInterpolazione/Estrapolazione

Abbiamo le informazioni che ci interessano per alcuni punti

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

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

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

Interpolazione/EstrapolazioneInterpolazione/Estrapolazione

Interpolazione/EstrapolazioneInterpolazione/Estrapolazione

Elementi di Informatica eElementi di Informatica eApplicazioni Numeriche TApplicazioni Numeriche T

Polinomio Interpolante

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)

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

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

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

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ò...

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...

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

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

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

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

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

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

Elementi di Informatica eElementi di Informatica eApplicazioni Numeriche TApplicazioni Numeriche T

Polinomio di Lagrange

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

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)

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

Un Approccio AlternativoUn Approccio Alternativo

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

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

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

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

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

con Polinomi

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

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

L1: Funzione di RungeL1: Funzione di Runge

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

L1: Funzione di RungeL1: Funzione di Runge

Questo è il polinomio interpolante con n = 3

L1: Funzione di RungeL1: Funzione di Runge

Questo è il polinomio interpolante con n = 5

L1: Funzione di RungeL1: Funzione di Runge

Questo è il polinomio interpolante con n = 7

L1: Funzione di RungeL1: Funzione di Runge

Questo è il polinomio interpolante con n = 9

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

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

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

L2: Difficoltà di EstrapolazioneL2: Difficoltà di Estrapolazione

Questi sono i dati grezzi sul piano cartesiano:

L2: Difficoltà di EstrapolazioneL2: Difficoltà di Estrapolazione

Questo è il polinomio interpolante (in interpolazione)

L2: Difficoltà di EstrapolazioneL2: Difficoltà di Estrapolazione

Questo è il polinomio interpolante (in estrapolazione)

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

Elementi di Informatica eElementi di Informatica eApplicazioni Numeriche TApplicazioni Numeriche T

Metodo Lineare dei Minimi Quadrati

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.

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

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

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

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

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)

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ù!

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∗

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

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

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

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

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...

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

⎠⎟⎟⎟

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

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

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

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

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...

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(β)

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

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

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!

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

Approssimazione di grado del profilo di velocità:2

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

Approssimazione di grado della velocità di reazione:3

Minimi Quadrati: Funzione di RungeMinimi Quadrati: Funzione di Runge

Approssimazione di grado della funzione di Runge:2

Minimi Quadrati: Funzione di RungeMinimi Quadrati: Funzione di Runge

In questo caso non funziona molto bene...

Elementi di Informatica eElementi di Informatica eApplicazioni Numeriche TApplicazioni Numeriche T

Oltre i Polinomi

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

ββ

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

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Φ

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

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

Esempio: Funzione di RungeEsempio: Funzione di Runge

Otteniamo questa funzione approssimante (non un gran che):

Esempio: Funzione di RungeEsempio: Funzione di Runge

Aumentando il numero di punti, però...

Esempio: Funzione di RungeEsempio: Funzione di Runge

Aumentando il numero di punti, però...

Esempio: Funzione di RungeEsempio: Funzione di Runge

...L'approssimazione migliora considerevolmente!