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