Vous pouvez obtenir l'écart moyen et standard, mais pas la médiane.
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
où n(0)
est le nombre de passages dans le premier ensemble de données, n(1)
est le nombre de pistes dans la seconde, et ainsi de suite, mean
est la moyenne, et var
est la variance (qui est juste l'écart-type au carré). n**2
signifie "n carré". L'obtention de la variance combinée repose sur le fait que la variance d'un ensemble de données est égale à la moyenne du carré de l'ensemble de données moins le carré de la moyenne de l'ensemble de données. Dans le langage statistique,
Var(X) = E(X^2) - E(X)^2
Les termes var(n)+mean(n)**2
nous donnent au-dessus de la partie E(X^2)
que nous pouvons combiner avec d'autres ensembles de données, puis obtenir le résultat souhaité.
En termes de valeurs médianes:
Si vous combinez exactement deux ensembles de données, alors vous pouvez être certain que la médiane combinée se situe quelque part entre les deux terre-pleins (ou égal à l'un d'eux), mais il y a peu plus que vous pouvez dire. Prendre leur moyenne devrait être OK sauf si vous voulez éviter que la médiane ne soit pas égale à un point de données.
Si vous combinez plusieurs ensembles de données en une fois, vous pouvez soit prendre la médiane des médianes, soit prendre leur moyenne. S'il peut y avoir des différences systématiques significatives entre les différents ensembles de données, il est probablement préférable de prendre leur moyenne, car le fait de prendre la médiane réduit l'effet des valeurs aberrantes. Mais si vous avez des différences systématiques entre les courses, ne pas en tenir compte n'est probablement pas une bonne chose à faire.
Bon point, mais pourriez-vous développer un peu? – Artelius
Bien sûr. Le problème avec le code original est que, si votre écart est petit par rapport à votre moyenne, vous finirez par soustraire un grand nombre d'un grand nombre pour obtenir un nombre relativement petit, ce qui vous fera perdre la précision en virgule flottante. Le nouveau code évite ce problème; plutôt que de convertir en E (X^2) et en retour, il ajoute simplement toutes les contributions à la variance totale ensemble, correctement pondérées en fonction de la taille de l'échantillon. – comingstorm
+1 pour votre réponse et commentaire. Les deux sont sur place, et très bien écrits. – duffymo