बहुभिन्नरूपी सामान्य वितरण की मात्राओं (आइसोलेट्स) का निर्धारण कैसे करें


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.stackexchange.com/questions/21396/… पर एक गणितीय समाधान (और 3D केस के लिए सचित्र) दिया गया है । यह मानता है कि समोच्च स्तर एक ची-चुकता वितरण द्वारा दिए गए हैं।
whuber

@whuber - क्या आप "क्या मतलब है ..." का प्रदर्शन करते हुए विश्वास करेंगे कि आत्मविश्वास दीर्घवृत्ताकार सहसंयोजक मैट्रिक्स के विलोम का एक समोच्च है? चीयर्स।
बॉक्स में मार्क

2
यह एक आयाम है, जहां "सहप्रसरण मैट्रिक्स" (एक नमूना वितरण के लिए) एक संख्या है में देखने के लिए सबसे आसान है , इसलिए इसके उल्टा होता है 1 / एस 2 , पर एक द्विघात नक्शे के रूप में के बारे में सोचा आर 1 के माध्यम से एक्स एक्स 2 / एस 2 । स्तर λ पर एक समोच्च परिभाषा के अनुसार x का सेट है जिसके लिए x 2 / s 2 = λ ; जो है, x 2 = λ रों 2 या समतुल्य एक्स = ± s21/s2R1xx2/s2λxx2/s2=λx2=λs2। जबλहै1-αएक की quantileχ2(1)वितरण,x=±λsλ1αχ2(1) है1-αएक की quantileटी(1), वितरण जिस कारण से हम हमेशा की तरह आत्मविश्वास सीमा को ठीक±टी 1 - α ; 1 एसλ1αt(1)±t1α;1s
whuber

आप में पहली फार्मूला इस्तेमाल कर सकते हैं इस का चयन करके जवाब में ( 0 , 1 ) इसी अंडाकार प्राप्त करने के लिए एस α किसी के लिए (लाल धराशायी अपने भूखंडों में लाइन) एक्सआर 2α(0,1)SαxR2
user603

जवाबों:


25

समोच्च रेखा एक दीर्घवृत्त है। इसका कारण यह है कि आपको बहुभिन्नरूपी सामान्य वितरण के पीडीएफ में घातांक के तर्क को देखना होगा: आइसोलेट्स एक ही तर्क के साथ रेखाएं होंगी। फिर आपको जहां Σ सहसंयोजक मैट्रिक्स है। यह वास्तव में एक दीर्घवृत्त का समीकरण है; सबसे सरल मामले में, μ = ( 0 , 0 ) और di विकर्ण है, इसलिए आपको मिलता है ( x)

(xμ)TΣ1(xμ)=c
Σμ=(0,0)Σ यदिalविकर्ण नहीं है, तो विकर्ण करके आपको समान परिणाम मिलता है।
(xσx)2+(yσy)2=c
Σ

अब, आपको ellipse के अंदर (या बाहर) बहुभिन्नरूपी के पीडीएफ को एकीकृत करना होगा और अनुरोध करना होगा कि यह आपके इच्छित मात्रा के बराबर है। मान लीजिए कि आपके क्वांटाइल्स सामान्य नहीं हैं, लेकिन सिद्धांत रूप में अण्डाकार हैं (जैसे कि आप टिम उत्तर बिंदुओं के रूप में उच्चतम घनत्व क्षेत्र, एचडीआर की तलाश कर रहे हैं)। मैं करने के लिए पीडीएफ में चर बदल जाएगा , कोण में एकीकृत और उसके बाद के लिए जेड से 0 करने के लिए z2=(x/σx)2+(y/σy)2z0 1-α=c तो फिर तुम विकल्प रों = - जेड 2 / 2 :

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

तो सिद्धांत रूप में, आप अंडाकार में केंद्रित देखने के लिए है की eigenvectors से अधिक, अक्ष के साथ Σ और प्रभावी त्रिज्या - 2 ln α : ( एक्स - μ ) टी Σ - 1 ( एक्स - μ ) = - 2 ln αμΣ2lnα

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

4

आपने बहुभिन्नरूपी सामान्य के बारे में पूछा, लेकिन सामान्य रूप से "एक बहुभिन्नरूपी वितरण की मात्रा" के बारे में पूछने के साथ अपना प्रश्न शुरू किया। आपके प्रश्न के उदाहरण और प्रदान किए गए उदाहरण से ऐसा लगता है कि आप उच्चतम घनत्व वाले क्षेत्रों में रुचि रखते हैं । उन्हें Hyndman (1996) द्वारा निम्नलिखित के रूप में परिभाषित किया गया है

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

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

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

Y=f(x), then you can obtain fα such that Pr(f(x)fα)1α simply by taking α quantile of Y. It can be estimated using sample quantiles from a set of observations y1,...,ym. The method applies even if we do not know f(x), but have only a set of i.i.d. observations. This method would work also for multimodal distributions.


Hyndman, R.J. (1996). Computing and graphing highest density regions. The American Statistician, 50(2), 120-126.


2

The correct answer should be 2ln(α). There was a mistake in the calculation above. The corrected version:

0czez2/2=c/20esds=(1ec/2)

1

You could draw an ellipses corresponding to Mahalanobis distances.

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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.