Come utilizzare la distribuzione multinomiale in python
La distribuzione multinomiale descrive la probabilità di ottenere un numero specifico di conteggi per k risultati diversi, quando ciascun risultato ha una probabilità fissa di verificarsi.
Se una variabile casuale può essere trovata con la seguente formula:
Probabilità = n! * (p 1 x 1 * p 2 x 2 * … * p k x k ) / (x 1 ! * x 2 ! … * x k !)
Oro:
- n: numero totale di eventi
- x 1 : numero di volte in cui si verifica il risultato 1
- p 1 : probabilità che si verifichi il risultato 1 in una data prova
Gli esempi seguenti mostrano come utilizzare la funzione scipy.stats.multinomial() in Python per rispondere a diverse domande di probabilità riguardanti la distribuzione multinomiale.
Esempio 1
In un’elezione a sindaco a tre, il candidato A riceve il 10% dei voti, il candidato B riceve il 40% dei voti e il candidato C riceve il 50% dei voti.
Se selezioniamo un campione casuale di 10 elettori, qual è la probabilità che 2 abbiano votato per il candidato A, 4 abbiano votato per il candidato B e 4 abbiano votato per il candidato C?
Possiamo usare il seguente codice in Python per rispondere a questa domanda:
from scipy. stats import multinomial #calculate multinomial probability multinomial. pmf (x=[2, 4, 4], n=10, p=[.1, .4, .5]) 0.05040000000000001
La probabilità che esattamente 2 persone abbiano votato per A, 4 per B e 4 per C è 0,0504 .
Esempio 2
Supponiamo che un’urna contenga 6 biglie gialle, 2 biglie rosse e 2 biglie rosa.
Se estraiamo a caso 4 palline dall’urna, con reinserimento, qual è la probabilità che tutte e 4 le palline siano gialle?
Possiamo usare il seguente codice in Python per rispondere a questa domanda:
from scipy. stats import multinomial #calculate multinomial probability multinomial. pmf (x=[4, 0, 0], n=4, p=[.6, .2, .2]) 0.1295999999999999
La probabilità che tutte e 4 le palline siano gialle è circa 0,1296 .
Esempio 3
Supponiamo che due studenti stiano giocando a scacchi l’uno contro l’altro. La probabilità che lo studente A vinca un dato gioco è 0,5, la probabilità che lo studente B vinca un dato gioco è 0,3 e la probabilità che ci sia un pareggio in un dato gioco è 0,2.
Se giocano 10 partite, qual è la probabilità che il giocatore A vinca 4 volte, il giocatore B vinca 5 volte e che pareggia 1 volta?
Possiamo usare il seguente codice in Python per rispondere a questa domanda:
from scipy. stats import multinomial #calculate multinomial probability multinomial. pmf (x=[4, 5, 1], n=10, p=[.5, .3, .2]) 0.03827249999999997
La probabilità che il giocatore A vinca 4 volte, il giocatore B vinca 5 volte e che pareggia 1 volta è di circa 0,038 .
Risorse addizionali
Le seguenti esercitazioni forniscono informazioni aggiuntive sulla distribuzione multinomiale:
Un’introduzione alla distribuzione multinomiale
Calcolatore della distribuzione multinomiale
Cos’è un test multinomiale? (Definizione ed esempio)