• 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

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

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

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