Birthday problem
Now we'll use simulation to solve a famous probability puzzle - the birthday problem. It sounds quite straightforward - How many people do you need in a room to ensure at least a 50% chance that two of them share the same birthday?
With 366 people in a 365-day year, we are 100% sure that at least two have the same birthday, but we only need to be 50% sure. Simulation gives us an elegant way of solving this problem.
Upon completion of this exercise, you will begin to understand how to cast problems in a simulation framework.
This exercise is part of the course
Statistical Simulation in Python
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
# Draw a sample of birthdays & check if each birthday is unique
days = ____
people = 2
def birthday_sim(____):
sims, unique_birthdays = 2000, 0
for _ in range(sims):
draw = np.random.choice(days, size=____, replace=True)
if len(draw) == len(set(draw)):
unique_birthdays += 1
out = 1 - unique_birthdays / sims
return out