Verilerin bir gauss dağılımı olduğunda, kaç örnek onu karakterize eder?


12

Tek bir boyutta dağıtılan Gauss verileri, onu karakterize etmek için iki parametre gerektirir (ortalama, varyans) ve söylentiye göre, rasgele seçilen yaklaşık 30 örnek genellikle bu parametreleri makul derecede yüksek bir güvenle tahmin etmek için yeterlidir. Ancak boyut sayısı arttıkça ne olur?

İki boyutta (örneğin, boy, ağırlık) bir "en uygun" elipsi belirtmek 5 parametre alır. Üç boyutta, elipsoidi tanımlamak için 9 parametreye yükselir ve 4-D'de 14 parametre alır. Bu parametreleri tahmin etmek için gereken örnek sayısının karşılaştırılabilir bir oranda, daha yavaş bir oranda mı yoksa daha yüksek bir oranda mı (lütfen hayır!) Yükselip yükselmediğini bilmek istiyorum. Daha da iyisi, belirli sayıda boyutta bir gauss dağılımını karakterize etmek için kaç örnek gerektiğini gösteren geniş çapta kabul gören bir başparmak kuralı olsaydı, bunu bilmek iyi olurdu.

Daha kesin olmak gerekirse, tüm örneklerin% 95'inin düşeceğinden emin olabileceğimiz ortalama noktada ortalanmış simetrik bir "en uygun" sınır tanımlamak istediğimizi varsayalım. Bu sınıra (yaklaşık 1-B, 2-B elips, vb.) Uygun yüksek (>% 95) güven ile parametreleri bulmak için kaç örnek alabileceğini ve bu sayının nasıl değiştiğini bilmek istiyorum. boyutların sayısı artar.


3
'Pin down' ifadesinin yeterince kesin bir tanımı olmadan, tek değişkenli bir Gaussian için bile bu soruya cevap vermek gerçekten mümkün değildir.
Glen_b-Monica'yı

1
Nasıl olur: tüm numunelerin% 95'inin (ancak tüm numunelerin sadece% 95'i) tanımlanmış bir aralık / elips / elipsoid / hiperellipsoid içinde olacağından en az% 95 emin olmak gerekir?
omatai

1
Yani ... Tüm numunelerin% 95'i, ortalamanın belirli bir mesafede yer alacaktır. Bu mesafeyi (aralık / elips / elipsoid / vb.)% 95 veya daha iyi güvenle tanımlamak için kaç örnek gerekir?
omatai

1
Parametrelerden daha bağımsız bir veri değeriniz olduğunda ( boyutlarında değerler ), bunların çevresinde% 95 güven bölgesi oluşturabilirsiniz. ( Geleneksel olmayan teknikleri kullanarak daha iyisini yapabiliriz .) Bu bir cevap - kesin bir cevap - ama muhtemelen aradığınız şey bu değil. Mesele şu ki , bu soruya bir cevap almak için istenen doğrulukta bir miktar mutlak ölçek belirlemelisiniz. (d+22)d
whuber

1
Snedecor & Cochran [ İstatistiksel Yöntemler , 8. baskı] örnekleme makamlarıdır. Bu süreci bölüm 4 ve 6'da tanımlamaktadırlar: "ilk önce popülasyon standart sapmasının ... olduğunu biliyoruz." Daha sonra şöyle yazarlar: "Yöntem, bu nedenle, bir işin erken aşamalarında en kullanışlıdır. ... Örneğin, önceki küçük deneyler, yeni bir tedavinin yaklaşık% 20'lik bir artış verdiğini ve yaklaşık% 7 olduğunu gösterdi. Araştırmacı ... [ ] % 2 istiyor ve böylece veriyor, veriyor ... Bu ... genellikle yardımcı olur Daha sonraki çalışmalardaσDσ±2(7)/n=2n=25
Whuber

Yanıtlar:


7

Çok değişkenli bir Normal dağılımın parametrelerini belirli bir güven için belirtilen doğrulukta tahmin etmek için gereken veri miktarı, boyutla değişmez, diğer tüm şeyler aynıdır. Bu nedenle, herhangi bir değişiklik yapmadan yüksek boyutlu problemlere iki boyut için herhangi bir başparmak kuralı uygulayabilirsiniz.

Neden olsun ki? Sadece üç tür parametre vardır: ortalamalar, varyanslar ve kovaryanslar. Ortalamadaki tahmin hatası sadece varyans ve veri miktarına bağlıdır, . Bu nedenle, çok değişkenli bir Normal dağılıma ve varyansları , tahminleri sadece ve . Nereden, tahmin yeterli doğruluk elde etmek için tüm , sadece için gerekli veri miktarını dikkate almak gerekir sahip büyük birn(X1,X2,,Xd)Xiσi2E[Xi]σinE[Xi]Xiσi. Bu nedenle, boyutlarını arttırmak için bir dizi tahmin problemini düşündüğümüzde, düşünmemiz gereken tek şey en büyük ne kadar artacağıdır. Bu parametreler yukarıda sınırlandığında, gerekli veri miktarının boyuta bağlı olmadığı sonucuna varıyoruz .dσi

Benzer düşünceler ve kovaryanslar varyanslarını tahmin etmek için de geçerlidir : bir kovaryansın (veya korelasyon katsayısının) istenen doğrulukta tahmin edilmesi için belirli bir miktarda veri yeterli ise , o zaman - alttaki normal dağılımın benzer olması şartıyla parametre değerleri - herhangi bir kovaryans veya korelasyon katsayısını tahmin etmek için aynı miktarda veri yeterli olacaktır .σi2σij


Bu argümanı örneklendirmek ve ampirik destek sağlamak için bazı simülasyonları inceleyelim. Aşağıda belirtilen boyutların çok normal dağılımına yönelik parametreler yaratılır, bu dağıtımdan birçok bağımsız, aynı şekilde dağıtılmış vektör kümesi çekilir, bu örneklerin her birinden parametreler tahmin edilir ve bu parametre tahminlerinin sonuçları (1) ortalamaları- - tahminlerin doğruluğunu ölçen standart sapmalarının tarafsız olduğunu (ve kodun düzgün çalıştığını - ve (2) göstermek için) (Birden fazla elde edilen tahminler arasındaki varyasyon miktarını niceleyen bu standart sapmaları karıştırmayın. altta yatan multinormal dağılımı tanımlamak için kullanılan standart sapmalarla simülasyonun yinelemeleri!d değişiklikleri, değiştikçe, altta yatan multinormal dağılımın kendisine daha büyük varyanslar getirmemiz koşuluyla .d

Temel dağılımın varyanslarının boyutları, bu simülasyonda, kovaryans matrisinin en büyük öz değeri eşitlenerek kontrol edilir . Bu, bu bulutun şekli ne olursa olsun, boyut arttıkça olasılık yoğunluğunu "bulut" sınır içinde tutar. Boyut arttıkça sistemin diğer davranış modellerinin simülasyonları sadece özdeğerlerin nasıl üretildiğini değiştirerek oluşturulabilir; bir örnek (Gamma dağılımı kullanılarak) aşağıdaki kodda açıklanmıştır.1R

Aradığımız, parametre tahminlerinin standart sapmalarının, boyutu değiştiğinde önemli ölçüde değişmediğini doğrulamaktır . Bu yüzden, iki uç, sonuçlarını gösterir ve , aynı miktarda veri (kullanarak her iki durumda da). , eşit olduğunda tahmin edilen parametre sayısının, vektörlerin ( ) sayısını çok aştığı ve tüm veri kümesindeki bireysel sayıları ( ) bile aştığı dikkate değerdir .dd=2d=6030d=601890303060=1800

İki boyutla başlayalım, . Beş parametre vardır: iki varyans ( bu simülasyonda ve standart sapmaları ile ), bir kovaryans (SD = ) ve iki ortalama (SD = ve ). Farklı simülasyonlarla (rastgele tohumun başlangıç ​​değerini değiştirerek elde edilebilir) bunlar biraz değişecektir, ancak örnek boyutu olduğunda tutarlı bir şekilde karşılaştırılabilir boyutta olacaktır . Örneğin, bir sonraki simülasyonda SD'ler , , , ved=20.0970.1820.1260.110.15n=300.0140.2630.0430.040.18sırasıyla: hepsi değişti ancak karşılaştırılabilir büyüklük derecelerine sahipler.

(Bu ifadeler teorik olarak desteklenebilir ancak burada amaç tamamen ampirik bir gösteri sunmaktır.)

Şimdi taşımak , numune büyüklüğü tutma . Spesifik olarak, bu, her örneğin , her biri bileşene sahip vektörden oluştuğu anlamına gelir . standart sapmalarını listelemek yerine , aralıklarını tasvir etmek için histogramları kullanarak resimlerine bakalım.d=60n=3030601890

şekil

Üst satırdaki dağılım grafikleri, gerçek parametreleri sigma( ) ve ( ) , bu simülasyondaki yinelemesi sırasında yapılan ortalama tahminlerle karşılaştırır . Gri referans çizgileri mükemmel eşitlik odağını işaret eder: tahminler açıkça amaçlandığı gibi çalışır ve tarafsızdır.σmuμ104

Histogramlar, alt sırada, kovaryans matrisindeki (sol) ve ortalamalar (sağ) için tüm girişler için ayrı ayrı görünür. Bireysel varyansların SD'leri ve arasında yer alırken, ayrı bileşenler arasındaki kovaryansların SD'leri ve arasında yer alır : tam olarak olduğunda elde edilen aralıkta . Benzer şekilde, ortalama tahminlerin SD'leri ile arasındadır , bu da olduğunda görülenle karşılaştırılabilir . Kesinlikle pazarcı olduğunu ifade yoktur artmış olarak0.080.120.040.08d=20.080.13d=2ddan çıktım kadar .260

Kod aşağıdaki gibidir.

#
# Create iid multivariate data and do it `n.iter` times.
#
sim <- function(n.data, mu, sigma, n.iter=1) {
  #
  # Returns arrays of parmeter estimates (distinguished by the last index).
  #
  library(MASS) #mvrnorm()
  x <- mvrnorm(n.iter * n.data, mu, sigma)
  s <- array(sapply(1:n.iter, function(i) cov(x[(n.data*(i-1)+1):(n.data*i),])), 
        dim=c(n.dim, n.dim, n.iter))
  m <-array(sapply(1:n.iter, function(i) colMeans(x[(n.data*(i-1)+1):(n.data*i),])), 
            dim=c(n.dim, n.iter))
  return(list(m=m, s=s))
}
#
# Control the study.
#
set.seed(17)
n.dim <- 60
n.data <- 30    # Amount of data per iteration
n.iter <- 10^4  # Number of iterations
#n.parms <- choose(n.dim+2, 2) - 1
#
# Create a random mean vector.
#
mu <- rnorm(n.dim)
#
# Create a random covariance matrix.
#
#eigenvalues <- rgamma(n.dim, 1)
eigenvalues <- exp(-seq(from=0, to=3, length.out=n.dim)) # For comparability
u <- svd(matrix(rnorm(n.dim^2), n.dim))$u
sigma <- u %*% diag(eigenvalues) %*% t(u)
#
# Perform the simulation.
# (Timing is about 5 seconds for n.dim=60, n.data=30, and n.iter=10000.)
#
system.time(sim.data <- sim(n.data, mu, sigma, n.iter))
#
# Optional: plot the simulation results.
#
if (n.dim <= 6) {
  par(mfcol=c(n.dim, n.dim+1))
  tmp <- apply(sim.data$s, 1:2, hist)
  tmp <- apply(sim.data$m, 1, hist)
}
#
# Compare the mean simulation results to the parameters.
#
par(mfrow=c(2,2))
plot(sigma, apply(sim.data$s, 1:2, mean), main="Average covariances")
abline(c(0,1), col="Gray")
plot(mu, apply(sim.data$m, 1, mean), main="Average means")
abline(c(0,1), col="Gray")
#
# Quantify the variability.
#
i <- lower.tri(matrix(1, n.dim, n.dim), diag=TRUE)
hist(sd.cov <- apply(sim.data$s, 1:2, sd)[i], main="SD covariances")
hist(sd.mean <- apply(sim.data$m, 1, sd), main="SD means")
#
# Display the simulation standard deviations for inspection.
#
sd.cov
sd.mean

1

Bazı kısa nümerikler, standart bir normal dağılımdan oluşturulan 30 numunenin uyumu ve ardından tek değişkenli bir Gaussian'a uyması için aşağıdaki hata dağılımlarını verir.

resim açıklamasını buraya girin

Çeyrekler belirtilir. Bu varyasyon seviyesinin çok boyutlu durumda arzu edildiği varsayılmaktadır.

Toplam sonucu elde etmek için MatLab'ı yenmek için zamanım yok, bu yüzden "başparmak kuralımı" paylaşacağım. 30, genel bir kural veya sezgisel kural olarak sağlanır, bu nedenle sezgisel taramaların kabul edilemez olmadığı varsayılır.

Buluşsal yöntemim, Pascal'ın üçgenini tek değişkenli durumla çarparak kullanmaktır . resim açıklamasını buraya girin

Eğer 2d veri kullanıyorsam, o zaman 2. satıra gidip 2x örnek veya 60 örnek almak için toplamı yaparım. 3B veri için 3. satıra gidip 4x örnek veya 120 örnek elde etmek için toplarım. 5d veri için 5. satıra gidip 16x örnek veya 480 örnek elde etmek için toplarım.

İyi şanslar.

DÜZENLE:

Sezgiseldi, ama her şey matematikte savunulmalı. Bir ballpark elde etme tecrübesi ile Finite Elements'tan polinom formlarının formülasyonundan atlayamıyorum.

Pascal üçgeninin satırının toplamı için denklem . kth2k

Buradaki yaklaşım için benim fikrim, daha fazla örnekle daha yüksek boyutlu bir dağılımın AIC'sini daha az örnekle daha az boyutlu bir dağılıma eşitlemek.

Akaike Bilgi Ölçütü (AIC), ; burada artık kareler toplamıdır, örnek sayısıdır ve model için parametre sayısıdır . AIC=nlog(RSSn)+2kRSSnk

AIC1=AIC2

n1log(RSS1n1)+2k1=n2log(RSS2n2)+2k2

Elimine ettiğimiz her boyut için, ortalamanın bir satırı ve kovaryansın hem bir satırı hem de bir sütunu kaybettiği anlamına gelir. Bunu şöyle söyleyebiliriz:

k(d)=d2+d .

nın-nin

k(d+1)k(d)=2d+2

Örnek noktası başına hatanın sabit olduğu varsayılarak, kalan kareler toplamı örnek sayısı ile ilişkilidir ve logaritmadaki terim sabit kalır. Örnek sayımındaki fark bir ölçeklendirme sabiti haline gelir.

Böylece sahibiz:

n1A+2(k2+2d+2)=n2A+2k2

boyutlu numunelerde artış için çözme:

n2n1=(2(k2+2d+2)2k2)A1=(4d+4)A1

Peki ölçeklendirme işlevi nedir? 2 boyutlu çok değişkenli bir Gaussian için gereken örnek sayısının parametre başına 15 olduğunu varsayalım. Kovaryansın 2 aracı ve 4 elemanı vardır, bu nedenle 6 parametre veya 90 numune vardır. Fark 60 örnektir, . A1=5

resim açıklamasını buraya girin

Bu noktada buluşsal yöntemlerin biraz düşük başladığını ancak gerekli örnek sayısının yaklaşık 2 katı olduğunu söyleyebilirim. Benim görüşüme göre, en iyi fayda aralığı yaklaşık 4 boyuttur.

DÜZENLE:

Bu yüzden @whuber'ın cevabını okudum ve beğendim. Ampiriktir ve bu durumda otoriterdir. Cevabına oy verdim.

Aşağıda tartışmaya çalışıyorum ve ~ 300'den fazla karakter kullanabilmeyi umuyorum ve resimleri yerleştirmeyi umuyorum. Dolayısıyla cevabın sınırları içinde tartışıyorum. Umarım bu iyidir.

Bu noktada, bunun için AIC kullanımının veya örnek boyutunun ve parametre boyutlarının nasıl kullanıldığı konusunda ikna olmadım.

Sonraki adımlar:

  • @ whuber sonuçlarını kopyalayın, deneysel olarak onaylayın
  • Uygun olup olmadığını doğrulamak için AIC'yi en azından bir takım topluluk açısından test edin
  • AIC uygunsa, akıl yürütmedeki kusurları takip etmek için ampirik yöntemler kullanmaya çalışın.

Görüş ve önerilerinizi bekliyoruz.


4
Buluşsal yönteminiz için bir gerekçe sunabilir misiniz?
whuber

1
Ve 5. sıranın toplamının aslında 16 olduğunu doğrulayabilir misiniz?
omatai

1 + 4 + 6 + 4 + 1 = 1 + 10 + 5 = 16. Bunun için üzgünüm. 16 22. Eklediğimde yarı uykuda olmalıydım.
EngrStudent

1
Parametre sayısı için nasıl buluyorsunuz ? Bu çok fazla. Örneğin, bileşenlerde sadece parametre gereklidir ( ortalama, kovaryans ve korelasyon için). Bu, tavsiyenizin neden bu kadar yüksek örneklem boyutu gerektirdiğini açıklayabilir! 2d+12d=9549936
whuber

1
@whuber, hatalardan (onları öğrendikten sonra) doğru olmamdan daha fazla öğrendiğimi fark ettim. Şaşırtıcı bir şekilde, yanlış olmak yanlış olduğumu bilinceye kadar haklı olmak gibi geliyor. Teşekkür ederim. ted.com/talks/kathryn_schulz_on_being_wrong.html
EngrStudent
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.