Sie können die mittlere und Standardabweichung, aber nicht den Median erhalten.
new_n = (n(0) + n(1) + ...)
new_mean = (mean(0)*n(0) + mean(1)*n(1) + ...)/new_n
new_var = ((var(0)+mean(0)**2)*n(0) + (var(1)+mean(1)**2)*n(1) + ...)/new_n - new_mean**2
wo n(0)
die Anzahl der Durchläufe in der ersten Datenmenge ist, n(1)
ist die Anzahl der Durchläufe in den zweiten, und so weiter, ist mean
der Mittelwert und var
die Varianz (die nur Standardabweichung kariert). n**2
bedeutet "n Quadrat".
Die Ermittlung der kombinierten Varianz basiert auf der Tatsache, dass die Varianz eines Datensatzes gleich dem Mittelwert des Quadrats des Datensatzes minus dem Quadrat des Mittelwerts des Datensatzes ist. In der statistischen Sprache,
Var(X) = E(X^2) - E(X)^2
Die var(n)+mean(n)**2
Begriffe oben geben uns den E(X^2)
Teil, die wir mit anderen Datensätzen dann kombinieren, und dann das gewünschte Ergebnis erhalten.
In Bezug auf die Mediane:
Wenn Sie genau zwei Datensätze kombiniert, dann können Sie sicher sein, dass die kombinierte mittlere irgendwo zwischen den beiden Mediane liegt (oder gleich einer von ihnen), aber es gibt wenig mehr, was du sagen kannst. Der Durchschnittswert sollte in Ordnung sein, es sei denn, Sie möchten vermeiden, dass der Median einem Datenpunkt entspricht.
Wenn Sie viele Datensätze auf einmal kombinieren, können Sie entweder den Median der Mediane nehmen oder deren Durchschnittswert nehmen. Wenn zwischen den verschiedenen Datensätzen signifikante systematische Unterschiede bestehen, ist es wahrscheinlich besser, ihren Durchschnittswert zu verwenden, da der Median den Effekt von Ausreißern verringert. Aber wenn Sie systematische Unterschiede zwischen Läufen haben, ist es wahrscheinlich nicht gut, sie zu ignorieren.
Guter Punkt, aber könnten Sie es ein wenig erweitern? – Artelius
Sicher. Das Problem mit dem ursprünglichen Code ist, wenn Ihre Abweichung im Vergleich zu Ihrem Mittelwert klein ist, Sie am Ende eine große Zahl von einer großen Zahl subtrahieren, um eine relativ kleine Zahl zu erhalten, die dazu führen wird, dass Sie Gleitkomma-Genauigkeit verlieren. Der neue Code vermeidet dieses Problem; Anstatt zu E (X^2) und zurück zu konvertieren, addiert es einfach alle Beiträge zur Gesamtvarianz zusammen, entsprechend ihrer Stichprobengröße gewichtet. – comingstorm
+1 für Ihre Antwort und Kommentar. Beide sind genau richtig und sehr gut geschrieben. – duffymo