The multinomial distribution describes the probability of obtaining a specific number of counts for k different outcomes, when each outcome has a fixed probability of occurring.
If a random variable X follows a multinomial distribution, then the probability that outcome 1 occurs exactly x1 times, outcome 2 occurs exactly x2 times, etc. can be found by the following formula:
Probability = n! * (p1x1 * p2x2 * … * pkxk) / (x1! * x2! … * xk!)
where:
- n: total number of events
- x1: number of times outcome 1 occurs
- p1: probability that outcome 1 occurs in a given trial
The following examples show how to use the scipy.stats.multinomial() function in Python to answer different probability questions regarding the multinomial distribution.
Example 1
In a three-way election for mayor, candidate A receives 10% of the votes, candidate B receives 40% of the votes, and candidate C receives 50% of the votes.
If we select a random sample of 10 voters, what is the probability that 2 voted for candidate A, 4 voted for candidate B, and 4 voted for candidate C?
We can use the following code in Python to answer this question:
from scipy.stats import multinomial #calculate multinomial probability multinomial.pmf(x=[2, 4, 4], n=10, p=[.1, .4, .5]) 0.05040000000000001
The probability that exactly 2 people voted for A, 4 voted for B, and 4 voted for C is 0.0504.
Example 2
Suppose an urn contains 6 yellow marbles, 2 red marbles, and 2 pink marbles.
If we randomly select 4 balls from the urn, with replacement, what is the probability that all 4 balls are yellow?
We can use the following code in Python to answer this question:
from scipy.stats import multinomial #calculate multinomial probability multinomial.pmf(x=[4, 0, 0], n=4, p=[.6, .2, .2]) 0.1295999999999999
The probability that all 4 balls are yellow is about 0.1296.
Example 3
Suppose two students play chess against each other. The probability that student A wins a given game is 0.5, the probability that student B wins a given game is 0.3, and the probability that they tie in a given game is 0.2.
If they play 10 games, what is the probability that player A wins 4 times, player B wins 5 times, and they tie 1 time?
We can use the following code in Python to answer this question:
from scipy.stats import multinomial #calculate multinomial probability multinomial.pmf(x=[4, 5, 1], n=10, p=[.5, .3, .2]) 0.03827249999999997
The probability that player A wins 4 times, player B wins 5 times, and they tie 1 time is about 0.038.
Additional Resources
The following tutorials provide additional information about the multinomial distribution:
An Introduction to the Multinomial Distribution
Multinomial Distribution Calculator
What is a Multinomial Test? (Definition & Example)