Wie berechnet man die gepoolte Varianz von zwei oder mehr Gruppen bei bekannten Gruppenvarianzen, Mittelwerten und Stichprobengrößen?

32

Angenommen, es gibt Elemente, die in zwei Gruppen aufgeteilt sind ( und ). Die Varianz der ersten Gruppe ist und die Varianz der zweiten Gruppe ist . Es wird angenommen, dass die Elemente selbst unbekannt sind, aber ich kenne die und .m+nmnσm2σn2μmμn

Gibt es eine Möglichkeit, die kombinierte Varianz zu berechnen ?σ(m+n)2

Die Varianz muss nicht unverzerrt sein, daher ist der Nenner und nicht .(m+n)(m+n1)

user1809989
quelle
Wenn Sie sagen, dass Sie die Mittelwerte und Abweichungen dieser Gruppen kennen, handelt es sich um Parameter oder Stichprobenwerte? Wenn es sich um Stichprobenmittel / -abweichungen handelt, sollten Sie und nicht verwenden ...μσ
Jonathan Christensen
Ich habe die Symbole nur als Darstellung verwendet. Ansonsten wäre es schwierig gewesen, mein Problem zu erklären.
user1809989
1
Für Beispielwerte verwenden wir normalerweise lateinische Buchstaben (z B. und ). Griechische Buchstaben sind normalerweise für Parameter reserviert. Mit den "richtigen" (erwarteten) Symbolen können Sie klarer kommunizieren. ms
Jonathan Christensen
Keine Sorge, dem folge ich ab sofort! Cheers
user1809989
1
@Jonathan Da es sich nicht um Stichproben oder Schätzungen handelt, kann man zu Recht davon ausgehen, dass und der wahre Mittelwert und die Varianz der empirischen Verteilung eines Datenstapels sind, was die konventionelle Verwendung von Griechisch rechtfertigt Buchstaben statt lateinischer Buchstaben, um sich auf sie zu beziehen. σ 2μσ2
Whuber

Antworten:

36

Verwenden Sie die Definitionen des Mittelwerts

μ1:n=1ni=1nxi

und Stichprobenvarianz

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

(das letzte Glied in den Klammern ist der unvoreingenommene Varianzschätzer standardmäßig berechnet häufig in statistischer Software) auf die Summe der Quadrate findet alle Daten . Ordnen wir die Indizes i so an, dass i = 1 , , n Elemente der ersten Gruppe und i = n + 1 , , n + m Elemente der zweiten Gruppe bezeichnen. Teilen Sie die Summe der Quadrate nach Gruppen auf und drücken Sie die beiden Teile anhand der Varianzen und Mittelwerte der Teilmengen der Daten erneut aus: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).

Eine algebraische Lösung für in Bezug auf die anderen (bekannten) Größen ergibtσm+n2

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

Natürlich kann unter Verwendung des gleichen Ansatzes auch als Gruppenmittel ausgedrückt werden.μ1:m+n=(nμ1:n+mμ1+n:m+n)/(m+n)


Ein anonymer Teilnehmer weist darauf hin, dass die Lösung für σ 2 m + n ein gewichtetes Mittel von ist , wenn die Stichprobenmittelwerte gleich sind (so dass ) die Gruppenstichprobenvarianzen.μ1:n=μ1+n:m+n=μ1:m+nσm+n2

whuber
quelle
4
Das Tag "Hausaufgaben" bedeutet nicht, dass die Frage elementar oder dumm ist. Es wird für Fragen zum Selbststudium verwendet, die sogar Fragen auf Forschungsebene enthalten können. Es unterscheidet routinemäßige, mehr oder weniger kontextfreie Fragen (wie sie normalerweise im Mathematikforum vorkommen) von bestimmten angewandten Fragen.
Whuber
Ich kann Ihre erste Passage nicht verstehen: Insbesondere erhalte ich [ ( x - μ ) 2 + μ 2 ] = [ x 2 - 2 x μ ], was μ = 0 erfordertn(σ2+μ2)=(xμ)2+nμ2=?x2[(xμ)2+μ2]=[x22xμ]μ=0 Vermisse ich etwas? Könnten Sie das bitte erklären?
DarioP
2
(xμ)2+nμ2=(x22μx+nμ2)+nμ2=x22nμ2+2nμ2=x2.
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

In dieser Antwort verwende ich anstelle der in der Frage verwendeten Notation die Standardnotation für Stichprobenmittelwerte und Stichprobenabweichungen. Unter Verwendung der Standardnotation kann in O'Neill (2014) eine weitere Formel für die gepoolte Stichprobenvarianz von zwei Gruppen gefunden werden (Ergebnis 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
quelle
-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
> Mittelwert (x)
[1] 5,320502
> sd (x)
[1] 2,007519
> Summe (x ** 2)
[1] 319,3486
> 10 * (Mittelwert (x) ** 2 + SD (x) ** 2)
[1] 323,3787
Dave Burton
quelle
Das liegt daran, dass Sie den Faktor n-1 vergessen haben, z. B. versuchen Sie es mit n * (Mittelwert (x) ** 2 + sd (x) ** 2 / (n) * (n-1))
user603
user603, wovon um alles in der welt sprichst du?
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