Çok değişkenli normal dağılımın miktarları (izolinler) nasıl belirlenir?


24

görüntü tanımını buraya girin

Çok değişkenli dağılımın bir miktarını nasıl hesaplayabileceğimle ilgileniyorum. Rakamlarda, belirli bir tek değişkenli normal dağılımın% 5 ve% 95'lik miktarlarını çizdim (solda). Sağdaki çok değişkenli normal dağılım için, bir analogun yoğunluk fonksiyonunun temelini saran bir izolin olacağını hayal ediyorum. Aşağıda bunu paket kullanarak hesaplamaya çalıştığım bir örnek mvtnorm- ancak başarılı olamayacağım. Bunun, çok değişkenli yoğunluk fonksiyonunun sonuçlarının bir sınırını hesaplayarak yapılabileceğini düşünüyorum, ancak başka bir alternatif olup olmadığını merak ediyordum ( örneğin , analog qnorm). Yardımın için teşekkürler.

Örnek:

mu <- 5
sigma <- 2 
vals <- seq(-2,12,,100)
ds <- dnorm(vals, mean=mu, sd=sigma)

plot(vals, ds, t="l")
qs <- qnorm(c(0.05, 0.95), mean=mu, sd=sigma)
abline(v=qs, col=2, lty=2)


#install.packages("mvtnorm")
require(mvtnorm)
n <- 2
mmu <- rep(mu, n)
msigma <- rep(sigma, n)
mcov <- diag(msigma^2)
mvals <- expand.grid(seq(-2,12,,100), seq(-2,12,,100))
mvds <- dmvnorm(x=mvals, mean=mmu, sigma=mcov)

persp(matrix(mvds,100,100), axes=FALSE)
mvqs <- qmvnorm(0.95, mean=mmu, sigma=mcov, tail = "both") #?

#ex. plot   
png("tmp.png", width=8, height=4, units="in", res=400)
par(mfcol=c(1,2))

#univariate
plot(vals, ds, t="l")
qs <- qnorm(c(0.05, 0.95), mean=mu, sd=sigma)
abline(v=qs, col=2, lty=2)

#multivariate
pmat <- persp(seq(-2,12,,100), seq(-2,12,,100), matrix(mvds,100,100), axes=FALSE, shade=TRUE, lty=0)
cont <- contourLines(seq(-2,12,,100), seq(-2,12,,100), matrix(mvds,100,100), levels=0.05^2)
lines(trans3d(cont[[1]]$x, cont[[1]]$y, cont[[1]]$level, pmat), col=2, lty=2)

dev.off()

3
Bir Mathematica çözeltisi verilir (3D durum için gösterilmiştir) de olduğu mathematica.stackexchange.com/questions/21396/... . Kontur seviyelerinin ki-kare dağılımı ile verildiğini kabul eder.
whuber

@whuber - "... elipsoidin kendine güven kovaryans matrisinin tersinin bir çizgisi olduğunu" kastettiğini gösterebilir misiniz? Şerefe.
Marc,

2
Bu, "kovaryans matrisi" nin (bir örnekleme dağılımı için) , yani tersinin olduğu, bir boyutta görülmesi en kolay olanıdır , , . Düzeyinde bir kontur tanım gereği kümesidir olan ; yani, veya eşdeğerde . Tüm olan miktarsal bir dağılımı, olan miktarsal a 1 / s 2 R 1 x x 2 / s 2 λ x x 2 / s 2 = λ x 2 = λ s 2 x = ± s21/s2R1xx2/s2λxx2/s2=λx2=λs2λ1-αχ2(1)x=±λsλ1-αχ2(1) 1-at(1)±t 1 - a ; 1 sλ1-αt(1)dağıtım, bu zamanki güven sınırlarını . ±t1-α;1s
whuber

Bu cevaptaki ilk formülü, herhangi bir için karşılık gelen elips (grafiklerinizde kırmızı kesikli çizgi elde etmek için içinde seçerek kullanabilirsiniz.( 0 , 1 ) S α xR 2α(0,1)SαxR,2
kullanıcı603

Yanıtlar:


25

Kontur çizgisi bir elipsoittir. Bunun nedeni, çok değişkenli normal dağılımın pdf'sinde üstel argümanına bakmak zorunda olmanızdır: izolinler aynı argümanla aynı çizgide olacaktır. Ardından burada kovaryans matrisidir. Bu tam olarak bir elipsin denklemidir; en basit durumda, ve köşegendir, bu nedenle ise köşegen değil, aynı sonucu alırsınız kösegenlestirerek.Σ μ = ( 0 , 0 ) Σ ( x

(x-μ)TΣ-1(x-μ)=c
Σμ=(0,0)ΣΣ
(xσx)2+(yσy)2=c
Σ

Şimdi, çok değişkenli pdf'yi elipsin içine (veya dışına) dahil etmeniz ve bunun istediğiniz miktara eşit olmasını talep etmeniz gerekir. Diyelim ki kuantilleriniz normal değil, prensip olarak eliptiktir (yani, Tim cevaplarının işaret ettiği gibi, En Yüksek Yoğunluk Bölgesi, HDR'yi arıyorsunuz). değişkenleri , açıyla tümleştir ve sonra için ile Sonra : z 0 z2=(x/σx)2+(y/σy)2z0 1-α=c s = - z 2 / 2

1-α=0cdzze-z2/22π02πdθ=0cze-z2/2
s=-z2/2
0cze-z2/2=-c/20esds=(1-e-c/2)

Öyleyse, prensip olarak, merkezli , özvektörleri üzerinde ekseni ve etkili yarıçapı eksenleri olan eksenine bakmak gerekir : Σ - 2 ln α ( x - μ ) T Σ - 1 ( x - μ ) = - 2 ln αμΣ-2lnα

(x-μ)TΣ-1(x-μ)=-2lnα

4

Çok değişkenli normalden bahsettiniz, ancak sorunuzu genel olarak "çok değişkenli dağılımın miktarını" sormakla başlattınız. Sorunuzun ifadesinden ve verilen örnekten, en yüksek yoğunluklu bölgelere ilgi duyduğunuz anlaşılıyor . Hyndman (1996) tarafından aşağıdaki şekilde tanımlanmıştır.

Let , bir rastgele değişken yoğunluğu fonksiyonu . Daha sonra HDR, örnek uzayının alt kümesidir .f(z)X100(1-α)%R,(fα)X

R,(fα)={x:f(x)fα}

burada ki, en büyük sabit bir şekildedir .fαPr(XR,(fα))1-bir

HDR'ler entegrasyonla elde edilebilir, ancak Hyndman tarafından tarif edildiği gibi basit, sayısal bir yöntem kullanarak yapabilirsiniz. Eğer , daha sonra elde edebilirsiniz şekilde sadece alarak ait quantile . gözlemlerinden elde edilen örnek nicelikleri kullanılarak tahmin edilebilir . Bu yöntem tanımıyor olsak da geçerlidir , ancak yalnızca bir dizi gözlem gözlemimiz olsa da geçerlidir. Bu yöntem aynı zamanda multimodal dağılımlar için de işe yarar.Y=f(x)fαPr(f(x)fα)1-ααYy1,...,ymf(x)


Hyndman, RJ (1996). En yüksek yoğunluklu bölgelerin hesaplanması ve grafikleri. Amerikan İstatistiği, 50 (2), 120-126.


2

Doğru cevap . Yukarıdaki hesaplamada bir hata oluştu. Düzeltilmiş sürüm: -2*ln(α)

0cze-z2/2=-c/20esds=(1-e-c/2)

1

Mahalanobis mesafelerine karşılık gelen elipsler çizebilirsiniz.

library(chemometrics)
data(glass)
data(glass.grp)
x=glass[,c(2,7)]
require(robustbase)
x.mcd=covMcd(x)
drawMahal(x,center=x.mcd$center,covariance=x.mcd$cov,quantile=0.90)

Veya% 95,% 75 ve% 50 veri çevrelerinde

drawMahal(x,center=x.mcd$center,covariance=x.mcd$cov,quantile=c(0.95,.75,.5))

4
@ User98114 sitesine hoş geldiniz. Bu kodun ne yaptığını ve OP'nin sorununu nasıl çözdüğünü açıklamak için bir metin verebilir misiniz?
gung - Monica'yı yeniden yerleştirme
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.