¿Cómo calcular la varianza agrupada de dos o más grupos dadas las variaciones de grupo, medias y tamaños de muestra conocidos?

32

Dicen que hay m+n elementos divididos en dos grupos ( m y n ). La varianza del primer grupo es σm2 la varianza del segundo grupo es σn2 . Los propios elementos se supone que son desconocido pero sé los medios μm y μn .

¿Hay alguna manera de calcular la varianza combinada σ(m+n)2 ?

La varianza no tiene que ser imparcial, por lo que el denominador es (m+n) y no (m+n1) .

usuario1809989
fuente
Cuando dice que conoce las medias y las variaciones de estos grupos, ¿son parámetros o valores de muestra? Si son medias / variaciones de muestra, no debe usar y σ ...μσ
Jonathan Christensen
Acabo de usar los símbolos como representación. De lo contrario, habría sido difícil explicar mi problema.
user1809989
1
Para valores de la muestra, que suelen utilizar letras del alfabeto latino (por ejemplo, y s ). Las letras griegas generalmente están reservadas para los parámetros. El uso de los símbolos "correctos" (esperados) lo ayudará a comunicarse con mayor claridad. ms
Jonathan Christensen el
¡No se preocupe, lo seguiré a partir de ahora! Saludos
user1809989
1
@ Jonathan Debido a que esta no es una pregunta sobre muestras o estimación, uno puede legítimamente considerar que y σ 2 son la media real y la varianza de la distribución empírica de un lote de datos, lo que justifica el uso convencional de letras griegas en lugar de letras latinas para referirse a ellos. μσ2
whuber

Respuestas:

36

Usa las definiciones de media

μ1:n=1ni=1nxi

y varianza muestral

σ1:n2=1ni=1n(xiμ1:n)2=n1n(1n1i=1n(xiμ1:n)2)

(el último término entre paréntesis es el estimador de varianza imparcial que a menudo se calcula por defecto en el software estadístico) para encontrar la suma de los cuadrados de todos los datos . Ordenemos los índices i para que i = 1 , ... , n designe elementos del primer grupo e i = n + 1 , ... , n + m designe elementos del segundo grupo. Divida esa suma de cuadrados por grupo y vuelva a expresar las dos piezas en términos de las varianzas y las medias de los subconjuntos de datos:xiii=1,,ni=n+1,,n+m

(m+n)(σ1:m+n2+μ1:m+n2)=i=11:n+mxi2=i=1nxi2+i=n+1n+mxi2=n(σ1:n2+μ1:n2)+m(σ1+n:m+n2+μ1+n:m+n2).

Resolver algebraicamente esto para en términos de los rendimientos de otras cantidades (conocidas)σm+n2

σ1:m+n2=n(σ1:n2+μ1:n2)+m(σ1+n:m+n2+μ1+n:m+n2)m+nμ1:m+n2.

μ1:m+n=(nμ1:n+mμ1+n:m+n)/(m+n)


μ1:n=μ1+n:m+n=μ1:m+n), the solution for σm+n2 is a weighted mean of the group sample variances.

whuber
fuente
4
The "homework" tag doesn't mean the question is elementary or stupid: it's used for self-study questions that can even include research-level queries. It distinguishes routine, more or less context-free questions (of the sort that might ordinarily grace the math forum) from specific applied questions.
whuber
I cannot understand your first passage: n(σ2+μ2)=(xμ)2+nμ2=?x2 In particular I get [(xμ)2+μ2]=[x22xμ] which requires μ=0 Am I missing something? Could you please explain this?
DarioP
2
@Dario
(xμ)2+nμ2=(x22μx+nμ2)+nμ2=x22nμ2+2nμ2=x2.
whuber
Oh yes, I did a stupid sign mistake in my derivation, now is clear, thanks!!
DarioP
4
I guess this can be extended to an arbitrary number of samples as long as you have the mean and variance for each. Calculating pooled (biased) standard deviation in R is simply sqrt(weighted.mean(u^2 + rho^2, n) - weighted.mean(u, n)^2) where n, u and rho are equal-length vectors. E.g. n=c(10, 14, 9) for three samples.
Jonas Lindeløv
3

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):

spooled2=1n1+n21[(n11)s12+(n21)s22+n1n2n1+n2(x¯1x¯2)2].

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.)

Reinstate Monica
fuente
-3

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,

n(σ2+μ2)    i=1nxi2

See for yourself, e.g., in R:

> x = rnorm(10,5,2)
> x
 [1] 6.515139 8.273285 2.879483 3.624233 6.199610 3.683164 4.921028 8.084591
 [9] 2.974520 6.049962
> mean(x)
[1] 5.320502
> sd(x)
[1] 2.007519
> sum(x**2)
[1] 319.3486
> 10 * (mean(x)**2 + sd(x)**2)
[1] 323.3787
Dave Burton
fuente
it's because you forgot the n-1 factor, e.g. try with n*(mean(x)**2+sd(x)**2/(n)*(n-1))
user603
user603, what on earth are you talking about?
Dave Burton
3
Dave, mathematics is a more reliable teacher than software. In this case 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)) returns 1.414214 rather than 1. Your example needs to use sqrt(9/10)*sd(x) in place of sd(x). Interpreting "σ" as the SD of the data and "μ" as the mean of the data, your BTW remark is wrong. A program demonstrating this is 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)
whuber