Hoe multinomiale distributie in python te gebruiken
De multinomiale verdeling beschrijft de waarschijnlijkheid van het verkrijgen van een specifiek aantal tellingen voor k verschillende uitkomsten, wanneer elke uitkomst een vaste waarschijnlijkheid van optreden heeft.
Als een willekeurige variabele kan worden gevonden met de volgende formule:
Waarschijnlijkheid = n! * (p 1 x 1 * p 2 x 2 * … * p k x k ) / (x 1 ! * x 2 ! … * x k !)
Goud:
- n: totaal aantal evenementen
- x 1 : aantal keren dat resultaat 1 voorkomt
- p 1 : waarschijnlijkheid dat resultaat 1 optreedt in een bepaalde poging
De volgende voorbeelden laten zien hoe u de functie scipy.stats.multinomial() in Python kunt gebruiken om verschillende waarschijnlijkheidsvragen met betrekking tot de multinomiale verdeling te beantwoorden.
voorbeeld 1
Bij een driewegverkiezing voor burgemeester krijgt kandidaat A 10% van de stemmen, kandidaat B 40% van de stemmen en kandidaat C 50% van de stemmen.
Als we een willekeurige steekproef van 10 kiezers selecteren, wat is dan de kans dat 2 op kandidaat A hebben gestemd, 4 op kandidaat B hebben gestemd en 4 op kandidaat C hebben gestemd?
We kunnen de volgende code in Python gebruiken om deze vraag te beantwoorden:
from scipy. stats import multinomial #calculate multinomial probability multinomial. pmf (x=[2, 4, 4], n=10, p=[.1, .4, .5]) 0.05040000000000001
De kans dat precies 2 mensen op A, 4 op B en 4 op C hebben gestemd, is 0,0504 .
Voorbeeld 2
Stel dat er in een urn 6 gele knikkers, 2 rode knikkers en 2 roze knikkers zitten.
Als we willekeurig 4 ballen uit de urn selecteren, met vervanging, wat is dan de kans dat alle 4 de ballen geel zijn?
We kunnen de volgende code in Python gebruiken om deze vraag te beantwoorden:
from scipy. stats import multinomial #calculate multinomial probability multinomial. pmf (x=[4, 0, 0], n=4, p=[.6, .2, .2]) 0.1295999999999999
De kans dat alle 4 de ballen geel zijn, is ongeveer 0,1296 .
Voorbeeld 3
Stel dat twee leerlingen tegen elkaar schaken. De kans dat leerling A een bepaald spel wint is 0,5, de kans dat leerling B een bepaald spel wint is 0,3 en de kans dat er een gelijkspel is in een bepaald spel is 0,2.
Als ze 10 games spelen, wat is dan de kans dat speler A 4 keer wint, speler B 5 keer wint en dat ze 1 keer gelijk spelen?
We kunnen de volgende code in Python gebruiken om deze vraag te beantwoorden:
from scipy. stats import multinomial #calculate multinomial probability multinomial. pmf (x=[4, 5, 1], n=10, p=[.5, .3, .2]) 0.03827249999999997
De kans dat speler A vier keer wint, speler B vijf keer wint en één keer gelijk speelt, is ongeveer 0,038 .
Aanvullende bronnen
De volgende tutorials bieden aanvullende informatie over de multinomiale verdeling:
Een inleiding tot multinomiale distributie
Multinomiale distributiecalculator
Wat is een multinomiale test? (Definitie en voorbeeld)