Якщо є історія — її можна змоделювати!
Іноді історія, що описує наш розподіл імовірностей, не має стандартної назви розподілу. У таких випадках не хвилюйтеся! Ви завжди можете змоделювати її симуляцією. Ми зробимо це в цій і наступній вправах.
У попередніх вправах ми розглядали рідкісну подію — матч без хітів у Вищій бейсбольній лізі (MLB). Hitting the cycle — коли батер за одну гру робить усі чотири види хітів — це ще одна рідкісна подія. Подібно до матчів без хітів, це можна змоделювати як процес Пуассона, тож час між такими подіями має експоненційний розподіл.
Скільки нам доведеться чекати, щоб побачити матч без хітів, а потім — щоб батер зробив hitting the cycle? Ідея така: ми чекаємо певний час на матч без хітів, а після нього — ще певний час на hitting the cycle. Іншими словами, який загальний час очікування двох різних пуассонівських процесів, що відбуваються послідовно? Загальний час — це час очікування матчу без хітів плюс час очікування hitting the cycle.
Тепер ви напишете функцію, яка вибірковим чином генерує значення з розподілу, описаного цією історією.
Ця вправа є частиною курсу
Статистичне мислення в Python (Частина 1)
Інструкції до вправи
- Визначте функцію з сигнатурою виклику
successive_poisson(tau1, tau2, size=1), яка моделює час очікування матчу без хітів і події hitting the cycle.- Згенеруйте часи очікування (кількість зразків
size) для матчу без хітів з експоненційного розподілу з параметромtau1і присвойте доt1. - Згенеруйте часи очікування (кількість зразків
size) для hitting the cycle з експоненційного розподілу з параметромtau2і присвойте доt2. - Функція має повертати суму часів очікування для цих двох подій.
- Згенеруйте часи очікування (кількість зразків
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
def successive_poisson(tau1, tau2, size=1):
"""Compute time for arrival of 2 successive Poisson processes."""
# Draw samples out of first exponential distribution: t1
t1 = ____(____, ____)
# Draw samples out of second exponential distribution: t2
t2 = ____(____, ____)
return t1 + t2