Ein Abschnitt im Wikipedia-Artikel über "Algorithmen zur Berechnung der Varianz" zeigt, wie die Varianz berechnet wird, wenn Ihren Beobachtungen Elemente hinzugefügt werden. (Denken Sie daran, dass die Standardabweichung die Quadratwurzel der Varianz ist.) Angenommen, Sie fügen an Ihr Array anxn + 1
σ2n e w= σ2o l d+ ( xn + 1- μn e w) ( xn + 1- μo l d) .
EDIT : Die obige Formel scheint falsch zu sein, siehe Kommentar.
Wenn Sie nun ein Element ersetzen, müssen Sie eine Beobachtung hinzufügen und eine andere entfernen. beide können mit der obigen Formel berechnet werden. Beachten Sie jedoch, dass Probleme mit der numerischen Stabilität auftreten können. der zitierte Artikel schlägt auch numerisch stabile Varianten vor.
Um die Formel selbst abzuleiten, berechnen Sie Verwendung der Definition der Stichprobenvarianz und setzen Sie μ n e w gegebenenfalls durch die von Ihnen angegebene Formel ein. Dies ergibt am Ende σ 2 n e w - σ 2 o l d und somit eine Formel für σ n e w mit σ o l d und( n - 1 ) ( σ2n e w- σ2o l d)μn e wσ2n e w- σ2o l dσn e wσo l d . In meiner Notation gehe ich davon aus, dass Sie das Element x n durch x ′ n ersetzen:μo l dxnx′n
σ2( n - 1 ) ( σ2n e w- σ2o l d)===( n - 1 )- 1∑k( xk- μ )2∑k = 1n - 1( ( xk- μn e w)2- ( xk- μo l d)2)+ ( ( x ′n- μn e w)2- ( xn- μo l d)2)∑k = 1n - 1( ( xk- μo l d- n- 1( x′n- xn) )2- ( xk- μo l d)2)+ ( ( x ′n- μo l d- n- 1( x′n- xn) )2- ( xn- μo l d)2)
Das in der Summe transformiert sich in etwas, das von μ o l d abhängt , aber Sie müssen die Gleichung ein wenig genauer ausführen, um ein ordentliches Ergebnis zu erhalten. Dies sollte Ihnen die allgemeine Idee geben.xkμo l d