Supposons qu'il existe éléments divisés en deux groupes ( et ). La variance du premier groupe est et la variance du deuxième groupe est . Les éléments eux-mêmes sont supposés inconnus, mais je connais les moyens et .
Existe-t-il un moyen de calculer la variance combinée ?
La variance ne doit pas nécessairement être impartiale, le dénominateur est donc et non .
Réponses:
Utilisez les définitions de moyenne
et variance d'échantillon
(le dernier terme entre parenthèses est l’ estimateur de variance non biaisé souvent calculé par défaut dans un logiciel statistique) pour trouver la somme des carrés de toutes les données . Ordonnons les indices i pour que i = 1 , … , n désigne les éléments du premier groupe et i = n + 1 , … , n + m désigne les éléments du deuxième groupe. Casser cette somme de carrés par groupe et reformuler les deux éléments en termes de variance et de moyenne des sous-ensembles de données:xi i i=1,…,n i=n+1,…,n+m
Résoudre algébriquement ceci pour en fonction des autres quantités (connues)σ2m+n
Bien sûr, en utilisant la même approche, peut également être exprimé en termes de moyenne de groupe.μ1:m+n=(nμ1:n+mμ1+n:m+n)/(m+n)
An anonymous contributor points out that when the sample means are equal (so thatμ1:n=μ1+n:m+n=μ1:m+n ), the solution for σ2m+n is a weighted mean of the group sample variances.
la source
sqrt(weighted.mean(u^2 + rho^2, n) - weighted.mean(u, n)^2)
wheren
,u
andrho
are equal-length vectors. E.g.n=c(10, 14, 9)
for three samples.I'm going to use standard notation for sample means and sample variances in this answer, rather than the notation used in the question. Using standard notation, another formula for the pooled sample variance of two groups can be found in O'Neill (2014) (Result 1):
This formula works directly with the underlying sample means and sample variances of the two subgroups, and does not require intermediate calculation of the pooled sample mean. (Proof of result in linked paper.)
la source
Yes, given the mean, sample count, and variance or standard deviation of each of two or more groups of samples, you can exactly calculate the variance or standard deviation of the combined group.
This web page describes how to do it, and why it works; it also includes source code in Perl: http://www.burtonsys.com/climate/composite_standard_deviations.html
BTW, contrary to the answer given above,
See for yourself, e.g., in R:
la source
R
computes the unbiased estimate of the standard deviation rather than the standard deviation of the set of numbers. For instance,sd(c(-1,1))
returns1.414214
rather than1
. Your example needs to usesqrt(9/10)*sd(x)
in place ofsd(x)
. Interpreting "n <- 10; x <- rnorm(n,5,2); m <- mean(x); s <- sd(x) * sqrt((n-1)/n); m2 <- sum(x^2); c(lhs=n * (m^2 + s^2), rhs=m2)