• Non ci sono risultati.

Minimi quadrati

N/A
N/A
Protected

Academic year: 2021

Condividi "Minimi quadrati"

Copied!
13
0
0

Testo completo

(1)

Minimi quadrati

´

Angeles Mart´ınez Calomardo e Alvise Sommariva

Universit`a degli Studi di Padova

4 dicembre 2013

´

(2)

Approssimazione ai minimi quadrati

Sia fissata una certa funzione f : Ω ⊂ R → R di cui `e noto il valore nei punti {xk}k=1,...,n⊂ Ω. Hp. f ∈ C (Ω), Ω = (a, b)

anche non limitato (per semplicit`a , si pu`o generalizzare). Siano date m funzioni lin. indip. φ1, . . ., φm: Ω ⊂ R → R.

Si cerchino a = (aj)j=1,...,m per cui la funzione

ψ∗(x) =

m

X

j=1

ajφj(x)

minimizzatra tutte le funzioni del tipo ψ(x) =Pm

j=1cjφj(x), kf − ψk2,d := v u u t n X k=1 |f (xk) − ψ(xk)|2 = v u u t n X k=1 |f (xk) − m X j=1 cjφj(xk)|2

La funzione ψ∗ si diceapprossimante ai minimi quadrati (discreti)

(3)

Approssimazione ai minimi quadrati e sistemi lineari

Posto kxk2 :=pPnk=1|xk|2 e definiti

V la matrice n × m le cui componenti sono Vi ,j = φj(xi),

y il vettore n × 1 le cui componenti sono yk = f (xk),

a il vettore m × 1 le cui componenti sono ak,

il problema di approssimazione ai minimi quadraticonsiste nel risolvere il sistema sovradeterminato Va = y cosicch`e sia minima kV a − yk2 in quanto kV a − yk2 = v u u t n X k=1 |yk− (V a)k|2 = v u u t n X k=1 |yk− m X j=1 Vk,jaj|2 = v u u t n X k=1 |f (xk) − m X j=1 ajφj(xk)|2 = kf − m X j=1 ajφjk2,d

NB: Si osservi che V `e rettangolare e il problema V a = y potrebbe non avere sol. classica a.

´

(4)

Minimi quadrati polinomiali e smoothing

Digitiamo sulla shell di Matlab

>> x= 0 : 0 . 0 1 : 2 ∗p i; >> y=s i n(2 ∗ x ) +(10ˆ( −1) ) ∗r a n d(s i z e( x ) ) ; >> p l o t( x , y ,’ r− ’) ; 0 1 2 3 4 5 6 7 −1 −0.5 0 0.5 1 1.5

(5)

Minimi quadrati polinomiali e smoothing

Interpretazione: perturbazione della funzione sin(2x) nell’intervallo [0, 2π].

Necessit´a: ricostruire sin(2x) (e non funz. perturbata). Soluzione: ricostruzione della funzione di cui si hanno i campionamenti con un polinomio di grado adeguato.

Nota: non ha senso utilizzare un interpolante polinomiale p di grado n n`e una spline interpolante visto che ricostruirebbero la funzione perturbata.

´

(6)

Minimi quadrati polinomiali e polyfit

Scriviamo sulla shell di Matlab/Octave help polyfit. In una recente release di Matlab appare

P O L Y F I T Fit p o l y n o m i a l to d a t a.

P O L Y F I T( X , Y , N ) finds the c o e f f i c i e n t s of a polynomial P ( X ) of d e g r e e N t h a t f i t s the data, P ( X ( I ) )˜=Y ( I ) , in a least −squares sense .

In altri termini polyfit calcola i coefficienti del polinomio pN di

grado N che meglio approssima (in norma 2 discreta) la funzione f avente nel vettore di nodi X i valori Y (cio`e Y (i ) := f (X (i ))). Operativamente si cerca il polinomio pN per cui risulta minima

kf − pNk2,d =

s X

i

(7)

Applicazione polyfit

Posto f (x) = sin (2x) e ˜f(x) = sin (2x) + δ(x), confrontiamo graficamente per n = 2, . . . , 8, nei nodi xk = kh, h = 2π/999,

k = 0, . . . , 999, la funzione perturbata f (x) = sin (2x) + δ(x) con la approssimante ai minimi quadrati p∗n.

Valutiamo per n = 2, . . . , 8 la quantit`a kf − pn∗k2,d e

k˜f − pn∗k2,d.

Valutiamo per n = 2, . . . , 8 la quantit`a kf − pn∗k∞,d e

k˜f − pn∗k∞,d, dove ricordiamo

kg k∞,d = max

k=0,...,999|g (xk)|.

´

(8)

Applicazione polyfit

Salviamo in esempio.m:

x=l i n s p a c e( 0 , 2 ∗p i, 1 0 0 0 ) ;

y=s i n(2 ∗ x ) ; yy=y +(10ˆ( −1) ) ∗r a n d(s i z e( x ) ) ;

f o r n=2:8

c o e f f=p o l y f i t( x , yy , n ) ; % COEFFS . BEST APPROX (B . A . )

z=p o l y v a l( coeff , x ) ; % VALORE B . A . NEI NODI ” x ” .

p l o t( x , yy ,’ r − ’, x , z ,’ k− ’) ;

e r r 2=norm( z−y , 2 ) ; err2p=norm( z−yy , 2 ) ; % ERRS .

e r r i n f=norm( z−y , inf ) ; errinfp=norm( z−yy , inf ) ; % ERRS .

f p r i n t f(’ \n\ t [ DEG] : % 2 . 0 f ’, n ) ;

f p r i n t f(’ [ 2 ] : % 2 . 2 e %2.2 e ’, err2 , err2p ) ;

f p r i n t f(’ [ INF ] : % 2 . 2 e %2.2 e ’, errinf , errinfp ) ;

p a u s e( 2 ) ;

end

(9)

Risultati

>>% [ ERR . ] [ 2 ] : SIN.−SIN PERT . [ INF ] : SIN.− SIN PERT . >> e s e m p i o

[ DEG ] : 2 [ 2 ] : 2 . 0 6 e+01 2 . 0 6 e+01 [ INF ] : 1 . 1 3 e+00 1 . 1 3 e+00 [ DEG ] : 3 [ 2 ] : 1 . 8 9 e+01 1 . 8 9 e+01 [ INF ] : 1 . 1 6 e+00 1 . 1 6 e+00 [ DEG ] : 4 [ 2 ] : 1 . 8 9 e+01 1 . 8 9 e+01 [ INF ] : 1 . 1 6 e+00 1 . 1 6 e+00 [ DEG ] : 5 [ 2 ] : 6 . 8 6 e+00 6 . 8 6 e+00 [ INF ] : 6 . 6 7 e−01 6 . 6 4 e−01 [ DEG ] : 6 [ 2 ] : 6 . 8 6 e+00 6 . 8 6 e+00 [ INF ] : 6 . 6 8 e−01 6 . 6 4 e−01 [ DEG ] : 7 [ 2 ] : 1 . 2 3 e+00 1 . 2 2 e+00 [ INF ] : 1 . 4 8 e−01 1 . 4 4 e−01 [ DEG ] : 8 [ 2 ] : 1 . 2 3 e+00 1 . 2 2 e+00 [ INF ] : 1 . 4 7 e−01 1 . 4 4 e−01 >>

´

(10)

Plot risultati

0 1 2 3 4 5 6 7 −1.5 −1 −0.5 0 0.5 1 1.5

(11)

Nota: polyfit e interpolazione

Supponiamo fissati i punti {xk}k=1,...,m (a due a due distinti) e sia

pm−1 il polinomio che interpola le coppie (xk,f (xk)) per

k = 1, . . . , m. Evidentemente da f (xi) = pm−1(xi) per i = 1, . . . , m abbiamo kf − pm−1k2,d = v u u t m X i=1 |f (xi) − pm−1(xi)|2 = 0,

e quindi il polinomio interpolatore risulta la approssimante ai minimi quadrati di f (relativa alla norma 2 discreta basata sui punti {xk}k=1,...,m).

Di conseguenza, il comando coeffs=polyfit(x,y,n-1) dar`a i coefficienti del polinomio interpolatore qualora i vettori x, y abbiano dimensione n.

´

(12)

Esercizio

Si consideri il Monthly Report on the International Sunspot number, reperibile dal file sunspots.m (vedi anche

http://sidc.oma.be/sunspot-data/). X=[ 1 72 8 64 2 69 9 60 3 84 9 75 4 87 16 71 . . . 27 50 0 50 28 68 8 60 29 67 7 60 30 65 9 5 6 ] ;

(13)

Esercizio

1 Eseguire per ogni parametro, il plot al variare del giorno e

sovrapporre i plots in un unico grafico.

2 Dei dati a disposizione, si calcoli tramite il comando polyfit

la approssimante polinomiale (nel senso dei minimi quadrati) di grado 5 delle coppie (data,parametro Ri ), (data,parametro Rn), (data,parametro Rs).

3 Dei dati a disposizione, si calcoli tramite il comando polyfit

la approssimante polinomiale (nel senso dei minimi quadrati) di grado 10 delle coppie (data,parametro Ri ), (data,parametro Rn), (data,parametro Rs).

´

Riferimenti

Documenti correlati

presentare forti oscillazioni tra un nodo e l’altro soprattutto verso gli estremi dell’intervallo, rappresentando male l’andamento dei dati (fenomeno di Runge). Inoltre un polinomio

quasi sempre va risolto con metodi numerici iterativi, al computer in alcuni casi particolari, esiste la soluzione analitica (es.: fit lineare)... altrimenti lo accetto, e i valori

Osserviamo che non sempre le funzioni polinomiali a tratti di grado m sono di classe C m−1 come invece lo sono le splines.. Mentre le funzioni a tratti di grado m richiedono che

Ricordiamo che in generale, non ha senso cercare un grado troppo alto del polinomio di miglior approssimazione p N in quanto si otterrebbe a partire da un certo valore il

Si noti come in quest’ultimo teorema si afferma come non solo come la spli- ne approssima la funzione, ma come pure le sue derivate convergano uniformemente alle rispettive

Ricordiamo che in generale, non ha senso cercare un grado troppo alto del poli- nomio di miglior approssimazione p N in quanto si otterrebbe a partire da un certo valore il

Si può dimostrare usando la procedura di Gram-Schmidt che una tal famiglia tri- angolare di polinomi esiste e con la stessa procedura costruirla direttamente; inoltre è

L’unicit´a dell’interpolante `e legata (ma non solo!) all’aggiungere alcune propriet´a della spline agli estremi x 0 , x n.. tratti di grado 3 Spline cubica naturale intp.. 301)..