{ "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, Beta\n", "import thinkplot\n", "\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The skeet problem\n", "\n", "At the 2016 Summer Olympics in the Women's Skeet event, Kim Rhode faced Wei Meng in the bronze medal match. They each hit 15 of 25 skeets, sending the match into sudden death. In the first round, both hit 1 of 2 skeets. In the next two rounds, they each hit 2 skeets. Finally, in the fourth round, Rhode hit 2 and Wei hit 1, so Rhode won the bronze medal, making her the first Summer Olympian to win an individual medal at six consecutive summer games.\n", "\n", "But after all that shooting, what is the probability that Rhode is actually a better shooter than Wei? If the same match were held again, what is the probability that Rhode would win?\n", "\n", "As always, you will have to make some modeling decisions, but one approach is to estimate, for each shooter, the probability of hitting a skeet. Then, to estimate the probability that Rhode is a better shooter, you can draw samples from the two posterior distributions and compare them. To estimate the probability of winning a rematch, you could draw samples from the posterior distributions and simulate a round of 25 shots." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Solution\n", "\n", "# Here's a Beta distribution that represents Rhode's probability\n", "# of hitting a skeet\n", "\n", "rhode_beta = Beta(1, 1, label='Rhode')\n", "rhode_beta.Update((22, 11))" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# Solution\n", "\n", "# And another Beta for Wei\n", "\n", "wei_beta = Beta(1, 1, label='Wei')\n", "wei_beta.Update((21, 12))" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Solution\n", "\n", "# Here's what the posteriors look like\n", "\n", "thinkplot.Pdf(rhode_beta.MakePmf())\n", "thinkplot.Pdf(wei_beta.MakePmf())\n", "thinkplot.Config(xlabel='x', ylabel='Probability')" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.76753424, 0.68572586, 0.57222812, ..., 0.60927265, 0.69046666,\n", " 0.68404881])" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "# To estimate the probability of superiority, we can\n", "# draw samples from the posteriors and compare them\n", "\n", "rhode_sample = rhode_beta.Sample(10000)\n", "wei_sample = wei_beta.Sample(10000)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.6076" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "# The probability that Rhode is a better shooter is about 60%\n", "\n", "np.mean(rhode_sample > wei_sample)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.3924" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "# The probability that Wei is a better shooter is about 40%\n", "\n", "np.mean(rhode_sample < wei_sample)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Solution\n", "\n", "# To simulate a rematch, we can draw `p` from the posterior\n", "# distribution and then sample from a binomial distribution\n", "# with parameters `p` and `n=25`.\n", "\n", "rhode_rematch = np.random.binomial(25, rhode_sample)\n", "thinkplot.Hist(Pmf(rhode_rematch))" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.53" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "# The probability that Rhode wins a rematch (without going\n", "# to sudden death) is about 52%\n", "\n", "wei_rematch = np.random.binomial(25, wei_sample)\n", "np.mean(rhode_rematch > wei_rematch)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.3894" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "# The probability that Wei wins the rematch is about 39%\n", "\n", "np.mean(rhode_rematch < wei_rematch)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.0806" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "# And the chance that the rematch also goes to sudden death is\n", "# about 9%\n", "\n", "# Assuming that sudden death is close to 50/50, the overall chance\n", "# that Rhode winds is about 56%\n", "\n", "np.mean(rhode_rematch == wei_rematch)" ] }, { "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 }