Bilinen grup varyasyonları, ortalamaları ve örneklem büyüklükleri verilen iki veya daha fazla grubun havuzlanmış varyansı nasıl hesaplanır?


32

Diyelim ki m+n elementleri iki gruba ayrıldı ( m ve n ). Birinci grubun varyansı σm2 ve ikinci grubun varyansı σn2 . Kendileri varsayılır unsurlar bilinmeyen olmak ama anlamına biliyorum μm ve μn .

Kombine varyansı σ(m+n)2 hesaplamanın bir yolu var mı ?

Varyansın tarafsız olması gerekmediğinden, payda (m+n) ve değil (m+n1) .


Bu grupların araçlarını ve varyanslarını bildiğinizi söylerken, bunlar parametre mi yoksa örnek değerler mi? Eğer örnek araçlar / varyanslarsa ve σ kullanmamalısınız ...μσ
Jonathan Christensen

Sadece sembolleri bir temsil olarak kullandım. Aksi halde sorunumu açıklamak zor olurdu.
user1809989

1
Örnek değerler için, genellikle Latin harfleri kullanırız (örneğin, ve s ). Yunanca harfler genellikle parametreler için ayrılmıştır. "Doğru" (beklenen) sembollerini kullanmak, daha net iletişim kurmanıza yardımcı olacaktır. ms
Jonathan Christensen,

Endişeye gerek yok, bundan sonra onu takip edeceğim! Şerefe
user1809989

1
Bu numuneler veya tahmin hakkında bir soru değil çünkü @Jonathan, tek meşru olduğu görüşünü alabilir ve σ 2 olan gerçek ve böylece Yunan harflerinin geleneksel kullanımını haklı ziyade, ortalama ve verilerin toplu ampirik dağılım varyansı latin harfleri onlara başvurmak. μσ2
whuber

Yanıtlar:


36

Ortalama tanımlarını kullanın

μ1:n=1ni=1nxi

ve örnek varyansı

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

(parantez içinde son dönem tarafsız varyansıdır tahmincisi genellikle istatistiksel yazılımında varsayılan olarak hesaplanan) karelerinin toplamını bulmak tüm verilerin . Dizinleri i sıralayalım ki i = 1 , , n birinci grubun öğelerini, i = n + 1 , , n + m ise ikinci grubun öğelerini belirler. Bu kareler toplamını gruba göre ayırın ve iki parçayı, verilerin alt kümelerinin varyansları ve araçları açısından yeniden ifade edin: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).

Algebraically solving this for σm+n2 in terms of the other (known) quantities yields

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

Of course, using the same approach, μ1:m+n=(nμ1:n+mμ1+n:m+n)/(m+n) can be expressed in terms of the group means, too.


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 σm+n2 is a weighted mean of the group sample variances.


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


-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

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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.