{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "You can order print and ebook versions of *Think Bayes 2e* from\n", "[Bookshop.org](https://bookshop.org/a/98697/9781492089469) and\n", "[Amazon](https://amzn.to/334eqGo)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Approximate Bayesian Computation" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:51.844006Z", "iopub.status.busy": "2021-04-16T19:41:51.843315Z", "iopub.status.idle": "2021-04-16T19:41:51.846056Z", "shell.execute_reply": "2021-04-16T19:41:51.845531Z" }, "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "# install empiricaldist if necessary\n", "\n", "try:\n", " import empiricaldist\n", "except ImportError:\n", " !pip install empiricaldist\n", " import empiricaldist" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:51.850496Z", "iopub.status.busy": "2021-04-16T19:41:51.849719Z", "iopub.status.idle": "2021-04-16T19:41:51.852344Z", "shell.execute_reply": "2021-04-16T19:41:51.851813Z" }, "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "# Get utils.py\n", "\n", "from os.path import basename, exists\n", "\n", "def download(url):\n", " filename = basename(url)\n", " if not exists(filename):\n", " from urllib.request import urlretrieve\n", " local, _ = urlretrieve(url, filename)\n", " print('Downloaded ' + local)\n", " \n", "download('https://github.com/AllenDowney/ThinkBayes2/raw/master/soln/utils.py')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:51.856461Z", "iopub.status.busy": "2021-04-16T19:41:51.855818Z", "iopub.status.idle": "2021-04-16T19:41:52.549587Z", "shell.execute_reply": "2021-04-16T19:41:52.548943Z" }, "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "from utils import set_pyplot_params\n", "set_pyplot_params()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This chapter introduces a method of last resort for the most complex problems, Approximate Bayesian Computation (ABC).\n", "I say it is a last resort because it usually requires more computation than other methods, so if you can solve a problem any other way, you should.\n", "However, for the examples in this chapter, ABC is not just easy to implement; it is also efficient.\n", "\n", "The first example is my solution to a problem posed by a patient\n", "with a kidney tumor.\n", "I use data from a medical journal to model tumor growth, and use simulations to estimate the age of a tumor based on its size.\n", "\n", "The second example is a model of cell counting, which has applications in biology, medicine, and zymurgy (beer-making).\n", "Given a cell count from a diluted sample, we estimate the concentration of cells.\n", "\n", "Finally, as an exercise, you'll have a chance to work on a fun sock-counting problem.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Kidney Tumor Problem\n", "\n", "I am a frequent reader and occasional contributor to the online\n", "statistics forum at . \n", "In November 2011, I read the following message:\n", "\n", "> \"I have Stage IV Kidney Cancer and am trying to determine if the cancer formed before I retired from the military. ... Given the dates of retirement and detection is it possible to determine when there was a 50/50 chance that I developed the disease? Is it possible to determine the probability on the retirement date? My tumor was 15.5 cm x 15 cm at detection. Grade II.\"\n", "\n", "I contacted the author of the message to get more information; I\n", "learned that veterans get different benefits if it is \"more likely than not\" that a tumor formed while they were in military service (among other considerations).\n", "So I agree to help him answer his question.\n", "\n", "Because renal tumors grow slowly, and often do not cause symptoms, they are sometimes left untreated. As a result, doctors can observe the rate of growth for untreated tumors by comparing scans from the same patient at different times. Several papers have reported these growth rates.\n", "\n", "For my analysis I used data from a paper by [Zhang et al](https://pubs.rsna.org/doi/full/10.1148/radiol.2501071712). \n", "They report growth rates in two forms:\n", "\n", "* Volumetric doubling time, which is the time it would take for a tumor to double in size.\n", "\n", "* Reciprocal doubling time (RDT), which is the number of doublings per year.\n", "\n", "The next section shows how we work with these growth rates." ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "Zhang et al, Distribution of Renal Tumor Growth Rates Determined\n", " by Using Serial Volumetric CT Measurements, January 2009\n", " *Radiology*, 250, 137-144.\n", " \n", "https://pubs.rsna.org/doi/full/10.1148/radiol.2501071712" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## A Simple Growth Model\n", "\n", "We'll start with a simple model of tumor growth based on two assumptions:\n", "\n", "* Tumors grow with a constant doubling time, and \n", "\n", "* They are roughly spherical in shape.\n", "\n", "And I'll define two points in time:\n", "\n", "* `t1` is when my correspondent retired.\n", "\n", "* `t2` is when the tumor was detected.\n", "\n", "The time between `t1` and `t2` was about 9.0 years.\n", "As an example, let's assume that the diameter of the tumor was 1 cm at `t1`, and estimate its size at `t2`.\n", "\n", "I'll use the following function to compute the volume of a sphere with a given diameter." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:52.553341Z", "iopub.status.busy": "2021-04-16T19:41:52.552758Z", "iopub.status.idle": "2021-04-16T19:41:52.555050Z", "shell.execute_reply": "2021-04-16T19:41:52.554605Z" } }, "outputs": [], "source": [ "import numpy as np\n", "\n", "def calc_volume(diameter):\n", " \"\"\"Converts a diameter to a volume.\"\"\"\n", " factor = 4 * np.pi / 3\n", " return factor * (diameter/2.0)**3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Assuming that the tumor is spherical, we can compute its volume at `t1`." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:52.560317Z", "iopub.status.busy": "2021-04-16T19:41:52.559803Z", "iopub.status.idle": "2021-04-16T19:41:52.562340Z", "shell.execute_reply": "2021-04-16T19:41:52.562692Z" } }, "outputs": [ { "data": { "text/plain": [ "0.5235987755982988" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d1 = 1\n", "v1 = calc_volume(d1)\n", "v1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The median volume doubling time reported by Zhang et al. is 811 days, which corresponds to an RDT of 0.45 doublings per year." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:52.566541Z", "iopub.status.busy": "2021-04-16T19:41:52.565998Z", "iopub.status.idle": "2021-04-16T19:41:52.568663Z", "shell.execute_reply": "2021-04-16T19:41:52.568289Z" } }, "outputs": [ { "data": { "text/plain": [ "0.45006165228113443" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "median_doubling_time = 811\n", "rdt = 365 / median_doubling_time\n", "rdt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can compute the number of doublings that would have happened in the interval between `t1` and `t2`:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:52.571772Z", "iopub.status.busy": "2021-04-16T19:41:52.571326Z", "iopub.status.idle": "2021-04-16T19:41:52.574266Z", "shell.execute_reply": "2021-04-16T19:41:52.573874Z" } }, "outputs": [ { "data": { "text/plain": [ "4.05055487053021" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "interval = 9.0\n", "doublings = interval * rdt\n", "doublings" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Given `v1` and the number of doublings, we can compute the volume at `t2`." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:52.577514Z", "iopub.status.busy": "2021-04-16T19:41:52.576916Z", "iopub.status.idle": "2021-04-16T19:41:52.579959Z", "shell.execute_reply": "2021-04-16T19:41:52.580427Z" } }, "outputs": [ { "data": { "text/plain": [ "8.676351488087187" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v2 = v1 * 2**doublings\n", "v2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following function computes the diameter of a sphere with the given volume." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:52.584716Z", "iopub.status.busy": "2021-04-16T19:41:52.584090Z", "iopub.status.idle": "2021-04-16T19:41:52.586232Z", "shell.execute_reply": "2021-04-16T19:41:52.586737Z" } }, "outputs": [], "source": [ "def calc_diameter(volume):\n", " \"\"\"Converts a volume to a diameter.\"\"\"\n", " factor = 3 / np.pi / 4\n", " return 2 * (factor * volume)**(1/3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So we can compute the diameter of the tumor at `t2`:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:52.591419Z", "iopub.status.busy": "2021-04-16T19:41:52.590657Z", "iopub.status.idle": "2021-04-16T19:41:52.593714Z", "shell.execute_reply": "2021-04-16T19:41:52.594212Z" } }, "outputs": [ { "data": { "text/plain": [ "2.5494480788327483" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d2 = calc_diameter(v2)\n", "d2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If the diameter of the tumor was 1 cm at `t1`, and it grew at the median rate, the diameter would be about 2.5 cm at `t2`.\n", "\n", "This example demonstrates the growth model, but it doesn't answer the question my correspondent posed." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## A More General Model\n", "\n", "Given the size of a tumor at time of diagnosis, we would like to know the distribution of its age.\n", "To find it, we'll run simulations of tumor growth to get the distribution of size conditioned on age. \n", "Then we'll compute the distribution of age conditioned on size.\n", "\n", "The simulation starts with a small tumor and runs these steps:\n", "\n", "1. Choose a value from the distribution of growth rates.\n", "\n", "2. Compute the size of the tumor at the end of an interval.\n", "\n", "3. Repeat until the tumor exceeds the maximum relevant size.\n", "\n", "So the first thing we need is the distribution of growth rates." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using the figures in the paper by Zhange et al., I created an array, `rdt_sample`, that contains estimated values of RDT for the 53 patients in the study.\n", "\n", "Again, RDT stands for \"reciprocal doubling time\", which is in doublings per year.\n", "So if `rdt=1`, a tumor would double in volume in one year.\n", "If `rdt=2`, it would double twice; that is, the volume would quadruple.\n", "And if `rdt=-1`, it would halve in volume." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:52.599936Z", "iopub.status.busy": "2021-04-16T19:41:52.599340Z", "iopub.status.idle": "2021-04-16T19:41:52.606276Z", "shell.execute_reply": "2021-04-16T19:41:52.606689Z" }, "tags": [ "remove-cell" ] }, "outputs": [ { "data": { "text/plain": [ "np.int64(53)" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Data from the histogram in Figure 3\n", "\n", "import numpy as np\n", "from empiricaldist import Pmf\n", "\n", "counts = [2, 29, 11, 6, 3, 1, 1]\n", "rdts = np.arange(-1, 6) + 0.01\n", "pmf_rdt = Pmf(counts, rdts)\n", "pmf_rdt.normalize()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:52.612166Z", "iopub.status.busy": "2021-04-16T19:41:52.611547Z", "iopub.status.idle": "2021-04-16T19:41:52.614310Z", "shell.execute_reply": "2021-04-16T19:41:52.613940Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "53" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Data from the scatter plot in Figure 4\n", "\n", "rdts = [5.089, 3.572, 3.242, 2.642, 1.982, 1.847, 1.908, 1.798,\n", " 1.798, 1.761, 2.703, -0.416, 0.024, 0.869, 0.746, 0.257,\n", " 0.269, 0.086, 0.086, 1.321, 1.052, 1.076, 0.758, 0.587,\n", " 0.367, 0.416, 0.073, 0.538, 0.281, 0.122, -0.869, -1.431,\n", " 0.012, 0.037, -0.135, 0.122, 0.208, 0.245, 0.404, 0.648,\n", " 0.673, 0.673, 0.563, 0.391, 0.049, 0.538, 0.514, 0.404,\n", " 0.404, 0.33, -0.061, 0.538, 0.306]\n", "\n", "rdt_sample = np.array(rdts)\n", "len(rdt_sample)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can use the sample of RDTs to estimate the PDF of the distribution." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:52.619256Z", "iopub.status.busy": "2021-04-16T19:41:52.618756Z", "iopub.status.idle": "2021-04-16T19:41:52.620385Z", "shell.execute_reply": "2021-04-16T19:41:52.620736Z" } }, "outputs": [], "source": [ "from utils import kde_from_sample\n", "\n", "qs = np.linspace(-2, 6, num=201)\n", "pmf_rdt = kde_from_sample(rdt_sample, qs)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:52.625269Z", "iopub.status.busy": "2021-04-16T19:41:52.624587Z", "iopub.status.idle": "2021-04-16T19:41:52.627265Z", "shell.execute_reply": "2021-04-16T19:41:52.627710Z" }, "tags": [ "remove-cell" ] }, "outputs": [ { "data": { "text/plain": [ "np.float64(651.7857142857142)" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "1 / pmf_rdt.median() * 365" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's what it looks like." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:52.632230Z", "iopub.status.busy": "2021-04-16T19:41:52.631295Z", "iopub.status.idle": "2021-04-16T19:41:52.839571Z", "shell.execute_reply": "2021-04-16T19:41:52.839060Z" }, "tags": [ "hide-input" ] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAboAAAEkCAYAAABZm/S2AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAALiQAAC4kBN8nLrQAAUKRJREFUeJzt3XdcVFf6+PHPMDTpiIDAgChY6KhYo9gTS2K+IbpmEzvZbHbZzTfVZGM2iSnGTb7pIXV/biyJmmKKWaNmI8aSoBiDJdhQKQMCgvQ+M/f3B2FWgyAaxgvD83695iUz99xznjvgPHPvOfccjaIoCkIIIYSVslE7ACGEEMKSJNEJIYSwapLohBBCWDVJdEIIIayaJDohhBBWTRKdEEIIqyaJTnRJu3btQqfTWay+8ePH88orr3RY/Tk5Obi4uFBeXt5hdV6JZcuW4ePjg4uLCyUlJarE0F7vv/8+sbGxaochrIgkOtHpjB8/HgcHB1xdXXF3dycyMpIHHniAc+fOmcuMHTsWvV5/2bp27NiBh4fHZcu1t7720mg0pKenm58HBQVRVVWFu7t7h7XRXnq9nqeffpq0tDSqqqrw8vK65jG0pr2/n462cOFC7r333mverlCHJDrRKf3jH/+gsrKSsrIyPvroI/Ly8hg6dCiFhYUd3pbBYOjwOjuTrKwsXFxc6NOnT4fUZzQa6czzTFj771NcOUl0olPTaDSEh4ezdu1a3N3deemll4CWZwIffPAB/fv3x9XVlYCAAJ5++mlKSkqYNm0a5eXluLi44OLiwq5du8yXxp544gl69+7NnDlzLnlmkZeXx/jx43F1dWXUqFEcPXr0orguPGN75ZVXGD9+PADDhw8HYPTo0bi4uLB8+XKysrLQaDSUlZUB0NjYyN/+9jeCgoLw9vZmzpw5F52xajQa3n77bSIjI3Fzc2PmzJltXvbcv38/1113HR4eHoSHh7Nu3ToAPv/8c6ZMmWJ+DyZOnHjJ/X/++WdGjhyJq6srEyZMYMmSJebjaY7njTfeIDIyEicnJ6qqqlpt02Aw4OrqyrFjxwDYtGkTGo2GLVu2AHD48GE8PDxa/f00e/rpp/Hx8cHX17fNy8hPPvkkN954I3/605/o2bMnDz/8MDk5OUyZMgVvb288PT2ZMWMGWVlZALz22mt88MEHvPnmm7i4uBAREWH+nTz++OOEhITg5eXFzJkzyc/PB0BRFB5++GF69+6Nm5sbAwYM4Kuvvmo1JtHJKEJ0MuPGjVNefvnlFq8vXbpUGT58uKIoipKSkqK4u7sriqIoVVVViq2trfLdd98piqIopaWlyr59+1qUa/avf/1L0Wq1ylNPPaXU19cr1dXVLcqNGzdO8fT0VL7//nulvr5eefTRR5X+/fsrjY2NiqIoCqD89NNP5vIvv/yyMm7cOPPzX28/c+aMAiilpaWKoijKsmXLlMjISCU7O1uprKxU5syZo0yZMuWi/cePH68UFBQopaWlyuDBg5Unnnjiku9XaWmp4uXlpbz22mtKQ0ODsmPHDsXZ2VnZvXt3q+/BhRoaGpR+/fopTz75pFJfX6+kpqYqXl5eLY5n1KhRSl5enlJXV6eUlJS02ea0adOUN998U1EURbn33nuVkJAQZcmSJYqiKMorr7yizJw5s83fj62trfL8888rDQ0NSkpKiqLVapXMzMxLxv/EE08oWq1W+de//qU0NjYq1dXVypkzZ5TNmzcrtbW1Snl5uTJr1ixl8uTJ5n0WLFig/O///u9F9Tz00EPKxIkTlfz8fKW+vl554IEHlLFjxyqKoihbt25VdDqdkpeXpyiKomRnZyvHjx9v9T0VnYuc0YkuIyAggPPnz19ym52dHUePHqWiogIPDw+GDRvWZl3u7u4sXboUe3t7nJycLlnmtttuY9SoUdjb2/Pkk09SWFhIamrqbz4OgDVr1vDYY48RFBSEi4sLL730Et988435DALg4YcfxtfXFw8PD2699VZ+/PHHS9b173//G29vb/76179iZ2fHuHHjuP3221m1alW7YklNTaWkpMT8fowYMYI5c+a0KLdkyRL8/f1xcHDg66+/brPNCRMmkJKSAsD27dt54oknLnre2pllMy8vLx566CHs7OwYP348ffv2vegM+tciIyNZuHAhtra2ODk5ERwczLRp03B0dMTNzY2lS5eyc+dOTCbTJfdXFIU333yTl156CT8/P+zt7XnmmWfYs2cPubm52NnZUVdXx88//0xjYyNBQUEMGDCgPW+v6AQk0YkuIy8vj549e7Z43dnZmU2bNvHFF18QGBjImDFjzB+qrQkICMDGpu0//wv7tOzs7PDz8yMvL+/qgv8VvV5PcHCw+XlzArlwQEzv3r3NPzs7O1NZWdmuugD69evX7sE1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F0O7ucLCQiU8PFz5/PPP1Q7lslJSUjpdH11qaqoyduxY8/OtW7cqN954o4oRta2z99MoSlO/56233qo8+OCDaofSbseOHVMiIiLUDuMib775puLn56f06dNH6dOnjwIoffr0Uc6fP692aJe1adMm5X/+53/UDqOFgoICpWfPnubn1dXViru7e4e3I2d0Hai8vJypU6fy0EMPcfPNN6sdTpcUFxdHXl6eeYTYypUrSUhIUDmqru2uu+7Czc2N559/Xu1QWlVRUcHZs2fNzz/99FMiIyNVjKilP/3pT+Tn55OVlUVWVhZarZasrCw8PT3VDq2F6upq86hVg8HAp59+SnR0tMpRteTr60tkZCT79+8HmkauN/fPd6gOT53d2DPPPKM4OjoqMTEx5seePXvUDuuSoqKilF69eikODg5KQECA8q9//UvtkMy+/fZbJSwsTAkJCVEWLVqkNDY2qh1SC3fddZcSEBCgAEpAQIBy1113qR3SJe3evVsBlMjISPPf5Kuvvqp2WC3k5OQocXFxSmRkpBIVFaXMnj1bKSgoUDusNnXms/lTp04pMTExSlRUlBIeHq784Q9/UGpqatQO65J+/vlnZeTIkUpUVJQyduxYJSMjo8PbkCnAhBBCWDW5dCmEEMKqSaITQghh1STRCSGEsGqS6IQQQlg1SXRCCCGsmiQ60SVoNBpiY2OJiopi1KhRHDly5Krq2b9/P3fffXcHR3dl2jvr/W+ZHT8rK4vQ0NBLbnvyySd55plnAHj77bf55z//edXt/NpTTz110fPp06dTVFTUYfVf6Pz588THx6MoCllZWTg4OBAbG0t4eDhTpkwhLy/PXLb57ycyMpKwsDAefPBBKisrKSsrM8/uHxQUhJeXl/l5SkoKN954I6dOnbJI/OLakdsLRJdga2trnqvvscceIy0tja1bt16Tto1GI1qttsPqu/BYOqLcpWRlZTF58mQyMzNbbHvyySextbW1yJI9vyXmK/X444/Tt29fFi1a1OJ4582bh5OTk3nJlwvjqqio4A9/+AMlJSX85z//Mdf3/vvvs3v37osS/9atW9mwYQMrV668JsckLEPO6ESXM2bMGHJzc4Gmme6XLl3K8OHDiYqK4tFHHzWX2759O8OHDycmJoZhw4Zx7tw5duzYYZ7UeMeOHYwePZpZs2YRHh7OjTfeSFlZGQALFy7k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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from utils import decorate\n", "\n", "pmf_rdt.plot(label='rdts')\n", "\n", "decorate(xlabel='Reciprocal doubling time (RDT)',\n", " ylabel='PDF',\n", " title='Distribution of growth rates')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the next section we will use this distribution to simulate tumor growth. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Simulation\n", "\n", "Now we're ready to run the simulations.\n", "Starting with a small tumor, we'll simulate a series of intervals until the tumor reaches a maximum size.\n", "\n", "At the beginning of each simulated interval, we'll choose a value from the distribution of growth rates and compute the size of the tumor at the end.\n", "\n", "I chose an interval of 245 days (about 8 months) because that is the\n", "median time between measurements in the data source\n", "\n", "For the initial diameter I chose 0.3 cm, because carcinomas smaller than that are less likely to be invasive and less likely to have the blood supply needed for rapid growth (see [this page on carcinoma](http://en.wikipedia.org/wiki/Carcinoma_in_situ)).\n", "For the maximum diameter I chose 20 cm. " ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:52.842953Z", "iopub.status.busy": "2021-04-16T19:41:52.842531Z", "iopub.status.idle": "2021-04-16T19:41:52.845337Z", "shell.execute_reply": "2021-04-16T19:41:52.844751Z" } }, "outputs": [], "source": [ "interval = 245 / 365 # year\n", "min_diameter = 0.3 # cm\n", "max_diameter = 20 # cm" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I'll use `calc_volume` to compute the initial and maximum volumes:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:52.850568Z", "iopub.status.busy": "2021-04-16T19:41:52.849935Z", "iopub.status.idle": "2021-04-16T19:41:52.855403Z", "shell.execute_reply": "2021-04-16T19:41:52.854810Z" } }, "outputs": [ { "data": { "text/plain": [ "(0.014137166941154066, 4188.790204786391)" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v0 = calc_volume(min_diameter)\n", "vmax = calc_volume(max_diameter)\n", "v0, vmax" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following function runs the simulation." ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:52.861678Z", "iopub.status.busy": "2021-04-16T19:41:52.860787Z", "iopub.status.idle": "2021-04-16T19:41:52.863092Z", "shell.execute_reply": "2021-04-16T19:41:52.863555Z" } }, "outputs": [], "source": [ "import pandas as pd\n", "\n", "def simulate_growth(pmf_rdt):\n", " \"\"\"Simulate the growth of a tumor.\"\"\"\n", " age = 0\n", " volume = v0\n", " res = []\n", " \n", " while True:\n", " res.append((age, volume))\n", " if volume > vmax:\n", " break\n", "\n", " rdt = pmf_rdt.choice()[0]\n", " age += interval \n", " doublings = rdt * interval\n", " volume *= 2**doublings\n", " \n", " columns = ['age', 'volume']\n", " sim = pd.DataFrame(res, columns=columns)\n", " sim['diameter'] = calc_diameter(sim['volume'])\n", " return sim" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`simulate_growth` takes as a parameter a `Pmf` that represents the distribution of RDT.\n", "It initializes the age and volume of the tumor, then runs a loop that simulates one interval at a time.\n", "\n", "Each time through the loop, it checks the volume of the tumor and exits if it exceeds `vmax`.\n", "\n", "Otherwise it chooses a value from `pmf_rdt` and updates `age` and `volume`. Since `rdt` is in doublings per year, we multiply by `interval` to compute the number of doublings during each interval.\n", "\n", "At the end of the loop, `simulate_growth` puts the results in a `DataFrame` and computes the diameter that corresponds to each volume.\n", "\n", "Here's how we call this function:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:52.867352Z", "iopub.status.busy": "2021-04-16T19:41:52.866802Z", "iopub.status.idle": "2021-04-16T19:41:52.869469Z", "shell.execute_reply": "2021-04-16T19:41:52.868926Z" }, "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "np.random.seed(17)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:52.874628Z", "iopub.status.busy": "2021-04-16T19:41:52.873934Z", "iopub.status.idle": "2021-04-16T19:41:52.883136Z", "shell.execute_reply": "2021-04-16T19:41:52.882586Z" } }, "outputs": [], "source": [ "sim = simulate_growth(pmf_rdt)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here are the results for the first few intervals:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:52.887549Z", "iopub.status.busy": "2021-04-16T19:41:52.887004Z", "iopub.status.idle": "2021-04-16T19:41:52.895537Z", "shell.execute_reply": "2021-04-16T19:41:52.895988Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
agevolumediameter
00.0000000.0141370.300000
10.6712330.0149490.305635
21.3424660.0197630.335441
\n", "
" ], "text/plain": [ " age volume diameter\n", "0 0.000000 0.014137 0.300000\n", "1 0.671233 0.014949 0.305635\n", "2 1.342466 0.019763 0.335441" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sim.head(3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And the last few intervals." ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:52.902596Z", "iopub.status.busy": "2021-04-16T19:41:52.902080Z", "iopub.status.idle": "2021-04-16T19:41:52.904533Z", "shell.execute_reply": "2021-04-16T19:41:52.904879Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
agevolumediameter
4328.8630141882.06742715.318357
4429.5342472887.56327717.667603
4530.2054794953.61827321.149883
\n", "
" ], "text/plain": [ " age volume diameter\n", "43 28.863014 1882.067427 15.318357\n", "44 29.534247 2887.563277 17.667603\n", "45 30.205479 4953.618273 21.149883" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sim.tail(3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To show the results graphically, I'll run 101 simulations:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:52.908057Z", "iopub.status.busy": "2021-04-16T19:41:52.907618Z", "iopub.status.idle": "2021-04-16T19:41:52.909349Z", "shell.execute_reply": "2021-04-16T19:41:52.909718Z" }, "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "np.random.seed(17)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:52.913652Z", "iopub.status.busy": "2021-04-16T19:41:52.913163Z", "iopub.status.idle": "2021-04-16T19:41:53.164914Z", "shell.execute_reply": "2021-04-16T19:41:53.165292Z" } }, "outputs": [], "source": [ "sims = [simulate_growth(pmf_rdt) for _ in range(101)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And plot the results." ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:53.189541Z", "iopub.status.busy": "2021-04-16T19:41:53.185173Z", "iopub.status.idle": "2021-04-16T19:41:53.780985Z", "shell.execute_reply": "2021-04-16T19:41:53.781369Z" }, "tags": [ "hide-input" ] }, "outputs": [ { "data": { "image/png": "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6+jbb/n4+Pj4XHO8487cfHx8fHyuffzi5uPj4+NzzeEXNx8fHx+faw6/uPn4+Pj4XHP4xc3Hx8fH55rDL24+71gmJiZYtWoVq1atoqKigtzc3Pmvn3322bd6eZeVeDzO9ddfP++3+Gaze/duHnnkkbfkuX3emfijAD4+wLe//W1efPFFvv71r78pz2etxVqL1m/O58tvfvObdHZ28oUvfOGKPo/neTiOc9Hvbdmyhe9+97tUV1df0TX4+IC/c/PxWcBf/uVf8t/+23+b//qWW27hueeeA2D79u185jOf4cYbb6S6uprf/e53fOpTn2L58uXccsst87uinp4ebr/9dlasWMG6devYs2cPAM899xxbtmzhIx/5CGvWrKGzs3PBc3/rW99i/fr1rF69mu3bt9Pe3g5IIfyTP/kTFi1axA033MCHPvSh+TWOjY3x/ve/n/Xr17Ny5cpXzNj69re/zfve9z4AvvjFL/LFL35x/ns/+MEPePDBBwHxFbzppptYs2YNmzdv5tixYwA8+eSTbNy4keuuu44NGzZw8OBBADo6OqipqeEzn/kMGzZsYOfOnXz+859n6dKlrFixgltvvXX+ee677z6++93vvoFXxcfnDfAWuqP4+Lxt+Na3vmUfeeQR+/nPf95+8YtfnL/95ptvts8++6y11tobbrjBfuITn7DWWvvTn/7Upqam2l27dllrJRfw29/+trXW2vvuu8/+z//5P6211r700ku2srLSxmIx++yzz9qEhAR78uTJi65hZGRk/u8//vGP7fvf//75v99www02FovZiYkJW1NTM7/Ghx56yP7617+21lo7NjZma2tr7ejo6ILHjcViNisra97iq6+vz9bW1lrP86y11t5yyy326aeftrFYzG7YsMH29PRYa63ds2ePXb9+/fxjn73/gQMH7MaNG6211ra3t1vAPvPMM/P3q6+vn7/v2NjY/Dp27Nhhb7nllld/IXx8LhPvOPstH5/fh/vvvx+AVatWkZ6ezqZNm+a/PrvTeu655/jOd74DwLp168jKyqK5uRmA1atXzzv/v5ympib+/M//nJGRETzPm29Z7tixg/e9730Eg0EyMzN597vfPf8zTz75JEePHuW//tf/CsjZWltbGzk5OfP3GRkZISMjY97Rvbi4mBUrVvD000/T0NBAe3s7N998MydOnODEiRPceeed8z87NjYGwMDAAB/+8Ifp7OwkEAjQ0tIyf5/CwkJuvvlmADIyMsjIyOCRRx7htttu44477pi/X1FREX19fa/vgvv4vEH84ubjcx6BQABjzPzXs7OzC76fmJgIgNZ6/u9nv3Zd9xUf92xhSUtLe8X7fOhDH+J73/semzZt4tixY9x3330X/PzLMcbw3HPPkZWV9YqPm5ycfMHv8fGPf5yvf/3rLFq0iIcffhilFNZaamtrOXz48AWP8YlPfII/+qM/4gMf+ADhcJjs7Oz5753/OzmOw+7du9mxYwdPPvkkf/qnf8rhw4fJzMwkGo2SnJz8iuv08bmc+GduPj7nUV1dPX+e1N7ezqFDh173Y2zfvp1vfOMbgCS/T0xMUFdX95o/FwqFKC0tBeCrX/3q/O1bt27lBz/4AfF4nMnJSX72s5/Nf+8P/uAP+B//43/Mf3348OELcraysrIIBoNMTk7O3/aud72LY8eO8a1vfWs+t2vx4sWEw2GeeeYZQM76zha6UCg0H29y/tpeTjgcZnR0lJtvvpm/+Zu/ISkpaT7QsqmpiWXLlr3mdfDxuRz4xc3H5zze8573EIvFWLlyJZ///OdZuXLl636ML3/5yzz55JOsWLGCT3ziE3z/+98nGAy+5s/97d/+LTfccAPbtm0jNzd3/vb77ruPZcuWsWzZMt73vvexceNGMjIy5p+rra2N5cuXs3TpUj73uc9dNETyrrvu4ne/+93810opHnzwQdatW0dxcTEAwWCQJ554gr/+679m5cqVLF26dF6g8sUvfpGPfvSjbNmyhXg8/oq/w+TkJPfccw8rVqxgxYoV3HPPPSxduhSAZ555hrvvvvsSrqCPz++PPwrg43MVMDU1RVpaGtPT02zdupVHH310/rzvUjhx4gSf+9zn+PnPfz5/2+23386nP/1pbrvttiux5AVMTU1xww03sGfPnksq9D4+vy/+mZuPz1XAfffdx+DgILFYjIceeuh1FTaApUuX8sADDxCJROjv7+fOO+9k1apVb0phAxkZ+Md//Ee/sPm8afg7Nx8fHx+faw7/zM3Hx8fH55rDL24+Pj4+PtccfnHz8fHx8bnm8Iubj4+Pj881h1/cfHx8fHyuOfzi5uPj4+NzzfH/BxhwUvYljenTAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "diameters = [4, 8, 16]\n", "for diameter in diameters:\n", " plt.axhline(diameter,\n", " color='C5', linewidth=2, ls=':')\n", "\n", "for sim in sims:\n", " plt.plot(sim['age'], sim['diameter'],\n", " color='C1', linewidth=0.5, alpha=0.5)\n", " \n", "decorate(xlabel='Tumor age (years)',\n", " ylabel='Diameter (cm, log scale)',\n", " ylim=[0.2, 20],\n", " yscale='log')\n", "\n", "yticks = [0.2, 0.5, 1, 2, 5, 10, 20]\n", "plt.yticks(yticks, yticks);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this figure, each thin, solid line shows the simulated growth of a tumor over time, with diameter on a log scale.\n", "The dotted lines are at 4, 8, and 16 cm.\n", "\n", "By reading across the dotted lines, you can get a sense of the distribution of age at each size.\n", "For example, reading across the top line, we see that the age of a 16 cm tumor might be as low 10 years or as high as 40 years, but it is most likely to be between 15 and 30.\n", "\n", "To compute this distribution more precisely, we can interpolate the growth curves to see when each one passes through a given size.\n", "The following function takes the results of the simulations and returns the age when each tumor reached a given diameter." ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:53.785378Z", "iopub.status.busy": "2021-04-16T19:41:53.784796Z", "iopub.status.idle": "2021-04-16T19:41:53.786486Z", "shell.execute_reply": "2021-04-16T19:41:53.786833Z" } }, "outputs": [], "source": [ "from scipy.interpolate import interp1d\n", "\n", "def interpolate_ages(sims, diameter):\n", " \"\"\"Estimate the age when each tumor reached a given size.\"\"\"\n", " ages = []\n", " for sim in sims:\n", " interp = interp1d(sim['diameter'], sim['age'])\n", " age = interp(diameter)\n", " ages.append(float(age))\n", " return ages" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can call this function like this:" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:53.805598Z", "iopub.status.busy": "2021-04-16T19:41:53.805034Z", "iopub.status.idle": "2021-04-16T19:41:53.807918Z", "shell.execute_reply": "2021-04-16T19:41:53.808340Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "22.31854530374061 [13.47056554 34.49632276]\n" ] } ], "source": [ "from empiricaldist import Cdf\n", "\n", "ages = interpolate_ages(sims, 15)\n", "cdf = Cdf.from_seq(ages)\n", "print(cdf.median(), cdf.credible_interval(0.9))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For a tumor 15 cm in diameter, the median age is about 22 years, the 90% credible interval is between 13 and 34 years, and the probability that it formed less than 9 years ago is less than 1%." ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:53.812244Z", "iopub.status.busy": "2021-04-16T19:41:53.811688Z", "iopub.status.idle": "2021-04-16T19:41:53.814099Z", "shell.execute_reply": "2021-04-16T19:41:53.814464Z" } }, "outputs": [ { "data": { "text/plain": [ "np.float64(0.9900990099009901)" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "1 - cdf(9.0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "But this result is based on two modeling decisions that are potentially problematic:\n", "\n", "* In the simulations, growth rate during each interval is independent of previous growth rates. In reality it is plausible that tumors that have grown quickly in the past are likely to grow quickly in the future. In other words, there is probably a serial correlation in growth rate.\n", "\n", "* To convert from linear measure to volume, we assume that tumors are approximately spherical.\n", "\n", "In additional experiments, I implemented a simulation that chooses growth rates with serial correlation; the effect is that the fast-growing tumors grow faster and the slow-growing tumors grow slower.\n", "Nevertheless, with moderate correlation (0.5), the probability that a 15 cm tumor is less than 9 years old is only about 1%. \n", "\n", "The assumption that tumors are spherical is probably fine for tumors up to a few centimeters, but not for a tumor with linear dimensions 15.5 x 15 cm.\n", "If, as seems likely, a tumor this size is relatively flat, it might have the same volume as a 6 cm sphere.\n", "But even with this smaller volume and correlation 0.5, the probability that this tumor is less than 9 years old is about 5%.\n", "\n", "So even taking into account modeling errors, it is unlikely that such a large tumor could have formed after my correspondent retired from military service." ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "The following figure shows the distribution of ages for tumors with diameters 4, 8, and 15 cm." ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:53.848074Z", "iopub.status.busy": "2021-04-16T19:41:53.824687Z", "iopub.status.idle": "2021-04-16T19:41:54.018702Z", "shell.execute_reply": "2021-04-16T19:41:54.018329Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "image/png": "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0AkhhPBoEnSi16uvr++aET4hIYGIiIiux+vXrze6vG5lt9u56qqrDJs/cevWrWRmZhqyb9F7yfACIU7z0ksvsXnzZp5//vke2Z9SCqUUZnPP/J9z5cqVFBYW8v/+3/9z6n40TcNisZzztcmTJ7Nq1SoGDBjg1BqEOEVadEKcw2OPPcYTTzzR9XjmzJls2LABgGnTpvHggw8yffp0BgwYwJdffsn999/P0KFDmTlzZldrqbi4mOuuu45hw4YxduzYrmnoNmzYwOTJk7nrrrsYPXr0WfMVvvjii4wbN46RI0cybdo0Tpw4AXSG4o9//GMGDx7M1VdfzeLFi7tqrK2t5dZbb2XcuHEMHz78vOt7vfTSS9xyyy0APP744zz++ONdr7355pssWrQI6Jyj8JprrmH06NFMmjSJAwcOALBmzRomTJjAqFGjGD9+PHv27AGgoKCAgQMH8uCDDzJ+/HiysrL41a9+RXp6OsOGDWPWrFld+5k/fz6rVq26jLMixGVy2pwrQrihF198UWVmZqpf/epX6vHHH+96fsaMGWr9+vVKKaWuvvpqdd999ymllPrggw9UQECA2rJli1JKqZtvvlm99NJLSiml5s+fr/76178qpZTasWOH6t+/v7LZbGr9+vXK29tb5eTknLOG6urqru/feecddeutt3Z9f/XVVyubzabq6+vVwIEDu2pcsmSJ+vTTT5VSStXW1qqkpCRVU1NzxvvabDYVGhraNY1UaWmpSkpKUpqmKaWUmjlzplq3bp2y2Wxq/Pjxqri4WCml1LZt29S4ceO63vvU9rt371YTJkxQSil14sQJBajPP/+8a7tBgwZ1bVtbW9tVx8aNG9XMmTMvfCKE6EYeOQWYEM62YMECoHNy3aCgICZOnNj1+FQLbMOGDbz88ssAjB07ltDQUI4dOwbAyJEju1Y++KajR4/yy1/+kurqajRN67qsuXHjRm655Ra8vLwICQlh3rx5XT+zZs0a9u/fz89+9jOg815cfn4+4eHhXdtUV1cTHBzcNWt8TEwMw4YNY926daSkpHDixAlmzJjBoUOHOHToEHPnzu362draWgDKy8u54447KCwsxGq1kpeX17VNVFQUM2bMAP49MXRmZiazZ8/m+uuv79ouOjqa0tLSS/uFC3EFJOiEOAer1Yqu612POzo6znjdx8cHALPZ3PX9qccXWvvwVMgEBgaed5vFixfz2muvMXHiRA4cOMD8+fPP+vlv0nWdDRs2EBoaet739fPzO+s47rnnHp5//nkGDx7MsmXLMJlMKKVISko658z49913H3fffTe33XYbTU1NhIWFdb12+jFZLBa2bt3Kxo0bWbNmDT//+c/Zu3cvISEhtLW14efnd946hehuco9OiHMYMGBA1/2nEydOkJ2dfcnvMW3aNF544QUAdu7cSX19PcnJyd/6c42NjcTGxgLw7LPPdj0/ZcoU3nzzTex2Ow0NDXz44Yddr82ZM4f//d//7Xq8d+/es9b4Cg0NxcvLi4aGhq7nrr32Wg4cOMCLL77YtWbYkCFDaGpq4vPPPwc67w2eCr3Gxsau5VROr+2bmpqaqKmpYcaMGfzhD3/A19e3a2HNo0ePkpGR8a2/ByG6iwSdEOfw3e9+F5vNxvDhw/nVr37F8OHDL/k9nnrqKdasWcOwYcO47777eP3117tmnr+QJ598kquvvpqpU6cSERHR9fz8+fPJyMggIyODW265hQkTJnStT/bUU0+Rn5/P0KFDSU9P5+GHHz7nYpY33HADX375Zddjk8nEokWLGDt2LDExMQB4eXnx/vvv85vf/Ibhw4eTnp7e1bnl8ccfZ+nSpUyePBm73X7eY2hoaOCmm25i2LBhDBs2jJtuuon09HQAPv/8c2688caL+A0K0T1keIEQbqS5uZnAwEBaWlqYMmUKK1as6Lo/eDEOHTrEww8/zEcffdT13HXXXccDDzzA7NmznVHyGZqbm7n66qvZtm3bRYW+EN1B7tEJ4Ubmz59PRUUFNpuNJUuWXFLIAaSnp7Nw4UJaW1spKytj7ty5jBgxokdCDjqHIfzlL3+RkBM9Slp0QgghPJrcoxNCCOHRJOiEEEJ4NAk6IYQQHk2CTgghhEeToBNCCOHRJOiEEEJ4tP8PBKzdMh+2VEsAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for diameter in diameters:\n", " ages = interpolate_ages(sims, diameter)\n", " cdf = Cdf.from_seq(ages)\n", " cdf.plot(label=f'{diameter} cm')\n", " \n", "decorate(xlabel='Tumor age (years)',\n", " ylabel='CDF')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Approximate Bayesian Calculation\n", "\n", "At this point you might wonder why this example is in a book about Bayesian statistics.\n", "We never defined a prior distribution or did a Bayesian update.\n", "Why not? Because we didn't have to.\n", "\n", "Instead, we used simulations to compute ages and sizes for a collection of hypothetical tumors.\n", "Then, implicitly, we used the simulation results to form a joint distribution of age and size.\n", "If we select a column from the joint distribution, we get a distribution of size conditioned on age.\n", "If we select a row, we get a distribution of age conditioned on size.\n", "\n", "So this example is like the ones we saw in <<_Probability>>: if you have all of the data, you don't need Bayes's theorem; you can compute probabilities by counting.\n", "\n", "This example is a first step toward Approximate Bayesian Computation (ABC).\n", "The next example is a second step." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Counting Cells\n", "\n", "This example comes from [this blog post](https://dataorigami.net/blogs/napkin-folding/bayesian-cell-counting), by Cameron Davidson-Pilon.\n", "In it, he models the process biologists use to estimate the concentration of cells in a sample of liquid.\n", "The example he presents is counting cells in a \"yeast slurry\", which is a mixture of yeast and water used in brewing beer.\n", "\n", "There are two steps in the process:\n", "\n", "* First, the slurry is diluted until the concentration is low enough that it is practical to count cells.\n", "\n", "* Then a small sample is put on a hemocytometer, which is a specialized microscope slide that holds a fixed amount of liquid on a rectangular grid.\n", "\n", "The cells and the grid are visible in a microscope, making it possible to count the cells accurately.\n", "\n", "As an example, suppose we start with a yeast slurry with unknown concentration of cells.\n", "Starting with a 1 mL sample, we dilute it by adding it to a shaker with 9 mL of water and mixing well.\n", "Then we dilute it again, and then a third time.\n", "Each dilution reduces the concentration by a factor of 10, so three dilutions reduces the concentration by a factor of 1000.\n", "\n", "Then we add the diluted sample to the hemocytometer, which has a capacity of 0.0001 mL spread over a 5x5 grid.\n", "Although the grid has 25 squares, it is standard practice to inspect only a few of them, say 5, and report the total number of cells in the inspected squares." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This process is simple enough, but at every stage there are sources of error:\n", "\n", "* During the dilution process, liquids are measured using pipettes that introduce measurement error.\n", "\n", "* The amount of liquid in the hemocytometer might vary from the specification.\n", "\n", "* During each step of the sampling process, we might select more or less than the average number of cells, due to random variation.\n", "\n", "Davidson-Pilon presents a PyMC model that describes these errors.\n", "I'll start by replicating his model; then we'll adapt it for ABC.\n", "\n", "Suppose there are 25 squares in the grid, we count 5 of them, and the total number of cells is 49." ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:54.021855Z", "iopub.status.busy": "2021-04-16T19:41:54.021429Z", "iopub.status.idle": "2021-04-16T19:41:54.024368Z", "shell.execute_reply": "2021-04-16T19:41:54.024023Z" } }, "outputs": [], "source": [ "total_squares = 25\n", "squares_counted = 5\n", "yeast_counted = 49" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's the first part of the model, which defines the prior distribution of `yeast_conc`, which is the concentration of yeast we're trying to estimate.\n", "\n", "`shaker1_vol` is the actual volume of water in the first shaker, which should be 9 mL, but might be higher or lower, with standard deviation 0.05 mL.\n", "`shaker2_vol` and `shaker3_vol` are the volumes in the second and third shakers." ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:54.028284Z", "iopub.status.busy": "2021-04-16T19:41:54.027782Z", "iopub.status.idle": "2021-04-16T19:41:55.599701Z", "shell.execute_reply": "2021-04-16T19:41:55.599305Z" } }, "outputs": [], "source": [ "import pymc as pm\n", "billion = 1e9\n", "\n", "with pm.Model() as model:\n", " yeast_conc = pm.Normal(\"yeast conc\", \n", " mu=2 * billion, sigma=0.4 * billion)\n", "\n", " shaker1_vol = pm.Normal(\"shaker1 vol\", mu=9.0, sigma=0.05)\n", " shaker2_vol = pm.Normal(\"shaker2 vol\", mu=9.0, sigma=0.05)\n", " shaker3_vol = pm.Normal(\"shaker3 vol\", mu=9.0, sigma=0.05)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, the sample drawn from the yeast slurry is supposed to be 1 mL, but might be more or less.\n", "And similarly for the sample from the first shaker and from the second shaker.\n", "The following variables model these steps." ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:55.757355Z", "iopub.status.busy": "2021-04-16T19:41:55.721470Z", "iopub.status.idle": "2021-04-16T19:41:55.796399Z", "shell.execute_reply": "2021-04-16T19:41:55.795959Z" } }, "outputs": [], "source": [ "with model:\n", " yeast_slurry_vol = pm.Normal(\"yeast slurry vol\", mu=1.0, sigma=0.01)\n", " shaker1_to_shaker2_vol = pm.Normal(\"shaker1 to shaker2\", mu=1.0, sigma=0.01)\n", " shaker2_to_shaker3_vol = pm.Normal(\"shaker2 to shaker3\", mu=1.0, sigma=0.01)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Given the actual volumes in the samples and in the shakers, we can compute the effective dilution, `final_dilution`, which should be 1000, but might be higher or lower." ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:55.806783Z", "iopub.status.busy": "2021-04-16T19:41:55.800081Z", "iopub.status.idle": "2021-04-16T19:41:55.808781Z", "shell.execute_reply": "2021-04-16T19:41:55.808387Z" } }, "outputs": [], "source": [ "with model:\n", " dilution_shaker1 = (yeast_slurry_vol / \n", " (yeast_slurry_vol + shaker1_vol))\n", " dilution_shaker2 = (shaker1_to_shaker2_vol / \n", " (shaker1_to_shaker2_vol + shaker2_vol))\n", " dilution_shaker3 = (shaker2_to_shaker3_vol / \n", " (shaker2_to_shaker3_vol + shaker3_vol))\n", " \n", " final_dilution = (dilution_shaker1 * \n", " dilution_shaker2 * \n", " dilution_shaker3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The next step is to place a sample from the third shaker in the chamber of the hemocytomer.\n", "The capacity of the chamber should be 0.0001 mL, but might vary; to describe this variance, we'll use a gamma distribution, which ensures that we don't generate negative values." ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:55.814594Z", "iopub.status.busy": "2021-04-16T19:41:55.813918Z", "iopub.status.idle": "2021-04-16T19:41:55.967345Z", "shell.execute_reply": "2021-04-16T19:41:55.966880Z" } }, "outputs": [], "source": [ "with model:\n", " chamber_vol = pm.Gamma(\"chamber_vol\", mu=0.0001, sigma=0.0001 / 20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On average, the number of cells in the chamber is the product of the actual concentration, final dilution, and chamber volume.\n", "But the actual number might vary; we'll use a Poisson distribution to model this variance." ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:55.972552Z", "iopub.status.busy": "2021-04-16T19:41:55.972041Z", "iopub.status.idle": "2021-04-16T19:41:56.039972Z", "shell.execute_reply": "2021-04-16T19:41:56.039599Z" } }, "outputs": [], "source": [ "with model:\n", " yeast_in_chamber = pm.Poisson(\"yeast in chamber\", \n", " mu=yeast_conc * final_dilution * chamber_vol)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, each cell in the chamber will be in one of the squares we count with probability `p=squares_counted/total_squares`.\n", "So the actual count follows a binomial distribution." ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:56.052542Z", "iopub.status.busy": "2021-04-16T19:41:56.051571Z", "iopub.status.idle": "2021-04-16T19:41:56.510543Z", "shell.execute_reply": "2021-04-16T19:41:56.510863Z" } }, "outputs": [], "source": [ "with model:\n", " count = pm.Binomial(\"count\", \n", " n=yeast_in_chamber, \n", " p=squares_counted/total_squares,\n", " observed=yeast_counted)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With the model specified, we can use `sample` to generate a sample from the posterior distribution." ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:41:56.515738Z", "iopub.status.busy": "2021-04-16T19:41:56.515055Z", "iopub.status.idle": "2021-04-16T19:42:06.933329Z", "shell.execute_reply": "2021-04-16T19:42:06.934337Z" }, "tags": [ "hide-output" ] }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Multiprocess sampling (4 chains in 4 jobs)\n", "CompoundStep\n", ">NUTS: [yeast conc, shaker1 vol, shaker2 vol, shaker3 vol, yeast slurry vol, shaker1 to shaker2, shaker2 to shaker3, chamber_vol]\n", ">Metropolis: [yeast in chamber]\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "7d3b028cb5cf4cf0894bc4afd4e5062f", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Sampling 4 chains for 1_000 tune and 1_000 draw iterations (4_000 + 4_000 draws total) took 11 seconds.\n",
      "The rhat statistic is larger than 1.01 for some parameters. This indicates problems during sampling. See https://arxiv.org/abs/1903.08008 for details\n",
      "The effective sample size per chain is smaller than 100 for some parameters.  A higher number is needed for reliable rhat and ess computation. See https://arxiv.org/abs/1903.08008 for details\n"
     ]
    }
   ],
   "source": [
    "options = dict(return_inferencedata=False)\n",
    "\n",
    "with model:\n",
    "    trace = pm.sample(1000, **options)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And we can use the sample to estimate the posterior distribution of `yeast_conc` and compute summary statistics."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2021-04-16T19:42:06.938492Z",
     "iopub.status.busy": "2021-04-16T19:42:06.938018Z",
     "iopub.status.idle": "2021-04-16T19:42:06.944515Z",
     "shell.execute_reply": "2021-04-16T19:42:06.943729Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2.3036249612378192 [1.90495594 2.69322207]\n"
     ]
    }
   ],
   "source": [
    "posterior_sample = trace['yeast conc'] / billion\n",
    "cdf_pymc = Cdf.from_seq(posterior_sample)\n",
    "print(cdf_pymc.mean(), cdf_pymc.credible_interval(0.9))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The posterior mean is about 2.2 billion cells per mL, with a 90% credible interval from 1.8 and 2.7.\n",
    "\n",
    "So far we've been following in Davidson-Pilon's footsteps.\n",
    "And for this problem, the solution using MCMC is sufficient.\n",
    "But it also provides an opportunity to demonstrate ABC."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Cell Counting with ABC\n",
    "\n",
    "The fundamental idea of ABC is that we use the prior distribution to generate a sample of the parameters, and then simulate the system for each set of parameters in the sample.\n",
    "\n",
    "In this case, since we already have a PyMC model, we can use `sample_prior_predictive` to do the sampling and the simulation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2021-04-16T19:42:06.948761Z",
     "iopub.status.busy": "2021-04-16T19:42:06.948266Z",
     "iopub.status.idle": "2021-04-16T19:42:07.487156Z",
     "shell.execute_reply": "2021-04-16T19:42:07.486684Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Sampling: [chamber_vol, count, shaker1 to shaker2, shaker1 vol, shaker2 to shaker3, shaker2 vol, shaker3 vol, yeast conc, yeast in chamber, yeast slurry vol]\n"
     ]
    }
   ],
   "source": [
    "with model:\n",
    "    prior_sample = pm.sample_prior_predictive(10000, **options)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The result is a dictionary that contains samples from the prior distribution of the parameters and the prior predictive distribution of `count`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2021-04-16T19:42:07.490679Z",
     "iopub.status.busy": "2021-04-16T19:42:07.490235Z",
     "iopub.status.idle": "2021-04-16T19:42:07.492457Z",
     "shell.execute_reply": "2021-04-16T19:42:07.492806Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "39.9429\n"
     ]
    }
   ],
   "source": [
    "count = prior_sample['count']\n",
    "print(count.mean())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now, to generate a sample from the posterior distribution, we'll select only the elements in the prior sample where the output of the simulation, `count`, matches the observed data, 49."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2021-04-16T19:42:07.496486Z",
     "iopub.status.busy": "2021-04-16T19:42:07.495613Z",
     "iopub.status.idle": "2021-04-16T19:42:07.498936Z",
     "shell.execute_reply": "2021-04-16T19:42:07.499282Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "np.int64(249)"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mask = (count == 49)\n",
    "mask.sum()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can use `mask` to select the values of `yeast_conc` for the simulations that yield the observed data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2021-04-16T19:42:07.503109Z",
     "iopub.status.busy": "2021-04-16T19:42:07.502604Z",
     "iopub.status.idle": "2021-04-16T19:42:07.504717Z",
     "shell.execute_reply": "2021-04-16T19:42:07.504277Z"
    }
   },
   "outputs": [],
   "source": [
    "posterior_sample2 = prior_sample['yeast conc'][mask] / billion"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And we can use the posterior sample to estimate the CDF of the posterior distribution."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2021-04-16T19:42:07.509962Z",
     "iopub.status.busy": "2021-04-16T19:42:07.509535Z",
     "iopub.status.idle": "2021-04-16T19:42:07.511879Z",
     "shell.execute_reply": "2021-04-16T19:42:07.511516Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2.2598964588558084 [1.84789587 2.69189023]\n"
     ]
    }
   ],
   "source": [
    "cdf_abc = Cdf.from_seq(posterior_sample2)\n",
    "print(cdf_abc.mean(), cdf_abc.credible_interval(0.9))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The posterior mean and credible interval are similar to what we got with MCMC.\n",
    "Here's what the distributions look like."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2021-04-16T19:42:07.531093Z",
     "iopub.status.busy": "2021-04-16T19:42:07.519716Z",
     "iopub.status.idle": "2021-04-16T19:42:07.720598Z",
     "shell.execute_reply": "2021-04-16T19:42:07.720179Z"
    },
    "tags": [
     "hide-input"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAboAAAEkCAYAAABZm/S2AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAALiQAAC4kBN8nLrQAARdtJREFUeJzt3Xd8VFX6+PHPlHQSAgFCSKNEII0ECFVAaSpFRERFFBaJYgH8Kuq6rvzUVVfXwq4N17JiCQouiqiIYgEUEDCA1NBCC5MCJCG9zdx7fn9kHYmpYCaZTJ7365UXufeee+c5M9w8c8699xyDUkohhBBCuChjcwcghBBCOJIkOiGEEC5NEp0QQgiXJolOCCGES5NEJ4QQwqVJohNCCOHSJNEJIYRwaZLohHCQNm3asHfvXocdf9euXRgMBvvyuHHjeO211xrt+Ocfb8OGDfj7+zfasQHuvPNOHnrooUY9phA1McgD46Ilu/zyy9myZQtubm64ubnRp08fXnjhBQYMGPCHjjl58mTuvffexgvUAXbt2kXfvn250FP4Yuq3YcMGJk+eTF5e3oUF+T+PP/44u3btYtWqVRe1vxB/hLToRIv37LPPUlRURGZmJv369WPy5MnNGo/NZvtD+yul0DStkaJpea8vRGOTRCdchqenJ4mJiWRkZJCTk8Pp06e54YYb6NixI2FhYTzyyCP2JJSbm8u1115L+/bt8ff3p3///pw8eZL777+fjRs38tBDD9GmTRvGjRsHQFFREfPmzSMsLIxOnToxc+ZM8vPzAThx4gQGg4F33nmHiIgIgoODATAYDOzatQuoTB6LFi2iR48etG/fnquuuopjx47ZY+/atSvPPPMMgwcPxtvbm5SUlGr1y8vL44YbbsDf35/evXvz448/Vtl++eWX8+KLL15U/Wp6/fOP96tXXnmFoKAgOnfuzGOPPWZvTT7++OPVvmD4+/uzYcMGVq1axdNPP83q1atp06YNbdq0AWDWrFlVWpXbt2/n0ksvxd/fn6ioKJYtW2bf9vjjj3P11Vczb948/P39CQsL46OPPqrz/4MQv5JEJ1xGSUkJ//nPfwgPDycgIIDp06fj5ubG8ePH2bhxI6tWreK5554D4IUXXsBms2GxWMjJyeHtt9/G19eXRYsWMXz4cHsr8auvvgJg9uzZ5ObmsmfPHo4fP47VamXevHlVXv/zzz9n+/btHD9+vFpsSUlJ/POf/2TVqlVkZGQQHR3NxIkTq7T+3n33Xd577z2Kioro1atXtWPcc8895OXlceLECdatW8f7779f63txofVryOsXFhayc+dOjh49yoYNG1iyZEmdMfxq8uTJ/PWvf2XixIkUFRVRVFRUrUxeXh5XXXUV06ZN4+zZs/z73//m9ttvZ/PmzfYya9eu5dJLLyUnJ4ennnqK2267jcLCwnpfXwhJdKLFe/jhh/H396d79+4cPHiQzz//nPT0dNatW8eiRYto06YN4eHhPPLII7z77rsAuLm5kZOTw5EjRzCZTMTHx9O+ffsaj3/27Fk++eQTXn31Vfz9/fHx8eGJJ57go48+qtLF99hjj+Hv74+3t3e1YyQlJXHPPfcQGxuLp6cnTz/9NBaLhZ9//tle5q677qJXr16YTCbc3d2r7K9pGh999BFPPfUU/v7+dOnShQcffLDW9+RC6teQ1wfQdZ1nn30Wb29vevfuzbx580hKSqrzmA315Zdf0rFjR+bPn4+bmxuXXXYZ06dP57333rOX6devHzfddBMmk4kZM2ZQUVHB4cOHG+X1hWszN3cAQvxRzzzzTLUbK7Zt24anpyedO3e2r+vevTsWiwWABx98kLKyMm644Qby8/O58cYb+cc//oGXl1e14584cQJd1+nevXuV9UajkaysLPtyWFhYrTFaLBa6du1qX/bw8KBLly72eOrbPzs7m4qKCsLDw+3rzv/99y6kfg15fajsGu7UqVOV109PT69zn4b6/fsDlZ/X+d2z53+WBoMBLy8vadGJBpEWnXBJISEhlJWVcfr0afu648ePExISAlTe+v/ss89y6NAhtmzZwvfff2+/ld5orHpahIaGYjQaycjIIC8vz/5TVlZmvx5X036/j+fEiRP25YqKCjIyMuzx1Ld/hw4dcHNz4+TJk/Z1aWlptZa/kPo15PUBysrKOHPmTJXX/7X+bdq0oaSkxL6tpKSEgoKCBh/79+8PVP28hPgjJNEJlxQcHMzIkSN54IEHKC4uJi0tjaeffpo//elPAKxevZrDhw+j6zp+fn64ublhNld2cAQGBnL06FH7sTp37szkyZOZN28e2dnZAGRlZfHpp582OJ5bbrmFV199lZSUFMrLy1m4cCHBwcEMHDiwQfubTCZuuOEGHn30UfLy8sjIyOD555+v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",
      "text/plain": [
       "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cdf_pymc.plot(label='MCMC', ls=':')\n", "cdf_abc.plot(label='ABC')\n", "\n", "decorate(xlabel='Yeast concentration (cells/mL)',\n", " ylabel='CDF',\n", " title='Posterior distribution',\n", " xlim=(1.4, 3.4))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The distributions are similar, but the results from ABC are noisier because the sample size is smaller." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## When Do We Get to the Approximate Part?\n", "\n", "The examples so far are similar to Approximate Bayesian Computation, but neither of them demonstrates all of the elements of ABC.\n", "More generally, ABC is characterized by:\n", "\n", "1. A prior distribution of parameters.\n", "\n", "2. A simulation of the system that generates the data.\n", "\n", "3. A criterion for when we should accept that the output of the simulation matches the data.\n", "\n", "The kidney tumor example was atypical because we didn't represent the prior distribution of age explicitly.\n", "Because the simulations generate a joint distribution of age and size, we we able to get the marginal posterior distribution of age directly from the results.\n", "\n", "The yeast example is more typical because we represented the distribution of the parameters explicitly.\n", "But we accepted only simulations where the output matches the data exactly.\n", "\n", "The result is approximate in the sense that we have a sample from the posterior distribution rather than the posterior distribution itself.\n", "But it is not approximate in the sense of Approximate Bayesian Computation, which typically accepts simulations where the output matches the data only approximately." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To show how that works, I will extend the yeast example with an approximate matching criterion.\n", "\n", "In the previous section, we accepted a simulation if the output is precisely 49 and rejected it otherwise.\n", "As a result, we got only a few hundred samples out of 10,000 simulations, so that's not very efficient.\n", "\n", "We can make better use of the simulations if we give \"partial credit\" when the output is close to 49.\n", "But how close? And how much credit?\n", "\n", "One way to answer that is to back up to the second-to-last step of the simulation, where we know the number of cells in the chamber, and we use the binomial distribution to generate the final count.\n", "\n", "If there are `n` cells in the chamber, each has a probability `p` of being counted, depending on whether it falls in one of the squares in the grid that get counted.\n", "\n", "We can extract `n` from the prior sample, like this:" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:42:07.724224Z", "iopub.status.busy": "2021-04-16T19:42:07.723759Z", "iopub.status.idle": "2021-04-16T19:42:07.726550Z", "shell.execute_reply": "2021-04-16T19:42:07.726183Z" } }, "outputs": [ { "data": { "text/plain": [ "(10000,)" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "n = prior_sample['yeast in chamber']\n", "n.shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And compute `p` like this:" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:42:07.730122Z", "iopub.status.busy": "2021-04-16T19:42:07.729489Z", "iopub.status.idle": "2021-04-16T19:42:07.731874Z", "shell.execute_reply": "2021-04-16T19:42:07.732357Z" } }, "outputs": [ { "data": { "text/plain": [ "0.2" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p = squares_counted/total_squares\n", "p" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now here's the idea: we'll use the binomial distribution to compute the likelihood of the data, `yeast_counted`, for each value of `n` and the fixed value of `p`." ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:42:07.738178Z", "iopub.status.busy": "2021-04-16T19:42:07.737367Z", "iopub.status.idle": "2021-04-16T19:42:07.743134Z", "shell.execute_reply": "2021-04-16T19:42:07.742703Z" } }, "outputs": [], "source": [ "from scipy.stats import binom\n", "\n", "likelihood = binom(n, p).pmf(yeast_counted).flatten()" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:42:07.746932Z", "iopub.status.busy": "2021-04-16T19:42:07.746395Z", "iopub.status.idle": "2021-04-16T19:42:07.748798Z", "shell.execute_reply": "2021-04-16T19:42:07.749215Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "(10000,)" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "likelihood.shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When the expected count, `n * p`, is close to the actual count, `likelihood` is relatively high; when it is farther away, `likelihood` is lower.\n", "\n", "The following is a scatter plot of these likelihoods versus the expected counts." ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:42:07.768338Z", "iopub.status.busy": "2021-04-16T19:42:07.764397Z", "iopub.status.idle": "2021-04-16T19:42:07.898747Z", "shell.execute_reply": "2021-04-16T19:42:07.897763Z" }, "tags": [ "hide-input" ] }, "outputs": [ { "data": { "image/png": "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8nIgcNoHcO211zb59xkIbUtKSiI1NZW0tDTS0tLc09MDoW2VlZVcdtllDBw4kMGDB/Pcc88BgdG2/Px8988sLS2Nnj17Mm3aNMAH26eE21dffaUKCgqU2Wx2X/v444/V6aefrurq6pTNZlPx8fGqvLzcwCiPTX5+vlq/fr1SSqna2lo1btw49c477wRM+5RS6sCBA+7H119/vZo3b15Ate/LL79Ul112mfvfZ6C0rW/fvmrPnj1NrgVK26666ir1wAMPKKWU0nVd7du3L2DadrgJEyaopUuX+mT7pEfXyNixY4mLi2tybfny5cyaNQuLxUKfPn0YO3YsK1euNCjCY9erVy/S09MBsFqtDB8+nF27dgVM+wCio6MB0HWd6upqIHB+frW1tdxyyy08/PDD7muB0raWBELbKioqeP/995kzZw4AmqbRo0ePgGjb4fLz89mwYQNTp071yfZJojsCm81GQkKCu5yYmIjNZjMwouNXXFzM22+/zcSJEwOufeeffz5xcXH8+OOP3HDDDQHTvrvuuovMzEy6d+/uvhYobQM477zzGDFiBHPnzsXpdAZE23799Vfi4uK47rrrGDVqFBdccAG5ubkB0bbDLV26lKlTpxIWFuaT7ZNE5wFN09yPlZ+vxqitrSUjI4M5c+YwZMgQILDa9+6771JQUMApp5zC008/Dfh/+7Zs2cJ3333HFVdc0ex7/t42gDVr1vD999+zZs0atm7dyiOPPAL4f9vq6urIzs7mggsuYNOmTZx33nnMnj0b8P+2He6VV17h0ksvdZd9rX2S6I4gISGB3bt3u8s2m434+HgDIzp2LpeLSy65hPT0dK6//nogsNrXwGw2M3v2bF5++eWAaN/atWvJycmhX79+JCUl4XK5SEpKCoi2Ae6YIyMjueqqq/j2228Dom0JCQl069aNyZMnA/CnP/2JTZs2BUTbGtu6dStFRUWMHz8e8NHfKQbeH/RZjSejrFy5Uo0bN045nU6Vl5enEhISDL+xeqxmz56trrjiCqXruvtaoLSvrKxM5efnu8v//ve/1YwZMwKmfY01/PsMhLZVVlaqsrIypZRSdXV1atasWer2228PiLYppdS4cePck8DefvttNWbMmIBpW4ObbrpJ3XTTTe6yL7bPcuRU2Hn83//9Hx988AEul4v4+HjOOeccnnvuOT755BMGDRqEpmk8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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(n*p, likelihood, '.', alpha=0.03, color='C2')\n", "\n", "decorate(xlabel='Expected count (number of cells)',\n", " ylabel='Likelihood')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can't use these likelihoods to do a Bayesian update because they are incomplete; that is, each likelihood is the probability of the data given `n`, which is the result of a single simulation.\n", "\n", "But we *can* use them to weight the results of the simulations.\n", "Instead of requiring the output of the simulation to match the data exactly, we'll use the likelihoods to give partial credit when the output is close.\n", "\n", "Here's how: I'll construct a `Pmf` that contains yeast concentrations as quantities and the likelihoods as unnormalized probabilities." ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:42:07.904279Z", "iopub.status.busy": "2021-04-16T19:42:07.903638Z", "iopub.status.idle": "2021-04-16T19:42:07.906506Z", "shell.execute_reply": "2021-04-16T19:42:07.906861Z" } }, "outputs": [], "source": [ "qs = prior_sample['yeast conc'] / billion\n", "ps = likelihood\n", "posterior_pmf = Pmf(ps, qs)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this `Pmf`, values of `yeast_conc` that yield outputs close to the data map to higher probabilities.\n", "If we sort the quantities and normalize the probabilities, the result is an estimate of the posterior distribution." ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:42:07.911101Z", "iopub.status.busy": "2021-04-16T19:42:07.910407Z", "iopub.status.idle": "2021-04-16T19:42:07.916302Z", "shell.execute_reply": "2021-04-16T19:42:07.916646Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2.266695424563474 [1.85825934 2.70042921]\n" ] } ], "source": [ "posterior_pmf.sort_index(inplace=True)\n", "posterior_pmf.normalize()\n", "\n", "print(posterior_pmf.mean(), posterior_pmf.credible_interval(0.9)) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The posterior mean and credible interval are similar to the values we got from MCMC.\n", "And here's what the posterior distributions look like." ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:42:07.940658Z", "iopub.status.busy": "2021-04-16T19:42:07.937661Z", "iopub.status.idle": "2021-04-16T19:42:08.102746Z", "shell.execute_reply": "2021-04-16T19:42:08.102213Z" }, "tags": [ "hide-input" ] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAboAAAEkCAYAAABZm/S2AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAALiQAAC4kBN8nLrQAARtlJREFUeJzt3Xl4FFX28PFv9ZKQkIQQlgSysEUgCSEBwiIiKqACIiIiLiwiUUYFHIVxG33VUUfHBX7jgqM44mgY0cFBFFBxAWRRIYCsYRcInbAlIfvWXXXfPzK0xCwETKc7nfN5nn7oqnu7+lR3itP3VtW9mlJKIYQQQngpk7sDEEIIIVxJEp0QQgivJolOCCGEV5NEJ4QQwqtJohNCCOHVJNEJIYTwapLohBBCeDVJdEK4SEBAADt37nTZ9rdt24amac7lESNG8Oabb9bb9s/d3po1awgODq63bQPcc889PPLII/W6TSGqo8kN46Ixu/LKK/nxxx+xWq1YrVZ69uzJK6+8Qt++fX/XNseMGcMDDzxQf4G6wLZt2+jVqxcXeghfzP6tWbOGMWPGkJube2FB/s/TTz/Ntm3bWLp06UW9XojfQ1p0otF78cUXKSws5Pjx4/Tu3ZsxY8a4NR6Hw/G7Xq+UQtf1eoqm8b2/EPVNEp3wGs2aNSM5OZnMzEyys7M5efIk48ePp02bNkRFRfH44487k1BOTg433ngjISEhBAcH06dPH44ePcrs2bNZt24djzzyCAEBAYwYMQKAwsJCZsyYQVRUFG3btmXy5Mnk5eUBcOTIETRN47333iM6Oprw8HAANE1j27ZtQEXymDNnDl26dCEkJIThw4fzyy+/OGPv2LEjL7zwAgMGDMDf35+0tLQq+5ebm8v48eMJDg6me/furF27tlL5lVdeyd///veL2r/q3v/c7Z31+uuv065dO8LCwnjqqaecrcmnn366yg+M4OBg1qxZw9KlS3n++edZvnw5AQEBBAQEADBlypRKrcrNmzdz2WWXERwcTGxsLIsWLXKWPf3001x//fXMmDGD4OBgoqKi+Pjjj2v9exDiLEl0wmsUFxfzz3/+kw4dOtCqVStuv/12rFYrhw8fZt26dSxdupSXXnoJgFdeeQWHw4HNZiM7O5t3332XwMBA5syZw+WXX+5sJX755ZcATJ06lZycHHbs2MHhw4ex2+3MmDGj0vt//vnnbN68mcOHD1eJLSUlhblz57J06VIyMzOJi4tj1KhRlVp///rXv3j//fcpLCykW7duVbZx//33k5uby5EjR1i1ahUffPBBjZ/Fhe5fXd6/oKCArVu3cujQIdasWcOCBQtqjeGsMWPG8Oc//5lRo0ZRWFhIYWFhlTq5ubkMHz6cW2+9ldOnT/OPf/yDu+++mw0bNjjrrFy5kssuu4zs7Gyee+457rrrLgoKCs77/kJIohON3mOPPUZwcDCdO3dm7969fP7552RkZLBq1SrmzJlDQEAAHTp04PHHH+df//oXAFarlezsbA4cOIDZbCYxMZGQkJBqt3/69Gn++9//8sYbbxAcHEzz5s155pln+Pjjjyt18T311FMEBwfj7+9fZRspKSncf//9xMfH06xZM55//nlsNhubNm1y1rn33nvp1q0bZrMZHx+fSq/XdZ2PP/6Y5557juDgYNq3b89DDz1U42dyIftXl/cHMAyDF198EX9/f7p3786MGTNISUmpdZt1tWLFCtq0acPMmTOxWq1cccUV3H777bz//vvOOr179+a2227DbDYzadIkysvL2b9/f728v/BuFncHIMTv9cILL1S5sGLjxo00a9aMsLAw57rOnTtjs9kAeOihhygtLWX8+PHk5eVxyy238Le//Q0/P78q2z9y5AiGYdC5c+dK600mEydOnHAuR0VF1RijzWajY8eOzmVfX1/at2/vjOd8r8/KyqK8vJwOHTo41537/LcuZP/q8v5Q0TXctm3bSu+fkZFR62vq6refD1R8X+d2z577XWqahp+fn7ToRJ1Ii054pYiICEpLSzl58qRz3eHDh4mIiAAqLv1/8cUX2bdvHz/++CPfffed81J6k6nyYREZGYnJZCIzM5Pc3Fzno7S01Hk+rrrX/TaeI0eOOJfLy8vJzMx0xnO+17du3Rqr1crRo0ed69LT02usfyH7V5f3BygtLeXUqVOV3v/s/gcEBFBcXOwsKy4uJj8/v87b/u3nA5W/LyF+D0l0wiuFh4dz1VVX8ac//YmioiLS09N5/vnnueOOOwBYvnw5+/fvxzAMgoKCsFqtWCwVHRyhoaEcOnTIua2wsDDGjBnDjBkzyMrKAuDEiRN8+umndY5n4sSJvPHGG6SlpVFWVsYTTzxBeHg4/fr1q9PrzWYz48eP58knnyQ3N5fMzExefvnlGutfyP7Vlclk4rHHHqOkpIR9+/Yxb948JkyYAFR0K/7444/s3buX0tJSHnvssUr3+IWGhnL06NEar+YcOXIkp06d4s0338ThcLBu3To+/PBDJk+efMFxCvFbkuiE1/rwww8pKSmhQ4cOXHbZZVx33XU8/PDDABw8eJDhw4cTGBhIbGwsl156Kffeey8ADzzwAN9++y3BwcGMGjUKqLhQIzg4mL59+xIUFMTll1/Oli1b6hzL5MmTmTlzJqNGjSIsLIzt27ezbNkyZ/Kpi9dff915vnHIkCFMmjSpxroXun91ERgYSGJiIp07d2bw4MFMnjzZ+cNhyJAh/OEPf2DgwIFER0cTHx9PYGCg87U333wzQUFBtG7dutobz1u2bMmXX37JwoULadWqFdOmTeMf//gHgwYNqnN8QtREbhgXQgjh1aRFJ4QQwqtJohNCCOHVJNEJIYTwapLohBBCeDVJdEIIIbyaJDohhBBeTRKdEEIIryaJTgghhFfzykGd5R74X507DJMQQjRFXpXoDMPg2LFjlQaXber8/f2dgxILIURT5FVDgJ08eZKysjLCw8PlP3YqEn9GRga+vr6Ehoa6OxwhhHALl2aDmTNnEhERUevAtatXryY2Npbo6GimTp1aacblC5WXl0doaChmsxlN05r8w2w2ExoaSl5e3kV/pkII0di5NNHdcssttY7wrus6ycnJLF68mIMHD1JYWHjRMxYrpdB1HavVerHheiWr1Yqu63LeUgjRZLn0HN35pthITU0lIiKCuLg4AJKTk3njjTe48847L/o95eKLyuTzEEJURykFhg4oOPeHsPP52fXqnPUX8YP5on5jX/iLtGaBNZa59WIUm81GZGSkczkqKgqbzebGiOqHpmmMHDmSFStWONeNGDGCb775xtk1W1RUxGOPPcayZcsICAjAarUya9YsJk6cyJQpU1i4cCE2m42wsDAAPv74Y2699VZSUlKYOHGic93zzz9PWVkZJpOJwYMHM3fuXPz9/Rt+p4UQNTqTX0zemTNEBlvQHKUU5J7h9KlswoOt+JihpLiEjFO5hLXwpbmvicKCQnbutxHdvgVtgnyx2+38sOMoHUODiGrTHAydFT/sIyzYjz6XtEUZDtAdoNsrHsqoeBgV/6qzy8qoSFjKcPdHUu98J79dY5nbr7o8t8VRW/favHnzmDdvnnN5+vTp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92TPPPPMRb0uNzeX1157rdK6s+MP1pfJkyeTmpp6Ua+dMmWK83s+9/n53m/dunV1fo+nn36a5557rsr6UaNGcejQoboHK7yCJDrhMebPn88TTzxBTk4OAPfccw+vvPIKLVu2/N3b9rZEp+t6jWXVJbrNmzfXW1wHDx7k2LFj9O3bt962WRvDMNi4cSMDBw783duaOXMmf/3rX+shKtGYSKITHqNLly7cd999zJ49m/fee885XFD//v3p1asXN910E3l5eQA8//zz9O3bl8TEREaNGkV2djYAGzZsoE+fPiQmJtKjRw82btzIyy+/TGZmJtdeey2JiYmUl5dXet+SkhLuueceevToQUJCAi+++CIAu3fv5vLLL6dnz54MHjyYffv2AfCvf/2LG264gdGjR9O1a1cmT57s3NaRI0cYMWIEPXv2JCEhge+++w6omItr0KBB9OnTh6uvvppjx44BFS2amTNnMnjwYDp16sS8efMAePDBB9F1ncTEROeguB07duTZZ5/liiuuYO7cuXz55ZcMGDCA3r17079/f7Zu3ep87bFjx0hMTHTGdu6chp9++ikJCQnEx8dz++23U1BQUGssv/XBBx9UmkvsQve5Jm+99ZbzO+jduzelpaUAbNq0iT59+mA2m5kyZQr33nsvw4YNo0OHDnz00Uc899xz9OrVi759+3LixIla32PYsGGsXLnSuW3RRDTYrelC1IHD4VB9+vRR4eHhas2aNWrYsGGqtLRUKaXU3/72N/Xwww8rpZTKyspyvmbOnDnq0UcfVUopNXr0aLV27VqllFJ2u10VFBQopWqea00ppf785z+ru+66S+m6XmnbvXr1cs6l9cknn6j+/fsrpZR67733VHh4uMrKylJ2u10lJCSo9evXK6WUGjhwoPrggw+UUhWjdJw5c0ZlZ2erAQMGOOfy+uijj9T48eOVUkrdcccd6rrrrlMOh0PZbDbVokULVV5erpRSVeYh7NChg3riiSecyzk5Oc6Yt2zZogYMGKCUUurw4cOqS5culV57dlsnTpxQYWFh6ujRo0oppWbMmKEeeeSR88ZyriuvvFL99NNPzuWL2eeUlJQqz9u3b+8cjSU3N9e5b0888YRauHChs/7111+vdF1X27dvV/7+/mrRokVKqYqRQ87Oj/bUU0+pZ599tkrsSik1ZMgQ5/clmoaap94Wwg3MZjP33XefcwT9Xbt20b9/fwDsdjvx8fEA/PDDD7zwwgsUFBRQUlJC9+7dARg8eDCzZ8/m1ltv5brrrqNbt27nfc+VK1fy3nvvOcdGbNWqFfn5+Rw7dozRo0cDcNNNN3H33Xc75+C66qqraNWqFQC9evXi8OHD9OzZk3379jFp0iQATCYTwcHBLF++nP3793PFFVcAFV1xgYGBzve/8cYbMZvNhIeH07JlS06ePFnjgL0TJkxwPj9x4gQTJ07k6NGjWCwWDh48eN593bhxI4MGDSIqKgqomPNs2rRpFxRLZmYmbdu2BaCgoOCi9rk6ffr0YeLEiYwaNYpRo0Y5v4+vvvqq0uDAN9xwAyaTifj4eEpLS52ziCcmJtZpjrawsDAyMzPPW094D0l0wuOYTCZMJhNKKW655Rb+/ve/VyovKytjypQpbNq0iS5durBs2TJeffVVAGbPns2oUaNYuXIlN9xwA3/5y1+45ZZban0/Vc0oeOdb5+vr63xuNpudc7fVtP3LL7+cpUuXVlt+IdsKCAhwPr/vvvuYNm0at912GwUFBXU6l1ndfp07/UtdYvHz86OsrOy871PbPldn6dKl/PTTT3z11Vf07t2b77//nmbNmuHn50dISEiVGDVNQ9M057LJZKr1szurpKQEPz+/OsclGj85Ryc81rBhw/j000+dE0wWFxezd+9eSktLMQyDtm3bous67777rvM1Bw4coFu3btx///1MnjzZeRFGUFCQ81zUbw0fPpzXXnsNwzCAigkjW7RoQWRkJJ999hlQMVJ7t27dKk3k+VuBgYF069aNlJQUoKIVk5uby6WXXsqmTZvYtWsXUDE7wM6dO8+7//7+/tXO4nxWfn6+s7U1f/585/ra9rV///6sX7/eOeXLu+++y1VXXXXeWM4VFxfHgQMHgPrbZ4fDwZEjRxg4cCDPPPMMsbGx7Nmzhy+++IKRI0deUHzns2/fvmpH3RfeSxKd8FgxMTHMnTuX0aNHk5CQwIABA9i9ezctWrRg1qxZJCQkMHToUGe3JVRcXRkXF0evXr349ttvuf/++4GK1s/YsWNJSkqqcjHK448/jslkokePHiQmJrJgwQKgYrqXV155hZ49e/Lqq6/y/vvvnzfmhQsXsnDhQuLj4+nduzdbt26ldevWLFq0iLvuuouEhAQSEhJYu3btebf1xz/+kX79+jF8+PBqy5999lnuvPNOBg0ahN1ud64PCQlhxIgRJCQkcOedd1Z6TVhYGPPmzWPUqFHEx8eTnZ3N448/ft5YzjV69Gi+/fbbet1nXde544476NmzJ/Hx8YSHh3PNNdewYsUKrrvuuguK76yXX36ZiIgI5yMtLY3MzEwsFgsdO3a8qG2KxklmLxBCXJDy8nIGDhzI2rVra23h1sf79OrVi927d9fbNv/6178SFhZGcnJyvW1TeD5p0QkhLoiPjw9z5szhyJEjLn+f+kxyAG3atGHKlCn1uk3h+aRFJ4QQwqtJi04IIYRXk0QnhBDCq0miE0II4dUk0QkhhPBqkuiEEEJ4NUl0QgghvNr/B6wwGB+/RPx7AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cdf_pymc.plot(label='MCMC', ls=':')\n", "#cdf_abc.plot(label='ABC')\n", "posterior_pmf.make_cdf().plot(label='ABC2')\n", "\n", "decorate(xlabel='Yeast concentration (cells/mL)',\n", " ylabel='CDF',\n", " title='Posterior distribution',\n", " xlim=(1.4, 3.4))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The distributions are similar, but the results from MCMC are a little noisier.\n", "In this example, ABC is more efficient than MCMC, requiring less computation to generate a better estimate of the posterior distribution.\n", "But that's unusual; usually ABC requires a lot of computation.\n", "For that reason, it is generally a method of last resort." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Summary\n", "\n", "In this chapter we saw two examples of Approximate Bayesian Computation (ABC), based on simulations of tumor growth and cell counting.\n", "\n", "The definitive elements of ABC are:\n", "\n", "1. A prior distribution of parameters.\n", "\n", "2. A simulation of the system that generates the data.\n", "\n", "3. A criterion for when we should accept that the output of the simulation matches the data.\n", "\n", "ABC is particularly useful when the system is too complex to model with tools like PyMC.\n", "For example, it might involve a physical simulation based on differential equations.\n", "In that case, each simulation might require substantial computation, and many simulations might be needed to estimate the posterior distribution.\n", "\n", "Next, you'll have a chance to practice with one more example." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercises" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise:** This exercise is based on [a blog post by Rasmus Bååth](http://www.sumsar.net/blog/2014/10/tiny-data-and-the-socks-of-karl-broman), which is motivated by a tweet from Karl Broman, who wrote:\n", "\n", "> That the first 11 socks in the laundry are distinct suggests that there are a lot of socks.\n", "\n", "Suppose you pull 11 socks out of the laundry and find that no two of them make a matched pair. Estimate the number of socks in the laundry.\n", "\n", "To solve this problem, we'll use the model Bååth suggests, which is based on these assumptions:\n", "\n", "* The laundry contains some number of pairs of socks, `n_pairs`, plus some number of odd (unpaired) socks, `n_odds`.\n", "\n", "* The pairs of socks are different from each other and different from the unpaired socks; in other words, the number of socks of each type is either 1 or 2, never more.\n", "\n", "We'll use the prior distributions Bååth suggests, which are:\n", "\n", "* The number of socks follows a negative binomial distribution with mean 30 and standard deviation 15.\n", "\n", "* The proportion of socks that are paired follows a beta distribution with parameters `alpha=15` and `beta=2`.\n", "\n", "In the notebook for this chapter, I'll define these priors. Then you can simulate the sampling process and use ABC to estimate the posterior distributions." ] }, { "cell_type": "markdown", "metadata": { "tags": [ "remove-cell" ] }, "source": [ "To get you started, I'll define the priors." ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:42:08.108208Z", "iopub.status.busy": "2021-04-16T19:42:08.107675Z", "iopub.status.idle": "2021-04-16T19:42:08.110553Z", "shell.execute_reply": "2021-04-16T19:42:08.110183Z" }, "tags": [ "remove-cell" ] }, "outputs": [ { "data": { "text/plain": [ "(np.float64(30.0), np.float64(14.999996250001402))" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from scipy.stats import nbinom, beta\n", "\n", "mu = 30\n", "p = 0.8666666\n", "r = mu * (1-p) / p\n", "\n", "prior_n_socks = nbinom(r, 1-p)\n", "prior_n_socks.mean(), prior_n_socks.std()" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:42:08.115392Z", "iopub.status.busy": "2021-04-16T19:42:08.114843Z", "iopub.status.idle": "2021-04-16T19:42:08.117801Z", "shell.execute_reply": "2021-04-16T19:42:08.117430Z" }, "tags": [ "remove-cell" ] }, "outputs": [ { "data": { "text/plain": [ "np.float64(0.8823529411764706)" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "prior_prop_pair = beta(15, 2)\n", "prior_prop_pair.mean()" ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:42:08.140833Z", "iopub.status.busy": "2021-04-16T19:42:08.134898Z", "iopub.status.idle": "2021-04-16T19:42:08.255343Z", "shell.execute_reply": "2021-04-16T19:42:08.255871Z" }, "tags": [ "remove-cell" ] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAboAAAEkCAYAAABZm/S2AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAALiQAAC4kBN8nLrQAAJQxJREFUeJzt3X901fV9x/HXTULMIRIqzBrw3gA2iZqfFxtNGyGoVDsNykyDdGgiyWXaNd2m7QjqnEqPxEzKzrZjbBkzJWSVdFoEYahZS6gGhZGyFGasyComl5R0QA8QsoTk8t0fnFwTSG7uTfLNzf3e5+Oce8798fl+/X4+im/en582wzAMAQBgURHBfgAAAMxEoAMAWBqBDgBgaQQ6AIClEegAAJZGoAMAWBqBDgBgaQQ6AIClEegAAJZmaqCrr69XSkqKEhMTVVJSot7eXr/LfPDBB3I6nXI6nUpLS9PLL7/svaa1tVXz589XcnKyFixYoLa2NjOrAQAIYTaztgDzeDxKSkrS9u3blZqaqgceeEB33323iouL/SrT2dmp6OhoRUVFqaOjQ6mpqfrlL3+p2bNna9myZbrtttv0yCOP6OWXX9a+fftUXV1tRjUAYMILp50cbTZb4NeYFej27t2rsrIyvfvuu5Kkd955Ry+99JK2b98eUBlJ+t///V/NnTtX7733nmbPnq2rrrpKx48fV0xMjM6dOye73a4//OEPZlQDACasnp4etba2qru7O9iPMm6uuOIKORwOTZo0ye9rosx6GLfbLYfD4f2ckJAgt9sdUJmmpiYVFhbqyJEjeuGFFzRnzhydOHFCsbGxiomJkSTFxsYqOjpap0+f1tSpU82qDgBMOK2trZoyZYpmz549okwn1BiGoZMnT6q1tVXXXXed39eZOkbXv+GHShx9lXE6nTp06JA+/fRTvf766/r4448vu8bXvSsrK5WSkuJ9VVZWjqgeADDRGIah7u5uTZ8+XREREbLZbJZ/RUREaPr06eru7g6ou9a0jM7hcKilpcX72e12y263B1xGkuLj4zV//nxt375d3/ve99TR0aGuri7FxMSos7NTPT09g2ZzpaWlKi0tHcNaAcDEEg6ZXH8jqa9pGV1WVpaOHTum5uZmSVJVVZXy8/P9LvM///M/6unpkSSdPXtWdXV1SktLk81mU15enmpqaiRJ1dXVuu+++8yqBgAgxJmW0UVGRmrDhg0qKCjQ+fPnlZubq8LCQjU2NuqZZ57Rzp07hywjSbt379bf//3fKyoqSoZhqKioSH/8x38sSaqoqNCyZcu0du1axcfHa/PmzWZVAyba8f4najjUOuC7eekOLcpJCtITATBbVlaWGhsbx/WfadqsS2Aw/YPbJ+5TkqQk+7RBP0sEPmAohmHoN7/5jW644YaQ6L70eDyKjIwc9XUjqbdpGR0wmIZDrWppP6OEa+KUZJ82IJBdmuG1tJ9Rg1oJdMAEFxUVpSeffFLbtm1TVFSUqqurlZ6ero0bN+rNN9+UzWbTRx99pA8//FCTJk3ybgzyxhtv6LnnntOFCxeUnp6u9evXa8qUKVq+fLmuuuoqHTx4UFdffbVqa2tH93xjUUlgKIMFr4Rr4lTx6B2XlV2UkzQgqD2xfpda2s/oifW7vN+R4QGDq3yjUa2/PzPm93V8MU6l92f5LOPxeHTttdfq4MGD2rFjh4qLi73dk++9954OHTqk+Pj4Ade0t7fr29/+tvbt26eEhAT9xV/8hdasWaOKigpJ0sGDB/X2228HtF5uKOx1CVP1ZXB9Eq6J07x0h48rPjcv3aGEa+K8n1vaz1w2pgdgYuibX7Fo0SL99re/1blz5yRJCxcuvCzISdK+ffs0b948JSQkSJJcLpd27fr8L7VLliwZkyAnkdFhHAyVwQ2HDA/w33BZV7BceeWVg34/2PSQ/mNuQ103EmR0GFM73v9ET6zf5X31z+ZGiwwPmLj6lnzt2LFD1113nWJjY32Wz87OVkNDg3ct9SuvvKLbb7/dlGcjo8OY6j/ZRAqsq3I4g2V4AIIvMjJSp06d0i233KLe3l5t3Lhx2Gvi4+NVWVmpRYsWyTAMpaenq7y83JTnY3kBxlRf8BlJV+VE/mcBE81EWl4QFRU16DFsZmB5AcIOY3YAhsMYHUIWY3bAxDBe2dxIkdFhVIZaJzceGLMDLnblBbvrcjyNZLSNjA6jMpp1cgBGzmazKTIy0rv5fbjo6elRZGRkQMGdjA6jNtJ1cgBGZ+rUqWpvb9e1116riAjr5y0XLlxQe3t7wIdsE+hgKUxOQTi5+uqr1draqsOHDwf7UcbN5MmTdfXVVwd0DYEOljEv3aEGsSk0wkdERIRmzZo1onGrUDWS8UgCHSyDySkIV+E0GWUkrN+pCwAIa2R0CEgwlxMAwEgQ6BAQM/eyNEP/ySlMTAHCE4EOAQuV5QT9J6cwMQUIXwQ6WFb/ySlMTAHCF5NRAACWRqADAFgagQ4AYGmM0SFssD0YEJ4IdPDJKuvm2B4MCF8EOvgUauvmhsL2YED4ItBhWKGybg4ABsNkFACApRHoAACWRqADAFiaqYGuvr5eKSkpSkxMVElJiXp7e/0u85Of/ESZmZnKyMjQzTffrN27d3uvWb58uWbNmiWn0ymn06lNmzaZWQ1YVN9yg77Xjvc/CfYjATCBaYHO4/HI5XLptdde05EjR9TR0aGamhq/y8yZM0f19fU6ePCgNm7cqG9+85u6cOGC99o1a9aoqalJTU1NKioqMqsasKh56Y4ByyRa2s8MWEYBwDpMC3T79++X3W5XamqqJMnlcmnLli1+l8nJydG0adMkSSkpKerq6lJHR4dZj4swsygnSRWP3uF9heLaQAD+MS3Qud1uORyfr7dKSEiQ2+0OuIwkvfrqq0pNTVVc3Of/M1q9erUyMjJUWFio48ePD/oMlZWVSklJ8b4qKytHWy0AQIgxdR2dzWbzvjcMY0RlDhw4oKefflp1dXXe78rLyzVjxgwZhqHy8nIVFxfrrbfeuuza0tJSlZaWjqYKYan/biihuhMKAPQxLaNzOBxqaWnxfna73bLb7QGVOXz4sJYsWaLa2lolJX2+q8XMmTNls9kUERGhxx57THv37jWrGmGpbzcUKXR3QgGAPqZldFlZWTp27Jiam5uVkpKiqqoq5efn+13G7XYrLy9PP/rRj5SdnT3gura2Ns2cOVOSVFtbq4yMDLOqEbbCcTcUNn0GrMm0jC4yMlIbNmxQQUGBEhMTNXnyZBUWFqqxsVH33HOPzzLSxTG43//+91q5cqV3GcHRo0clSUVFRUpPT1dmZqZ+9rOfqaqqyqxqIEwwCxOwLpsx1OAZwlZfVhNuGV1/tAFgHeyMAgCwNAIdAMDSCHQAAEsj0AEALI1ABwCwNE4YB4bAujrAGgh0GLDll8S2X9LFoNaggW3SoFYCHRCCCHTwbvnVF9zY9uvi6Qb9g1r/zA5AaCHQQVJ4bvkFIDwwGQUAYGkEOgCApRHoAACWxhgd4CeWGwChiYwO8APH+AChi4wO8APLDYDQRUYHALA0Ah0AwNIIdAAAS2OMLgyxtyWAcEKgC0PsbTk2+i83YKkBMHER6MIUe1uOTv/TDTjZAJjYCHTACPRfbsBSA2BiYzIKAMDSCHQAAEsj0AEALI1ABwCwNAIdAMDSmHUJjAGO8AEmLjI6YJQ4wgeY2EwNdPX19UpJSVFiYqJKSkrU29vrd5mf/OQnyszMVEZGhm6++Wbt3r3be01ra6vmz5+v5ORkLViwQG1tbWZWA/BpUU6SKh69w/tiOzVgYjEt0Hk8HrlcLr322ms6cuSIOjo6VFNT43eZOXPmqL6+XgcPHtTGjRv1zW9+UxcuXJAkrVq1SoWFhTp8+LCWLl2qJ5980qxqAABCnGmBbv/+/bLb7UpNTZUkuVwubdmyxe8yOTk5mjZtmiQpJSVFXV1d6ujokGEY2rlzp4qKiiRJDz/8sN58802zqgEACHGmTUZxu91yOD7fKDghIUFutzvgMpL06quvKjU1VXFxcTpx4oRiY2MVExMjSYqNjVV0dLROnz6tqVOnDriusrJSlZWV3s+lpaUqLS0dk/qFEk4rABDOTJ11abPZvO8NwxhRmQMHDujpp59WXV3doNf4une4BrZLcVoBgHBmWqBzOBxqaWnxfna73bLb7QGVOXz4sJYsWaLa2lolJV2cqj19+nR1dHSoq6tLMTEx6uzsVE9Pz2XZHAbitAIA4cq0MbqsrCwdO3ZMzc3NkqSqqirl5+f7XcbtdisvL08/+tGPlJ2d7b3GZrMpLy/PO2mlurpa9913n1nVAEakb11d32vH+58E+5GAsGVaoIuMjNSGDRtUUFCgxMRETZ48WYWFhWpsbNQ999zjs4wkrV69Wr///e+1cuVKOZ1OOZ1OHT16VJJUUVGhTZs2KTk5WZs3b1Z5eblZ1QACxro6YGKxGUMNcMEy+nbsoOsyOGh/ILjYGQUAYGkEOgCApRHoAACWRqADAFgax/QA44BjfIDgIaMDTMZyAyC4yOgAky3KSRqQvfXP7ACYj4wOAGBpBDoAgKXRdWlBHMsDAJ8jo7OgvmN5+nAsD4BwRkZnURzLAwAXEeiAIGBdHTB+6LoExhnr6oDxRUYHjDPW1QHji4wOAGBpBDoAgKUR6AAAlkagAwBYGpNRgAmA5QaAecjogCBjuQFgLjI6IMhYbgCYi4wOAGBpBDoAgKXRdWkBHMsDAEMjo7MAjuUBgKH5zOhefPFFlZWVSZIOHDigm266aVweCoHjWB5r6b/cgKUGwOj4zOhqa2u971esWGH6wwAYuNyApQbA6PnM6AzDGPQ9APP0X27AUgNg9HxmdOfOndMHH3ygPXv2qLOzUx988IHef/9972s49fX1SklJUWJiokpKStTb2+t3maNHjyo3N1exsbGXZZPLly/XrFmz5HQ65XQ6tWnTpkDqDAAIIz4zupkzZ+qpp5667L0k2Ww27do19N82PR6PXC6Xtm/frtTUVD3wwAOqqalRcXGxX2Xi4uJUUVGhgwcPqrGx8bL7r1mzRg899FDAFQYAhBefgW737t0jvvH+/ftlt9uVmpoqSXK5XHrppZcGBDpfZaZNm6acnBwdPnx4xM8AAIDPQDdc92ROTs6Qv7ndbjkcn09xT0hIkNvtDrjMUFavXq0XX3xRmZmZWrt2reLj4y8rU1lZqcrKSu/n0tJSlZaW+nV/AIA1+Ax08+bNU1pamv7oj/7osskow3Vd9pXpM9RkFn/KXKq8vFwzZsyQYRgqLy9XcXGx3nrrrcvKEdhgBZxsAIyOz0D3wgsv6N/+7d8UFxenwsJC3XvvvYqOjvbrxg6HQy0tLd7Pbrdbdrs94DKDmTlzpqSLQfKxxx7TunXr/HomINTMS3eoQQN3vWlQK4EOCIDPWZerVq3Sr371Kz377LPas2ePMjMz9a1vfcuvcbOsrCwdO3ZMzc3NkqSqqirl5+cHXGYwbW1t3ve1tbXKyMgY9hogFC3KSVLFo3d4X2ztBgTOr70u586dqy996UtKTk7W008/rVtuuUXJyck+r4mMjNSGDRtUUFCg8+fPKzc3V4WFhWpsbNQzzzyjnTt3DllGkjo7O5WcnKzOzk51d3fr7bffVnV1tRYuXKiioiK1t7crIiJCM2fOVFVV1ehbAgBgSTbDx8BYb2+v/v3f/101NTU6cuSIlixZogcffFCzZ88ex0fEcPrGb9gCzPr4dw0EzmdGFx8fr1mzZqmwsFCPP/64bDab2travF2HvmZdAgAwEfgMdGlpabLZbNq2bZu2bds24Dd/Zl0CABBspi0Yh7n6n0HH+XPhheUGQGB8zrr89NNPlZ+fr/T0dD344IP63e9+N17PhWH0P4OO8+fCR/+TDSRONwD84XMyyu23367s7GzddtttevPNN3Xq1KkBR/cgeJiUAIn/DgB/+Oy6PHHihCoqKiRJX//61zV37txxeSgAAMaKz67LSZMmed/bbDZFRPgsDgDAhOMzo2tqahqw5Vdvb6+io6NlGIZsNpvOnz9v+gMCADAaPgPdhQsXxus5AAAwhV9bgAGYuFhuAPjGoBsQwlhuAAyPjA4IYYtykgZkb/0zOwAXkdEBACyNQAcAsDQCHQDA0hijAyyGWZjAQGR0gIUwCxO4HBkdYCHMwgQuR6ALEf3Pn5M4gw4A/EXXZYjof/6cxBl0AOAvMroQknBNHOeOAUCACHSAxTELE+GOrkvAwpiFCZDRAZbGLEyAjA4AYHEEOgCApRHoAACWxhgdEGaYhYlwQ0YHhBFmYSIcmRro6uvrlZKSosTERJWUlKi3t9fvMkePHlVubq5iY2O1YsWKAde0trZq/vz5Sk5O1oIFC9TW1mZmNQDLWJSTpIpH7/C+2EYO4cC0QOfxeORyufTaa6/pyJEj6ujoUE1Njd9l4uLiVFFRoXXr1l1271WrVqmwsFCHDx/W0qVL9eSTT5pVDQBAiDMt0O3fv192u12pqamSJJfLpS1btvhdZtq0acrJyVFMTMyAawzD0M6dO1VUVCRJevjhh/Xmm2+aVQ0AQIgzLdC53W45HJ9vOpyQkCC32x1wmUudPHlSsbGx3gAYGxur6OhonT59+rKylZWVSklJ8b4qKytHUyXAkvompzyxfpd2vP9JsB8HGHOmzrq02Wze94ZhjLiMr2t8XVdaWqrS0lK/7gmEo3npDjXo4mSUlvYzalArMzBhOaYFOofDoZaWFu9nt9stu90ecJlLTZ8+XR0dHerq6lJMTIw6OzvV09OjqVOnjm0Fgozz5zAe+m8RxvZgsCrTui6zsrJ07NgxNTc3S5KqqqqUn58fcJlL2Ww25eXleSetVFdX67777jOhBsHF+XMAMDZMy+giIyO1YcMGFRQU6Pz588rNzVVhYaEaGxv1zDPPaOfOnUOWkaTOzk4lJyers7NT3d3devvtt1VdXa2FCxeqoqJCy5Yt09q1axUfH6/NmzebVY2g4vw5ABg9m+HvwBjGVV83EoEO4+WJ9bsu6yJn1xRYATujAJDErimwLva6BCCJs+tgXWR0AABLI9ABACyNrksAQ+JIH1gBGR2AQTE5BVZBRgdgUExOgVWQ0QEALI1ABwCwNLouAfiNySkIRWR0APzC5BSEKjK6CYJjeTDRMTkFoYqMboLgWB4AMAcZ3QTCsTwAMPYIdABGjMkpCAV0XQIYESanIFSQ0QEYESanIFSQ0QEALI2MDsCYYcwOExEZHYAxwZgdJioyOgBjgjE7TFRkdAAASyOjA2Ca/mN2jNchWMjoAJii/5gd43UIJjI6AKboP2bHeB2CiUAXJJxWgHDD0gMEC12XQcJpBQgnLD1AMJHRBRGnFSBcsPQAwURGBwCwNFMDXX19vVJSUpSYmKiSkhL19vYGVKasrEyJiYlKTk7W66+/7v1++fLlmjVrlpxOp5xOpzZt2mRmNQCYoG/Mru+14/1Pgv1IsCjTAp3H45HL5dJrr72mI0eOqKOjQzU1NX6Xqaur0969e/Wb3/xG9fX1evzxx3X27FnvtWvWrFFTU5OamppUVFRkVjUAmIAxO4wn0wLd/v37ZbfblZqaKklyuVzasmWL32W2bNmi5cuXKyoqStdee63mzZunuro6sx4XwDhalJOkikfv8L6YcQwzmRbo3G63HI7PZxEmJCTI7Xb7XWa461evXq2MjAwVFhbq+PHjgz5DZWWlUlJSvK/KysoxqRuAsUdXJsxi6hidzWbzvjcMI+AyQ/1WXl6uw4cPq6mpSddff72Ki4sHvXdpaamam5u9r9LS0hHVA4C56MqEmUxbXuBwONTS0uL97Ha7Zbfb/S4z2G/Z2dmSpJkzZ0q6GAgfe+wxrVu3zqxqABgHLD+AmUzL6LKysnTs2DE1NzdLkqqqqpSfn+93mfz8fFVXV8vj8aitrU0NDQ266667JEltbW3ee9TW1iojI8OsagAIEroyMVZMC3SRkZHasGGDCgoKlJiYqMmTJ6uwsFCNjY265557fJaRpDvvvFPZ2dm6/vrrtWDBAq1bt05TpkyRJBUVFSk9PV2ZmZn62c9+pqqqKrOqASAI6MrEWLIZQw2ewVR9XTPsjAIMjz8vGA22ABsnbOIMjA6bQmOk2AJsnLCJMzBydGViNOi6HCd0vQBj54n1uwb0ipDdwRcyOgAhh9PLEQjG6ACEHE4vRyAIdABCHhNV4AtdlwBCGhNVMBwyOgAhbbDtw8jw0B8ZHQBLIcPDpcjoAFgKGR4uRaAzCTuhABPDvHSHGjTwz2KDWgl0YYQF4ya5dEGrxN8igYmAP5vhh4zORAnXxLETCjDBkOGFHwIdgLDCGF74IdABCGuXZnifuE/pE/epAWPsBL7QRqADENYuzfAGm0hG12ZoI9ABQD/DdW2S3YUeAh0A+NC/a5NuzdBEoAMAH/pneJd2axL4QgOBbgz1/0PAAnHAehjPC00sGB9DnHoMhDcWo09MZHRjjEXiQPhiqcLERKADgDEyXNcmgS84CHQAYJKRBL7+CIJjg0AHAONkuMDXH9nf2GEyyigMdRQPY3QARmuw7E+SkuzThryGQDg4At0oMMMKwHjxlf1JwwfCcP5/E4FuFPq2BCKDAxBsw3WDSuGbDTJGBwAWcOn4X3/+ZIO+JsUMJpQCo6kZXX19vUpLS3X+/Hnl5ubqn//5nxUVFeV3mbKyMm3ZskUREREqLy9XQUGBJKm1tVXLli1Te3u7ZsyYoc2bN2vmzJlmVcOLMTkAVjRcILyUPxlif8EOiqYFOo/Ho6SkJG3fvl2pqal64IEHdPfdd6u4uNivMnV1dXr++ee1a9cutbe36ytf+Yqam5s1ZcoULVu2TLfddpseeeQRvfzyy9q3b5+qq6vNqMYAjMkBQGCB0Z+g6PhinErvzxqTZxuMaYFu7969Kisr07vvvitJeuedd/TSSy9p+/btfpX51re+pVtuuUUlJSWSpD/90z9VQUGB8vPzddVVV+n48eOKiYnRuXPnZLfb9Yc//MGMagzAmBwABMafoGh2oDNtjM7tdsvhcHg/JyQkyO12+13G7XbrG9/4xmW/nTx5UrGxsYqJiZEkxcbGKjo6WqdPn9bUqVPNqo6ki/8yAAD+8zV2OF4izLy5zWbzvh8qcfRVZqjf+n/v696VlZVKSUnxviorK/1/+EGU3p9l6t86AABjz7SMzuFwqKWlxfvZ7XbLbrf7XWaw37KzszV9+nR1dHSoq6tLMTEx6uzsVE9Pz6DZXGlpqUpLS8e6agCAEGJaRpeVlaVjx46publZklRVVaX8/Hy/y+Tn56u6uloej0dtbW1qaGjQXXfdJZvNpry8PNXU1EiSqqurdd9995lVDQBAiDMt0EVGRmrDhg0qKChQYmKiJk+erMLCQjU2Nuqee+7xWUaS7rzzTmVnZ+v666/XggULtG7dOk2ZMkWSVFFRoU2bNik5OVmbN29WeXm5WdUAAIQ4dkYBAFiaqZNRAAAINgIdAMDSCHQAAEsj0AEALI1ABwCwNAJdgEa7u0o4os0CR5sFhvYKXDi1GcsLApSSkuJd4A7/0GaBo80CQ3sFLpzajIwOAGBpBDoAgKUR6ALEJtGBo80CR5sFhvYKXDi1GWN0AABLI6MDAFgagQ4AYGkEOj/V19crJSVFiYmJKikpUW9vb7AfacJpbW3VwoULdeONNyotLU1PP/2097eysjIlJiYqOTlZr7/+ehCfcuL69re/raioz89Cps2G1tHRoaKiIiUnJ+uGG27Q+vXrJdFmQ3n77bfldDrldDqVk5Ojjz76SFIYtZeBYfX29hpz5swx/vu//9swDMNYsmSJUVVVFeSnmnja2tqM/fv3G4ZhGN3d3UZubq6xbds245133jHmz59v9PT0GG6327Db7caZM2eC/LQTy7vvvmsUFRUZkZGRhmEYtNkw/uzP/sz4u7/7O8MwDOPChQtGe3s7beaDw+EwmpubDcMwjPXr1xsFBQVh1V5kdH7Yv3+/7Ha7UlNTJUkul0tbtmwJ8lNNPDNmzFBWVpYkKTo6WhkZGfrss8+0ZcsWLV++XFFRUbr22ms1b9481dXVBflpJ47u7m498cQT+sEPfuD9jjYb2tmzZ7Vjxw5997vflSTZbDZ98YtfpM18sNlsOnPmjCTp9OnTmjFjRli1F4HOD263Ww6Hw/s5ISFBbrc7iE808Z08eVJbt27V1772NdpvGN///vflcrl09dVXe7+jzYb229/+Vtdcc42+853v6KabbtLixYt19OhR2syHmpoa5eXlyeFw6JVXXtGzzz4bVu1FoPOTzWbzvjdYkeFTd3e3CgoK9N3vflc33nijJNpvKAcPHtS+fftUXFx82W+02eB6enrU1NSkxYsX68CBA7r33ntVUlIiiTYbjMfj0QsvvKD6+nq1traqrKxMRUVFksKnvQh0fnA4HGppafF+drvdstvtQXyiicvj8ejBBx9UVlaWHn/8cUm0ny979uxRc3Oz5syZo9mzZ8vj8Wj27Nm0mQ8Oh0PTpk3T3XffLUlatmyZDhw4QJsN4b/+67905swZpaenS5Ieeugh7d69O7zaK6gjhCGit7fXuO6664wPP/zQMAzDWLp0KZNRhlBSUmIUFxcbFy5c8H5XV1dn5ObmGr29vcaxY8cMh8Nh2UHv0eqbjEKb+Zabm+ud+LR161YjJyeHNhtCW1ubMX36dMPtdhuGYRjbtm0zvvzlL4dVe0UNHwoRGRmpDRs2qKCgQOfPn1dubq4KCwuD/VgTzp49e1RVVaW0tDTNnTtXklRSUqK//Mu/1H/8x3/o+uuvl81m07p16zRlypQgP+3Eduedd9JmPvzwhz+Uy+XSuXPn9IUvfEH/8i//ohtvvJE2G8SMGTO0du1a3XXXXYqKitKVV16pV155RZmZmWHTXmwBBgCwNMboAACWRqADAFgagQ4AYGkEOgCApRHoAACWRqADAmCz2bR8+XLv54aGBt12221jdv/nnntOzz///Jjdz5cTJ07oK1/5iubOnWvazvWzZ8+27LZSCB2sowMCEBERod27d+uTTz5RUlJSsB/nMh6PR5GRkX6V/cUvfqFZs2bppz/9qclPBQQXGR0QAJvNprKyMq1evfqy3zZu3KgVK1Z4P69YsUIbN26UJC1fvlx//ud/rq997WuaNWuWamtr9fzzz2vu3Lm6+eabdfz4ce91H3/8sXJzc5WcnKy//uu/9n5/8OBB3XHHHfryl7+sW2+9VYcOHZJ0MQt0uVy6++67tXDhwsueq6GhQVlZWcrIyFBeXp6OHz+uffv2aeXKlfr5z38up9Opo0ePDrhm69atysjIkNPpVGZmpj777DNJ0htvvKHMzEylp6dr2bJlOnv2rKSL2eHSpUuVnp6ujIwM/eu//uuA+3k8HpWUlOh73/ueDMPQs88+q9TUVGVkZOjOO+8M4N8AMAJB3pkFCCmRkZFGd3e3MXv2bOOjjz4y3nvvPWPBggWGYRjGj3/8Y8PlcnnLulwu48c//rFhGIbx8MMPG/fee6/h8XiMX//618bkyZONzZs3G4ZhGCtXrjSee+45wzAM49lnnzWSkpKM06dPG93d3cZXv/pVY/v27cb58+eN7Oxs7zZOe/fuNW655RbvNSkpKYNu39TV1WXY7XbjV7/6lWEYhvGDH/zAWLp06aDP219GRobR0tJiGIZhdHZ2Gv/3f/9nHD9+3IiPjzc+++wzwzAM4zvf+Y6xatUqwzAMY9myZcb3v/997/UnTpwwDMMwZs2aZRw5csS4//77vb+fOnXKSEpKMjwej/czYCYyOiBA0dHReuKJJwbN6nxZvHixIiIilJ6erq6uLt1///2SJKfTqU8//dRb7k/+5E8UFxen6OhoLV26VL/85S/18ccf68MPP1ReXp6cTqceffRR/e53v/Nec++99w66fdPHH3+s+Ph43XTTTZIunqW4a9euYZ91wYIFKi4u1g9/+EOdOHFCMTEx2rdvn+bNm6eEhITL7vXOO+/or/7qr7zXT58+3fu+oKBAt956q/72b/9WkhQXF6e4uDi5XC7V1tb63dUKjBSBDhiBkpIS/ed//qc+/PBD73dRUVG6cOGC93N3d/eAa6644gpJF7s/bTab93NERIR6e3uH/GfZbDYZhqEvfelLampq8r767zx/5ZVXDnqtMcgOf/2PZhnKP/3TP2nt2rU6c+aM5s+frz179gx7r6Hum5ubq7q6OnV1dUm6uHfsBx98oIceekiNjY3KzMzU6dOnh30mYKQIdMAITJo0SU899ZTKy8u9382ZM0e//vWv5fF4dOrUKe3evXtE9966davOnDmj8+fP66c//alyc3N1ww036OzZs/r5z38u6WIAa2pqGvZeN9xwg44fP64DBw5Ikl555RXdfvvtw153+PBhzZ07V6tWrdJdd92lpqYmZWdnq6GhwRtg+9/r61//uv7hH/7Be/2pU6e871euXKkFCxbo/vvvV3d3t86ePauTJ09q4cKFevHFFxUTE8PMTJiKQAeM0MMPP6xJkyZ5P996661KS0tTWlqaVqxY4e0uDFRubq6+8Y1vKD09XTk5OVq0aJEmTZqkrVu3as2aNcrMzFRqaqpfSwKuuOIKvfrqq3rkkUeUkZGhX/ziFwMC0lDKysqUlpYmp9Op9vZ2PfTQQ4qPj1dlZaUWLVqk9PR0nTx5Un/zN38jSfrHf/xHHTp0SGlpacrMzNRbb7014H5PPfWUvvrVryo/P1+nTp3S4sWLlZGRoYyMDC1evFipqakjaivAH5xeAACwNDI6AIClEegAAJZGoAMAWBqBDgBgaQQ6AIClEegAAJZGoAMAWBqBDgBgaf8PmQaMDxABXIEAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "qs = np.arange(90)\n", "ps = prior_n_socks.pmf(qs)\n", "pmf = Pmf(ps, qs)\n", "pmf.normalize()\n", "\n", "pmf.plot(label='prior', drawstyle='steps')\n", "\n", "decorate(xlabel='Number of socks',\n", " ylabel='PMF')" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:42:08.274344Z", "iopub.status.busy": "2021-04-16T19:42:08.259770Z", "iopub.status.idle": "2021-04-16T19:42:08.436751Z", "shell.execute_reply": "2021-04-16T19:42:08.437075Z" }, "tags": [ "remove-cell" ] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAboAAAEkCAYAAABZm/S2AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAALiQAAC4kBN8nLrQAAMVZJREFUeJzt3Xt0VOW9N/Dvs/dMLgMJdxLITMIlckkICTSIolx8sSqo7WmItqsKCrEcNbY9unrUZdX2eFat1ktbNa+tSA4arVYUbfX4Kq0EJQqYSCNIIBAhhMmNW4CEXGfv5/1jyBgkCROYvfdcvp+1sjKTeWbv396E+eW5CymlBBERUZhSrA6AiIjISEx0REQU1pjoiIgorDHRERFRWGOiIyKisMZER0REYY2JjoiIwhoTHRERhTUmOiIiCmtMdEREFNZsVgdgtkha8UwIYXUIRESWi4hEp+s6Dh8+jBMnTkDTNKvDMU10dDRcLhfsdrvVoRARWUZEwqLOBw4cgBACCQkJsNvtEVHTkVLi6NGjaG5uxoQJE6wOh4jIMmFfo5NSorW1FZMmTYKqqlaHYxohBEaMGIEjR45AShkRyZ2IqDcRMxhFUSLmUn2Y3IiIIijRERFRZGKiC2LZ2dlWh0BEEUw/Ug3PtnXQ6yogPZ1Wh3PeDE10xcXFSEtLQ2pqKlasWAGPxzOgMlu2bMHFF1+M9PR0pKeno66uzshwg0b3yNCysrLzeh8R0YWSJxrg+ecz0L76EF3//CM6/3oPuj56FvJEg9WhDZhhiU7TNOTl5WHt2rWoqqpCS0sLioqK/C7T3NyMZcuW4aWXXsLOnTvx2WefYdiwYUaFaxqbzYaHHnoI06dPx8yZM7Fjxw4AwJo1a5CTk4MlS5YgIyMDUkrYbN+MFXr77beRmZmJjIwM/PjHP0ZzczMA4NZbb8Xdd9+NhQsX4qabbrLkmogovMi2E+j65zOArsF+1T2wXZ4HJWUm9IZKeLb+xerwBsywUZelpaVwOp1IT08HAOTl5eG5557D8uXL/Srz6quv4tprr8XUqVMBAEOGDAlYbJ7PXoY8HtjaoRg6FrY5y85ZTtM0JCUlYfv27XjvvfewfPlyX81t06ZN2LFjBxITE894T2NjI+68805s3boVycnJ+OlPf4rf/OY3eOyxxwAA27dvxwcffMD5ckR0wWRXB7o+eg6ytQn2K38GJXEyAECdcDE8jmHQvvoA+pFqKCPHWRvoABhWo3O73XC5XL7nycnJcLvdfpeprKxER0cHFi5ciBkzZuDBBx8Mm1VNli5dCgC47rrrsG/fPpw6dQoAsHDhwrOSHABs3boVl19+OZKTkwF4/yDYsGGD7/UbbriBSY6ILpiUEp5PVkEeq4Ftzi1Qxkw943V16kJAsUHb+aFFEZ4fQ+fR9Rze3leS6qtMV1cXNm7ciE2bNsHhcOB73/seioqKsGzZmbWmgoICFBQU+J7n5+cjPz+/37j8qXlZYfDgwb3+vLd71/O+9fU+IqKBkPW7oNfugJqxCOrES856XcTGQ514KbS9JZAnGyHiEyyIcuAMq9G5XC7U1NT4nrvdbjidTr/LJCcnY9GiRRgxYgRiY2Pxgx/8ANu2bTvrPPn5+aioqPB9nSvJBYPufsj33nsPEyZMwKBBg/otP3v2bJSUlPju1erVq3HFFVcYHicRRRZt53oIewzU9Kv7LKOmX3W67D/MCuuCGZbosrOzUVtbi4qKCgBAYWEhcnJy/C6Tk5ODkpIStLe3Q9d1bNiwwdeXF8pUVcWxY8dw8cUX4+GHH0ZhYeE535OYmIiCggJcd911yMjIwNGjR/HLX/7ShGiJKFLox2qg1++CMmk+RFRsn+VE/GgoKTOhfb0Zsu2EiRGeP0PXutywYQPuuusudHZ2Yt68eXjhhRdQXl6Ohx9+GO+//36fZbpHG3Y3SyqKgnnz5uHZZ58d8DJeUkrs3r0bU6ZMCYqVQmw2W6/TLIwQbNdORMGra9Nq6Ae+QFTOoxCOof2W1Y8eQNf/Pgp12tWwzczpt2wwCPtFnYPtw56JjoiCjWw5is63H4Q6YTZsl93q13u61v8e8ugB2H/4FIQS3OsIc2UUk5mV5IiI/KXt+giQOpTT/W/+UFJmQHa1QR6vNTCywIiYRBfmFddeReI1E9HAyI5T0PaWQEmaBmXoWL/fJ0Z6t/+Sh/cbFVrAhH2iE0LAZrOhra3N6lBM19XVBVVV2WxJRH3Sqz4FPB2+0ZT+EkPHAqod8kjwJ7qw348OAEaPHo3a2lokJSUhNjY2Ij74dV1HY2NjQFeUIaLwo+37HCI+ASJh0oDeJ1QblBEp0A/vMyiywImIRNf9YV9XVxdRfWQOhwOjRo2yOgwiClLyRANk00Go0689rwqAGDUR+s4PITtaIKKDd+GKiEh0gDfZDRkyJKL6rSKh5kpE50+r9q6zq4ybdV7vF6PGAwDkkWqIpGkBiyvQIibRdeOHPxGRl15dBjF0LJShY87r/cpIb6LTD++HEsSJLuwHoxAR0dn0plrIE/VQxp3/Bs/CMRRi0HDIIO+nY6IjIopA+ulmS/UCEh0AiJHjIY/sD+puISY6IqIII6X0NlsOT77gHQiUURO8E8eDeOdxJjoioggjmw5CNh+64NocAIhRpyeOHwne5ksmOiKiCKPv7x5tGYBEN9wFKGpQr5DCREdEFEG6my2VkeMhBo+44OMJ1Q5leHJQTxxnoiMiiiDyeC3kqaNQkmcE7Jhi1HjI43WQXe0BO2YgMdEREUUQ6f4KACCc0wN2TO8CzxLySHXAjhlITHRERBFEr90BMWgExJDEgB2ze+K4PHogYMcMJCY6IqIIITtOQT+8D0rStMCuEjVouHdASvPhwB0zgJjoiIgihF6/y7vBqjOwy3UJRYEYPBKy5UhAjxsoTHRERBFCuncAqh0icUrAjy0Gj2CiIyIi60gpodfthJIwCcIWFfDji8GjIFuOQup6wI99oZjoiIgigDxaDdneDMWZYcjxRdxIQOpAa5Mhx78QTHRERBFAPz2tQEkyJtFh8EgACMoBKUx0REQRQK/dATFkjLfmZYDu48qWo4Yc/0Iw0RERhTnZdhLy6AFDN0cV3TW6FtboiIjIZHptd7OlgYkuygER5YBsDr6Rl0x0RERhTq/fBdiiIUanGnuiuFFAEE4xYKIjIgpjUkrI+l1QEi6CUG2GnitY59Ix0RERhTF5vNY7rWDMVMPPJQaPgmxvhuzqMPxcA2FooisuLkZaWhpSU1OxYsUKeDwev8ts3LgRcXFxyMrKQlZWFnJzc40MlYgoLMn63QAAMSbwq6F82zcjL4OrVmdYotM0DXl5eVi7di2qqqrQ0tKCoqKiAZWZPXs2ysvLUV5ejjfffNOoUImIwpZeVwEREwcxNMnwc3WPvAy2fjrDEl1paSmcTifS09MBAHl5eVi3bt2AyxAR0fmRmgd6416IMVMDu1tBH0SQTho3LNG53W64XC7f8+TkZLjd7gGV+eKLL5CVlYV58+bhww8/7PU8BQUFSEtL830VFBQE+EqIiEKTPLwP0DpN6Z8D4N2uByLomi4NHYLT8y8IKeWAysycORMHDhxAfHw8ysvLsXjxYmzevBkpKSlnvD8/Px/5+fkBjpyIKPTp9bsAAIoJ/XMAIFQbxKBhQTeXzrAancvlQk1Nje+52+2G0+n0u0x8fDzi4+MBAFlZWZgzZw7Ky8uNCpeIKOzI+l0Q8YkQg4abds5g3JfOsESXnZ2N2tpaVFRUAAAKCwuRk5Pjd5n6+npfDc/tdmPr1q1IS0szKlwiorAiO1uhH6k2r9nytO5E11crnhUMS3SqqmLVqlXIzc1FamoqHA4Hli5dirKyMixevLjfMgDw1ltvYdq0acjKysJ1112Hxx9/HBdddJFR4RIRhRXZuBeAhDLW3ESHuJGA1gW0nzT3vP0QMpjSLhERBYRn62vQ9nyCqB8+BRHlMO282r7P4SlZDfs190IZPdG08/aHK6MQEYUhvX4XlJHjTE1ygHcZMCC4Jo0z0RERhRnZ2gR5shEicbLp5xZxo7wxBNFcOiY6IqIwo9dXAgCURHOmFZwhJg5Qo4Ag2oCViY6IKMzIxj2AYoMYNcH0cwshTu9iwBodEREZRK/fDWX0RAhblCXnF3GjgmrSOBMdEVEYkc1HIE8dhUiYZFkMwjEMsu1E0MylY6IjIgojesPp/jmTlv3qVWw8IHWg85R1MfTAREdEFEb0ht2AGgUxYpxlMYiYwQAA2dZsWQw9MdEREYUJKSVkQyWUhFQI1dA1+/sX412nOFhWR2GiIyIKFycbIdtOWDOtoAdxOtHJdtboiIgogLr756yYKN6TiI3zPmCiIyKiQNIbKiHssRDDXecubKQYb6KTbWy6JCKiAJFSQjbugUi4CEJRrQ3GHgsoKmt0REQUOPJ4LWR7MxSLmy2B06ujxMSzRkdERIEjG/YAsL5/zic2HuhgjY6IiAJEb6iEiBoEMcxpdSgAABE9mKMuiYgoMHz9c4mTIISwOhwAgIhl0yUREQWIbDoI2dkaFP1zPjHxgKcD0tNpdSRMdEREoU4Gyfy5noJpLh0THRFRiNPrKyFi4iCGjLE6lG9En55LFwTLgDHRERGFMKlrkIf2QiQET/8c4O2jA8AaHRERXRh57CBkV3tw9c8BPVZHYaIjIqIL0N0/F2yJTsR099Gx6ZKIiC6A3lAJETsEiE+wOpQzddfo2HRJRETnS2oe6IeqIBInB1X/HAAIRYWIGsRER0RE508ePQB4OoKu2dInNh4IgknjTHRERCGqe/85JWGSxZH0TsTEsUZHRETnTzbugXAMA+JGWR1K72Liwn8wSnFxMdLS0pCamooVK1bA4/EMuMzx48cxduxY3HbbbUaGSkQUUqTWBf1QFZQg7J/rJmLiIdtbIHXd0jgMS3SapiEvLw9r165FVVUVWlpaUFRUNOAy9957LxYuXGhUmEREIUke3g9oXUG17NdZYuMASKDzlKVhGJboSktL4XQ6kZ6eDgDIy8vDunXrBlSmuLgYHR0dTHRERN+iN3r3n1MSp1gcSd+Eb9K4tc2XhiU6t9sNl8vle56cnAy32+13mba2Ntx///148skn+z1PQUEB0tLSfF8FBQUBvAoiouAkG3ZDxI2CGDzc6lD6JGKHeB9YPCDFZuTBe7YbSykHVObXv/41/v3f/x2jRvXfyZqfn4/8/PwLjJSIKHRITyf0w/ugTpxjdSj9ix4MwPpJ44YlOpfLhZqaGt9zt9sNp9Ppd5nPPvsMf/3rX/HII4+gpaUFHR0dkFJi9erVRoVMRBQS5KEqQNeCu38OwbMMmGGJLjs7G7W1taioqEBaWhoKCwuRk5Pjd5lNmzb5yq1ZswYlJSV48cUXjQqXiChk6A27AQTf+pZnOd10aXWNzrA+OlVVsWrVKuTm5iI1NRUOhwNLly5FWVkZFi9e3G8ZIiLqm2yohBgy5putcIKVLQpQ7ZavjiJkX51nREQUdGRnKzpfvwfqlAWwXfwjq8M5p863HoAYlgT7/7FuLAVXRiEiCiGycS8AGdTTCnoSsXGWj7pkoiMiCiHe9S0FRMJFVofin+i48J1HR0REgafX74YYkQwRPcjqUPwiYuPDdzAKEREFlmxvhjxeG/yjLXuKiQO0TsiuDstCYKIjIgoRvm15QijRBcNcOiY6IqIQIet3A4oKMTpE+ueAoJhLx0RHRBQi9IbdUEZNgLBHWx2K30SMdxkwK0deMtEREYUA2XwEsvkwRIhMK/CJ8U5qt3LkJRMdEVEI8C37NWaqxZEMjG90aGerZTEw0RERhQC9rgLCFgMxcpzVoQxMlAOAd0UXqzDREREFOSklZP1uiMTJEIpqdTgDo9oBRQU62ywLgYmOiCjIyaaDkJ2noIwJsf45ePccFfZY1uiIiKhvsm4XAECEWP+cT1Qs0MUaHRER9UGv3w0ROwRiSKLVoZyfKAebLomIqHfS0wn90F4oY6ZCCGF1OOdFRDnYdElERL2Th/cBWlfoNlsC3qZLJjoiIurNN/PnQm8gSjfvYBQ2XRIRUS9k/S6IIWMgHEOtDuX8RTm8OxhoHktOz0RHRBSkZEcL9CMHoIwN4WZLwNt0CQBd7ZacnomOiChI6XW7AEgoY9OtDuWCiNOro1jVT8dER0QUpGTdTkCxQSRMsjqUC2P31uisGnnJREdEFISklNDrKqAkXARhi7I6nAsiupsugzHR/e53v/M93rZtm+HBEBGRlzxeC9l2AkpSaDdbAvhmYWeLVkfpN9G9/vrrvse33Xab4cEQEZGXrN0JABAh3j8H4JvBKBZNMeg30Ukpe31MRETG0usqIBxDIYaMsTqUC2b1YBRbfy+eOnUKmzdvhq7raG1txebNm89IeHPmzDE8QCKiSCO7OqAf2gt1wiUhu+zXGXx70llTo+s30SUlJeGBBx4AAIwdO9b3GPBuvbBhwwZjoyMiikCysRLQNYixaVaHEhi2aADCsqbLfhNdcXHxBR28uLgY+fn56OzsxLx58/DCCy/AZrP5VWbz5s244447AAAejwd33nkn7rzzzguKh4goFOh1FQAElFBe37IHIQREVCxkVxCOugSApqYmPPfcc8jPz8ddd92F559/HsePHz/ngTVNQ15eHtauXYuqqiq0tLSgqKjI7zKZmZkoKytDeXk5tmzZgscffxzV1dXndZFERKFEr6uAMmo8RPQgq0MJnKhYoCMIE11VVRWmTp2Kv/71r7Db7bDZbHj99deRnp6O/fv393vg0tJSOJ1OpKd7Rwzl5eVh3bp1fpdxOBy+2l9bWxs0TeOAGCIKe7L5COTJxvAYbdmT3WHZ5qv9Nl3+6le/wi9+8Qv84he/OOPnv//97/HQQw/hlVde6fO9brcbLpfL9zw5ORlut3tAZcrLy7F06VJUVVXht7/9LcaPH+/fVRERhSi97isAgBIu/XOniWgHZHuLJefut0ZXWlp6VpIDgP/4j/9AaWnpOQ/ec7RQX7Wx/spkZWVhx44d2L9/P958801UVlae9f6CggKkpaX5vgoKCs4ZFxFRsNLdOyBi4iBGhtkf9nbr9qTrt0Y3aFDv7cNCCDgcjn4P7HK5UFNT43vudrvhdDoHXAYAEhMTMXfuXLz77ruYPHnyGa/l5+cjPz+/31iIiEKB7OqAXr8b6vhZ4TGtoAcRZd2edH7No+utNtba2n9mzs7ORm1tLSoqKpCWlobCwkLk5OT4Xebrr79GcnIy7HY7mpubsX79evzmN78Z6PUREYUM2bAb0D0QzgyrQwm8KAekpx1S1yAU1dRT95vovj137tuv9UdVVaxatQq5ubm+qQNLly5FWVkZHn74Ybz//vt9lgGAjRs34umnn4bNZoOUEsuWLcM111xznpdJRBT8dPcOQChQxoRX/xwA36RxdLUB0YNNPbWQHMpIRGQ5KSW63rofIj4B9qvusTqcgNN2fQRP6RuI+sFvIOJGmnrufgej7N+/Hzk5OcjIyMBNN92E+vp6s+IiIooosukgZOtxKM7pVodijO496SyYNN5voluxYgUmTZqEJ554AkOGDMHdd99tVlxERBFFd+8AACjh2D+HHgs7WzBpvN8+uiNHjuCxxx4DAFx99dWYMWOGKUEREUUa6d4BEZ8AEZ9gdSjGiOqu0Zk/8rLfGp3dbvc9FkJAUbghORFRoMn2ZuhHqqEkTbM6FONYuMt4vzW68vJyREV9s4W7x+NBVFQUpJQQQqCzs9PwAImIwp232VKGb/8cABF1el62BXPp+k10uq6bFQcRUcTSa3dA2GMgRqdaHYpx7DEArNmTjm2RREQWkp5O6LU7IcamQ6j91j1C2+lRlwi2UZdERGQs2bAb8HRASQ7vwX5CUSDsMZY0XTLRERFZSK8pBxQ1vAeidItyQFowvYCJjojIIlLXoB/8EkriFIjuUYnhzB7LpksiokgiD30N2dES9s2W3bw7GLSbfl4mOiIii+g12wAIKK5Mq0MxR5TDknl0THRERBaQUnqbLUdPhIiNtzocc0RZs/kqEx0RkQXksRrIU8ciptkS8K53Kbvae93j1EhMdEREFtBr/gUAEZXovHvSSe+edCZioiMisoBeUw4xzAUxeITVoZhGnF4dxey5dEx0REQmkycaIE/UQ0nOsjoUc51e79LsHQyY6IiITKZVlwEAlJSZFkdisu65giZPGmeiIyIymV5dBjF0LJShY60OxVS+SfGs0RERhS+9qdbbbDlultWhmO/0LuPS5CkGTHRERCbSq0sBAOq4bIsjMZ/o3sGAg1GIiMKTlNLbbDkiBSJ+tNXhmI81OiKi8CaPHoBsPhyRtTkAvs1X2UdHRBSm9O7RlhGa6IRqA2zRbLokIgpH3c2WyuhUiEHDrQ7HMt4dDNh0SUQUduShryFbmyK2NudjN39hZyY6IiITeEdbCigp37E6FEuJKAckmy6JiMKL1DzeZssxUyJnS56+RMWG12CU4uJipKWlITU1FStWrIDH4/G7zKuvvorMzExMnz4ds2bNwsaNG40MlYjIMLL2K+9O4hMvtToU69ljw2cwiqZpyMvLw9q1a1FVVYWWlhYUFRX5XWb8+PEoLi7G9u3bsWbNGvzoRz+CrutGhUtEZBit6jMIW0xkbcnTB2GLgvR0mHpOwxJdaWkpnE4n0tPTAQB5eXlYt26d32XmzJmD4cO9I5PS0tLQ3t6OlpYWo8IlIjKEbG+GXrsDyrjvQNiirA7HevYYQOuCNLHiYliic7vdcLlcvufJyclwu90DLgMAf/nLX5Ceno74+LPbtgsKCpCWlub7KigoCOBVEBFdGH3fVkDqUFLnWB1KcOhO9ibW6mxGHlwI4Xvc19bp5yqzbds2PPjgg1i/fn2v78/Pz0d+fv4FRkpEZAzt680QcaMgRk20OpSgIGynV0fxdHyzbY/BDKvRuVwu1NTU+J673W44nc4BldmzZw9uuOEGvP7667jooouMCpWIyBD6sRrIJjeUiZee8Ud9RLNHe7+bWKMzLNFlZ2ejtrYWFRUVAIDCwkLk5OT4XcbtduPaa6/Fn/70J8yePduoMImIDKN/vRmAgDqBoy19TjddmjkgxbBEp6oqVq1ahdzcXKSmpsLhcGDp0qUoKyvD4sWL+y0DAP/1X/+FQ4cO4T//8z+RlZWFrKwsVFdXGxUuEVFASc0Dfd/nUBInQwyO3CW/zmI7XaPr6jTtlEL21XlGRETnTTvwBTwfvwDbZcuhTrzE6nCChu7ega4Nz8G+8KdQkqaZck6ujEJEZAC98mOIqEFQUmZaHUpwOV2jkx7zanRMdEREASZPNEBvqISSOodz577Ntyddu2mnZKIjIgowbc/HAAB10jyLIwk+woJ5dEx0REQBJLs6oFdthjI2DSJ+tNXhBB/f9AI2XRIRhSS9ugyyqw3q5AVWhxKcfH10rNEREYUcKSW0yo0QjmEQJo0oDDm+6QXsoyMiCjnyaDXksRook+ZBKKrV4QQloaiAYmPTJRFRKNIrPwaEAvWiy6wOJagJWzSbLomIQo1sPQ5t/+dQUr4DETvE6nCCmz0a6GKiIyIKKdruDYCuQZ12ldWhBD9bNKcXEBGFEtnVDr3yEyiJU6AMT7Y6nOBni2KiIyIKJfreEu+UgnTW5vwh7DHsoyMiChVS80Db9RHE0CSIsWlWhxMabOyjIyIKGfqBbZCnjkFN/y43V/WXLRrQOL2AiCjoSSmh7VwP4RgKZdwsq8MJGcIWBckJ40REwU/WVUA2HYQ6dSGEarM6nNBhjwa0LkhdN+V0THREROdBSgnty79DRA+Gwl0KBqZ7GTCTmi+Z6IiIzoOs3QH9SDXU9KsguvdYI78Im7l70jHRERENkJQSnvJ3IWLioHCXgoEzeU86JjoiogGS7u2Qx2qgTrsGont/NfKf3dytepjoiIgGwFub+ztEbDz75s6Xb6se9tEREQUdveZfkE1uqNMWQXQ3wdGAiO5ExxodEVFwkZoH2r/e8c6bu+hyq8MJXSbvMs5ER0TkJ33PJ5AnG6HO+DfW5i6E3dxdxpnoiIj8IDtaoH35LsSIFCgTLrE6nJAmOI+OiCj4aF++B9nZClv2jVzT8kL5anRsuiQiCgryRAO0yo+hpHwHSkKq1eGEPvbREREFF0/Zm4BQYPvOEqtDCQ9qGE0YLy4uRlpaGlJTU7FixQp4PB6/y1RXV2PevHkYNGgQbrvtNiPDJCLqk37wS+i1O6CmLYQYPMLqcMKCUG2AooZ+06WmacjLy8PatWtRVVWFlpYWFBUV+V0mPj4ejz32GJ566imjQiQi6pfsbINn62sQg0ZAzbjW6nDCirCZt8u4YYmutLQUTqcT6enpAIC8vDysW7fO7zLDhw/HnDlzEBPDxVKJyBratrchW5tgu+QmLvUVaHbzdhk3LNG53W64XC7f8+TkZLjd7gGXOZeCggKkpaX5vgoKCi4scCIiAPqhKmh7PoYyYTaUpHSrwwk/tmjT+ugM3Smw5xBcKeV5l+lPfn4+8vPzBx4cEVEfpNYFz2dFENGDYcu+0epwwpMtKvQHo7hcLtTU1Pieu91uOJ3OAZchIjKbtv19yJMNUGf9ECJmsNXhhCVhD4M+uuzsbNTW1qKiogIAUFhYiJycnAGXISIyk964F9qO/wclKQPK+FlWhxO+1DCo0amqilWrViE3NxepqalwOBxYunQpysrKsHjx4n7LAEBrayucTifuuecevPbaa3A6nfjoo4+MCpeICLKjBZ5NqyFi42C77BaugGIkewzgMWcJMCHPp2OMiCjMSCnh+fjP0GvKYb/yZ1DGplkdUljzfPYytP2fI/qm5ww/F1dGISICoO/dBL3mX1CnXcUkZwZ7NKB1Qeq64adioiOiiKcfq4Gn9A2IESlQM79ndTiRwcQdDJjoiCiiybaT8Gz4vxBqFOzzfuJdnooM59uqx4Q96ZjoiChiSa0Lno3PQ7adgG3+Soi4UVaHFDm6E50JA1KY6IgoIkkpoW15FfrhfbBd/EMoY6ZYHVJksXdv1cMaHRGRIfSd66F9vRnqpPlQJy+wOpzIwxodEZFxtD2b4Nm2DsqYqVBncYkvK3zTR2f8pHEmOiKKKNr+Uni2vApl1ATYFtzBwSdWMXGXcSY6IooYuns7PCWFEMOSYFv4U269Y6Xue29CouOfMkQUEfSDX6Lr4xcg4kbB/t3/gIhyWB1SRPM1XTLRERFdOK3qM3g2F32T5GLirA6JbFHe7yb00THREVFY0yr+AU/ZmxAjUmBf+DNuuxMs7DEAzOmjY6IjorAkdQ3atrehVfwDSuJk2K64E+L0hysFAfV0jY6Jjoho4GRHCzyfvAi9fheUcdmwXXYrhGq3OizqQag2QFHZdElENFD6sYPwFD8PeeoYbDNzoKRfxX3lgpSwmbPLOBMdEYUFKSX03cXwbFsHodq5p1wosEWxRkdE5A956hg8n73sbaocOR62uXlcoDkU2GNM2aaHiY6IQpaUEnrVZ9DK1kJ6OqBmfR/qtKshFNXq0MgftihTtulhoiOikKQfPQBt62vQj+yHGDoW9suWQxmRbHVYNADCFg3Zccrw8zDREVFIkaeOQdv+v9D2fgphj4Yt+wYokxdwzcpQZIsGTh01/jSGn4GIKABk63FoX30Abc8ngK5BnXAJ1O/kQMQOsTo0Ol/2aFO26WGiI6Kgph+vh757A7SvNwNaF5TkGVAzr4MyzGl1aHSBhC0aOkddElEkkroGWfsVtN0boddXABBQXJlQM6+FMpz9cGHDHg1onZC6DqEYt5kOEx0RBQUpJWTTQehfb4G+/3PI9mYIeyzUtCuhTr4CIm6k1SFSoHXvYKB1Aopxy7Mx0RGRZaSuQx7eB/1gOfSDX0I2HwIAKImToU64BErKd7hnXBg7Y6seA9chZaIjItNIKYGTjdAbdkOv3w3ZsAey0zu8XBk5Dmrqv0EZfzHE4BEWR0qm6E50XR1ArIGnMe7QRBTpZNtJyCY39CPVkIf3QR7ZD9nRAgAQ9liIhElQk9KhuDIhHEOtDZbMdzrRSU8HjFyN1NBEV1xcjPz8fHR2dmLevHl44YUXYLPZ/C5z7733Yt26dVAUBY8++ihyc3ONDJeIzoPUNaD1OGTzIciTjZAnGiBPNEI2HYRsb/aVE7HxEKNToY4cDzFmCsRwF1cwiXR2c3YZNyzRaZqGvLw8vPvuu0hPT8eNN96IoqIiLF++3K8y69evx5YtW7B79240NjbikksuwdVXX424OO4MTGQGqXmAzlZvsmpv9n5vOwHZdgKy9TjQ2gTZcgyytQmQeo93CojBwyFGToAy3AkxzAllRAowaDh3EaAzCJN2GTcs0ZWWlsLpdCI9PR0AkJeXh+eee+6MRNdfmXXr1uHWW2+FzWZDUlISLr/8cqxfvx5LliwxKmQiS0kpASkBnP7enTyk3uNLArp21mOpewBdB3SP92e6BugeSK0L0DyA1uUd2aZ1QXpOP+5qBzydkJ5OoKsN6GyD7Gr3JrfO1n7/yhZRDiB2CMTQMVCSpnn71OJGQQxJhBg88psPMKL+2MzZZdywROd2u+FyuXzPk5OT4Xa7/S7jdrvPSGq9vd8I+vF6eD54wvDzULCR/bzUz2vffp/s/tb9QH7rBfmtx9/6mdnUKO+oRnsMYI+FiB4EDB4JJXoQEO0AohwQMXEQMfFAzGDvd8dQJjIKjFBvugRwRjOF7OPDor8y/ry/oKAABQUFvuf5+fnIz88/r3gBQNijIZLSz/v9ZBGDm8TEt7vK+z2f6L2MEN96TfT4DkAo37wmlDPLCMX3JYQCKN88h6IAis37WLUDiurt+1JsgGo7/d0OqHZvgrJFAar3O5sSyUoiJs47ynbQcEPPY1iic7lcqKmp8T13u91wOp1+l+nttdmzZ591ngtNbN8mBg2HfW5ewI5HRES9M+vz1rA1V7Kzs1FbW4uKigoAQGFhIXJycvwuk5OTg5deegmapqGurg4lJSW46qqrjAqXiIjClGGJTlVVrFq1Crm5uUhNTYXD4cDSpUtRVlaGxYsX91sGAL773e9i9uzZmDx5MubPn4+nnnqKIy6JiGjAhOyr84uIiCgMGLdcNBERURBgoiMiorDGREdERGGNiY6IiMIaEx0REYU1JjoiIgprTHR96LmsGHnxnvSO9+VsvCe9433pndH3hfPo+pCWluZbsYW8eE96x/tyNt6T3vG+9M7o+8IaHRERhTUmOiIiCmtMdH0I5I4I4YL3pHe8L2fjPekd70vvjL4v7KMjIqKwxhodERGFNSY6IiIKaxGd6IqLi5GWlobU1FSsWLECHo/nvMqEm3Nd88GDB7Fw4UJMnToV06ZNw4MPPmhRpOYZyO/BnXfeCZvNZmJ01vHnvrS0tGDZsmWYNGkSpkyZgj//+c8WRGoef+7JBx98gKysLGRlZWHOnDnYtWuXBZGa56c//SmcTme//y8M/ayVEcrj8cjx48fLr776Skop5Q033CALCwsHXCbc+HPNdXV1srS0VEopZUdHh5w3b57829/+ZnqsZhnI78Enn3wily1bJlVVNTNES/h7X37yk5/Ixx9/XEoppa7rsrGx0dQ4zeTvPXG5XLKiokJKKeWf//xnmZuba2qcZtu0aZNsaGjo8/+F0Z+1EVujKy0thdPpRHp6OgAgLy8P69atG3CZcOPPNY8ZMwbZ2dkAgKioKEyfPh0HDhwwPVaz+Pt70NHRgfvvvx9PPvmk2SFawp/70tzcjPfeew/33HMPAEAIgdGjR5seq1n8/V0RQuDkyZMAgBMnTmDMmDGmxmm2yy+/HAkJCX2+bvRnbWS0r/TC7XbD5XL5nicnJ8Ptdg+4TLgZ6DUfPXoU77zzDtavX29GeJbw95488sgjyMvLw6hRo8wMzzL+3Jd9+/YhISEBd911Fz7//HO4XC788Y9/xLhx40yO1hz+/q4UFRXh2muvRWxsLAYNGoRPP/3UzDCDjtGftRFbowO8f1V1k33MsvCnTLjx95o7OjqQm5uLe+65B1OnTjUjNMuc655s374dW7duxfLly80My3Lnui9dXV0oLy/H97//fWzbtg3XX389VqxYYWaIpjvXPdE0Db/97W9RXFyMgwcP4t5778WyZcvMDDEoGflZG7GJzuVyoaamxvfc7XbD6XQOuEy48feaNU3DTTfdhOzsbNx9991mhmg6f+7Jp59+ioqKCowfPx7jxo2DpmkYN24cmpqazA7XNP7+Hxo+fDgWLVoEAPjxj3+Mbdu2mRqnmfy5J//6179w8uRJZGRkAABuvvlmbNy40cwwg47Rn7URm+iys7NRW1vrW0i0sLAQOTk5Ay4Tbvy95pUrVyI+Ph6/+93vzA7RdP7ckzvuuAN1dXWorq5GdXU1VFVFdXU1hg0bZkXIpvDnviQkJGDatGkoKysDAPzjH//w9cOEI3/uSVJSEiorK1FbWwvAOwIz3FtEzsXwz9qADWsJQR999JGcOnWqnDhxoly+fLns6uqSpaWlctGiRf2WCXfnui8lJSUSgJw2bZrMzMyUmZmZ8o9//KPFURvLn9+VniJh1KWU/t2XnTt3yksuuURmZGTIuXPn+kYbhit/7klhYaFMS0uT06dPl3PmzJHl5eUWRmy8lStXyqSkJAlAJiUlyZUrV5r6WcslwIiIKKxFbNMlERFFBiY6IiIKa0x0REQU1pjoiIgorDHRERFRWGOio5AkhEBWVhamTZuG+fPn4+uvv7YkjkceeeSM54sXL8ahQ4cMP+/SpUuRkZGB+++/35Dj33rrrXjllVfO67233XYbysvLAxtQL8y61xT6OL2AQpLNZvNt43HfffehsrIS77zzzhllNE2DqqqGnL/72D3jMEtjYyMyMzPR0NBg2DluvfVWXHnllbj55psNO4dRjPx3p9DEGh2FvAULFmDv3r0AgHHjxuG///u/MX/+fDz99NPYuXMn5s6di+nTp2PevHmorKwEAKxZswbXX389rr76akyZMgW33HILOjs7AaDf9+Tk5GDJkiXIyMjA3XffDU3TkJWVhSuvvNJ3/u7FaEtKSpCdnY3p06fj2muv9SWmX//6175EMnHiRDzwwAO9Xpfb7cY111yD6dOnY9asWdiyZQs0TcMVV1yBpqYmZGVl4c033zzjPZWVlbj00ksxY8YMpKen+5J/X9ek6zp++ctfYtq0acjMzMTPf/7zs+J48cUXsXDhQpw8eRLvvPMOpk+fjqysLGRmZva6a8WCBQtQUlLie3zffffh0ksvxfjx4/H222/3eq3jxo3DAw88gBkzZiAtLQ3FxcUAvHsfzp8/HzNnzkRGRsYZtcye9/rb/+7+xEkRJGBTz4lM1L3yiK7r8vbbb5c//OEPpZRSpqSkyAcffNBXbsaMGb698t588005e/ZsKaWU//M//yOHDRsm6+rqpK7rMjc3Vz777LPnfM/IkSNlfX39WXF0S0lJkQcPHpTt7e3S6XTKL774Qkop5ZNPPumL8Ve/+pWcMWOGbG1tlS0tLTIhIUEePHjwrGv8wQ9+4Ftx5vPPP5cpKSmys7NT7t+/X06cOLHX+/Kzn/1Mvvzyy757c/z48X6v6YUXXpCLFi2S7e3tUkopjxw5IqWU8pZbbpFFRUXy8ccfl9dff71sa2uTUko5ffp0WVNTI6WUsrW11ffznubPny83bdrke3z77bf7riE1NbXXuFNSUuR9990npZSyvLxculwu2dHRIVtbW2Vra6uUUsoTJ07I1NRU2dTUdMa97n7c89/dnzgpcrBGRyGpuyaVmZmJo0eP4qmnnvK9dtNNNwEATp48iYMHD+J73/seAGDJkiXYs2cPWltbAQBXXnklxowZAyEEbr75Znz88cfnfM/ChQuRmJh4zvgqKyuRmJiImTNnAvDur7Vhwwbf6z23aJk6dSqqq6vPOsbGjRt9K/3PmjULQ4cO9dVc+3LZZZfh8ccfx6OPPory8nIMGTKk32v68MMPcccddyA6OhoAMGLECN+xnnrqKWzZsgXr1q1DTEwMAGD+/PlYvnw5nn/+eRw5csT38/7k5uYC8K5n2F/NqnsF/8zMTIwYMQJ79+6Fx+NBfn4+MjIyMHfuXNTX16OqqqrX93f/u59vnBS+mOgoJKmqivLycmzfvh1vvPEGkpKSfK8NHjwYQO9bffT2s25CiHO+p/vY59LbcXpuQ9KdWADvtfjbz9fzGL258cYb8f7772PkyJFYuXIlnnjiiX6vqb/7kZ2djd27d5+xL9gzzzyDJ554AidPnsTcuXP92ket+1qFENB1/Zzluwkh8PTTTyM2Nhbl5eX48ssvMXnyZLS3t/davue/zfnESeGLiY7C1pAhQ+ByufC3v/0NAPDWW29h8uTJcDgcAIB//vOfqK+vh5QSr7zyCubNm3fO93ybw+Hw1fZ6mjJlChoaGnxb0qxevRpXXHHFgOJfsGABVq9eDcC7A/Px48eRmpra73uqqqrgcrmwcuVK3H333fj888/7vaZrrrkGzz//PDo6OgB4N9LtNn/+fDz77LNYvHixrya2Z88ezJgxA/fddx+uuuqqgI6ufPnllwEAX375JY4ePYrU1FScPHkSiYmJUFUVW7duxZdffunXsYyMk0JPxO4wTpGhqKgIt99+Ox566CEMHToUL730ku+1K664Arfffjv27t2L7Oxs/OQnPznne77t5z//OS6++GI4nU588MEHvp9HR0fjL3/5C1auXInOzk44nU4UFhYOKPZnnnkGt912G1avXo3o6Gi89tprsNvt/b7njTfewKuvvoqoqCjExMTgT3/6U7/XlJeXh/3792PGjBmIiorCggUL8Ic//MF3vIULF+IPf/gDFi1ahA8++AD33nsvqqqqYLPZkJKSEtBRmQ6HA5deeilOnDiBNWvWICoqCnfddReWLFmCv//970hLS8OsWbP8OpaRcVLo4fQCikhr1qxBSUkJXnzxRatDIXhHTZaUlIT9xsZkDTZdEhFRWGONjoiIwhprdEREFNaY6IiIKKwx0RERUVhjoiMiorDGREdERGGNiY6IiMLa/wdEd+EJ1ZQQrQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from utils import pmf_from_dist\n", "\n", "qs = np.linspace(0, 1, 101)\n", "pmf = pmf_from_dist(prior_prop_pair, qs)\n", "pmf.plot(label='prior', color='C1')\n", "\n", "decorate(xlabel='Proportion of socks in pairs',\n", " ylabel='PDF')" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "remove-cell" ] }, "source": [ "We can sample from the prior distributions like this:" ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:42:08.441478Z", "iopub.status.busy": "2021-04-16T19:42:08.440805Z", "iopub.status.idle": "2021-04-16T19:42:08.444064Z", "shell.execute_reply": "2021-04-16T19:42:08.443630Z" }, "tags": [ "remove-cell" ] }, "outputs": [ { "data": { "text/plain": [ "(53, np.float64(0.9644877185150033))" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "n_socks = prior_n_socks.rvs()\n", "prop_pairs = prior_prop_pair.rvs()\n", "\n", "n_socks, prop_pairs" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "remove-cell" ] }, "source": [ "And use the values to compute `n_pairs` and `n_odds`:" ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:42:08.448230Z", "iopub.status.busy": "2021-04-16T19:42:08.447541Z", "iopub.status.idle": "2021-04-16T19:42:08.450759Z", "shell.execute_reply": "2021-04-16T19:42:08.450369Z" }, "tags": [ "remove-cell" ] }, "outputs": [ { "data": { "text/plain": [ "(np.float64(25.0), np.float64(3.0))" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "n_pairs = np.round(n_socks//2 * prop_pairs)\n", "n_odds = n_socks - n_pairs*2\n", "\n", "n_pairs, n_odds" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "remove-cell" ] }, "source": [ "Now you take it from there." ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:42:08.454626Z", "iopub.status.busy": "2021-04-16T19:42:08.454172Z", "iopub.status.idle": "2021-04-16T19:42:08.456306Z", "shell.execute_reply": "2021-04-16T19:42:08.456654Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 9 10 11 12 13]\n" ] } ], "source": [ "# Solution\n", "\n", "n_pairs = 9\n", "n_odds = 5\n", "\n", "socks = np.append(np.arange(n_pairs), \n", " np.arange(n_pairs + n_odds))\n", "\n", "print(socks)" ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:42:08.461385Z", "iopub.status.busy": "2021-04-16T19:42:08.460694Z", "iopub.status.idle": "2021-04-16T19:42:08.463646Z", "shell.execute_reply": "2021-04-16T19:42:08.463281Z" } }, "outputs": [ { "data": { "text/plain": [ "array([ 6, 5, 1, 2, 2, 4, 1, 5, 7, 12, 8])" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "picked_socks = np.random.choice(socks, size=11, replace=False)\n", "picked_socks" ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:42:08.467312Z", "iopub.status.busy": "2021-04-16T19:42:08.466789Z", "iopub.status.idle": "2021-04-16T19:42:08.469206Z", "shell.execute_reply": "2021-04-16T19:42:08.469556Z" } }, "outputs": [ { "data": { "text/plain": [ "array([ 1, 2, 4, 5, 6, 7, 8, 12])" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "values, counts = np.unique(picked_socks, return_counts=True)\n", "values" ] }, { "cell_type": "code", "execution_count": 62, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:42:08.472963Z", "iopub.status.busy": "2021-04-16T19:42:08.472423Z", "iopub.status.idle": "2021-04-16T19:42:08.475583Z", "shell.execute_reply": "2021-04-16T19:42:08.475055Z" } }, "outputs": [ { "data": { "text/plain": [ "array([2, 2, 1, 2, 1, 1, 1, 1])" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "counts" ] }, { "cell_type": "code", "execution_count": 63, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:42:08.479850Z", "iopub.status.busy": "2021-04-16T19:42:08.479136Z", "iopub.status.idle": "2021-04-16T19:42:08.481962Z", "shell.execute_reply": "2021-04-16T19:42:08.481538Z" } }, "outputs": [ { "data": { "text/plain": [ "(np.int64(5), np.int64(3))" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "solo = np.sum(counts==1)\n", "pairs = np.sum(counts==2)\n", "\n", "solo, pairs" ] }, { "cell_type": "code", "execution_count": 64, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:42:08.486360Z", "iopub.status.busy": "2021-04-16T19:42:08.485851Z", "iopub.status.idle": "2021-04-16T19:42:08.488237Z", "shell.execute_reply": "2021-04-16T19:42:08.487800Z" } }, "outputs": [], "source": [ "# Solution\n", "\n", "def pick_socks(n_pairs, n_odds, n_pick):\n", " socks = np.append(np.arange(n_pairs), \n", " np.arange(n_pairs + n_odds))\n", " \n", " picked_socks = np.random.choice(socks, \n", " size=n_pick, \n", " replace=False)\n", " \n", " values, counts = np.unique(picked_socks, \n", " return_counts=True)\n", " pairs = np.sum(counts==2)\n", " odds = np.sum(counts==1)\n", " return pairs, odds" ] }, { "cell_type": "code", "execution_count": 65, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:42:08.492100Z", "iopub.status.busy": "2021-04-16T19:42:08.491462Z", "iopub.status.idle": "2021-04-16T19:42:08.494263Z", "shell.execute_reply": "2021-04-16T19:42:08.493877Z" } }, "outputs": [ { "data": { "text/plain": [ "(np.int64(1), np.int64(9))" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "pick_socks(n_pairs, n_odds, 11)" ] }, { "cell_type": "code", "execution_count": 66, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:42:08.501495Z", "iopub.status.busy": "2021-04-16T19:42:08.500775Z", "iopub.status.idle": "2021-04-16T19:42:10.455065Z", "shell.execute_reply": "2021-04-16T19:42:10.455418Z" } }, "outputs": [ { "data": { "text/plain": [ "1149" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "data = (0, 11)\n", "res = []\n", "for i in range(10000):\n", " n_socks = prior_n_socks.rvs()\n", " if n_socks < 11:\n", " continue\n", " prop_pairs = prior_prop_pair.rvs()\n", " n_pairs = np.round(n_socks//2 * prop_pairs)\n", " n_odds = n_socks - n_pairs*2\n", " result = pick_socks(n_pairs, n_odds, 11)\n", " if result == data:\n", " res.append((n_socks, n_pairs, n_odds))\n", "\n", "len(res)" ] }, { "cell_type": "code", "execution_count": 67, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:42:10.464778Z", "iopub.status.busy": "2021-04-16T19:42:10.464087Z", "iopub.status.idle": "2021-04-16T19:42:10.467723Z", "shell.execute_reply": "2021-04-16T19:42:10.467177Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
n_socksn_pairsn_odds
03610.016.0
13315.03.0
25119.013.0
36127.07.0
46828.012.0
\n", "
" ], "text/plain": [ " n_socks n_pairs n_odds\n", "0 36 10.0 16.0\n", "1 33 15.0 3.0\n", "2 51 19.0 13.0\n", "3 61 27.0 7.0\n", "4 68 28.0 12.0" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "columns = ['n_socks', 'n_pairs', 'n_odds']\n", "results = pd.DataFrame(res, columns=columns)\n", "results.head()" ] }, { "cell_type": "code", "execution_count": 68, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:42:10.474896Z", "iopub.status.busy": "2021-04-16T19:42:10.472460Z", "iopub.status.idle": "2021-04-16T19:42:10.477967Z", "shell.execute_reply": "2021-04-16T19:42:10.477410Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "44.0 [27. 74.]\n" ] } ], "source": [ "# Solution\n", "\n", "qs = np.arange(15, 100)\n", "posterior_n_socks = Pmf.from_seq(results['n_socks'])\n", "print(posterior_n_socks.median(),\n", " posterior_n_socks.credible_interval(0.9))" ] }, { "cell_type": "code", "execution_count": 69, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:42:10.498627Z", "iopub.status.busy": "2021-04-16T19:42:10.497929Z", "iopub.status.idle": "2021-04-16T19:42:10.659185Z", "shell.execute_reply": "2021-04-16T19:42:10.658762Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAboAAAEkCAYAAABZm/S2AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAALiQAAC4kBN8nLrQAAKZlJREFUeJzt3X9cVfX9B/DXBSQesHCTNQ3vBVwXqnvhcq1rJgJu9GMppkk4W+sicF223f3IllrmLHssYjb3WK1bORaprKR0ZOVwMQuamBbM3eliiawMLgyauARGKFw+3z/8crooXO8FDtx77uv5ePB43B+fc/i8EX37vud9Ph+VEEKAiIhIoYImegJERERyYqIjIiJFY6IjIiJFY6IjIiJFY6IjIiJFY6IjIiJFY6IjIiJFY6IjIiJFY6IjIiJFY6IjIiJFC5noCRARBQKutjg2VCqV18cw0RERyai3txdNTU04c+bMRE9FES655BJoNBpMmjTJ42NUXNSZiEg+H330ES699FJERUWNqBqhLwgh0N7ejs7OTnz961/3+DhWdEREMhFC4MyZM4iLi0NQEFsiRkulUiEqKgonT56EEMLj/zjwJ09EJDNWcmNnJD9LJjoiIlI0fnQZwPa8exzVR5uk56lJGixMiZ/AGQ3m6/MjClRVVVUICgpCenq618du2LAB119/PRYsWCDDzIbGii6AVR9tQmNbBwCgsa1jUFLxBb4+P6JAVVVVhb/85S9eH+d0OvHoo496leSEEOjv7/f6e7liogtwMVMjUbgyAzFTIyd6KkPy9fkR+ZOQkBD87Gc/g8FgwDXXXIOjR48CAM6ePYvvf//7SExMRGJiIn73u98BALq7u7FkyRIYDAYkJibioYcewrFjx/Dcc8/BZrPBaDRi165d6O/vx0MPPYTrrrsOSUlJWLdu3aDv+fjjj2Pu3Ll4+eWXkZubi9///vcAAIfDgVtuuQUGgwGzZs3CoUOHAJxLpKmpqcjNzcW1116LTz75ZHRxj+poIiLymO3VWjR92jHm59V8LRLWJaaLjnM6nZg+fTqOHDmCPXv2IC8vD7W1tXjuuefwn//8B0eOHMFnn30Gk8mEOXPmoL6+HlOmTMGrr74KAPjvf/+Lr3zlK7jnnnsQEhKC9evXAwCKi4shhMD7778Pp9OJxYsXY+/evZg/fz6cTie+9rWv4cCBAwCAiooKaT4//vGPsWDBAvz4xz9GTU0Nli5diuPHjwMAampqUFRUhKuvvnrUPx9WdEREAcRsNgMAFi5ciI8++gj/+9//UFVVhby8PAQFBWHKlClYtGgR3nnnHRgMBlRVVWH16tV48803ERk59Ccr5eXl2LlzJ4xGI6699locO3ZMSlgA8N3vfnfI46qqqpCfnw8AmDVrFr785S9Lx82cOXNMkhzAio6IaNx4UnVNhKHWDVGpVLjiiitw+PBhVFRU4He/+x2eeuop/PGPfxzy+CeeeAK33XbbBe8FBwcjLCzM47kM3D7wpS99yfMALoIVHRFRACkpKQEA7NmzB1//+tcRERGBb37zm3jhhRfQ39+PU6dO4fXXX0d6ejocDgcmTZqEpUuX4sknn8T7778PAIiMjERnZ6d0zvnz5+PZZ59FT08PAODf//43WltbLzqXb3zjG3j++ecBnPuo8rPPPoNWqx3rkOVNdJWVldDpdNBqtcjPz0dfX5/HYw4ePAij0Qij0YjExEQ888wz0jG5ubmIjY2V3t++fbucYRARKUJwcDBOnTqF6667Dhs2bEBxcTEA4J577sFll10Gg8GA9PR0rFu3Dnq9HkePHsWcOXNgNBoxf/58/OY3vwEA3HbbbaioqIDJZEJZWRksFgvmzJkDk8mEpKQkLFmyBJ999tlF5/PUU09h7969MBgM+MEPfoAdO3Z4tYalp2Rb69LpdCI+Ph5vvPEG9Ho9vv3tb2P+/PnIy8vzaEx3dzdCQ0MREhKCrq4u6PV6vPPOO4iLi0Nubi5uvPFG3HXXXXJMPWA8sOVtAEDhyoxBj32Fr8+P6GKEEPjwww9x1VVX+cTqKCEhIUMWHP5kJD9T2Sq6mpoaqNVq6PV6AIDFYkFZWZnHY8LDwxEScu4S4ueffw6n08ltLoiIyGuyJTqHwwGNRiM9j4mJgcPh8GqM3W5HUlISYmJicP/992PGjBnSexs3boTBYIDZbPbos2AiokDn79XcSMl6jc61rByuGnM3xmg04ujRo/j444+xa9cuHDt2DABQUFCA+vp62O12XHnllYM+DnVls9mg0+mkL5vNNtqQfM6ed4/jgS1vS1973j1+8YOIaFzx06ixM5KfpWyJTqPRoLGxUXrucDigVqu9HgMA06ZNQ1paGt544w0AQHR0NFQqFYKCgnDvvfdKd9Ofz2q1oq6uTvqyWq1jEZpP4TJZRL5LpVIhODgYvb29Ez0Vxejt7UVwcLBX1zxlS3QmkwnNzc2oq6sDcO7O+aysLI/H/Otf/5J+OTo7O1FRUYHExEQAQEtLi3SO0tJSGAwGucLwC1wmi8h3TZ48GW1tbVKfAb9G/uV0OtHW1obJkyd79Wcg2w3jwcHBKCoqQnZ2Ns6ePYv09HSYzWbU1tZiw4YNKC8vH3YMcO6O+V/96lcICQmBEAI5OTm45ZZbAAA5OTloa2tDUFAQoqOjpRZZIiJfc9lll6GpqQn19fUTPRVFCA8Px2WXXebVMbKujJKRkSFVawNMJhPKy8vdjgHOdWBaLJYhz7tv376xnSgRkUyCgoIQGxvL63RjZCS3aXAJMCKiceAL99EFKiY6GnPcMJWIfAnXuqQxx05QIvIlTHQkC3aCEpGvYKIjIiJFY6IjIiJFY6IjIiJFY6IjIiJFY6IjIiJFY6IjIiJFY6IjIiJF48oo5BWuekJE/oYVHXmFq54Qkb9hoiOvcdUTIvInTHRERKRoTHRERKRoTHRERKRo7LoMMK5dk41tHbzORkSKx4ouwLh2TcZMjURqkmaCZ0REJC9WdAFooGuSiCgQsKIjIiJFY6IjIiJFY6IjIiJFkzXRVVZWQqfTQavVIj8/H319fR6POXjwIIxGI4xGIxITE/HMM89IxzQ1NSEtLQ0JCQmYN28eWlpa5AyDiIj8mGyJzul0wmKxYOfOnWhoaEBXVxdKSko8HpOcnIza2lrY7XYcOnQIv/jFL3DixAkAwNq1a2E2m1FfX49ly5bhwQcflCsMIiLyc7IlupqaGqjVauj1egCAxWJBWVmZx2PCw8MREnKuKfTzzz+H0+mEEAJCCJSXlyMnJwcAsHz5crz++utyhUFERH5OtkTncDig0Xxxj1ZMTAwcDodXY+x2O5KSkhATE4P7778fM2bMQHt7OyIiIhAWFgYAiIiIQGhoKE6fPn3BHGw2G3Q6nfRls9nGOkwiIvJxst5Hp1KppMdCCK/HGI1GHD16FK2trcjOzsb8+fMRFRU16Bh357ZarbBarSOdPhERKYBsFZ1Go0FjY6P03OFwQK1Wez0GAKZNm4a0tDS88cYbiIqKQldXF3p6egAA3d3d6O3txeTJk2WKhNxpbOvAA1vexgNb3saed49P9HSIiC4gW6IzmUxobm5GXV0dAKC4uBhZWVkej/nXv/6F3t5eAEBnZycqKiqQmJgIlUqFzMxMqWll27ZtWLRokVxhkBupSRpprUxuwkpEvkq2RBccHIyioiJkZ2dDq9UiPDwcZrMZtbW1WLBggdsxAFBVVQWj0Yjk5GTMnTsX3/nOd3DLLbcAAAoLC7F9+3YkJCRgx44dKCgokCsMcmNhSjwKV2ZwE1Yi8mmyXqPLyMiQqrUBJpMJ5eXlbscA5zowLRbLkOfVaDTYv3//2E6WiIgUiSujEBGRonH3ApLdQMPK+VKTNFiYEj8BMyKiQMKKjmTl2rDiis0rRDReWNGRrBamxA9ZtQ1V4RERyYEVHRERKRoTHRERKRoTHRERKRoTHRERKRoTHRERKRoTHRERKRoTHRERKRoTHRERKRpvGFeoPe8eH7TyyHgstzWw1FdjWwd3MyAin8GKTqGqjzahsa0DwPgst+W61FfM1EikJmlk/X5ERJ5iRadgMVMjUbgyY1yW2xpuqS8ioonGio6IiBSNiY6IiBSNiY6IiBSN1+howrhuyMpNWIlILqzoaEK4dmlyE1YikhMrOpoQrl2a3ISViOTEio6IiBRN1kRXWVkJnU4HrVaL/Px89PX1eTzmxRdfRHJyMgwGA2bNmoWqqirpmNzcXMTGxsJoNMJoNGL79u1yhkFERH5MtkTndDphsViwc+dONDQ0oKurCyUlJR6PmTFjBiorK3HkyBFs3boVd9xxB/r7+6VjH3vsMdjtdtjtduTk5MgVBhER+TnZEl1NTQ3UajX0ej0AwGKxoKyszOMxKSkpmDJlCgBAp9Ohp6cHXV1dck2XiIgUSrZE53A4oNF8sd5hTEwMHA6H12MA4KWXXoJer0dk5BcLBW/cuBEGgwFmsxmtra0yREBEREog6zU6lUolPRZCjGjM4cOHsX79emzdulV6raCgAPX19bDb7bjyyiuRl5c35LltNht0Op30ZbPZRhgJERH5K9luL9BoNGhsbJSeOxwOqNVqr8bU19dj6dKlKC0tRXz8FzcTR0dHAziXJO+9915s3rx5yDlYrVZYrdYxiYeIiPyTbBWdyWRCc3Mz6urqAADFxcXIysryeIzD4UBmZiaee+45zJ49e9BxLS0t0uPS0lIYDAa5wiAiIj8nW0UXHByMoqIiZGdn4+zZs0hPT4fZbEZtbS02bNiA8vLyYccA567Bffrpp1i9erV0zt27dyMuLg45OTloa2tDUFAQoqOjUVxcLFcYAen8TVsBLtFFRP5L1pVRMjIypGptgMlkQnl5udsxAFBUVISioqIhz7tv376xnSgNMrBp66AlutDEREdEfolLgNGQBjZtBbhEFxH5Ny4BRkREisZER0REisaPLv2Qa7OI67W00RrYH24szymX8xtm2CxDRMNhReeHBppFgHPX0lKTNBc54uJc94cbq3PKyfVnwP3siMgdVnR+yrVZZCy47g/nLwZ+BmyWISJ3WNEREZGiMdEREZGi8aNL8ogvNKoMzGHgses8XN9jYwoRuWJFRxflC40qrnM4fx6u77ExhYjOx4qOLsoXGlXczcH1PTamENH5WNEREZGiMdEREZGiMdEREZGi8Rqdnxjtsl++0DU53rhMGBEBrOj8xmiW/fKFrsmJwGXCiAhgRedXRrrsly90TU4ULhNGRKzoiIhI0ZjoiIhI0fjRJfmEsVzCKxAbb4hoeKzoaMKN5RJegdp4Q0TDY0VHE24sl/AK5MYbIhqarBVdZWUldDodtFot8vPz0dfX5/GYF198EcnJyTAYDJg1axaqqqqkY5qampCWloaEhATMmzcPLS0tcoZBRER+TLZE53Q6YbFYsHPnTjQ0NKCrqwslJSUej5kxYwYqKytx5MgRbN26FXfccQf6+/sBAGvXroXZbEZ9fT2WLVuGBx98UK4wiIjIz8mW6GpqaqBWq6HX6wEAFosFZWVlHo9JSUnBlClTAAA6nQ49PT3o6uqCEALl5eXIyckBACxfvhyvv/66XGEQEZGfky3RORwOaDRfNALExMTA4XB4PQYAXnrpJej1ekRGRqK9vR0REREICwsDAERERCA0NBSnT5+WKRIiIvJnbhPdpk2bpMeHDx/2+uQqlUp6LIQY0ZjDhw9j/fr12Lp165DHuDu3zWaDTqeTvmw2mzfTJyIiBXCb6EpLS6XHK1as8OrEGo0GjY2N0nOHwwG1Wu3VmPr6eixduhSlpaWIjz/XSRcVFYWuri709PQAALq7u9Hb24vJkydfMAer1Yq6ujrpy2q1ehUDERH5P7eJzrVSGq5qGo7JZEJzczPq6uoAAMXFxcjKyvJ4jMPhQGZmJp577jnMnj1bOkalUiEzM1NqWtm2bRsWLVrk1dyIiChwuL2P7n//+x8OHjyI/v5+dHd34+DBg4MSXkpKyrDHBgcHo6ioCNnZ2Th79izS09NhNptRW1uLDRs2oLy8fNgxALBx40Z8+umnWL16tXTO3bt3Iy4uDoWFhbjzzjvxxBNPYNq0adixY8dofw5ERKRQbhNddHQ01q1bd8Fj4Fxl9fbb7m/uzcjIkKq1ASaTCeXl5W7HAEBRURGKioqGPK9Go8H+/fvdfm8iIiLgIonO9SZtIiIif+Q20b377rtuD3b30SUREZEvcJvoUlNTkZiYiK9+9asXNKN48tElERHRRHOb6B5//HG88soriIyMhNlsxq233orQ0NDxmhsREdGoub29YO3atfjrX/+Khx9+GAcOHEBycjLuuece1NfXj9f8iIiIRsWjbXpmzpyJK664AgkJCVi/fj2uu+46JCQkyD03IiKiUXOb6Pr6+vDHP/4RJSUlaGhowNKlS1FbW4u4uLhxmh4REdHouE1006ZNQ2xsLMxmM1atWgWVSoWWlhZp/zd2XRIRka9zm+gSExOhUqnw2muv4bXXXhv0HrsuiYjIH/CGcSIiUjS3ie7jjz/GT3/6Uxw/fhwGgwG//OUvcfnll4/X3ALSnnePo/pok/Q8NUmDhSnxHh/f2NaBB7a8jca2DsRMjZRjirIbzxhG+/MmIt/n9vaC/Px8JCQk4IknnsDkyZOxatWq8ZpXwKo+2oTGtg4A5/7Bd/1H+GJSkzRSYoiZGonUJM1FjvA94x3DaH7eROQf3FZ0J0+eRGFhIQDgW9/6FmbOnDkukwp0MVMjUbgyAw9s8e4a6MKUeL+vRiYihpH+vInIP7it6CZNmiQ9VqlUCApyO5yIiMjnuK3o7Hb7oCW/+vr6EBoaCiEEVCoVzp49K/sEiYiIRsNtouvv7x+veRAREcnCoyXAiJRgoJsT8K678vzOTFfs0iTyfbzoRgHBtZvT2+5K185MV+zSJPIPrOgoILh2c46ku3KgM9MVuzSJ/AMrOiIiUjQmOiIiUjQmOiIiUjQmOiIiUjRZE11lZSV0Oh20Wi3y8/PR19fn8ZgTJ04gPT0dERERWLFixaBjcnNzERsbC6PRCKPRiO3bt8sZBhER+THZEp3T6YTFYsHOnTvR0NCArq4ulJSUeDwmMjIShYWF2Lx585Dnf+yxx2C322G325GTkyNXGERE5OdkS3Q1NTVQq9XQ6/UAAIvFgrKyMo/HTJkyBSkpKQgLC5NrikREFABkS3QOhwMazRdbrMTExMDhcHg9ZjgbN26EwWCA2WxGa2vrkGNsNht0Op30ZbPZRhAJERH5M1lvGFepVNJjIcSIx5yvoKAAl19+OYQQKCgoQF5eHvbu3XvBOKvVCqvV6uWsiQYv++XPm9gSkYwVnUajQWNjo/Tc4XBArVZ7PWYo0dHR0rZB9957Lw4dOjR2EyfC4GW//HUTWyI6R7aKzmQyobm5GXV1ddDpdCguLkZWVpbXY4bS0tKC6OhoAEBpaSkMBoMsMVBgG2rZLyLyP7JVdMHBwSgqKkJ2dja0Wi3Cw8NhNptRW1uLBQsWuB0DAN3d3VCr1bjvvvuwY8cOqNVqvPXWWwCAnJwcJCUlITk5GX/4wx9QXFwsVxhEROTnZL1Gl5GRgbq6ukGvmUwmlJeXux0DAOHh4cM2puzbt29sJ0pERIrF3QsmwPn7m3FPMyIi+XAJsAng2ujAPc2IiOTFRDdBBhod2LZORCQvJjoiIlI0JjoiIlI0JjoiF41tHXhgy9vSNVQi8n9MdET/LzVJI10z5WooRMrB2wuI/t/ClHje5kGkQKzoiIhI0ZjoiIhI0ZjoiIhI0XiNjkgGwy3zxuXfiMYfKzoiGQy3zBuXfyMaf0x0RDIZbpk3Lv9GNL6Y6IiISNGY6IiISNGY6Hwcl6QiIhodJjofxiWpiIhGj7cX+DAuSUVENHqs6IiISNGY6IiISNGY6IiISNFkTXSVlZXQ6XTQarXIz89HX1+fx2NOnDiB9PR0REREYMWKFYOOaWpqQlpaGhISEjBv3jy0tLTIGcaY2PPucTyw5W12UPqI8e5mZfcs0cSRLdE5nU5YLBbs3LkTDQ0N6OrqQklJicdjIiMjUVhYiM2bN19w7rVr18JsNqO+vh7Lli3Dgw8+KFcYY8Z16Sd2UE6s8e5mZfcs0cSSreuypqYGarUaer0eAGCxWPD0008jLy/PozFTpkxBSkoK6uvrB51XCIHy8nIUFxcDAJYvX46HHnpIrjDG1MDSTzSxxrubld2zRBNLtorO4XBAo/nif64xMTFwOBxejzlfe3s7IiIiEBYWBgCIiIhAaGgoTp8+PYazJyIipZD1Gp1KpZIeCyFGPMbdMe6Os9ls0Ol00pfNZvPo/EREpByyfXSp0WjQ2NgoPXc4HFCr1V6POV9UVBS6urrQ09ODsLAwdHd3o7e3F5MnT75grNVqhdVqHWUkRMMbaDIBuLccka+SraIzmUxobm5GXV0dAKC4uBhZWVlejzmfSqVCZmam1LSybds2LFq0SIYIiNxzbTLh3nJEvku2RBccHIyioiJkZ2dDq9UiPDwcZrMZtbW1WLBggdsxANDd3Q21Wo377rsPO3bsgFqtxltvvQUAKCwsxPbt25GQkIAdO3agoKBArjCIhrUwJR6FKzO4txyRj5N1rcuMjAypWhtgMplQXl7udgwAhIeHD9uYotFosH///rGdLBERKRJXRiEiIkVjoiMiIkVjoiMiIkVjoiMiIkVjoiMiIkVjoiMiIkVjoiMiIkWT9T46InKPS4gRyY8VHdEE4RJiROODFR3RBHHdp26gqiOisceKjoiIFI2JjoiIFI2JjoiIFI3X6Ih8BDswieTBio7IB7ADk0g+rOiIfAA7MInkw4qOiIgUjYmOiIgUjR9d+gDXJoTGtg7pWg0FLm8aU/a8e3zQNT1vG1lGc/xovzfReGBFN8FcmxAAIGZqJFKTNBM4I5po3jamVB9tQmNbh8fjx/L40X5vovHAim6CuTYhEAEja0yJmRqJwpUZI25kGc3xo/3eRHJjRUdERIoma6KrrKyETqeDVqtFfn4++vr6vBqzZs0aaLVaJCQkYNeuXdLrubm5iI2NhdFohNFoxPbt2+UMg4iI/Jhsic7pdMJisWDnzp1oaGhAV1cXSkpKPB5TUVGBQ4cO4cMPP0RlZSVWrVqFzs5O6djHHnsMdrsddrsdOTk5coVBRER+TrZrdDU1NVCr1dDr9QAAi8WCp59+Gnl5eR6NKSsrQ25uLkJCQjB9+nSkpqaioqICt99+u1xTJhoVubpnXc/rajQdjq7dkuz0JaWTraJzOBzQaL7oHoyJiYHD4fB4zMWO37hxIwwGA8xmM1pbW+UKg8gjcnXPnn/eAaPtcHTtlmSnLymdrF2XKpVKeiyE8HrMcO8VFBTg8ssvhxACBQUFyMvLw969ey84t81mg81mk55brVZYrVbvAyG6CLm6Z4c771h0OA50SxIpnWyJTqPRoLGxUXrucDigVqs9HjPUe7NnzwYAREdHAziXCO+9915s3rx5yDkwsRERkWwfXZpMJjQ3N6Ourg4AUFxcjKysLI/HZGVlYdu2bXA6nWhpaUF1dTVuvvlmAEBLS4t0jtLSUhgMBrnCICIiPydbRRccHIyioiJkZ2fj7NmzSE9Ph9lsRm1tLTZs2IDy8vJhxwDATTfdhD//+c+48soroVKpsHnzZlx66aUAgJycHLS1tSEoKAjR0dEoLi6WK4xhnb/00XC4JBJNlKF+R/n7SIFI1mt0GRkZUrU2wGQyoby83O2YAZs2bcKmTZsueH3fvn1jO9ERGLiY765brbGtA9Vo4j8sNCHO/x3l7yMFKi4BNgoXu5jPJZFoorn+jvL3kQIVlwAjIiJFY6IjIiJF40eXMhtY1YKrT9BY85ffLU/3rOPediQXVnQycl3VgqtP0Fjyp98tT/es4952JBdWdDLiXnMkF3/73fJ0zzrubUdyYEVHRESKxkRHRESKxkRHRESKxmt0XrC9WgsAsC4xTfBMiIYndzemr+xl524ZPnZskitWdF5o+rQDTZ92TPQ0iIY1Ht2YvrKXnes8XLFjk87Hio5IQcarG9NX9rIbah7s2KTzsaIjIiJFY6IjIiJF40eXRAHEk0aVgTGA/E0d7hpbXOcx3Dx9eekz8h2s6IgChCeNKq5jxqOpY7jGFtd5DMfXlz4j38GKjihAeNKo4jpmvJo6hmoo8bclzsi3saIjIiJFY6IjIiJFY6IjIiJF4zU6L/nLZpdEY2GozkdPOzaHG+86Rq6/Rxfr2CTfovlapKxLK7Ki84I/bXZJNFrDdT560rE53Pjzx8jx98iTjk0KLCohhJjoSRAREclF1oqusrISOp0OWq0W+fn56Ovr82rMmjVroNVqkZCQgF27dkmvNzU1IS0tDQkJCZg3bx5aWlrkDIOIiPyYbInO6XTCYrFg586daGhoQFdXF0pKSjweU1FRgUOHDuHDDz9EZWUlVq1ahc7OTgDA2rVrYTabUV9fj2XLluHBBx+UKwwiIvJzsiW6mpoaqNVq6PV6AIDFYkFZWZnHY8rKypCbm4uQkBBMnz4dqampqKiogBAC5eXlyMnJAQAsX74cr7/+ulxhEBGRn5Mt0TkcDmg0X1xkjomJgcPh8HjMcO+1t7cjIiICYWFhAICIiAiEhobi9OnTF8zBZrNBp9NJXzabbUxjJCIi3yfr7QUqlUp6PFzPi7sxw73n+rq7c1utVlitVs8nTEREiiNbRafRaNDY2Cg9dzgcUKvVHo8Z7r2oqCh0dXWhp6cHANDd3Y3e3l5MnjxZrlCIiMiPyZboTCYTmpubUVdXBwAoLi5GVlaWx2OysrKwbds2OJ1OtLS0oLq6GjfffDNUKhUyMzOlppVt27Zh0aJFcoVBRER+TrZEFxwcjKKiImRnZ0Or1SI8PBxmsxm1tbVYsGCB2zEAcNNNN2H27Nm48sorMW/ePGzevBmXXnopAKCwsBDbt29HQkICduzYgYKCArnCICIiP8cbxomISNG4BNgYCdSOzkCMOxBjBhh3IFFazKzoxohOp5OuNQaSQIw7EGMGGHcgUVrMrOiIiEjRmOiIiEjRmOjGSKDemB6IcQdizADjDiRKi5nX6IiISNFY0RERkaIx0RERkaIx0XmpqakJN9xwA66++mokJiZi/fr10nvDbRSrND/4wQ8QEvLFeuBKjrurqws5OTlISEjAVVddhS1btgBQdswA8Kc//QlGoxFGoxEpKSn45z//CUB5cf/oRz+CWq0e9PsMKHvT56FifvHFF5GcnAyDwYBZs2ahqqpKek8JMUOQV1paWkRNTY0QQogzZ86I9PR08dprr4k333xTpKWlid7eXuFwOIRarRYdHR0TPNux95e//EXk5OSI4OBgIYRQfNzf+973xC9+8QshhBD9/f2ira1N8TELIYRGoxF1dXVCCCG2bNkisrOzFRn3/v37RWtrq/T7LIT73+nvfOc7YsuWLUIIIWw2m8jJyZmQeY/GUDEfOHBAtLe3CyGE+Mc//iGmTp0qnE6nEEIZMTPRjdIPf/hD8dRTT4mVK1eK559/Xnr9jjvuELt27ZrAmY29np4ekZKSIj799FPpL4mS4+7o6BCXX3656O3tHfS6kmMeEBMTIw4dOiSEEGLTpk3iRz/6kaLjdv1Hf7g4+/v7xeTJk8Xnn38uhBCiq6tLfPnLXx73uY4V15hdDcR5+vRpxcTMjy5Hob29Hbt378aNN97o0Uaz/u7RRx+FxWLBZZddJr2m5Lg/+ugjTJ06FT/84Q9xzTXXYPHixThx4oSiYx5QUlKCzMxMaDQaPP/883j44YcDIm5gbDZ99mcvvfQS9Ho9IiMjFRMzE90InTlzBtnZ2bjvvvtw9dVXA/Bso1l/deTIEbz33nvIy8u74D2lxt3b2wu73Y7Fixfj8OHDuPXWW5Gfnw9AuTEDgNPpxOOPP47Kyko0NTVhzZo1yMnJAaDsuF2NdtNnf3X48GGsX78eW7dulV5TQsxMdCPgdDrx3e9+FyaTCatWrQLg2Uaz/uzAgQOoq6vDjBkzEBcXB6fTibi4OEXHrdFoMGXKFMyfPx8AcOedd+Lw4cOKjhkA/va3v6GjowNJSUkAgLvuugtVVVWKj3tAoG76XF9fj6VLl6K0tBTx8fEAoJyYJ/BjU7+Vn58v8vLyRH9/v/RaRUWFSE9PF319faK5uVloNBq/v1DvzsDn+0qPOz09XWo+2r17t0hJSVF8zC0tLSIqKko4HA4hhBCvvfaauPbaaxUdt+v1Kndx3nnnneK3v/2tEEKIZ555xi8bMwa4xtzU1CS0Wq2oqKi4YJwSYmai81J1dbUAIBITE0VycrJITk4WTz75pBBCiNWrV4srrrhCaLVa8corr0zwTOXl+pdEyXF/8MEH4vrrrxdJSUkiLS1N6kRUcsxCCFFcXCx0Op0wGAwiJSVF2O12IYTy4r777rvF9OnTBQAxffp0cffddwshho+zsbFRpKamivj4eJGWlib9Z8CfDBXzihUrRGRkpPRvWnJysvj444+FEMqImUuAERGRovEaHRERKRoTHRERKRoTHRERKRoTHRERKRoTHRERKRoTHZEXVCoVcnNzpefV1dX4xje+MWbnf+SRR/Dzn/98zM7nzsmTJ3H99ddj5syZsu1EEBcXp8hlwsi/hFx8CBENCAoKQlVVFY4fPy6tHuFLnE4ngoODPRr71ltvITY2Fi+//LLMsyKaWKzoiLygUqmwZs0abNy48YL3tm7dihUrVkjPV6xYIa0ZmJubi+9///u48cYbERsbi9LSUvz85z/HzJkzMWvWLLS2tkrHHTt2DOnp6UhISMD9998vvX7kyBFkZGTg2muvxdy5c3H06FEA56pAi8WC+fPn44YbbrhgXtXV1TCZTDAYDMjMzERrayvee+89rF69Gvv27YPRaMSJEycGHbN7924YDAYYjUYkJyfjk08+AQC8+uqrSE5ORlJSEu688050dnYCOFcdLlu2DElJSTAYDPj9738/6HxOpxP5+fn46U9/CiEEHn74Yej1ehgMBtx0001e/AkQjcAE37BO5FeCg4PFmTNnRFxcnPjnP/8p9u/fL+bNmyeEEOKFF14QFotFGmuxWMQLL7wghBBi+fLl4tZbbxVOp1P8/e9/F+Hh4WLHjh1CiHOrcDzyyCNCCCEefvhhER8fL06fPi3OnDkj5syZI9544w1x9uxZMXv2bGlVikOHDonrrrtOOkan0w25HFdPT49Qq9Xir3/9qxBCiF/+8pdi2bJlQ87XlcFgEI2NjUIIIbq7u8Xnn38uWltbxbRp08Qnn3wihDi3RdXatWuFEOeWiXr00Uel40+ePCmEECI2NlY0NDSIJUuWSO+fOnVKxMfHS/udnTp1yrMfPtEIsaIj8lJoaCgeeOCBIas6dxYvXoygoCAkJSWhp6cHS5YsAQAYjUZ8/PHH0rjbbrsNkZGRCA0NxbJly/DOO+/g2LFj+OCDD5CZmQmj0YiVK1fi3//+t3TMrbfeiksvvfSC73ns2DFMmzYN11xzDQDAYrHg7bffvuhc582bh7y8PDz77LM4efIkwsLC8N577yE1NRUxMTEXnOvNN9/ET37yE+n4qKgo6XF2djbmzp2Ln/3sZwCAyMhIREZGwmKxoLS01OOPWolGiomOaATy8/Px/vvv44MPPpBeCwkJQX9/v/T8zJkzg4655JJLAJz7+FOlUknPg4KC0NfXN+z3UqlUEELgiiuugN1ul75cV9j/0pe+NOSxYogV/s7fdmUoTz31FJ544gl0dHQgLS0NBw4cuOi5hjtveno6KioqpBXwg4ODcfDgQdx1112ora1FcnKy3+1vRv6FiY5oBCZNmoR169ahoKBAem3GjBn4+9//DqfTiVOnTqGqqmpE5969ezc6Ojpw9uxZvPzyy0hPT8dVV12Fzs5O7Nu3D8C5BGa32y96rquuugqtra04fPgwAOD555/HN7/5zYseV19fj5kzZ2Lt2rW4+eabYbfbMXv2bFRXV0sJ1vVc3/rWt/DrX/9aOv7UqVPS49WrV2PevHlYsmQJzpw5g87OTrS3t+OGG27Apk2bEBYWxs5MkhUTHdEILV++HJMmTZKez507F4mJiUhMTMSKFSukjwu9lZ6ejttvvx1JSUlISUnBwoULMWnSJOzevRuPPfYYkpOTodfrPbol4JJLLsFLL72Eu+++GwaDAW+99daghDScNWvWIDExEUajEW1tbbjrrrswbdo02Gw2LFy4EElJSWhvb8dDDz0EAHjyySdx9OhRJCYmIjk5GXv37h10vnXr1mHOnDnIysrCqVOnsHjxYhgMBhgMBixevBh6vX5EPysiT3D3AiIiUjRWdEREpGhMdEREpGhMdEREpGhMdEREpGhMdEREpGhMdEREpGhMdEREpGhMdEREpGj/B3916gYpuMbmAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Solution\n", "\n", "posterior_n_socks.plot(label='posterior', drawstyle='steps')\n", "\n", "decorate(xlabel='Number of socks',\n", " ylabel='PMF')" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "remove-print" ] }, "source": [ "*Think Bayes*, Second Edition\n", "\n", "Copyright 2020 Allen B. Downey\n", "\n", "License: [Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)](https://creativecommons.org/licenses/by-nc-sa/4.0/)" ] } ], "metadata": { "celltoolbar": "Tags", "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "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.11.13" } }, "nbformat": 4, "nbformat_minor": 4 }