प्रॉफिट समस्या का सिमुलेशन
आप एक ऐसी कंपनी में काम करते हैं जो इंडस्ट्रियल इक्विपमेंट बनाती है। हर इक्विपमेंट का सेल्स प्राइस $100,000 है। आपको यह भी पता है कि inflation_rate और सेल्स volume के बीच मजबूत नकारात्मक सह-संबंध है। इस संबंध को कोवारिएंस मैट्रिक्स cov_matrix द्वारा दर्शाया गया है, जो आपके लिए कंसोल में उपलब्ध है।
फंक्शन profit_next_year_mc() एक Monte Carlo सिमुलेशन चलाता है और अपेक्षित प्रॉफिट (हज़ार डॉलर में) लौटाता है, जब आप औसत महँगाई दर और औसत सेल्स वॉल्यूम को आर्ग्युमेंट के रूप में देते हैं। आपको n भी पास करना होगा, यानी सिमुलेशन कितनी बार चलाना है। यह फंक्शन आपके लिए लोड कर दिया गया है, और उसकी परिभाषा नीचे दी गई है।
def profit_next_year_mc(mean_inflation, mean_volume, n):
profits = []
for i in range(n):
# Generate inputs by sampling from the multivariate normal distribution
rate_sales_volume = st.multivariate_normal.rvs(mean=[mean_inflation,mean_volume], cov=cov_matrix,size=1000)
# Deterministic calculation of company profit
price = 100 * (100 + rate_sales_volume[:,0])/100
volume = rate_sales_volume[:,1]
loan_and_cost = 50 * volume + 45 * (100 + 3 * rate_sales_volume[:,0]) * (volume/100)
profit = (np.mean(price * volume - loan_and_cost))
profits.append(profit)
return profits
निम्न पैकेज आपके लिए इम्पोर्ट कर दिए गए हैं: pandas as pd, numpy as np, scipy.stats as st, matplotlib.pyplot as plt, और seaborn as sns.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Monte Carlo Simulations
अभ्यास निर्देश
mean_inflationको2औरmean_volumeको500रखते हुएprofit_next_year_mc()को 500 बार चलाकर Monte Carlo सिमुलेशन करें।- सिमुलेशन के रिज़ल्ट्स को
displotसे विज़ुअलाइज़ करें।
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Run a Monte Carlo simulation 500 times using a mean_inflation of 2 and a mean_volume of 500
profits = profit_next_year_mc(____)
# Create a displot of the results
____
plt.show()