सामान्य वितरण से ड्रॉ का उपयोग करके एक समान वितरण से ड्रॉइंग अनुकरण करना


15

मैंने हाल ही में एक डेटा विज्ञान साक्षात्कार संसाधन खरीदा है जिसमें संभाव्यता प्रश्नों में से एक निम्नानुसार था:

ज्ञात मापदंडों के साथ एक सामान्य वितरण से ड्रा को देखते हुए, आप एक समान वितरण से कैसे आकर्षित कर सकते हैं?

मेरी मूल विचार प्रक्रिया यह थी कि असतत रैंडम वैरिएबल के लिए, हम सामान्य वितरण को K अद्वितीय उपखंडों में तोड़ सकते हैं जहां प्रत्येक उपधारा में सामान्य वक्र के नीचे एक समान क्षेत्र होता है। तब हम यह निर्धारित कर सकते हैं कि चर का कौन सा मान है जो सामान्य वक्र के किस क्षेत्र को पहचानता है चर चर में गिर जाता है।

लेकिन यह केवल असतत यादृच्छिक चर के लिए काम करेगा। मैं कैसे हम निरंतर यादृच्छिक चर के लिए भी ऐसा ही हो सकता है में कुछ शोध किया, लेकिन दुर्भाग्य से मैं केवल तकनीक मिल सकता है की तरह उलटा नमूना है कि के रूप में प्रयोग करेंगे बदलने इनपुट एक समान यादृच्छिक चर, और कर सकता है उत्पादन कुछ अन्य वितरण से यादृच्छिक चर। मैं सोच रहा था कि शायद हम एकसमान यादृच्छिक चर पाने के लिए इस प्रक्रिया को उल्टा कर सकते हैं?

मैं भी एक यादृच्छिक बधाई जनरेटर में इनपुट के रूप में सामान्य यादृच्छिक चर का उपयोग करने के बारे में संभवतः सोचा था, लेकिन मुझे यकीन नहीं है कि यह काम करेगा।

मैं इस प्रश्न पर कैसे पहुँच सकता हूँ इस पर कोई विचार?

जवाबों:


30

सामान्य बीजीय गणना का उपयोग करने की भावना में जो सामान्य वितरण की गणना से संबंधित नहीं हैं , मैं निम्नलिखित की ओर झुकूंगा। उन्हें आदेश दिया जाता है जैसा कि मैंने उनके बारे में सोचा (और इसलिए अधिक से अधिक रचनात्मक पाने के लिए आवश्यक है), लेकिन मैंने सबसे अच्छा बचा लिया है - और सबसे आश्चर्यजनक - अंतिम तक।

  1. रिवर्स बॉक्स मुलर तकनीक : normals की प्रत्येक जोड़ी से , दो स्वतंत्र वर्दी के रूप में निर्माण किया जा सकता atan2 ( वाई , एक्स ) (अंतराल पर [ - π , π ] ) और exp ( - ( एक्स 2 + वाई 2 ) / 2 ) (अंतराल पर [ 0 , 1 ] )।(X,Y)atan2(Y,X)[π,π]exp((X2+Y2)/2)[0,1]

  2. दो के समूहों में मानदंड लें और उनके वर्गों को चर Y 1 , Y 2 , , Y i , … का अनुक्रम प्राप्त करने के लिए योग करें । जोड़े से प्राप्त भावχ22Y1,Y2,,Yi,

    Xi=Y2iY2i1+Y2i

    एक वितरण होगा, जो समान है।Beta(1,1)

    यह केवल बुनियादी, सरल अंकगणित स्पष्ट होना चाहिए।

  3. क्योंकि मानक बाइवेरेट से चार-जोड़ी नमूने के पियरसन सहसंबंध गुणांक का सटीक वितरण सामान्य वितरण समान रूप से पर वितरित किया जाता है , हम केवल चार जोड़े (यानी, आठ मान) के समूहों में मानदंड ले सकते हैं प्रत्येक सेट) और इन जोड़ों के सहसंबंध गुणांक को वापस लौटाएं। (इसमें सरल अंकगणित और दो वर्गमूल संचालन शामिल हैं।)[1,1]

  4. यह प्राचीन काल से ज्ञात है कि गोले का एक बेलनाकार प्रक्षेपण (तीन-अंतरिक्ष में एक सतह) बराबर-क्षेत्र है । इसका तात्पर्य यह है कि गोलाकार पर एक समान वितरण के प्रक्षेपण में, दोनों क्षैतिज समन्वय (देशांतर के अनुरूप) और ऊर्ध्वाधर समन्वय (अक्षांश के अनुरूप) में समान वितरण होगा। सामान्य स्तर के वितरण सामान्य रूप से गोलाकार सममित होने के कारण, गोले पर इसका प्रक्षेपण एक समान है। देशांतर प्राप्त करना अनिवार्य रूप से बॉक्स-म्यूएलर विधि ( qv ) के कोण के समान गणना है , लेकिन अनुमानित अक्षांश नया है। क्षेत्र पर प्रक्षेपण केवल निर्देशांक के एक ट्रिपल को सामान्य करता है और उस बिंदु पर z अनुमानित अक्षांश है। इस प्रकार, तीन, X 3 i - 2 , X 3 i - 1 , X 3 i , और गणना केसमूहों में सामान्य चर लें(x,y,z)zX3i2,X3i1,X3i

    X3iX3i22+X3i12+X3i2

    के लिए i=1,2,3,

  5. क्योंकि अधिकांश कंप्यूटिंग सिस्टम बाइनरी में संख्याओं का प्रतिनिधित्व करते हैं , समान संख्या पीढ़ी आमतौर पर 0 और 2 32 - 1 (या कंप्यूटर शब्द की लंबाई से संबंधित 2 की कुछ उच्च शक्ति) के बीच समान रूप से वितरित पूर्णांक का उत्पादन करके और उन्हें आवश्यकतानुसार परिवर्तित करती है। इस तरह के पूर्णांक को 32 बाइनरी अंकों के तार के रूप में आंतरिक रूप से दर्शाया जाता है । हम एक सामान्य चर को उसके माध्यिका से तुलना करके स्वतंत्र यादृच्छिक बिट्स प्राप्त कर सकते हैं। इस प्रकार, यह सामान्य चर को बिट्स की वांछित संख्या के बराबर आकार के समूहों में तोड़ने का प्रयास करता है, प्रत्येक को इसके माध्य की तुलना करता है, और बाइनरी संख्या में सही / गलत परिणामों के परिणामस्वरूप अनुक्रम को इकट्ठा करता है। लेखन के02321232kसंकेत के लिए बिट्स और की संख्या के लिए (जो है, एच ( एक्स ) = 1 जब x > 0 और एच ( एक्स ) = 0 अन्यथा) हम सूत्र के साथ [ 0 , 1 ) में परिणामी सामान्यीकृत समान मूल्य व्यक्त कर सकते हैं।HH(x)=1x>0H(x)=0[0,1)

    j=0k1H(Xkij)2j1.

    वेरिएंट को किसी भी निरंतर वितरण से खींचा जा सकता है जिसका माध्य 0 है (जैसे कि मानक सामान्य); वे कश्मीर के समूहों में प्रत्येक समूह के साथ संसाधित होते हैं जो एक ऐसा छद्म समान मूल्य का उत्पादन करता है।Xn0k

  6. अस्वीकृति नमूनाकरण एक मानक, लचीला, शक्तिशाली तरीका है जो मनमाने ढंग से वितरण से यादृच्छिक चर खींचता है। मान लीजिए कि लक्ष्य वितरण में पीडीएफ । पीडीएफ जी के साथ एक और वितरण के अनुसार एक मूल्य वाई तैयार किया जाता है । अस्वीकृति चरण में, 0 और g ( Y ) के बीच एक समान मूल्य U , स्वतंत्र रूप से Y से खींचा जाता है और f ( Y ) की तुलना में : यदि यह छोटा है, तो YfYgU0g(Y)Yf(Y)Yबनाए रखा जाता है, लेकिन अन्यथा प्रक्रिया दोहराई जाती है। यह दृष्टिकोण गोलाकार लगता है, हालांकि: हम एक प्रक्रिया के साथ एक समान रूपांतर कैसे उत्पन्न करते हैं जिसे शुरू करने के लिए एक समान रूप की आवश्यकता होती है?

    इसका उत्तर यह है कि अस्वीकृति चरण को पूरा करने के लिए हमें वास्तव में एक समान रूप की आवश्यकता नहीं है। इसके बजाय (यह मानते हुए ) हम एक निष्पक्ष सिक्का फ्लिप एक प्राप्त करने के लिए कर सकते हैं 0 या 1 बेतरतीब ढंग से। यह इंटरवल [ 0 , 1 ) में एक समान वेरिएंट U के बाइनरी प्रतिनिधित्व में पहले बिट के रूप में समझा जाएगा । जब नतीजा है 0 , कि साधन 0 यू < 1 / 2 ; अन्यथा, 1 / 2 यू < 1g(Y)001U[0,1)00U<1/21/2U<1 समय का आधा, यह अस्वीकृति कदम तय करने के लिए पर्याप्त है: यदि लेकिन सिक्का है 0 , वाई स्वीकार किया जाना चाहिए; यदि( वाई ) /( वाई ) < 1 / 2 लेकिन सिक्का है 1 , वाई अस्वीकार कर दिया जाना चाहिए, अन्यथा, हमें यू के अगले बिट को प्राप्त करने के लिए सिक्का को फिर से फ्लिप करना होगा। क्योंकि - कोई फर्क नहीं पड़ता कि क्या मूल्य( वाईf(Y)/g(Y)1/20Yf(Y)/g(Y)<1/21YU है - वहाँ एक 1 / 2 , flips की अपेक्षित संख्या है प्रत्येक फ्लिप के बाद रोक की संभावना को केवल 1 / 2 ( 1 ) + 1 / 4 ( 2 ) + 1 / 8 ( 3 ) + + 2 - एन ( एन ) + = 2f(Y)/g(Y)1/21/2(1)+1/4(2)+1/8(3)++2n(n)+=2

    अस्वीकृति नमूना सार्थक (और कुशल) हो सकता है बशर्ते कि अस्वीकारों की अपेक्षित संख्या कम हो। हम एक सामान्य पीडीएफ के नीचे सबसे बड़ा संभव आयत (एक समान वितरण का प्रतिनिधित्व करते हुए) फिटिंग करके इसे पूरा कर सकते हैं।

    Normal and Uniform PDFs

    आयत के क्षेत्र का अनुकूलन करने के पथरी का उपयोग करना, आप पाएंगे कि अपने अंतिम बिंदु पर होनी चाहिए जहां उसकी ऊंचाई के बराबर होती है, exp ( - 1 / 2 ) / ±1, अपने क्षेत्र की तुलना में थोड़ा अधिक से अधिक बनाने0.48। इस मानक सामान्य घनत्व कोg केरूप में उपयोग करकेऔर अंतराल के बाहर के सभी मानों को अस्वीकार करते हुए[-1,1]स्वचालित रूप से, और अन्यथा अस्वीकृति प्रक्रिया को लागू करते हुए, हमकुशलतापूर्वक[-1,1]में समान रूप से प्राप्त करेंगे।exp(1/2)/2π0.2419710.48g[1,1][1,1]

    • एक अंश में समय की, परे सामान्य variate झूठ [ - 1 , 1 ] और तुरंत अस्वीकार कर दिया है। ( Φ मानक सामान्य CDF है।)2Φ(1)0.317[1,1]Φ

    • समय के शेष अंश में, द्विआधारी अस्वीकृति प्रक्रिया का पालन करना पड़ता है, जिसमें औसतन दो और सामान्य चर की आवश्यकता होती है।

    • समग्र प्रक्रिया के एक औसत की आवश्यकता है चरणों।1/(2exp(1/2)/2π)2.07

    प्रत्येक समान परिणाम तैयार करने के लिए अपेक्षित सामान्य चर की अपेक्षित संख्या

    2eπ(12Φ(1))2.82137.

    हालांकि यह बहुत, कुशल ध्यान दें कि (1) सामान्य पीडीएफ की गणना एक घातीय और (2) मूल्य की गणना की आवश्यकता है एक बार और सभी के लिए precomputed किया जाना चाहिए। यह अभी भी बॉक्स-मुलर विधि ( qv ) की तुलना में थोड़ी कम गणना है ।Φ(1)

  7. आदेश आंकड़े एक समान वितरण के घातीय अंतराल है। चूँकि दो नॉर्मल (शून्य माध्य) के वर्गों का योग घातांक है, इसलिए हम इस तरह के नॉर्मल्स के जोड़े के वर्गों को जोड़कर स्वतंत्र वर्दी का अहसास उत्पन्न कर सकते हैं , इनकी संचयी राशि की गणना करते हुए, परिणाम को अंतराल में गिरने के लिए फिर से जोड़ते हैं। [ , ] , और अंतिम को गिराना (जो हमेशा १ के बराबर होगा )। यह एक मनभावन दृष्टिकोण है क्योंकि इसमें एकल विभाजन की आवश्यकता होती है, सारांश और (अंत में) एक ही विभाजन।n[0,1]1

    मूल्यों स्वचालित रूप से आरोही क्रम में हो जाएगा। यदि इस तरह की छंटनी वांछित है, तो यह विधि अन्य सभी के लिए कम्प्यूटेशनल रूप से बेहतर है क्योंकि यह एक प्रकार की ( एन लॉग ( एन ) ) लागत से बचा जाता है । हालांकि, स्वतंत्र वर्दी के एक क्रम की जरूरत है, लेकिन फिर इन एन मूल्यों को क्रमबद्ध रूप से छांटना होगा। चूँकि (बॉक्स-म्यूलर विधि, qv में देखा गया है ) नॉर्मल की प्रत्येक जोड़ी के अनुपात प्रत्येक जोड़ी के वर्गों के योग से स्वतंत्र हैं, हमारे पास पहले से ही उस यादृच्छिक क्रमांकन को प्राप्त करने का साधन है: संगत अनुपात द्वारा संचयी रकम का आदेश दें । (यदि nnO(nlog(n))nnबहुत बड़ा है, इस प्रक्रिया के छोटे समूहों में किया जा सकता है , दक्षता के छोटे नुकसान के साथ के बाद से प्रत्येक समूह के केवल जरूरत है 2 ( k + 1 ) बनाने के लिए नॉर्मल्स कश्मीर वर्दी मूल्यों। निश्चित कश्मीर के लिए , एसिम्प्टोटिक कम्प्यूटेशनल लागत इसलिए हे ( एन लॉग ( के ) ) = ( एन ) , 2 एन ( 1 + 1 / के ) की जरूरत है सामान्य समान एन मान उत्पन्न करने के लिए चर ।)k2(k+1)kkO(nlog(k))O(n)2n(1+1/k)n

  8. शानदार सन्निकटन के लिए, एक बड़े मानक विचलन के साथ कोई भी सामान्य संस्करण बहुत छोटे मूल्यों की सीमाओं पर समान दिखता है। इस वितरण को सीमा में तक ले जाने पर (केवल मूल्यों के आंशिक भागों को ले कर), हम इस प्रकार वितरण प्राप्त करते हैं जो सभी व्यावहारिक उद्देश्यों के लिए समान है। यह अत्यंत कुशल है, सभी के सबसे सरल अंकगणितीय कार्यों में से एक की आवश्यकता है: बस प्रत्येक सामान्य चर को निकटतम पूर्णांक तक गोल करें और अतिरिक्त बनाए रखें। जब हम व्यावहारिक कार्यान्वयन की जाँच करते हैं तो इस दृष्टिकोण की सरलता सम्मोहक हो जाती है:[0,1]R

    rnorm(n, sd=10) %% 1
    

    मज़बूती से केवल सामान्य चर की कीमत पर [ 0 , 1 ]n रेंज में एकसमान मूल्यों का उत्पादन होता है और लगभग कोई संगणना नहीं होती है।[0,1]n

    (मानक विचलन , इस सन्निकटन का पीडीएफ एक समान पीडीएफ से भिन्न होता है, जैसा कि निम्न आकृति में दिखाया गया है, 10 8 में एक से भी कम भाग के लिए! यह पता लगाने के लिए मज़बूती से 10 16 मानों के नमूने की आवश्यकता होगी - कि अनियमितता के किसी भी मानक परीक्षण की क्षमता से परे पहले से ही है। एक बड़ा मानक विचलन के साथ गैर एकरूपता इतना छोटा तो यह और भी गणना नहीं की जा सकती है। उदाहरण के लिए, के साथ की एक एसडी 10 , के रूप में कोड में दिखाया गया है एक समान से अधिकतम विचलन पीडीएफ केवल 10 - 857 है ।)110810161010857

    Approximate PDF


हर मामले में सामान्य चर "ज्ञात मापदंडों के साथ" आसानी से ऊपर मान लिया गया और मानक मानदंड में फिर से शामिल किया जा सकता है। बाद में, परिणामी समान रूप से वितरित मूल्यों को पुनरावृत्त किया जा सकता है और किसी भी वांछित अंतराल को कवर करने के लिए पुन: व्यवस्थित किया जा सकता है। इन्हें केवल मूल अंकगणितीय संचालन की आवश्यकता होती है।

इन निर्माणों की आसानी निम्नलिखित Rकोड द्वारा व्यक्त की गई है , जो उनमें से अधिकांश के लिए केवल एक या दो लाइनों का उपयोग करता है। उनकी शुद्धता प्रत्येक मामले में स्वतंत्र मूल्यों के आधार पर परिणामी निकट-समान हिस्टोग्राम द्वारा देखी जाती है (सभी सात सिमुलेशन के लिए लगभग 12 सेकंड की आवश्यकता होती है)। संदर्भ के लिए - यदि आप इनमें से किसी भी भूखंड में दिखाई देने वाली भिन्नता की मात्रा के बारे में चिंतित हैं - अंत में समरूप यादृच्छिक संख्या जनरेटर के साथ संयुक्त समान मूल्यों का एक हिस्टोग्राम शामिल है।100,000R

Histograms

χ210003%R

set.seed(17)
n <- 1e5
y <- matrix(rnorm(floor(n/2)*2), nrow=2)
x <- c(atan2(y[2,], y[1,])/(2*pi) + 1/2, exp(-(y[1,]^2+y[2,]^2)/2))
hist(x, main="Box-Mueller")

y <- apply(array(rnorm(4*n), c(2,2,n)), c(3,2), function(z) sum(z^2))
x <- y[,2] / (y[,1]+y[,2])
hist(x, main="Beta")

x <- apply(array(rnorm(8*n), c(4,2,n)), 3, function(y) cor(y[,1], y[,2]))
hist(x, main="Correlation")

n.bits <- 32; x <-  (2^-(1:n.bits)) %*% matrix(rnorm(n*n.bits) > 0, n.bits)
hist(x, main="Binary")

y <- matrix(rnorm(n*3), 3)
x <- y[1, ] / sqrt(apply(y, 2, function(x) sum(x^2)))
hist(x, main="Equal area")

accept <- function(p) { # Using random normals, return TRUE with chance `p`
  p.bit <- x <- 0
  while(p.bit == x) {
    p.bit <- p >= 1/2
    x <- rnorm(1) >= 0
    p <- (2*p) %% 1
  }
  return(x == 0)
}
y <- rnorm(ceiling(n * sqrt(exp(1)*pi/2))) # This aims to produce `n` uniforms
y <- y[abs(y) < 1]
x <- y[sapply(y, function(x) accept(exp((x^2-1)/2)))]
hist(x, main="Rejection")

y <- matrix(rnorm(2*(n+1))^2, 2)
x <- cumsum(y)[seq(2, 2*(n+1), 2)]
x <- x[-(n+1)] / x[n+1]
x <- x[order(y[2,-(n+1)]/y[1,-(n+1)])] 
hist(x, main="Ordered")

x <- rnorm(n) %% 1 # (Use SD of 5 or greater in practice)
hist(x, main="Modular")

x <- runif(n)      # Reference distribution
hist(x, main="Uniform")

2
(+1) यदि मैं एक साक्षात्कार में यह सवाल पूछ रहा था, तो मैं इसे संशोधित करके उस मामले के बारे में पूछूंगा जहां पैरामीटर तय किए गए हैं, लेकिन अज्ञात है , जो मुझे और दिलचस्प बनाता है। पियर्सन सहसंबंध दृष्टिकोण (# 3) अपरिवर्तित से गुजरता है, लेकिन शायद थोड़ा गूढ़ है। बीटा दृष्टिकोण (# 2) को असंतुष्ट जोड़े के मतभेदों के वर्गों पर विचार करके केवल मामूली संशोधन की आवश्यकता होती है। इसी तरह,जेड=(एक्स1-एक्स2)/(एक्स3-एक्स4) मानक काऊची (माध्य और विचरण की परवाह किए बिना) है एक्स), जिसमें एक अच्छा सीएफडी है।
कार्डिनल

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

@Cardinal Thank you for the interesting comments, as well as the ninth method (Cauchy). Even finding a pivotal quantity is unnecessary when only a good approximation is sought. For instance, (8) works perfectly well if you reserve a small number of initial results to establish a rough scale.
whuber

8

You can use a trick very similar to what you mention. Let's say that XN(μ,σ2) is a normal random variable with known parameters. Then we know its distribution function, Φμ,σ2, and Φμ,σ2(X) will be uniformly distributed on (0,1). To prove this, note that for d(0,1) we see that

P(Φμ,σ2(X)d)=P(XΦμ,σ21(d))=d.

The above probability is clearly zero for non-positive d and 1 for d1. This is enough to show that Φμ,σ2(X) has a uniform distribution on (0,1) as we have shown that the corresponding measures are equal for a generator of the Borel σ-algebra on R. Thus, you can just tranform the normally distributed data by the distribution function and you'll get uniformly distributed data.


4
It's the inverse of inverse transform sampling!
Roger Fan

Could you possibly elaborate on the second sentence of your second paragraph? I am having trouble understanding the following: "This is enough to show that Φμ,σ2(X) has a uniform distribution on (0,1) as we have shown that the corresponding measures are equal for a generator of the Borel σ-algebra on ℝ."
wellington

To show that some real random variable, X, has a uniform distribution, we should show that its corresponding measure, X(P) equals that of the uniform distribution for all measurable sets of the real line. However, it's actually enough to consider some generator of the σ-algebra, due to a uniqueness of measures-theorem. If they are equal on sets of the generator, they'll be equal for all measurable sets. This is just a measure-theoretic attachment to the answer.
swmo
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.