CommencezCommencez gratuitement

Si vous avez une histoire, vous pouvez la simuler!

Parfois, l'histoire qui décrit notre distribution de probabilité n'a pas de loi « nommée » correspondante. Dans ces cas-là, pas de panique! Vous pouvez toujours la simuler. C'est ce que nous ferons dans cet exercice et le suivant.

Dans des exercices précédents, nous avons examiné l'événement rare des matchs sans coup sûr dans la Ligue majeure de baseball. Compléter le carrousel (hitting the cycle), lorsqu'un frappeur réussit les quatre types de coups sûrs dans un même match, est un autre événement rare. Comme les matchs sans coup sûr, on peut le modéliser comme un processus de Poisson; les temps entre deux carrousels suivent donc aussi une loi exponentielle.

Combien de temps devons-nous attendre pour voir un match sans coup sûr, puis qu'un frappeur complète le carrousel? L'idée est qu'il faut d'abord attendre un certain temps pour le match sans coup sûr, puis, après celui-ci, attendre jusqu'au carrousel. Autrement dit, quel est le temps d'attente total pour l'arrivée successive de deux processus de Poisson différents? Le temps total d'attente est la somme du temps attendu pour le match sans coup sûr et du temps attendu pour le carrousel.

Vous allez maintenant écrire une fonction pour échantillonner la distribution décrite par cette histoire.

Cette activité fait partie du cours

Réflexion statistique en Python (Partie 1)

Voir le cours

Instructions de l’exercice

  • Définissez une fonction avec la signature d'appel successive_poisson(tau1, tau2, size=1) qui échantillonne le temps d'attente pour un match sans coup sûr et pour un carrousel.
    • Générez des temps d'attente (un nombre de valeurs égal à size) pour le match sans coup sûr à partir d'une loi exponentielle paramétrée par tau1 et assignez-les à t1.
    • Générez des temps d'attente (un nombre de valeurs égal à size) pour le carrousel à partir d'une loi exponentielle paramétrée par tau2 et assignez-les à t2.
    • La fonction retourne la somme des temps d'attente pour les deux événements.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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
Modifier et exécuter le code