एक मात्रात्मक मॉडल दुनिया के कुछ व्यवहार का अनुकरण करता है (ए) उनके संख्यात्मक गुणों में से कुछ का प्रतिनिधित्व करता है और (बी) उन संख्याओं को एक निश्चित तरीके से जोड़कर संख्यात्मक आउटपुट उत्पन्न करता है जो ब्याज के गुणों का प्रतिनिधित्व करते हैं।
इस योजनाबद्ध में, बाईं ओर तीन संख्यात्मक इनपुट को दाईं ओर एक संख्यात्मक आउटपुट का उत्पादन करने के लिए संयुक्त किया जाता है। संख्या रेखाएं इनपुट और आउटपुट के संभावित मूल्यों को दर्शाती हैं; डॉट्स उपयोग में विशिष्ट मूल्य दर्शाते हैं। आजकल डिजिटल कंप्यूटर आमतौर पर गणना करते हैं, लेकिन वे आवश्यक नहीं हैं: मॉडल की गणना पेंसिल-एंड-पेपर के साथ या लकड़ी, धातु और इलेक्ट्रॉनिक सर्किट में "एनालॉग" उपकरणों के निर्माण से की गई है।
एक उदाहरण के रूप में, शायद पूर्ववर्ती मॉडल ने अपने तीन आदानों को गाया है। R
इस मॉडल के लिए कोड जैसा दिख सकता है
inputs <- c(-1.3, 1.2, 0) # Specify inputs (three numbers)
output <- sum(inputs) # Run the model
print(output) # Display the output (a number)
इसका आउटपुट बस एक नंबर है,
-0.1
हम दुनिया को पूरी तरह से नहीं जान सकते हैं: यहां तक कि अगर मॉडल दुनिया के काम करने के तरीके से होता है, तो हमारी जानकारी अपूर्ण है और दुनिया में चीजें बदलती हैं। (स्टोचस्टिक) सिमुलेशन हमें यह समझने में मदद करते हैं कि मॉडल इनपुट्स में इस तरह की अनिश्चितता और भिन्नता कैसे अनिश्चितता और आउटपुट में भिन्नता का अनुवाद करना चाहिए। वे इनपुट को यादृच्छिक रूप से अलग-अलग करके, प्रत्येक भिन्नता के लिए मॉडल को चलाते हुए, और सामूहिक आउटपुट को सारांशित करके ऐसा करते हैं।
"बेतरतीब ढंग से" का मतलब मनमानी नहीं है। मॉडलर को निर्दिष्ट करना चाहिए (चाहे जानबूझकर या नहीं, चाहे स्पष्ट रूप से या अंतर्निहित रूप से) सभी निविष्टियों की इच्छित आवृत्तियों। आउटपुट की आवृत्तियाँ परिणामों का सबसे विस्तृत सारांश प्रदान करती हैं।
एक ही मॉडल, यादृच्छिक इनपुट और परिणामी (गणना) यादृच्छिक आउटपुट के साथ दिखाया गया है।
संख्या के वितरण को दर्शाने के लिए चित्र हिस्टोग्राम के साथ आवृत्तियों को प्रदर्शित करता है। इरादा इनपुट आवृत्तियों, छोड़ दिया पर इनपुट के लिए दिखाए जाते हैं, जबकि गणना उत्पादन आवृत्ति, मॉडल कई बार चलाकर प्राप्त है, सही में दिखाया गया है।
नियतात्मक मॉडल के लिए इनपुट का प्रत्येक सेट एक अनुमानित संख्यात्मक आउटपुट का उत्पादन करता है। जब मॉडल का उपयोग स्टोचस्टिक सिमुलेशन में किया जाता है, हालांकि, आउटपुट एक वितरण है (जैसे कि सही पर दिखाए गए लंबे ग्रे एक)। आउटपुट वितरण का प्रसार हमें बताता है कि जब इसके इनपुट अलग-अलग होते हैं तो मॉडल आउटपुट अलग-अलग कैसे हो सकते हैं।
पूर्ववर्ती कोड उदाहरण को एक सिमुलेशन में बदलने के लिए इस तरह संशोधित किया जा सकता है:
n <- 1e5 # Number of iterations
inputs <- rbind(rgamma(n, 3, 3) - 2,
runif(n, -2, 2),
rnorm(n, 0, 1/2))
output <- apply(inputs, 2, sum)
hist(output, freq=FALSE, col="Gray")
इसका उत्पादन इन यादृच्छिक आदानों के साथ मॉडल को पुनरावृत्त करके उत्पन्न सभी संख्याओं के हिस्टोग्राम के साथ संक्षेपित किया गया है:
पर्दे के पीछे से, हम इस मॉडल में पारित किए गए कई यादृच्छिक आदानों का निरीक्षण कर सकते हैं:
rownames(inputs) <- c("First", "Second", "Third")
print(inputs[, 1:5], digits=2)
आउटपुट पुनरावृत्तियों में से पहले पांच को दिखाता है , प्रति स्तंभ एक स्तंभ के साथ:100 , 000
[,1] [,2] [,3] [,4] [,5]
First -1.62 -0.72 -1.11 -1.57 -1.25
Second 0.52 0.67 0.92 1.54 0.24
Third -0.39 1.45 0.74 -0.48 0.33
तर्क से, दूसरे प्रश्न का उत्तर यह है कि सिमुलेशन का उपयोग हर जगह किया जा सकता है। एक व्यावहारिक मामले के रूप में, सिमुलेशन को चलाने की अपेक्षित लागत संभावित लाभ से कम होनी चाहिए। परिवर्तनशीलता को समझने और बढ़ाने में क्या लाभ हैं? दो प्राथमिक क्षेत्र हैं जहां यह महत्वपूर्ण है:
सत्य की तलाश करना , जैसा कि विज्ञान और कानून में है। एक संख्या अपने आप में उपयोगी है, लेकिन यह जानना अधिक उपयोगी है कि यह संख्या कितनी सही या निश्चित है।
व्यवसाय और दैनिक जीवन में निर्णय लेना । निर्णय जोखिम और लाभों को संतुलित करते हैं। जोखिम खराब परिणामों की संभावना पर निर्भर करते हैं। स्टोचस्टिक सिमुलेशन उस संभावना का आकलन करने में मदद करते हैं।
कम्प्यूटिंग सिस्टम वास्तविक, जटिल मॉडल को बार-बार निष्पादित करने के लिए पर्याप्त शक्तिशाली बन गए हैं। सॉफ्टवेयर तेजी से और आसानी से यादृच्छिक मूल्यों को उत्पन्न करने और सारांशित करने के लिए विकसित हुआ है (जैसा कि दूसरा R
उदाहरण दिखाता है)। इन दोनों कारकों ने पिछले 20 वर्षों (और अधिक) को उस बिंदु पर संयोजित किया है जहां अनुकरण नियमित है। लोगों को (1) इनपुट के उचित वितरण को निर्दिष्ट करने में मदद करने के लिए क्या अवशेष है और (2) आउटपुट के वितरण को समझते हैं। यह मानव विचार का क्षेत्र है, जहाँ अब तक कंप्यूटरों को बहुत कम मदद मिली है।