In this lab, you'll practice your newly gained knowledge on the Bernoulli and Binomial Distribution.
You will be able to:
- Apply the formulas for the Binomial and Bernoulli distribution
- Apply NumPy to randomly generate Binomial and Bernoulli trials
- Use Matplotlib to generate Binomial and Bernoulli trials with various probabilities
When playing a game of bowling, what is the probability of throwing exactly 3 strikes in a game with 10 rounds? Assume that the probability of throwing a strike is 25% for each round. Use the formula for the Binomial distribution to get to the answer. You've created this before, so we provide you with the function for factorials again:
def factorial(n):
prod = 1
while n >= 1:
prod = prod * n
n = n - 1
return prod
p_3_strikes = None #answer = 0.2502822
Now, create a function for the Binomial distribution with three arguments
def binom_distr(n,p,k):
None
Validate your previous result applying your new function.
None
Now write a for loop along with your function to compute the probability that you have five strikes or more in one game. You'll want to use numpy here!
import numpy as np
None
Repeat the experiment 5000 times.
# leave the random seed here
np.random.seed(123)
#
#
#
#
# the results should look like this:
# [0 1 2 3 4 5 6 7 8]
# [ 310 941 1368 1286 707 297 78 11 2]
Make sure to set an appropriate title and appropriate y-axis label
import matplotlib.pyplot as plt
#
#
#
#
You can see that, with a 25% strike hit rate, even when simulating 5000 times, an almost perfect and perfect game of 9 and 10 strikes didn't even occur once! If you change your seed, however, you'll see that occasionally perfect games will show up randomly.
Congratulations! In this lab, you practiced your newly gained knowledge on the Bernoulli and Binomial Distribution.