मोंटे कार्लो एकीकरण

From Vigyanwiki
Revision as of 10:51, 24 March 2023 by alpha>Indicwiki (Created page with "{{Short description|Numerical technique}} Image:MonteCarloIntegrationCircle.svg|thumb|मोंटे कार्लो एकीकरण का एक उदाहरण...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
मोंटे कार्लो एकीकरण का एक उदाहरण। इस उदाहरण में, डोमेन डी आंतरिक चक्र है और डोमेन ई वर्ग है। क्योंकि वर्ग के क्षेत्रफल (4) की गणना आसानी से की जा सकती है, वृत्त का क्षेत्रफल (π*1.02) का अनुमान सर्कल (40) के भीतर बिंदुओं के अनुपात (0.8) से अंकों की कुल संख्या (50) से लगाया जा सकता है, जिससे सर्कल के क्षेत्रफल के लिए 4*0.8 = 3.2 ≈ π का ​​अनुमान लगाया जा सकता है।

गणित मेंमोंटे कार्लो विधि एकीकरण छद्म यादृच्छिकता का उपयोग करके संख्यात्मक चतुर्भुज के लिए एक तकनीक है। यह एक विशेष मोंटे कार्लो पद्धति है जो संख्यात्मक रूप से एक निश्चित अभिन्न की गणना करती है। जबकि अन्य एल्गोरिदम आमतौर पर एक नियमित ग्रिड पर इंटीग्रैंड का मूल्यांकन करते हैं,[1] मोंटे कार्लो बेतरतीब ढंग से उन बिंदुओं को चुनता है जिन पर इंटीग्रैंड का मूल्यांकन किया जाता है।[2] यह विधि विशेष रूप से उच्च-आयामी इंटीग्रल के लिए उपयोगी है।[3]

मोंटे कार्लो एकीकरण करने के लिए अलग-अलग तरीके हैं, जैसे समान वितरण (निरंतर), स्तरीकृत नमूनाकरण, महत्व नमूनाकरण, कण फ़िल्टर (कण फ़िल्टर के रूप में भी जाना जाता है), और माध्य-क्षेत्र कण विधियाँ

सिंहावलोकन

संख्यात्मक एकीकरण में, ट्रेपेज़ॉइडल नियम जैसे तरीके एक नियतात्मक एल्गोरिथ्म का उपयोग करते हैं। दूसरी ओर, मोंटे कार्लो एकीकरण, एक स्टोकेस्टिक | गैर-नियतात्मक दृष्टिकोण को नियोजित करता है: प्रत्येक प्राप्ति एक अलग परिणाम प्रदान करती है। मोंटे कार्लो में, अंतिम परिणाम संबंधित त्रुटि सलाखों के साथ सही मान का अनुमान है, और सही मान उन त्रुटि सलाखों के भीतर होने की संभावना है।

समस्या मोंटे कार्लो एकीकरण पतों एक एकाधिक अभिन्न की गणना है

जहाँ Ω, R का एक उपसमुच्चय हैm, आयतन है

भोली मोंटे कार्लो दृष्टिकोण Ω पर समान रूप से नमूना बिंदुओं के लिए है:[4] दिए गए एन वर्दी नमूने,

मुझे अंदाज़ा लगाया जा सकता है

.

ऐसा इसलिए है क्योंकि बड़ी संख्या का नियम यह सुनिश्चित करता है

.

Q से I का अनुमान दिया गया हैN, Q की त्रुटि पट्टियाँNएक अनुमानक #नमूना प्रसरण के पूर्वाग्रह का उपयोग करके नमूना भिन्नता # जनसंख्या भिन्नता और नमूना भिन्नता द्वारा अनुमान लगाया जा सकता है।

जिससे होता है

.

जब तक क्रम है

घिरा हुआ है, यह भिन्नता 1/एन के रूप में शून्य से शून्य तक घट जाती है। क्यू की त्रुटि का अनुमानNइस प्रकार है

जो के रूप में घटता है . यह माध्य से गुणा की गई मानक त्रुटि है . यह परिणाम अभिन्न के आयामों की संख्या पर निर्भर नहीं करता है, जो कि आयाम पर घातीय रूप से निर्भर करने वाले अधिकांश नियतात्मक तरीकों के खिलाफ मोंटे कार्लो एकीकरण का वादा किया गया लाभ है।[5] यह ध्यान रखना महत्वपूर्ण है कि, नियतात्मक विधियों के विपरीत, त्रुटि का अनुमान सख्त त्रुटि सीमा नहीं है; यादृच्छिक नमूनाकरण इंटीग्रैंड की सभी महत्वपूर्ण विशेषताओं को उजागर नहीं कर सकता है जिसके परिणामस्वरूप त्रुटि का अनुमान लगाया जा सकता है।

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

उदाहरण

File:Relative error of a Monte Carlo integration to calculate pi.svg
स्केलिंग दिखाते हुए नमूनों की संख्या के एक समारोह के रूप में सापेक्ष त्रुटि

मोंटे कार्लो एकीकरण का एक आदर्श उदाहरण π का ​​अनुमान है। समारोह पर विचार करें

और समुच्चय Ω = [−1,1] × [−1,1] V = 4 के साथ। ध्यान दें कि

इस प्रकार, मोंटे कार्लो एकीकरण के साथ π के मान की गणना करने का एक कच्चा तरीका Ω पर एन यादृच्छिक संख्या चुनना और गणना करना है

दाईं ओर की आकृति में, सापेक्ष त्रुटि एन के एक समारोह के रूप में मापा जाता है, इसकी पुष्टि करता है .

सी उदाहरण

ध्यान रखें कि एक वास्तविक यादृच्छिक संख्या जेनरेटर का उपयोग किया जाना चाहिए।

int i, throws = 99999, insideCircle = 0;
double randX, randY, pi;

srand(time(NULL));

for (i = 0; i < throws; ++i) {
  randX = rand() / (double) RAND_MAX;
  randY = rand() / (double) RAND_MAX;
  if (randX * randX + randY * randY < 1) ++insideCircle;
}

pi = 4.0 * insideCircle / throws;


पायथन उदाहरण

पायथन (प्रोग्रामिंग भाषा) में निर्मित।

from numpy import random
import numpy as np

throws = 2000
inside_circle = 0
i = 0
radius = 1
while i < throws:
    # Choose random X and Y centered around 0,0
    x = random.uniform(-radius, radius)
    y = random.uniform(-radius, radius)
    # If the point is inside circle, increase variable
    if x**2 + y**2 <= radius**2:
        inside_circle += 1
    i += 1

# Calculate area and print; should be closer to Pi with increasing number of throws
area = (((2 * radius) ** 2) * inside_circle) / throws
print(area)


वोल्फ्राम गणित उदाहरण

नीचे दिया गया कोड फ़ंक्शन को एकीकृत करने की प्रक्रिया का वर्णन करता है

से गणित में मोंटे-कार्लो पद्धति का उपयोग करना:

func[x_] := 1/(1 + Sinh[2*x]*(Log[x])^2);

(*Sample from truncated normal distribution to speed up convergence*)
Distrib[x_, average_, var_] :=   PDF[NormalDistribution[average, var], 1.1*x - 0.1];
n = 10;
RV = RandomVariate[TruncatedDistribution[{0.8, 3}, NormalDistribution[1, 0.399]], n];
Int = 1/n Total[func[RV]/Distrib[RV, 1, 0.399]]*Integrate[Distrib[x, 1, 0.399], {x, 0.8, 3}]

NIntegrate[func[x], {x, 0.8, 3}] (*Compare with real answer*)


पुनरावर्ती स्तरीकृत नमूनाकरण

File:Strata.png
पुनरावर्ती स्तरीकृत नमूनाकरण का एक उदाहरण। इस उदाहरण में, समारोह:
उपरोक्त उदाहरण से सुझाए गए एल्गोरिथम का उपयोग करके एक इकाई वर्ग के भीतर एकीकृत किया गया था। सैंपल किए गए बिंदुओं को दर्ज किया गया और प्लॉट किया गया। स्पष्ट रूप से स्तरीकृत नमूनाकरण एल्गोरिदम उन क्षेत्रों में बिंदुओं को केंद्रित करता है जहां फ़ंक्शन की भिन्नता सबसे बड़ी है।

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

सामान्य 'दो से विभाजित' रणनीति बहु-आयामों के लिए काम नहीं करती है क्योंकि ट्रैक रखने के लिए उप-खंडों की संख्या बहुत तेज़ी से बढ़ती है। इसके बजाय एक अनुमान है कि किस आयाम के साथ एक उपखंड को सबसे अधिक लाभांश लाना चाहिए और केवल इस आयाम के साथ मात्रा को उपविभाजित करता है।

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

लोकप्रिय MISER रूटीन एक समान एल्गोरिथम लागू करता है।

कंजूस मोंटे कार्लो

MISER एल्गोरिथ्म पुनरावर्ती स्तरीकृत नमूने पर आधारित है। इस तकनीक का उद्देश्य उच्चतम विचरण के क्षेत्रों में एकीकरण बिंदुओं को केंद्रित करके समग्र एकीकरण त्रुटि को कम करना है।[7] स्तरीकृत नमूनाकरण का विचार अवलोकन के साथ शुरू होता है कि दो अलग-अलग सेट क्षेत्रों के लिए ए और बी मोंटे कार्लो के अभिन्न अनुमानों के साथ और और प्रसरण और , संयुक्त अनुमान का प्रसरण Var(f)।

द्वारा दिया गया है,

यह दिखाया जा सकता है कि इस भिन्नता को बिंदुओं को वितरित करके कम किया जाता है,

इसलिए प्रत्येक उप-क्षेत्र में फ़ंक्शन के मानक विचलन के अनुपात में नमूना बिंदु आवंटित करके सबसे छोटी त्रुटि अनुमान प्राप्त किया जाता है।

MISER एल्गोरिथ्म प्रत्येक चरण में दो उप-क्षेत्र देने के लिए एक समन्वय अक्ष के साथ एकीकरण क्षेत्र को द्विभाजित करके आगे बढ़ता है। दिशा का चयन सभी संभावित समद्विभाजकों की जांच करके और एक का चयन करके किया जाता है जो दो उप-क्षेत्रों के संयुक्त विचरण को कम करेगा। वर्तमान चरण के लिए उपलब्ध अंकों की कुल संख्या के एक अंश के साथ नमूनाकरण द्वारा उप-क्षेत्रों में भिन्नता का अनुमान लगाया गया है। फिर वही प्रक्रिया सर्वोत्तम द्विभाजन से प्रत्येक दो अर्ध-स्थानों के लिए पुनरावर्ती रूप से दोहराई जाती है। शेष नमूना बिंदु N के सूत्र का उपयोग करके उप-क्षेत्रों को आवंटित किए जाते हैंaऔर nb. एकीकरण बिंदुओं का यह पुनरावर्ती आवंटन उपयोगकर्ता द्वारा निर्दिष्ट गहराई तक जारी रहता है जहां प्रत्येक उप-क्षेत्र को एक सादे मोंटे कार्लो अनुमान का उपयोग करके एकीकृत किया जाता है। इन व्यक्तिगत मूल्यों और उनके त्रुटि अनुमानों को समग्र परिणाम देने के लिए और इसकी त्रुटि का अनुमान लगाने के लिए ऊपर की ओर जोड़ा जाता है।

महत्व नमूनाकरण

विभिन्न प्रकार के महत्वपूर्ण सैंपलिंग एल्गोरिदम हैं, जैसे

महत्व नमूना एल्गोरिथ्म

महत्व नमूनाकरण मोंटे-कार्लो एकीकरण करने के लिए एक बहुत ही महत्वपूर्ण उपकरण प्रदान करता है।[3][8] इस पद्धति के महत्व के नमूने का मुख्य परिणाम यह है कि एकसमान नमूनाकरण अधिक सामान्य पसंद का एक विशेष मामला है, जिस पर किसी भी वितरण से नमूने लिए जाते हैं . विचार यह है माप Q के विचरण को कम करने के लिए चुना जा सकता हैN.

निम्नलिखित उदाहरण पर विचार करें जहां कोई 0 पर केंद्रित एक गॉसियन फ़ंक्शन को संख्यात्मक रूप से एकीकृत करना चाहता है, σ = 1 के साथ -1000 से 1000 तक। स्वाभाविक रूप से, यदि नमूने अंतराल [-1000, 1000] पर समान रूप से खींचे जाते हैं, तो केवल एक उनमें से बहुत छोटा हिस्सा अभिन्न के लिए महत्वपूर्ण होगा। जहां से नमूने चुने गए हैं वहां से एक अलग वितरण चुनकर इसे बेहतर बनाया जा सकता है, उदाहरण के लिए σ = 1 के साथ 0 पर केंद्रित गाऊसी वितरण के अनुसार नमूनाकरण करके। निश्चित रूप से सही विकल्प इंटीग्रैंड पर दृढ़ता से निर्भर करता है।

औपचारिक रूप से, वितरण से चुने गए नमूनों का एक सेट दिया जाता है

I के लिए अनुमानक द्वारा दिया गया है[3]

सहज रूप से, यह कहता है कि यदि हम किसी विशेष नमूने को अन्य नमूनों की तुलना में दोगुना चुनते हैं, तो हम इसे अन्य नमूनों की तुलना में आधा वजन देते हैं। यह अनुमानक समान नमूनाकरण के लिए स्वाभाविक रूप से मान्य है, जहां मामला है स्थिर है।

मेट्रोपोलिस-हेस्टिंग्स एल्गोरिदम उत्पन्न करने के लिए सबसे अधिक उपयोग किए जाने वाले एल्गोरिदम में से एक है से ,[3]इस प्रकार इंटीग्रल कंप्यूटिंग का एक कुशल तरीका प्रदान करता है।

वेगास मोंटे कार्लो

VEGAS एल्गोरिथ्म एकीकरण क्षेत्र पर कई पास बनाकर सटीक वितरण का अनुमान लगाता है जो फ़ंक्शन f का हिस्टोग्राम बनाता है। प्रत्येक हिस्टोग्राम का उपयोग अगले पास के लिए नमूनाकरण वितरण को परिभाषित करने के लिए किया जाता है। असम्बद्ध रूप से यह प्रक्रिया वांछित वितरण में परिवर्तित हो जाती है।[9] K की तरह बढ़ने वाले हिस्टोग्राम डिब्बे की संख्या से बचने के लिएd, प्रायिकता बंटन एक वियोज्य फलन द्वारा अनुमानित है:

ताकि आवश्यक डिब्बे की संख्या केवल Kd हो। यह समन्वय अक्षों पर इंटीग्रैंड के अनुमानों से फ़ंक्शन की चोटियों का पता लगाने के बराबर है। VEGAS की दक्षता इस धारणा की वैधता पर निर्भर करती है। यह सबसे अधिक कुशल होता है जब इंटीग्रैंड की चोटियाँ अच्छी तरह से स्थानीयकृत होती हैं। यदि एक इंटीग्रैंड को एक ऐसे रूप में फिर से लिखा जा सकता है जो लगभग वियोज्य है, तो यह VEGAS के साथ एकीकरण की दक्षता में वृद्धि करेगा। VEGAS में कई अतिरिक्त सुविधाएँ शामिल हैं, और स्तरीकृत नमूनाकरण और महत्व नमूनाकरण दोनों को जोड़ती है।[9]


यह भी देखें

टिप्पणियाँ

  1. Press et al, 2007, Chap. 4.
  2. Press et al, 2007, Chap. 7.
  3. 3.0 3.1 3.2 3.3 Newman, 1999, Chap. 2.
  4. Newman, 1999, Chap. 1.
  5. Press et al, 2007
  6. MacKay, David (2003). "chapter 4.4 Typicality & chapter 29.1" (PDF). सूचना सिद्धांत, अनुमान और लर्निंग एल्गोरिदम. Cambridge University Press. pp. 284–292. ISBN 978-0-521-64298-9. MR 2012999.
  7. Press, 1990, pp 190-195.
  8. Kroese, D. P.; Taimre, T.; Botev, Z. I. (2011). हैंडबुक ऑफ मोंटे कार्लो मेथड्स. John Wiley & Sons.
  9. 9.0 9.1 Lepage, 1978


संदर्भ


बाहरी संबंध