नो-हिटर कितनी बार होते हैं?
मेजर लीग बेसबॉल के आधुनिक दौर (1901-2015) में हर नो-हिटर के बीच खेले गए गेम्स की संख्या ऐरे nohitter_times में संग्रहीत है.
यदि आप मानते हैं कि नो-हिटर्स को एक Poisson प्रोसेस से वर्णित किया जा सकता है, तो नो-हिटर्स के बीच का समय Exponential डिस्ट्रीब्यूशन का अनुसरण करता है. जैसा कि आपने देखा, Exponential डिस्ट्रीब्यूशन का एक ही पैरामीटर होता है, जिसे हम \(\tau\) कहेंगे, यानी औसत अंतराल समय. वह \(\tau\) जिसका मान डेटा से सबसे अच्छा मेल खाता है, वह नो-हिटर्स के बीच औसत अंतराल समय (जहाँ समय का यूनिट गेम्स की संख्या है) होता है.
डेटा से इस पैरामीटर का मान निकालें. फिर, np.random.exponential() का उपयोग करके, आपके द्वारा निकाले गए \(\tau\) के साथ Exponential डिस्ट्रीब्यूशन से अंतराल समय ड्रॉ करें ताकि मेजर लीग बेसबॉल का "इतिहास दोहराएँ", और हिस्टोग्राम प्लॉट करें जो PDF का एक एप्रॉक्सिमेशन होगा.
NumPy, pandas, matplotlib.pyplot, और seaborn आपके लिए क्रमशः np, pd, plt, और sns नामों से इम्पोर्ट किए गए हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Statistical Thinking in Python (Part 2)
अभ्यास निर्देश
- रैंडम नंबर जनरेटर को
42से सीड करें. - नो-हिटर्स के बीच औसत समय (गेम्स की संख्या के यूनिट में) निकालें.
- inter-no-hitter times के mean से निकाले गए पैरामीटर के साथ Exponential डिस्ट्रीब्यूशन से 100,000 सैंपल ड्रॉ करें.
plt.hist()का उपयोग करके सैद्धांतिक PDF प्लॉट करें. ध्यान रखें कि keyword argumentsbins=50,density=True, औरhisttype='step'का उपयोग करें. अपने ऐक्सिस को लेबल करना न भूलें.- अपना प्लॉट दिखाएँ.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Seed random number generator
____
# Compute mean no-hitter time: tau
tau = ____
# Draw out of an exponential distribution with parameter tau: inter_nohitter_time
inter_nohitter_time = ____(____, 100000)
# Plot the PDF and label axes
_ = ____(inter_nohitter_time,
____, ____, ____)
_ = plt.xlabel('Games between no-hitters')
_ = plt.ylabel('PDF')
# Show the plot
plt.show()