НачатьНачать бесплатно

Как часто случаются игры без хитов?

Количество игр между каждой игрой без хитов в современную эпоху Главной лиги бейсбола (1901–2015) хранится в массиве nohitter_times.

Если предположить, что игры без хитов описываются пуассоновским процессом, то время между ними подчиняется экспоненциальному распределению. Как вы уже знаете, экспоненциальное распределение имеет один параметр — \(\tau\), типичный интервал времени. Значение параметра \(\tau\), при котором экспоненциальное распределение наилучшим образом соответствует данным, равно среднему интервальному времени (где время измеряется в количестве игр) между играми без хитов.

Вычислите значение этого параметра по данным. Затем используйте np.random.exponential(), чтобы «воспроизвести» историю Главной лиги бейсбола: сгенерируйте интервалы между играми без хитов из экспоненциального распределения с найденным значением \(\tau\) и постройте гистограмму как приближение к функции плотности вероятности.

Biblioteki NumPy, pandas, matplotlib.pyplot и seaborn импортированы для вас как np, pd, plt и sns соответственно.

Это упражнение является частью курса

Статистическое мышление на Python (часть 2)

Посмотреть курс

Инструкции к упражнению

  • Инициализируйте генератор случайных чисел значением 42.
  • Вычислите среднее время (в количестве игр) между играми без хитов.
  • Сгенерируйте 100 000 выборок из экспоненциального распределения с параметром, вычисленным из среднего времени между играми без хитов.
  • Постройте теоретическую функцию плотности вероятности с помощью 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()
Редактировать и запускать код