Created
October 18, 2018 13:43
-
-
Save AllenDowney/e9b71992465e9fd5b7f96e7ed619b6f5 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Think Bayes\n", | |
"\n", | |
"This notebook presents code and exercises from Think Bayes, second edition.\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 numpy as np\n", | |
"import pandas as pd\n", | |
"\n", | |
"from thinkbayes2 import Pmf, Cdf, Suite, Joint\n", | |
"import thinkplot" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### The height problem\n", | |
"\n", | |
"For adult male residents of the US, the mean and standard deviation of height are 178 cm and 7.7 cm. For adult female residents the corresponding stats are 163 cm and 7.3 cm. Suppose you learn that someone is 170 cm tall. What is the probability that they are male? \n", | |
"\n", | |
"Run this analysis again for a range of observed heights and plot a curve that shows P(male) versus height. What is the mathematical form of this function?" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"To represent the likelihood functions, I'll use `norm` from `scipy.stats`, which returns a \"frozen\" random variable (RV) that represents a normal distribution with given parameters.\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"{'male': <scipy.stats._distn_infrastructure.rv_frozen at 0x7f7ce695fe10>,\n", | |
" 'female': <scipy.stats._distn_infrastructure.rv_frozen at 0x7f7ce695ffd0>}" | |
] | |
}, | |
"execution_count": 2, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"from scipy.stats import norm\n", | |
"\n", | |
"dist_height = dict(male=norm(178, 7.7),\n", | |
" female=norm(163, 7.3))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Write a class that implements `Likelihood` using the frozen distributions. Here's starter code:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"class Height(Suite):\n", | |
" \n", | |
" def Likelihood(self, data, hypo):\n", | |
" \"\"\"\n", | |
" data: height in cm\n", | |
" hypo: 'male' or 'female'\n", | |
" \"\"\"\n", | |
" return 1" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# Solution\n", | |
"\n", | |
"class Height(Suite):\n", | |
" \n", | |
" def Likelihood(self, data, hypo):\n", | |
" \"\"\"\n", | |
" data: height in cm\n", | |
" hypo: 'male' or 'female'\n", | |
" \"\"\"\n", | |
" height = data\n", | |
" return dist_height[hypo].pdf(height)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Here's the prior." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"female 0.51\n", | |
"male 0.49\n" | |
] | |
} | |
], | |
"source": [ | |
"suite = Height(dict(male=0.49, female=0.51))\n", | |
"suite.Print()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"And the update:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"female 0.5432225483131837\n", | |
"male 0.45677745168681627\n" | |
] | |
} | |
], | |
"source": [ | |
"suite.Update(170)\n", | |
"suite.Print()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Compute the probability of being male as a function of height." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# Solution\n", | |
"\n", | |
"def prob_male(height):\n", | |
" suite = Height(dict(male=0.49, female=0.51))\n", | |
" suite.Update(height)\n", | |
" return suite['male']" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# Solution\n", | |
"\n", | |
"heights = np.linspace(130, 210)\n", | |
"series = pd.Series(index=heights)\n", | |
"\n", | |
"for height in heights:\n", | |
" series[height] = prob_male(height)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"# Solution\n", | |
"\n", | |
"thinkplot.plot(series)\n", | |
"thinkplot.decorate(xlabel='Height (cm)',\n", | |
" ylabel='Probability of being male')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"If you are curious, you can derive the mathematical form of this curve from the PDF of the normal distribution." | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### How tall is A?\n", | |
"\n", | |
"Suppose I choose two residents of the U.S. at random. A is taller than B. How tall is A?" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Here are distributions that represent the heights of men and women in the U.S." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"{'male': <scipy.stats._distn_infrastructure.rv_frozen at 0x7f7ce6e330f0>,\n", | |
" 'female': <scipy.stats._distn_infrastructure.rv_frozen at 0x7f7ce14b8e80>}" | |
] | |
}, | |
"execution_count": 10, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"dist_height = dict(male=norm(178, 7.7),\n", | |
" female=norm(163, 7.3))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Here's what the distributions look like for men and women." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"hs = np.linspace(130, 210)\n", | |
"ps = dist_height['male'].pdf(hs)\n", | |
"male_height_pmf = Pmf(dict(zip(hs, ps)));" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"ps = dist_height['female'].pdf(hs)\n", | |
"female_height_pmf = Pmf(dict(zip(hs, ps)));" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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y5NvnMTlNsRpRlo8X7tlMRnJ48+AT3DYuXPNLGamJwAwMOLmlfLGoNmr0Yzljjvu4Otf/7qfew/gkUce4brrruPIkSO8/PLL485LUkrx4osvUl5eTnl5eViIE+gelEZDS88QP3zjJE5TnLJS4vj6rYvJTo0/73EOu42/Wl/If7x9CoB3j7XoMPQYZjI3XKC5//77ycjIYPny5bz33nve7d3d3d6giaeffnrcYzdv3syTTz7Jk08+iYhw4MABVq9eHQSrz4/uQWlintcONjHsNIIcMpPj+MZti5mRljClY9eUZLJgZioALo/i93vOBsxOjeZ8FBYW8qUvfemc7d/85jf51re+xaZNm3C73eMe+8gjj+B0OlmxYgXLli3jkUceCbS5U0KiZS7HunXrlC5YqLlQ+oZcfOPZg97e0zduW8zigrQLOsep5j7+9eXj3vWH71jCvLzUabVTE55UVFSEhSssnBnvMxKRfUqpdZMdq3tQmphma2WbV5yKc5JZlH/hwjJ/Zipr52Z51/97d31ET+J1udwcrjzLqdpWevuHIvq9aCIbPQaliVk8HsW7x1q869cvzbvo3GEfWz+b8jNduD2Kk019HKztZtWczOkyNWgMjzh57D9e4Xh1k3dbQnwceTlp5GWlkZeTRkFuBtduWERK0tTcoBrNxaIFShOzHKztor1vBICUBDsb5mVf9Lny0hO5tjSXt48agvffu+tYVpiOwx45Tgq328P3f/mWnziBIVp1jR3UNXZ4t23dX8W/fPEOHA6dQUMTOCLn16PRTDNvW3pP1yzJJd5xaT+H21cXkGSmPGruHuaDE22XdL5gopTiJ797n33Hzni3zcrNICF+/DD7yppmfvun3cEyTxOj6B6UJiY52znI8YZeAGwC15bmXfI50xLjuGVlvjeSb8v+Bi5fkBMRefqefWUP7+zyBXp89IZV/M0dl6GUom9gmJb2Xlo6ejl4oo43t1cAsOXdgyxdOIt1S+eEymxNlKN7UJqY5O2jzd7lVXMyJ53zNFVuXDqTrBSj19E75OK1w02THBF6XvnLYV58c793/doNi/nUhzcCRqbstJRE5hfncvmqeXz+E1ezpqzY2/bJ37xDW2df0G3WxAZaoDQxR/+wi51VvvGUG5bOnLZzxztsfHSdL5P0exWtYV3scNuBU/zy99u862vKivkfd189YbCIiPDF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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"thinkplot.Pdf(male_height_pmf, label='Male')\n", | |
"thinkplot.Pdf(female_height_pmf, label='Female')\n", | |
"\n", | |
"thinkplot.decorate(xlabel='Height (cm)',\n", | |
" ylabel='PMF',\n", | |
" title='Adult residents of the U.S.')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Use `thinkbayes2.MakeMixture` to make a `Pmf` that represents the height of all residents of the U.S." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"170.34986539085568" | |
] | |
}, | |
"execution_count": 14, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# Solution\n", | |
"\n", | |
"from thinkbayes2 import MakeMixture\n", | |
"\n", | |
"metapmf = Pmf({male_height_pmf:0.49, female_height_pmf:0.51})\n", | |
"mix = MakeMixture(metapmf)\n", | |
"mix.Mean()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 15, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"# Solution\n", | |
"\n", | |
"thinkplot.Pdf(mix)\n", | |
"\n", | |
"thinkplot.decorate(xlabel='Height (cm)',\n", | |
" ylabel='PMF',\n", | |
" title='Adult residents of the U.S.')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Write a class that inherits from Suite and Joint, and provides a Likelihood function that computes the probability of the data under a given hypothesis." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 16, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# Solution\n", | |
"\n", | |
"class Heights(Suite, Joint):\n", | |
" \n", | |
" def Likelihood(self, data, hypo):\n", | |
" \"\"\"Likelihood of the data under the hypothesis.\n", | |
" \n", | |
" data: who is taller, 'A' or 'B'?\n", | |
" hypo: h1, h2\n", | |
" \"\"\"\n", | |
" h1, h2 = hypo\n", | |
" if data == 'A':\n", | |
" return 1 if h1 > h2 else 0\n", | |
" else:\n", | |
" return 1 if h2 > h1 else 0" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Write a function that initializes your `Suite` with an appropriate prior." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 17, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# Solution\n", | |
"\n", | |
"# We could also use MakeJoint for this\n", | |
"\n", | |
"def make_prior(A, B):\n", | |
" suite = Heights()\n", | |
"\n", | |
" for h1, p1 in A.Items():\n", | |
" for h2, p2 in B.Items():\n", | |
" suite[h1, h2] = p1 * p2\n", | |
" return suite" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 18, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"1.0000000000000022" | |
] | |
}, | |
"execution_count": 18, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# Solution\n", | |
"\n", | |
"suite = make_prior(mix, mix)\n", | |
"suite.Total()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 19, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"# Solution\n", | |
"\n", | |
"# Here's what the joint distribution looks like\n", | |
"\n", | |
"thinkplot.Contour(suite)\n", | |
"thinkplot.decorate(xlabel='B Height (cm)',\n", | |
" ylabel='A Height (cm)',\n", | |
" title='Posterior joint distribution')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Update your `Suite`, then plot the joint distribution and the marginal distribution, and compute the posterior means for `A` and `B`." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 20, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"0.4789667440103718" | |
] | |
}, | |
"execution_count": 20, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# Solution\n", | |
"\n", | |
"# Now we can update the suite with the data\n", | |
"# that A is taller\n", | |
"\n", | |
"suite.Update('A')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 21, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"# Solution\n", | |
"\n", | |
"# Here's the posterior joint distribution\n", | |
"\n", | |
"thinkplot.Contour(suite)\n", | |
"\n", | |
"thinkplot.decorate(xlabel='B Height (cm)',\n", | |
" ylabel='A Height (cm)',\n", | |
" title='Posterior joint distribution')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 22, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(176.67506663725212, 164.05298129722925)" | |
] | |
}, | |
"execution_count": 22, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"# Solution\n", | |
"\n", | |
"# Now we can use Marginal to extract the \n", | |
"# posterior marginal distributions\n", | |
"\n", | |
"posterior_a = suite.Marginal(0)\n", | |
"posterior_b = suite.Marginal(1)\n", | |
"\n", | |
"thinkplot.Pdf(posterior_a, label='A')\n", | |
"thinkplot.Pdf(posterior_b, label='B')\n", | |
"thinkplot.decorate(xlabel='Height (cm)',\n", | |
" ylabel='PMF',\n", | |
" title='Posterior marginal distributions')\n", | |
"\n", | |
"posterior_a.Mean(), posterior_b.Mean()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Second tallest problem\n", | |
"\n", | |
"In a room of 10 randomly chosen U.S. residents, A is the second tallest. How tall is A? What is the probability that A is male?" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 23, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# Solution\n", | |
"\n", | |
"# The prior for A and B is the mixture we computed above.\n", | |
"\n", | |
"A = mix\n", | |
"B = mix;" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 24, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# Solution\n", | |
"\n", | |
"# The following function encapsulates the process\n", | |
"# in the previous section:\n", | |
"# 1) Form a joint distribution of the two heights\n", | |
"# 2) Update the joint distribution with the data\n", | |
"# 3) Extract the marginal distributions\n", | |
"\n", | |
"def faceoff(player1, player2, data):\n", | |
" \"\"\"Compute the posterior distributions for both players.\n", | |
" \n", | |
" player1: Pmf\n", | |
" player2: Pmf\n", | |
" data: margin by which player1 beats player2\n", | |
" \"\"\"\n", | |
" joint = make_prior(player1, player2)\n", | |
" joint.Update(data)\n", | |
" return joint.Marginal(0), joint.Marginal(1)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 25, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# Solution\n", | |
"\n", | |
"# We can think of the scenario as a sequence of \"faceoffs\"\n", | |
"# where A wins 8 and loses 1\n", | |
"\n", | |
"for i in range(8):\n", | |
" A, _ = faceoff(A, B, 'A')\n", | |
" \n", | |
"A, _ = faceoff(A, B, 'B');" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 26, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"181.60660153115964" | |
] | |
}, | |
"execution_count": 26, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"# Solution\n", | |
"\n", | |
"# Here's the posterior distribution for A\n", | |
"\n", | |
"thinkplot.Pdf(A)\n", | |
"A.Mean()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 27, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"0.9167980720726623" | |
] | |
}, | |
"execution_count": 27, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# Solution\n", | |
"\n", | |
"# Now we can compute the total probability of being male,\n", | |
"# conditioned on the posterior distribution of height.\n", | |
"\n", | |
"total = 0\n", | |
"for h, p in A.Items():\n", | |
" total += p * prob_male(h)\n", | |
"total" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 28, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"0.9999999999999999" | |
] | |
}, | |
"execution_count": 28, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# Solution\n", | |
"\n", | |
"# Here's a second solution based on an \n", | |
"# \"annotated\" mix that keeps track of M and F\n", | |
"\n", | |
"annotated_mix = Suite()\n", | |
"for h, p in male_height_pmf.Items():\n", | |
" annotated_mix['M', h] = p * 0.49\n", | |
" \n", | |
"for h, p in female_height_pmf.Items():\n", | |
" annotated_mix['F', h] = p * 0.51\n", | |
" \n", | |
"annotated_mix.Total()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 29, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# Solution\n", | |
"\n", | |
"# Here's an updated Heights class that can handle the\n", | |
"# annotated mix\n", | |
"\n", | |
"class Heights2(Suite, Joint):\n", | |
" \n", | |
" def Likelihood(self, data, hypo):\n", | |
" \"\"\"\n", | |
" \n", | |
" data: who is taller, A or B\n", | |
" hypo: (MF1, h1), (MF2, h2)\n", | |
" \"\"\"\n", | |
" (_, h1), (_, h2) = hypo\n", | |
" if data == 'A':\n", | |
" return 1 if h1 > h2 else 0\n", | |
" if data == 'B':\n", | |
" return 1 if h2 > h1 else 0" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 30, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# Solution\n", | |
"\n", | |
"# Everything else is pretty much the same\n", | |
"\n", | |
"from thinkbayes2 import MakeJoint\n", | |
"\n", | |
"def faceoff(player1, player2, data):\n", | |
" joint = Heights2(MakeJoint(player1, player2))\n", | |
" joint.Update(data)\n", | |
" return joint.Marginal(0), joint.Marginal(1)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 31, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# Solution\n", | |
"\n", | |
"A = annotated_mix\n", | |
"B = annotated_mix;" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 32, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# Solution\n", | |
"\n", | |
"for i in range(8):\n", | |
" A, _ = faceoff(A, B, 'A')\n", | |
" \n", | |
"A, _ = faceoff(A, B, 'B');" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 33, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"F 0.0832014023659922\n", | |
"M 0.9167985976340078\n" | |
] | |
} | |
], | |
"source": [ | |
"# Solution\n", | |
"\n", | |
"# Now the posterior distribution for A contains the\n", | |
"# probability of being male\n", | |
"\n", | |
"A_male = Joint(A).Marginal(0)\n", | |
"A_male.Print()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 34, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"181.60660153115973" | |
] | |
}, | |
"execution_count": 34, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"# Solution\n", | |
"\n", | |
"# The posterior distribution for A also contains the\n", | |
"# posterior probability of height\n", | |
"\n", | |
"A_height = Joint(A).Marginal(1)\n", | |
"\n", | |
"thinkplot.Pdf(A_height)\n", | |
"A_height.Mean()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"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": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment