Es ist seit langem bekannt, dass die von Ihnen verwendeten Formeln numerisch instabil sind. Wenn die quadratischen Mittelwerte im Vergleich zu den Varianzen groß sind und / oder die Mittelwerte im Vergleich zu den Kovarianzen groß sind, kann der Unterschied im Zähler und in den in Klammern gesetzten Begriffen im Nenner Probleme mit der katastrophalen Löschung haben .
Dies kann manchmal zu berechneten Varianzen oder Kovarianzen führen, die nicht einmal eine einzige Ziffer der Genauigkeit beibehalten (dh schlechter als nutzlos sind).
Verwenden Sie diese Formeln nicht. Sie machten Sinn, wenn Menschen von Hand berechneten , wo man sehen konnte, und sich mit solchen Präzisionsverlusten befassten, wenn dies passierte - z. B. ging der Verwendung dieser Formeln normalerweise das Entfernen der gemeinsamen Ziffern voraus, also Zahlen wie diese:
8901234.567...
8901234.575...
8901234.412...
hätte zuerst (zumindest) 8901234 abgezogen - was viel Zeit bei der Arbeit sparen und das Stornierungsproblem vermeiden würde. Mittelwerte (und ähnliche Mengen) würden dann am Ende wieder angepasst, während Varianzen und Kovarianzen unverändert verwendet werden könnten.
Ähnliche Ideen (und andere Ideen) können mit Computern verwendet werden, aber Sie müssen sie wirklich die ganze Zeit verwenden, anstatt zu erraten, wann Sie sie möglicherweise benötigen.
Effiziente Wege, um mit diesem Problem umzugehen, sind seit über einem halben Jahrhundert bekannt - siehe z. B. Welfords Artikel von 1962 [1] (in dem er Varianz- und Kovarianzalgorithmen für einen Durchgang angibt - stabile Algorithmen für zwei Durchgänge waren bereits bekannt). Chan et al. [2] (1983) vergleichen eine Reihe von Varianzalgorithmen und bieten eine Möglichkeit, zu entscheiden, wann welche verwendet werden sollen (obwohl in den meisten Implementierungen im Allgemeinen nur ein Algorithmus verwendet wird).
Siehe die Diskussion von Wikipedia zu diesem Thema in Bezug auf Varianz und die Diskussion über Varianzalgorithmen .
Ähnliche Kommentare gelten für die Kovarianz.
[1] BP Welford (1962),
"Anmerkung zu einer Methode zur Berechnung korrigierter Summen von Quadraten und Produkten",
Technometrics Vol. 4, Iss. 3, 419-420
(Citeseer Link )
[2] TF Chan, GH Golub und RJ LeVeque (1983)
"Algorithmen zur Berechnung der Stichprobenvarianz: Analyse und Empfehlungen",
The American Statistician , Vol. 37, No. 3 (Aug.1983), S. 242-247
Tech Report Version