{ "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": 4, "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, MakeBinomialPmf\n", "import thinkplot\n", "\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The dinner party\n", "\n", "Suppose you are having a dinner party with 10 guests and 4 of them are allergic to cats. Because you have cats, you expect 50% of the allergic guests to sneeze during dinner. At the same time, you expect 10% of the non-allergic guests to sneeze. What is the distribution of the total number of guests who sneeze?" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.1" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "n_allergic = 4\n", "n_non = 6\n", "p_allergic = 0.5\n", "p_non = 0.1" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Solution\n", "\n", "pmf1 = MakeBinomialPmf(n_allergic, p_allergic)\n", "pmf2 = MakeBinomialPmf(n_non, p_non)\n", "pmf = pmf1 + pmf2\n", "thinkplot.Hist(pmf)\n", "thinkplot.decorate(xlabel='Number of sneezers',\n", " ylabel='Pmf')" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.6000000000000014" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "pmf.Mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Gluten Problem\n", "\n", "[This study from 2015](http://onlinelibrary.wiley.com/doi/10.1111/apt.13372/full) showed that many subjects diagnosed with non-celiac gluten sensitivity (NCGS) were not able to distinguish gluten flour from non-gluten flour in a blind challenge.\n", "\n", "Here is a description of the study:\n", "\n", ">\"We studied 35 non-CD subjects (31 females) that were on a gluten-free diet (GFD), in a double-blind challenge study. Participants were randomised to receive either gluten-containing flour or gluten-free flour for 10 days, followed by a 2-week washout period and were then crossed over. The main outcome measure was their ability to identify which flour contained gluten.\n", "\n", ">\"The gluten-containing flour was correctly identified by 12 participants (34%)...\"\n", "Since 12 out of 35 participants were able to identify the gluten flour, the authors conclude \"Double-blind gluten challenge induces symptom recurrence in just one-third of patients fulfilling the clinical diagnostic criteria for non-coeliac gluten sensitivity.\"\n", "\n", "This conclusion seems odd to me, because if none of the patients were sensitive to gluten, we would expect some of them to identify the gluten flour by chance. So the results are consistent with the hypothesis that none of the subjects are actually gluten sensitive.\n", "\n", "We can use a Bayesian approach to interpret the results more precisely. But first we have to make some modeling decisions.\n", "\n", "1. Of the 35 subjects, 12 identified the gluten flour based on resumption of symptoms while they were eating it. Another 17 subjects wrongly identified the gluten-free flour based on their symptoms, and 6 subjects were unable to distinguish. So each subject gave one of three responses. To keep things simple I follow the authors of the study and lump together the second two groups; that is, I consider two groups: those who identified the gluten flour and those who did not.\n", "\n", "2. I assume (1) people who are actually gluten sensitive have a 95% chance of correctly identifying gluten flour under the challenge conditions, and (2) subjects who are not gluten sensitive have only a 40% chance of identifying the gluten flour by chance (and a 60% chance of either choosing the other flour or failing to distinguish).\n", "\n", "Using this model, estimate the number of study participants who are sensitive to gluten. What is the most likely number? What is the 95% credible interval?" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "# Solution\n", "\n", "# Here's a class that models the study\n", "\n", "class Gluten(Suite):\n", " \n", " def Likelihood(self, data, hypo):\n", " \"\"\"Computes the probability of the data under the hypothesis.\n", " \n", " data: tuple of (number who identified, number who did not)\n", " hypothesis: number of participants who are gluten sensitive\n", " \"\"\"\n", " # compute the number who are gluten sensitive, `gs`, and\n", " # the number who are not, `ngs`\n", " gs = hypo\n", " yes, no = data\n", " n = yes + no\n", " ngs = n - gs\n", " \n", " pmf1 = MakeBinomialPmf(gs, 0.95)\n", " pmf2 = MakeBinomialPmf(ngs, 0.4)\n", " pmf = pmf1 + pmf2\n", " return pmf[yes]" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Solution\n", "\n", "prior = Gluten(range(0, 35+1))\n", "thinkplot.Pdf(prior)\n", "thinkplot.decorate(xlabel='Number who are gluten sensitive',\n", " ylabel='Pmf')" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.013207615690597462" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "posterior = prior.Copy()\n", "data = 12, 23\n", "posterior.Update(data)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Solution\n", "\n", "thinkplot.Pdf(posterior)\n", "thinkplot.decorate(xlabel='Number who are gluten sensitive',\n", " ylabel='Pmf')" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0, 8)" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "posterior.CredibleInterval(95)" ] }, { "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 }