Monte Carlo simulations का उपयोग

Python में Monte Carlo Simulations

Izzy Weber

Curriculum Manager, DataCamp

व्यापक उपयोगिता

Monte Carlo simulations का उपयोग इन क्षेत्रों में होता है...

  • Finance और business
  • Engineering
  • Physical sciences
Python में Monte Carlo Simulations

स्टॉक कीमत पूर्वानुमान

समय के साथ सिम्युलेटेड स्टॉक कीमतें दिखाता ग्राफ

1 https://marketxls.com/monte-carlo-simulation-excel
Python में Monte Carlo Simulations

रिस्क मैनेजमेंट

VaR confidence interval दिखाता एक ग्राफ

1 https://www.investopedia.com/articles/04/092904.asp https://corporatefinanceinstitute.com/course/modeling-risk-monte-carlo-simulation/
Python में Monte Carlo Simulations

बाइंडिंग साइट पहचान

 

प्रोटीन बाइंडिंग साइट ग्राफ़िक

1 https://pubs.rsc.org/en/content/articlelanding/2020/ra/d0ra01127d
Python में Monte Carlo Simulations

इंजीनियरिंग में रिलायबिलिटी विश्लेषण

safe और failure डोमेन दिखाता ग्राफ

1 www.researchgate.net/publication/228814883_Probabilistic_Transformation_Method_in_Reliability_Analysis
Python में Monte Carlo Simulations

Monte Carlo Simulations के लाभ

 

  • विभिन्न इनपुट के लिए मानों की रेंज पर विचार करें
  • सिर्फ क्या हो सकता है नहीं, हर outcome की संभावना भी दिखाएँ
  • संभव outcomes की रेंज को विज़ुअलाइज़ करना आसान बनाता है
  • अलग परिस्थितियों में क्या होता, यह भी परख सकते हैं

 

Monte Carlo simulations से optimize करें

Python में Monte Carlo Simulations

Biased पासों के थैले

दो थैलों से दो अलग पासे फेंकें; हर थैले में तीन biased पासे हैं:

bag1 = [[1, 2, 3, 6, 6, 6], [1, 2, 3, 4, 4, 6], [1, 2, 3, 3, 3, 5]]
bag2 = [[2, 2, 3, 4, 5, 6], [3, 3, 3, 4, 4, 5], [1, 1, 2, 4, 5, 5]]

 

Simulation:

  • प्रत्येक थैले से एक-एक पासा रैंडम चुनें; दोनों पासे फेंकें
  • यदि दोनों का योग आठ है तो सफलता, अन्यथा विफलता
  • हर यूनिक पासा-कॉम्बिनेशन के लिए सफलता की probability निकालनी है
Python में Monte Carlo Simulations

Biased पासों का सिमुलेशन

def roll_biased_dice(n):
    results = {}

for i in range(n): bag_index1 = random.randint(0, 2) die_index1 = random.randint(0, 5) bag_index2 = random.randint(0, 2) die_index2 = random.randint(0, 5)
point1 = bag1[bag_index1][die_index1] point2 = bag2[bag_index2][die_index2]
key = "%s_%s" % (point1, point2)
if point1 + point2 == 8: if key not in results: results[key] = 1 else: results[key] += 1
Python में Monte Carlo Simulations

Biased पासों के परिणाम

dice1_dice2 probability_of_success
6_2 5.54
3_5 2.67
2_6 1.45
4_4 4
Python में Monte Carlo Simulations

Biased पासों के परिणाम

bag1 = [[1, 2, 3, 6, 6, 6], [1, 2, 3, 4, 4, 6], [1, 2, 3, 3, 3, 5]]
bag2 = [[2, 2, 3, 4, 5, 6], [3, 3, 3, 4, 4, 5], [1, 1, 2, 4, 5, 5]]

10,000 trials के सिमुलेशन परिणाम: पासा-कॉम्बिनेशन की सफलता की probabilities दिखाता बार चार्ट

Python में Monte Carlo Simulations

Biased पासों के परिणाम

bag1 = [[2, 2, 3, 4, 6, 6], [1, 2, 2, 4, 6, 6], [1, 2, 3, 3, 3, 3]]
bag2 = [[1, 2, 3, 4, 5, 6], [1, 3, 3, 4, 4, 6], [2, 2, 2, 3, 5, 5]]

10,000 trials के सिमुलेशन परिणाम: पासा-कॉम्बिनेशन की सफलता की probabilities दिखाता बार चार्ट

Python में Monte Carlo Simulations

Monte Carlo simulations की सीमाएँ

  • मॉडल आउटपुट उतना ही अच्छा जितना मॉडल इनपुट
  • अत्यधिक घटनाओं की probability अक्सर कम आँकी जाती है
Python में Monte Carlo Simulations

अभ्यास करते हैं!

Python में Monte Carlo Simulations

Preparing Video For Download...