Como calcular a variação combinada de dois ou mais grupos, considerando variações, médias e tamanhos de amostra conhecidos?

32

Digamos que há m+n elementos divididos em dois grupos ( m e n ). A variância do primeiro grupo é σm2 e a variância do segundo grupo é σn2 . Os próprios elementos são assumidas ser desconhecido mas sei os meios μm e μn .

Existe uma maneira de calcular a variância combinada σ(m+n)2 ?

A variância não precisa ser imparcial, portanto o denominador é (m+n) e não (m+n1) .

user1809989
fonte
Quando você diz que conhece os meios e as variações desses grupos, são parâmetros ou valores de amostra? Se eles são médias amostrais / variações você não deve usar e σ ...μσ
Jonathan Christensen
Eu apenas usei os símbolos como uma representação. Caso contrário, teria sido difícil explicar o meu problema.
user1809989
1
Para valores de amostra, geralmente usamos letras latinas (por exemplo, e s ). Letras gregas são geralmente reservadas para parâmetros. O uso dos símbolos "corretos" (esperados) ajudará você a se comunicar com mais clareza. ms
Jonathan Christensen
Não se preocupe, eu vou seguir isso a partir de agora! Felicidades
user1809989
1
@ Jonathan Como não se trata de amostras ou estimativas, pode-se legitimamente considerar que e σ 2 são a verdadeira média e variação da distribuição empírica de um lote de dados, justificando assim o uso convencional de letras gregas em vez de letras latinas para se referir a elas. μσ2
whuber

Respostas:

36

Use as definições de média

μ1:n=1ni=1nxi

e variação da amostra

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

(o último termo entre parênteses é o estimador de variância imparcial, geralmente calculado por padrão no software estatístico) para encontrar a soma dos quadrados de todos os dados . Vamos ordenar os índices i para que i = 1 , , n designe elementos do primeiro grupo e i = n + 1 , , n + m designe elementos do segundo grupo. Divida a soma dos quadrados por grupo e expresse novamente as duas partes em termos de variações e médias dos subconjuntos dos dados: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).

A solução algébrica para em termos de outras quantidades (conhecidas) produzσ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
fonte
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
fonte
-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
fonte
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