क्या ये सही है ? (एक छोटा-मानक-बहुभिन्नरूपी-गॉसियन पैदा करना)


10

यदि अर्थात, XRn, XN(0_,σ2I)

fX(x)=1(2πσ2)n/2exp(||x||22σ2)

मैं एक बहुभिन्नरूपी मामले में एक काट-छाँट-सामान्य-वितरण का एक अनुरूप संस्करण चाहता हूं ।

अधिक सटीक रूप से, मैं एक मान-विवश (एक मान ) बहुभिन्नरूपी सेंट जहांaY

fY(y)={c.fX(y), if ||y||a0, otherwise .
c=1Prob{||X||a}

अब मैं निम्नलिखित निरीक्षण करता हूं:

यदि ,x=(x1,x2,,xn)||x||a

|xn|Tmax(0,(a21n1xi2))

इसलिए Gaussians के नमूने के रूप में x_1, \ ldots, x_ {n-1} का चयन करके x1,,xn1, कोई व्यक्ति Truncated- सामान्य-वितरण से बाहर के नमूने के रूप में xn को प्रतिबंधित कर सकता है (Gaussian-tail \ geos T का अनुसरण करके ) वितरण \ mathcal {N} _T (0, \ sigma ^ 2) , इसके संकेत को छोड़कर, संभावना 1/2 के साथ यादृच्छिक रूप से चुना गया ।TNT(0,σ2)1/2

अब मेरा सवाल यह है,

अगर मैं उत्पन्न प्रत्येक वेक्टर नमूना (x1,,xn) की (X1,,Xn) के रूप में,

x1,,xn1N(0,σ2)

तथा

xn=Z1Z2  कहाँ, , , (यानी ट्रंकेटेड-स्केलर-सामान्य आर.वी. Z1{±1 w.p. 1/2}Z2NT(0,σ2)T(x1,,xn1)max(0,(a21n1xi2))

विल एक आदर्श-विवश ( ) बहुभिन्नरूपी गाऊसी हो सकता है? (यानी जैसा कि ऊपर परिभाषित )। मुझे कैसे सत्यापित करना चाहिए? कोई अन्य सुझाव अगर यह तरीका नहीं है?(X1,X2,,Xn)aY

संपादित करें:

यहाँ "1" से ऊपर के मानों को छंटनी के साथ 2 डी मामले में अंकों का बिखराव-कथानक है। सामान्य-छंटनी की गई बहुभिन्नरूपी गाऊसी

नोट: नीचे कुछ शानदार जवाब दिए गए हैं, लेकिन इस प्रस्ताव के गलत होने का औचित्य गायब है। वास्तव में, यह इस सवाल का प्रमुख बिंदु है।


1
@ शीआन आपकी क्वेरी और रुचि के लिए धन्यवाद। यहां आपकी बात के लिए मेरा तर्क है: प्रश्न में एल्गोरिथ्म को RVs , जो कि गाऊसी और एक ट्रंचित-गाऊसी हैं जब उन्हें प्रति नमूना देखा जाता है ; अधिक विशेष रूप से, वितरण में से प्रत्येक हर नमूने में भिन्न होता है। वे संबंधित मार्जिन नहीं हैं । क्योंकि, प्रत्येक दो शब्दों में प्रकट होता है: और ; और स्पष्ट रूप से अलग-अलग समय है क्योंकि ट्रंकेशन थ्रेशोल्ड प्रत्येक नमूने के लिए भिन्न होता है। आपके द्वारा प्रदान किए गए अपघटन प्रमाण में ठीक उसी अर्थ में समस्या है। मार्जिन बस उपलब्ध नहीं हैं। X1Xnn1xi,i=1,,n1xixnxn
संभावना को प्यार करता है

आपका (गलत) एल्गोरिथ्म पहले और फिर दिए गए । इसलिए, पहली पीढ़ी सीमांत से है और दूसरी पीढ़ी सशर्त से है। मेरा प्रमाण दिखाता है कि सीमांत एक (एन -1) आयामी गाऊसी वितरण नहीं है।
X1,,Xn1N(0,σ2)
XnNT(0,σ2)
X1,,Xn1
शीआन

@ शीआन सशर्त गाऊसी का मतलब सीमांत गाऊसी नहीं है !!
संभावना

@ शीआन ठीक है, मेरी बात यह है। जब गाऊसी के रूप में उत्पन्न होते हैं, और बाद के शब्द इन मूल्यों पर निर्भर करते हैं, तो गौसियन नहीं होंगे। आपने जो कहा वह बिल्कुल वैसा ही है। वे "सशर्त गाऊसी" हो सकते हैं लेकिन निश्चित रूप से "मामूली गौसियन" नहीं हो सकते। मेरी पहले की टिप्पणी का मतलब है कि। X1,,Xn1X1,,Xn1
संभावना

1
@ शीआन आपके मरीज के जवाब के लिए बहुत बहुत धन्यवाद। मैंने अंत में आपकी उत्तेजना के साथ मेरी गलती को समझा, और मैंने अपना विस्तृत उत्तर भी लिखा है । लेकिन क्षमा करें, आशा है कि आपको कोई आपत्ति नहीं है, मुझे संभवतः उनके विस्तृत विवरण के लिए व्हीबर के उत्तर को स्वीकार करना चाहिए जो वास्तव में समस्या को हल करने में मदद करता है।
संभावना

जवाबों:


11

का बहुभिन्नरूपी सामान्य वितरण गोलाकार सममित है। वितरण जिसे आप चाहते हैं त्रिज्या नीचे । क्योंकि यह मानदंड केवल की लंबाई पर निर्भर करता है , काटे गए वितरण गोलाकार रूप से सममित रहते हैं। चूँकि गोलाकार कोण से स्वतंत्र हैऔर में एक वितरण है , इसलिए आप केवल कुछ सरल चरणों में काटे गए वितरण से मान उत्पन्न कर सकते हैं:Xρ=||X||2aXρX/||X||ρσχ(n)

  1. उत्पन्न करें ।XN(0,In)

  2. को a वितरण के वर्गमूल के रूप में उत्पन्न करें ।Pχ2(d)(a/σ)2

  3. चलो।Y=σPX/||X||

चरण 1 में, को मानक सामान्य चर के स्वतंत्र वास्तविकताओं के अनुक्रम के रूप में प्राप्त किया जाता है ।Xd

चरण 2 में, आसानी से a वितरण की मात्रात्मक फ़ंक्शन को निष्क्रिय करके उत्पन्न होता है : ) के बीच सीमा (मात्राओं के) में समर्थित एक समान चर उत्पन्न करता है। और और ।PF1χ2(d)UF((a/σ)2)1P=F(U)

यहाँ का एक हिस्टोग्राम है के इस तरह के स्वतंत्र प्रतीति के लिए में आयाम, पर नीचे छोटा कर दिया । एल्गोरिथ्म की दक्षता के लिए, इसे उत्पन्न करने में लगभग एक सेकंड का समय लगा।105σPσ=3n=11a=7

आकृति

लाल वक्र द्वारा स्केल किए गए एक काटे गए वितरण का घनत्व है । हिस्टोग्राम से इसका घनिष्ठ मेल इस तकनीक की वैधता का प्रमाण है।χ(11)σ=3

ट्रंकेशन के लिए एक अंतर्ज्ञान प्राप्त करने के लिए, मामले को , में आयामों पर विचार करें। यहाँ विरूद्ध ( स्वतंत्र बोध के लिए)। यह स्पष्ट रूप से त्रिज्या के छेद को दर्शाता :a=3σ=1n=2Y2Y1104a

चित्र 2

अंत में, ध्यान दें कि (1) घटकों में समान वितरण (गोलाकार समरूपता के कारण) और (2) को छोड़कर होना चाहिए जब , कि सामान्य वितरण सामान्य नहीं है। वास्तव में, बड़े के रूप में, (univariate) का तेजी से घटता सामान्य वितरण -sphere (त्रिज्या ) की सतह के पास क्लस्टर के लिए सामान्य रूप से छोटे बहुभिन्नरूपी बहुवचन की संभावना का कारण बनता है । इसलिए सीमांत वितरण को स्केल्ड सिमिट्रिक बीटा वितरण को अंतराल में केंद्रित करना चाहिए । यह पिछले स्कैल्पलॉट में स्पष्ट है, जहांXia=0an1a((n1)/2,(n1)/2)(a,a)a=3σपहले से ही दो आयामों में बड़ा है: अंक त्रिज्या एक अंगूठी ( क्षेत्र) को सीमित करता है ।213σ

यहाँ आकार के सिमुलेशन से सीमांत वितरण के हिस्टोग्राम होते हैं में आयामों , (जिसके लिए सन्निकट बीटा वितरण समान है):1053a=10σ=1(1,1)

चित्र तीन

चूँकि प्रश्न में वर्णित प्रक्रिया का पहला मार्जिन सामान्य है (निर्माण द्वारा), वह प्रक्रिया सही नहीं हो सकती है।n1


निम्नलिखित Rकोड ने पहला आंकड़ा उत्पन्न किया। इसका निर्माण पैदा करने के लिए 1-3 चरणों के समानांतर किया गया है । यह बदलते चर द्वारा दूसरा चित्र उत्पन्न करने के लिए संशोधित किया गया था , , , और और फिर साजिश आदेश जारी करने के बाद उत्पन्न किया गया था।Yadnsigmaplot(y[1,], y[2,], pch=16, cex=1/2, col="#00000010")y

की पीढ़ी को उच्च संख्यात्मक संकल्प के लिए कोड में संशोधित किया गया है: कोड वास्तव में उत्पन्न करता है और गणना करने के लिए इसका उपयोग करता है ।U1UP

माना एल्गोरिथ्म के अनुसार डेटा का अनुकरण करने की एक ही तकनीक, इसे हिस्टोग्राम के साथ सारांशित करना, और हिस्टोग्राम को सुपरइम्पोज़ करना का उपयोग प्रश्न में वर्णित विधि का परीक्षण करने के लिए किया जा सकता है। यह पुष्टि करेगा कि विधि अपेक्षा के अनुरूप काम नहीं करती है।

a <- 7      # Lower threshold
d <- 11     # Dimensions
n <- 1e5    # Sample size
sigma <- 3  # Original SD
#
# The algorithm.
#
set.seed(17)
u.max <- pchisq((a/sigma)^2, d, lower.tail=FALSE)
if (u.max == 0) stop("The threshold is too large.")
u <- runif(n, 0, u.max)
rho <- sigma * sqrt(qchisq(u, d, lower.tail=FALSE)) 
x <- matrix(rnorm(n*d, 0, 1), ncol=d)
y <- t(x * rho / apply(x, 1, function(y) sqrt(sum(y*y))))
#
# Draw histograms of the marginal distributions.
#
h <- function(z) {
  s <- sd(z)
  hist(z, freq=FALSE, ylim=c(0, 1/sqrt(2*pi*s^2)),
       main="Marginal Histogram",
       sub="Best Normal Fit Superimposed")
  curve(dnorm(x, mean(z), s), add=TRUE, lwd=2, col="Red")
}
par(mfrow=c(1, min(d, 4)))
invisible(apply(y, 1, h))
#
# Draw a nice histogram of the distances.
#
#plot(y[1,], y[2,], pch=16, cex=1/2, col="#00000010") # For figure 2
rho.max <- min(qchisq(1 - 0.001*pchisq(a/sigma, d, lower.tail=FALSE), d)*sigma, 
               max(rho), na.rm=TRUE)
k <- ceiling(rho.max/a)
hist(rho, freq=FALSE, xlim=c(0, rho.max),  
     breaks=seq(0, max(rho)+a, by=a/ceiling(50/k)))
#
# Superimpose the theoretical distribution.
#
dchi <- function(x, d) {
  exp((d-1)*log(x) + (1-d/2)*log(2) - x^2/2 - lgamma(d/2))
}
curve((x >= a)*dchi(x/sigma, d) / (1-pchisq((a/sigma)^2, d))/sigma, add=TRUE, 
      lwd=2, col="Red", n=257)

1
यह एक अद्भुत जवाब है! लेकिन, क्या आप कृपया इस पर कुछ प्रकाश डाल सकते हैं कि प्रस्ताव-इन-प्रश्न विफल क्यों है? (शीआन का जवाब काफी हद तक संतोषजनक नहीं है, मुझे उसके तर्क के साथ कुछ समस्या दिखाई देती है, जैसे जब वह एकीकृत
करता है

1
आपका बहुत बहुत धन्यवाद। लेकिन, क्या मैं आपसे मेरी पहली टिप्पणी का जवाब देने का अनुरोध कर सकता हूं? ऐसा लगता है, मेरा प्रस्ताव भी एक अच्छा हिस्टोग्राम काफी करीब देता है। मैं उलझन में हूं!! कहां चूक हुई? ध्यान दें कि, यह प्रश्न का मुख्य बिंदु है और यदि सही है , तो विधि को केवल एक "ट्रंकेटेड-गॉसियन" नमूना की आवश्यकता है। मौजूदा तेज एल्गोरिदम की उपलब्धता के साथ, यह एक बड़ी बचत की ओर जाता है (विभाजन और गुणा से बचता है, इसके अलावा) अपेक्षाकृत अधिक जटिल काट-छांट की आवश्यकता से बचना)
संभावना

2
जैसा कि मैं बता सकता हूं, आप एक सामान्य वितरण से iid और दो तरफा सामान्य से । यह स्पष्ट रूप से एक छोटा MVN वितरण नहीं है, क्योंकि लिए एक स्कैल्पलॉट आसानी से प्रकट होगा, मेरा मानना ​​है कि मैं आपके प्रश्न को समझने में असमर्थ हूं। अधिक आम तौर पर, प्रश्नों का बोझ जो यह पूछते हैं कि कुछ काम क्यों नहीं करता है, यह पूछने वाले पर होता है कि वह काम करता है या नहीं । शायद अगर आप ऐसे सबूतों की आपूर्ति करते हैं, तो आपके प्रश्न की प्रकृति स्पष्ट हो जाएगी। X1,,Xn1Xnn=2
whuber

1
विवरण के लिए धन्यवाद। मैंने एक 2-D स्कैटर-प्लॉट जोड़ा जैसा कि आपने कहा और कुछ वाक्य तय किए। वैसे, खेद है कि मैं वास्तव में आप के लिए सबूत के कुल बोझ को स्थानांतरित करने का मतलब नहीं था। मेरा प्रस्ताव सभी सरल जांचों के साथ ठीक काम करने के लिए लगता है, इसलिए मैं उत्सुक हूं कि इसका गलत क्यों है, जो इस प्रश्न का मुख्य उद्देश्य भी है।
संभावना

1
सीमांत वितरणों को देखते हुए सबसे सरल तरीका है जिससे मैं प्रक्रियाओं में अंतर का वर्णन कर सकता हूं। मैंने इन मार्जिन को दिखाने के लिए एक आंकड़ा और कुछ कोड जोड़ा है।
whuber

7

मैंने यह मानते हुए लिखा है कि आप किसी भी बिंदु को नहीं चाहते हैं। y || > ए, जो सामान्य एक आयामी ट्रंकेशन का एनालॉग है। हालाँकि, आपने लिखा है कि आप अंक रखना चाहते हैं | y || > = ए और दूसरों को बाहर फेंक दो। फिर भी, मेरे समाधान के लिए स्पष्ट समायोजन किया जा सकता है यदि आप वास्तव में अंक रखना चाहते हैं | y || > = ए।

सबसे सीधा तरीका, जो एक बहुत ही सामान्य तकनीक है, को स्वीकार-अस्वीकृति https://en.wikipedia.org/wiki/Rejection_sampling का उपयोग करना है । यह तब तक काफी तेज रहेगा जब तक प्रोब ((X ||>> a) काफी कम है, क्योंकि तब कई अस्वीकृति नहीं होगी।

असंबद्ध बहुभिन्नरूपी सामान्य से एक नमूना मान x उत्पन्न करें (भले ही आपकी समस्या बताती है कि बहुभिन्नरूपी गोलाकार है, तकनीक लागू की जा सकती है भले ही वह न हो)। अगर || x || <= a, स्वीकार करें, अर्थात, x का उपयोग करें, अन्यथा इसे अस्वीकार करें और एक नया नमूना बनाएं। इस प्रक्रिया को तब तक दोहराएं जब तक आपके पास ज़रूरत के अनुसार कई स्वीकृत नमूने न हों। इस प्रक्रिया को लागू करने का प्रभाव y उत्पन्न करना है ताकि इसका घनत्व c * f_X (y) हो, यदि || y <= a, और 0 अगर || y || > आपके प्रश्न के शुरुआती हिस्से में मेरे सुधार के अनुसार। आपको सी की गणना करने की आवश्यकता नहीं है; यह एल्गोरिथ्म द्वारा ऑटो-निर्धारित प्रभाव में होता है, जिसके आधार पर नमूने को खारिज कर दिया जाता है।


3
+1 मुझे यह पसंद है कि आपका प्रस्ताव गैर-गोलाकार सममित MVNs के साथ काम करता है, कि आपने स्पष्ट रूप से उन परिस्थितियों का वर्णन किया है जिनके तहत यह प्रभावी होगा, और यह कि आप अस्वीकृति दर का उपयोग करने का निर्णय लेते समय अस्वीकृति दर का आकलन करने पर जोर देते हैं।
whuber

2
हां, और यह भी ध्यान दें कि यह मनमाने ढंग से आकार के स्वीकृति क्षेत्र (यों) के लिए काम कर सकता है, न कि केवल 2-मानदंडों से ऊपर या नीचे एक सीमा के रूप में।
मार्क एल। स्टोन

5

यह एक अच्छा प्रयास है लेकिन यह "सामान्यीकरण स्थिरांक" के कारण काम नहीं करता है: यदि आप संयुक्त घनत्व अपघटन

fX(x)1(2πσ2)n/2exp(||x||22σ2)I||x||>a=1(2πσ2)n/2exp(x12++xn22σ2)I||x||>a
fX(x)1(2πσ2)(n1)/2exp(||xn||22σ2)1(2πσ2)1/2exp(xn22σ2)I||x||>a
=1(2πσ2)(n1)/2exp(||xn||22σ2)1(2πσ2)1/2exp(xn22σ2)I||xn||2+xn2>a2
=P(Xn2>a2||xn||2)(2πσ2)(n1)/2exp(||xn||22σ2)
×P(Xn2>a2||xn||2)1(2πσ2)1/2exp(xn22σ2)Ixn2>a||xn||2
जो में , दिखाता है कि
fXn(xn)P(Xn2>a2||xn||2)(2πσ2)(n1)/2exp(||xn||22σ2)
xn
  1. सशर्त वितरण को अन्य घटक दिए गए, , एक छोटा सामान्य वितरण है;XnXn
  2. अन्य घटकों के सीमांत वितरण, , अतिरिक्त शब्द कारण सामान्य वितरण नहीं है। ;XnP(Xn2>a2||xn||2)

इस संपत्ति का लाभ लेने के लिए मैं एक ही रास्ता देख सकता हूं कि एक समय में एक घटक, गिब्स नमूना, एक घटक को चलाने के लिए, सामान्य सशर्त वितरण का उपयोग करना।


1
विस्तृत उत्तर के लिए बहुत बहुत धन्यवाद। सिर्फ एक स्पष्टीकरण, आपके घनत्व (दूसरा eq) के तहत क्षेत्र 1 का योग नहीं करता है !! --- मुझे लगता है, एक बार इसे ठीक करने के बाद, यह "सामान्यीकरण कारक" को रद्द कर देगा, जिसके बारे में आप बात कर रहे हैं। कोई विचार? fX(x)
संभावना

3

प्रश्न सदिश नमूनों को खींचने के लिए - संयुक्त वितरण के मूल सशर्त-अपघटन - का उपयोग करने के विचार से उत्पन्न होता है।

आइए आइड घटकों के साथ एक बहुभिन्नरूपी गौसियन हो।X

Let और Prob(||X||>a)TYX.I||X||>a

प्रश्न में एल्गोरिथ्म निम्नलिखित (सभी-सही लेकिन धोखा देने वाली व्याख्या) सशर्त-कारक के आधार पर प्रस्तावित है:

fY(y)=1T1(2πσ2)n/2exp(||y||22σ2)I||y||>a=1T1(2πσ2)n/2exp(y12++yn22σ2)I||y||>a=(i=1n112πσ2exp(yi22σ2))(1T12πσ2exp(yn22σ2)I||y||>a)=(i=1n112πσ2exp(yi22σ2))Gaussians(1T12πσ2exp(yn22σ2)Iyn2>(a2y12yn12))Truncated Gaussian??

सबसे छोटा उत्तर यह है कि उत्तरार्द्ध कारक एक काट-छाँट वाला गाऊसी नहीं है, (अधिक महत्वपूर्ण बात) वितरण भी नहीं है।


यहाँ इस बात का विस्तृत विवेचन किया गया है कि क्यों उपरोक्त कारककरण में स्वयं कुछ मूलभूत दोष हैं। एक ही वाक्य में: किसी दिए गए संयुक्त वितरण का कोई भी सशर्त-कारककरण कुछ बहुत ही मौलिक गुणों को संतुष्ट करना चाहिए, और उपरोक्त कारक उन्हें संतुष्ट नहीं करता है (नीचे देखें)।

सामान्य तौर पर, यदि हम कभी भी तो और का सीमांत है। का सशर्त वितरण है । जिसका मतलब है:fXY(x,y)=fX(x)fY|X(y|x)fX(x)XfY|X(y|x)Y

  1. कारक को " रूप में माना जाता है एक वितरण होना चाहिए। तथा,f(x,y)fX(x)
  2. दूसरा कारक "के रूप में ग्रहण" के लिए एक वितरण होना चाहिए के हर विकल्पfY|X(y|x)x

उपरोक्त उदाहरण में, हम रूप में शर्त प्रयास कर रहे हैं । इसका मतलब है कि संपत्ति -1 को गॉसियंस के कारक के लिए और संपत्ति -2 को बाद वाले हिस्से के लिए अच्छा होना चाहिए।Yn|(Y1Yn1)

यह स्पष्ट है कि संपत्ति -1 पहले कारक पर अच्छी है। लेकिन समस्या संपत्ति -2 के साथ है। उपरोक्त अंतिम कारक दुर्भाग्यवश के लगभग किसी भी मूल्य के लिए बिल्कुल भी वितरण नहीं है गए गॉसियन के बारे में भूल जाओ !!(Y1Yn1)


एल्गोरिथ्म का ऐसा प्रस्ताव संभवतः निम्नलिखित गलत धारणा का एक परिणाम है: एक बार एक वितरण स्वाभाविक रूप से एक संयुक्त वितरण (जैसे गॉसियन ऊपर) से बाहर कारकों के कारण, यह एक सशर्त कारक की ओर जाता है। ---- ऐसा नहीं है! ---- अन्य (दूसरा) कारक भी अच्छा होना चाहिए।


नोट: @whuber द्वारा पहले एक शानदार जवाब दिया गया है, जो वास्तव में एक मानक छंटनी की गई बहुभिन्नरूपी गाऊसी उत्पन्न करने की समस्या को हल करता है। मैं उनका जवाब स्वीकार कर रहा हूं। यह उत्तर केवल मेरी अपनी समझ और प्रश्न की उत्पत्ति को स्पष्ट करने और साझा करने के लिए है।


2
+1 अपने विचारों को साझा करने के लिए धन्यवाद: वे इस सूत्र में बहुमूल्य अंतर्दृष्टि जोड़ते हैं।
व्हीबर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.