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)