Abbiamo già visto come il calcolo della media aritmetica, utilizzano la definizione, cioè somma delle variabili diviso il conteggio, possa portare ad errori enormi. Errori di instabilità numerica e problemi di approssimazione. Per risolvere ciò ci siamo affidati all'algoritmo di Knuth.
Dove si scriveva la media come somma della media rispetto allo step precedente più un termine di aggiornamento, dato dallo scarto tra l'ultima osservazione e la media al passo precedente con peso 1/n.
Stesso discorso vale per la varianza, in quanto da luogo a problemi dal momento che utilizziamo variabili di tipo floating point. I problemi derivanti sono:
1) Problemi di approssimazione.
2) Problemi di instabilità numerica.
3) Problemi di cancellazione catastrofica(perdita significatività).
L'algoritmo di Welford
L'algoritmo che utilizziamo per il calcolo della varianza è quello di Welford, che si basa sulla seguente formula:
Che significato ha questa formula ?
Cioè: la somma dei quadrati allo step n è come la somma dei quadrati allo step n-1 più una quantità di aggiornamento. Questa quantità di aggiornamento è data tra il prodotto dell'ultima osservazione meno la media allo step precedente e l'ultima osservazione meno la media all'ultimo step. Questa è la formula che utilizziamo per implementare il calcolo della varianza. Questa formula è stata ottenuta sfruttando le due proprietà della media aritmetica:
1) La somma degli scarti dalla media è nulla.
2) La media è il centro di ordine 2.
Nessun commento:
Posta un commento