In this post, we will explore the random.multinomial() function in the NumPy package.
The multinomial() function generates an array of the multinomial distribution.
A multinomial distribution is a multivariate generalization of the binomial distribution in probability theory.
Learn more about multinomial distribution in the resource below:
https://en.wikipedia.org/wiki/Multinomial_distribution
NumPy np.random.multinomial() Function Syntax
sky
1 | random.multinomial(n, pvals, size=None) |
Function Parameters
The function parameters as discussed below:
- n – defines the number of experiments.
- pvals – sets the probabilities of each of the different p outcomes.
- size – sets the output shape of the resulting array.
Return Value
The function returns an array of multinomial distributions of the shape specified by the size parameter. If the size is not defined, the function will return a scalar value.
Example #1
Consider the example code shown below:
1 2 3 4 | # import numpy import numpy as np arr = np.random.multinomial(6, [1/2.]*2, 2) print(arr) |
The code above generates an array of shapes (2,2) as defined by the size parameter.
NOTE: The total of the pvals MUST add to one.
The resulting value is as shown:
1 2 | [[2 4] [5 1]] |
Example #2
Another example is demonstrated in the code below:
1 2 3 | arr = np.random.multinomial(8, [0.02064637,0.04639968,0.07105934,0.19605029,0.00845342,0.2492401 ,0.1561038,0.02840649,0.09912076,0.12451974], 3) print(arr) |
The code above should return an array as shown:
1 2 3 | [[0 0 0 1 0 2 2 0 1 2] [0 0 0 1 0 3 0 0 3 1] [0 1 1 2 0 2 1 0 1 0]] |
Closing
In this article, we demonstrated how to use the random.multinomial() function in NumPy to generate an array of a multinomial distribution.
Happy coding!!