Comment utiliser la distribution multinomiale en Python



La distribution multinomiale décrit la probabilité d’obtenir un nombre spécifique de décomptes pour k résultats différents, lorsque chaque résultat a une probabilité fixe de se produire.

Si une variable aléatoire X suit une distribution multinomiale, alors la probabilité que le résultat 1 se produise exactement x 1 fois, que le résultat 2 se produise exactement x 2 fois, etc. peut être trouvée par la formule suivante :

Probabilité = n ! * (p 1 x 1 * p 2 x 2 * … * p k x k ) / (x 1 ! * x 2 ! … * x k !)

où:

  • n : nombre total d’événements
  • x 1 : nombre de fois où le résultat 1 se produit
  • p 1 : probabilité que le résultat 1 se produise dans un essai donné

Les exemples suivants montrent comment utiliser la fonction scipy.stats.multinomial() en Python pour répondre à différentes questions de probabilité concernant la distribution multinomiale.

Exemple 1

Dans une élection à trois pour le maire, le candidat A reçoit 10 % des voix, le candidat B reçoit 40 % des voix et le candidat C reçoit 50 % des voix.

Si nous sélectionnons un échantillon aléatoire de 10 électeurs, quelle est la probabilité que 2 aient voté pour le candidat A, 4 aient voté pour le candidat B et 4 aient voté pour le candidat C ?

Nous pouvons utiliser le code suivant en Python pour répondre à cette question :

from scipy.stats import multinomial

#calculate multinomial probability
multinomial.pmf(x=[2, 4, 4], n=10, p=[.1, .4, .5])

0.05040000000000001

La probabilité qu’exactement 2 personnes aient voté pour A, 4 pour B et 4 pour C est de 0,0504 .

Exemple 2

Supposons qu’une urne contienne 6 billes jaunes, 2 billes rouges et 2 billes roses.

Si nous sélectionnons au hasard 4 boules dans l’urne, avec remise, quelle est la probabilité que les 4 boules soient toutes jaunes ?

Nous pouvons utiliser le code suivant en Python pour répondre à cette question :

from scipy.stats import multinomial

#calculate multinomial probability
multinomial.pmf(x=[4, 0, 0], n=4, p=[.6, .2, .2])

0.1295999999999999

La probabilité que les 4 boules soient jaunes est d’environ 0,1296 .

Exemple 3

Supposons que deux élèves jouent aux échecs l’un contre l’autre. La probabilité que l’élève A gagne un jeu donné est de 0,5, la probabilité que l’élève B gagne un jeu donné est de 0,3 et la probabilité qu’il y ait égalité dans un jeu donné est de 0,2.

S’ils jouent 10 parties, quelle est la probabilité que le joueur A gagne 4 fois, le joueur B gagne 5 fois et qu’ils soient à égalité 1 fois ?

Nous pouvons utiliser le code suivant en Python pour répondre à cette question :

from scipy.stats import multinomial

#calculate multinomial probability
multinomial.pmf(x=[4, 5, 1], n=10, p=[.5, .3, .2])

0.03827249999999997

La probabilité que le joueur A gagne 4 fois, le joueur B gagne 5 fois et qu’ils soient à égalité 1 fois est d’environ 0,038 .

Ressources additionnelles

Les didacticiels suivants fournissent des informations supplémentaires sur la distribution multinomiale :

Une introduction à la distribution multinomiale
Calculateur de distribution multinomiale
Qu’est-ce qu’un test multinomial ? (Définition et exemple)

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *