{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Think Bayes\n", "\n", "This notebook presents example code and exercise solutions for Think Bayes.\n", "\n", "Copyright 2018 Allen B. Downey\n", "\n", "MIT License: https://opensource.org/licenses/MIT" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Configure Jupyter so figures appear in the notebook\n", "%matplotlib inline\n", "\n", "# Configure Jupyter to display the assigned value after an assignment\n", "%config InteractiveShell.ast_node_interactivity='last_expr_or_assign'\n", "\n", "# import classes from thinkbayes2\n", "from thinkbayes2 import Pmf, Suite\n", "\n", "import thinkbayes2\n", "import thinkplot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The Dungeons and Dragons club\n", "\n", "Suppose there are 10 people in my *Dungeons and Dragons* club; on any game day, each of them has a 70% chance of showing up.\n", "\n", "Each player has one character and each character has 6 attributes, each of which is generated by rolling and adding up 3 6-sided dice.\n", "\n", "At the beginning of the game, I ask whose character has the lowest attribute. The wizard says, \"My constitution is 5; does anyone have a lower attribute?\", and no one does.\n", "\n", "The warrior says \"My strength is 16; does anyone have a higher attribute?\", and no one does.\n", "\n", "How many characters are in the party?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The prior\n", "\n", "There are three ways to compute the prior distribution:\n", "\n", "* Simulation\n", "\n", "* Convolution\n", "\n", "* Analytic distribution\n", "\n", "First, simulation. Here's a function that flips a coin with probability `p`:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from random import random\n", "\n", "def flip(p):\n", " return random() < p" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can use it to flip a coin for each member of the club." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[False, True, False, True, False, False, True, False, False, True]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "flips = [flip(0.7) for i in range(10)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And count the number that show up on game day." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sum(flips)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's encapsulate that in a function that simulates a game day." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "def game_day(n, p):\n", " flips = [flip(p) for i in range(n)]\n", " return sum(flips)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "8" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "game_day(10, 0.7)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we run that function many times, we get a sample from the distribution of the number of players." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sample = [game_day(10, 0.7) for i in range(1000)]\n", "pmf_sample = Pmf(sample)\n", "thinkplot.Hist(pmf_sample)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The second method is convolution. Instead of flipping a coin, we can create a `Pmf` object that represents the distribution of outcomes from a single flip." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "def coin(p):\n", " return Pmf({1:p, 0:1-p})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's what it looks like." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 0.30000000000000004\n", "1 0.7\n" ] } ], "source": [ "player = coin(0.7)\n", "player.Print()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we have two players, there are three possible outcomes:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 0.09000000000000002\n", "1 0.42000000000000004\n", "2 0.48999999999999994\n" ] } ], "source": [ "(player + player).Print()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we have 10 players, we can get the prior distribution like this:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 5.9049000000000085e-06\n", "1 0.00013778100000000018\n", "2 0.0014467005000000017\n", "3 0.009001692000000009\n", "4 0.036756909000000025\n", "5 0.10291934520000004\n", "6 0.20012094900000005\n", "7 0.26682793200000005\n", "8 0.2334744405\n", "9 0.12106082099999994\n", "10 0.028247524899999984\n" ] } ], "source": [ "prior = sum([player]*10)\n", "prior.Print()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can compare the results of simulation and convolution:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "thinkplot.Hist(pmf_sample, color='C0')\n", "thinkplot.Pmf(prior, color='C1')\n", "\n", "thinkplot.decorate(xlabel='Number of players',\n", " ylabel='PMF')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we can use an analytic distribution. The distribution we just computed is the [binomial distribution](https://en.wikipedia.org/wiki/Binomial_distribution), which has the following PMF:\n", "\n", "$ PMF(k; n, p) = P(k ~|~ n, p) = {n \\choose k}\\,p^{k}(1-p)^{n-k}$\n", "\n", "We could evalate the right hand side in Python, or use `MakeBinomialPmf`:\n", "\n" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Help on function MakeBinomialPmf in module thinkbayes2.thinkbayes2:\n", "\n", "MakeBinomialPmf(n, p)\n", " Evaluates the binomial PMF.\n", " \n", " n: number of trials\n", " p: probability of success on each trial\n", " \n", " Returns: Pmf of number of successes\n", "\n" ] } ], "source": [ "help(thinkbayes2.MakeBinomialPmf)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And we can confirm that the analytic result matches what we computed by convolution." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3X+YVNWd5/H3p6oFjEYUQVSgg664UYdJ3LRmjD6JKybRJWrioxt0nTA+7mLcMMZx3ahjEqMuu2ocx8nqGh2jMT/UqNEMGTSOCzpJxkSBxJWgo0FioEURRfEnYFd994+6FNVNQ7d03bq3bn9ez1NPn6pzbt3vbej+9jl17jmKCMzMzPKmlHUAZmZm/XGCMjOzXHKCMjOzXHKCMjOzXHKCMjOzXHKCMjOzXHKCMjOzXHKCMjOzXHKCMjOzXOrIOoBmGTt2bEyePDnrMMzMbACLFy9+OSLGDdSuMAlq8uTJLFq0KOswzMxsAJL+OJh2HuIzM7NccoIyM7NccoIyM7NccoIyM7NccoIyM7NccoIyM7NccoIyM7NcKsx9UGaWA0/9lNVP/JDLNtRucxmnDi4u792ryYrYyJWVFwGYpBGcX96zV/0zsZ5vVV4CYD+N5Jzy+F71S6rvcEN1DQAHaUfOKif3e3aMhKknwwHHNf2yLBvuQZlZ8yy5C3o2ZnPung2181thOEGZWfP0bBje57em8hCfmTXVeO3AtR2dcOqP+q3vBK7dxvH7D1A/tZ/6hT/4TL18yODCtDbgBGVmbe/W6iv1shNUcXiIz8zMcsk9KDNrmot6nq+X57TwvB/R+1p4NmsVJygza5p1VDI57+nlsZmc19LlIT4zM8sl96DMrGnmlCdkHYIViBOUmTXNaJWzDsEKxAnKzNreL6tv1stHZBiHNVeqn0FJOkbS05KWSbqgn/pzJT0p6QlJ8yV9oKGuIunx5DE3zTjNrL3dUV1bf1hxpNaDklQGrgM+CXQDCyXNjYgnG5r9FuiKiLclnQVcCXw+qXsnIj6cVnxmZpZvaQ7xHQosi4jlAJLuAE4A6gkqIh5qaP9r4LQU4zGzlJ3bs7JevrqF5/2Ydm7h2axV0kxQE4CVDc+7gY9uo/0ZwP0Nz0dJWgT0AJdHxE/6HiBpFjALoLOzc8gBm9nQbCQyOe+p5TGZnNfSlWaCUj+v9fu/V9JpQBfwiYaXOyNilaR9gQWSlkTEs73eLOJG4EaArq6ubH4yzMwsFWkmqG5gUsPzicCqvo0kHQ1cBHwiIupr5UfEquTrckkPAwcDz/Y93szy46ryxKxDsAJJcxbfQmCKpH0kjQBmAL1m40k6GLgBOD4iXmp4fTdJI5PyWOBwGj67MrN8GqVS/WE2VKn1oCKiR9Js4AGgDNwcEUslXQosioi5wDeBnYG7JAGsiIjjgQOAGyRVqSXRy/vM/jMzq5tffb1enpZhHNZcqd6oGxH3Aff1ee3rDeWjt3LcI9T2JTMzG9C91dfqZSeo4nA/3MzMcslLHZlZ08zuWVEvb2vb9mY7qvT+Fp7NWsUJysza3oml3bIOwVLgIT4zM8sl96DMrGmu7fCKLtY87kGZmVkuuQdlZm1vXnUda6OHR+Mtjv3BMUwvje5Vf0/1VRZU3wDgc6VdmVbapVf9bZW1PBK1PaVmlMZwRKn34rO3VF5mcbwNwMzS7hxS2mlzZcdImHoyHHBcsy9r2HMPysza3vx4i0fjrWxO3rMBltyVzbkLzgnKzJpmfVTrj1aavu90Rqj1A0LXV9bUHhu6W37u4UARxVgEvKurKxYtWpR1GGbD2uzvHVYvX/uFX2UYSWsMt+ttFkmLI6JroHbuQZmZWS55koSZNc2IfreBK64zS+OyDqHQnKDMrGmu7pg0cKMCmVraMesQCs1DfGZmlktOUGZmlktOUGZmlkv+DMrMmmZdVOrl0dtoVxTXVFbXy+dkGEdROUGZWdNcVHm+Xm7lflBZWRYbsg6h0DzEZ2ZmueQelJk1zWjKWYfQUmeX98g6hEJzgjKzppnTMSHrEFpqf43KOoRC8xCfmZnlkhOUmZnlkhOUmZnlkj+DMrOmWR3v1svjM4yjVa6ovFgvn59hHEXlBGVmTXNZ5YV6eTjcB7UyNmYdQqF5iM/MzHLJPSgza5pxGWy7nqWvlPfMOoRCG17/m8wsVReX9846hJbq1IisQyg0D/GZmVkupZqgJB0j6WlJyyRd0E/9uZKelPSEpPmSPtBQN1PS75PHzDTjNDOz/EktQUkqA9cBxwIHAqdIOrBPs98CXRHxp8DdwJXJsWOAi4GPAocCF0vaLa1Yzcwsf9L8DOpQYFlELAeQdAdwAvDkpgYR8VBD+18DpyXlTwMPRsTa5NgHgWOA21OM16w4nvopLLkLejZvB3FL5WUWx9sAzCztziGlnXodcn1lDUvjHQDOLI1jamnHXvXXVFbXt5c4u7zHFuvQXVF5kZWxkf9cGssYddDZ9IvKn0sqq+rlizOMo6jSTFATgJUNz7up9Yi25gzg/m0cu8UqlJJmAbMAOjuHw4+D2SD1SU6tdFP1ZUaog6szOXtrrYmerEMotDQTlPp5LfptKJ0GdAGfeC/HRsSNwI0AXV1d/b632XD0y42v1MtHlHZu6blHqIPp+05v6TmtmNJMUN3ApIbnE4FVfRtJOhq4CPhERH17ym7gyD7HPpxKlGYFdEd1bb18xGnzADg9eWzNWQO850Bbmg/HpX6+Vt4r6xAKLc1ZfAuBKZL2kTQCmAHMbWwg6WDgBuD4iHipoeoB4FOSdksmR3wqec3MLDfGa4f6w5ovtR5URPRImk0tsZSBmyNiqaRLgUURMRf4JrAzcJckgBURcXxErJV0GbUkB3DppgkTZjawj6m1w3pmaUh1JYmIuA+4r89rX28oH72NY28Gbk4vOrPiOrU8JusQzIbMK0mYmVkueS0+M7PtdFHP8/XynAzjKConKDOz7bSOStYhFJoTlFkBza++Xi9PyzAOs6FwgjIroHurr9XLTlDpmVPeYoEbayInKDOz7TRa5axDKDQnKLMCOqr0/qxDMBsyJyizAjqx5N1prP35PigzM8sl96DMzLbTuT2bdwUaDtuLtJoTlJnZdtrY/w5C1iROUGYFNK+6rl72zkzWrpygzArofieolriqPDHrEArNCcrMbDuNkueZpckJyqyAji2NzjoEsyFzgjIroOlOUFYA7p+amVkuuQdlZradZvesqJevzTCOonIPyszMcsk9KLMCuqf6ar18YoZxmA2FE5RZAS2ovlEvO0Gl59qOzqxDKDQP8ZmZWS65B2VWQJ8r7Zp1CGZD5gRlVkDTSrtkHYLZkDlBmZltp/VRrZdHZRhHUTlBmZltp/Mq3fWy74NqPk+SMDOzXHIPyqyAbqusrZdPzTCOohuBsg6h0JygzArokXizXnaCSs/VHZOyDqHQPMRnZma55B6UWQHNKI3JOgSzIUu1ByXpGElPS1om6YJ+6j8u6TeSeiSd1KeuIunx5DE3zTjNiuaI0s71h1m7Sq0HJakMXAd8EugGFkqaGxFPNjRbAfwFcF4/b/FORHw4rfjMzIZqXVTqZW8R2XxpDvEdCiyLiOUAku4ATgDqCSoinkvqqv29gZlZnl1Ueb5e9n1QzZfmEN8EYGXD8+7ktcEaJWmRpF9L+mx/DSTNStosWrNmzVBiNTOznEmzB9XfDQLxHo7vjIhVkvYFFkhaEhHP9nqziBuBGwG6urrey3ubFdotlZfr5dMzjKPoRlPOOoRCSzNBdQONNwlMBFYN9uCIWJV8XS7pYeBg4NltHmRmACyOt+tlJ6j0zOl4L4NC9l6lOcS3EJgiaR9JI4AZwKBm40naTdLIpDwWOJyGz67MzKz4UutBRUSPpNnAA0AZuDkilkq6FFgUEXMlHQLcC+wGHCfpkog4CDgAuCGZPFECLu8z+8/MtmFmafesQzAbslRv1I2I+4D7+rz29YbyQmpDf32PewSYmmZsZkV2SGmnrEMwG7JtDvFJ+m5DeWbq0ZiZtZHV8W79Yc03UA/qQw3lLwO3phiLmVlbuazyQr3s+6Cab6BJEp66bWZmmRioBzVR0reo3dO0qVwXEWenFpmZbbfrK5tvXD8rwziKbpy83naaBvru/veG8qI0AzGz5lka72QdwrBwcXnvrEMotG0mqIjwZ05mZpaJbSaogba5iIjjmxuOmTXDmaVxWYdgNmQDDfEdRm3B19uBR+l/fT0zy5mppR2zDsFsyAZKUHtS28/pFOBUYB5we0QsTTswM7O8WxEb6+XODOMoqoE+g6oAPwN+lqyNdwrwsKRLI+J/tyJAM7O8urLyYr3s+6Cab8A5kklimk4tOU0GvgXck25YZmY23A00SeJW4E+A+4FLIuJ3LYnKzIbkmsrqevmcDOMoukkakXUIhTZQD+rPgbeA/YEvS9q0soSAiIhd0gzOzLbPstiQdQjDwvnlPbMOodAG+gwqzf2izMzMtmqgIb5RwBeB/YAnqO3p1NOKwMxs+51d3iPrEMyGbKAhvluBd4FfAP8BOIjaquZmlmP7a1TWIZgN2UAJ6sCImAog6TvAY+mHZGbWHp6J9ayNHn5QXct+3z+Sc8rje9Uvqb7DDdXawr0HaUfOKvde4WNh9S1urb4CwEf0Pk4vj+1V/8vqm9xRXQvAx7Qzp5bH9A6gYyRMPRkOOK6Zl5UbAyWo+i5cyRbuKYdjZtY+vl1dy8aMPvWYX30dNgKP/z3ThmmC+pCk15OygB2T557FZ2bD3vR9pzNv+bxMktS91ddqhSpMa/nZW2OgWXzlVgViZs1zRcMKB+dnGEfRTTv8AqYdfsFW66ey7RUmDkkeW3NE8ujX9w4bKLy25922zApoZcMacVZMR5Xen3UIqXOCMjNrQyeWdss6hNQ5QZkV0Fe8woEVgBOUWQF1eo04KwAvZWRmZrnkHpSZWRuaV11XL0/PMI40OUGZmbWh+52gzKwdXVJZVS9fnGEcZkPhBGVWQGu86UDhHVsanXUIqXOCMjNrQ9OdoIZG0jHA3wFl4KaIuLxP/ceBa4A/BWZExN0NdTOBryZP/0dE3JpmrGZpmP8vl/daq+2q8kRGqffk2dk9K+rlazs6e9WtjyrnVboBGIG4umNSr/p1UeGiyvMAjKbMnI4JAHytvFdzL8QsA6klKEll4Drgk0A3sFDS3Ih4sqHZCuAvgPP6HDuG2tB5FxDA4uTYV9OK1ywNC/5wP0Sl5ecdrx1qhY6RLT+3WbOkeR/UocCyiFgeERuBO4ATGhtExHMR8QRQ7XPsp4EHI2JtkpQeBI5JMVazVMwp7clF5b0Yk8Vo+qa9gszaVJo/NROAlQ3Pu4GPDuHYCX0bSZoFzALo7OzsW22WC7urg0s79oZTf9Rv/bZWux41QP3oAeqtuO6pbh5QOjHDONKUZg+qv90No5nHRsSNEdEVEV3jxo3r5xAzs2JaUH2j/iiqNBNUN9D4ie5EYNVW2jbzWDMzK4A0h/gWAlMk7QM8D8wATh3ksQ8A/1PSpvXkPwVc2PwQzdK1rmGCRPEnBVsrfa60a9YhpC61BBURPZJmU0s2ZeDmiFgq6VJgUUTMlXQIcC+wG3CcpEsi4qCIWCvpMmpJDuDSiFibVqxmadk0BRz8WZE117TSLlmHkLpUpxZFxH3AfX1e+3pDeSG14bv+jr0ZuDnN+MzMLL+8koRZikZTzjoEs7blBGWWok0rO5jZe+cEZWbWhm6rbP5YfrCzz9qNE5SZWRt6JN6sl4uaoLzlu5mZ5ZJ7UGYpWh3v1svjM4zDimdGaUzWIaTOCcosRZdVXqiXfR+UNdMRpZ2zDiF1HuIzM7Nccg/KLEXj5B8xs+3lnx6zFF1c3jvrEMzalhOUmVkbuqXycr18eoZxpMkJysysDS2Ot+vloiYoT5IwM7Nccg/KLEUrYmO93JlhHFY8M0u7Zx1C6pygzFJ0ZeXFetn3QVkzHVLaKesQUuchPjMzyyX3oMxSNEkjsg7BrG05QZml6PzynlmHYNa2nKDMzNrQ9ZU19fJZGcaRJicoM7M2tDTeyTqE1HmShJmZ5ZJ7UGYpeibW18v7ZxiHFc+ZpXFZh5A6JyizFH2r8lK97PugrJmmlnbMOoTUeYjPzMxyyT0osxTtp5FZh2DWtpygzFJ0Tnl81iGYtS0nKDOzNnRNZXW9fE6GcaTJCcrMrA0tiw1Zh5A6T5IwM7Nccg/KLEVLqpvv9p+aYRxWPGeX98g6hNQ5QZml6Ibq5vXSfB+UNdP+GpV1CKlLdYhP0jGSnpa0TNIF/dSPlPSjpP5RSZOT1ydLekfS48nj22nGaWZm+ZNaD0pSGbgO+CTQDSyUNDcinmxodgbwakTsJ2kGcAXw+aTu2Yj4cFrxmbXCQSr+3f5maUlziO9QYFlELAeQdAdwAtCYoE4AvpGU7waulaQUYzJrqbPKxV8vzSwtaSaoCcDKhufdwEe31iYieiStA3ZP6vaR9FvgdeCrEfGLvieQNAuYBdDZ2dnc6M3McuyKyov18vkZxpGmNBNUfz2hGGSbF4DOiHhF0keAn0g6KCJe79Uw4kbgRoCurq6+721mVlgrY2PWIaQuzUkS3cCkhucTgVVbayOpAxgNrI2IDRHxCkBELAaexbsVmJkNK2n2oBYCUyTtAzwPzABO7dNmLjAT+BVwErAgIkLSOGqJqiJpX2AKsDzFWM1SsbD6Vr18SIZxWPF8pbxn1iGkLrUElXymNBt4ACgDN0fEUkmXAosiYi7wHeD7kpYBa6klMYCPA5dK6gEqwBcjYm1asZql5dbqK/WyE5Q1U6dGZB1C6lK9UTci7gPu6/Pa1xvK64GT+znux8CP04zNzMzyzStJmKXoI3pf1iGYtS0nKLMUnV4em3UIZm3LCcrMrA1dUtk8KfriDONIkxOUDQ9P/RSW3AU9G5hffZ17q68BcFTp/ZxY2q1X03nVddxfXQfAsaXRTC+N7lV/T/VVFlTfAOBzpV2ZVtqlV/1tlbU8Em8CMKM0hiNKO6dySTa8rYmerENInfeDsuEhSU6Z6RiZ3bnN2pR7UDY8ZJ2cpm4xWdVsSL5W3ivrEFLnBGXDzrTT7mfaNuqnJ4+tOTF5bM2pbHlHulmzjdcOWYeQOicoGxZuq2y+z9vJw6w9OEHZsLBp0gI4QZm1C0+SMDOzXHIPyoaFGaUxWYdg1lQX9TzPOioAzPnhSYxWuVf9uT0r2ZjscHRVeSKj1Ls/MrtnRb18bUfv/fTWR5XzKt0AjEBc3TGpV3194s8BxzXlWrbGCcqGBd+LZEXzjrTlDnstsC4q8O7b8MTtjHaCMjOzvqbvO515y+exscU37F5Ueb5WqMC1KZ/LCcrMrA1NO/wCph1+wVbrrx7g+G0ll1Hbqv/eYQO8c/M4QZmZ2aCNpjxwoyZxgrJh4ZbKy/Xy6RnGYdbu5nRMaNm5nKBsWFgcb9fLTlBm7cH3QZmZWS65B2XDwszS7lmHYGbvkROUDQuHlHbKOgSzQlgd79bL41M+lxOUmZkN2mWVF+rltO+D8mdQZmaWS+5BmZnZoI1T69KGE5QNC9dX1tTLZ2UYh1m7u7i8d8vO5QRlw8LSeCfrEMzsPXKCspaa/y+XM2/5PHaM2OKO9NXxbv0D2HHq2OIvtRWxkSsrLwIwSSM4v7xnr/pnYj3fqrwEwH4ayTnltOcYmVmanKCspTatvryxxec9szSuVujYocVnNrPt5QRlLdXqrQE2mVracfMma2a23VbE5j8vO7fRrhmcoKyl5pQbhvVO/VGvuvFs+76KzgHq9x+g3syGbtMwO3g/KCuYvttSm5ltTao36ko6RtLTkpZJ2mJnLUkjJf0oqX9U0uSGuguT15+W9Ok04zQzs8GZpBH1R9pS60FJKgPXAZ8EuoGFkuZGxJMNzc4AXo2I/STNAK4APi/pQGAGcBCwN/B/Je0fEZW04h12nvopLLkLejYAcFHP86yj9u2dU56wRU/n3J6VbCQAuKo8kVHq/bfN7J4V9fK1Hb1HptdHlfMq3QCMQFzdMam512JmLdN39mya0hziOxRYFhHLASTdAZwANCaoE4BvJOW7gWslKXn9jojYAPxB0rLk/X6VWrS3fZ551XXcX10HwLGl0Uwvje7V5J7qqyyovgHA50q7Mq20S++3qKzlkXgTgBmlMRxR2rlX/S2Vl+v7Es0s7b7FAqbXV9bU79c5szSu9sF+g2sqq1kWtYRydnkP9teoXvVXVF5kZfIB5lfKe9LZ5y+cSyqrWJNMUvhaeS/GK8MZbR0jszu3mbWFNIf4JgArG553J6/12yYieoB1wO6DPBZJsyQtkrRozZo1fastrzybzswGIc0elPp5LQbZZjDHEhE3AjcCdHV1bVFvA9iUKA44jjkDNL16gPptzeYZNUC9mVl/FJHO73VJhwHfiIhPJ88vBIiI/9XQ5oGkza8kdQAvAuOACxrbNrbb2vm6urpi0aJFqVyLmZk1j6TFEdE1ULs0h/gWAlMk7SNpBLVJD3P7tJkLzEzKJwELopYx5wIzkll++wBTgMdSjNXMzHImtSG+iOiRNBt4ACgDN0fEUkmXAosiYi7wHeD7ySSItdSSGEm7O6lNqOgBvuQZfGZmw0tqQ3yt5iE+M7P2kIchPjMzs+3mBGVmZrnkBGVmZrnkBGVmZrnkBGVmZrlUmFl8ktYAf8wwhLHAyxmev9V8vcXm6y2+LK/5AxExbqBGhUlQWZO0aDDTJovC11tsvt7ia4dr9hCfmZnlkhOUmZnlkhNU89yYdQAt5ustNl9v8eX+mv0ZlJmZ5ZJ7UGZmlktOUGZmlktOUE0g6RhJT0taJumCrONJk6RJkh6S9JSkpZK+nHVMrSCpLOm3kv4x61jSJmlXSXdL+tfk3/mwrGNKk6S/Sv4v/07S7ZJGZR1TM0m6WdJLkn7X8NoYSQ9K+n3ydbcsY9waJ6ghklQGrgOOBQ4ETpF0YLZRpaoH+G8RcQDwZ8CXCn69m3wZeCrrIFrk74CfRcQHgQ9R4OuWNAE4G+iKiD+htnfdjGyjarrvAsf0ee0CYH5ETAHmJ89zxwlq6A4FlkXE8ojYCNwBnJBxTKmJiBci4jdJ+Q1qv7wmZBtVuiRNBKYDN2UdS9ok7QJ8nNpmokTExoh4LduoUtcB7CipA3gfsCrjeJoqIn5ObUPYRicAtyblW4HPtjSoQXKCGroJwMqG590U/Bf2JpImAwcDj2YbSequAb4CVLMOpAX2BdYAtyRDmjdJ2inroNISEc8DVwErgBeAdRHxT9lG1RLjI+IFqP3RCeyRcTz9coIaOvXzWuHn7kvaGfgxcE5EvJ51PGmR9BngpYhYnHUsLdIB/Dvg+og4GHiLnA7/NEPy2csJwD7A3sBOkk7LNirbxAlq6LqBSQ3PJ1KwIYK+JO1ALTn9MCLuyTqelB0OHC/pOWrDt0dJ+kG2IaWqG+iOiE294rupJayiOhr4Q0SsiYh3gXuAj2UcUyuslrQXQPL1pYzj6ZcT1NAtBKZI2kfSCGofsM7NOKbUSBK1zyeeioirs44nbRFxYURMjIjJ1P5tF0REYf/CjogXgZWS/m3y0jTgyQxDStsK4M8kvS/5vz2NAk8KaTAXmJmUZwL/kGEsW9WRdQDtLiJ6JM0GHqA2A+jmiFiacVhpOhz4c2CJpMeT1/46Iu7LMCZrrr8Efpj8wbUcOD3jeFITEY9Kuhv4DbUZqr+lDZYAei8k3Q4cCYyV1A1cDFwO3CnpDGpJ+uTsItw6L3VkZma55CE+MzPLJScoMzPLJScoMzPLJScoMzPLJScoMzPLJScoGzYkhaS/aXh+nqRvNOm9vyvppGa81wDnOTlZYfyh93DMc5LGphmXWRqcoGw42QCcmLdf1smK+IN1BvBfI+LfpxXPe/Ue4zcbNCcoG056qN2E+Vd9K/r2gCS9mXw9UtI/S7pT0jOSLpf0nyQ9JmmJpH/T8DZHS/pF0u4zyfFlSd+UtFDSE5LObHjfhyTdBizpJ55Tkvf/naQrkte+DhwBfFvSN/u0P1LSzyXdK+lJSd+WtMXPt6SfSFqc7H80K3ntDEl/29Dmv0i6Oimfllzr45Ju2JSMJL0p6VJJjwKHJd+XJ5NrvGpQ/xpmA4kIP/wYFg/gTWAX4DlgNHAe8I2k7rvASY1tk69HAq8BewEjgeeBS5K6LwPXNBz/M2p/9E2htqbdKGAW8NWkzUhgEbWFSY+kthDrPv3EuTe1u/vHUVvtZQHw2aTuYWp7F/U95khgPbXVyMvAg5uuJ7nesUl5TPJ1R+B3wO7ATsCzwA5J3SPAVOAA4KcNr/8f4AtJOYD/uOk9gafZfOP/rln/W/tRjId7UDasRG3l9e9R26RusBZGbR+sDdR+kW/ajmEJMLmh3Z0RUY2I31NbIuiDwKeALyTLQj1KLSFMSdo/FhF/6Od8hwAPR20B0x7gh9T2aBrIY1Hbl6wC3E6tt9XX2ZL+H/BraoscT4mIt6glwc9I+iC1hLSE2rp0HwEWJvFPo5YAASrUFgwGeJ1acrxJ0onA24OI1WxAXovPhqNrqK29dkvDaz0kQ97JoqEjGuo2NJSrDc+r9P4Z6rtuWFDbjuUvI+KBxgpJR1LrQfWnvy1cBqO/8/c959HAYRHxtqSHqfXyoLYZ418D/8rm74uAWyPiwn7OtT5JhERtPcpDqSWwGcBs4KjtvAazOvegbNiJiLXAndQmHGzyHLXeAtT2B9phO976ZEml5HOpfakNez0AnJVsUYKk/QexAeCjwCckjU0+8zkF+OdBnP/QZFX9EvB54Jd96kcDrybJ6YPAn22qiNr2GpOAU6n1vqC2FfhJkvZIYh8j6QN9T5rsDTY6agsGnwN8eBCxmg3IPSgbrv6G2l/6m/w98A+SHqP2i3lrvZtteZpaIhkPfDEi1ku6idow4G+SntkaBtheOyJekHQh8BC1Xsx9ETGY7RB+RW2V6qnAz4F7+9T/DPiipCeSWH/dp/5O4MMR8WoSx5OSvgr8U5L03gW+BPyxz3Hvp/a9G5XEu8UkFLPt4dXMzQogGb47LyI+M4T3+EfgbyNiftMCMxsCD/GZDXOSdpX0DPCOk5PliXtQZmaWS+5BmZlZLjlBmZlZLjlBmZlZLjlBmZnqfortAAAADklEQVRZLjlBmZlZLv1/6BGzfvs8O4AAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "binomial = thinkbayes2.MakeBinomialPmf(10, 0.7)\n", "thinkplot.Pmf(prior, color='C1')\n", "thinkplot.Pmf(binomial, color='C2', linestyle='dotted')\n", "\n", "thinkplot.decorate(xlabel='Number of players',\n", " ylabel='PMF')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since two players spoke, we can eliminate the possibility of 0 or 1 players:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "thinkplot.Pmf(prior, color='gray')\n", "del prior[0]\n", "del prior[1]\n", "prior.Normalize()\n", "thinkplot.Pmf(prior, color='C1')\n", "\n", "thinkplot.decorate(xlabel='Number of players',\n", " ylabel='PMF')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Likelihood\n", "\n", "There are three components of the likelihood function:\n", "\n", "* The probability that the highest attribute is 16.\n", "\n", "* The probability that the lowest attribute is 5.\n", "\n", "* The probability that the lowest and highest attributes are held by different players.\n", "\n", "To compute the first component, we have to compute the distribution of the maximum of $6n$ attributes, where $n$ is the number of players.\n", "\n", "Here is the distribution for a single die." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1 0.16666666666666666\n", "2 0.16666666666666666\n", "3 0.16666666666666666\n", "4 0.16666666666666666\n", "5 0.16666666666666666\n", "6 0.16666666666666666\n" ] } ], "source": [ "d6 = Pmf([1,2,3,4,5,6])\n", "d6.Print()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's the distribution for the sum of three dice." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "thrice = sum([d6] * 3)\n", "thinkplot.Pdf(thrice)\n", "thinkplot.decorate(xlabel='Attribute',\n", " ylabel='PMF')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's the CDF for the sum of three dice." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cdf_thrice = thrice.MakeCdf()\n", "thinkplot.Cdf(cdf_thrice)\n", "thinkplot.decorate(xlabel='Attribute',\n", " ylabel='CDF')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `Max` method raises the CDF to a power. So here's the CDF for the maximum of six attributes." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cdf_max_6 = cdf_thrice.Max(6)\n", "thinkplot.Cdf(cdf_max_6)\n", "thinkplot.decorate(xlabel='Attribute',\n", " ylabel='CDF',\n", " title='Maximum of 6 attributes')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If there are `n` players, there are `6*n` attributes. Here are the distributions for the maximum attribute of `n` players, for a few values of `n`." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for n in range(2, 10, 2):\n", " cdf_max = cdf_thrice.Max(n*6)\n", " thinkplot.Cdf(cdf_max, label='n=%s'%n)\n", "\n", "thinkplot.decorate(xlabel='Attribute',\n", " ylabel='CDF',\n", " title='Maximum of 6*n attributes')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To check that, I'll compute the CDF for 7 players, and estimate it by simulation." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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BTRq1ChOOOEEBg4cyOzZs/nYxz7GgAEDuOGGG4Dk8R0HH3wwF110EYcffjjnnHMOq1ev3uK8jz/+OMcffzxHHXUUH//4x3n77bc79H2bmWWl040kcckd2XV93XFJfavrfvWrX9GnTx9++ctfAvDWW29xyimnMGbMGAA++clP8sgjj3DWWWcB0L17d2bOnMmECRMYPnw4c+bMYa+99uKAAw5g1KhRACxcuJA777yTIUOG8NnPfpYf/vCHm41Q8frrrzN+/HieeOIJdtllF2688Ua++93vbjqnmVk1cwuqTA477DCeeOIJrrnmGp566in22GMPZsyYwbHHHsthhx3Gk08+yfz58zdtP2zYsE37HXrooey777706NGD/fffn2XLlgHQt29fhgwZAsCFF17I008/vdk5Z82axYIFCxgyZAiDBw/m7rvvZunSpR30js3MstXpWlCVctBBBzFnzhymT5/Oddddx6mnnsqtt95KQ0MDffv2ZezYsaxdu3bT9s2P5qipqdnsMR01NTVs2LABAEmbnaN4PiI45ZRTmDx5clZvy8ysYjpdQLXVDZel5cuXs9dee3HhhRey6667MmnSJAB69erF22+/zYMPPsg555yzVcd85ZVXeOaZZzj++OOZPHky73//+zdbf9xxx3H55ZezaNEiDjzwQFavXk1jYyMHHXRQud6WmVnFdLqAqpQXXniB0aNHU1NTQ7du3bjtttt46KGHOOyww6irq+Poo4/e6mMOHDiQu+++m8997nMMGDCAyy67bLP1vXv3ZtKkSYwYMYJ169YBMH78eAeUmXUKar6zrFrU19dH8d8AvfjiiwwcOLBCFWVjyZIlnHnmmZs9wmNbdcbPx8w63uBRUzdNz/3e2dt8HElzIqJkd5dvkjAzs1xyQOVU8QMQzcx2NJ0moKqtq7Kj+HMxs2rVKQKqZ8+erFy50j+Mi0QEK1eupGfPnpUuxcxsq3WKu/hqa2tpbGykqamp0qXkTs+ePamtra10GWZmW61TBFS3bt3o379/pcswM7My6hRdfGZm1vk4oMzMLJccUGZmlksOKDMzyyUHlJmZ5VKnuIvPzMz+5eEnn2fKow2se2d9eQ9c07u8xyt1ug49m5mZZS6TcCpQU/RsuszOk+XBJZ0maaGkRZKubWH9eyTNkPScpHmSzsiyHjOzHUHW4dRnnz0zO36hzLr4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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n = 7\n", "cdf = cdf_thrice.Max(n*6)\n", "thinkplot.Cdf(cdf, label='n=%s'%n)\n", "\n", "sample_max = [max(cdf_thrice.Sample(42)) for i in range(1000)]\n", "thinkplot.Cdf(thinkbayes2.Cdf(sample_max), label='sample')\n", "\n", "thinkplot.decorate(xlabel='Attribute',\n", " ylabel='CDF',\n", " title='Maximum of 6*n attributes')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Looks good.\n", "\n", "Now, to compute the minimum, I have to write my own function, because `Cdf` doesn't provide a `Min` function." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "def compute_cdf_min(cdf, k):\n", " \"\"\"CDF of the min of k samples from cdf.\n", " \n", " cdf: Cdf object\n", " k: number of samples\n", " \n", " returns: new Cdf object\n", " \"\"\"\n", " cdf_min = cdf.Copy()\n", " cdf_min.ps = 1 - (1 - cdf_min.ps)**k\n", " return cdf_min" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can compute the CDF of the minimum attribute for `n` players, for several values of `n`." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for n in range(2, 10, 2):\n", " cdf_min = compute_cdf_min(cdf_thrice, n*6)\n", " thinkplot.Cdf(cdf_min, label='n=%s'%n)\n", "\n", "thinkplot.decorate(xlabel='Attribute',\n", " ylabel='CDF',\n", " title='Minimum of 6*n attributes')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And again we can check it by comparing to simulation results." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n = 7\n", "cdf = compute_cdf_min(cdf_thrice, n*6)\n", "thinkplot.Cdf(cdf, label='n=%s'%n)\n", "\n", "sample_min = [min(cdf_thrice.Sample(42)) for i in range(1000)]\n", "thinkplot.Cdf(thinkbayes2.Cdf(sample_min), label='sample')\n", "\n", "thinkplot.decorate(xlabel='Attribute',\n", " ylabel='CDF',\n", " title='Minimum of 6*n attributes')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For efficiency and conciseness, it is helpful to precompute the distributions for the relevant values of `n`, and store them in dictionaries." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.23288163935889017 0.23288163935889017\n", "0.28826338107405935 0.2882633810740594\n", "0.31794402625472684 0.3179440262547268\n", "0.32955796250238156 0.32955796250238156\n", "0.32871475364520075 0.3287147536452008\n", "0.3195146933518256 0.3195146933518255\n", "0.3049352170780888 0.30493521707808885\n", "0.2871203018328896 0.28712030183288956\n", "0.2675970126720095 0.2675970126720096\n" ] } ], "source": [ "like_min = {}\n", "like_max = {}\n", "\n", "for n in range(2, 11):\n", " cdf_min = compute_cdf_min(cdf_thrice, n*6)\n", " like_min[n] = cdf_min.MakePmf()\n", " cdf_max = cdf_thrice.Max(n*6)\n", " like_max[n] = cdf_max.MakePmf()\n", " print(like_min[n][5], like_max[n][16])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The output shows that the particular data we saw is symmetric: the chance that 16 is the maximum is the same as the chance that 5 is the minimum.\n", "\n", "Finally, we need the probability that the minimum and maximum are held by the same person. If there are `n` players, there are `6*n` attributes.\n", "\n", "Let's call the player with the highest attribute Max. What is the chance that Max also has the lowest attribute? Well Max has 5 more attributes, out of a total of `6*n-1` remaining attributes.\n", "\n", "So here's `prob_same` as a function of `n`." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2 0.45454545454545453\n", "3 0.29411764705882354\n", "4 0.21739130434782608\n", "5 0.1724137931034483\n", "6 0.14285714285714285\n", "7 0.12195121951219512\n", "8 0.10638297872340426\n", "9 0.09433962264150944\n", "10 0.0847457627118644\n" ] } ], "source": [ "def prob_same(n):\n", " return 5 / (6*n-1)\n", "\n", "for n in range(2, 11):\n", " print(n, prob_same(n))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The update" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's a class that implements this likelihood function." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "class Dungeons(Suite):\n", " \n", " def Likelihood(self, data, hypo):\n", " \"\"\"Probability of the data given the hypothesis.\n", " \n", " data: lowest attribute, highest attribute, boolean\n", " (whether the same person has both)\n", " hypo: number of players\n", " \n", " returns: probability\n", " \"\"\"\n", " lowest, highest, same = data\n", " n = hypo\n", " \n", " p = prob_same(n)\n", " like = p if same else 1-p\n", " \n", " like *= like_min[n][lowest]\n", " like *= like_max[n][highest]\n", "\n", " return like" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's the prior we computed above." ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "7.000868145040201" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "suite = Dungeons(prior)\n", "thinkplot.Hist(suite)\n", "thinkplot.decorate(xlabel='Number of players',\n", " ylabel='PMF')\n", "suite.mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's the update based on the data in the problem statement." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.08548474490284354" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "suite.Update((5, 16, False))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's the posterior." ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "6.940862784521086" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "thinkplot.Hist(suite)\n", "thinkplot.decorate(xlabel='Number of players',\n", " ylabel='PMF')\n", "suite.mean()" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2 0.0005007044860801902\n", "3 0.006177449626400222\n", "4 0.03402191676923563\n", "5 0.10823000113979393\n", "6 0.21684925990462955\n", "7 0.279837163496623\n", "8 0.22697589141459018\n", "9 0.10574761295351938\n", "10 0.02166000020912791\n" ] } ], "source": [ "suite.Print()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Based on the data, I am 94% sure there are between 5 and 9 players." ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(5, 9)" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "suite.CredibleInterval()" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9376399289091562" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sum(suite[n] for n in [5,6,7,8,9])" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.6.5" } }, "nbformat": 4, "nbformat_minor": 1 }