Làm thế nào để xác định lượng tử (cô lập?) Của phân phối chuẩn nhiều biến số


24

enter image description here

Tôi quan tâm đến việc làm thế nào người ta có thể tính toán một lượng tử của phân phối đa biến. Trong các hình, tôi đã rút ra 5% và 95% lượng tử của một phân phối chuẩn đơn biến nhất định (bên trái). Đối với phân phối chuẩn nhiều biến số bên phải, tôi tưởng tượng rằng một chất tương tự sẽ là một isoline bao quanh cơ sở của hàm mật độ. Dưới đây là một ví dụ về nỗ lực của tôi để tính toán điều này bằng cách sử dụng gói mvtnorm- nhưng không thành công. Tôi cho rằng điều này có thể được thực hiện bằng cách tính toán một đường viền kết quả của hàm mật độ đa biến, nhưng tôi đã tự hỏi liệu có một sự thay thế nào khác ( ví dụ , tương tự qnorm). Cảm ơn bạn đã giúp đỡ.

Thí dụ:

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
Một Mathematica giải pháp được đưa ra (và minh họa cho trường hợp 3D) tại mathematica.stackexchange.com/questions/21396/... . Nó nhận ra rằng các mức đường viền được đưa ra bởi một phân phối chi bình phương.
whuber

@whuber - bạn có phiền khi chứng minh ý của bạn bằng cách "... ellipsoid tự tin là một đường viền của nghịch đảo của ma trận hiệp phương sai"? Chúc mừng.
Marc trong hộp

2
Điều này dễ thấy nhất ở một chiều, trong đó "ma trận hiệp phương sai" (đối với phân phối lấy mẫu) là số , do đó nghịch đảo của nó là 1 / s 2 , được coi là bản đồ bậc hai trên R 1 qua x x 2 / s 2 . Một đường viền ở mức λ theo định nghĩa là tập hợp các xx 2 / s 2 = λ ; có nghĩa là, x 2 = λ ss21/s2R1xx2/s2λxx2/s2=λ hoặc tương đương x = ± x2=λs2. Khiλ1-αquantile của mộtχ2(1)phân phối,x=±λsλ1αχ2(1)1-αquantile của mộtt(1)phân phối, từ đâu chúng ta khôi phục lại các giới hạn sự tự tin thông thường±t 1 - α ; 1 s. λ1αt(1)±t1α;1s
whuber

Bạn có thể sử dụng công thức đầu tiên trong câu trả lời này bằng cách chọn in ( 0 , 1 ) để thu được hình elip S α tương ứng (đường đứt nét màu đỏ trong các ô của bạn) cho bất kỳ xR 2α(0,1)SαxR2
user603

Câu trả lời:


25

Đường đồng mức là một hình elip. Lý do là bởi vì bạn phải xem xét đối số của hàm mũ, trong pdf của phân phối chuẩn nhiều biến số: các cô lập sẽ là các dòng có cùng một đối số. Sau đó, bạn nhận được nơi Σ là ma trận hiệp phương sai. Đó chính xác là phương trình của một hình elip; trong trường hợp đơn giản nhất, μ = ( 0 , 0 )Σ là đường chéo, vì vậy bạn sẽ có được ( x

(xμ)TΣ1(xμ)=c
Σμ=(0,0)Σ NếuΣkhông phải là đường chéo, đường chéo bạn nhận được kết quả tương tự.
(xσx)2+(yσy)2=c
Σ

Bây giờ, bạn sẽ phải tích hợp pdf của đa biến bên trong (hoặc bên ngoài) hình elip và yêu cầu nó bằng với lượng tử bạn muốn. Giả sử rằng các lượng tử của bạn không phải là số lượng thông thường, nhưng về nguyên tắc hình elip (nghĩa là bạn đang tìm kiếm Vùng mật độ cao nhất, HDR, như câu trả lời của Tim chỉ ra). Tôi sẽ thay đổi biến trong pdf để , tích hợp trong các góc và sau đó cho z từ 0 đến z2=(x/σx)2+(y/σy)2z0 1-α=c Sau đó, bạn thay thế s = - z 2 / 2 :

1α=0cdzzez2/22π02πdθ=0czez2/2
s=z2/2
0czez2/2=c/20esds=(1ec/2)

Vì vậy, về nguyên tắc, bạn phải tìm kiếm các hình elip làm trung tâm trong , với trục qua vector riêng của Σ và bán kính hiệu quả - 2 ln α : ( x - μ ) T Σ - 1 ( x - μ ) = - 2 ln αμΣ2lnα

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

4

Bạn đã hỏi về đa biến thông thường, nhưng bắt đầu câu hỏi của bạn bằng cách hỏi về "lượng tử của phân phối đa biến" nói chung. Từ cách đặt câu hỏi của bạn và ví dụ được cung cấp, có vẻ như bạn quan tâm đến các khu vực mật độ cao nhất . Chúng được định nghĩa bởi Hyndman (1996) như sau

f(z)X100(1α)%R(fα)X

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

fαPr(XR(fα))1a

Y=f(x)fαPr(f(x)fα)1ααYy1,...,ymf(x) , nhưng chỉ có một tập hợp các quan sát iid. Phương pháp này cũng sẽ làm việc cho các phân phối đa phương thức.


Hyndman, RJ (1996). Tính toán và vẽ đồ thị vùng mật độ cao nhất. Nhà thống kê người Mỹ, 50 (2), 120-126.


2

Câu trả lời đúng phải là -2*ln(α). Có một sai lầm trong tính toán ở trên. Phiên bản đã sửa:

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

1

Bạn có thể vẽ một hình elip tương ứng với khoảng cách 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)

Or with circles around 95%, 75%, and 50% of data

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

4
Welcome to the site @user98114. Can you provide some text to explicate what this code is doing & how it resolves the OP's issue?
gung - Reinstate Monica
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.