วิธีการหาปริมาณ (แยก) ของการแจกแจงปกติหลายตัวแปร


24

ป้อนคำอธิบายรูปภาพที่นี่

ฉันสนใจว่าจะคำนวณการกระจายของหลายตัวแปรแบบควอไทล์ได้อย่างไร ในรูปฉันได้วาดควอนไทล์ 5% และ 95% ของการแจกแจงแบบปกติแบบไม่มีตัวแปร (ซ้าย) สำหรับการกระจายตัวแบบหลายตัวแปรที่ถูกต้องฉันจินตนาการว่าอะนาล็อกจะเป็นสายเดี่ยวที่ล้อมรอบฐานของฟังก์ชันความหนาแน่น ด้านล่างเป็นตัวอย่างของความพยายามของฉันในการคำนวณโดยใช้แพคเกจmvtnorm- แต่ไม่ประสบความสำเร็จ ฉันคิดว่าสิ่งนี้สามารถทำได้โดยการคำนวณรูปร่างของผลลัพธ์ของฟังก์ชันความหนาแน่นหลายตัวแปร แต่ฉันสงสัยว่ามีทางเลือกอื่น ( เช่นแบบอะนาล็อกqnorm) ขอบคุณสำหรับความช่วยเหลือของคุณ.

ตัวอย่าง:

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
Mathematicaแก้ปัญหาคือการที่กำหนด (และภาพประกอบสำหรับกรณี 3D) ที่mathematica.stackexchange.com/questions/21396/... มันรับรู้ว่าระดับเส้นชั้นความสูงได้รับจากการแจกแจงแบบไคสแควร์
whuber

@whuber - คุณจะแสดงให้เห็นถึงสิ่งที่คุณหมายถึงโดย "... ความเชื่อมั่นทรงรีเป็นรูปร่างของอินเวอร์สของเมทริกซ์ความแปรปรวนร่วม" ไชโย
Marc ในกล่อง

2
นี่เป็นวิธีที่ง่ายที่สุดที่จะเห็นในมิติเดียวที่ "เมทริกซ์ความแปรปรวนร่วม" (สำหรับการแจกแจงการสุ่มตัวอย่าง) คือตัวเลขดังนั้นผกผันของมันคือคิดเป็นแผนที่กำลังสองบนผ่าน 2 รูปร่างที่ระดับตามคำนิยามคือชุดของซึ่ง ; นั่นคือหรือเท่า s เมื่อคือ quantile ของ aการแจกแจงคือ quantile ของ 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-αt(1)±t 1 - α ; 1 sλ1αt(1)การกระจายจากที่ใดที่เรากู้คืนขีดจำกัดความเชื่อมั่นปกติวิ ±t1α;1s
whuber

คุณสามารถใช้สูตรแรกในคำตอบนี้โดยเลือกในเพื่อรับ ellipseสอดคล้องกัน(เส้นประสีแดงในแปลงของคุณ) สำหรับ( 0 , 1 ) S α xR 2α(0,1)SαxR2
user603

คำตอบ:


25

เส้นชั้นความสูงเป็นรูปวงรี เหตุผลก็เพราะคุณต้องดูอาร์กิวเมนต์ของเลขชี้กำลังในรูปแบบ pdf ของการแจกแจงปกติหลายตัวแปร: ตัวแยกจะเป็นเส้นที่มีอาร์กิวเมนต์เดียวกัน จากนั้นคุณจะได้รับ โดยที่คือเมทริกซ์ความแปรปรวนร่วม นั่นคือสมการของวงรี ในกรณีที่ง่ายที่สุดและเป็นแนวทแยงดังนั้นคุณจะได้ ถ้าไม่เป็นแนวทแยงทำให้คุณได้ผลลัพธ์ที่เหมือนกันΣ μ = ( 0 , 0 ) Σ ( x

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

ทีนี้คุณจะต้องรวมไฟล์ PDF ของหลายตัวแปรใน (หรือนอก) วงรีแล้วขอให้นี่เท่ากับควอนไทล์ที่คุณต้องการ สมมติว่าควอไทล์ของคุณไม่ใช่แบบปกติ แต่เป็นรูปไข่ในหลักการ (เช่นคุณกำลังมองหาพื้นที่ความหนาแน่นสูงสุด HDR แบบที่ทิมตอบ) ฉันจะเปลี่ยนตัวแปรใน pdf เป็นรวมเข้ากับมุมแล้วสำหรับจากถึง แล้วคุณแทน : z 0 Z2=(x/σx)2+(Y/σY)2Z0 1-α= s = - Z 2 / 2

1-α=0dZZอี-Z2/22π02πdθ=0Zอี-Z2/2
s=-Z2/2
0Zอี-Z2/2=-/20อีsds=(1-อี-/2)

โดยหลักการแล้วคุณต้องมองหาวงรีที่มีศูนย์กลางอยู่ที่โดยมีแกนอยู่เหนือ eigenvectors ของและรัศมีที่มีประสิทธิภาพ : Σ - 2 LN α ( x - μ ) T Σ - 1 ( x - μ ) = - 2 LN αμΣ-2LNα

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

4

คุณถามเกี่ยวกับหลายตัวแปรปกติ แต่เริ่มต้นคำถามของคุณด้วยการถามเกี่ยวกับ "การกระจายของตัวแปรหลายตัวแปร" โดยทั่วไป จากถ้อยคำของคำถามและเป็นตัวอย่างที่มีให้คุณดูเหมือนว่าคุณมีความสนใจในภูมิภาคหนาแน่นสูงสุด พวกเขาถูกกำหนดโดย Hyndman (1996) ดังต่อไปนี้

ให้เป็นฟังก์ชั่นความหนาแน่นของตัวแปรสุ่มXจากนั้น HDR คือชุดย่อย ของพื้นที่ตัวอย่างของเช่นนั้น(Z)X100(1-α)%R(α)X

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

ที่เป็นที่ใหญ่ที่สุดอย่างต่อเนื่องดังกล่าวว่าαราคา(XR(α))1-a

HDR สามารถหาได้จากการรวม แต่ตาม Hyndman คุณสามารถทำได้โดยใช้วิธีตัวเลขที่ง่ายกว่า หากแล้วคุณสามารถขอรับดังกล่าวว่าโดยเพียงแค่การ quantile ของYมันสามารถใช้ประมาณquantiles ตัวอย่างจากชุดของการสังเกตy_1,วิธีการนี้ใช้แม้ว่าเราจะไม่รู้แต่มีเพียงชุดของการสังเกต iid วิธีนี้จะใช้ได้กับการกระจายแบบหลายค่าY=(x)αราคา((x)α)1-ααYY1,...,Yม.(x)


Hyndman, RJ (1996) การคำนวณและการกราฟพื้นที่ที่มีความหนาแน่นสูงสุด นักสถิติชาวอเมริกัน 50 (2), 120-126


2

คำตอบที่ถูกต้องควรจะalpha) มีข้อผิดพลาดในการคำนวณข้างต้น รุ่นที่แก้ไข: -2* * * *LN(α)

0Zอี-Z2/2=-/20อีsds=(1-อี-/2)

1

คุณสามารถวาดวงรีที่สอดคล้องกับระยะทาง Mahalanobis

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)

หรือกับวงกลมประมาณ 95%, 75% และ 50% ของข้อมูล

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

4
ยินดีต้อนรับสู่เว็บไซต์ @ user98114 คุณสามารถให้ข้อความเพื่ออธิบายสิ่งที่รหัสนี้กำลังทำอยู่และจะแก้ไขปัญหาของ OP ได้อย่างไร
gung - Reinstate Monica
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.