• Non ci sono risultati.

Minimi quadrati

N/A
N/A
Protected

Academic year: 2021

Condividi "Minimi quadrati"

Copied!
11
0
0

Testo completo

(1)

Minimi quadrati

´

Angeles Mart´ınez Calomardo e Alvise Sommariva

Universit`a degli Studi di Padova

4 dicembre 2012

´

(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) di f nello spazio S = span({φk}k=1,...,m).

´

(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,

ilproblema di approssimazione ai minimi quadraticonsiste nel

risolvere ilsistema sovradeterminatoV a = 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 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 − ’) ;

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

Necessit´a: ricostruire sin(2x ) (e non funz. perturbata). Nota: non ha senso utilizzare un interpolante polinomiale p di grado n n`e una spline interpolante visto che ricostruirebbero la funzione perturbata.

´

(5)

Minimi quadrati 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 ) f i n d s the c o e f f i c i e n t s of a p o l y n o m i a l 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 l e a s t −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 |f (xi) − pN(xi)|2. ´

(6)

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

´

(7)

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 ) ; e r r i n f p=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 , e r r i n f p ) ; p a u s e( 2 ) ; end f p r i n t f(’ \ n \ n ’) ; ´

(8)

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

´

(9)

Plot risultati

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

Figura : Grafico che illustra l’approssimazione ai minimi quadrati di grado

5 su una perturbazione della funzione sin (2x ) (campionamento in nodi equispaziati)).

´

(10)

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.

´

(11)

Esercizio

Data una popolazione di individui si vuole stimare la relazione tra pressione arteriosa ed et´a. La seguente tabella riporta i dati relativi al campionamento: Et`a Pressione 25 120 30 125 42 135 55 140 69 155 70 160

Si ipotizza una relazione lineare tra le grandezze del tipo: y = ax + b

Si richiede di stimare i coefficienti della retta mediante il metodo dei minimi quadrati.

´

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

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

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