Dicen que hay elementos divididos en dos grupos ( y ). La varianza del primer grupo es la varianza del segundo grupo es . Los propios elementos se supone que son desconocido pero sé los medios y .
¿Hay alguna manera de calcular la varianza combinada ?
La varianza no tiene que ser imparcial, por lo que el denominador es y no .
Respuestas:
Usa las definiciones de media
y varianza muestral
(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:xi i i=1,…,n i=n+1,…,n+m
Resolver algebraicamente esto para en términos de los rendimientos de otras cantidades (conocidas)σ2m+n
fuente
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.)
fuente
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:
fuente
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)