interpolazione e fit

Interpolazione ed estrapolazione

Il problema consiste nel calcolare il valore assunto da una funzione f(x) in un punto x arbitrario, noti i valori della funzione in un insieme finito di punti xi con i=1,...,N.

Se x è compresa tra due punti noti si parla di interpolazione, se è all'esterno dell'intervallo coperto dai punti noti si parla di estrapolazione.

Illustriamo qui uno dei metodi più semplici.

Interpolazione mediante polinomi

Dato un qualsiasi insieme di N punti esiste un unico polinomio di ordine N-1 passante per questi punti. È definito dalla formula di Lagrange:

PN-1(x)=i( j (x-xj)/(xi-xj) ) f(xi)

dove la sommatoria è sull'indice i e va da 1 a N, la produttoria è sull'indice j e va da 1 a N con j diverso da i

Errore

L'errore commesso sull'interpolazione della funzione f nel punto x è

r(x)=f(x)-Pn(x) con n grado del polinomio interpolatore

Se la funzione f è derivabile almeno n volte abbiamo un teorema che afferma che esiste almeno un punto appartenente all'intervallo x1...xN nel quale

r(x)=g((x-xi), dove la produttoria è su i

compreso tra 1 e N, e g è la derivata n-ma

(n=N-1) della funzione f

Esempio

Supponiamo di cercare una funzione passante per i punti (0,0), (-1,1) e (1,1).

Esempio

Il polinomio di Lagrange avrà grado 2 e sarà dato da

P2(x) = (x+1)/(0+1)*(x-1)/(0-1)*0 // i=1

+(x-0)/(-1-0)*(x-1)/(-1-1)*1 // i=2

+(x-0)/(1-0)*(x+1)/(1+1)*1 // i=3

= x*(x-1)/2+x*(x+1)/2 = x2

Esempio

Regressione (fit)

se invece abbiamo un insieme di dati sperimentali che seguono un andamento funzionale previsto da un modello teorico dipendente da un insieme di parametri possiamo usarli per

estrarre i parametri del modello

stimare l'errore su di essi

valutare la bonta' della descrizione fornita dal modello

dati prodotti da limitecentrale.c
(100000 numeri)

Fit gaussiano

ipotesi: dati gaussiani

parametri: termine costante, valor medio e sigma

risultati:

media=0.0001

errore sulla media=0.003

sigma=1.005

errore su sigma=0.002

c2 per grado di liberta' = 74.7/57

misura la bonta' del fit

Fit gaussiano (2)

modificando

limitecentrale.c e sommando

48 numeri invece di 12 (e dividendo per 2 il risultato) si ottiene una distribuzione gaussiana

migliore: c2 per grado di liberta' = 56.7/57

Fit gaussiano (3)

Se con la stessa versione

di limitecentrale.c

estraiamo solo 1000

valori invece di 100000

otteniamo praticamente

gli stessi risultati ma gli

errori sono piu' grandi

di un fattore sqrt(100)=10.

Cio' e' dovuto ai maggiori

errori statistici sul

contenuto N di ogni bin

(i quali dipendono da

sqrt(N))

Esempio: pressione atmosferica

Quota Pressione

(km) (kPa)

0 101.325

1 89.876

2 79.501

3 70.121

4 61.660

5 54.048

6 47.217

7 41.105

8 35.651

9 30.800

10 26.499

11 22.699

12 19.399

13 16.579

14 14.170

Quota Pressione

15 12.111

16 10.350

17 8.850

18 7.565

19 6.467

20 5.529

21 4.729

22 4.048

23 3.467

24 2.972

25 2.549

30 1.197

35 0.575

40 0.287

45 0.149

50 0.080

in molti casi e' possibile ricondursi mediante semplici trasformazioni a dipendenze lineari

fit lineare

il caso piu' semplice e piu' diffuso di fit e' quello lineare. La funzione che si suppone che possa descrivere i dati sperimentali e' una retta y=Ax+B.

I dati sperimentali sono n coppie di punti (xi,yi) e le incertezze (errori) su queste grandezze. Per semplicita' assumiamo che le incertezze sulle xi siano trascurabili rispetto a quelle sulle yi che chiamiamo si.

I parametri A e B si determinano minimizzando rispetto a A e B la quantita' c2=Si=1,n(( yi-(Axi+B))/si)2

le formule risultanti nella versione piu' idonea per il calcolo numerico si trovano sul testo al paragrafo 8.1.1

2007-01-11T11:50:27