शुरू करेंमुफ़्त में शुरू करें

हमें सिमुलेशन की ज़रूरत क्यों पड़ती है?

पिछले लेसन में, आपने dia के mean और covariance मैट्रिक्स का उपयोग करके एक multivariate normal distribution से सिमुलेशन किया था. अब आप simulated परिणामों का उपयोग करके दिलचस्प प्रश्नों के उत्तर देंगे!

आप पूछ सकते हैं: जब हमारे पास historical डेटा है तो हम सिमुलेशन क्यों करते हैं? क्या हम केवल डेटा का उपयोग करके ही अपने प्रश्नों का उत्तर नहीं दे सकते?

यह बहुत अच्छा प्रश्न है. Monte Carlo सिमुलेशन probability distributions पर आधारित मॉडलिंग का उपयोग करते हैं, जो निरीक्षण के लिए पूरी probability distribution देते हैं (बहुत बड़ी संख्या में samples), जबकि historical डेटा में उपलब्ध डेटा पॉइंट्स की संख्या सीमित होती है.

उदाहरण के लिए, आप ऐसा प्रश्न पूछ सकते हैं: हमारी सिमुलेशन में diabetes मरीजों के लिए age वैरिएबल का 0.1st quantile क्या है? हम इस प्रश्न का उत्तर केवल historical डेटा dia से नहीं दे सकते: क्योंकि इसमें केवल 442 रिकॉर्ड हैं, हम यह नहीं निकाल सकते कि एक-हज़ारवाँ मान क्या होगा. इसके बजाय, आप Monte Carlo सिमुलेशन के परिणामों का लाभ उठा सकते हैं — जो आप अब करने वाले हैं!

Diabetes डेटासेट एक DataFrame dia के रूप में लोड किया गया है, और निम्नलिखित लाइब्रेरीज़ आपके लिए इम्पोर्ट की गई हैं: pandas as pd, numpy as np, और scipy.stats as st.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में Monte Carlo Simulations

पाठ्यक्रम देखें

अभ्यास निर्देश

  • simulated परिणामों में tc वैरिएबल का 0.1st quantile (सबसे निचला एक-हज़ारवाँ भाग) निकालें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

cov_dia = dia[["age", "bmi", "bp", "tc", "ldl", "hdl", "tch", "ltg", "glu"]].cov()
mean_dia = dia[["age", "bmi", "bp", "tc", "ldl", "hdl", "tch", "ltg", "glu"]].mean()

simulation_results = st.multivariate_normal.rvs(mean=mean_dia, size=10000, cov=cov_dia)

df_results = pd.DataFrame(simulation_results, columns=["age", "bmi", "bp", "tc", "ldl", "hdl", "tch", "ltg", "glu"])

# Calculate the 0.1st quantile of the tc variable
print(____)
कोड संपादित करें और चलाएँ