{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Poisson Processes" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "remove-cell" ] }, "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/)" ] }, { "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": [ "# If we're running on Colab, install empiricaldist\n", "# https://pypi.org/project/empiricaldist/\n", "\n", "import sys\n", "IN_COLAB = 'google.colab' in sys.modules\n", "\n", "if IN_COLAB:\n", " !pip install empiricaldist" ] }, { "cell_type": "code", "execution_count": 67, "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_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": "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pU2fPn1Yt24dn/rUpxg1ahQjRozg5z//OUDJ5cXGWr58OcOHD+eLX/wiBx54IMceeyzr16/fqqZrrrmGj3zkIxxzzDEsWbKkybo+ffqU3O60adN49dVXGT16NJdeeumW7V1wwQWMGTOGFStWbOkP0NDQwJlnnslBBx3EKaecwnvvvcfy5csZMWLEljY33HADV1xxxVZjF9ayva/3+uuv5+abbwbgq1/9KkcffTQAv/71r5k0aVKTbRWr44MPPmh1GwB77LEHixcvLrquXEceeSQf+tCHWm1XX1/PL3/5S6ZMmbJd2yvkgDLrQhoaGnjooYcYOXIk8+fP54477uDZZ5/lmWee4Uc/+hEvvPDClrZz5sxhr7324re//S2LFi3iuOOOK7m8pbF+//vfc+GFF7J48WJ233137r///iY1zZ8/nxkzZvDCCy/wwAMPMG/evKK1F9vuddddxz777MOCBQv47ne/C8CSJUuYPHkyL7zwAoMHD24yxpIlS5g6dSovvvgiffv2bfHIpNjYhTVv6+uF5Jf+3LlzAairq+Pdd99l06ZNPPHEE4wfP77VOsrZBiThtnHjRl57bevJwsePH8/o0aO3+nr00UdL7pOWXHzxxVx//fXstFP7xYoDyqwLWL9+PaNHj6ampoa9996bc845hyeeeIITTzyR3r1706dPH0466aQtvzQhOUX06KOP8o1vfIO5c+ey2267lVze0lhDhw5l9OjRABx88MEsX768SW1z587lxBNPpFevXvTt25fPfOYzRV9DqXqaGzx4MIceemjRdYMGDWLcuHEATJo0iSeeeKLsfVhoe15v4/L58+ezdu1adt55Zw477DDq6uqYO3fuVgFVTDnbmDNnzpajzmJHUXPnzmXBggVbfR1zzDFl74dGje9RHXzwwW3u25JOdT8oMyuu8T2oQn+bxKW4/fbbj/nz5zN79mwuu+wyjj32WC6//PKiy/v27VtynJ133nnL46qqqqKno8r5AGex7U6ePHmrdr179y45RvPtSKJbt25s3rx5y7JyZjpoad+V83q7d+/OkCFDuOOOOzj88MM56KCDeOyxx3j11VfLeg+ntW1s2LCBr3/968yaNYs77riDRYsWcfzxxzdpM378eNauXbvV2DfccEObQ+rJJ59k1qxZzJ49mw0bNvDOO+8wadIkfvrTn7ZpnOZ8BGXWRR155JH893//N++99x7r1q1j5syZTf56X7lyJb169WLSpElccsklPP/88yWXtzZWa3XMnDmT9evXs3btWn7xi18UbVdsu7vuumvRX7KlvP766zz99NMA3HPPPRxxxBHsueeevPnmm6xZs4aNGzduufqspbG35/UWjnHDDTdw5JFHMn78eGpraxk9evRWIdrW1whw9dVXM3nyZIYMGcLIkSOLXn3XnkdQ1157LfX19SxfvpwZM2Zw9NFHb3c4gY+gzDpUnj5zNmbMGM466yzGjk0+Az9lyhQ++tGPblm/cOFCLr30UnbaaSe6d+/OD3/4w5LLS41V7NRTsTpOPfVURo8ezeDBg0v+oi+23X79+jFu3DhGjBjBhAkTuPDCC1vcVuMl9ueeey7Dhg3j/PPPp3v37lx++eUccsghDB06lP33T+arbj524ftQ2/N6G40fP55rrrmGww47jN69e9OzZ8+ir72tr3HJkiU88sgjPPnkk0ByavTb3/522XU1d/rpp/P444+zevVqqqurufLKKznnnHMAOP7447ntttvYa6+9tnn8lqi1w/wdSU1NTXSGW777g7qdx8svv9yul92a7eiK/Z+QNL/YLZV8is/MzHLJAWVmZrnkgDLLWGc6jW62Pdr6f8EBZZahnj17smbNGoeUdXmNd9Tt2bNn2X18FZ9Zhqqrq6mvr8c30zRL/mCrrq4uu70DyixD3bt3Z+jQoZUuw2yH5FN8ZmaWSw4oMzPLJQeUmZnlkgPKzMxyyQFlZma55IAyM7NcckCZmVkuOaDMzCyXMg0oScdJWiJpqaRpRdZPlPSipAWS6iQdUW5fMzPr3DILKElVwC3ABOAA4HRJBzRr9mtgVESMBs4GbmtDXzMz68SyPIIaCyyNiGUR8T4wA5hY2CAi3o2/zaLZG4hy+5qZWeeWZUANBFYUPK9PlzUh6URJrwC/JDmKKrtv2n9qenqwzhNympl1HlkGlIos2+qeAxExMyL2Bz4LXNWWvmn/6RFRExE1AwYM2NZazcwsZ7IMqHpgUMHzamBlqcYR8RtgH0n929rXzMw6nywDah4wTNJQST2A04BZhQ0k7StJ6eMxQA9gTTl9zcysc8vsflAR0SDpIuBhoAq4PSIWSzovXV8LnAxMlrQJWA+cml40UbRvVrWamVn+ZHrDwoiYDcxutqy24PF3gO+U29fMzLoOzyRhZma55IAyM7NcckCZmVkuOaDMzCyXHFBmZpZLDigzM8slB5SZmeWSA8rMzHLJAWVmZrnkgDIzs1xyQJmZWS45oMzMLJccUGZmlksOKDMzyyUHlJmZ5ZIDyszMcskBZWZmueSAMjOzXHJAmZlZLjmgzMwslxxQZmaWS5kGlKTjJC2RtFTStCLrPy/pxfTrKUmjCtYtl7RQ0gJJdVnWaWZm+dMtq4ElVQG3AJ8E6oF5kmZFxEsFzf4AfDwi/ippAjAdOKRg/VERsTqrGs3MLL+yPIIaCyyNiGUR8T4wA5hY2CAinoqIv6ZPnwGqM6zHzMx2IFkG1EBgRcHz+nRZKecADxU8D+BXkuZLmlqqk6Spkuok1a1atWq7CjYzs/zI7BQfoCLLomhD6SiSgDqiYPG4iFgpaQ/gEUmvRMRvthowYjrJqUFqamqKjm9mZjueLI+g6oFBBc+rgZXNG0k6CLgNmBgRaxqXR8TK9PubwEySU4ZmZtZFZHkENQ8YJmko8EfgNOBfChtI2ht4ADgjIn5XsLw3sFNErE0fHwv8R4a1AnDyt+7LehNb3H/VKR22LTOzHVFmARURDZIuAh4GqoDbI2KxpPPS9bXA5UA/4FZJAA0RUQPsCcxMl3UD7o6IOVnVamZm+ZPlERQRMRuY3WxZbcHjKcCUIv2WAaOaLzczs64j04CyHVtHnvIEn/Y0s6Y81ZGZmeWSA8rMzHLJAWVmZrnkgDIzs1xyQJmZWS45oMzMLJccUGZmlksOKDMzyyUHlJmZ5ZIDyszMcskBZWZmueSAMjOzXHJAmZlZLjmgzMwslxxQZmaWSw4oMzPLJQeUmZnlkgPKzMxyyQFlZma55IAyM7NcckCZmVkuZRpQko6TtETSUknTiqz/vKQX06+nJI0qt6+ZmXVumQWUpCrgFmACcABwuqQDmjX7A/DxiDgIuAqY3oa+ZmbWiWV5BDUWWBoRyyLifWAGMLGwQUQ8FRF/TZ8+A1SX29fMzDq3LANqILCi4Hl9uqyUc4CH2tpX0lRJdZLqVq1atR3lmplZnmQZUCqyLIo2lI4iCahvtLVvREyPiJqIqBkwYMA2FWpmZvnTLcOx64FBBc+rgZXNG0k6CLgNmBARa9rS18zMOq8sj6DmAcMkDZXUAzgNmFXYQNLewAPAGRHxu7b0NTOzzq3FgJL044LHZ7Zl4IhoAC4CHgZeBu6NiMWSzpN0XtrscqAfcKukBZLqWurblu2bmdmOrbVTfKMKHn8FuLMtg0fEbGB2s2W1BY+nAFPK7WtmZl1Ha6f4il6YYGZmlrXWjqCqJd1MclVd4+MtIuLLmVVmZmZdWmsBdWnB47osCzEzMyvUYkBFRJveczIzM2svLQaUpBYv7Y6Iz7RvOWZmZonWTvEdRjLl0D3AsxSf4cHMzKzdtRZQHwY+CZwO/AvwS+AefybJzMyy1uJl5hHxQUTMiYgzgUOBpcDjkr7UIdWZmVmX1epcfJJ2Bj5FchQ1BLiZZHoiMzOzzLR2kcSdwAiS22BcGRGLOqQqMzPr8lo7gjoDWAfsB3xFUuPMEgIiIvpmWZyZmXVdrX0OKsvZzs3MzEpq7RRfT+A8YF/gReD2dKZxMzOzTLV2hHQnUAMsBI4Hvpd5RWZmZrT+HtQBETESQNJ/As9lX5KZmVnrR1CbGh/41J6ZmXWkVm9YKOmd9LGAXdLnvorPzMwy1dpVfFUdVYiZmVkhX0ZuZma55IAyM7NcckCZmVkuZRpQko6TtETSUknTiqzfX9LTkjZKuqTZuuWSFkpaIMm3mzcz62Janc18W0mqAm4huZ9UPTBP0qyIeKmg2V+ALwOfLTHMURGxOqsazcwsv7I8ghoLLI2IZRHxPjADmFjYICLejIh5FHzeyszMDLINqIEkt4tvVJ8uK1cAv5I0X9LUUo0kTZVUJ6lu1apV21iqmZnlTZYBpSLLosiyUsZFxBhgAnChpCOLNYqI6RFRExE1AwYM2JY6zcwsh7IMqHpgUMHzamBluZ0jYmX6/U1gJskpQzMz6yKyDKh5wDBJQyX1AE4DZpXTUVJvSbs2PgaOBXw3XzOzLiSzq/giokHSRcDDQBXJvaQWSzovXV8r6cNAHdAX2CzpYuAAoD8wU1JjjXdHxJysajUzs/zJLKAAImI2MLvZstqCx38iOfXX3DvAqCxrMzOzfPNMEmZmlksOKDMzyyUHlJmZ5ZIDyszMcskBZWZmueSAMjOzXHJAmZlZLjmgzMwslxxQZmaWSw4oMzPLJQeUmZnlkgPKzMxyyQFlZma55IAyM7NcckCZmVkuOaDMzCyXHFBmZpZLmd5R16w9nPyt+zp0e/dfdUqHbs/MivMRlJmZ5ZIDyszMcskBZWZmuZRpQEk6TtISSUslTSuyfn9JT0vaKOmStvQ1M7POLbOAklQF3AJMAA4ATpd0QLNmfwG+DNywDX3NzKwTy/IIaiywNCKWRcT7wAxgYmGDiHgzIuYBm9ra18zMOrcsA2ogsKLgeX26rF37SpoqqU5S3apVq7apUDMzy58sA0pFlkV7942I6RFRExE1AwYMKLs4MzPLtywDqh4YVPC8GljZAX3NzKwTyDKg5gHDJA2V1AM4DZjVAX3NzKwTyGyqo4hokHQR8DBQBdweEYslnZeur5X0YaAO6AtslnQxcEBEvFOsb1a1mplZ/mQ6F19EzAZmN1tWW/D4TySn78rqa2ZmXYdnkjAzs1xyQJmZWS45oMzMLJccUGZmlksOKDMzyyUHlJmZ5ZIDyszMcskBZWZmueSAMjOzXHJAmZlZLjmgzMwslxxQZmaWSw4oMzPLJQeUmZnlkgPKzMxyyQFlZma55IAyM7NcckCZmVkuOaDMzCyXHFBmZpZLDigzM8ulTANK0nGSlkhaKmlakfWSdHO6/kVJYwrWLZe0UNICSXVZ1mlmZvnTLauBJVUBtwCfBOqBeZJmRcRLBc0mAMPSr0OAH6bfGx0VEauzqtHMzPIryyOoscDSiFgWEe8DM4CJzdpMBO6KxDPA7pL+PsOazMxsB5FlQA0EVhQ8r0+XldsmgF9Jmi9pamZVmplZLmV2ig9QkWXRhjbjImKlpD2ARyS9EhG/2WojSXhNBdh77723p14zM8uRLI+g6oFBBc+rgZXltomIxu9vAjNJThluJSKmR0RNRNQMGDCgnUo3M7NKyzKg5gHDJA2V1AM4DZjVrM0sYHJ6Nd+hwNsR8Yak3pJ2BZDUGzgWWJRhrWZmljOZneKLiAZJFwEPA1XA7RGxWNJ56fpaYDZwPLAUeA/4Qtp9T2CmpMYa746IOVnVamZm+ZPle1BExGySECpcVlvwOIALi/RbBozKsjYzM8s3zyRhZma5lOkRlFlncvK37uvQ7d1/1Skduj2zvPERlJmZ5ZIDyszMcskBZWZmueSAMjOzXHJAmZlZLjmgzMwslxxQZmaWSw4oMzPLJQeUmZnlkgPKzMxyyQFlZma55IAyM7NcckCZmVkuOaDMzCyXHFBmZpZLDigzM8sl37DQbAfjGydaV+EjKDMzyyUHlJmZ5ZIDyszMcinTgJJ0nKQlkpZKmlZkvSTdnK5/UdKYcvuamVnnltlFEpKqgFuATwL1wDxJsyLipYJmE4Bh6dchwA+BQ8rsa2YV1pEXbPhija4ny6v4xgJLI2IZgKQZwESgMGQmAndFRADPSNpd0t8DQ8roa2YGOCg7qywDaiCwouB5PclRUmttBpbZFwBJU4Gp6dN3JS3Zjpq3VX9gdVs66OqMKtkGGdTS5v2RUR3bxPujKe+PpvKyPzqZwcUWZhlQKrIsymxTTt9kYcR0YHrbSmtfkuoioqaSNeSJ90dT3h9NeX805f1RWpYBVQ8MKnheDawss02PMvqamVknluVVfPOAYZKGSuoBnAbMatZmFjA5vZrvUODtiHijzL5mZtaJZXYEFRENki4CHgaqgNsjYrGk89L1tcBs4HhgKfAe8IWW+mZVazuo6CnGHPL+aMr7oynvj6a8P0pQcgGdmZlZvngmCTMzyyUHlJmZ5ZIDajt4OqamJA2S9JiklyUtlvSVStdUaZKqJL0g6cFK15IH6Yfx75P0Svrv5LBK11RJkr6a/l9ZJOkeST0rXVOeOKC2UcF0TBOAA4DTJR1Q2aoqrgH4WkQMBw4FLvQ+4SvAy5UuIkduAuZExP7AKLrwvpE0EPgyUBMRI0guCDutslXliwNq222Zyiki3gcap2PqsiLijYh4Pn28luSXz8DKVlU5kqqBTwG3VbqWPJDUFzgS+E+AiHg/It6qaFGV1w3YRVI3oBf+vGcTDqhtV2qaJgMkDQE+Cjxb4VIq6fvA14HNFa4jL/4BWAXckZ72vE1S70oXVSkR8UfgBuB14A2Sz4H+qrJV5YsDatuVPR1TVyOpD3A/cHFEvFPpeipB0gnAmxExv9K15Eg3YAzww4j4KLAO6LLv3Ur6O5KzLkOBvYDekiZVtqp8cUBtu3KmcupyJHUnCaefRcQDla6ngsYBn5G0nOT079GSflrZkiquHqiPiMaj6vtIAqurOgb4Q0SsiohNwAPA4RWuKVccUNvO0zE1I0kk7y+8HBE3VrqeSoqIyyKiOiKGkPzb+N+I6NJ/HUfEn4AVkj6SLvoEXfsWOq8Dh0rqlf7f+QRd+KKRYrKcLLZT2wGnY+oI44AzgIWSFqTL/i0iZleuJMuZLwE/S/+oW0Y6vVlXFBHPSroPeJ7kCtgX8LRHTXiqIzMzyyWf4jMzs1xyQJmZWS45oMzMLJccUGZmlksOKDMzyyUHlBkgKSR9r+D5JZKuaKexfyzplPYYq5XtfC6dIfyxDLfRIa/FDBxQZo02AidJ6l/pQgqls+aX6xzggog4Kqt6zDqSA8os0UDyIcmvNl/R/KhB0rvp93+U9H+S7pX0O0nXSfq8pOckLZS0T8Ewx0iam7Y7Ie1fJem7kuZJelHSuQXjPibpbmBhkXpOT8dfJOk76bLLgSOAWknfbdZ+J0m3pvcdelDS7MbXI+kT6cStCyXdLmnnxvHSuhZJmp7OdNC8juskvZTWfkPbdrdZ6xxQZn9zC/B5Sbu1oc8okns+jSSZRWO/iBhLcouNLxW0GwJ8nOT2G7XpjenOIZnB+mPAx4AvShqath8L/HtENLmflqS9gO8ARwOjgY9J+mxE/AdQB3w+Ii5tVuNJ6fZHAlOAw9KxegI/Bk6NiJEkM8ucn/b5QUR8LL1P0S7ACc3q+BBwInBgRBwEXF3m/jIrmwPKLJXOvH4XyU3kyjUvvQ/WRuBVoPF2CQtJQqHRvRGxOSJ+TzLFz/7AscDkdFqoZ4F+wLC0/XMR8Yci2/sY8Hg6wWgD8DOSeyy15Ajgv9Lt/wlofI/qIySTlf4ufX5nwVhHSXpW0kKSMDyw2ZjvABuA2ySdBLzXSg1mbeaAMmvq+yRHNoX3KWog/b+SnurqUbBuY8HjzQXPN9N0rsvmc4oFyS1bvhQRo9OvoQX3A1pXor5it3lpTak+RZenR1a3AqekR1Y/AprcijwNx7EkM9d/FpizDXWZtcgBZVYgIv4C3EsSUo2WAwenjycC3bdh6M+l7wXtQ3LjviUkEw2fn96iBEn7lXEDv2eBj0vqn15AcTrwf630eQI4Od3+nsA/pstfAYZI2jd9fkY6VmMYrU7v7bXVVXvp8t3SiYAvJjndaNauPJu52da+B1xU8PxHwP9Ieg74NaWPblqyhOSX/57AeRGxQdJtJKcBn0+PzFaRHI2UFBFvSLqM5DSdgNkR8T+tbPt+kls5LAJ+RxJyb6c1fAH4r/SW4/OA2ojYKOlHJKcpl6fLm9uVZJ/0TOvY6uISs+3l2czNugBJfSLiXUn9gOeAcen7UWa55SMos67hQUm7k7x/dpXDyXYEPoIyM7Nc8kUSZmaWSw4oMzPLJQeUmZnlkgPKzMxyyQFlZma59P8Bu0yk8/uqJAwAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "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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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "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": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "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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+9vnnBMJDVDD8Pl8gftOLpcroqZqfn5+IEDV1NQwd+7coPLaOnt4bXdFYP/v3rcSb+LI17vl6sW8sa+SuuYOWju6+dPmIyMGNqXU2K1duzaQvHbz5s3cd999gBVgiouLOXLkCMXFxdx7773s2rULt9sd1v2r5uZm7rjjDo4ePYqIDLlcz9q1a5k9ezYAt956K5s3byYhIYGNGzeSm5sLwEc/+lE2bdrEl7/8ZY4fP859993He97zHq699tpzyjt8+DD79u3jXe96F2B97xUUDORLGGypkObmZpqamgIJce+44w4+8pGPDHvOWGgX3zCcw8uTkpIimhibnp4eSLnv9/uprg4eHv7Wvkp8PqupPnt6NmsWhJdQIzHBzW2OgPT0m0doaOkccz2VutAtXryY7du3D/m6c+mMoRJBP/TQQ+Tn57N79262bdsWWAlhOF/+8pe58sor2bdvH3/+85+HnN4y2DIgQ9UjOzub3bt3s3HjRr7//e/zqU996pxjjDEsXryYXbt2sWvXLvbu3csLL7ww6PsNV7SWF9EW1DCi1b0H1i9RQUEBZWVlAFRVVTF9+vTAL9umPQMJNS5fPrqMGJcvn8mf3jjKybNN9PT6eOKVg9x946qI6qvURDBUN1wsXXXVVXzpS1/ixz/+MX/3d38HwDvvvENHR8c5x15++eX8+te/5qqrruLIkSNUVFSwYMECmpubKSwsxOVy8eijjwZ6YtLT04dMe9bc3MyMGTOA4CS0obZu3cqJEycoLi7m8ccf56677mLdunV87nOfo66ujuzsbB577DHuu+8+6urqSExM5EMf+hBz5szhzjvvPKceCxYsoLa2NrC0SG9vL0eOHGHx4qF7YjIzM8nOzub111/nsssui9nyItqCGkY0AxRY3Xwul/WRt7W1BX5BahrbOVBuZZwQhA1Li4YsYzAiwsevXRLYf2n7CU7XRZb7T6kLlYjwhz/8gRdffJE5c+awePFiHnzwwUFHvN1zzz34fD6WLl3KzTffzCOPPEJSUhL33HMPjz76KOvXr+fIkSOBFsWyZcvweDwsX76chx56KKisL37xi/zLv/wLl1566bBTWi6++GIeeOABlixZwqxZs7jpppsoKCjg61//OldeeSXLly9n1apV3HjjjZw+fZqNGzeyYsUK7rzzTr7+9a8DcOedd3L33XezYsUKfD4fTz75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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "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": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAjvElEQVR4nO3dfZBcdZ3v8feHkDB3JZgiD0IyhAmC4cEgCwG0BIwrrjCwghD3JrLEFVIRFtawW66Me7csuVqIK2yhF1gqRhRcSQpLXVIxjKIYRVzyQAjmAQORh80EWENEIdGJyfC9f5wzoWfSMz093Wf6dPfnVdWV7nN+fc53zsw33z6nf+f3U0RgZmaWNwfVOgAzM7NiXKDMzCyXXKDMzCyXXKDMzCyXXKDMzCyXDq51AOWaMGFCtLW11ToMMx577LGXI2JireMYLueS5cVAuVR3BaqtrY21a9fWOgwzJD1f6xgq4VyyvBgol3yJz8zMcskFyszMcskFyszMcqnuvoMqZVfHtWW1P/Sm26ry3nq1d+9eurq66O7urnUoudXS0kJrayujR4+udSh1oRlz0Hk0NOXmUsMVKCtPV1cXY8eOpa2tDUm1Did3IoKdO3fS1dXFtGnTah2O5ZTzqLTh5JIv8TW57u5uxo8f76QagCTGjx/vT8Y2KOdRacPJJRcoc1KV4ONjQ+G/k9LKPUYuUGZmlksuUGZmlksuUGZmlkvuxWd9lNvNt5ShdgPesGEDF154IR0dHVx99dVV2fcVV1zB8uXLmTRpEhs3bizaprOzk4ULF9LT08P8+fPp6Oioyr6tuTVKHm3bto158+bx0ksvcdBBB7FgwQIWLlx4QLus8shnUJYLM2bMYOnSpdxzzz1V2+bf/u3f0tnZOeD6np4errnmGh544AE2b97MkiVL2Lx5c9X2bzbSqp1HBx98MLfccgtPPvkkjz76KLfffvsBOZJlHrlAWW5MmjSJTZs2VW1755xzDocffviA61evXs2xxx7LMcccw5gxY5gzZw73339/1fZvVgvVzKMjjzySU089FYCxY8dywgknsH379j5tsswjX+Kz3Ojo6GDPnj08//zzHH300QesP/vss3nttdcOWH7zzTdz7rnnlr2/7du3c9RRR+1/3drayqpVq8rejlmeZJVHzz33HI8//jhnnnlmn+VZ5pELlOVCZ2cnu3fv5oILLmDTpk1FE+vhhx+u6j4j4oBlvpfF6llWebRr1y4uvfRSbr31Vg477LA+67LMIxcoq7nu7m4+9alPsWzZMr7+9a+zceNG2tvbD2hX7TOo1tZWtm3btv91V1cXkydPLns7ZnmQVR7t3buXSy+9lMsuu4xLLrnkgPVZ5pELlNXc5z//eebNm0dbWxszZsxg2bJlRdtV+wzq9NNP5+mnn+bZZ59lypQpLF26lHvvvbeq+zAbKVnkUURw5ZVXcsIJJ/CP//iPRdtkmUeZFihJ5wFfBkYBiyPipn7rLwI+B7wO7AOui4ifZxmTDW6kR4fesmULDz74II888giQ9EK68cYbq7LtuXPnsnLlSl5++WVaW1u54YYbuPLKK2lvb2fx4sVMnjyZ2267jQ984AP09PRwxRVXcNJJJ1Vl39bcGiWPHnnkEb75zW8yY8YMTjnlFABuvPFG2tvbRySPMitQkkYBtwPvB7qANZKWRURh/8MfA8siIiSdDNwHHJ9VTJY/06dP7/OF6vTp01m3bl1Vtr1kyZKiy1esWLH/eW+imdWzrPLorLPOKvodE4xMHmXZzfwMYGtEPBMRfwKWAhcVNoiIXfHGT/8moPiRMDOzppNlgZoCbCt43ZUu60PShyT9Cvg+cEWxDUlaIGmtpLU7duzIJFgzM8uXLAtUsX6GB5whRcT3IuJ44GKS76MOfFPEooiYGREzJ06cWN0obcBTeEv4+NhQ+O+ktHKPUZYFqgs4quB1K/DCQI0j4mfAWyVNyDAm66elpYWdO3c6uQbQOwtoS0tLrUOxHHMelTacXMqyF98a4DhJ04DtwBzgI4UNJB0L/DrtJHEqMAbYmWFM1k9raytdXV340unAWlpaaG1trXUYlmPOo6EpN5cyK1ARsU/StcAPSLqZ3xURmyRdla6/E7gUmCdpL/BH4H+HP4KMqNGjRzNt2rRah2GDGMLtGpcB16cvdwFXR8QTIxtlc3MeZSPT+6AiYgWwot+yOwuefxH4YpYxmNWzId6u8Szwnoh4RdL5wCLgzAO3ZlZfPJq5Wb4N5XaNX0TEK+nLR0m+7zWrey5QZvk2pNs1ClwJPDDQSt+yYfXEBcos34Z0uwaApPeSFKjri60H37Jh9cWDxZrl25Bu10iHClsMnB8R7glrDcFnUGb5tv92DUljSG7X6DNMtaSpwHeByyPiqRrEaJYJn0GZ5dgQb9f4DDAeuCOdKG5fRMysVcxm1eICZZZzQ7hdYz4wf6TjMsuaL/GZmVku+QzKzBrGro5ry2o/0hMLWnl8BmVmZrnkAmVmZrnkAmVmZrnkAmVmZrnkAmVmZrk0aIGS9I2C5x/NPBqzBuVcMitfqTOodxQ8X5hlIGYNzrlkVqZSBaqi2W0lnSdpi6StkjqKrL9M0i/Txy8kvaPYdswagGeKNitTqRt1WyV9hWTI/97n+0XEJwZ6o2cCNetj2Llk1qxKFah/Kni+tsxt758JFEBS70yg+wtURPyioL1nArVGVkkumTWlQQtURNxdwbaLzQQ62NnRgDOBSloALACYOnVqBSGZ1UaFuWTWlAYtUJKWDbY+Ij442NuLvWWA/fTOBHrWAPtZRHL5j5kzZ/pavtWdCnPJrCmVusT3LpKzoCXAKooXnYF4JlCzN1SSS2ZNqVSBOoKkk8Nc4CPA94ElEbFpCNvePxMosJ1kJtCPFDbwTKDWRCrJJbOmVOo7qB6gE+iUdAhJcq2U9H8j4v+VeG9TzQTqYf5tMJXkUi3479nyoOR8UGkyXUCSUG3AV0jOekryTKBmb6gkl8yaUalOEncDbyfpXXdDRGwckajMGoxzyax8pc6gLgd2A28DFkrq7UEnICLisCyDM2sgziWzMpX6DsqjnZtVgXPJrHylLvG1AFcBxwK/JOnosG8kAjNrJM4ls/KV+lR3NzAT2AC0A7dkHpFZY3IumZWp1HdQJ0bEDABJXwNWZx+SWUNyLpmVqdQZ1N7eJ74cYVYR55JZmUpOWCjp1fTxGnBy73NJr45EgGYNYti5NIR51Y6X9F+S9kj6ZGY/gdkIK9WLb9RIBWLWyIabS0OcV+23wCeAiyuN0yxP3PXVLN/2z6sWEX8CeudV2y8ifhMRayi4jGjWCFygzPKt2LxqU4a7MUkLJK2VtHbHjh0VB2eWJRcos3wb8rxqQxERiyJiZkTMnDhxYgVhmWXPBcos34Y0r5pZIyo5mrmZ1VTJedWsOjzFSP64QJnl2FDmVZN0BLAWOAx4XdJ1JDcG+1YQq2suUGY5N4R51V4iufRn1lAy/Q7KNxiamdlwZXYG5RsMzcysElmeQfkGQzMzG7YsC1TVbjD0zYVmZs0nywJVtRsMfXOhmVnzybJA+QZDMzMbtiwL1P4bDCWNIbnBcFmG+zMzswaSWS8+32BoZmaVyPRGXd9gaGZmw+XBYs3MLJdcoMzMLJdcoMzMLJc8WGwOeJh/M7MD+QzKzMxyyQXKzMxyyQXKzMxyyd9BmZlVyN8jZ8NnUGZmlksuUGZmlksuUGZmlksuUGZmlksuUGZmlksuUGZmlksuUGZmlku+D6rO+f4Ls/rmHB5YpmdQks6TtEXSVkkdRdZL0lfS9b+UdGqW8ZjVI+eRNavMCpSkUcDtwPnAicBcSSf2a3Y+cFz6WAD8e1bxmNUj55E1sywv8Z0BbI2IZwAkLQUuAjYXtLkIuCciAnhU0jhJR0bEixnGZSlfWqgLziMbUKPnsJK/6Qw2LM0GzouI+enry4EzI+LagjbLgZsi4ufp6x8D10fE2n7bWkDyyRBgOrBlGCFNAF4exvuylMeYwHEN1dERMTHLHVQzj9J1leZS3n4HvRxXefIWV9FcyvIMSkWW9a+GQ2lDRCwCFlUUjLQ2ImZWso1qy2NM4Lhypmp5BJXnUl5/B46rPHmNq78sO0l0AUcVvG4FXhhGG7Nm5jyyppVlgVoDHCdpmqQxwBxgWb82y4B5aS+kdwK/93Vzsz6cR9a0MrvEFxH7JF0L/AAYBdwVEZskXZWuvxNYAbQDW4E/AB/LKh4qvESYkTzGBI4rN5xHQ+a4ypPXuPrIrJOEmZlZJTzUkZmZ5ZILlJmZ5VJDFag8Dgkj6ShJP5H0pKRNkhYWaTNL0u8lrU8fn8k6rnS/z0nakO6z2D0ztThe0wuOw3pJr0q6rl+bmhyvZuJcKju2XOVSw+RRRDTEg+QL5F8DxwBjgCeAE/u1aQceILlv5J3AqhGI60jg1PT5WOCpInHNApbX4Jg9B0wYZP2IH68iv9OXSG7iq/nxapaHc2lYseU2l+o5jxrpDGr/kDAR8Segd0iYQvuHhImIR4Fxko7MMqiIeDEi1qXPXwOeBKZkuc8qGvHj1c/7gF9HxPMjuE9zLmWhlrlUt3nUSAVqCrCt4HUXB/7xDqVNZiS1AX8OrCqy+l2SnpD0gKSTRiikAH4o6TElQ+D0V9PjRXLPz5IB1tXieDUL51L58pxLdZtHjTQfVFWHhKk2SYcC3wGui4hX+61eR3L6vUtSO/CfJCNTZ+3dEfGCpEnAg5J+FRE/Kwy7yHtG6niNAT4IfLrI6lodr2bhXCpfLnOp3vOokc6gcjskjKTRJAn1rYj4bv/1EfFqROxKn68ARkuakHVcEfFC+u9vgO+RXNopVMshdM4H1kXE//RfUavj1UScS2XKcS7VdR41UoHK5ZAwkgR8DXgyIv5tgDZHpO2QdAbJ72VnxnG9SdLY3ufAXwIb+zWr5RA6cxngskQtjleTcS6VF1eec6mu86hhLvFF/oaE6fVu4HJgg6T16bJ/BqYWxDUbuFrSPuCPwJxIu9lk6C3A99K/z4OBeyOiMwfHC0l/Brwf+HjBssK4anG8moZzqWy5zKVGyCMPdWRmZrnUSJf4zMysgbhAmZlZLrlAmZlZLrlAmZlZLrlAmZlZLrlAZUBSSLql4PUnJX22Stv+hqTZ1dhWif18WMmo0T/JcB8j8rNY/XIuDXkfDZlLLlDZ2ANckre7siWNKqP5lcDfRcR7s4rHbAicS03MBSob+4BFwD/0X9H/k46kXem/syT9VNJ9kp6SdJOkyyStVjLPzFsLNnOupIfTdhem7x8l6UuS1iiZb+bjBdv9iaR7gQ1F4pmbbn+jpC+myz4DnAXcKelL/dofJOkOJfPxLJe0ovfnkfQ+SY+n27tL0iG920vj2ihpUe/d6/22e5OkzWnsN5d3uK2BOZeaOZdqOddHoz6AXcBhJHPEvBn4JPDZdN03gNmFbdN/ZwG/I5nz5hBgO3BDum4hcGvB+ztJPlwcRzLGVwuwAPiXtM0hwFpgWrrd3cC0InFOBv4bmEhyB/xDwMXpupXAzCLvmU1yV/xBwBHAK+myFpLRmt+WtruHZDBPgMML3v9N4K8KjwVwOLCFN24cH1fr36Ef+Xg4l5o7l3wGlZFIRlm+B/hEGW9bE8mcN3tIJoz7Ybp8A9BW0O6+iHg9Ip4GngGOJxn/a56SIWBWAeN5Y2Ti1RHxbJH9nQ6sjIgdEbEP+BZwTokYzwK+ne7/JaD3uvp04NmIeCp9fXfBtt4raZWkDcBfAP2H9X8V6AYWS7qEZCgYM8C5RBPnkgtUtm4luf78poJl+0iPe3p6PqZg3Z6C568XvH6dvuMm9h+fKkiG8//7iDglfUyLiN6k3D1AfMWmAChloPcUXS6pBbiD5JPuDOCrJJ8Q90sT+gySUaovJvlUa1boVpxLTZdLLlAZiojfAveRJFav54DT0ucXAaOHsekPp9ev30oyLfcWkoE9r1YyHQGS3qZkZOXBrALeI2lC+qXvXOCnJd7zc+DSdP9vIbnsAfAroE3Ssenry9Nt9SbQy0rm8Tmgp1G6/M2RDPl/HXBKiRisyTiXmjOXGmY08xy7Bbi24PVXgfslrQZ+zMCfyAazheQP9i3AVRHRLWkxyaWLdemnyR0kn6AGFBEvSvo0yaUFASsi4v4S+/4OyRTSG4GnSBLz92kMHwO+Lelgkikb7oyIPZK+SnJp5bl0eX9jSY5JSxrHAV+Im+Fcarpc8mjmVjZJh0YyC+d4YDXJbKIv1Tous3rjXBqcz6BsOJZLGkdyzf9zTiizYXMuDcJnUGZmlkvuJGFmZrnkAmVmZrnkAmVmZrnkAmVmZrnkAmVmZrnkAmVmZrnkAmVmZrnkAmVmZrnkAmVmZrlUd0MdTZgwIdra2modhhmPPfbYyxExMev9SDoP+DIwClgcETf1W38ZcH36chdwdUQ8UWq7ziXLi4Fyqe4KVFtbG2vXrq11GGZIen4E9jEKuB14P8mMr2skLYuIzQXNngXeExGvSDqfZIr0M0tt27lkeTFQLvkSn1m+nQFsjYhnIuJPwFKSuY/2i4hfRMQr6ctHgdYRjtEsEy5QZvk2BdhW8LorXTaQK4EHMo3IbITU3SU+syZTbPrvolMQSHovSYE6a8CNSQuABQBTp06tRnxmmXGBqpJdHdeWblTg0Jtuq8p7K7V37166urro7u6u2jYbTUtLC62trYwePZwZxSvWBRxV8LoVeKF/I0knA4uB8yNi50Abi4hFJN9RMXPmzIaba6dWeeg8Gppyc8kFqsl1dXUxduxY2traSGa3tkIRwc6dO+nq6mLatGm1CGENcJykacB2YA7wkcIGkqYC3wUuj4inRj5Ecx6VNpxc8ndQTa67u5vx48c7qQYgifHjx9fsk3FE7AOuBX4APAncFxGbJF0l6aq02WeA8cAdktZLcte8EeY8Km04ueQzKHNSlVDr4xMRK4AV/ZbdWfB8PjB/pOOyvmr9d1IPyj1GPoMyM7NccoEyM7NccoEyM7NcyvQ7qKzGELPslNvVtpShdonfsGEDF154IR0dHVx99dUV77e7u5tzzjmHPXv2sG/fPmbPns0NN9xwQLvOzk4WLlxIT08P8+fPp6Ojo+J9mzVKHvXq6elh5syZTJkyheXLlx+wPqs8yuwMqmAMsfOBE4G5kk7s16x3DLGTgc+R3p9hzWfGjBksXbqUe+65pyrbO+SQQ3jooYd44oknWL9+PZ2dnTz66KN92vT09HDNNdfwwAMPsHnzZpYsWcLmzZsH2KJZ/lU7j3p9+ctf5oQTTii6Lss8yvISn8cQs7JMmjSJTZs2VWVbkjj00EOB5CbKvXv3HtCDaPXq1Rx77LEcc8wxjBkzhjlz5nD//fdXZf9mtVLNPILkHq/vf//7zJ9fvKNolnmU5SW+YmOIDTbC8oBjiHl4lubQ0dHBnj17eP755zn66KMPWH/22Wfz2muvHbD85ptv5txzzz1geU9PD6eddhpbt27lmmuu4cwz+/75bd++naOOemOQhtbWVlatWlWFn8SsdqqdR9dddx3/+q//WvQ9kG0eZVmgqjaGWKMPz2LJNezdu3dzwQUXsGnTpqKJ9fDDD5e1zVGjRrF+/Xp+97vf8aEPfYiNGzfy9re/ff/6iAP/lHwvi9WzaufR8uXLmTRpEqeddhorV64s2ibLPMryEl+5Y4hdNNgYYta4uru7+dSnPsUdd9zBjBkz2LhxY9F2Z599NqeccsoBjx/96EeDbn/cuHHMmjWLzs7OPstbW1vZtu2Nk/yuri4mT55c+Q9kVgNZ5NEjjzzCsmXLaGtrY86cOTz00EP8zd/8TZ82WeZRlmdQHkPMhuTzn/888+bNo62tjRkzZrBs2bKi7cr55Ldjxw5Gjx7NuHHj+OMf/8iPfvQjrr/++j5tTj/9dJ5++mmeffZZpkyZwtKlS7n33nsr+lnMaiWLPPrCF77AF77wBQBWrlzJzTffzH/8x3/0aZNlHmVWoCJin6TeMcRGAXf1jiGWrr+TvmOIAeyLiJlZxWSlVXOk9KHYsmULDz74II888giQ9EK68cYbK97uiy++yEc/+lF6enp4/fXX+eu//msuvPBCANrb21m8eDGTJ0/mtttu4wMf+AA9PT1cccUVnHTSSRXv26xR8mgwI5FHmd4H5THErJTp06f3+UJ1+vTprFu3ruLtnnzyyTz++ONF161Y8cafZHt7O+3t7RXvz6yWssqjQrNmzWLWrFn7X49EHnkkCTMzyyUXKDMzyyVPt2FEhLtXD6JYN1qzQvHKTvZte37IeTSqtTnv5yw3l3wG1eRaWlrYuXOn/xMeQO8soC0tLbUOxXJszO9+y2//8Afn0SCGk0s+g2pyra2tdHV1sWPHjlqHklstLS20tnoULhvYhFU/42Xg5XGHE0XHKOjroNd2Zx9UDpWbSy5QTW706NFMmzat1mGY1bWD93RzxM9+OOT2I90NvV75Ep+ZmeWSz6DqXLnzzviTm+WZ/56tkM+gzMwsl1ygzMwsl1ygzMwsl1ygzMwsl1ygzMwsl1ygzMwsl1ygzMwsl3wfVAHfg2Fmlh8+gzIzs1xygTIzs1xygTIzs1xygTIzs1xygTIzs1watEBJ+kbB849mHo1Zg3IumZWv1BnUOwqeL8wyELMG51wyK1OpAhUjEoVZ43MumZWp1I26rZK+Aqjg+X4R8YnMIjNrLM4lszKVKlD/VPB8bZaBmDU455JZmQYtUBFx90gFYtbIKsklSecBXwZGAYsj4qZ+648Hvg6cCvyfiLi5kljN8mLQAiVp2WDrI+KD1Q3HrDENN5ckjQJuB94PdAFrJC2LiM0FzX4LfAK4uDrR2kjyGKADK3WJ713ANmAJsIrk+rmZlW+4uXQGsDUingGQtBS4CNhfoCLiN8BvJF1Q1YjNaqxUgTqC5JPbXOAjwPeBJRGxKevAzBrMcHNpCklh69UFnDncICQtABYATJ06dbibMRsRg3Yzj4ieiOiMiI8C7wS2Aisl/f2IRGfWICrIpWJnWsPush4RiyJiZkTMnDhx4nA3YzYiSs4HJekQ4AKST35twFeA72YbllnjGWYudQFHFbxuBV7IIj6zvCk11NHdwC9IegfdEBGnR8TnImL7UDYu6TxJWyRtldRRZP3xkv5L0h5JnxzWT2BWByrIpTXAcZKmSRoDzAEG7XBh1ihKnUFdDuwG3gYslNR7aUFARMRhA73RvY/M+hhWLkXEPknXAj8g6WZ+V0RsknRVuv5OSUeQ3Ft1GPC6pOuAEyPi1Ux/IrOMlboPqpLRzt37KOfcvXXkVJJLEbECWNFv2Z0Fz18iufRn1lBK3QfVAlwFHAv8kuTT274hbrtqvY/c88jqXYW5ZNaUSn2quxuYCWwA2oFbyth21XofueeRNYBKcsmsKZX6DurEiJgBIOlrwOoytu3eR2ZvqCSXzJpSqTOovb1PhnE5wr2PzN5QSS6ZNaVSZ1DvkNTbE0jA/0pfl+zF595HZn0MO5fMmlWpXnyjKtm4ex+ZJSrNJbNmVHIkCTOzcvj2BauWSu5zMjMzy4wLlJmZ5ZILlJmZ5ZILlJmZ5ZILlJmZ5ZILlJmZ5ZK7mZuZ1alG79LvMygzM8slFygzM8slFygzM8slFygzM8slFygzM8slFygzM8ulhutm3ujdLvPCx9nMsuYzKDMzyyUXKDMzyyUXKDMzyyUXKDMzyyUXKDMzyyUXKDMzy6WG62ZuZmal1cOtIj6DMjOzXHKBMjOzXHKBMjOzXHKBMjOzXHInCRtx9fDlbLPz78jywGdQZmaWSy5QZmaWS77EZ2ZmZRmpS8A+gzIzs1zyGZTVFX95b9Y8Mj2DknSepC2StkrqKLJekr6Srv+lpFOzjMesHjmPrFllVqAkjQJuB84HTgTmSjqxX7PzgePSxwLg37OKx6weOY+smWV5ie8MYGtEPAMgaSlwEbC5oM1FwD0REcCjksZJOjIiXswwLmtidXiJ0HlkTUvJ33QGG5ZmA+dFxPz09eXAmRFxbUGb5cBNEfHz9PWPgesjYm2/bS0g+WQIMB3YMoyQJgAvD+N9WcpjTOC4huroiJiY5Q6qmUfpukpzKW+/g16Oqzx5i6toLmV5BqUiy/pXw6G0ISIWAYsqCkZaGxEzK9lGteUxJnBcOVO1PILKcymvvwPHVZ68xtVflp0kuoCjCl63Ai8Mo41ZM3MeWdPKskCtAY6TNE3SGGAOsKxfm2XAvLQX0juB3/u6uVkfziNrWpld4ouIfZKuBX4AjALuiohNkq5K198JrADaga3AH4CPZRUPFV4izEgeYwLHlRvOoyFzXOXJa1x9ZNZJwszMrBIe6sjMzHLJBcrMzHKpoQpUHoeEkXSUpJ9IelLSJkkLi7SZJen3ktanj89kHVe63+ckbUj3WeyemVocr+kFx2G9pFclXdevTU2OVzNxLpUdW65yqWHyKCIa4kHyBfKvgWOAMcATwIn92rQDD5DcN/JOYNUIxHUkcGr6fCzwVJG4ZgHLa3DMngMmDLJ+xI9Xkd/pSyQ38dX8eDXLw7k0rNhym0v1nEeNdAa1f0iYiPgT0DskTKH9Q8JExKPAOElHZhlURLwYEevS568BTwJTstxnFY348ernfcCvI+L5EdynOZeyUMtcqts8aqQCNQXYVvC6iwP/eIfSJjOS2oA/B1YVWf0uSU9IekDSSSMUUgA/lPSYkiFw+qvp8SK552fJAOtqcbyahXOpfHnOpbrNo0aaD6qqQ8JUm6RDge8A10XEq/1WryM5/d4lqR34T5KRqbP27oh4QdIk4EFJv4qInxWGXeQ9I3W8xgAfBD5dZHWtjlezcC6VL5e5VO951EhnULkdEkbSaJKE+lZEfLf/+oh4NSJ2pc9XAKMlTcg6roh4If33N8D3SC7tFKrlEDrnA+si4n/6r6jV8WoizqUy5TiX6jqPGqlA5XJIGEkCvgY8GRH/NkCbI9J2SDqD5PeyM+O43iRpbO9z4C+Bjf2a1XIInbkMcFmiFseryTiXyosrz7lU13nUMJf4In9DwvR6N3A5sEHS+nTZPwNTC+KaDVwtaR/wR2BOpN1sMvQW4Hvp3+fBwL0R0ZmD44WkPwPeD3y8YFlhXLU4Xk3DuVS2XOZSI+SRhzoyM7NcaqRLfGZm1kBcoMzMLJdcoMzMLJdcoMzMLJdcoMzMLJdcoDIgKSTdUvD6k5I+W6Vtf0PS7Gpsq8R+Pqxk1OifZLiPEflZrH45l4a8j4bMJReobOwBLsnbXdmSRpXR/Erg7yLivVnFYzYEzqUm5gKVjX3AIuAf+q/o/0lH0q7031mSfirpPklPSbpJ0mWSViuZZ+atBZs5V9LDabsL0/ePkvQlSWuUzDfz8YLt/kTSvcCGIvHMTbe/UdIX02WfAc4C7pT0pX7tD5J0h5L5eJZLWtH780h6n6TH0+3dJemQ3u2lcW2UtKj37vV+271J0uY09pvLO9zWwJxLzZxLtZzro1EfwC7gMJI5Yt4MfBL4bLruG8Dswrbpv7OA35HMeXMIsB24IV23ELi14P2dJB8ujiMZ46sFWAD8S9rmEGAtMC3d7m5gWpE4JwP/DUwkuQP+IeDidN1KYGaR98wmuSv+IOAI4JV0WQvJaM1vS9vdQzKYJ8DhBe//JvBXhccCOBzYwhs3jo+r9e/Qj3w8nEvNnUs+g8pIJKMs3wN8ooy3rYlkzps9JBPG/TBdvgFoK2h3X0S8HhFPA88Ax5OM/zVPyRAwq4DxvDEy8eqIeLbI/k4HVkbEjojYB3wLOKdEjGcB3073/xLQe119OvBsRDyVvr67YFvvlbRK0gbgL4D+w/q/CnQDiyVdQjIUjBngXKKJc8kFKlu3klx/flPBsn2kxz09PR9TsG5PwfPXC16/Tt9xE/uPTxUkw/n/fUSckj6mRURvUu4eIL5iUwCUMtB7ii6X1ALcQfJJdwbwVZJPiPulCX0GySjVF5N8qjUrdCvOpabLJReoDEXEb4H7SBKr13PAaenzi4DRw9j0h9Pr128lmZZ7C8nAnlcrmY4ASW9TMrLyYFYB75E0If3Sdy7w0xLv+Tlwabr/t5Bc9gD4FdAm6dj09eXptnoT6GUl8/gc0NMoXf7mSIb8vw44pUQM1mScS82ZSw0zmnmO3QJcW/D6q8D9klYDP2bgT2SD2ULyB/sW4KqI6Ja0mOTSxbr00+QOkk9QA4qIFyV9muTSgoAVEXF/iX1/h2QK6Y3AUySJ+fs0ho8B35Z0MMmUDXdGxB5JXyW5tPJcury/sSTHpCWN44AvxM1wLjVdLnk0cyubpEMjmYVzPLCaZDbRl2odl1m9cS4NzmdQNhzLJY0jueb/OSeU2bA5lwbhMygzM8sld5IwM7NccoEyM7NccoEyM7NccoEyM7NccoEyM7Nc+v9uZ00Ft54fzAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "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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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "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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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "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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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "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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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "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": "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l3vuuYe5c+euW9+AAQN46KGHOO2005gyZQo9evTg+OOPZ/r06QDceeedjBw5coPCCRxQZmablHvvvZexY8eyxRZbsPXWWzNmzBhWrVrF7NmzOeaYY9hrr7049dRTWbZs2bo+xxxzDD179lw3PWbMGCSx5557MmjQIPbcc0969OjBHnvsweLFiwG49tprGTVqFHvvvTfz589nwYIF6/ofddRRAOyzzz7r2n/+85/nqquuAuCyyy7jlFNO2eD36kN8ZmabkGoPmV27di3bbrvtutFPpb59+7aY7t27NwA9evRY97p5uqmpiaeffpopU6YwZ84c3va2t3HyySe3+P+l5j49e/akqakJgCFDhjBo0CDuuusuHnjggXWjqQ1R6ghK0qGSnpC0SNLkKsuPkzQ3/5gtaWRh2WJJ8yQ9IsnP0DAzAw488EBuvvlmVq1axcqVK7nlllvYcsstGTZsGNdddx2Qhdijjz7a4W28+uqr9O3bl379+vH8889z66231tRv/PjxHH/88XzmM59pMWLrqNJGUJJ6AhcCHwUagTmSZkbEgkKzp4GDI+JlSYcB04D9C8sPiYgXy6rRzGxD1OMK2H333ZcjjjiCkSNHstNOOzF69Gj69evH9OnTOe200zjnnHNYs2YN48aNY+TIkW2vsIqRI0ey9957s8cee7DzzjtzwAEH1NTviCOO4JRTTumUw3sAqjZc7JQVS+8HzoqIj+fTZwJExI9aaf824LGI2CGfXgyMbk9AjR49OrrCAwt9mblZmhYuXMi73/3uepfBypUr2WqrrXj99dc56KCDmDZtGqNGjap3WTQ0NHDGGWfwhz/8odU21fahpAcjYnRl2zLPQe0ALClMN9JydFTpC0BxHBnAHZICuDgiplXrJGkCMAFgxx133KCCzcw2BRMmTGDBggWsWrWKk046KYlwOu+887jooos65dxTszIDqtpNl6oO1yQdQhZQBxZmHxARSyW9HfiNpMcj4vdvWWEWXNMgG0FteNlmZmmbMWNGvUt4i8mTJzN58lsuNdggZV4k0QgMKUwPBpZWNpL0XuBSYGxErGieHxFL888vADcB+5VYq5lZTco6LdIdtHfflRlQc4BdJQ2TtDkwDphZbCBpR+BG4ISIeLIwv6+krZtfAx8DHiuxVjOzNvXp04cVK1Y4pDqg+XlQffr0qblPaYf4IqJJ0iTg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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "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": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAA/pElEQVR4nO3deXxcdbn48c8zS/atTdM1bdO9dG+ppWWzrAJyARUEFEG9wq2AXO/V6w+4Iiiu96IoVxERFbyyiIDeCsgmlFWg+77vadOmSds0ezIzz++PczKZTCfJpM1kJsnzfr3mNWf5nnOeOVmeOd/zPd+vqCrGGGNMqvEkOwBjjDEmFktQxhhjUpIlKGOMMSnJEpQxxpiUZAnKGGNMSrIEZYwxJiVZgjK9noh8VkReSXYc8RKRXSJyvjt9p4g8coL7WS8iC7sztnaO0y3xtrPvGhEZ604/KiLf7cZ9PyQid3XX/kzP8yU7ANO7iMguYAgQBGqBF4GvqGrNCe7vHmC8ql53ojGp6uPA4ye6fTKp6vfjKScijwKlqvrNiG2nJiqu9nQh3iXAH1S1w2SmqjndEZeIfB74kqqeGbHvRd2xb5M8dgVlTsQ/uf9Y5gAfAb7ZSfmEEZET/pIljpP6GziZ4/dndt5MPCxBmROmqvuAvwHTAETkMrfa6aiILBGRU1rKisj/E5F9IlItIptF5DwRuQi4E7jarepZ7ZbNF5HfiEiZu813RcTrrvu8iLwrIveLyGHgHnfZOxHHOl1ElopIlft+esS6JSLyPRF5F6gDxkZ/LrdK6w4R2SAiR0TkdyKS4a5bKCKl7uc5APxORDwicruIbBeRShF5WkQGRuzvcyKy2133n1HHukdE/hAxf6aIvOeew73uZ7sJ+CzwDfc8/TUizvNFZLiI1Ecdc7aIVIiI353/oohsdD/PyyIyur2fa7zxikiGiPzBLXfUPddDROR7wFnAz914f+6WVxG5RUS2Alsjlo2POMQgEXnV/T15syVOESlxy/oiYlkiIl9yf88eAha4xzvqrm9TZSgiN4rINhE5LCKLRWR4xDoVkUUistU9R78QEWnvHJmeYQnKnDARGQlcAqwUkYnAk8BXgSKcqr+/ikiaiEwCbgU+oqq5wMeAXar6EvB94I+qmqOqM91dPwYEgPHAbOBC4EsRhz4N2AEMBr4XFdNA4AXgAaAQ+AnwgogURhT7HHATkAvsbufjfdaNcxwwkbZXiUOBgcBodz+3AVcAHwWGA0eAX7jxTAF+6R5zuBtTcawDisgonIT/PzjncBawSlUfxqnC/C/3PP1T5Haquh/4B/CpiMWfAZ5R1WYRuQLni8An3f2+jfOzihVD3PECNwD5wEi33CKgXlX/0z3GrW68t0ZscwXOz29KO/v8LHAvMAhYRRxVt6q60T32P9zjFcT4XOcCPwA+DQzD+bk/FVXsUpwagZluuY91dmyTWJagzIn4i/st9R3gTZwkczXwgqq+qqrNwH1AJnA6zv2qdGCKiPhVdZeqbo+1YxEZAlwMfFVVa1W1HLgfuCai2H5V/R9VDahqfdQuPg5sVdX/ddc/CWwCIv+pP6qq6931ze18xp+r6l5VPYyTBK+NWBcC7lbVRvf4/wL8p6qWqmojcA9wpftt/0rgeVV9y113l7t9LJ8FXlPVJ1W1WVUrVXVVO2WjPdESo/vN/xp3GW58P1DVjaoawPl5zWrnKqor8TbjJKbxqhpU1eWqeqyTOH+gqodj/NxavBBx7P/EuSoa2ck+4/FZ4LequsLd9x3uvksiyvxQVY+q6h7gDZwvCCaJLEGZE3GFqhao6mhVvdn9ZzOciKsRVQ0Be4ERqroN58rqHqBcRJ6KrF6JMhrwA2VutdFR4Fc4V0st9nYQW5s4XLuBEXFuH6vMbne/LQ6pakNUzH+OiHcjTlIe4m4X3peq1gKV7RxzJBAzccfhGZx/uMOBswHFuYppie9nEfEdBoS256RFV+L9X+Bl4CkR2S8i/9VSpdiBzs595LFr3Fjb+13piujfzxqczxV5Dg5ETNcB3dKAw5w4S1Cmu+zH+UcIhL/FjwT2AajqE24Lq9E4/zx/5BaN7k5/L9AIDHKTYIGq5kW1WOuoC/42cbhGtcQRx/YtIr+1j3L32972e4GLI+ItUNUM9x5dWeS+RCQL56ojlr04VYqxdBizqh4FXsGpmvoM8KS2DlWwF/iXqPgyVfW9GLuKO173Ku/bqjoF50r5UuD6TuLt7NxHHjsHpyp1P06LUYCsiLJDu7Df6N/PbJzPta/dLUzSWYIy3eVp4OPiNH7wA1/DSTTvicgkETlXRNKBBqAe5woD4CBQIm5rOlUtw/lH+2MRyROnAcI4EflonHG8CEwUkc+IiE9Ersa53/F8Fz/PLSJS7N7TuhP4YwdlHwK+F3FDv0hELnfXPQNc6jZ+SAO+Q/t/d48D54vIp93YC0VklrvuIDEadER5AidBfIrW6r2W+O4QkalufPkiclU7+4g7XhE5R0Smi9OA5RhOlV/kz7WzeGO5JOLY9wIfuFWth3CSyXUi4hWRL9I2mR8Eit3tYnkC+IKIzHJ/D7/v7nvXCcRoeoglKNMtVHUzcB3ODf4KnHs+/6SqTTj3n37oLj+AU113p7vpn9z3ShFZ4U5fD6QBG3AaHDyDc2M7njgqcb7Jfw2nCucbwKWqWtHFj/QETqLc4b46eoD0Z8Bi4BURqQbex2kIgKquB25x91fmfp7SdmLfg9Po5Gs4VVurcG7YA/wG5x7eURH5SztxLAYmAAdVdXXEfv+Mc8X6lIgcA9bh3OeLFUPc8eJcwTyDk5w24tyPbGmR+DOc+3BHROSBdraP5QngbpzPfyrOvaMWNwL/gfNznQpEXgG+DqwHDojIcT9rVf07zv20Z93PNY629zVNChIbsNCYtsR5GPlLqvpasmMxpj+zKyhjjDEpyRKUMcaYlGRVfMYYY1KSXUEZY4xJSX2qw8ZBgwZpSUlJssMwxhjTBcuXL69Q1aLo5X0qQZWUlLBs2bJkh2GMMaYLRCRmn5hWxWeMMSYlWYIyxhiTkixBGWOMSUl96h6UMcYkW3NzM6WlpTQ0NHReuJ/JyMiguLgYv7+zTu8dlqCMMaYblZaWkpubS0lJCTYobytVpbKyktLSUsaMGRPXNlbFZ4wx3aihoYHCwkJLTlFEhMLCwi5dWdoVlEsbGwkdrkA8XjxDhna+gTHGtMOSU2xdPS+WoIDmlUtp/ONjAPhmnkrGtV9IckTGGGMSWsUnIheJyGYR2SYit8dYP1lE/iEijSLy9a5s2508+QXhaa3s6rBBxhiTWrxeL7NmzQq/du3aleyQTkjCrqDcUTZ/AVyAM+DZUhFZrKobIoodBm4DrjiBbbsv1kGDw9OhykOJOIQxxvSYzMxMVq1aFXOdqqKqeDyp3wQhkRHOA7ap6g53VNWngMsjC6hquaouxRkqukvbdifJzUP8zkjRWl+H1tUm6lDGGNPjdu3axSmnnMLNN9/MnDlz2Lt3L1/+8peZO3cuU6dO5e677w6XLSkp4e6772bOnDlMnz6dTZs2AVBTU8MXvvAFpk+fzowZM3j22WcBeOWVV1iwYAFz5szhqquuoqamptviTuQ9qBHA3oj5UtxhsLtzWxG5CbgJYNSoUV2P0tkHUliEHtgHQKiiHO+o+JpBGmNMe2puvzVh+8754c/bXVdfX8+sWbMAGDNmDPfffz+bN2/md7/7HQ8++CAA3/ve9xg4cCDBYJDzzjuPNWvWMGPGDAAGDRrEihUrePDBB7nvvvt45JFHuPfee8nPz2ft2rUAHDlyhIqKCr773e/y2muvkZ2dzY9+9CN+8pOf8K1vfatbPmMiE1Ss5hrxDj4V97aq+jDwMMDcuXNPeHArz6AiQi0JqrLCEpQxpteKruLbtWsXo0ePZv78+eFlTz/9NA8//DCBQICysjI2bNgQTlCf/OQnATj11FN57rnnAHjttdd46qmnwtsPGDCA559/ng0bNnDGGWcA0NTUxIIFC7rtcyQyQZUCIyPmi4H9PbDtCfEUtvb0rnYfyhjTx2RnZ4end+7cyX333cfSpUsZMGAAn//859s8n5Seng44jS0CgQDg3LuKbiauqlxwwQU8+eSTCYk5kQlqKTBBRMYA+4BrgM/0wLYnRCISVKjCEpQx5uR1VA2XTMeOHSM7O5v8/HwOHjzI3/72NxYuXNjhNhdeeCE///nP+elPfwo4VXzz58/nlltuYdu2bYwfP566ujpKS0uZOHFit8SZsEYSqhoAbgVeBjYCT6vqehFZJCKLAERkqIiUAv8OfFNESkUkr71tExUrgKdwUGvsdgVljOnDZs6cyezZs5k6dSpf/OIXw1V0HfnmN7/JkSNHmDZtGjNnzuSNN96gqKiIRx99lGuvvZYZM2Ywf/78cKOK7iCqJ3zbJuXMnTtXT3TAwlDVUep+8E0AJCub7G/9qDtDM8b0Exs3buSUU05JdhgpK9b5EZHlqjo3umzqN4TvIZKXj/icHna1rhatq0tyRMYY079ZgnK1NDVvYQ/sGmNMclmCiuAZZC35jDEmVViCimBXUMYYkzosQUWIbMlnTc2NMSa5LEFF8ER0GmtVfMYYk1yWoCLYw7rGmL7gwIEDXHPNNYwbN44pU6ZwySWXsGXLlpPa565du3jiiSfC88uWLeO222472VA7ZAkqguQXRDQ1r0Hrram5MaZ3UVU+8YlPsHDhQrZv386GDRv4/ve/z8GDB8NlgsFgl/cbnaDmzp3LAw880C0xt8cSVAQRQQZG3IeywQuNMb3MG2+8gd/vZ9GiReFls2bNIhgMcs455/CZz3yG6dOn09DQEB4+Y/bs2bzxxhuAk4jOOuss5syZw5w5c3jvvfcAuP3223n77beZNWsW999/P0uWLOHSSy8F4MMPP+T0009n9uzZnH766WzevLlbPosN+R7FU1hEqLwMAK0oh+ITG8LDGGM+ddczCdv3s/deGXP5unXrOPXUU2Ou+/DDD1m3bh1jxozhxz/+MQBr165l06ZNXHjhhWzZsoXBgwfz6quvkpGRwdatW7n22mtZtmwZP/zhD7nvvvt4/vnnAViyZEl4v5MnT+att97C5/Px2muvceedd4bHizoZlqCiyKDIpuZ2BWWM6TvmzZvHmDHOUELvvPMOX/nKVwAnwYwePZotW7YwevRobr31VlatWoXX643r3lVVVRU33HADW7duRURobo4eg/bEWBVflDZNza0lnzGml5k6dSrLly+PuS5yyI32+mG9//77GTJkCKtXr2bZsmU0NTV1esy77rqLc845h3Xr1vHXv/61zdAdJ8OuoKJYU3NjTHdprxoukc4991zuvPNOfv3rX3PjjTcCsHTpUt5888025c4++2wef/xxzj33XLZs2cKePXuYNGkSVVVVFBcX4/F4eOyxx8INKnJzc6muro55zKqqKkaMGAHAo48+2m2fxa6goog9rGuM6cVEhD//+c+8+uqrjBs3jqlTp3LPPfcwfPjwNuVuvvlmgsEg06dP5+qrr+bRRx8lPT2dm2++mccee4z58+ezZcuW8FXXjBkz8Pl8zJw5k/vvv7/Nvr7xjW9wxx13cMYZZ5xQC8F2P4sNt9GWhkLU3fXvaNAZRTL7nv9GMjK7IzxjTD9gw210zIbbOAni8bR9YPfQwQ5KG2OMSRRLUDF4hgwLT4fKDyQxEmOM6b8sQcXgGTwkPB06aAnKGNM1fenWSXfq6nmxBBWDZ/DQ8LTaFZQxpgsyMjKorKy0JBVFVamsrCQjIyPubayZeQwSkaBCB8uSGIkxprcpLi6mtLSUQ4esFXC0jIwMiouL4y5vCSoGT9FgQAAldOQw2tSEpKUlOyxjTC/g9/vDvTWYk2NVfDGIzx/xwK4SqihPajzGGNMfWYJqR9uGElbNZ4wxPc0SVDsim5pbQwljjOl5lqDaYQ0ljDEmuSxBtaPtw7rWm4QxxvQ0S1DtcBpJCAChinI00D3jmxhjjImPJah2SFoangED3TkldMha8hljTE+yBNUBayhhjDHJYwmqA20bSliCMsaYnpTQBCUiF4nIZhHZJiK3x1gvIvKAu36NiMyJWPdvIrJeRNaJyJMiEn8HTt3EMyQiQdkVlDHG9KiEJSgR8QK/AC4GpgDXisiUqGIXAxPc103AL91tRwC3AXNVdRrgBa5JVKztiew0NlRuTc2NMaYnJfIKah6wTVV3qGoT8BRweVSZy4Hfq+N9oEBEWm78+IBMEfEBWcD+BMYaU5sEVXEIDQR6OgRjjOm3EpmgRgB7I+ZL3WWdllHVfcB9wB6gDKhS1VcSGGtMkp6BJ3+AMxMKopUVPR2CMcb0W4lMUBJjWfQAKTHLiMgAnKurMcBwIFtErot5EJGbRGSZiCxLRPf2bRpK2H0oY4zpMYlMUKXAyIj5Yo6vpmuvzPnATlU9pKrNwHPA6bEOoqoPq+pcVZ1bVFTUbcG3aNNQ4sC+bt+/McaY2BKZoJYCE0RkjIik4TRyWBxVZjFwvduabz5OVV4ZTtXefBHJEhEBzgM2JjDWdnmGtdZKhvZbgjLGmJ6SsAELVTUgIrcCL+O0wvutqq4XkUXu+oeAF4FLgG1AHfAFd90HIvIMsAIIACuBhxMVa0c8w1pHfwyVWYIyxpiektARdVX1RZwkFLnsoYhpBW5pZ9u7gbsTGV88PIOHIl4fGgwQOlqJ1tUhWVnJDssYY/o860miE+LztW0oUVaaxGiMMab/sAQVB+/wiGo+uw9ljDE9whJUHDwRCSpoV1DGGNMjLEHFwdPmCsoSlDHG9ARLUHHwDB0eng6VH7DBC40xpgdYgoqDZGbhGTjImQkFbQh4Y4zpAZag4tSmmm/f3g5KGmOM6Q6WoOJkD+waY0zPsgQVJ2soYYwxPcsSVJza9MlXVorTCYYxxphEsQQVJ8kvQLJyANDGBhsbyhhjEswSVJxEpG01n92HMsaYhLIE1QXR1XzGGGMSxxJUF1hDCWOM6TmWoLrAO7x18N/g3t3WUMIYYxLIElQXyOAhSIYzFpTWVqNHDic5ImOM6bssQXWBiOApHhWeD+3ZmcRojDGmb7ME1UXeUSXh6eDeXUmLwxhj+jpLUF3kGVkSng7t2ZW0OIwxpq+zBNVF3pGjw9Oh/fts6A1jjEkQS1ARVJVAMNRhGcnJDQ+9ocFme2DXGGMSxBIUsPtAFb97cTU3/+QlXv5wR6flrZrPGGMSzxIUsHlvJc//YyvlR2v5cOP+Tsu3aShhCcoYYxLCEhQwd9Kw8PSGXYeormvssLwnIkGFSncnKixjjOnXLEEBA/MymVA8EICQKss3H+iwvGfYCMTrc8pXHkJrqhMeozHG9DeWoFynTWntCPaDDR03fBCfv02/fMG9dhVljDHdzRKUa94pw8PTK7cdpLEp0GH5NtV8lqCMMabbWYJyjRiUS3FRHgDNgSCrth3ssLw3oiVf0Lo8MsaYbmcJKsJpEVdRH27quDWfZ9SY8HSodI/1bG6MMd3MElSEyGq+ZZvKCHbw0K4MGIhk5wKgDXXowbKEx2eMMf2JJagI40YMYGBuJgA19U1s2F3RblkRwTtmXHg+uHNbwuMzxpj+JKEJSkQuEpHNIrJNRG6PsV5E5AF3/RoRmROxrkBEnhGRTSKyUUQWJDJW95htrqI6e2jXO2Z8eDq4fWvC4jLGmP4oYQlKRLzAL4CLgSnAtSIyJarYxcAE93UT8MuIdT8DXlLVycBMYGOiYo0U3dy8o3tLnrETwtPBndvsPpQxxnSjRF5BzQO2qeoOVW0CngIujypzOfB7dbwPFIjIMBHJA84GfgOgqk2qejSBsYZNKRlEdkYaAJXH6tla2v6ouZ6hw5GsbMAdYbe845Z/xhhj4pfIBDUC2BsxX+oui6fMWOAQ8DsRWSkij4hIdqyDiMhNIrJMRJYdOnTopIP2eT2cNqW1mu/tNXvbLevch4qo5tth1XzGGNNdEpmgJMay6Dqw9sr4gDnAL1V1NlALHHcPC0BVH1bVuao6t6io6GTiDTtz+sjw9LtrSwmF2q+6swRljDGJkcgEVQqMjJgvBqJbHbRXphQoVdUP3OXP4CSsHjF97GDyszMAqKptYO2O8nbL2n0oY4xJjEQmqKXABBEZIyJpwDXA4qgyi4Hr3dZ884EqVS1T1QPAXhGZ5JY7D9iQwFjb8HiEM6a39rX3ztr2q/k8w0YgmVkAaM0x9JDdhzLGmO6QsASlqgHgVuBlnBZ4T6vqehFZJCKL3GIvAjuAbcCvgZsjdvEV4HERWQPMAr6fqFhjOWtG64Xd+xv20RwIxiwnInhLIqr57HkoY4zpFr5E7lxVX8RJQpHLHoqYVuCWdrZdBcxNZHwdmVA8kMEF2ZQfraWuoZkVWw60aYIeyTt2AoGNawDnPpT/tDN7MlRjjOmTrCeJdohIm6uojlrzecZGNpSw+1DGGNMdLEF14IyIBLVscxkN7QzB4Rk2Aslw70NVV6GVJ9/c3Rhj+jtLUB0YPSSfkYPzAWcIjvYGMhSPB2/J2PB8cPuWHonPGGP6MktQnTh7ZutV1N+X72q3nHfcpPB0cOumRIZkjDH9giWoTiycNRpxnydev+sQZZU1Mct5J50Sng5u3YwGOh6R1xhjTMc6TFAi8mjE9A0JjyYFDczLZM7EoeH5N1bsillOiobgKSgEQBvrCdkou8YYc1I6u4KaGTH9r4kMJJWde2pJePr1lbtjDmQoIngnRlxFbe6x54qNMaZP6ixBWXtpYO6kYeRlpwNwpLqeldti9xbhndw6mkhgS4+MDmKMMX1WZw/qFovIAzidurZMh6nqbQmLLIX4vB4WzhrN4ned1nmvL9/F3EnDjivnHTcR8frQYIBQWSmhY1V48vJ7OlxjjOkTOruC+g9gObAsYjry1W+cF1HNt3RzGVW1jceVkfQMPJHNze0qyhhjTliHV1Cq+lhPBZLqiovymDSqkM17KgmFQixZuZvLz5x4XDnvhFPCz0EFN2/AP3d+T4dqjDF9QocJSkSiex9vQ1Uv695wUtt5c0rYvKcSgFeX7eCyMyYg0nZIK++kKfDS/wHO81AaDCJeb4/HaowxvV1n96AW4Ix4+yTwAbEHGOw3zpg+kkdfWkNdQzNllTWs3HqwTRN0cIeBzytAjx1FG+oI7d3dppcJY4wx8ensHtRQ4E5gGvAz4AKgQlXfVNU3Ex1cqslI83Hu7JLw/IvvHz+0hojgi2xuvsWamxtjzInoMEGpalBVX1LVG4D5OOM2LRGRr/RIdCnootPGhXuWWLn1APsqqo8r450U0dx847oei80YY/qSTrs6EpF0Efkk8AecsZseAJ5LdGCpalhhTptqvZc+2H5cGe+EyYjXqT0NlZUSqqzosfiMMaav6Kyro8eA94A5wLdV9SOqeq+qxu7Wu5/4+ILW8Z9eX7GL+sbmNuslIxPv+NbOYwPrV/dYbMYY01d0dgX1OWAiTjdH/xCRY+6rWkSOJT681DRj3GBGDMoFoKEpwBsrdx9XxjttVng6uG5VD0VmjDF9R2f3oDyqmhvxynNfuaqa11NBphoR4eL5rVdRf3t/+3Gj6PqmTAdxTm9wz05CVUd7MkRjjOn1OqviyxCRr4rIz0XkJhHprFl6v7Fw1igy0/0A7K+sZummsjbrJTsHb+RQ8BvW9Gh8xhjT23VWxfcYMBdYC1wC/DjhEfUSmel+Lpw7Jjz/3Fubjr+KmjY7PB2waj5jjOmSzhLUFFW9TlV/BVwJnNUDMfUal54+Aa/XOYVbSw+zbuehNuu9U2fQ8mxzcPtWtOb4JunGGGNi6yxBhZunqaoNERtlYF5mmwd3n3ur7VDvnrx8vKNbrrLUnokyxpgu6HTAwsiWe8AMa8XX1uVnTgw/uLtmeznb9x1psz6yNV9g7cqeDM0YY3q1zlrxeaNa7vmsFV9bwwpzOH16cXj+ubc3t1nvm9Y6KHFo+xa0rq7HYjPGmN6s054kTOc+eVbrQ7kfrN/Xpvsjz4BCvMWjAdBggMDaFT0enzHG9EaWoLpBybCCcPdHivLH19t2EOub/ZHwdGDFhz0amzHG9FaWoLrJVQtbezB/b20puw9Uhed9M08FjzMmVHD3DkIVh47b3hhjTFuWoLrJxJGFzJ00DHCuop78+/rwOsnJxRfZw/lKu4oyxpjOWILqRteeNzU8vXTTfraWHg7P++bMC08HVnx43EO9xhhj2kpoghKRi0Rks4hsE5HbY6wXEXnAXb9GROZErfeKyEoReT6RcXaXkmEFnD5tZHj+iddan3vyTp6GZGQBEDpSSWjX8cN0GGOMaZWwBCUiXuAXwMXAFOBaEZkSVexiYIL7ugn4ZdT6fwU2JirGRLjmvCltnotq6V1C/H58M1vzrzWWMMaYjiXyCmoesE1Vd6hqE/AUcHlUmcuB36vjfaBARIYBiEgx8HHgkQTG2O1GDMpl4ezR4fn/fXltuDrPN+e08PLAmpVoc/Nx2xtjjHEkMkGNAPZGzJe6y+It81PgG0Coo4O4vawvE5Flhw6lRuu4T59zSriPvm37DvP2GucjekaV4CksAkAb6wnaQIbGGNOuRCYoibEsumVAzDIicilQrqrLOzuIqj6sqnNVdW5RUdGJxNntBg/I5rLTJ4Tn//fltTQ0BRCRNldRze+/k4zwjDGmV0hkgioFRkbMFwP74yxzBnCZiOzCqRo8V0T+kLhQu9+nPjqZ/OwMAA5X1/OXd7YA4PvIgtZnonZtI1i2L2kxGmNMKktkgloKTBCRMSKSBlwDLI4qsxi43m3NNx+oUtUyVb1DVYtVtcTd7nVVvS6BsXa7zHQ/n72gtdn5X97eTEVVHZ68fHxTW/vnC7z/djLCM8aYlJewBOUOz3Er8DJOS7ynVXW9iCwSkUVusReBHcA24NfAzYmKJxnOmV1CydACAJoDQX7/8loA/Atah9UKrFyK1lsHssYYEy2hz0Gp6ouqOlFVx6nq99xlD6nqQ+60quot7vrpqrosxj6WqOqliYwzUTwe4YuXtF4tvbt2L2t3lOMZMx7PYLfXiaZGAiuXJitEY4xJWdaTRIJNHVPEgqmtw3H8avEKmgMh/AvODi9rfv9t61nCGGOiWILqAV+8ZCaZ6X4AyiprePatTfjmfARJSwcgVH6A0I6tyQzRGGNSjiWoHjAwL5PrLpgWnv/z25sprWpq0z9f87tLkhCZMcakLktQPeRj88YycWQhAMFgiIf+bwW++a3VfIENawmVH0hWeMYYk3IsQfUQEWHRZXPweJxTvmlPBa/ursM3ueXKSmla8mryAjTGmBRjCaoHjR6azxVnTgzPP/byGipmRTQ5X7WM0NHDsTY1xph+xxJUD7tq4SmMLMoDoKk5yC8+LIdRY52VoSDNb7+exOiMMSZ1WILqYWl+L/961bxwVd+WvZW8WDA9vD7w4XtobU2ywjPGmJRhCSoJxgwr4OpzTwnP/2nTMfbkOc9KaXMTze++mazQjDEmZViCSpJPnDmJCcUDAQip8mB9MQ3uwCLN771p3R8ZY/o9S1BJ4vV6uO1THyHN7/Rsvl/T+V3tUFRBG+rsXpQxpt+zBJVEwwflsugyZxh4EeE971DeOOYM0dH89uuEqo8lMzxjjEkqS1BJ9tFZozl3TgkAklfA76sHsbvR69yLev2l5AZnjDFJZAkqBdx46WxGDclHBIJFQ/jZgTxqgkLzB+8SqkiNYeyNMaanWYJKAWl+L1+/Zj7pfh+SnUu5L4//OZBLMBik6dUXkh2eMcYkhSWoFDFiUC63fHIuIuAZPIR19Wk8UZFNYPUygvtLkx2eMcb0OEtQKeSMacVcufAUJCsLycnjpapMlhxLp+n/nrbxoowx/Y4lqBRzzblTmD9lBJ7BQ0CE3x3KYe2mvQRWfJDs0IwxpkdZgkoxIsJXPvURSkYPwTOwkIAKPynLY9tzf7WHd40x/YolqBSUkebjjs+eTmHJKMTnpz4k/HCbl31/WZzs0IwxpsdYgkpRRQVZ3PWFj5I90umj72jQw3cXr+fI9p1JjswYY3qGJagUNnpoPrd/+WL8OTkAlDV7+c5/PU1NbX2SIzPGmMSzBJXipo8dzL996UJEBIAdlfV8+3tPUlvflOTIjDEmsSxB9QJnnDmDf7l4anh+y9a93PvLl6hvbE5iVMYYk1iWoHqJi274BP88JduZUWXT8g3c++hbdiVljOmzLEH1EuL1culXrueGIQ0AaGMDG1du4u7fvUVVbWOSozPGmO5nCaoX8RQN4Z+u+RifG+QMCR+qOMSObfu465ElVFTZM1LGmL7FElQv4ztzIR+fPZIbB1cjQHD/XkoPHOGbjyyh9JCNH2WM6TssQfUyIkL6NTdwzrA0bh16DF+wmdC+vZQfqeOOh99g/U4bnsMY0zdYguqFPPkFpF9zA/Nzmvn3ocfw19eghw5S19DMtx97mzdX7U52iMYYc9ISmqBE5CIR2Swi20Tk9hjrRUQecNevEZE57vKRIvKGiGwUkfUi8q+JjLM38k2YTNr5FzMzu5m7RlSRd/QgoepjBIMhHnh2KU+8uo5QyHpAN8b0XglLUCLiBX4BXAxMAa4VkSlRxS4GJrivm4BfussDwNdU9RRgPnBLjG37Pf+5F+EdP5mxGQG+XXyUERW70Xqnl4ln39rE9//wLjXWDN0Y00sl8gpqHrBNVXeoahPwFHB5VJnLgd+r432gQESGqWqZqq4AUNVqYCMwIoGx9kri8ZBxzQ14BhQyyB/irmGHmXZ0J9rsPMC7cusBvvHLv7P7QFWSIzXGmK5LZIIaAeyNmC/l+CTTaRkRKQFmAzYgUgySk0vG57+MZGSR7VW+XljOpcHdaDAEwMEjtfy/X73OK0t32KCHxpheJZEJSmIsi/4P2WEZEckBngW+qqox21CLyE0iskxElh061D9bsHmGDCXjun8GjxePwKe9pdyWf4B0n/PjbQ4E+dXiFfz4jx9YzxPGmF4jkQmqFBgZMV8M7I+3jIj4cZLT46r6XHsHUdWHVXWuqs4tKirqlsB7I+/4SaRfcXV4fu6RLXxncDkji3LDy/6xvpSvPfiaNUU3xvQKiUxQS4EJIjJGRNKAa4DoEfcWA9e7rfnmA1WqWiZO192/ATaq6k8SGGOf4p93OmnnXRyeH7p7Hd8ZuJ8L5o4JLzt0tI5v/fZNfvviKhqbAskI0xhj4pKwBKWqAeBW4GWcRg5Pq+p6EVkkIovcYi8CO4BtwK+Bm93lZwCfA84VkVXu65JExdqX+M+/BP9Z54XnPeuW84XmTXz96vlkZfjDy1/4xza+/uDf2bS7IhlhGmNMp6Qv3TifO3euLlu2LNlhJJ2q0vSXP9L8wTvhZb6Zc6n52Kd46PnVrNx6oE35808dw3UXTiM3K72nQzXGGERkuarOjV5uPUn0QSJC2hVX45tzWnhZYPUychY/zp3XzOPmK04lI80XXvfa8p3c9sArvLlqt7X0M8akDLuC6sNUlab/e5rm998OL/OOmUDG9TdS2QSPPL+KpZvatluZOLKQf75kJuOLB/Z0uMaYfqq9KyhLUH2cqtL88l9pWvJKeJmnaAgZNyzCM6iIDzbs45HnV3G4ur7Ndgtnj+ba86YyKD+rp0M2xvQzlqD6uaYlr9L00v+F5yUrm4zrvoR37ATqG5t59s1NLH5vK0H3AV8Av8/LJaeN4xNnT7L7U8aYhLEEZQisWkbjnx5Hg05XSOL1kXbZlfjmnYGIUFZZw2MvrTmu2i8rw89lZ0zk4/PHt2kJaIwx3cESlAEguGcnDb//NVrT2jGHb+Zc0j95LZLuXCWt2V7OH15dy/Z9R9psm52RxqWnj+fj88eTnZnWo3EbY/ouS1AmLHT0MA2PPUyorDS8zDNoCOmf/SLeYU5XiKrKe+v38eRr6yirrGmzfWa6n499ZCwfXzCegXmZPRq7MabvsQRl2tDmZpoW/4nmpe+Fl4nXh//CS/GfdS7icZ5ACAZDvLV6D8+8uYkDh9smKq/Xw0dnjuLSBRMYPTS/R+M3xvQdlqBMTM0rPqTpz0+hza2dyHpHjyX9quvwDBocXhYMhnhn7V6efXMT+yqqj9vPlJIiLpk/jnmTh+P12uN1xpj4WYIy7QodPEDj078nuG9PeJn4/PjPu9i5mvK1PtSrqizdVMZf3tnM5j2Vx+1rQG4m580p4bxTSxg8ILtH4jfG9G6WoEyHNBCg+c1Xafr7SxAKhpd7ioaQfsXVeMdNPG6bTbsreOH97by/vpRQ1O+RIMwcP5hzZpcw75ThpPm9Cf8MxpjeyRKUiUtwfymNf/pDmwYUAL5ps0i76LI21X4tKqrqeOXDHby2fBdVtQ3Hrc9M93P6tGLOmjGSqSVFeDyxhgEzxvRXlqBM3DQYJPD+2zS98jzaGJFwPF78888i7dyPITm5x20XCIZYumk/ry7dyertB2Pue0BuJqdPG8HpU4uZNKoQZ2QVY0x/ZgnKdFnoWBVNL/yZwOq251TS0vEvONu5PxUjUQGUH6nlzdV7WLJy93Gt/1oMyM1k3inDOe2U4UwdU4TPGlcY0y9ZgjInLLh3F00v/IXgrm1tlktaOr75Z+E/YyGe/IKY26oqm/dU8vaavby3vpRjtY0xy2Wm+5k1fggfmTyMWROGkp9tXSsZ019YgjInRVUJblxL0ysvEDqwr+1KjxffzFPxn3Uu3uHF7e4jGAyxduch3ltXyocb91NdFztZCcLYEQXMHj+UGeMGM2lUoV1dGdOHWYIy3UJVCa5bTdPf/3Z8ogK8o8fhX3AW3mkzEV/7/fYFgyE27qnkgw37WLppP4eO1rVbNs3vZWpJEdPGFDF1TBFjhxXYs1bG9CGWoEy3armian7r9eOq/gAkKwffnHn4Tj0t3H1SR/vaU36MZZvKWLn1AJv3VB7XbD1Sut/HKaMLmTx6EJNHFTKheGCbARiNMb2LJSiTMMG9u2h+63UC61e3eYaqhWdYsZOsps/GUzCg0/3V1jexZkc5q7eVs3ZHebuNLML7F2H00Hwmjixk0siBjC8eyPDCHGshaEwvYQnKJFzoWBWBZe8T+PBdQkcPxyzjHTUG3/Q5eKfOwDOwMK79HjxSy9rt5azfdYj1Ow9Reay+020y0nyMGz6AcSMGMHZYAWOGFzC8MNeewTImBVmCMj1GQyGCWzcRWPEBwfVr0EBzzHKeoSPwnTIN76SpeEaORryd9zahqpQfrWPT7go27q5k0+4K9h461ul24NzLGj0k33kNzWfUkHxGDs6zFoPGJJklKJMUWl9HYN1qAmtXENy6GTQUs5xkZOEdPxHvhMl4x01ECovirqKrrW9i274jbN5bydbSw2zbd6Td5uyx5GWnM7Ioj+LBeYwYlEtxUS4jinIpzMu0akJjeoAlKJN0WltDYP1qguvXENy2JTyybyySV4B33ES8JWPxjh6LDBkWd7JQVSqP1bO19DA79x9l54Gj7Cyr4kh151WDkdL8XoYV5jK8MIdh7mvIgGyGFuYwMDfDkpcx3cQSlEkp2thIcOsmghvXEtiyEa2u6rC8ZGThGTka78jReIpH4xk5Gk9uXpeOebSmgd0Hqth90HntLT/GnoPHaA4c37CjMz6vlyEDshg8IJvBA7IpKsiiqCCLwQVZDMrPYoAlMGPiZgnKpCxVRcsPENiykdD2LQR3bkcbO7/akdw8PMOK8Y4YiWfocDxDRyCDiuK6lxV57AOHa9lXUU1p+TFKD1Wzr6Ka/RXV1NQ3db6Ddni9HgbmZjAoP4vC/EwG5WUxMC+TgXkZFOZlMiA3kwG5GfYAsjFYgjK9iAaDhPaXEty1ndDuHU7Cqj1+kMRYxOtDiobgKRqCZ/AQPIOHOvOFRUh61xpDVNc1su9QNQcO11J2uIayyhoOHK7h4OHak0pekXKz0inIyWBArvPe+konPyeD/Ox08rPTyctOt2Rm+ixLUKbXUlW0soJQ6W6CpbsJ7d1NaH9pm1GA4yG5+U6iGliIp3AQMqAQz8BCpGAgkpcfHuY+HrX1TZQfraP8SG34/dDROg4draOiqq7bElikrAw/eVlOssrLSiM3y3nPyUojN9N5z8tKJyczjexMPzmZaaT7vVbVaFKeJSjTp2gohFaUE9pfSqhsH6ED+51X1ZET26HHiyevACkY4LzyC/Dk5SN5BU7yystDcvIQf/vdN0VqaApQeayeiqN1HD5WT2V1PZVVzutITQNHqhs4Wt2Akti/P6/XQ05GGjmZfrIz08jO8JOV4SSvrHQfWRl+Z1m6n8wMv7MsYjoz3W9XbibhLEGZfkHr6wgdOkjo4AFC5QecJHaoHD1SiQYDJ71/ychCcnKR3DznPTsbyc5xkld2NpKVDVnOu2TndJjQgsEQVbWNVNU2cvhYPUdrGjha00hVrfte0+iub6C6tinhyaw9Pq+XzHQfWek+0tN87rSf9DQfGWleMtP8ZKR53XkfGX4vGWk+0tz3dL+zrs2734vP67GrOwO0n6CsAzPTp0hmFt5RY/COGtNmuQaD6JHDhA5XoIcrCFVWoEcOo0cPEzpcidZ13J1SeD8NdWhDHVTEHpDxuHh8fsjMQsKvTGc+IxPJyCAnI5PcjAxGpmdAdiZSmAFpOc769HRISwefD1WoqW/iWF0jx2obqa5rorrOmW+Zrqlvfa+pb6K6volgMPZzZ10RCAaprgu22/v8iRKENL+X9DQnYaX5vPh9rfN+r5c0v/vyefH7PM6730uaz4Pf57y3bOfzefB7neX+iOmW5T6vx1nuc5Kj1yOWIFOcJSjTL4jXiwwqwjOoKOZ6bWpCq44QOnoErTrqvI4dRY9VodXHCB2rQmuqY/Y12BENNEN1VafN6DsO3oOkZ+BNS2NgWjoD09KQtHRIS0PS0sCfhvjTIN+PDHLm8WeBN49mr4/akIfaoFAbEuoC6kw3K/VBdd4DSl1TkLrmEPXNIeoaAzQ0NVPXEKC+sbnDjntPhqI0NgdobD75K9sTIQherwefV8JJy+cV/F5veLnPTWyRL6+nZTtn2hc17fV48HrFeY8qG1nG4857w+tay3gi5j3ueo/EWBdjuQh9JvEmNEGJyEXAzwAv8Iiq/jBqvbjrLwHqgM+r6op4tjWmO0laWrj1X3tUFepq0Zpq51V9DK2tcV41NWhdDVpb68zX10JdXbdUK6Ih56qtoe6EKvmy3Ffs1ByDx+s01ff5UL+PgNdHPV7q8NKIjwY8NOChES/1IQ+NeGgIifMehEYVmlScZSFoDEFTCGedO90UVIIKiAAC0jIdtazNu7irI8vF8d5muvVYivN9oxmhvp3yvfX/vEcEaUl2EpnIPO404YTWsl5a3gGvt+12HmlZT2t5JJxkz51TwqmThnX750hYghIRL/AL4AKgFFgqIotVdUNEsYuBCe7rNOCXwGlxbmtMjxIRyM5BsnNgSOd/jKoKTU1ofR1aXwfuuzbUQ3092lCPNjRAYwPa0OA8+9XY2LqsqdGZ744k1xWhIBoKgttK0gfkuq8TIjhfM6MeTwsoNKnQFHKSWrMKjSGh2V3eHHLWNbsJr2V5QFuXN7vLW8oElTbLmhUCbrnIdUEVulb52ZIoW2YjEl7EW6x5Cc/HyHaxMmC8y9pdJwQ7SqwdZt3o+GOsi7F+sr+hdyUoYB6wTVV3AIjIU8DlQGSSuRz4vTotNd4XkQIRGQaUxLGtMSlNRCA93bmXFMcwI+3RQACaGt2E1eS8NzehTU3O8uYmaGp23puboLllOuC8BwJO+UAAmpshGHC2DQYgEHCWBwLO8kAAeqgxhk/AJ0qWhx47ZqSQOkmyWYUgzntAIRSR2EIRy4MKQVoTXNAtE8Rdp0IgvF9neUCFkBKeDiqEaDmOs7+WOEI4xwu6MbTsN4QQCtF2XlunnXfnDAZVktKURmrj67C5qxKZoEYAeyPmS3GukjorMyLObQEQkZuAmwBGjRp1chEbk4LE5wOfz2khmGCqCsGg+3ITVjDgzAcCaCgEgWZnPhRy17vlQ0HUXU4w4LwHgqiGwusJhpwqy5b5kLZdHgo520WuU3WO1bJOQ846bZlXZ39uOdCo9bTuO2KdN6R4NUS6qrOt+9LI/fRC6ibEkJu4WpJWy3QoYp1GJMaWZSG3vNI2ibbsI3obBSYMy0nIZ0lkgop1kRj9E2+vTDzbOgtVHwYeBqeZeVcCNMa0JSLgJkRIj13T049oS+JqSViKm8hCbZIa4CTRluk261qmI5eHIsqFj+YmUVr3GX0MIqY1slwoogwxpzV6WWfz4YNElonat7veM6z4uHPXHRKZoEqBkRHzxcD+OMukxbGtMcYklIjbOCPOXkb6e0Lvbol8RHwpMEFExohIGnANsDiqzGLgenHMB6pUtSzObY0xxvRhCbuCUtWAiNwKvIzTfue3qrpeRBa56x8CXsRpYr4Np5n5FzraNlGxGmOMST3W1ZExxpikaq+rI+sF0hhjTEqyBGWMMSYlWYIyxhiTkixBGWOMSUl9qpGEiBwCdp/ELgYBFd0UTiJZnN2nN8QIFmd36w1x9oYYoXviHK2qx/Vn3KcS1MkSkWWxWpKkGouz+/SGGMHi7G69Ic7eECMkNk6r4jPGGJOSLEEZY4xJSZag2no42QHEyeLsPr0hRrA4u1tviLM3xAgJjNPuQRljjElJdgVljDEmJVmCMsYYk5L6ZYISkYtEZLOIbBOR22OsFxF5wF2/RkTmpGicC0WkSkRWua9vJSHG34pIuYisa2d9qpzLzuJMhXM5UkTeEJGNIrJeRP41Rpmkn88440zq+RSRDBH5UERWuzF+O0aZVDiX8cSZ9N9NNw6viKwUkedjrEvMuVR3iOP+8sIZvmM7MBZnYMTVwJSoMpcAf8MZf2w+8EGKxrkQeD7J5/NsYA6wrp31ST+XccaZCudyGDDHnc4FtqTo72Y8cSb1fLrnJ8ed9gMfAPNT8FzGE2fSfzfdOP4deCJWLIk6l/3xCmoesE1Vd6hqE/AUcHlUmcuB36vjfaBARIalYJxJp6pvAYc7KJIK5zKeOJNOVctUdYU7XQ1sBEZEFUv6+YwzzqRyz0+NO+t3X9EtwlLhXMYTZ9KJSDHwceCRdook5Fz2xwQ1AtgbMV/K8X9c8ZRJtHhjWOBWD/xNRKb2TGhdkgrnMl4pcy5FpASYjfONOlJKnc8O4oQkn0+3SmoVUA68qqopeS7jiBOS/7v5U+AbQKid9Qk5l/0xQUmMZdHfWOIpk2jxxLACpw+rmcD/AH9JdFAnIBXOZTxS5lyKSA7wLPBVVT0WvTrGJkk5n53EmfTzqapBVZ0FFAPzRGRaVJGUOJdxxJnUcykilwLlqrq8o2Ixlp30ueyPCaoUGBkxXwzsP4EyidZpDKp6rKV6QFVfBPwiMqjnQoxLKpzLTqXKuRQRP84//cdV9bkYRVLifHYWZ6qcT/f4R4ElwEVRq1LiXLZoL84UOJdnAJeJyC6cWw3nisgfosok5Fz2xwS1FJggImNEJA24BlgcVWYxcL3bMmU+UKWqZakWp4gMFRFxp+fh/DwrezjOzqTCuexUKpxL9/i/ATaq6k/aKZb08xlPnMk+nyJSJCIF7nQmcD6wKapYKpzLTuNM9rlU1TtUtVhVS3D+D72uqtdFFUvIufSd7A56G1UNiMitwMs4LeV+q6rrRWSRu/4h4EWcVinbgDrgCyka55XAl0UkANQD16jbpKaniMiTOK2MBolIKXA3zo3elDmXccaZ9HOJ8031c8Ba954EwJ3AqIg4U+F8xhNnss/nMOAxEfHi/EN/WlWfT7W/8zjjTPa5jKknzqV1dWSMMSYl9ccqPmOMMb2AJShjjDEpyRKUMcaYlGQJyhhjTEqyBGWMMSYlWYIyKUFECqW1t+YDIrLPna4RkQcTcLxHReTKLpQvEZHPdHccySQiu7rywKeI/FREzk5kTF0hItNF5NFkx2ESp989B2VSk6pWArMAROQeoEZV70tmTFFKgM/g9Obc74jIQJxetr+a7FhaqOpaESkWkVGquifZ8ZjuZ1dQJqWJMxbO8+70PSLymIi84n77/6SI/JeIrBWRl9zudxCRU0XkTRFZLiIvS/u9Kp8vIm+LyBZx+htr6bjzv0VkqTjj2vyLW/aHwFnuVd2/iciLIjLD3WaluGP0iMi9IvIld/o/IvYTHudHRK4TZwygVSLyK/chTdyrxe+J0yno+yIyJMb5KBKRV0Vkhbvt7parIBH5dxFZ576+GrHNX9xzsV5Eboqxz2wRecE97joRuTrGuboSeClim0tEZJOIvCPOOEAtP6N5IvKee07eE5FJ7vLPu3H8VUR2isitbrwr3c860C03zv1ZLnd/NpPd5Ve5sa0Wkbci4vorTu8Gpi/qbDwOe9mrp1/APcDX3emFuOPPuMvfwekBYibOE+sXu+v+DFzhrnsPKHKXX43TC0f0MR7F+YfrASbg9CWWAdwEfNMtkw4sA8YQNSYPcDtwC5CH0y3Vy+7yN4BJwIXAwzidaHqA53HGpDoF55+q3y3/IHC9O63AP7nT/9USR1TcPwfucKcvcrcZBJwKrAWygRxgPTDbLTfQfc8E1gGF7vwud9tPAb+OOEZ+jOM+FhFbBk7P1WPc+ScjfkZ5gM+dPh941p3+PE4vA7lAEVAFLHLX3Y/T4SzA34EJ7vRpON3q4H62Ee50QURcZwB/TfbvrL0S87IqPtPb/E1Vm0VkLU4XUC3f6tfiVMNNAqYBr4rTfZkXaK9PsKdVNQRsFZEdwGScxDIj4v5UPk4Ca4ra9m3gNmAn8AJwgYhkASWqullEbnT3tdItn+PuZwZOMlnqxpeJM8wC7jFaRitdDlwQI+YzgU8AqOpLInIkYvmfVbUWQESeA85yj3+biHzCLTfSjSOyL7e1wH0i8iOcRPN2jOMOAw6505OBHaq6051/Eiexg3O+HhORCTjJ0x+xjzfUGT+qWkSqcBJ1y/FniNM7+unAn9xzA86XBIB3gUdF5GkgsnPacmB4jHhNH2AJyvQ2jQCqGhKRZlVt6asrhPP7LMB6VV0Qx76i+/lSd/uvqOrLkStEZGFU2aXAXGAH8CrOlciNOIkFdz8/UNVfRe3nK8BjqnpHjHgiP0+Q2H+fsYY1aHe5G/f5wAJVrRORJThXQGGqukVETsXpS+0HIvKKqn4nalf1Edu1FwPAvTiJ6BPijBW1JGJdY8R0KGK+5WfnAY6qM/REG6q6SEROwxk0b5WIzFLnvmWGG5vpg+welOlrNgNFIrIAnGEhpP0B3q4SEY+IjAPGutu+jNMxZ8v9rIkikg1U41RPAaDOKMd7gU8D7+NcUX3dfcfdzxfdqwJEZISIDMapwrrSnUZEBorI6C58vnfcYyIiFwID3OVvAVeISJYb7yfcWPKBI25ymowzHHcbIjIcqFPVPwD3AXNiHHcjMN6d3gSMdRMQONWoLfKBfe7057vwuVBnTKmdInKVG5eIyEx3epyqfqCq3wIqaB3aYSJOtaXpgyxBmT7FTRxXAj8SkdXAKpxqo1g2A28Cf8O5H9KAM6T1BmCFiKwDfoXz7X4NEHBv0v+bu/3bwEFVrXOni913VPUVnBZ//3CrI58BclV1A/BN4BURWYNz9dWVobG/DVwoIiuAi3GqL6vVGYL9UeBDnNFtH1HVlThVoD73WPfiJNNo04EPxemZ/D+B78Yo8wLOfThUtR64GXhJRN4BDuLcUwLn3tkPRORdnOrVrvos8M/uz249zlDiAP8tTmOYdTjJeLW7/Bw3NtMHWW/mxvQiIpIOBNUZjmUB8MtYVWIJOvY7wKWqelREclS1RpybRb8Atqrq/T0RR0Q86ThfMM5U1UBPHtv0DLsHZUzvMgp4WkQ8OI0qbuzBY3/NPf5R4EYRuQFIw2mI8asOtkuUUcDtlpz6LruCMsYYk5LsHpQxxpiUZAnKGGNMSrIEZYwxJiVZgjLGGJOSLEEZY4xJSf8fFcq0Qz+4nswAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "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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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "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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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "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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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "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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1v/f3QAcKumEVHsfScPSuheockFHhRspAuI43j+811LfeZJ2TfVtIunTrYxRc72SDpI0WMUFLK9RHPIrf1/bqreaI0vbvgT4QzrUupgiTE6W1EPS6awc5i8A/VO/am4ETpM0LP0cfiONvaADNVoXcUBZp4iIx4GTKU7wL6E45/OJiHiH4vzTpWn58xSH685PXX+evi6V9EB6PBpYF3iE4oKDqRQntmupYynFX/JfpjiEcw5wdEQsaedLupEiKJ9K/1b1AdLvATOAOyT9Dbif4kIAImIecGYa77n0eppbqf2vFBedfJni0NZcihP2AD+kOIf3iqT/aqWOGcAOwAsR8efSuNMp9linSHoNeJjiPF+1Gmqul2IPZipFOD1KcT6y5YrE71Gch3tZ0uWt9K/mRuBfKV7/nhTnjlqcAZxN8X3dFSjvAf4PMA94XtIHvtcR8WuK82nT0uvajpXPa1qG5BsWmq1MxYeRx0TEXY2uxWxt5j0oMzPLkgPKzMyy5EN8ZmaWJe9BmZlZlrrVhI19+/aNpqamRpdhZmbtMGfOnCUR0a9yebcKqKamJmbPnt3oMszMrB0kVZ0T04f4zMwsSw4oMzPLkgPKzMyy1K3OQZmZdYVly5bR3NzMW2+91XZjW6F3797079+fXr3amvS+4IAyM2un5uZmNtpoI5qamvCNd2sTESxdupTm5mYGDhxYUx8f4jMza6e33nqLPn36OJzaQRJ9+vRp116nA8rMrAMcTu3X3vfMAWVmZlnyOSgzs9V03IVTO3W8aZccX1O7559/ngkTJjBr1izWW289mpqauOyyy9hxxx07tZ5KLZMi9O3bt67bcUB1kc76Aa71B9fMureI4JOf/CSnnnoqU6ZMAWDu3Lm88MILdQ+oruJDfGZma6C7776bXr16MW7cuBXLhg0bxu67784hhxzCHnvsweDBg/nlL38JwIIFC9hll10444wz2HXXXTn88MN58803ATjwwANXTBO3ZMkSWuY0fffdd5k4cSKDBw9myJAhfP/731+phjfffJMRI0Zw9dVX88Ybb3DUUUcxdOhQdtttN372s5+t9mv0HpSZ2Rro4YcfZs899/zA8t69ezN9+nQ23nhjlixZwr777ssxxxwDwJNPPslNN93E1VdfzQknnMC0adM4+eSTW93G5MmTefrpp/nTn/5Ez549eemll1ase/31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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "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": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.8.12" } }, "nbformat": 4, "nbformat_minor": 4 }