Wie kann eine laufende Standardabweichung effizient berechnet werden?

Ich habe eine Reihe von Nummernlisten, z.

[0] (0.01, 0.01, 0.02, 0.04, 0.03)
[1] (0.00, 0.02, 0.02, 0.03, 0.02)
[2] (0.01, 0.02, 0.02, 0.03, 0.02)
     ...
[n] (0.01, 0.00, 0.01, 0.05, 0.03)

Ich möchte den Mittelwert und die Standardabweichung für jeden Index einer Liste über alle Array-Elemente hinweg effizient berechnen.

Um den Mittelwert zu erreichen, habe ich das Array durchlaufen und den Wert an einem bestimmten Index einer Liste summiert. Am Ende dividiere ich jeden Wert in meiner "Durchschnittsliste" durchn.

Um die Standardabweichung zu machen, schleife ich noch einmal durch, nachdem ich den Mittelwert berechnet habe.

Ich möchte vermeiden, das Array zweimal durchzugehen, einmal für den Mittelwert und dann einmal für den SD (nachdem ich einen Mittelwert habe).

Gibt es eine effiziente Methode zur Berechnung beider Werte, die das Array nur einmal durchläuft? Jeder Code in einer interpretierten Sprache (z. B. Perl oder Python) oder Pseudocode ist in Ordnung.

Antworten auf die Frage(14)

Ihre Antwort auf die Frage