Як часто трапляються «ноу-гітери»?
Кількість матчів між кожним «ноу-гітером» у сучасну епоху (1901–2015) Головної ліги бейсболу збережено в масиві nohitter_times.
Якщо припустити, що «ноу-гітери» описуються як пуассонівський процес, тоді час між ними має експоненційний розподіл. Як ви вже бачили, експоненційний розподіл має один параметр, який позначимо як \(\tau\) — типовий інтервал часу. Значення параметра \(\tau\), за якого експоненційний розподіл найкраще узгоджується з даними, дорівнює середньому інтервалу часу (у кількості матчів) між «ноу-гітерами».
Обчисліть значення цього параметра з даних. Потім використайте np.random.exponential(), щоб «повторити» історію Головної ліги бейсболу, вибираючи інтервали між «ноу-гітерами» з експоненційного розподілу з вашим \(\tau\), і побудуйте гістограму як наближення до PDF.
Бібліотеки NumPy, pandas, matplotlib.pyplot і seaborn вже імпортовано для вас як np, pd, plt та sns відповідно.
Ця вправа є частиною курсу
Статистичне мислення в Python (Частина 2)
Інструкції до вправи
- Ініціалізуйте генератор випадкових чисел значенням
42. - Обчисліть середній час (у кількості матчів) між «ноу-гітерами».
- Зробіть 100 000 вибірок з експоненційного розподілу з параметром, який ви обчислили як середній інтервал між «ноу-гітерами».
- Побудуйте теоретичний PDF за допомогою
plt.hist(). Не забудьте використати ключові аргументиbins=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()