Skip to content

Instantly share code, notes, and snippets.

@csferrie
Last active April 10, 2023 16:02
Show Gist options
  • Save csferrie/0de0a8f531e6507cf5c98332765275b4 to your computer and use it in GitHub Desktop.
Save csferrie/0de0a8f531e6507cf5c98332765275b4 to your computer and use it in GitHub Desktop.
The real birthday paradox. Code for the following blog post on csferrie.com: https://csferrie.com/2017/03/23/the-power-of-simulation-birthday-paradox/
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# The power of simulation I: birthday paradox\n",
"\n",
"*By [Chris Ferrie](https://csferrie.com)*\n",
"\n",
"The [birthday paradox](https://en.wikipedia.org/wiki/Birthday_problem) goes... *in a room of **23** people there is a 50-50 chance that two of them share a birthday*.\n",
"\n",
"OK, so the first step in introducing a paradox is to explain why it is a paradox in the first place. One might think that for each person, there is **1/365** chance of another person having the same birthday as them. Indeed, I can think of only one other person I've met that has the same birthday as me---and he is my twin brother! Since I've met far more than **23** people, how can this be true?\n",
"\n",
"This reasoning is flawed for several reasons, the first of which is that the question wasn't asking about if there was another person in the room with a specific birthday---any pair of people (or more!) can share a birthday to contribute to the chances of the statement being true.\n",
"\n",
"The complete answer gets heavy into the math, but I want to show you how to convince yourself it is true by *simulating* the experiment. \n",
"\n",
"Before getting to that, let me point out that we are going to this in Python. A few extra libraries will make life easier, so let's go on and import those."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# This is the preamble where we import all the libraries we will use\n",
"\n",
"import numpy as np\n",
"import scipy as sp\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"plt.style.use('ggplot')\n",
"import pandas as pd"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## The simulation\n",
"\n",
"Call the number of people we need to ask before we get a repeated birthday $n$. This is what is called a [random variable](https://en.wikipedia.org/wiki/Random_variable) because its value is not known and may change due to conditions we have no control over (like who happens to be in the room).\n",
"\n",
"Now we simulate an experiment realising a value for $n$ as follows.\n",
"\n",
"1. Pick a random person and ask their birthday.\n",
"2. Check to see if someone else has given you that answer.\n",
"3. Repeat step 1 and 2 until a birthday is said twice.\n",
"4. Count the number of people asked.\n",
"\n",
"Below we define a function that simulates one room where we ask people as they enter for their birthday and stop when a repeat happens."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def collect_until_repeat(dist = np.ones(365)/365):\n",
" # dist is the distribution of birthdays. If it is not known\n",
" # it is assumed uniform\n",
"\n",
" # We'll use this variable as the stopping condition\n",
" repeat = False\n",
" \n",
" # We'll store the birthdays in this vector\n",
" outcomes = np.zeros(dist.shape[0])\n",
" \n",
" # n will count the number of people we meet. Each loop is\n",
" # a new person.\n",
" n = 0\n",
" while not repeat:\n",
" \n",
" # add one to the counter\n",
" n += 1\n",
" \n",
" # simulate meeting a person with a random birthday\n",
" outcomes += np.random.multinomial(1,dist)\n",
" \n",
" # check if we got a repeat\n",
" if np.any(outcomes > 1):\n",
" repeat = True\n",
"\n",
" return n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Run the next cell to do an experiment."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"A repeat occured after 37 people entered.\n"
]
}
],
"source": [
"print(\"A repeat occured after {} people entered.\".format(collect_until_repeat()))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You could run that cell several times to see that a different answer occurs each time (its a random variable, remember). Notice that the number *23* doesn't seem to come up very often. What's the deal with that?\n",
"\n",
"Well, remember that *23* is the number of people need for their to be a 50-50 chance of a repeat. That means, if you run the cell over and over, 50% of the time it will be above *23* and 50% of the time it will be below *23*.\n",
"\n",
"Why don't you go on and run the cell a million times and verify that for yourself. \n",
"\n",
"Haha, just kidding, that would be stupid (unless you already did it, in which case... good effort). We are coding! Let's let the computer do the work for us.\n",
"\n",
"In the next cell, we define a function that does the repeating as many times as we specify."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def run_many_simulations(sim, dist = np.ones(365)/365):\n",
" \n",
" # count stores the result of each simulation in a big array\n",
" count = np.zeros(sim)\n",
"\n",
" for idx_sim in range(sim):\n",
" count[idx_sim] = collect_until_repeat(dist) \n",
" \n",
" return count"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Cool. Now let's run it one million times! (Might take 5-10 minutes)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 7min 59s, sys: 32 ms, total: 7min 59s\n",
"Wall time: 7min 59s\n"
]
}
],
"source": [
"%%time\n",
"\n",
"sim = 1000000\n",
"\n",
"counts = run_many_simulations(sim)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So the variable `counts` has stored all those numbers. There are one million of them. How should we look at them?\n",
"\n",
"One thing we can do is count how many times each value occured. We can do that with the `hist` function, which will also plot it for us."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\neXk5VCoVFi1ahHHjxhm1ycvLw4kTJ6BWqxEeHo7Zs2cL6xkBgFarRW5uLs6ePQutVouoqCikpaUZ\nrYjd2NiI7OxsnD9/HlKpFNHR0UhOToazs7PQpqamBtu2bcOVK1fg7OyMuLg4zJgxA1Ipp1cRERH1\ndqK+zUeOHIlbt26ZOhZBS0sLhg4dirS0tE7r9+/fjyNHjuD111/H2rVr0a9fP2RkZECn0wltcnJy\nUFhYiIULF2LVqlWoq6vD+vXrja6zceNGfPvtt1ixYgWWLFmCq1evYuvWrUK9Xq/HunXroNfrkZGR\ngblz5+LUqVPYvXu3eW6ciIiILEpUIpSamopLly7hwIEDaGxsNHVMUCqVSExMxPjx4zutP3z4MBIS\nEjB27FgEBgbizTffRG1tLc6dOwcA0Gg0OHnyJJKSkjBixAgEBQUhPT0d165dQ1lZGQDgzp07KCoq\nwpw5czBs2DCEh4cjJSUFZ86cgUqlAgAUFRWhoqIC8+bNQ2BgoBDX0aNH0draavL7JiIiIssS9WjM\ny8sLzz33HHbs2IFPPvkETk5OnT4qys3N7XGA7VVXV0OlUmHUqFFCmVwuR2hoKEpKSjBx4kSUl5ej\ntbUVERERQht/f394eXmhpKQEISEhKC0thaurK4KCgoQ2kZGRkEgkKC0txfjx41FaWorAwEC4u7sL\nbaKiopCZmYnbt29j6NChJr8/IiIishxRiVBeXh4+//xzeHp6YtiwYRadMN02WvPwXJ+247Y6lUoF\nR0fHDnG1b9P+GlKpFG5ubo9so1AojOIgIiKi3ktUInTs2DGMGTMGixYt4qRhIiIi6rVEJUI6nQ5j\nxoyxShLUNiJTX18v/N523PaoSqFQQKfTQaPRGI0KPXyOQqFAfX290bX1ej0aGxuN2ly/ft2oTdtI\n0MOf/bD8/HwUFBQYlfn6+iI5ORnu7u4dFp40FU39PeMCiaRjo+6U2eJ5Yq/dGWvfS285z8J97uDg\ngP6eno+/FnUgk8ngyb6zKPa5ZUl++PciJycHVVVVRnUxMTGIjY3t0fVFJUJjxozB1atX8ZOf/KRH\nHy6Gj48PFAoFiouLMWTIEAAPJkeXlpZi8uTJAIDg4GA4ODjg0qVLmDBhAgCgoqICNTU1CAsLAwCE\nhYVBrVbjxo0bwjyh4uJiGAwGhIaGCm327duHhoYGYZ7QxYsXIZfLERAQ0Gl8sbGxXf5RGhoaoNVq\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7ffb24bc52b0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"repeat_histogram = plt.hist(counts, bins = np.arange(0,100))\n",
"\n",
"plt.xlabel(\"$n$\")\n",
"plt.ylabel(\"Number of occurences\");"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So what do all those numbers mean? Well, let's look at how many times $n=2$ occurred, for example."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"2706.0"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"repeat_histogram[0][2]"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The result 2 occurred 2706.0 times, which is relatively 0.2706%.\n"
]
}
],
"source": [
"print(\"The result 2 occurred {} times, which is relatively {:.4%}.\".format(\n",
" repeat_histogram[0][2], repeat_histogram[0][2]/1000000\n",
" )\n",
" )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note that this is close to 1/365 ≈ 0.274%, which is expected since the probability that the second person has the same as first is exactly 1/365. So each number of occurrences divided by one million is approximately the probability that we would see that number in a single experiment.\n",
"\n",
"The `hist` function takes an key-word argument `normed` which will turn the histogram into a probability distribtion."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nycnJkqS5c+fq2LFj2rt3r+6///5W9Xfv3q2oqCjNmjVLkmQ2m1VQUKCcnByNGjVKkvTMM8/YnTNv\n3jz97W9/U35+viZMmNCpdgGvwyKLAHBDTm+x4W5NTU0qLCxUfHy8rcxgMCg+Pl5nz55ts1//Wl+S\nEhIS2qwvSQ0NDWpublafPn063S4AAPAtTt0R+tnPfqabbrpJ48eP1/jx4xUVFeWqftlUV1erpaVF\noaGhduWhoaEqLi52eI7FYnFYv7a2Vo2NjTKZTK3O2bhxo8LDw213jDrTbndgqquR/uXRicFq7cLe\nAADgXk4FoWeeeUb79+/Xn/70J23dulWxsbEaP368xo0bZ7uz4guys7N16NAhLV26VEajTzwtdJ+6\nGtUvmGP72PuV1V3YGQAA3Mupv/WTkpKUlJSkqqoqHTx4UHl5eXr77beVmZmp22+/XRMmTNDo0aOd\nChfBwcEKCAhQZWWlXXllZWWb6xaFhYU5rB8UFNTqbtD27dv13nvvafHixbrlllucaleS8vLydODA\nAbuyqKgopaWlKSQkRFYvv8NSW3nZvsDRprntKfOG8xzxZD+9YQwclAUGBio4PLx1XRcwmUwKd9O1\n4Rhj7nmMuWdd27x97dq1Ki0ttTuWmJiopKQkp67vktsfISEhmjJliqZMmaKSkhLl5eUpLy9Pr732\nmoKCgjR27FglJyd3agNWo9Go6Oho5efna/To0ZIkq9WqU6dOaerUqQ7PiY2N1fHjx+3KTpw4odjY\nWLuy9957T9nZ2Vq0aJGGDh3qdLvSV+HQkaqqKjU2Nt74C3cxU3OzfYGj4NaeMm84zxFP9tMbxsBB\nWXNzsyoqKlrXdYHw8HC3XRuOMeaex5h7lslkUv/+/ZWWluaW67v89fkePXqoZ8+etjsvBoNBR48e\n1ZIlS/Tiiy+qqKiow9dMTU3Vnj17tG/fPl24cEFr1qxRQ0ODbV2gTZs26Y033rDVnzx5skpLS7Vh\nwwYVFxdr165dOnz4sFJTU211srOzlZWVpfnz5ysiIkIWi0UWi0X19fXtbhcAAPg2l9wRqqur0+HD\nh5WXl6czZ87IYDAoISFBDz74oO68804FBAToyJEjWrdunX7729/qlVde6dD1x40bp+rqamVlZdkW\nNly0aJFCQkIkfTk5+vLlrx7pREZGauHChcrMzNTOnTvVr18/zZ8/3zYRWpLef/99NTU1aeXKlXZt\n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\nu3atRo4cads412KxSJLD38G1Y+i4AwcO6PPPP9cvfvGLVscYc9crLS3V7t27NX36dH3/+9/Xp59+\nqj/+8Y8ymUyaMGECY+4G3/ve91RXV6fnn39eAQEBslqtmjlzphITEyXx77m7tWd8LRaLjEajgoKC\n2qzTXgQhdAtvvfWWioqK9POf/7yru9KtXb58WWvXrtVLL70ko5E/PjzBarVq2LBhmjlzpiRpyJAh\n+r//+z+9//77mjBhQhf3rns6ePCg8vLy9Pzzz+vmm2/WZ599prVr1yo8PJwx74b4k8xNgoODFRAQ\noMrKSrvyyspKhYWFdVGvuqe3335bH3/8sf7zP/9Tffv2tZVfG+frx7yyslJDhgzxdDe7hcLCQlVV\nVWnBggW2spaWFp05c0a5ubn69a9/LYkxd6W+fftq4MCBdmUDBw60zZXg33PX27Bhg2bMmKG7775b\nknTLLbeovLxc7777riZMmMCYu1l7xjcsLExNTU2qra21uyvUmb9jmSPkJkajUdHR0crPz7eVWa1W\nnTp1SiNGjOjCnnUvb7/9to4ePaolS5YoIiLC7lhkZKTCwsLsfge1tbU6d+4cv4NOio+P18qVK7Vi\nxQrbT3R0tMaPH68VK1YoKiqKMXexESNGtHqcXlxcbPv3nX/PXe/q1asKCLD/69FgMOja1pyMuXu1\nZ3yjo6MVGBioU6dO2eoUFxfr0qVLio2N7VB77D7vRr1791ZWVpb69esnk8mkzZs36/PPP9e8efPU\ns2fPru6ez3vrrbd04MAB/eQnP1FYWJjq6+tVX1+vgIAABQYGSvrybkV2drYGDhyopqYm/eEPf1BT\nU5OeeOKJVn/Q4esZjUaFhITY/Rw4cEBRUVG2RwaMuWtFRERo27ZtCggIUN++fXX8+HFt27ZNM2fO\ntO3GzZi71oULF/TXv/5VZrNZRqNRp0+f1ubNm5WUlGSbwMuYO6e+vl5FRUWyWCz64IMPFBMTox49\neqipqUlBQUFfO74mk0lffPGFcnNzNWTIEF25ckVr1qxRREREq/Wevg67z7vZrl27tH37dtuCik88\n8YSGDRvW1d3qFh555BGH5enp6UpOTrZ9zsrK0p49e1RTU6Nbb71VTz75JIueudDLL7+sIUOG2C2o\nyJi71rFjx7Rp0yaVlJQoMjJS06dP1z333GNXhzF3nfr6em3ZskVHjhxRVVWV+vbtq6SkJD3wwAO2\n/8mSGHNnnDlzRi+//HKr8uTkZKWnp0v6+vFtbGzU+vXrdeDAATU2NiohIUFPPvlkhxdUJAgBAAC/\nxf07AADgtwhCAADAbxGEAACA3yIIAQAAv0UQAgAAfosgBAAA/BZBCAAA+C2CEAAA8FsEIQAA4LcI\nQgAAwG8RhAAAgN8iCAEAAL9FEAIAAH6LIAQAAPwWQQgAAPgtY1d3AAC6wrZt23T+/HklJyfLaDTq\n888/V319va5cuaInnniiq7sHwEO4IwTA75w+fVrx8fGKi4vTW2+9pYaGBt133316+OGHlZeXp88/\n/7yruwjAQwhCAPxOcXGxYmNjdf78eY0YMUJ33XWXJKmlpUV1dXUyGAxd3EMAnkIQAuB3Jk+eLIPB\noIKCAo0ePdpWfvbsWRmNRg0cOLALewfAkwhCAPzSlStXdOHCBY0cOdJWduzYMcXHxyswMLALewbA\nkwhCAPxSQUGB+vXrp4iICFvZoUOHNHbsWNXU1Gj//v1d2DsAnkIQAuCXCgoK7O4GXblyRWVlZbrt\nttt06NAhjRo1qgt7B8BTCEIA/FJFRYVtkrQk9enTR2PGjNH777+vkJAQhYaGdmHvAHiKwWq1Wru6\nEwAAAF2BO0IAAMBvEYQAAIDfIggBAAC/RRACAAB+iyAEAAD8FkEIAAD4LYIQAADwWwQhAADgtwhC\nAADAbxGEAACA3yIIAQAAv0UQAgAAfosgBAAA/Nb/B4feEiNGGq4dAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7ffb1c98fe48>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"approx_dist = plt.hist(counts, bins = np.arange(0,100), normed = True)\n",
"\n",
"plt.xlabel(\"$n$\")\n",
"plt.ylabel(\"Probability of $n$\");"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"OK, so now we can just add up these probabilities until we get to 50%. That number will be the number of people we need to meet before a repeated birthday occurs with 50-50 chance. Can you guess what it will be?"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"50% of time, no more than 23 people were needed for a repeat.\n"
]
}
],
"source": [
"print(\"50% of time, no more than {} people were needed for a repeat.\".format(\n",
" np.where(np.cumsum(approx_dist[0])>0.5)[0][0]\n",
" )\n",
" )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Tada! The birthday paradox simulated and solve by simulation!\n",
"\n",
"## But wait! There's more.\n",
"\n",
"What about those leap year babies? In fact, isn't the assumption that birthdays are equally distributed wrong? If we actually tried this experiment out in real life, would we get *23* or some other number?\n",
"\n",
"Happily, we can test this hypothesis with real data! At least for US births, you can find the data over at [fivethirteight's github page](https://github.com/fivethirtyeight/data/tree/master/births).\n",
"\n",
"Below we load the data and calculate the actual distribution of birthdays."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [],
"source": [
"# We don't need the \"day of week\" colunm (index 3) so we leave that out\n",
"\n",
"# The dates are in columns 0, 1 and 2 as year, month and day of month\n",
"\n",
"# To convert this to day of year, we can use the pandas date parser\n",
"\n",
"df1 = pd.read_csv('US_births_1994-2003_CDC_NCHS.csv', parse_dates=[[0, 1, 2]], usecols = [0,1,2,4],\n",
" date_parser=lambda *columns: pd.datetime(*map(int, columns)).timetuple().tm_yday)\n",
"df2 = pd.read_csv('US_births_2000-2014_SSA.csv', parse_dates=[[0, 1, 2]], usecols = [0,1,2,4],\n",
" date_parser=lambda *columns: pd.datetime(*map(int, columns)).timetuple().tm_yday)\n",
"\n",
"\n",
"# Can't be bothered to stitch the overlapping years together so let's drop one set of them HAX4LIFE\n",
"df = pd.concat(\n",
" [df1[df1.index<2191],\n",
" df2],\n",
" ignore_index=True)\n",
"\n",
"# The probability distribution\n",
"p = (np.array(df.groupby('year_month_date_of_month').sum()/df.births.sum())).squeeze()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Just how far from uniform is the actual distribution? Below we plot the distribution by day of year. Perhaps by eye it doesn't look too uniform. You can clearly see 25 Dec and 31 Dec have massive dips. Much has been written about this and many [beautiful visualizations](http://thedailyviz.com/2016/09/17/how-common-is-your-birthday-dailyviz/) are out there."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7ffb1c7ff2e8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(np.arange(1,367),p, label = \"True\")\n",
"plt.plot(np.arange(1,367),np.ones(366)/366, label = \"Uniform\")\n",
"plt.ylim([.002,.003])\n",
"plt.xlim([1,366])\n",
"\n",
"plt.legend(loc = 3)\n",
"plt.ylabel(\"Frequency of births\")\n",
"plt.xlabel(\"Day of year\");"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"But, our question is whether this has an effect on the birthday paradox. Perhaps the fact that not many people are born on 25 Dec means it is easy to find a shared birthday on the remaining days, for example. Let's test this hypothesis by simulating the experiment with the real distribution of birthdays."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 16min 16s, sys: 64 ms, total: 16min 16s\n",
"Wall time: 16min 16s\n"
]
}
],
"source": [
"%%time\n",
"\n",
"sim = 1000000\n",
"\n",
"counts_uniform = run_many_simulations(sim)\n",
"\n",
"counts_true = run_many_simulations(sim, p)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"data": {
"image/png": "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\nu5f6+nr++usvEhISGDFiBIWFhRGfburrGf+TDRs2MHLkyIibE5oh6/bt22loaKCzs5PExESys7Px\n+/0RH+U2Q0745z5T+/fvp729neTkZBYsWMDs2bMjnmOGrNeuXWPz5s3s2LHjg7ObIWMwGOS3336j\nrq6O58+f43K5mD59OosXLzbeaMKnZ1XpEREREUvoO8e+RERERD6BSo+IiIhYgkqPiIiIWIJKj4iI\niFiCSo+IiIhYgkqPiIiIWIJKj4iIiFiCSo+IiIhYgkqPiIiIWIJKj4iIiFiCSo+IiIhYgkqPiIiI\nWIJKj4iIiFiCSo+IiIhYgkqPiIiIWIIj1gOIiMRCRUUFLS0tFBQU4HA4aG5uJhgM0tXVRXFxcazH\nE5Eo0JEeEbGcGzdu4PP5GDt2LGVlZbx69YqFCxfy9ddfU11dTXNzc6xHFJEoUOkREctpa2vjiy++\noKWlBa/Xy5QpUwDo6enh5cuX2Gy2GE8oItGg0iMiljNv3jxsNhsNDQ1MmjTJWG9sbMThcODxeGI4\nnYhEi0qPiFhSV1cXDx48IDs721i7fPkyPp+PuLi4GE4mItGi0iMiltTQ0MDQoUNxu93GWm1tLdOm\nTePFixecP38+htOJSDSo9IiIJTU0NEQc5enq6uLRo0eMGzeO2tpacnNzYzidiESDSo+IWNLTp0+N\nC5gBBg8ezNSpUzl58iSJiYk4nc4YTici0WALh8PhWA8hIiIiEm060iMiIiKWoNIjIiIilqDSIyIi\nIpag0iMiIiKWoNIjIiIilqDSIyIiIpag0iMiIiKWoNIjIiIilqDSIyIiIpag0iMiIiKWoNIjIiIi\nlqDSIyIiIpag0iMiIiKW8DdwS/lY+GZpCAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7ffb1c7ff400>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"hist_true = plt.hist(counts_true, bins = np.arange(0,80), alpha = 0.5, normed = True, label='True')\n",
"\n",
"hist_uniform = plt.hist(counts_uniform, bins = np.arange(0,80), alpha = 0.5, normed = True, label='Uniform')\n",
"\n",
"plt.legend()\n",
"plt.xlabel('$n$')\n",
"plt.ylabel(\"Probability of $n$\");"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"50% of time, no more than 23 people were needed for a repeat.\n"
]
}
],
"source": [
"print(\"50% of time, no more than {} people were needed for a repeat.\".format(\n",
" np.where(np.cumsum(hist_true[0])>0.5)[0][0]\n",
" )\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python [conda root]",
"language": "python",
"name": "conda-root-py"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment