Gli algoritmi per il calcolo della varianza
Per la varianza non si può utilizzare un algoritmo basato sulla defnizione della varianza perchè darebbe luogo a dei problemi nel momento in cui andiamo a utilizzare la variabile di tipo floating point come problemi di approssimazione instabilità numerica, di cancellazione catastrofica e perdita di significatività. Infatti sono stati elaborati diversi algoritmi per risolvere queste problematiche, come l’algoritmo a due passi, in cui la devianza viene calcolata come il prodotto di due differenze e non come un quadrato, o come l’algoritmo di Knuth che ad ogni passo aggiorna sia la media che la varianza impiegando la somma dei quadrati delle differenze dall’ultimo valore della media aritmetica calcolata. L’algoritmo più funzionale, tra tutti quelli proposti, risulta essere l’algoritmo di Welford che utilizza una relazione tra la somma dei quadrati nelle prime n-1 unità e la somma dei quadrati delle prime n unità.
Per ricostruire l' algoritmo di Welford dobbiamo ricordarci innanzitutto la formula utilizzata nell’algoritmo di Knuth per il calcolo della media:
Per ricostruire l' algoritmo di Welford dobbiamo ricordarci innanzitutto la formula utilizzata nell’algoritmo di Knuth per il calcolo della media:
Poi dobbiamo considerare la relazione che c'è tra lo scarto della n-esima osservazione dalla media considerando n termini e lo scarto della n-esima osservazione dalla media considerando i termini precedenti a Xn.
Ora consideriamo la somma dei quadrati si può riscrivere come segue:
questo è l'algoritmo di Welford.
Commenti
Posta un commento