{ "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": [ "# Poisson Processes" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:35.559580Z", "iopub.status.busy": "2021-04-16T19:35:35.558886Z", "iopub.status.idle": "2021-04-16T19:35:35.560949Z", "shell.execute_reply": "2021-04-16T19:35:35.561400Z" }, "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:35:35.565677Z", "iopub.status.busy": "2021-04-16T19:35:35.564851Z", "iopub.status.idle": "2021-04-16T19:35:35.567533Z", "shell.execute_reply": "2021-04-16T19:35:35.566963Z" }, "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:35:35.573478Z", "iopub.status.busy": "2021-04-16T19:35:35.572460Z", "iopub.status.idle": "2021-04-16T19:35:36.312737Z", "shell.execute_reply": "2021-04-16T19:35:36.313087Z" }, "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "from utils import set_pyplot_params\n", "set_pyplot_params()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This chapter introduces the [Poisson process](https://en.wikipedia.org/wiki/Poisson_point_process), which is a model used to describe events that occur at random intervals.\n", "As an example of a Poisson process, we'll model goal-scoring in soccer, which is American English for the game everyone else calls \"football\".\n", "We'll use goals scored in a game to estimate the parameter of a Poisson process; then we'll use the posterior distribution to make predictions.\n", "\n", "And we'll solve The World Cup Problem." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The World Cup Problem\n", "\n", "In the 2018 FIFA World Cup final, France defeated Croatia 4 goals to 2. Based on this outcome:\n", "\n", "1. How confident should we be that France is the better team?\n", "\n", "2. If the same teams played again, what is the chance France would win again?\n", "\n", "To answer these questions, we have to make some modeling decisions.\n", "\n", "* First, I'll assume that for any team against another team there is some unknown goal-scoring rate, measured in goals per game, which I'll denote with the Python variable `lam` or the Greek letter $\\lambda$, pronounced \"lambda\".\n", "\n", "* Second, I'll assume that a goal is equally likely during any minute of a game. So, in a 90 minute game, the probability of scoring during any minute is $\\lambda/90$.\n", "\n", "* Third, I'll assume that a team never scores twice during the same minute.\n", "\n", "Of course, none of these assumptions is completely true in the real world, but I think they are reasonable simplifications.\n", "As George Box said, \"All models are wrong; some are useful.\"\n", "(https://en.wikipedia.org/wiki/All_models_are_wrong).\n", "\n", "In this case, the model is useful because if these assumptions are \n", "true, at least roughly, the number of goals scored in a game follows a Poisson distribution, at least roughly." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Poisson Distribution\n", "\n", "If the number of goals scored in a game follows a [Poisson distribution](https://en.wikipedia.org/wiki/Poisson_distribution) with a goal-scoring rate, $\\lambda$, the probability of scoring $k$ goals is\n", "\n", "$$\\lambda^k \\exp(-\\lambda) ~/~ k!$$\n", "\n", "for any non-negative value of $k$.\n", "\n", "SciPy provides a `poisson` object that represents a Poisson distribution.\n", "We can create one with $\\lambda=1.4$ like this:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:36.320352Z", "iopub.status.busy": "2021-04-16T19:35:36.319569Z", "iopub.status.idle": "2021-04-16T19:35:36.323543Z", "shell.execute_reply": "2021-04-16T19:35:36.324079Z" } }, "outputs": [ { "data": { "text/plain": [ "scipy.stats._distn_infrastructure.rv_discrete_frozen" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from scipy.stats import poisson\n", "\n", "lam = 1.4\n", "dist = poisson(lam)\n", "type(dist)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result is an object that represents a \"frozen\" random variable and provides `pmf`, which evaluates the probability mass function of the Poisson distribution." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:36.329080Z", "iopub.status.busy": "2021-04-16T19:35:36.328350Z", "iopub.status.idle": "2021-04-16T19:35:36.331701Z", "shell.execute_reply": "2021-04-16T19:35:36.332267Z" } }, "outputs": [ { "data": { "text/plain": [ "0.039471954028253146" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "k = 4\n", "dist.pmf(k)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This result implies that if the average goal-scoring rate is 1.4 goals per game, the probability of scoring 4 goals in a game is about 4%.\n", "\n", "We'll use the following function to make a `Pmf` that represents a Poisson distribution." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:36.338086Z", "iopub.status.busy": "2021-04-16T19:35:36.337399Z", "iopub.status.idle": "2021-04-16T19:35:36.339498Z", "shell.execute_reply": "2021-04-16T19:35:36.338953Z" } }, "outputs": [], "source": [ "from empiricaldist import Pmf\n", "\n", "def make_poisson_pmf(lam, qs):\n", " \"\"\"Make a Pmf of a Poisson distribution.\"\"\"\n", " ps = poisson(lam).pmf(qs)\n", " pmf = Pmf(ps, qs)\n", " pmf.normalize()\n", " return pmf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`make_poisson_pmf` takes as parameters the goal-scoring rate, `lam`, and an array of quantities, `qs`, where it should evaluate the Poisson PMF. It returns a `Pmf` object.\n", "\n", "For example, here's the distribution of goals scored for `lam=1.4`, computed for values of `k` from 0 to 9." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:36.346180Z", "iopub.status.busy": "2021-04-16T19:35:36.345152Z", "iopub.status.idle": "2021-04-16T19:35:36.351746Z", "shell.execute_reply": "2021-04-16T19:35:36.351317Z" } }, "outputs": [], "source": [ "import numpy as np\n", "\n", "lam = 1.4\n", "goals = np.arange(10)\n", "pmf_goals = make_poisson_pmf(lam, goals)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's what it looks like." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:36.357426Z", "iopub.status.busy": "2021-04-16T19:35:36.356638Z", "iopub.status.idle": "2021-04-16T19:35:36.360496Z", "shell.execute_reply": "2021-04-16T19:35:36.360974Z" }, "tags": [ "hide-cell" ] }, "outputs": [], "source": [ "from utils import decorate\n", "\n", "def decorate_goals(title=''):\n", " decorate(xlabel='Number of goals',\n", " ylabel='PMF',\n", " title=title)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:36.365999Z", "iopub.status.busy": "2021-04-16T19:35:36.365195Z", "iopub.status.idle": "2021-04-16T19:35:36.806363Z", "shell.execute_reply": "2021-04-16T19:35:36.805860Z" }, "tags": [ "hide-input" ] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdgAAAFgCAYAAAAYQGiBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/GU6VOAAAACXBIWXMAAAuJAAALiQE3ycutAAAwlklEQVR4nO3de3RU5b3/8c+QCXgCGQKI4TITUEKAIcCAKUGI3BQ5INLTEA8ViGLiwkvQFmzxzlWlYNVqG3sQG7VR2kpAUEoPaE0UEDAJjqgBbaokTLgIGIGA5jLZ5w9+zM+YCwnkIQTfr7Vmrdmzn/3s794IH599tVmWZQkAADSqFk1dAAAAFyMCFgAAAwhYAAAMIGABADCAgAUAwAACFgAAAwhYXLQ2bdokp9NprL+RI0fqd7/7XaP1X1hYqDZt2ujo0aON1mdDLFiwQJdddpnatGmjI0eOnNd1T58+Xb/85S/P6zpNWrNmjbp3797UZaCJEbBolkaOHKlWrVopNDRUbdu2VXR0tO69914dOnQo0Obqq6+Wz+c7Y19ZWVkKCws7Y7v69ldfNptNXq83MB0REaGSkhK1bdu20dZRXz6fT4sWLVJ2drZKSkrUoUOH814DcLEhYNFsLVmyRMePH9c333yj1157TUVFRbryyit18ODBRl9XRUVFo/d5IdmzZ4/atGmjbt26NXUpF5yL/c8e5hCwaPZsNpvcbrdeeeUVtW3bVk899ZSk6iPTV199VT179lRoaKi6du2qRYsW6ciRIxo3bpyOHj2qNm3aqE2bNtq0aZNeeukleTwezZs3T506ddLkyZNrHOkWFRVp5MiRCg0N1VVXXaVdu3ZVqev7I9Tf/e53GjlypCRp8ODBkqShQ4eqTZs2evzxx7Vnzx7ZbDZ98803kqTy8nI98MADioiIUMeOHTV58uQqI3Sbzab/+Z//UXR0tBwOhyZOnFjn4eWcnBwNGzZMYWFhcrvd+stf/iLp1OHMMWPGBPbB6NGja1z+008/1ZAhQxQaGqpRo0Zpzpw5ge2RpPz8fI0dO1bt27dXjx49qhw+Lyws1JgxY9SxY0e1a9dO119/vfbs2VPjekpLS5WUlKRLL700cHQiOzu7xrZvvfWW+vfvr9DQUIWHh+vOO+8MzPvXv/6liRMnqmPHjmrfvr3i4+PPuC8kaf78+ZowYYLuvPNOtW/fXvfdd58sy9Kzzz6r3r17KywsTCNHjqzyZ+3z+XTdddfJ4XDoyiuvVF5eXq1/DvgRsYBmaMSIEdbTTz9d7feHHnrIGjx4sGVZlpWZmWm1bdvWsizLKikpsex2u/Xuu+9almVZxcXF1gcffFCt3WkvvviiFRQUZC1cuNAqLS21Tpw4Ua3diBEjrHbt2lnvv/++VVpaaj344INWz549rfLycsuyLEuS9eGHHwbaP/3009aIESMC0z+c/+WXX1qSrOLiYsuyLGvBggVWdHS0VVBQYB0/ftyaPHmyNWbMmCrLjxw50jpw4IBVXFxsDRw40Jo3b16N+6u4uNjq0KGD9eyzz1plZWVWVlaW1bp1a2vz5s217oPvKysrs6644gpr/vz5VmlpqbVt2zarQ4cOge0pLy+3evXqZf3617+2vv32W+ujjz6yOnfubL366quBbVu/fr317bffWkePHrUSEhKsa6+9NtD/LbfcYv3iF7+wLMuyli1bZg0aNMgqLi62Kisrrc8++8wqLCyssa7OnTtbf/7zny3LOvVnvGXLlsD3iIgI64EHHrBKSkqs0tJS65133qnXvpg3b54VFBRkvfjii1Z5ebl14sQJKzU11erfv7/1+eefW+Xl5dYzzzxj9ejRwyotLbUsy7Kuvvpq6+abb7ZOnDhh7dq1y+revbvVrVu3WvcnfhwYweKi0rVrV3399dc1zgsODtauXbt07NgxhYWF6Sc/+UmdfbVt21YPPfSQWrZsqZCQkBrb/PznP9dVV12lli1bav78+Tp48KC2bdt2ztshSenp6Xr44YcVERGhNm3a6KmnntJbb72lffv2Bdrcd999Cg8PV1hYmCZNmqTc3Nwa+/r73/+ujh076u6771ZwcLBGjBihKVOm6OWXX65XLdu2bdORI0cC+yM2NlaTJ08OzN++fbv279+vRx99VJdccon69++vmTNn6qWXXpIkde/eXePGjdMll1wih8Ohhx56SO+9954qKyurrSs4OFjHjx/Xrl27ZFmWoqKi5HK5aqwrODhY+fn5OnTokFq3bq2hQ4dKktatW6fg4GA99thjat26tVq2bKlRo0bVe19ER0dr+vTpstvtCgkJUWpqqhYuXKiePXvKbrfrnnvu0bfffqvt27dr79692rRpk5544gmFhISod+/euuOOO+q1X3FxI2BxUSkqKlL79u2r/d66dWu9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XuDTrl27xt8QAAAayNhFTi6XS4WFhYFpn89X5zOCg4KClJSUpEmTJmnOnDlyOByBeR6PR0OHDpXX61W3bt1MlQz8qE16pPGvc1i1KKFe7Ww2mwYMGKCKigp16NBBaWlpgQscaxITE6OcnJzGKvOsZGVl6dFHH9Xbb79dr5oWLlyouXPn1jr/+8vb7XZVVFQ0uKYfruN87qfvr+uHddR3ewoKCjRixAhNnjxZS5YsOad67r77br3++us6cOBAvdZ911136fnnnz+r/V4bYyPYmJgYFRUVBZ4LnJaWpvj4+Cptjh07pv379wemV61apejoaEnS/v37A6Nen8+n7du31/nMRwDNV1BQkLxerz755BMNGTKkyqmimjR1uNbkTDUtXLiw1nl+v79RtumH6zif++n766prW+vSrVs3bd26Vc8///w51zN58mTl5ubWq+2mTZt04sSJc17nDxkbwQYFBWn58uVKSEgI3KaTmJionJwczZ07V+vXr9fRo0cVHx+v7777TjabTb1799bvf/97SafC9o9//GPgKsclS5aoZ8+epsptVkyMNOqrviMS4GyNHDlS69atkyS9/vrrmj9/viorK9WvXz8tW7ZMoaGhgRHRyZMnNXXqVP373/9WZWWlfvrTn+qhhx6q9ttjjz12xv7mz5+vVatWye/3KyMjQ1FRUdVqe+WVV7RgwQKFhYVp+PDhVebVVdPJkyfl9/vl8Xh06aWX6u2335bdbteiRYu0bt06paSk6Oabb64yenrkkUe0du1a2e12vfzyy+rXr5/27Nmja6+9Vvn5+YF63n77bb300kuaNWtWjes43ee5bPvTTz+tY8eOad68efrDH/6gefPm6fDhwyovL1f37t21d+9etWrVShUVFTXWIUmPPvroGfevJIWGhuq7777T3r17q1zH01BxcXH1aldaWqr7779fa9as0auvvnrW66uJ0XOwo0ePVl5envLz85WWlia73a6YmBitX79e0qnDyNnZ2fr444+1c+dOvfbaa4F7jGbOnKlPP/00cJvOlClTTJYK4AJgWZbeeOMN9evXTwcPHtRdd92lN998Ux9//LE6dOgQCMrTNmzYoPbt22vnzp365JNP9Ktf/arG3yTV2Z/f71dkZKQ+/PBDJSYm6oknnqhW24EDBzRnzhy99957+uCDD6qcAjtTTU8//XRglH46cPx+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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pmf_goals.bar(label=r'Poisson distribution with $\\lambda=1.4$')\n", "\n", "decorate_goals('Distribution of goals scored')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The most likely outcomes are 0, 1, and 2; higher values are possible but increasingly unlikely.\n", "Values above 7 are negligible.\n", "This distribution shows that if we know the goal scoring rate, we can predict the number of goals.\n", "\n", "Now let's turn it around: given a number of goals, what can we say about the goal-scoring rate?\n", "\n", "To answer that, we need to think about the prior distribution of `lam`, which represents the range of possible values and their probabilities before we see the score." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Gamma Distribution\n", "\n", "If you have ever seen a soccer game, you have some information about `lam`. In most games, teams score a few goals each. In rare cases, a team might score more than 5 goals, but they almost never score more than 10.\n", "\n", "Using [data from previous World Cups](https://www.statista.com/statistics/269031/goals-scored-per-game-at-the-fifa-world-cup-since-1930/), I estimate that each team scores about 1.4 goals per game, on average. So I'll set the mean of `lam` to be 1.4.\n", "\n", "For a good team against a bad one, we expect `lam` to be higher; for a bad team against a good one, we expect it to be lower." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To model the distribution of goal-scoring rates, I'll use a [gamma distribution](https://en.wikipedia.org/wiki/Gamma_distribution), which I chose because:\n", "\n", "1. The goal scoring rate is continuous and non-negative, and the gamma distribution is appropriate for this kind of quantity.\n", "\n", "2. The gamma distribution has only one parameter, `alpha`, which is the mean. So it's easy to construct a gamma distribution with the mean we want.\n", "\n", "3. As we'll see, the shape of the gamma distribution is a reasonable choice, given what we know about soccer.\n", "\n", "And there's one more reason, which I will reveal in <<_ConjugatePriors>>.\n", "\n", "SciPy provides `gamma`, which creates an object that represents a gamma distribution.\n", "And the `gamma` object provides provides `pdf`, which evaluates the **probability density function** (PDF) of the gamma distribution.\n", "\n", "Here's how we use it." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:36.811180Z", "iopub.status.busy": "2021-04-16T19:35:36.810595Z", "iopub.status.idle": "2021-04-16T19:35:36.812206Z", "shell.execute_reply": "2021-04-16T19:35:36.812559Z" } }, "outputs": [], "source": [ "from scipy.stats import gamma\n", "\n", "alpha = 1.4\n", "qs = np.linspace(0, 10, 101)\n", "ps = gamma(alpha).pdf(qs)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The parameter, `alpha`, is the mean of the distribution.\n", "The `qs` are possible values of `lam` between 0 and 10.\n", "The `ps` are **probability densities**, which we can think of as unnormalized probabilities.\n", "\n", "To normalize them, we can put them in a `Pmf` and call `normalize`:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:36.817622Z", "iopub.status.busy": "2021-04-16T19:35:36.816921Z", "iopub.status.idle": "2021-04-16T19:35:36.820318Z", "shell.execute_reply": "2021-04-16T19:35:36.819842Z" }, "tags": [ "remove-output" ] }, "outputs": [ { "data": { "text/plain": [ "9.889360237140306" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from empiricaldist import Pmf\n", "\n", "prior = Pmf(ps, qs)\n", "prior.normalize()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result is a discrete approximation of a gamma distribution.\n", "Here's what it looks like." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:36.824445Z", "iopub.status.busy": "2021-04-16T19:35:36.823630Z", "iopub.status.idle": "2021-04-16T19:35:36.826395Z", "shell.execute_reply": "2021-04-16T19:35:36.825832Z" }, "tags": [ "hide-cell" ] }, "outputs": [], "source": [ "def decorate_rate(title=''):\n", " decorate(xlabel='Goal scoring rate (lam)',\n", " ylabel='PMF',\n", " title=title)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:36.861338Z", "iopub.status.busy": "2021-04-16T19:35:36.850188Z", "iopub.status.idle": "2021-04-16T19:35:36.973653Z", "shell.execute_reply": "2021-04-16T19:35:36.974165Z" }, "tags": [ "hide-input" ] }, "outputs": [ { "data": { "image/png": "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KgCMPjf4gw8+AAC0t7fjpptuQlFREdatW4fDhw/7PE9OTg4sFgvWr1+Pd955B1FRUQCAP//5z7j33nsRGRkJAEhMTAQw2lP1PFlm0aJFiIuLwz/+8Q8AQHl5uc91aFevXg0AWLx4MU6fPg0A+PDDD3H77bcjIiICsbGxuPnmm73uf8011yA1NVV6/corr6C8vBxlZWXYu3ev15/1j3/8I37605+irKwMS5cuRU9PDxoaGsa1a2tr8/o4v3feeUfqwb799ttjznX99ddDp9MhKSkJJpMJN910EwCgrKxM+jkBIDU1Fa2trV5/PqJAYsASTaCwsBAnT57EwMAAAOBLX/oS6urqkJubC7vdPuHjrTyBfN999+HOO+/EkSNHsHPnToyMjPg8V1xcHOrq6nD99dfjD3/4A5YsWQK32z2lR2h5zm0wGHy284S1Wq2G0+kct/9kLjz+3//+d7z11lv48MMPcejQIaxZs8brzyqKIn71q1+hrq4OdXV1aGxsxC233DKunU6ng91uH/f9M2fO4IknnsAf//hHHD58GN/61rfGnMvzcwGjl4I9r1Uq1Zif02q1Sh9giOTGgCWaQG5uLr74xS/im9/8JqxWK4DRe6KeX+oLFixAe3u7dH/1tddew2c+8xkAQH9/v/Toq1deeWXSc3V2dsJms+HGG2/ECy+8gKamJgwPD+O6667Dz372M+leY3d3NwDg6quvlhZz379/P3p7ey9pdPJVV12F3/zmN3A4HOjr68P27dv92q+/vx9xcXGIiYlBd3c33nrrLWmb0WiUPpwAoz3MF154QRocdeGHlwsVFhZKvfELDQwMICoqCvHx8RgeHsb//M//TPXHBAA0NDSgqKhoWvsSTRUDlsiLl19+GXFxcSgoKEBZWRmWLVuGz372sygtLUVkZCTeeOMN3HPPPSgpKcHf/vY3PP/88wCAH/zgB7jrrruwbNkyOByOSc/T3NwsHXfx4sV44oknYDAYUF1djbKyMukSrGeKyU9/+lP86U9/QklJCe677z68+eabiIiImPbPecstt6CoqAhFRUW4/fbbsXTpUhiNxkn3u+6662AwGFBYWIg777wTK1askLatWbMGL730EhYtWoQ9e/bgscceg8FgQGlpKYqLi3H33XdPOBr75ptvxl//+tdx3y8uLsbVV1+NgoIC3HzzzVi8ePG0fta//vWv0uVjIrnxaTpEhMHBQRgMBgwNDeGqq67Chg0bcPnllwe9js7OTtx8883YvXu335et/XX27FmsXbsWNTU1AT0ukTd8HiwR4ZZbbkFHRwfsdjuqqqoUCVcASEpKwiOPPIK2tjakpaUF9NjNzc346U9/GtBjEvnCHiwREZEMeA+WiIhIBgxYIiIiGTBgiYiIZMCAJSIikgEDloiISAYMWCIiIhn8H/g8rufsw5opAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "prior.plot(ls='--', label='prior', color='C5')\n", "decorate_rate(r'Prior distribution of $\\lambda$')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This distribution represents our prior knowledge about goal scoring: `lam` is usually less than 2, occasionally as high as 6, and seldom higher than that. " ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "And we can confirm that the mean is about 1.4." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:36.977679Z", "iopub.status.busy": "2021-04-16T19:35:36.977270Z", "iopub.status.idle": "2021-04-16T19:35:36.981785Z", "shell.execute_reply": "2021-04-16T19:35:36.981415Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "1.4140818156118378" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "prior.mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As usual, reasonable people could disagree about the details of the prior, but this is good enough to get started. Let's do an update." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Update\n", "\n", "Suppose you are given the goal-scoring rate, $\\lambda$, and asked to compute the probability of scoring a number of goals, $k$. That is precisely the question we answered by computing the Poisson PMF.\n", "\n", "For example, if $\\lambda$ is 1.4, the probability of scoring 4 goals in a game is:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:36.986101Z", "iopub.status.busy": "2021-04-16T19:35:36.985682Z", "iopub.status.idle": "2021-04-16T19:35:36.990357Z", "shell.execute_reply": "2021-04-16T19:35:36.989881Z" } }, "outputs": [ { "data": { "text/plain": [ "0.039471954028253146" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lam = 1.4\n", "k = 4\n", "poisson(lam).pmf(4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now suppose we are have an array of possible values for $\\lambda$; we can compute the likelihood of the data for each hypothetical value of `lam`, like this:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:36.994726Z", "iopub.status.busy": "2021-04-16T19:35:36.994093Z", "iopub.status.idle": "2021-04-16T19:35:36.996133Z", "shell.execute_reply": "2021-04-16T19:35:36.995693Z" } }, "outputs": [], "source": [ "lams = prior.qs\n", "k = 4\n", "likelihood = poisson(lams).pmf(k)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And that's all we need to do the update.\n", "To get the posterior distribution, we multiply the prior by the likelihoods we just computed and normalize the result.\n", "\n", "The following function encapsulates these steps." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:36.999424Z", "iopub.status.busy": "2021-04-16T19:35:36.999004Z", "iopub.status.idle": "2021-04-16T19:35:37.000604Z", "shell.execute_reply": "2021-04-16T19:35:37.000963Z" } }, "outputs": [], "source": [ "def update_poisson(pmf, data):\n", " \"\"\"Update Pmf with a Poisson likelihood.\"\"\"\n", " k = data\n", " lams = pmf.qs\n", " likelihood = poisson(lams).pmf(k)\n", " pmf *= likelihood\n", " pmf.normalize()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first parameter is the prior; the second is the number of goals.\n", "\n", "In the example, France scored 4 goals, so I'll make a copy of the prior and update it with the data." ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:37.006206Z", "iopub.status.busy": "2021-04-16T19:35:37.005520Z", "iopub.status.idle": "2021-04-16T19:35:37.007211Z", "shell.execute_reply": "2021-04-16T19:35:37.007583Z" } }, "outputs": [], "source": [ "france = prior.copy()\n", "update_poisson(france, 4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's what the posterior distribution looks like, along with the prior." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:37.028551Z", "iopub.status.busy": "2021-04-16T19:35:37.028101Z", "iopub.status.idle": "2021-04-16T19:35:37.185307Z", "shell.execute_reply": "2021-04-16T19:35:37.184888Z" }, "tags": [ "hide-input" ] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdgAAAFgCAYAAAAYQGiBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/GU6VOAAAACXBIWXMAAAuJAAALiQE3ycutAABgV0lEQVR4nO3dd3xUVd4/8M8tUzKZTDrpIQmhpYcSkKpgAURdESuiCK67iq6PPqu7+1NXtll2191HV3RtiMuqa8Ne1kJAqhAgEAwtpPfeM+3e8/sjZkxIm4S5uTPD9/165SWTueU7A85nzrnnnsMxxhgIIYQQ4lK82gUQQggh3ogClhBCCFEABSwhhBCiAApYQgghRAEUsIQQQogCKGAJIYQQBVDAEkIIIQqggCVkCEajEXl5eYodPzc3FxzHOR4vXboUzz33nMuO3/t427dvR0BAgMuODQA///nP8atf/cqlx+ztjjvuQFBQEMLDwxU7ByGKYYSobOHChUyr1TJfX18WEBDAFixYwPbv33/Ox/z73//umgIVdPjwYTaa/w1H8/qys7OZv7//iM/V49FHH2VXXXXVqPcfqV27drHAwEDW3NzssmNmZ2czAMzX19fxExUV5bLjE9IbtWCJW3jyySfR3t6OqqoqTJs2DT/5yU9Urcdut5/T/owxSJLkomo87/yuUFRUhNjYWPj7+49q/8H+Dv39/dHe3u74KS8vd3pfQkaCApa4Fb1ej3Xr1qGyshINDQ2oqanBddddh9DQUMTGxuKhhx5yfPg1Njbi6quvRlBQEAICAjB9+nSUlJTgf//3f7Fz50786le/gtFoxNKlSwEA7e3tuPvuuxEbG4tx48bhlltuQUtLCwCguLgYHMfh1VdfRWJiIqKiogAAHMchNzcXQHdoPfXUU5gwYQKCgoKwZMkSFBYWOmqPi4vD448/jtmzZ8NgMCA/P7/f62tubsZ1112HgIAATJkyBd9++22f5y+88EL83//936he30Dn7328Hv/4xz8QERGB8PBwPProo2A/zJa6YcOGfl9sAgICsH37dnzwwQd47LHH8Mknn8BoNMJoNAIA1qxZg//5n/9xbJ+Tk4O5c+ciICAASUlJePPNNx3PbdiwAVdccQXuvvtuBAQEIDY2Fm+99daA/w6eeeYZ3H777cjLy4PRaMSaNWucOv7y5ctx5513IigoaERd14P9/T/44IMYP348/Pz8kJSUhHfeecexT0+X+8svv4yYmBgEBwfjwQcf7HPcr776CrNmzUJAQAAiIiLw+OOPO577+uuvkZWVhYCAACQnJ+Ojjz5yul7iIdRtQBPSt7uzo6OD3XvvvWz8+PGMMcYWLVrEbrrpJtbW1saKi4tZUlIS+9Of/sQYY+w3v/kNW758Oevo6GB2u50dPnyYNTQ09Dtmj2uvvZbdeOONrKmpibW3t7MbbriB3XzzzYwxxoqKihgA9pOf/IQ1NTWxjo4OxhhjANjhw4cZY4y99tprLDIykh09epR1dXWx+++/n02dOpXZbDbGGGPjx49nkyZNYidOnGB2u51ZLJZ+r3X16tXskksuYU1NTayiooJNnz69Txdx77pH+voGOn/v7bKzsxnP82zNmjWso6ODHT9+nEVHR7PNmzczxgbuAvb392fZ2dmDPn/rrbeye++9lzHGWFNTEwsODmbPPPMMs1qtbPv27czX15ft2rXLsb9Go2FvvPEGs9vt7LXXXmNGo5G1trb2e58YY+zVV19l6enpjsfOHF8QBPbqq68ym83m+DvsbbBu8sH+/v/973+zmpoaZrfb2Ztvvsl0Oh0rLCzs837+4he/YF1dXSw/P58ZDAbH+3Xo0CHm4+PD3n33XWa1WllzczPbu3cvY4yxI0eOsICAAPbNN98wSZLYzp07mclkYidOnBjwvSCeiVqwxC385je/QUBAABISEnDixAl89NFHqKiowLZt2/DUU0/BaDRi/PjxeOihh7B582YAgEajQUNDA06fPg1BEJCRkYGgoKABj19XV4f33nsPzz77LAICAuDr64vf//73eOutt/p0pT766KMICAiAwWDod4wtW7bgF7/4BVJTU6HX6/HYY4+hvLwc+/fvd2xz5513YvLkyRAEAVqtts/+kiThrbfewh//+EcEBAQgMjISDzzwwKDvyUhenzPnBwBZlvHkk0/CYDBgypQpuPvuu7Fly5Yhj+msTz/9FKGhobjnnnug0WiwcOFC3HTTTXjttdcc20ybNg033ngjBEHA6tWrYbVacerUKZcdPyUlBWvWrIEoigP+HQJAS0sLAgICHD+PPPKI47mz//5XrVqFcePGQRAE3HDDDZgyZQr27Nnj2J4xhscffxx6vR5Tp07FnDlzcPDgQQDAiy++iBtuuAHXXHMNNBoN/P39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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "prior.plot(ls='--', label='prior', color='C5')\n", "france.plot(label='France posterior', color='C3')\n", "\n", "decorate_rate('Posterior distribution for France')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The data, `k=4`, makes us think higher values of `lam` are more likely and lower values are less likely. So the posterior distribution is shifted to the right.\n", "\n", "Let's do the same for Croatia:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:37.190240Z", "iopub.status.busy": "2021-04-16T19:35:37.189712Z", "iopub.status.idle": "2021-04-16T19:35:37.191717Z", "shell.execute_reply": "2021-04-16T19:35:37.192161Z" } }, "outputs": [], "source": [ "croatia = prior.copy()\n", "update_poisson(croatia, 2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here are the results." ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:37.231183Z", "iopub.status.busy": "2021-04-16T19:35:37.225303Z", "iopub.status.idle": "2021-04-16T19:35:37.342248Z", "shell.execute_reply": "2021-04-16T19:35:37.341893Z" }, "tags": [ "hide-input" ] }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "prior.plot(ls='--', label='prior', color='C5')\n", "croatia.plot(label='Croatia posterior', color='C0')\n", "\n", "decorate_rate('Posterior distribution for Croatia')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here are the posterior means for these distributions." ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:37.345387Z", "iopub.status.busy": "2021-04-16T19:35:37.344949Z", "iopub.status.idle": "2021-04-16T19:35:37.348895Z", "shell.execute_reply": "2021-04-16T19:35:37.349408Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1.6999765866755225 2.699772393342308\n" ] } ], "source": [ "print(croatia.mean(), france.mean())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The mean of the prior distribution is about 1.4.\n", "After Croatia scores 2 goals, their posterior mean is 1.7, which is near the midpoint of the prior and the data.\n", "Likewise after France scores 4 goals, their posterior mean is 2.7.\n", "\n", "These results are typical of a Bayesian update: the location of the posterior distribution is a compromise between the prior and the data." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Probability of Superiority\n", "\n", "Now that we have a posterior distribution for each team, we can answer the first question: How confident should we be that France is the better team?\n", "\n", "In the model, \"better\" means having a higher goal-scoring rate against the opponent. We can use the posterior distributions to compute the probability that a random value drawn from France's distribution exceeds a value drawn from Croatia's.\n", "\n", "One way to do that is to enumerate all pairs of values from the two distributions, adding up the total probability that one value exceeds the other." ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:37.352893Z", "iopub.status.busy": "2021-04-16T19:35:37.352483Z", "iopub.status.idle": "2021-04-16T19:35:37.355738Z", "shell.execute_reply": "2021-04-16T19:35:37.355251Z" } }, "outputs": [], "source": [ "def prob_gt(pmf1, pmf2):\n", " \"\"\"Compute the probability of superiority.\"\"\"\n", " total = 0\n", " for q1, p1 in pmf1.items():\n", " for q2, p2 in pmf2.items():\n", " if q1 > q2:\n", " total += p1 * p2\n", " return total" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is similar to the method we use in <<_Addends>> to compute the distribution of a sum.\n", "Here's how we use it:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:37.361765Z", "iopub.status.busy": "2021-04-16T19:35:37.361299Z", "iopub.status.idle": "2021-04-16T19:35:37.363760Z", "shell.execute_reply": "2021-04-16T19:35:37.364124Z" } }, "outputs": [ { "data": { "text/plain": [ "0.7499366290930155" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "prob_gt(france, croatia)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`Pmf` provides a function that does the same thing." ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:37.367610Z", "iopub.status.busy": "2021-04-16T19:35:37.366920Z", "iopub.status.idle": "2021-04-16T19:35:37.370347Z", "shell.execute_reply": "2021-04-16T19:35:37.370715Z" } }, "outputs": [ { "data": { "text/plain": [ "0.7499366290930174" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Pmf.prob_gt(france, croatia)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The results are slightly different because `Pmf.prob_gt` uses array operators rather than `for` loops.\n", "\n", "Either way, the result is close to 75%. So, on the basis of one game, we have moderate confidence that France is actually the better team.\n", "\n", "Of course, we should remember that this result is based on the assumption that the goal-scoring rate is constant.\n", "In reality, if a team is down by one goal, they might play more aggressively toward the end of the game, making them more likely to score, but also more likely to give up an additional goal.\n", "\n", "As always, the results are only as good as the model." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Predicting the Rematch\n", "\n", "Now we can take on the second question: If the same teams played again, what is the chance Croatia would win?\n", "To answer this question, we'll generate the \"posterior predictive distribution\", which is the number of goals we expect a team to score.\n", "\n", "If we knew the goal scoring rate, `lam`, the distribution of goals would be a Poisson distribution with parameter `lam`.\n", "Since we don't know `lam`, the distribution of goals is a mixture of a Poisson distributions with different values of `lam`.\n", "\n", "First I'll generate a sequence of `Pmf` objects, one for each value of `lam`." ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:37.411054Z", "iopub.status.busy": "2021-04-16T19:35:37.394398Z", "iopub.status.idle": "2021-04-16T19:35:37.494790Z", "shell.execute_reply": "2021-04-16T19:35:37.494245Z" } }, "outputs": [], "source": [ "pmf_seq = [make_poisson_pmf(lam, goals) \n", " for lam in prior.qs]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following figure shows what these distributions look like for a few values of `lam`." ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:37.518985Z", "iopub.status.busy": "2021-04-16T19:35:37.518453Z", "iopub.status.idle": "2021-04-16T19:35:38.081641Z", "shell.execute_reply": "2021-04-16T19:35:38.082938Z" }, "tags": [ "hide-input" ] }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "for i, index in enumerate([10, 20, 30, 40]):\n", " plt.subplot(2, 2, i+1)\n", " lam = prior.qs[index]\n", " pmf = pmf_seq[index]\n", " pmf.bar(label=f'$\\lambda$ = {lam}', color='C3')\n", " decorate_goals()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The predictive distribution is a mixture of these `Pmf` objects, weighted with the posterior probabilities.\n", "We can use `make_mixture` from <<_GeneralMixtures>> to compute this mixture." ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:38.175633Z", "iopub.status.busy": "2021-04-16T19:35:38.174868Z", "iopub.status.idle": "2021-04-16T19:35:38.178570Z", "shell.execute_reply": "2021-04-16T19:35:38.179238Z" } }, "outputs": [], "source": [ "from utils import make_mixture\n", "\n", "pred_france = make_mixture(france, pmf_seq)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's the predictive distribution for the number of goals France would score in a rematch." ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:38.203125Z", "iopub.status.busy": "2021-04-16T19:35:38.202242Z", "iopub.status.idle": "2021-04-16T19:35:38.375595Z", "shell.execute_reply": "2021-04-16T19:35:38.375124Z" }, "tags": [ "hide-input" ] }, "outputs": [ { "data": { "image/png": "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T1VVVercuXO15wMCAnT06FFnOSoq6pw1ejwexcTEOMstWrRQp06dqh08U1f/H0RHRzuPmzVrpo4dO6qgoKDWMfLy8vTtt9+qbdu2znPmR/tmCwsLq4139vg/9vXXX+u7775Tly5dzltjbfr166cOHTronXfeUXJyslauXKk333yzXnWerSF1X3nllXr33Xe1dOlSzZ07Vz179tSCBQs0bNiwc9YaHh6ugIC694Cd7/dwMc7+W+nUqZNatGghj8ejTp06SVK1v+srr7xSJSUlPnlvNB7sg0WjFRERodOnT+urr75ynvvyyy+d0y1CQkK0ePFiHThwQFu3btVHH32kF198UZJqfLlGRkYqICBAhYWF+vbbb52f06dPO/tba+t3dj15eXnOcnl5uQoLC6ud/nG+L3VJys/Pdx5XVFToyJEj56whMjJSV199dbWaT5w4odLSUklnvrh/PJ505pSR2rRr107BwcHKzc2t9fX61J6SkqLMzEz99a9/VcuWLTV48OB61Xm2htQtSSNGjNB7772n48ePa8KECbrttttUVVV1zpov9vdw5ZVX6rvvvnNeP3LkSLW+LperzrHP/ls5evSoysrKfHrqERo/AhaNVnh4uIYNG6Zf//rXOnXqlA4dOqSnn35av/jFLyRJ69at08GDB1VVVaWwsDA1a9ZMQUFnNsq0b99e//d//+eM1aFDB40bN04zZ87U8ePHJZ350nv77bfrXc+UKVP0wgsvKCcnR2VlZZo3b57Cw8Odg17q64033tC2bdtUXl6u+fPnq127durfv3+tba+77jpFRUVp3rx5KikpkTFG+fn5ev/99yVJd9xxhz766CP95S9/UWVlpZYvX66DBw/WOpbL5dIvf/lL3X///crNzZUxRgcOHHCC5ux1VpuUlBStX79ezz77rKZMmeIEzfnqPFtD6v7qq6/09ttvq6SkREFBQQoLC1NgYKBTc0lJSbUDiOqrrt9D3759lZmZqcrKSmVnZyszM7Na3/OtqylTpujpp5/W4cOHVVpaqjlz5mjkyJHO7BX/HghYNGqvv/66vv/+e0VHR+v666/XmDFjNHfuXElSbm6ubrnlFoWGhio+Pl4DBgzQ3XffLUm677779OGHH6p169bOeZyvvPKKWrdureuuu05hYWG64YYbtGvXrnrXcuedd+ree+/V2LFj1aFDB3322Wd6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SUnq2rWrhgwZoqVLlyo0NNRWuQAA+JTVfbDDhw93ZrA/SExM1HvvvecsL1u27Jz9lyxZoiVLllirDwAAW7i4MAAAFhCwAABYQMACAGABAQsAgAUELAAAFhCwAABYQMACAGABAQsAgAUELAAAFhCwAABYQMACAGABAQsAgAUELAAAFhCwAABYQMACAGABAQsAgAUELAAAFhCwAABYQMACAGABAQsAgAUELAAAFhCwAABYQMACAGBBkL8LAND4lD4002/vHbLoBb+9N+BLzGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAAC6wGbFZWluLj4xUbG6vU1FRVVlbWu82GDRsUGhoqt9stt9ut8ePH2ywVAACfshawXq9XaWlpWrVqlXJzc1VaWqrMzMwGtUlKSlJ2drays7O1evVqW6UCAOBz1gJ2x44dioiIUI8ePSRJaWlpWrNmTYPbAADQFFkLWI/Ho8jISGc5KipKHo+nQW127dolt9utwYMH64MPPrBVKgAAPhdkc3CXy+U8NsY0qE3fvn2Vn5+vsLAwZWdna/To0dq6dauio6Or9c/IyFBGRoazXFxc7KvyAQC4YNZmsJGRkTp06JCz7PF4FBERUe82YWFhCgsLkyS53W4NHDhQ2dnZNd4nPT1dOTk5zk+bNm0sfBoAABrGWsAmJiaqoKBAOTk5kqQVK1YoOTm53m2OHDnizGg9Ho+2bdum+Ph4W+UCAOBT1gI2MDBQy5cv1/jx4xUbG6vg4GClpKRo586dGj16dJ1tJOmtt95SQkKC3G63xo4dq8WLF6tLly62ygUAwKes7oMdPny4Mzv9QWJiot57770620jSzJkzNXPmTJvlAQBgDVdyAgDAAqszWADwtdKH/LNlK2TRC355XzRdzGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALAgyN8FAMDloPShmX5775BFL/jtvXFuzGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAJuVwcAlzFuo+c/zGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAs4EITAAC/8NdFMC7VBTCYwQIAYAEBCwCABQQsAAAWELAAAFhgNWCzsrIUHx+v2NhYpaamqrKyskFt5s6dq9jYWMXFxWn16tU2SwUAwKesBazX61VaWppWrVql3NxclZaWKjMzs95t1q9fr08//VT79+9XVlaWZs+erZKSElvlAgDgU9YCdseOHYqIiFCPHj0kSWlpaVqzZk2926xZs0ZTp05VUFCQwsPDNWjQIK1fv95WuQAA+JS182A9Ho8iIyOd5aioKHk8nnq38Xg8uv322+vsL0kZGRnKyMhwlr/44gvFx8f77HNcqOLiYrVp0+bCB3jH/5+hVhbruqh1xvpqONZZwzTW9SWxzhrKh3XVlks/sHqhCZfL5Tw2xjS4TX36p6enKz09/WLKtCI+Pl45OTn+LqNJYZ01DOur4VhnDcc6u3DWNhFHRkbq0KFDzrLH41FERES929SnPwAAjZW1gE1MTFRBQYHzn8+KFSuUnJxc7zbJycl69dVX5fV6VVhYqE2bNummm26yVS4AAD5lLWADAwO1fPlyjR8/XrGxsQoODlZKSop27typ0aNH19lGkm688UYlJSWpa9euGjJkiJYuXarQ0FBb5fpcY9xs3dixzhqG9dVwrLOGY51dOJc5185NAABwwbiSEwAAFhCwAABYQMBaUJ9LROKMw4cPa8SIEerevbsSEhI0b948f5fUpNxzzz0KCuK2zudTWlqqO++8U3FxcerWrZuWLVvm75Iavb/+9a9yu91yu90aOHCg9u3b5++SmhwC1sfqc4lI/D9BQUFavHix9u3bp927d2vjxo165513/F1Wk7Bx40adOnXK32U0CXPmzFFCQoIOHjyoffv26bbbbvN3SY3ejBkz9L//+7/Kzs7W1KlT9dhjj/m7pCaHgPWx+lwiEv9Px44dlZiYKElq3ry5evXqpfz8fD9X1fiVlZXpoYce0jPPPOPvUhq9kpISrVu3TnPmzJF05gI2V199tZ+ravxcLpdOnjwpSTpx4oQ6duzo54qaHrYt+Vh9LhGJ2hUVFWnt2rVcc7oe5s+fr7S0NLVr187fpTR6X3zxhdq3b6+ZM2dq+/btioyM1HPPPaeYmBh/l9aoZWZmasyYMWrZsqWuvPJKbd682d8lNTnMYC2ozyUeUV1ZWZnGjx+vOXPmqHv37v4up1H7/PPPtW3bNk2bNs3fpTQJFRUVys7O1s9+9jPt3r1bt956q1JTU/1dVqPm9Xq1cOFCZWVl6fDhw5o7d67uvPNOf5fV5BCwPsYlHhvO6/Vq8uTJSkxM1OzZs/1dTqO3efNm5eTk6Cc/+YliYmLk9XoVExOj4uJif5fWKEVGRqpt27YaNWqUJOnnP/+5du/e7eeqGrc9e/bo5MmT6tmzpyRpypQp2rBhg3+LaoIIWB+rzyUiUd2MGTMUFhamJUuW+LuUJuHuu+9WYWGh8vLylJeXp8DAQOXl5V3cnXUuY+3bt1dCQoJ27twpSfrb3/7mHCOB2oWHh+vAgQMqKCiQdOaIYrYsNRxXcrLg448/1syZM1VeXq7BgwfrpZde4lSKc9i8ebMGDRqkhIQEBQYGSpJSU1M1a9YsP1fWdAQFBXEq2Hnk5OQoLS1Np06dUuvWrbVs2TIC4zxefvllPfPMMwoKClJISIhefPFF9e7d299lNSkELAAAFrCJGAAACwhYAAAsIGABALCAgAUAwAICFgAACwhYwCKXy6WpU6c6y5s2bdLQoUN9Nv4TTzyhp556ymfj1eX48ePq37+/+vTpo9WrV1t7n7y8PMXGxlobH7hUODkTsCggIEAbNmzQv/71L3Xp0sXf5dTg9Xqd84/P56OPPlJ0dLTeeOMNy1UBlwdmsIBFLpdLc+fO1ZNPPlnjtVdeeUXTp093lqdPn65XXnlFkjR16lTdfffdGjlypKKjo7Vy5Uo99dRT6tOnj6677jodPXrU6XfgwAENHjxYcXFx+vWvf+08//nnn2v48OG69tprdf311+sf//iHpDOz3rS0NI0aNUojRoyoUdemTZuUmJioXr16acyYMTp69Ki2bdumBx54QB9++KHcbrfy8vKq9SkqKtKoUaPUo0cPTZgwQUlJSdq0adM5x5Ok999/X/3791ffvn2VlJRU6+ULjx07puHDh8vtdqtHjx568cUX67nmAf8jYAHLpk+frs2bN2v//v0N6ldQUKD169fr3XffVVpammJjY7Vnzx4NGzas2g3Dt23bpnXr1umf//yntmzZonXr1qmiokIzZsxQZmamdu3apd/+9rfVwvzTTz/Vm2++WeP6smVlZZo0aZJeeuklJ6Dvu+8+JSUlaf78+brtttuUnZ1d4040Tz75pPr27au9e/dq3rx52rVrV53jSVL//v21ZcsW7d69W3/4wx+Unp5eYx289tprGjZsmLKzs7V3715NmjSpQesQ8Cc2EQOWNW/eXA899JCefPLJWkPkXH72s58pICBAPXv21OnTp52bhLvd7mq39Bs3bpzCwsIkSRMnTtQnn3yimJgY7d27V2PGjHHaffPNN87jW2+9VaGhoTXe88CBA+rQoYP69u0r6cz9jBcvXnzeWv/+97/r9ddflyT17t3buUh8XeMdPXpUU6ZMUX5+voKCgpSbm1tj3H79+mnatGkqLy/XzTffrEGDBp23FqCxYAYLXAKpqanavn279u7d6zwXFBSkqqoqZ7msrKxanxYtWkg6s5nZ5XI5ywEBAXVee9jlcskYo2uuuUbZ2dnOz4/v8hQSElJr39qunPrj2y/WpbZ2dY13zz33aMqUKfrnP/+pjRs36vTp0zXaXn/99dq8ebPi4uL0xBNPNOgfFMDfCFjgEmjWrJkeeeQRPf30085zP/nJT/TZZ5/J6/Xqm2++ueDbga1du1YnT55UeXm53njjDQ0ePFjdunVTSUmJPvzwQ0lngi47O/u8Y3Xr1k1Hjx519of+z//8j4YNG3befjfccIP+9Kc/SZI+++wzZ39vXeOdPHnSuZXjSy+9VOu4eXl5at26tVJSUjR//nxt3779vLUAjQWbiIFL5Be/+IUWLlzoLF9//fVKSEhQQkKCunfv7mxGbajBgwfr9ttv16FDh3Trrbdq7Nixks4E76xZs3T//feroqJCycnJcrvddY7VokULvf7665oxY4bKy8sVERGhFStWnLeGxx9/XJMnT1bv3r3ldrvVu3dvhYWF1TneggULNG3aNHXo0MGp+WxZWVlaunSpgoKCFBgYqN/85jcNWzmAH3E3HQAXrby8XC6XS82aNdO//vUvDRs2TAcPHlRwcLC/SwP8hhksgIt25MgR/fSnP3X2uS5btoxwxb89ZrAAAFjAQU4AAFhAwAIAYAEBCwCABQQsAAAWELAAAFhAwAIAYMH/B9lmx2AgpMf7AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pred_france.bar(color='C3', label='France')\n", "decorate_goals('Posterior predictive distribution')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This distribution represents two sources of uncertainty: we don't know the actual value of `lam`, and even if we did, we would not know the number of goals in the next game.\n", "\n", "Here's the predictive distribution for Croatia." ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:38.388532Z", "iopub.status.busy": "2021-04-16T19:35:38.385236Z", "iopub.status.idle": "2021-04-16T19:35:38.392723Z", "shell.execute_reply": "2021-04-16T19:35:38.393065Z" } }, "outputs": [], "source": [ "pred_croatia = make_mixture(croatia, pmf_seq)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:38.412413Z", "iopub.status.busy": "2021-04-16T19:35:38.411968Z", "iopub.status.idle": "2021-04-16T19:35:38.571854Z", "shell.execute_reply": "2021-04-16T19:35:38.572272Z" }, "scrolled": true, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "image/png": "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atKkSaXx8/LyVF5eriuvvLLC8w0aNNChQ4ec5ejo6NPW6Pf71a5dO2e5cePGatu2bYUvz1TX/ycxMTHO44YNG6pNmzYqKCiocoy8vDx99913atGihfOc+ZdjswcOHKgw3qnj/6tvvvlG33//vTp06HDGGqvSo0cPtW7dWsuXL1dycrJef/11vfHGGzWq81S1qfvSSy/VihUrNHv2bE2ZMkVdunTR9OnT1b9//9PWGhkZqQYNqj8Cdqbfw7k49W+lbdu2aty4sfx+v9q2bStJFf6uL730UhUVFdXJulF/cAwW9ZbH49GJEyf01VdfOc99+eWXzukW4eHhmjlzpnbv3q2NGzfq/fff14svvihJlT5co6Ki1KBBAx04cEDfffed83PixAnneGtV/U6tJy8vz1kuLS3VgQMHKpz+caYPdUnKz893Hp88eVIHDx48bQ1RUVG64oorKtR89OhRFRcXS/rxg/tfx5N+PGWkKi1btlRYWJj27t1b5es1qT01NVVZWVl655131KRJEyUmJtaozlPVpm5JGjhwoFatWqXDhw9r5MiRuu2221ReXn7ams/193DppZfq+++/d14/ePBghb4ul6vasU/9Wzl06JBKSkrq9NQj1H8ELOqtyMhI9e/fX7/97W91/Phx7du3TzNmzNCvfvUrSdLKlSu1Z88elZeXy+12q2HDhgoN/XGnTKtWrfTPf/7TGat169YaMWKEJk6cqMOHD0v68UPvzTffrHE9Y8aM0QsvvKDc3FyVlJRo6tSpioyMdL70UlMLFy7Upk2bVFpaqmnTpqlly5bq1atXlW2vvfZaRUdHa+rUqSoqKpIxRvn5+Xr77bclSXfccYfef/99/d///Z/Kyso0b9487dmzp8qxXC6Xfv3rX+uBBx7Q3r17ZYzR7t27naA5dZtVJTU1VatXr9Zzzz2nMWPGOEFzpjpPVZu6v/rqK7355psqKipSaGio3G63QkJCnJqLiooqfIGopqr7PXTv3l1ZWVkqKytTTk6OsrKyKvQ907YaM2aMZsyYof3796u4uFiTJ0/WoEGDnNkrLg4ELOq11157TT/88INiYmLUp08f3XzzzZoyZYokae/evbrpppsUERGhuLg4XXfddbrnnnskSffff7/ee+89NWvWzDmPc8GCBWrWrJmuvfZaud1uXX/99dq2bVuNa7nrrrt07733atiw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v379NHv2bEVERNgqFwCAOlX55NM6NGDAAGcG+5OEhAStWrXKWZ4zZ85p+8+aNUuzZs2yVh8AALZwJScAACwgYAEAsICABQDAAgIWAAALCFgAACwgYAEAsICABQDAAgIWAAALCFgAACwgYAEAsICABQDAAgIWAAALCFgAACwgYAEAsICABQDAAgIWAAALCFgAACwgYAEAsICABQDAAgIWAAALCFgAACwgYAEAsICABQDAAgIWAAALCFgAACwgYAEAsCA02AUAF7Pbf784aOteMj0laOsGLgbMYAEAsICABQDAAgIWAAALCFgAACwgYAEAsICABQDAAgIWAAALCFgAACwgYAEAsICABQDAAgIWAAALCFgAACywGrDZ2dmKi4uT1+tVWlqaysrKatxmzZo1ioiIkM/nk8/nU0oKFyYHAJw/rAVsIBBQenq6Fi1apL1796q4uFhZWVm1atOzZ0/l5OQoJydHixcH764jAADUlrWA3bJlizwejzp37ixJSk9P19KlS2vdBgCA85G1gPX7/YqKinKWo6Oj5ff7a9Vm27Zt8vl8SkxM1N/+9jdbpQIAUOes3nDd5XI5j40xtWrTvXt35efny+12KycnR0OHDtXGjRsVExNToX9mZqYyMzOd5cLCwroqHwCAs2ZtBhsVFaV9+/Y5y36/Xx6Pp8Zt3G633G63JMnn86l3797KycmptJ6MjAzl5uY6P82bN7fwbgAAqB1rAZuQkKCCggLl5uZKkubPn6/k5OQatzl48KAzo/X7/dq0aZPi4uJslQsAQJ2yFrAhISGaN2+eUlJS5PV6FRYWptTUVG3dulVDhw6tto0kLVmyRPHx8fL5fBo2bJhmzpypDh062CoXAIA6ZfUY7IABA5zZ6U8SEhK0atWqattI0sSJEzVx4kSb5QEAYA1XcgIAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAssHotYgDnp9t/vzho614yPSVo6wbqEjNYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAAC7jhOoDzSrBuBs+N4FFbzGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACzgPFgDqQLDOz5U4R7e+YgYLAIAFBCwAABYQsAAAWGD1GGx2drYyMjJUWlqqxMREzZ07V6GhoTVuM2XKFC1dulQNGjTQjBkzlJLCcQYAqA2ODQePtRlsIBBQenq6Fi1apL1796q4uFhZWVk1brN69Wp9+OGH2rVrl7KzszVp0iQVFRXZKhcAgDplbQa7ZcsWeTwede7cWZKUnp6uF154QePGjatRm6VLl2rs2LEKDQ1VZGSk+vbtq9WrV+v222+3VTIA4Gd0od8ZyVrA+v1+RUVFOcvR0dHy+/01buP3+yuEaVX9JSkzM1OZmZnO8hdffKG4uLg6ex9nq7CwUM2bNz/r/nFLHqvDauqOzbrOZZuxvWqPbVY79XV7SWyz2qrLuqrKpZ9YPQbrcrmcx8aYWrepSf+MjAxlZGScS5lWxMXFKTc3N9hlnFfYZrXD9qo9tlntsc3OnrVjsFFRUdq3b5+z7Pf75fF4atymJv0BAKivrAVsQkKCCgoKnP985s+fr+Tk5Bq3SU5O1ssvv6xAIKADBw5o3bp1uvHGG22VCwBAnbIWsCEhIZo3b55SUlLk9XoVFham1NRUbd26VUOHDq22jSTdcMMN6tmzp6666ir169dPs2fPVkREhK1y61x93G1d37HNaoftVXtss9pjm509lzndwU0AAHDWuJITAAAWELAAAFhAwFqQnZ2tuLg4eb1epaWlqaysLNgl1Vv79+/XwIEDFRsbq/j4eE2dOjXYJZ1XfvOb31S6/CgqKy4u1l133aWOHTuqU6dOmjNnTrBLqvfeeecd+Xw++Xw+9e7dWzt37gx2SecdAraO1eQSkfj/hYaGaubMmdq5c6e2b9+utWvXavny5cEu67ywdu1aHT9+PNhlnBcmT56s+Ph47dmzRzt37tRtt90W7JLqvQkTJuivf/2rcnJyNHbsWD32WP28aER9RsDWsaou/7h06dIgV1V/tWnTRgkJCZKkRo0a6eqrr1Z+fn6Qq6r/SkpK9Lvf/U5/+MMfgl1KvVdUVKSVK1dq8uTJkn68gM0VV1wR5KrqP5fLpWPHjkmSjh49qjZt2gS5ovMP+5bqWE0uEYmqHTlyRMuWLdPq1auDXUq9N23aNKWnp6tly5bBLqXe++KLL9SqVStNnDhRmzdvVlRUlP70pz+pXbt2wS6tXsvKytLNN9+sJk2a6NJLL9X69euDXdJ5hxmsBTW5xCMqKikpUUpKiiZPnqzY2Nhgl1OvffLJJ9q0aVOFG2fg9E6ePKmcnBzdeuut2r59u4YPH660tLRgl1WvBQIBPf3008rOztb+/fs1ZcoU3XXXXcEu67xDwNYxLvFYe4FAQKNHj1ZCQoImTZoU7HLqvfXr1ys3N1e/+MUv1K5dOwUCAbVr106FhYXBLq1eioqKUosWLTRkyBBJ0i9/+Utt3749yFXVbx999JGOHTumLl26SJLGjBmjNWvWBLeo8xABW8dqcolIVDRhwgS53W7NmjUr2KWcF+655x4dOHBAeXl5ysvLU0hIiPLy8s7pzjoXslatWik+Pl5bt26VJL377rvOdyRQtcjISO3evVsFBQWSfvxGMXuWao8rOVnwwQcfaOLEiSotLVViYqLmzp3LqRSnsX79evXt21fx8fEKCQmRJKWlpem+++4LcmXnj9DQUE4FO4Pc3Fylp6fr+PHjatasmebMmUNgnMFLL72kP/zhDwoNDVV4eLhefPFFde3aNdhlnVcIWAAALGAXMQAAFhCwAABYQMACAGABAQsAgAUELAAAFhCwgEUul0tjx451ltetW6ekpKQ6G/+JJ57QU089VWfjVefw4cPq1auXunXrpsWLF1tbT15enrxer7XxgZ8LJ2cCFjVo0EBr1qzR559/rg4dOgS7nEoCgYBz/vGZvP/++4qJidHChQstVwVcGJjBAha5XC5NmTJFTz75ZKXXFixYoPHjxzvL48eP14IFCyRJY8eO1T333KNBgwYpJiZGr7/+up566il169ZN1157rQ4dOuT02717txITE9WxY0f99re/dZ7/5JNPNGDAAF1zzTXq06ePPv30U0k/znrT09M1ZMgQDRw4sFJd69atU0JCgq6++mrdfPPNOnTokDZt2qQHH3xQ7733nnw+n/Ly8ir0OXLkiIYMGaLOnTtr5MiR6tmzp9atW3fa8STp7bffVq9evdS9e3f17NmzyssXfv311xowYIB8Pp86d+6sF198sYZbHgg+AhawbPz48Vq/fr127dpVq34FBQVavXq1VqxYofT0dHm9Xn300Ufq379/hRuGb9q0SStXrtRnn32mDRs2aOXKlTp58qQmTJigrKwsbdu2Tf/1X/9VIcw//PBDvfHGG5WuL1tSUqI777xTc+fOdQL6/vvvV8+ePTVt2jTddtttysnJqXQnmieffFLdu3fXjh07NHXqVG3btq3a8SSpV69e2rBhg7Zv364///nPysjIqLQNXn31VfXv3185OTnasWOH7rzzzlptQyCY2EUMWNaoUSP97ne/05NPPllliJzOrbfeqgYNGqhLly46ceKEc5Nwn89X4ZZ+I0aMkNvtliSNGjVKf//739WuXTvt2LFDN998s9Pu22+/dR4PHz5cERERlda5e/dutW7dWt27d5f04/2MZ86cecZa//GPf+i1116TJHXt2tW5SHx14x06dEhjxoxRfn6+QkNDtXfv3krj9ujRQ+PGjVNpaakGDx6svn37nrEWoL5gBgv8DNLS0rR582bt2LHDeS40NFTl5eXOcklJSYU+jRs3lvTjbmaXy+UsN2jQoNprD7tcLhlj1L59e+Xk5Dg//3qXp/Dw8Cr7VnXl1H+9/WJ1qmpX3Xi/+c1vNGbMGH322Wdau3atTpw4Ualtnz59tH79enXs2FFPPPFErf5BAYKNgAV+Bg0bNtQjjzyiGTNmOM/94he/0Mcff6xAIKBvv/32rG8HtmzZMh07dkylpaVauHChEhMT1alTJxUVFem9996T9GPQ5eTknHGsTp066dChQ87x0P/93/9V//79z9jv+uuv1yuvvCJJ+vjjj53jvdWNd+zYMedWjnPnzq1y3Ly8PDVr1kypqamaNm2aNm/efMZagPqCXcTAz+RXv/qVnn76aWe5T58+io+PV3x8vGJjY53dqLWVmJio22+/Xfv27dPw4cM1bNgwST8G73333acHHnhAJ0+eVHJysnw+X7VjNW7cWK+99pomTJig0tJSeTwezZ8//4w1PP744xo9erS6du0qn8+nrl27yu12Vzve9OnTNW7cOLVu3dqp+VTZ2dmaPXu2QkNDFRISomeffbZ2GwcIIu6mA+CclZaWyuVyqWHDhvr888/Vv39/7dmzR2FhYcEuDQgaZrAAztnBgwd1yy23OMdc58yZQ7jioscMFgAAC/iSEwAAFhCwAABYQMACAGABAQsAgAUELAAAFhCwAABY8P8AqJvED3R5axEAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pred_croatia.bar(color='C0', label='Croatia')\n", "decorate_goals('Posterior predictive distribution')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can use these distributions to compute the probability that France wins, loses, or ties the rematch." ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:38.575867Z", "iopub.status.busy": "2021-04-16T19:35:38.575226Z", "iopub.status.idle": "2021-04-16T19:35:38.578736Z", "shell.execute_reply": "2021-04-16T19:35:38.578262Z" } }, "outputs": [ { "data": { "text/plain": [ "0.5703522415934519" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "win = Pmf.prob_gt(pred_france, pred_croatia)\n", "win" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:38.582943Z", "iopub.status.busy": "2021-04-16T19:35:38.582298Z", "iopub.status.idle": "2021-04-16T19:35:38.585664Z", "shell.execute_reply": "2021-04-16T19:35:38.585183Z" } }, "outputs": [ { "data": { "text/plain": [ "0.26443376257235873" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lose = Pmf.prob_lt(pred_france, pred_croatia)\n", "lose" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:38.590259Z", "iopub.status.busy": "2021-04-16T19:35:38.589444Z", "iopub.status.idle": "2021-04-16T19:35:38.593139Z", "shell.execute_reply": "2021-04-16T19:35:38.592536Z" } }, "outputs": [ { "data": { "text/plain": [ "0.16521399583418947" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tie = Pmf.prob_eq(pred_france, pred_croatia)\n", "tie" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Assuming that France wins half of the ties, their chance of winning the rematch is about 65%." ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:38.597954Z", "iopub.status.busy": "2021-04-16T19:35:38.597082Z", "iopub.status.idle": "2021-04-16T19:35:38.600558Z", "shell.execute_reply": "2021-04-16T19:35:38.601362Z" } }, "outputs": [ { "data": { "text/plain": [ "0.6529592395105466" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "win + tie/2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is a bit lower than their probability of superiority, which is 75%. And that makes sense, because we are less certain about the outcome of a single game than we are about the goal-scoring rates.\n", "Even if France is the better team, they might lose the game." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Exponential Distribution\n", "\n", "As an exercise at the end of this notebook, you'll have a chance to work on the following variation on the World Cup Problem:\n", "\n", ">In the 2014 FIFA World Cup, Germany played Brazil in a semifinal match. Germany scored after 11 minutes and again at the 23 minute mark. At that point in the match, how many goals would you expect Germany to score after 90 minutes? What was the probability that they would score 5 more goals (as, in fact, they did)?\n", "\n", "In this version, notice that the data is not the number of goals in a fixed period of time, but the time between goals.\n", "\n", "To compute the likelihood of data like this, we can take advantage of the theory of Poisson processes again. If each team has a constant goal-scoring rate, we expect the time between goals to follow an [exponential distribution](https://en.wikipedia.org/wiki/Exponential_distribution).\n", "\n", "If the goal-scoring rate is $\\lambda$, the probability of seeing an interval between goals of $t$ is proportional to the PDF of the exponential distribution:\n", "\n", "$$\\lambda \\exp(-\\lambda t)$$\n", "\n", "Because $t$ is a continuous quantity, the value of this expression is not a probability; it is a probability density. However, it is proportional to the probability of the data, so we can use it as a likelihood in a Bayesian update.\n", "\n", "SciPy provides `expon`, which creates an object that represents an exponential distribution.\n", "However, it does not take `lam` as a parameter in the way you might expect, which makes it awkward to work with.\n", "Since the PDF of the exponential distribution is so easy to evaluate, I'll use my own function." ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:38.606263Z", "iopub.status.busy": "2021-04-16T19:35:38.605541Z", "iopub.status.idle": "2021-04-16T19:35:38.607919Z", "shell.execute_reply": "2021-04-16T19:35:38.607420Z" } }, "outputs": [], "source": [ "def expo_pdf(t, lam):\n", " \"\"\"Compute the PDF of the exponential distribution.\"\"\"\n", " return lam * np.exp(-lam * t)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To see what the exponential distribution looks like, let's assume again that `lam` is 1.4; we can compute the distribution of $t$ like this:" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:38.612959Z", "iopub.status.busy": "2021-04-16T19:35:38.612199Z", "iopub.status.idle": "2021-04-16T19:35:38.614877Z", "shell.execute_reply": "2021-04-16T19:35:38.614521Z" } }, "outputs": [ { "data": { "text/plain": [ "25.616650745459093" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lam = 1.4\n", "qs = np.linspace(0, 4, 101)\n", "ps = expo_pdf(qs, lam)\n", "pmf_time = Pmf(ps, qs)\n", "pmf_time.normalize()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's what it looks like:" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:38.618454Z", "iopub.status.busy": "2021-04-16T19:35:38.617962Z", "iopub.status.idle": "2021-04-16T19:35:38.619909Z", "shell.execute_reply": "2021-04-16T19:35:38.620390Z" }, "tags": [ "hide-cell" ] }, "outputs": [], "source": [ "def decorate_time(title=''):\n", " decorate(xlabel='Time between goals (games)',\n", " ylabel='PMF',\n", " title=title)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:38.657510Z", "iopub.status.busy": "2021-04-16T19:35:38.643269Z", "iopub.status.idle": "2021-04-16T19:35:38.810844Z", "shell.execute_reply": "2021-04-16T19:35:38.811207Z" }, "tags": [ "hide-input" ] }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pmf_time.plot(label='exponential with $\\lambda$ = 1.4')\n", "\n", "decorate_time('Distribution of time between goals')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is counterintuitive, but true, that the most likely time to score a goal is immediately. After that, the probability of each successive interval is a little lower.\n", "\n", "With a goal-scoring rate of 1.4, it is possible that a team will take more than one game to score a goal, but it is unlikely that they will take more than two games." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Summary\n", "\n", "This chapter introduces three new distributions, so it can be hard to keep them straight.\n", "Let's review:\n", "\n", "* If a system satisfies the assumptions of a Poisson model, the number of events in a period of time follows a Poisson distribution, which is a discrete distribution with integer quantities from 0 to infinity. In practice, we can usually ignore low-probability quantities above a finite limit.\n", "\n", "* Also under the Poisson model, the interval between events follows an exponential distribution, which is a continuous distribution with quantities from 0 to infinity. Because it is continuous, it is described by a probability density function (PDF) rather than a probability mass function (PMF). But when we use an exponential distribution to compute the likelihood of the data, we can treat densities as unnormalized probabilities.\n", "\n", "* The Poisson and exponential distributions are parameterized by an event rate, denoted $\\lambda$ or `lam`.\n", "\n", "* For the prior distribution of $\\lambda$, I used a gamma distribution, which is a continuous distribution with quantities from 0 to infinity, but I approximated it with a discrete, bounded PMF. The gamma distribution has one parameter, denoted $\\alpha$ or `alpha`, which is also its mean.\n", "\n", "I chose the gamma distribution because the shape is consistent with our background knowledge about goal-scoring rates.\n", "There are other distributions we could have used; however, we will see in <<_ConjugatePriors>> that the gamma distribution can be a particularly good choice.\n", "\n", "But we have a few things to do before we get there, starting with these exercises." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercises" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise:** Let's finish the exercise we started:\n", "\n", ">In the 2014 FIFA World Cup, Germany played Brazil in a semifinal match. Germany scored after 11 minutes and again at the 23 minute mark. At that point in the match, how many goals would you expect Germany to score after 90 minutes? What was the probability that they would score 5 more goals (as, in fact, they did)?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here are the steps I recommend:\n", "\n", "1. Starting with the same gamma prior we used in the previous problem, compute the likelihood of scoring a goal after 11 minutes for each possible value of `lam`. Don't forget to convert all times into games rather than minutes.\n", "\n", "2. Compute the posterior distribution of `lam` for Germany after the first goal.\n", "\n", "3. Compute the likelihood of scoring another goal after 12 more minutes and do another update. Plot the prior, posterior after one goal, and posterior after two goals.\n", "\n", "4. Compute the posterior predictive distribution of goals Germany might score during the remaining time in the game, `90-23` minutes. Note: You will have to think about how to generate predicted goals for a fraction of a game.\n", "\n", "5. Compute the probability of scoring 5 or more goals during the remaining time." ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:38.815055Z", "iopub.status.busy": "2021-04-16T19:35:38.814508Z", "iopub.status.idle": "2021-04-16T19:35:38.816805Z", "shell.execute_reply": "2021-04-16T19:35:38.816456Z" } }, "outputs": [], "source": [ "# Solution\n", "\n", "# Here's a function that updates the distribution of lam\n", "# with the given time between goals\n", "\n", "def update_expo(pmf, data):\n", " \"\"\"Update based on an observed interval\n", " \n", " pmf: prior PMF\n", " data: time between goals in minutes\n", " \"\"\"\n", " t = data / 90\n", " lams = pmf.qs\n", " likelihood = expo_pdf(t, lams)\n", " pmf *= likelihood\n", " pmf.normalize()" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:38.822023Z", "iopub.status.busy": "2021-04-16T19:35:38.821587Z", "iopub.status.idle": "2021-04-16T19:35:38.823315Z", "shell.execute_reply": "2021-04-16T19:35:38.823760Z" } }, "outputs": [], "source": [ "# Solution\n", "\n", "# Here are the updates for the first and second goals\n", "\n", "germany = prior.copy()\n", "update_expo(germany, 11)\n", "\n", "germany2 = germany.copy()\n", "update_expo(germany2, 12)" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:38.828321Z", "iopub.status.busy": "2021-04-16T19:35:38.827420Z", "iopub.status.idle": "2021-04-16T19:35:38.831037Z", "shell.execute_reply": "2021-04-16T19:35:38.830566Z" } }, "outputs": [ { "data": { "text/plain": [ "(2.1358882653086892, 2.703059034926364)" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "# Here are the mean values of `lam` after each update\n", "\n", "germany.mean(), germany2.mean()" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:38.880115Z", "iopub.status.busy": "2021-04-16T19:35:38.873830Z", "iopub.status.idle": "2021-04-16T19:35:38.999279Z", "shell.execute_reply": "2021-04-16T19:35:38.998901Z" } }, "outputs": [ { "data": { "image/png": "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MV5eXgB8/vnnPPDAA3h4eAAQHBwMtFyptu4sM3r0aAICAjhx4gQAw4cP77AO7dy5cwEYM2YMp0+fBmDLli3MmzcPvV6Pv78/M2fObPf86667joiICPvPr776KsOHDyc9PZ2dO3e2+1w//fRTnn/+edLT0xk3bhznzp3j2LFjFx1XVFTU7nZ+H3/8sf0K9qOPPrqgr+nTp+Pp6UloaCghISHccsstAKSnp9ufJ0BERASFhYXtPj8hnEkSrBBtSEpKIicnh9raWgDmz59PZmYmAwYMwGQytbm9VWtCfvDBB7n77rs5cuQIW7dupampqcO+AgICyMzMZPr06XzyySeMHTsWm83WpS20Wvv28fHp8LjWZK3VarFYLBed35nz29+8eTMffvghW7Zs4dChQ9x1113tPldVVXnnnXfIzMwkMzOTU6dOMWvWrIuO8/T0xGQyXfT73Nxcnn76aT799FMOHz7ME088cUFfrc8LWoaCW3/WaDQXPM/Gxkb7BxghXE0SrBBtGDBgALfeeisPP/wwjY2NQMs90dY39aFDh1JcXGy/v/qvf/2La665BoCamhr71levvvpqp32VlZXR3NzMzTffzHPPPcfZs2dpaGjgxhtv5KWXXrLfa6yoqABgypQp9mLue/bsoaqqqkezk6+++mref/99zGYz1dXVrFu3zqHzampqCAgIwNfXl4qKCj788EP7Y35+fvYPJ9Byhfncc8/ZJ0ed/+HlfElJSfar8fPV1tbi5eVFYGAgDQ0NvP322119mgAcO3aM5OTkbp0rRFdJghWiHa+88goBAQEkJiaSnp7OxIkTufbaa0lLS8PDw4N3332X++67j9TUVDZt2sQ//vEPAH77299y7733MnHiRMxmc6f95OXl2dsdM2YMTz/9ND4+PixZsoT09HT7EGzrEpPnn3+eDRs2kJqayoMPPsh7772HXq/v9vOcNWsWycnJJCcnM2/ePMaNG4efn1+n59144434+PiQlJTE3XffzeTJk+2P3XXXXbz44ouMHj2ab775hl/+8pf4+PiQlpZGSkoKS5cubXM29syZM/nyyy8v+n1KSgpTpkwhMTGRmTNnMmbMmG491y+//NI+fCyEq8luOkII6urq8PHxob6+nquvvpply5Yxfvz4Xo+jrKyMmTNnsmPHDoeHrR115swZFi1aREZGhlPbFaI9sh+sEIJZs2ZRUlKCyWRi4cKFbkmuAKGhofz85z+nqKiIqKgop7adl5fH888/79Q2heiIXMEKIYQQLiD3YIUQQggXkAQrhBBCuIAkWCGEEMIFJMEKIYQQLiAJVgghhHABSbBCCCGEC/x/lPUWVSK6nLEAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Solution\n", "\n", "# Here's what the posterior distributions look like\n", "\n", "prior.plot(ls='--', label='prior', color='C5')\n", "germany.plot(color='C3', label='Posterior after 1 goal')\n", "germany2.plot(color='C16', label='Posterior after 2 goals')\n", "\n", "decorate_rate('Prior and posterior distributions')" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:39.017480Z", "iopub.status.busy": "2021-04-16T19:35:39.012527Z", "iopub.status.idle": "2021-04-16T19:35:39.118263Z", "shell.execute_reply": "2021-04-16T19:35:39.117817Z" } }, "outputs": [], "source": [ "# Solution\n", "\n", "# Here's the predictive distribution for each possible value of `lam`\n", "\n", "t = (90-23) / 90\n", "\n", "pmf_seq = [make_poisson_pmf(lam*t, goals) \n", " for lam in germany2.qs]" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:39.132602Z", "iopub.status.busy": "2021-04-16T19:35:39.130808Z", "iopub.status.idle": "2021-04-16T19:35:39.137447Z", "shell.execute_reply": "2021-04-16T19:35:39.137001Z" } }, "outputs": [], "source": [ "# Solution\n", "\n", "# And here's the mixture of predictive distributions,\n", "# weighted by the probabilities in the posterior distribution.\n", "\n", "pred_germany2 = make_mixture(germany2, pmf_seq)" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:39.158798Z", "iopub.status.busy": "2021-04-16T19:35:39.158215Z", "iopub.status.idle": "2021-04-16T19:35:39.291504Z", "shell.execute_reply": "2021-04-16T19:35:39.291118Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdgAAAFgCAYAAAAYQGiBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/GU6VOAAAACXBIWXMAAAuJAAALiQE3ycutAAApeUlEQVR4nO3de1hVdd7//9cGlCLYHuY2TTdghRqItTXSPKR46OChRhnMuxQzaHQazDttsqm8Kq3RtPFumrmpMa/bapiOmjlmNuNUOINmiNquJjzEXaAbtdJIwRJk8/n94a/1DUEE5eMG5/m4Lq5rr70/n8967wXXfvFZa6+1XMYYIwAA0KRCgl0AAADnIgIWAAALCFgAACwgYAEAsICABQDAAgIWAAALCFigHpGRkfrkk0+CXUajjB07Vo888ogkKTc3Vx6P57TH6tmzp9asWdNEldWvKes+0YnjJScn63e/+12Tjb97925FRkbq0KFDTTYmWj4CFkGXnJys8PBwRUZGql27dhoyZIjy8/PPeMym+AAtLy9Xr169znicYLnmmmvk9/sb1Laubfbpp59qzJgxFiqrX0PrXr9+vdq2bdtk4zWUy+WSz+dzlmNiYlReXq42bdo02TrQ8hGwaBYWLlyo8vJy7du3T3369NHYsWODWk9VVdUZ9TfGKBAIBH0MnPnvEjhdBCyalfPOO08ZGRnau3evDh48qC+//FI333yzOnTooJiYGD344IPOB+Y333yjcePGqX379mrbtq2uvPJKFRcX65577lFubq7uu+8+RUZGauTIkZKOz0anT5+umJgYXXjhhZo8ebKzS6+oqEgul0vPPfec4uLi1KVLF0k1ZyrGGC1evFiXXnqp2rdvrxtuuEGff/65U3vXrl21YMECXX311YqIiFBBQUGt95ecnKx7771XycnJioqKUv/+/bV9+/Z6x/jqq680ceJEde7cWZ07d9bdd9+tiooKp8/rr7+uuLg4tWnTRj//+c9rBMqJM7zKyko99NBDuvTSSxUVFaVevXpp27ZtJ91mXbt21apVq3Ts2DF16NBB//znP2u8n4SEBL3yyiuSdMo6T9SYul988UV169ZNUVFR6tKlix599FEdPHhQI0eO1KFDhxQZGanIyEjl5ubq+eefl9fr1cMPP6xOnTppwoQJdc50S0pKTvp7OHGG+rvf/U7JycmSpL59+0qSBgwYoMjISM2fP9/5+/n2228lSceOHdP999+vmJgYdejQQRMmTNDXX39dY/w//vGPSkxMlNvt1k033cTu5XORAYJsyJAh5sknnzTGGHPkyBHzX//1XyY2NtYYY8ywYcPMrbfeasrKykxRUZFJSEgwv/nNb4wxxtx///1mzJgx5siRI6aqqsp8+OGH5uDBg7XG/MH48ePNLbfcYkpLS015ebn5z//8TzNp0iRjjDFffPGFkWTGjh1rSktLzZEjR4wxxkgyH374oTHGmBdeeMF07tzZfPzxx+b77783s2bNMvHx8ebYsWPGGGNiY2NN9+7dzY4dO0xVVZWpqKio8722a9fOvP/++6aiosI88MADplu3bicd4+jRo6Zfv35m1qxZ5siRI+bAgQMmOTnZzJkzxxhjzK5du0zr1q3N6tWrzbFjx8wzzzxjQkNDzcMPP2yMMSYnJ8e0adPGWf/MmTPNlVdeaXbt2mWqq6vNjh07TFFR0Um3WWxsrHnjjTeMMcZkZmaaO+64w3ktPz/fuN1u891335nq6up66zxRY+ouLy83YWFh5h//+IcxxpjS0lKzefPmOt+fMcY899xzJjQ01MybN89UVFSYI0eO1Gp3qt/Dj3/vxhjz5JNPmiFDhjjLJ77+w99PaWmpMcaYuXPnmsTERFNcXGzKysrMhAkTzLXXXlujf3Jystm/f78pLS01vXv3dt47zh0ELIJuyJAh5rzzzjNt2rQxHTt2NNdff7356KOPjN/vN5LMvn37nLYvvvii6datmzHGmIceesj079/f+Hy+Osf8cVh89dVXJiQkxAlgY45/yLdq1cpUVVU5H5A//tA0puYH6YgRI8zjjz/uvHb06FETFRVlNm7caIw5HkYnBlRddd15553OcmVlpXG73SY3N7fOMTZv3mzat29vAoGA89y6devMJZdcYowxZt68eWbkyJE11nHZZZfVGVTV1dUmIiLCCaq6aqsvYPPy8kybNm3M999/b4wxZsaMGSY9Pb1BdZ6oMXWXl5eb888/3/zxj380hw4dqtHnZAF7Yi11BWx9v4czDdi4uDjzyiuvOK+XlJQYSaakpMTp//bbbzuvP/bYY2bMmDG1NxRatLBgzJqBEy1YsEB33313jefy8vJ03nnnqVOnTs5zl1xyifNllXvvvVdHjx7VzTffrEOHDmnChAl6/PHHdf75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16sBAwbI5/PVCtjMzExlZmY6ywkJCU35NgCgxWsO58H+O7J2DDYpKUklJSXOCbjLli1zLtT8Y1OnTpXb7daiRYtqPL9v3z7nvy6/36+8vDzCEwDQYlgL2NDQUC1dulSpqamKi4tTRESE0tLStGXLFo0aNUqStHHjRi1btkz5+fnq3bu3vF6vfv/730s6fsugxMREeb1ejRkzRgsXLlS3bt1slQsAQJPiUoktEJdKBIDmob7M4WL/AABYQMACAGABAQsAgAUELAAAFhCwAABYQMACAGABAQsAgAUELAAAFhCwAABYQMACAGABAQsAgAUELAAAFhCwAABYQMACAGABAQsAgAUELAAAFhCwAABYQMACAGABAQsAgAUELAAAFhCwAABYQMACAGABAQsAgAUELAAAFhCwAABYQMACAGABAQsAgAUELAAAFhCwAABYQMACAGABAQsAgAUELAAAFhCwAABYQMACAGBBWLALwLml4k/TgrLe8MlLgrJeADgZZrAAAFhAwAIAYAEBCwCABQQsAAAWELAAAFhAwAIAYAEBCwCABZwHW49gndMpcV4nALR0zGABALDAasDm5OQoISFBcXFxSk9PV1VVVY3X9+zZo+HDhys+Pl6JiYmaM2dOjddnz56tuLg4de/eXStWrLBZKgAATcpawAYCAWVkZGj58uUqLCxUeXm5srOza7QJCwvTwoULtX37dm3btk25ublavXq1JGndunX64IMPtGPHDuXk5GjmzJkqKyuzVS4AAE3KWsDm5+fL4/GoZ8+ekqSMjAytXLmyRpuLLrpISUlJkqTWrVvr8ssvV3FxsSRp5cqVmjJlisLCwtSlSxcNGjRI69ats1UuAABNylrA+v1+RUdHO8sxMTHy+/0nbX/w4EGtWrVKI0aMOK3+AAA0J1a/RexyuZzHxpiTtquoqFBqaqpmzZql+Pj4RvXPyspSVlaWs1xaWnomJQMA0CSszWCjo6O1e/duZ9nv98vj8dRqFwgENHHiRCUlJWnmzJmN7p+ZmamCggLnp127dk38TgAAaDxrAZuUlKSSkhIVFBRIkpYtW6aUlJRa7aZOnSq3261FixbVeD4lJUUvvPCCAoGA9u7dqw0bNui6666zVS4AAE3KWsCGhoZq6dKlSk1NVVxcnCIiIpSWlqYtW7Zo1KhRkqSNGzdq2bJlys/PV+/eveX1evX73/9eknTttdeqX79+6tGjh4YMGaLFixcrKirKVrkAADQpq8dghw0b5sxgf5CUlKS1a9dKkgYOHFjvsdlFixbVmtkCANAScCUnAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAACwhYAAAsIGABALCAgAUAwAICFgAAC6wGbE5OjhISEhQXF6f09HRVVVXVanPXXXfJ4/EoLCysxvPr169XVFSUvF6vvF6vUlNTbZYKAECTshawgUBAGRkZWr58uQoLC1VeXq7s7Oxa7SZMmKCtW7fWOUa/fv3k8/nk8/m0YsUKW6UCANDkrAVsfn6+PB6PevbsKUnKyMjQypUra7UbNGiQOnbsaKsMAACCwlrA+v1+RUdHO8sxMTHy+/2NGmPr1q3yer0aPHiw/va3vzV1iQAAWBN26ianz+VyOY+NMY3q26dPHxUXF8vtdsvn82nUqFHatGmTYmNja7TLyspSVlaWs1xaWnpmRQMA0ASszWCjo6O1e/duZ9nv98vj8TS4v9vtltvtliR5vV4NGDBAPp+vVrvMzEwVFBQ4P+3atTvj2gEAOFPWAjYpKUklJSUqKCiQJC1btkwpKSkN7r9v3z5n1uv3+5WXl6eEhAQrtQIA0NSsBWxoaKiWLl2q1NRUxcXFKSIiQmlpadqyZYtGjRrltJs2bZo8Ho8CgYA8Ho+mTZsmSXr99deVmJgor9erMWPGaOHCherWrZutcgEAaFJWj8EOGzbMmcH+ICkpSWvXrnWWlyxZUmff6dOna/r06TbLAwDAGq7kBACABfUG7KJFi5zH27Zts14MAADninp3Eb/yyiuaPXu2JOmOO+4gZNFiVfxpWlDWGz657kMgAM599c5gf3zuamPPYwUA4N9ZvTPYI0eOaNOmTaqurtZ3332nTZs21QjaAQMGWC8QAICWqN6A7dy5sx544IFaj6XjV2l677337FYHAEALVW/A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6lRlZ2dr69at+u///u8aYf7BBx/otddeq3V92YqKCt1yyy169tlnnYC+++671a9fP82bN0/jxo2Tz+erdSeauXPnqk+fPvr00081Z84cbd26td7xJOnqq6/W+++/r23btumZZ55RZmZmrW3w4osvaujQofL5fPr00091yy23NGobAsHELmLAstatW+vXv/615s6dW2eInMxPf/pThYSEqFevXjp69Khzk3Cv11vjln5jx46V2+2WJE2YMEH/+Mc/1LVrV3366acaPXq00+6bb75xHt94442Kioqqtc6dO3eqU6dO6tOnj6Tj9zNeuHDhKWv95z//qZdeekmSdMUVVzgXia9vvP3792vSpEkqLi5WWFiYCgsLa43bt29f3X777aqsrNT111+vQYMGnbIWoLlgBgucBenp6dq8ebM+/fRT57mwsDBVV1c7yxUVFTX6hIeHSzq+m9nlcjnLISEh9V572OVyyRijSy+9VD6fz/n58V2eIiMj6+xb15VTf3z7xfrU1a6+8X75y19q0qRJ+te//qXc3FwdPXq0VtuBAwdq48aN6t69ux555JFG/YMCBBsBC5wFrVq10gMPPKD58+c7z1188cX66KOPFAgE9M0335z27cBWrVqlw4cPq7KyUq+++qoGDx6syy67TGVlZXrnnXckHQ86n893yrEuu+wy7d+/3zke+r//+78aOnToKftdc801+vOf/yxJ+uijj5zjvfWNd/jwYedWjs8++2yd4xYVFalt27ZKS0vTvHnztHnz5lPWAjQX7CIGzpLbbrtNCxYscJYHDhyoxMREJSYmKj4+3tmN2liDBw/Wz372M+3evVs33nijxowZI+l48M6YMUP33HOPjh07ppSUFHm93nrHCg8P10svvaSpU6eqsrJSHo9Hy5YtO2UNDz/8sCZOnKgrrrhCXq9XV1xxhdxud73jPfroo7r99tvVqVMnp+YT5eTkaPHixQoLC1NoaKieeOKJxm0cIIi4mw6AM1ZZWSmXy6VWrVrps88+09ChQ7Vr1y5FREQEuzQgaJjBAjhj+/bt00033eQcc12yZAnhin97zGABALCALzkBAGABAQsAgAUELAAAFhCwAABYQMACAGABAQsAgAX/H+UozlbxL7NEAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Solution\n", "\n", "# Here's what the predictive distribution looks like\n", "\n", "pred_germany2.bar(color='C1', label='germany')\n", "decorate_goals('Posterior predictive distribution')" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:39.294944Z", "iopub.status.busy": "2021-04-16T19:35:39.294527Z", "iopub.status.idle": "2021-04-16T19:35:39.299061Z", "shell.execute_reply": "2021-04-16T19:35:39.298714Z" } }, "outputs": [ { "data": { "text/plain": [ "0.047109658706113416" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "# Here's the probability of scoring exactly 5 more goals\n", "\n", "pred_germany2[5]" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:39.302588Z", "iopub.status.busy": "2021-04-16T19:35:39.302155Z", "iopub.status.idle": "2021-04-16T19:35:39.306746Z", "shell.execute_reply": "2021-04-16T19:35:39.306108Z" } }, "outputs": [ { "data": { "text/plain": [ "0.09286200122834538" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "# And the probability of 5 or more\n", "\n", "pred_germany2.prob_ge(5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise:** Returning to the first version of the World Cup Problem. Suppose France and Croatia play a rematch. What is the probability that France scores first?" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "Hint: Compute the posterior predictive distribution for the time until the first goal by making a mixture of exponential distributions. You can use the following function to make a PMF that approximates an exponential distribution." ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:39.310510Z", "iopub.status.busy": "2021-04-16T19:35:39.310077Z", "iopub.status.idle": "2021-04-16T19:35:39.311871Z", "shell.execute_reply": "2021-04-16T19:35:39.312246Z" }, "tags": [ "hide-cell" ] }, "outputs": [], "source": [ "def make_expo_pmf(lam, high):\n", " \"\"\"Make a PMF of an exponential distribution.\n", " \n", " lam: event rate\n", " high: upper bound on the interval `t`\n", " \n", " returns: Pmf of the interval between events\n", " \"\"\"\n", " qs = np.linspace(0, high, 101)\n", " ps = expo_pdf(qs, lam)\n", " pmf = Pmf(ps, qs)\n", " pmf.normalize()\n", " return pmf" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:39.368616Z", "iopub.status.busy": "2021-04-16T19:35:39.368114Z", "iopub.status.idle": "2021-04-16T19:35:39.369779Z", "shell.execute_reply": "2021-04-16T19:35:39.370158Z" } }, "outputs": [], "source": [ "# Solution\n", "\n", "# Here are the predictive distributions for the \n", "# time until the first goal\n", "\n", "pmf_seq = [make_expo_pmf(lam, high=4) for lam in prior.qs]" ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:39.379507Z", "iopub.status.busy": "2021-04-16T19:35:39.379076Z", "iopub.status.idle": "2021-04-16T19:35:39.409912Z", "shell.execute_reply": "2021-04-16T19:35:39.409484Z" } }, "outputs": [], "source": [ "# Solution\n", "\n", "# And here are the mixtures based on the two posterior distributions\n", "\n", "pred_france = make_mixture(france, pmf_seq)\n", "pred_croatia = make_mixture(croatia, pmf_seq)" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:39.448811Z", "iopub.status.busy": "2021-04-16T19:35:39.440846Z", "iopub.status.idle": "2021-04-16T19:35:39.601265Z", "shell.execute_reply": "2021-04-16T19:35:39.601621Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Solution\n", "\n", "# Here's what the posterior predictive distributions look like\n", "\n", "pred_france.plot(label='France', color='C3')\n", "pred_croatia.plot(label='Croatia', color='C0')\n", "\n", "decorate_time('Posterior predictive distribution')" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:39.605608Z", "iopub.status.busy": "2021-04-16T19:35:39.604876Z", "iopub.status.idle": "2021-04-16T19:35:39.607907Z", "shell.execute_reply": "2021-04-16T19:35:39.607362Z" } }, "outputs": [ { "data": { "text/plain": [ "0.5904596116867543" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "# And here's the probability France scores first\n", "\n", "Pmf.prob_lt(pred_france, pred_croatia)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise:** In the 2010-11 National Hockey League (NHL) Finals, my beloved Boston\n", "Bruins played a best-of-seven championship series against the despised\n", "Vancouver Canucks. Boston lost the first two games 0-1 and 2-3, then\n", "won the next two games 8-1 and 4-0. At this point in the series, what\n", "is the probability that Boston will win the next game, and what is\n", "their probability of winning the championship?\n", "\n", "To choose a prior distribution, I got some statistics from\n", "http://www.nhl.com, specifically the average goals per game\n", "for each team in the 2010-11 season. The distribution is well modeled by a gamma distribution with mean 2.8.\n", "\n", "In what ways do you think the outcome of these games might violate the assumptions of the Poisson model? How would these violations affect your predictions?" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:39.611311Z", "iopub.status.busy": "2021-04-16T19:35:39.610761Z", "iopub.status.idle": "2021-04-16T19:35:39.612613Z", "shell.execute_reply": "2021-04-16T19:35:39.613050Z" } }, "outputs": [], "source": [ "# Solution\n", "\n", "# When a team is winning or losing by an insurmountable margin,\n", "# they might remove their best players from the game, which\n", "# would affect their goal-scoring rate, violating the assumption\n", "# that the goal scoring rate is constant.\n", "\n", "# In this example, Boston won the third game 8-1, but scoring\n", "# eight goals in a game might not reflect their true long-term\n", "# goal-scoring rate.\n", "\n", "# As a result, the analysis below might overestimate the chance\n", "# that Boston wins.\n", "\n", "# As it turned out, they did not." ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:39.619564Z", "iopub.status.busy": "2021-04-16T19:35:39.618800Z", "iopub.status.idle": "2021-04-16T19:35:39.622375Z", "shell.execute_reply": "2021-04-16T19:35:39.621760Z" } }, "outputs": [ { "data": { "text/plain": [ "6.666325137469514" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "from scipy.stats import gamma\n", "\n", "alpha = 2.8\n", "qs = np.linspace(0, 15, 101)\n", "ps = gamma.pdf(qs, alpha)\n", "prior_hockey = Pmf(ps, qs)\n", "prior_hockey.normalize()" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:39.637525Z", "iopub.status.busy": "2021-04-16T19:35:39.634539Z", "iopub.status.idle": "2021-04-16T19:35:39.789592Z", "shell.execute_reply": "2021-04-16T19:35:39.789137Z" } }, "outputs": [ { "data": { "text/plain": [ "2.7997400090376567" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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vXvR2to6rNHJV155JV599VU4nU60tbXhrbfe8ul17e3tMBgMiIuLQ3NzM9544w35Ob1eL384AS60MNetWycPjur+4aW7/Px8uTXeXUdHB6Kjo5GQkICuri787W9/G+xpAgCOHz+OgoKCIb2WaLAYsER9eOaZZ2AwGGAymVBcXIy5c+fii1/8IoqKihAZGYmXXnoJ3/rWtzB16lS8//77+MMf/gAAePjhh7Fq1SrMnTsXTqdzwONUV1fL+501axbWrl0LnU6H0tJSFBcXy12w3ikmTzzxBP75z39i6tSp+N73voeXX34ZWq12yOd58803o6CgAAUFBVi6dClmz54NvV4/4OuuvfZa6HQ65OfnY/ny5Zg/f7783K233oo//elPmDlzJj755BPcf//90Ol0KCoqQmFhIW6//fZeR2PfeOON+M9//nPJ9wsLC7FgwQKYTCbceOONmDVr1pDO9T//+Y/cfUwUaLybDhHBYrFAp9Ohs7MTV155JdavX4/LL798xOs4d+4cbrzxRuzatcvnbmtfnT17FitXrsT27dv9ul+ivvB+sESEm2++GQ0NDXA4HFixYoUi4QoAKSkpuO+++1BXV4eMjAy/7ru6uhpPPPGEX/dJ1B+2YImIiAKA12CJiIgCgAFLREQUAAxYIiKiAGDAEhERBQADloiIKAAYsERERAHw/wCWxhRxxEW5EQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Solution\n", "\n", "prior_hockey.plot(ls='--', color='C5')\n", "decorate_rate('Prior distribution for hockey')\n", "prior_hockey.mean()" ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:39.800657Z", "iopub.status.busy": "2021-04-16T19:35:39.800187Z", "iopub.status.idle": "2021-04-16T19:35:39.802525Z", "shell.execute_reply": "2021-04-16T19:35:39.802876Z" } }, "outputs": [ { "data": { "text/plain": [ "3.3599999999999985" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "bruins = prior_hockey.copy()\n", "for data in [0, 2, 8, 4]:\n", " update_poisson(bruins, data)\n", " \n", "bruins.mean()" ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:39.815048Z", "iopub.status.busy": "2021-04-16T19:35:39.814400Z", "iopub.status.idle": "2021-04-16T19:35:39.817231Z", "shell.execute_reply": "2021-04-16T19:35:39.817589Z" } }, "outputs": [ { "data": { "text/plain": [ "1.5599999606443666" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "canucks = prior_hockey.copy()\n", "for data in [1, 3, 1, 0]:\n", " update_poisson(canucks, data)\n", " \n", "canucks.mean()" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:39.864860Z", "iopub.status.busy": "2021-04-16T19:35:39.845438Z", "iopub.status.idle": "2021-04-16T19:35:40.011253Z", "shell.execute_reply": "2021-04-16T19:35:40.010825Z" } }, "outputs": [ { "data": { "image/png": "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oeN+/OMfq9///vdKKaWam5vVxIkTQ8uRtpeXl6fKy8s7rD94LaWUuu2220Lne+CBB9RZZ52lmpubVUVFhXI6neqRRx5RSim1bNkytWjRotD7/vSnP6kbbrjhlOsKYQRpwQrRifY7rDz//PMUFxeTm5vL+++/z65duxg8eDATJ04EAvsGr127FoDy8nIuv/xyxowZw+LFi/noo4+6vM7w4cNxu90sXbqUl19+mbi4OADeeOMNbrnlFmJiYgBIS0sDAi3V4C48kydPxuVy8fnnnwMwYcKELndNmjdvHgBTpkxh//79ALzzzjvMnz+fqKgokpOTueKKKzp9/4UXXsjgwYNDnz/55JNMmDCB4uJitmzZ0um9rlmzht/85jcUFxczdepUampq2LVr1ynHHTlypNNdVF5++eVQC3b16tUnXWv27NnExsaSkZFBeno6l19+OQDFxcWh+wQYPHgwZWVlnd6fEOEkAStEB4qKitizZw8NDQ0AfP3rX2fHjh3k5+fj9Xo73NIsGMjf+c53uO666/j444/ZsGEDLS0tXV7L5XKxY8cOZs+ezT//+U/OPvtsdF3v0bZpwWsnJiZ2eVwwrO12Oz6f75T3n0778//73//mpZde4p133mHnzp1ce+21nd6rUopnn32WHTt2sGPHDvbt28dVV111ynGxsbF4vd5Tvn7gwAEefPBB1qxZw0cffcRdd9110rWC9wWBruDg5zab7aT7bG5uDv0AI4TRJGCF6EB+fj5f+9rXuPXWW2lubgYCz0SD/6mfeeaZlJeXh56v/vGPf+SCCy4AoL6+PrTd2ZNPPnnaa1VWVtLa2spll13Gr3/9aw4dOkRTUxOXXHIJv/vd70LPGqurqwE4//zzQ4vrb926ldra2j6NTj7vvPN4/vnnaWtro66ujldeeaVb76uvr8flcuF0Oqmuruall14KvZaUlBT64QQCLcxf//rXocFR7X94aa+oqCjUGm+voaGBuLg4UlJSaGpq4s9//nNPbxOAXbt2MWbMmF69V4iekoAVohNPPPEELpeLwsJCiouLmT59OrNmzWL8+PHExMTw3HPPcdNNNzFu3Dj+9a9/8b//+78A/PSnP+X6669n+vTptLW1nfY6hw8fDp13ypQpPPjggyQmJrJkyRKKi4tDXbDBKSa/+c1veO211xg3bhzf+c53+Mtf/kJUVFSv7/Oqq65izJgxjBkzhvnz5zN16lSSkpJO+75LLrmExMREioqKuO6665g5c2botWuvvZbHH3+cyZMns3nzZu6//34SExMZP348Y8eO5YYbbuhwNPYVV1zB22+/fcrXx44dy/nnn09hYSFXXHEFU6ZM6dW9vv3226HuYyGMJrvpCCHweDwkJibS2NjIeeedx7JlyzjnnHMiXkdlZSVXXHEFmzZt6na3dXcdPHiQRYsWsW7durCeV4jOyH6wQgiuuuoqjh49itfrZcGCBaaEK0BGRgb33HMPR44cISsrK6znPnz4ML/5zW/Cek4huiItWCGEEMIA8gxWCCGEMIAErBBCCGEACVghhBDCABKwQgghhAEkYIUQQggDSMAKIYQQBvj/ej2A7ZnZmHkAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Solution\n", "\n", "canucks.plot(label='Canucks')\n", "bruins.plot(label='Bruins')\n", "\n", "decorate_rate('Posterior distributions')" ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:40.018735Z", "iopub.status.busy": "2021-04-16T19:35:40.016139Z", "iopub.status.idle": "2021-04-16T19:35:40.134862Z", "shell.execute_reply": "2021-04-16T19:35:40.134445Z" } }, "outputs": [], "source": [ "# Solution\n", "\n", "goals = np.arange(15)\n", "pmf_seq = [make_poisson_pmf(lam, goals) for lam in bruins.qs]" ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:40.144335Z", "iopub.status.busy": "2021-04-16T19:35:40.143540Z", "iopub.status.idle": "2021-04-16T19:35:40.375993Z", "shell.execute_reply": "2021-04-16T19:35:40.375477Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Solution\n", "\n", "pred_bruins = make_mixture(bruins, pmf_seq)\n", "\n", "pred_bruins.bar(label='Bruins', color='C1')\n", "decorate_goals('Posterior predictive distribution')" ] }, { "cell_type": "code", "execution_count": 62, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:40.389727Z", "iopub.status.busy": "2021-04-16T19:35:40.389285Z", "iopub.status.idle": "2021-04-16T19:35:40.629676Z", "shell.execute_reply": "2021-04-16T19:35:40.629239Z" } }, "outputs": [ { "data": { "image/png": "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PaVmzZpV6n/fvn0qLy9X586dKzzeqFEjHTp0yL8cGRlZbY1er1edOnXyLzdt2lTt27evcPJMTev/pGPHjv77jRs3Vrt27ZSfn19lH/v27dP333+vVq1a+R8zPzs2W1BQUKG/0/v/uW+//VY//PCDunTpcsYaq9KnTx+1bdtWb775phISErRkyRK99tprtarzdHWp+9JLL9Xq1as1f/58zZo1S926ddNjjz2moUOHVltrhw4d1KhRzUfAzvQ5nIvT/1bat2+vpk2byuv1qn379pJU4e/60ksv1fHjx+vltXHh4BgsLlhOp1MnT57U119/7X/sq6++8v/cIjQ0VHPnztXnn3+uTZs26f3339fzzz8vSZW+XCMiItSoUSMVFBTo+++/999OnjzpP95a1Xqn17Nv3z7/cklJiQoKCir8/ONMX+qSlJeX579fWlqqgwcPVltDRESELrvssgo1Hz16VEVFRZJOfXH/vD/p1E9GqtK6dWuFhIQoNze3yudrU3tSUpLS09P1zjvvqFmzZho0aFCt6jxdXeqWpOHDh2vt2rU6fPiwJkyYoBtuuEHl5eXV1nyun8Oll16qH374wf/8wYMHK6zrcDhq7Pv0v5VDhw6puLi4Xn96hAsfAYsLVocOHTR06FDde++9OnHihPbv368nnnhCv/nNbyRJa9as0d69e1VeXq7w8HA1btxYwcGndsq0adNGX3zxhb+vtm3bavz48Zo+fboOHz4s6dSX3uuvv17reiZPnqznnntOOTk5Ki4u1uzZs9WhQwf/SS+1tXTpUm3ZskUlJSWaM2eOWrdurX79+lXZtnfv3oqMjNTs2bN1/PhxGWOUl5ent99+W5J000036f3339dbb72lsrIyLVq0SHv37q2yL4fDodtuu0333HOPcnNzZYzR559/7g+a09+zqiQlJSkjI0PPPPOMJk+e7A+aM9V5urrU/fXXX+v111/X8ePHFRwcrPDwcAUFBflrPn78eIUTiGqrps+hV69eSk9PV1lZmbKzs5Wenl5h3TO9V5MnT9YTTzyhAwcOqKioSDNnztSIESP8W6/410DA4oL26quv6scff1THjh01YMAAjRkzRrNmzZIk5ebm6rrrrlNYWJjcbreuvvpq3XHHHZKku+++W++9955atGjh/x3nyy+/rBYtWqh3794KDw/XNddco+3bt9e6lltuuUV33nmnxo4dq7Zt22rnzp1avXq1P9RrKzk5Wffff79atWqlv//971q1alW1fQQFBWn16tXKz89XdHS0mjdvrjFjxvi3Qrt27ar09HTddddd+sUvfqEtW7bouuuuq/a1586dq+HDh2vEiBEKDw/XhAkT9N1330mq+j07XWRkpPr3768PPvhASUlJta7zdHWpu7y8XM8++6wiIiLUvHlzLViwQMuXL1ejRo3UtWtXpaSkKDo6Wi1atNCGDRuqHfvpavoc/vu//1ubNm1SixYtdP/99/v/U/eTxx57THfddZdatmypp556qlLfDz74oEaNGqWrr75anTp1Umlpqf72t7/VujZcHBzGcMF14HwZMmSIxo8fX+l4M4CLD1uwAABYQMACAGABu4gBALCALVgAACwgYAEAsOCim8kpPDycH3MDAM4Lr9erY8eOVfncRRewTqezyquYAABQ39xud7XPsYsYAAALCFgAACy46HYRAwCqxq8yz96ZLvBQFQIWAC5y5eXlOnDgQIUrBKFuQkJC/Fflqi0CFgAuct9++60cDoeioqLqFBA4pby8XPn5+fr222/Vpk2bWq9HwALARe7o0aPq2LGj/zJ/qJugoCC1adNGeXl5dQpY/isDABcxY4x8Pp8aN24c6FIatMaNG8vn89XpODYBCwD/As7mJB38H05yAgCc0Y2/X17vfa54LLFW7U6cOKEHH3xQq1evVmhoqBo3bqyZM2dq8uTJ9V7T6datW6fHH39c7733nvXXkghYAMB5dPvtt0uScnJy1KxZM3333XdaunRpgKuyg13EAIDz4ssvv9Qbb7yh559/Xs2aNZMktWrVSnfccYdeeukl9enTRz179tSQIUP01VdfSTq11TlgwABNnjxZ0dHRio+P18mTJyVJQ4YM0YYNG/z9Bwf/3zbjBx98oD59+qhHjx7q3bu3vv322wq1fPHFF+rZs6fWr1+vb775RsOGDZPH41FMTIyef/75ehkvAQsAOC927doll8ul5s2bV3pu3Lhx2rp1qz7++GPdddddeuihh/zPZWdna86cOdq9e7caNWqkFStW1Pg6hw8fVlJSkhYvXqydO3cqMzNT4eHh/uc/+eQT3XDDDUpLS9M111yjV155RUOHDlV2drZ27dqlm2++uV7Gyy7iAAvksRAAOJ+MMdWeLPT555/rd7/7nQ4fPiyfz1fh97q9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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Solution\n", "\n", "pred_canucks = make_mixture(canucks, pmf_seq)\n", "\n", "pred_canucks.bar(label='Canucks')\n", "decorate_goals('Posterior predictive distribution')" ] }, { "cell_type": "code", "execution_count": 63, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:40.634426Z", "iopub.status.busy": "2021-04-16T19:35:40.633703Z", "iopub.status.idle": "2021-04-16T19:35:40.636896Z", "shell.execute_reply": "2021-04-16T19:35:40.636374Z" } }, "outputs": [ { "data": { "text/plain": [ "(0.7038631514645926, 0.16111690750716465, 0.1350199410282429)" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "win = Pmf.prob_gt(pred_bruins, pred_canucks)\n", "lose = Pmf.prob_lt(pred_bruins, pred_canucks)\n", "tie = Pmf.prob_eq(pred_bruins, pred_canucks)\n", "\n", "win, lose, tie" ] }, { "cell_type": "code", "execution_count": 64, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:40.641477Z", "iopub.status.busy": "2021-04-16T19:35:40.640795Z", "iopub.status.idle": "2021-04-16T19:35:40.643879Z", "shell.execute_reply": "2021-04-16T19:35:40.644307Z" } }, "outputs": [ { "data": { "text/plain": [ "0.771373121978714" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "# Assuming the Bruins win half of the ties,\n", "# their chance of winning the next game is...\n", "\n", "p = win + tie/2\n", "p" ] }, { "cell_type": "code", "execution_count": 65, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:35:40.649670Z", "iopub.status.busy": "2021-04-16T19:35:40.648993Z", "iopub.status.idle": "2021-04-16T19:35:40.652576Z", "shell.execute_reply": "2021-04-16T19:35:40.652015Z" } }, "outputs": [ { "data": { "text/plain": [ "0.8670900197850085" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "# Their chance of winning the series is their\n", "# chance of winning k=2 or k=3 of the remaining\n", "# n=3 games.\n", "\n", "from scipy.stats import binom\n", "\n", "n = 3\n", "a = binom.pmf([2,3], n, p)\n", "a.sum()" ] }, { "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.11" } }, "nbformat": 4, "nbformat_minor": 4 }