{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Bayesian Statistics Made Simple\n", "===\n", "\n", "Code and exercises from my workshop on Bayesian statistics in Python.\n", "\n", "Copyright 2016 Allen Downey\n", "\n", "MIT License: https://opensource.org/licenses/MIT" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "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": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "\n", "import seaborn as sns\n", "sns.set_style('white')\n", "sns.set_context('talk')\n", "\n", "import matplotlib.pyplot as plt\n", "\n", "from empiricaldist import Pmf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The dice problem\n", "\n", "Create a suite of hypotheses that represents dice with different numbers of sides." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
probs
40.25
60.25
80.25
120.25
\n", "
" ], "text/plain": [ "4 0.25\n", "6 0.25\n", "8 0.25\n", "12 0.25\n", "dtype: float64" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dice = Pmf.from_seq([4, 6, 8, 12])\n", "dice" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise 1:** We'll solve this problem two ways. First we'll do it \"by hand\", as we did with the cookie problem; that is, we'll multiply each hypothesis by the likelihood of the data, and then renormalize.\n", "\n", "In the space below, update `dice` based on the likelihood of the data (rolling a 6), then normalize and display the results." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
probs
40.000000
60.444444
80.333333
120.222222
\n", "
" ], "text/plain": [ "4 0.000000\n", "6 0.444444\n", "8 0.333333\n", "12 0.222222\n", "dtype: float64" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "dice[4] *= 0\n", "dice[6] *= 1/6\n", "dice[8] *= 1/8\n", "dice[12] *= 1/12\n", "\n", "dice.normalize()\n", "dice" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise 2:** Now let's do the same calculation using `Pmf.update`, which encodes the structure of a Bayesian update.\n", "\n", "Define a function called `likelihood_dice` that takes `data` and `hypo` and returns the probability of the data (the outcome of rolling the die) for a given hypothesis (number of sides on the die).\n", "\n", "Hint: What should you do if the outcome exceeds the hypothetical number of sides on the die?\n", "\n", "Here's an outline to get you started." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "def likelihood_dice(data, hypo):\n", " \"\"\"Likelihood function for the dice problem.\n", " \n", " data: outcome of the die roll\n", " hypo: number of sides\n", " \n", " returns: float probability\n", " \"\"\"\n", " # TODO: fill this in!\n", " return 1" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# Solution\n", " \n", "def likelihood_dice(data, hypo):\n", " \"\"\"Likelihood function for the dice problem.\n", " \n", " data: outcome of the die roll\n", " hypo: number of sides\n", " \n", " returns: float probability\n", " \"\"\"\n", " if data > hypo:\n", " return 0\n", " else:\n", " return 1 / hypo" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can create a `Pmf` object and update it." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
probs
40.000000
60.444444
80.333333
120.222222
\n", "
" ], "text/plain": [ "4 0.000000\n", "6 0.444444\n", "8 0.333333\n", "12 0.222222\n", "dtype: float64" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dice = Pmf.from_seq([4, 6, 8, 12])\n", "dice.update(likelihood_dice, 6)\n", "dice" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we get more data, we can perform more updates." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "for roll in [8, 7, 7, 5, 4]:\n", " dice.update(likelihood_dice, roll)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here are the results." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
probs
40.000000
60.000000
80.919294
120.080706
\n", "
" ], "text/plain": [ "4 0.000000\n", "6 0.000000\n", "8 0.919294\n", "12 0.080706\n", "dtype: float64" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dice" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The German tank problem\n", "\n", "The German tank problem is actually identical to the dice problem." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "def likelihood_tank(data, hypo):\n", " \"\"\"Likelihood function for the tank problem.\n", " \n", " data: observed serial number\n", " hypo: number of tanks\n", " \n", " returns: float probability\n", " \"\"\"\n", " if data > hypo:\n", " return 0\n", " else:\n", " return 1 / hypo" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here is the update after seeing Tank #42." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "66.32784309363326" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tank = Pmf.from_seq(range(100))\n", "tank.update(likelihood_tank, 42)\n", "tank.mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's what the posterior distribution looks like." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "def decorate_tank(title):\n", " \"\"\"Labels the axes.\n", " \n", " title: string\n", " \"\"\"\n", " plt.xlabel('Number of tanks')\n", " plt.ylabel('PMF')\n", " plt.title(title)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaoAAAEtCAYAAABZOiSWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3dd5wV1fnH8c8WOksVRRFBQB+MBVSMJfaOGixgV9TEGiv2WBJbbD9b7CVRrEHFRqzYKIoNW5TySBVR6W1FKVt+f5y5cB3v7t5ddpkt3/frta/ZPXNm5szde+8zp83klJaWIiIiUlvlJl0AERGR8ihQiYhIraZAJSIitZoClYiI1GoKVCIiUqspUImISK2Wn3QBpH4xs8HACbHkFcAcYARwo7uPi20zAujq7l0reazGQAd3/76CfCcCjwB7uPuI+N+VOWYFx+nm7lOj37sC04Cr3f2q6jpGdTGztsBgYG/C/2dPd/88/Rwaipo+56q+v2U11aikpgwCjo9+zgGGAAcAY81s91jefwDnVWbnZtYF+ArYJ4vso6JyTKjMMSpZnjeAv6UlzY2O+XxNHXMNXQ70Ax4ALgG+MbMrgOGJlmotM7OTgHEVZpREqUYlNeVFd5+enmBmdwJjgWeiq9ifANz9zSrsf2Ng02wyRlfLNV1L2Bd4NO2YS4EnaviYa2IrYIG7n59KMLO9aXjfCbsBTZMuhJRPNSpZa9z9O+ACoAPwp4SL09A1BgqTLoRINhra1ZMkbyjwL2B/4E74bRu+mTUBbiI0TXUi9G8NA65w94VpfUwAj5jZI+6eY2ZXAZcCRwP3AS0ITYrFZO6T2sDMXgD2I3xpPwNc7u5LonKcmGm79HRgOqEvCuAEMzshlv6rPioz+zNwNtAzOubw6JjTo/Vdo+0GAgacCKwDfAlc6u7vlvfimlkBcBlwKNAVKAK+Bq5392Fp+0/lLyXUBHcHuqSlrSq3mR0U7bM3sBx4B/iru38T2891QK/o9ZwCbOXuRWWU82BCk+PW0T5HEf6//4vt86+EPrQzgQ2Bb4Br3P3Z2P4qLGOGMowg1KhWvQ7ufqKZ5QCnES6mNgMaEf6fjwA3u3tptM104HXgvaic3YHvgDvc/Z5yjtsSeBvYHNjP3d8vK68EqlHJWuXuywhfYr3KyXY3cAqhX+svhOB2KvB0tH4UcH30+4OEvqCURoRAeDtwC+FLpCwPEoLAJcBLhC/Dl6Ivqmyl+qIARlNOX5iZ/V9UtnnARdHvBwMfRwEk3XXAYcCthL6vjYFXzKx9WQWJyv0KcBbwQnQ+txAC1vNm1i2tvBOjchxP6Kc6L5b2fLTPEwkXCUuBi4HbgB2Bj8ws3vQ6CGhO6JN8qJwgdSbwIuF/dVm0z+2BMWa2XSz7GdF+H4pesxbA02a2Rdr+KlPGdP8g/M9Iex0AriVc6IwHzo/KuAy4kXABka4v4YJraFTOpcDdZnZAGefemPC/2QropyCVHdWoJAkLCVefZTkWeNjdL0slmNlPwP5m1tLdp5rZm4QvkA/cPb0vKBe4y91vStt2xzKO8yWhtlQU5fseuAo4CPhvNieS6osys8eBqamyxAOPmW1GaPZ8AeifdlX+IvABoQZ5ZNomOcB20f4xs28Jgfswwpd2Jr8HdgFOd/fUly5m9gHhyv8Qd78tKu/JQLP0187MzktPM7NWwD+Bp9396LR8DxG+xG8i1NxSioAB7r6orNcrCrQ3Ax8Du7j7iij9McKghrsJQSulPdDD3WdF+T4CPiTUmi+vQhlXcfc3zezYqBypc25EqPEOcfcT0/b3L0LNvj9pfZFAZ6B3qiYY1dB/ILyHX42dey7wJLArcKi7v1PW6yS/phqVJKERUN5t+2cCR5rZiWbWBsDdr3T37VIDMCrwRpbluD121X9ntDwwy+0r44+E4HNjKkgBuPtHhOa/g8ws/cLxlVSQinwRLTuWdYBoX21Z3SyKmeUBedGfLStZ5n2AVsCLZrZO6ocQkN4B9ouV+aPyglRkL0Kt69ZUkIrKPh14HPi9ma2fln90KkhF4q9DZctYLndfCaxHqMGnWwdYwm9fQ09vrozKOpvM/6f7gQHAqe7+aob1UgbVqCQJ7QlNUGU5g9Bf9AjwUFQjeIFQy1qcxf7nZFmOiel/RP1fCwlNZdVt49RhMqybQOjXWSctLf76LI+WeZRvJXB6NAWgR/TTLFpX2QvTVK13SDl5OgA/Rr9n87pX9DpA6CtL7fNXr4O7LzczWP06VLaM2VgBHBj1oxmwCeECAH77GmZ6Hy/nt/+nLsDJ0e9/4Ne1MqmAApWsVVFTTTdCX0pG7v62mW1EqIUcRBj6fRswyMy2dffyghyEwRPZyFSry81i+4qCRSbl9XulvvxWsHqodEllDxDVPscQXt83Cf02XwLfAh9Vdn+sPs9TSRuAEbMw7fdsXvdsX4eUil6HypaxXFE/3xOEpsX3CK/nA4R+0UxNddn+n0oJF2B/AE42s0fVP5U9BSpZ2wYQvqxeyrQyGvHXG5jp7kOAIVHb/vnA/wFHAXdVU1m6kjbZ08w6AK0Jgz1g9Rdvk9h2ZTa/lWN6tOzJb4OGETrhFxKasarqHMIotb3S+z/MbKcq7m96tJzr7m+lr4hqbHmsrulVdp89CUH0V7uNljOrsL/qKuMuhCB1rbuvmsAdNR+2p+rz8Wa4+wNRn2Q/4AEz2zpqapQKqI9K1pqo7+Ea4HtCp3Im7QiDC/6aSnD3EuCT6M/i2HJN3sMnx/6+MFq+GC1TfSO9UxmiL6z+GfZVUkFZUoMzLkkfVWhm2xD6WV5J77uqotSIwPFp+88hDA6Aii9Mi/n1ObxJGO12UTTIILXPToQLjRurUObUPs+PRsCl9rkhcBzwsbtn23RbHWUsjvKnzvs3r2HkFELf2hpd3Lv7bMIozs1Z/X6TCqhGJTXlEDObF/3ejHAFPTD6va+7/5JpI3f/0cyeBP5iZi0ITS/tCUOuZxP6rmB138Bx0ZdxVdr8d4mucF8lNMkMBJ5Jq42MIASrv5lZs+j4AwlDpOPmArub2SlkGMzh7uOiO3OcA7wZHXd9QhBZSJj/taZei/b/spn9mzCp90hgW0IgLahg+7nAbmZ2PvC+u39kZqnh4x+Y2ROEgTBnEpooK/1F6+7z0/b5fvS/LiBMQ8iNyl+Z/c1bwzKm3kdXm9m7hPfbEuD2qPl5EWFe3JGEgFjRa5iNewhztK40syHuXlaTpURUo5KacjthFNfjhLlA+xP6TLZx99HlbUjob7gW2IkwEu9C4H1gZ3efB+DuEwlNgH2AO4gmq1bSUYTA+U/CaLTrCFf1RMdYGZX7A8L8nKsJzXanZNjXJYQvyLuIJpFmcB7hC3Q9wmvyZ8IgkW2r48vK3V8n1BJbEL64LwbmE+YUfQHsWcEubiZMqL2R6M4h7n47cARhFN31hID6DeEmtiOrWM7bCV/8pcANhNdlDLB9NHKxKvurahnvI9TWLwYujmo8BxCaf6+M9teF8F65F9jczNarbBlj5S0mBOam0T6lAjmlpWva2iAiIlJzVKMSEZFaTYFKRERqNQUqERGp1RSoRESkVtPw9GpiZkWEwL8k6bKIiNQhrYASdy8zHilQVZ9cIKegoKB10gUREakrCgsLoYLWPQWq6rOkoKCg9dixY5Muh4hIndGnTx8KCwvLbYlSH5WIiNRqClQiIlKrKVCJiEitpkAlIiK1mgKViIjUagpUIiJSqylQidQCPyz6hc9nZP3EdJEGRYFKpBY4/t8fcei9Y3jx8++TLopIraNAJVILfLcgPPD478PGMWfJsoRLI1K7KFCJ1AJFJSUALP5lJZe98BV6oKnIagpUIgkrKSmlJC0uvTVhDi+oCVBkFQUqkYQVp9WeNmrXHICrho1jtpoARQAFKpHEFadVp6486He0bd6IJcuKuPDZLykpUROgiAKVSMKK0oJRx1ZNuf7QLQEYPWkej30wPZlCidQiClQiCUuvUeXl5tB3y/UZsO2GANzw2kQmzS5MqmgitYIClUjC0gNVfl4OAH//4+/YsG0zlheVcO6QL1hRVJJU8UQSp0AlkrDU0HQINSqAgqaNuP3I3uTmwPgfl3DLcE+qeCKJU6ASSdivalRRoALYrms7ztyjBwAPjprKCJ+z1ssmUhsk/ih6MzsauALoBkwHbnD3x8rJ3xK4CegPtARGAee6+6S0PK2AvwGHAh2BqcC9wP3uXhrlyQcKgaaxQyx195bVcnIiWSgq/nUfVbpz99qED6bMZ+y3C7ngmS957dxdWLdV/C0rUr8lWqMys8OBJ4HhwCHACOBRMxtQzmZPA4cDlwADgU7Au2bWOi3PEOBE4DagH/AycDdwafrhCUHqBGDHtJ891vC0RCrl1zWqX38k8/NyueOo3rRqms/8pSsY9MwXGrIuDU7SNaobgGfcfVD09xtm1g64Fhgaz2xmOwMHAH3d/fUobTQwDTgduMnMegN9gSPc/dlo07fNrA0huN0QpfUCSoCh7v5zjZydSBaKSsquUQFs2LY5Nw/YitOf+Iz3J8/n7ncnc85em6zNIookKrEalZl1A7oDz8VWDQV6mtnGGTbbl9Bc92Yqwd3nAiMJAQwgB3gQeDu27USgtZm1j/7uDUxRkJKkldVHlW7/Ldbn+B26AHD7W9/w3qR5a6VsIrVBkjWqntEyPpxpcrQ0Qk0pvs1kdy/OsM2RAO7+OXBahuMdAswCFkR/9wKWm9nrwM7ASuAZ4EJ318QVWWt+NeovL3OgArjioM34cuYi/jdzMecO+ZxXztmFjq3VXyX1X5J9VKk+pSWx9FSQaFXGNvH8qW0y5QfAzM4FdgduTA2mIASq7sCrhNrYtcDRwH/NrOxvC5Fqlk2NCqBJfh73HLMNrZs1Yv7SFZz11GesLNb8Kqn/kgxUqU9kvGc4lZ7pE5iTIX8qPeMn1szOAm4n1JbuTFt1JLC9u9/p7qPc/TbgDGA3YO+szkCkGlTUR5Wuc7vm3H5kLwDGfruQ61+dUKNlE6kNkgxUi6NlvCZUEFsf3yZTzakgnt/Mcs3sFuAu4D/AsWm1Kdx9pLt/FdvPK9GyV8XFF6ke5Y36y2TPnutx5h7dAXjk/ek8/9nMGiubSG2QZKBK9U31iKX3iK2Pb9MtQ9Ncj/T8ZtaIMIz9AuBW4Dh3L0pbv66ZnRwN6EjXLFqqp1rWmvR5VBVUqFY5fx9jt007APDX57/iq5mZrutE6ofEApW7TyYMlojPmeoPTHL3GRk2Gw60Ia1pzsw6ALsCb6XlezjazyB3vzC9JhUpAR4AzoqlHwkUA+9V7mxEqi5Vo8rPzSEnJ7tIlZebw51HbU2X9s1ZXlTCaY+PZf5Py2uymCKJSXoe1TXAI2a2kDAptx9wBHAUrApC3YHx7r7E3UeZ2QhgiJldTBjBdxWwCLgv2uZA4DhgGPChme0QO+Zn7j7PzO4BzjGzJcBo4A/A5cDdURAVWStSo/4q6p+Ka928EQ8e34dD732fHxYv44wnPuOJk7encb7ujCb1S6LvaHcfTJioux/wImFk3kB3fzrKciDwAbBN2maHEYLQLcBgYCawl7svjNb3j5b9om3jP+tG6y8ALiMExVcId6j4O3B+9Z2hSMXSa1SVZR0LuPXw0KX68fQFXPHiV5SW6s4VUr/k6E1dPcxsUUFBQeuxY8cmXRSpY94YN4vTHv+UVk3z+d9V+1VpH3e9PYlb3/wGgCsO3IyTd4l3v4rUTn369KGwsHCxu7cpK4/aCEQStqpGlVf1j+NZe/agX68NAPjHqxN4e8LsaimbSG2gQCWSsNQ8qsr2UaXLycnh5gFb0atzG0pL4ez/fM7X32skoNQPClQiCSuOBlNUpY8qXdNGeTw0cFs6tWnGzyuKOWnwJ3y/6JfqKKJIohSoRBKWmke1JjWqlHULmjL4pO0oaJrP3MLlnPTIxyz+ZeUa71ckSQpUIgkrroamv3SbrFfAA8dvS6O8HL6Z/ROnP/4py4vi93EWqTsUqEQSVh19VHE7dV+HmwdsBcAHU+cz6OkvfnWrJpG6RIFKJGFrMo+qPIduvSF/7RuepvPqV7O4atg4zbGSOkmBSiRhq2tU1f9xPHXXbpy8c3gG6eMffss/355U7ccQqWkKVCIJq65Rf5nk5ORw2QGbcejWnQC4461JPPxe/HmkIrWbApVIwmqijypdbm6YY7Vnz3D3sGteHs8zn3xXI8cSqQkKVCIJKy6umT6qdI3ycrn32G3YoVs7AC59/n+8/L8faux4ItVJgUokYTVdo0pp2iiPf52wHb06t6GkFM4b8gXDx82q0WOKVAcFKpGErb7XX80GKoCWTfJ59KTt2Gz9VhSVlHLmU5/pvoBS6ylQiSSsJkf9ZdKmeWOePHl7bL0CVhaXcsYTn/Guz1krxxapCgUqkYTV5Ki/srRr0ZgnT9meHuu2ZEVxCac99invTlSwktpJgUokYWurjypunZZNeOqU7eneoQUriks49fGxvDlezYBS+yhQiSSspu5MkY11C5oy5NQd2WTdllEz4Ke8/vWPa70cIuVRoBJJWFI1qpQOBU0YcuoO9OxYEA2w+JwXP/8+kbKIZKJAJZKwtTGPqiLtWzbhP6fswBadWlFcUsqgZ77giQ+/Taw8IukUqEQStrZH/ZWlbYvGPHXKDvTp0pbSUrjixa+5b8SURMskAgpUIolLYtRfWVo1bcRjf/49u2yyDgA3vT6R61+dQIkeESIJUqASSdiqGtVamPCbjeaN8/nXCX3ou0VHAB4cNZULh37JyuKShEsmDZUClUjCkhz1V5Ym+Xncfcw2HLP9RgA8/9n3nPb4p/y8oijhkklDpEAlkrCkR/2VJS83h38csgXn7rUJAO9MnMPRD37I3MLlCZdMGpr8pAtgZkcDVwDdgOnADe7+WDn5WwI3Af2BlsAo4Fx3n5SWpxXwN+BQoCMwFbgXuN/dS9PyVerYIjWhNtaoUnJychi0z6Z0KGjC3176mi9nLuaw+95n8Em/p3uHlkkXTxqIRGtUZnY48CQwHDgEGAE8amYDytnsaeBw4BJgINAJeNfMWqflGQKcCNwG9ANeBu4GLl3DY4tUu9oy6q88x+3QhYcG9qFZozy+W/AL/e8bw4dT5yddLGkgkq5R3QA84+6Dor/fMLN2wLXA0HhmM9sZOADo6+6vR2mjgWnA6cBNZtYb6Asc4e7PRpu+bWZtCMHthqocW6Sm1KZRf+XZa7P1GHLqDvz50U+Y99MKjv/3R/zj0C05ok/npIsm9Vxil3Bm1g3oDjwXWzUU6GlmG2fYbF+gEHgzleDuc4GRhAAGkAM8CLwd23Yi0NrM2lfx2CI1oqi4dvZRZdKrcxte+MsfVt1y6eKh/+PG1yZq+LrUqCTbGnpGS4+lT46WVsY2k929OMM2BuDun7v7ae6+IJbnEGAWsKCKxxapEbW5jyqTzu2a89xfdmLXTTsAcP/IKZz6+KcULluZcMmkvkoyUKX6lJbE0gujZasytonnT22TKT8AZnYusDtwYzSYoirHFqkRtW0eVTZaNW3Ewyf04YQduwDw1oTZHHbvGL6dvzThkkl9lGSgSn0q420GqfRMswtzMuRPpWecjWhmZwG3A88Ad67BsUVqRF2rUaXk5+Vy9cFbcP2hW5Kfm8OkOT/R7+73GT1pbtJFk3omyUC1OFrGay8FsfXxbTLVdgri+c0s18xuAe4C/gMcmzY0vSrHFqkRdWHUX3mO2X4jnjplB9q3aMziX1ZywsMfc++IyZSWqt9KqkeSn4xU/1CPWHqP2Pr4Nt3MLH7p2SM9v5k1IgxjvwC4FTjO3dOn1Ffl2CI1oq6M+ivP7zdux7Czd2arDVtTUgo3v+6c8cRn6reSapFYoHL3yYRh5fF5S/2BSe4+I8Nmw4E2wN6pBDPrAOwKvJWW7+FoP4Pc/cL0Sb5rcGyRGlFb70xRWZ3aNOOZ03bkiD4bAvD6uFkcfPf7TJyVqVtZJHtJz6O6BnjEzBYSJuX2A44AjoJVQag7MN7dl7j7KDMbAQwxs4sJI/iuAhYB90XbHAgcBwwDPjSzHWLH/MzdV1R0bJG1pa72UWXStFEeN/Xfit6d23LVsHFMnbeUQ+55n2sP3oLDNd9KqijRRnF3H0yYqLsf8CJhZN5Ad386ynIg8AGwTdpmhxGC0C3AYGAmsJe7L4zW94+W/aJt4z/rZnlskbWiLs2jykZOTg7HbL8Rz52xE53bNWPZyhIuGvo/Lnz2S5Yu101tpfJy1OFZPcxsUUFBQeuxY8cmXRSpY3a4/m1mLVnG7Uf24tCtN0y6ONVq8c8rueDZL3lrwmwAunVowT3HbMNm62sGiAR9+vShsLBwsbu3KStP3RxmJFKP1PVRf+Vp3bwRDw3clisO3IxGeTlMnbuUg+95n8c/mK5RgZK1+vfJEKlj6sOov/Lk5ORw8i7deO6MndioXXNWFJVw5UvjOOWxscz/SY8MkYopUIkkrL6M+qvIVhu24ZVzduaQ3hsA8NaEOez/z9GM8DkJl0xqOwUqkYTVp1F/FSlo2og7jtqaO47sTUGTfOYWLufERz7hihe/0tODpUwKVCIJayg1qnSHbN2JV8/dhe26tgXgiQ9ncMA/R/Pptwsr2FIaIgUqkYStrlE1rI9j53bNGXLqjlzatyeN8nKYPv9nDr9/DDe8NoFlK+MPSJCGrGF9MkRqmdLS0lWBqiHVqFLycnM4fbfuDDtrZ3p2LKCkFB4YOZWD7nqPL75blHTxpJZQoBJJUPrzBvPr0GM+qttm67di2Fk7c86ePcjLzWHynJ847N73+ccr4/llhWpXDZ0ClUiCikpWP1GmIdao0jXOz+X8fY2XzvzDqtrVQ6Onsd8doxgzZV7SxZMEKVCJJKg4rUrVEEb9ZWOLTq0ZdtbOnL/PpjTKy2HGgp855qGPuPDZL1m4dEXSxZMEKFCJJKgoLVA19BpVusb5uZyz1ya8es4ubLNRuLPO0E9nstdtI3nu05m6q0UDo0AlkqDi4vQalT6OcZusV8DQ03fi2kO2oKBJPguWruCCZ7/kqAc/ZNLswqSLJ2uJPhkiCVKNqmK5uTkcv0MX3rpgNw7YsiMAH01bQN9/jubG1ybqjuwNgAKVSIKKFaiytl6rptx77LYMPmk7urRvTlFJKfePnMJet47kv1/+oObAekyBSiRB6aP+NJgiO7vburxx3q6ct/cmNMnPZdaSZZz9n8856sEPGf+DniZcHylQiSRINaqqadooj/P23pS3zt+NfX+3HhCaAw+6azSXvfCV7spezyhQiSSoSMPT10jnds15cGAfHv3T7+mxbktKSuGpj2aw+y0jeGDkFJYXabJwfaBAJZIg1aiqx26bduC1c3fh73/8Ha2a5lO4rIgbXpuo/qt6QoFKJEFFGp5ebRrl5XLSHzZm5EV7cOJOXcnPzWHmwl84+z+fc8i9Y/hw6vykiyhVpE+GSIJ+VaNqwPf6q05tWzTmqn6bM3zQrqv6r778bhFHPfghfxr8CRN+1ICLukaBSiRBGvVXc7p1aMmDA/sw9PQdV93d4p2JczjgztGcN+RzZsz/OeESSrYUqEQSpD6qmtenazueO2Mn7j9uW7p3aEFpKbz4xQ/seesILnvhK35c/EvSRZQKKFCJJOhXd6bIUaCqKTk5Oey/RUfeOG9Xbh6wFZ3aNKOopJSnPprBbv83gquGjWPOkmVJF1PKkF9RBjPbCvjW3RfXRAHM7GjgCqAbMB24wd0fKyd/S+AmoD/QEhgFnOvuk8rIfxZwnrv3iKVvCHyXYZNx7r5FFU5FpNJSNarcnHCrIKlZ+Xm5HNGnMwf33oAhH3/H3e9OZm7hcgaPmc5/Pp7Bsdt34fTdurFuq6ZJF1XSZFOj+hw4MD3BzPLNbFcza70mBzezw4EngeHAIcAI4FEzG1DOZk8DhwOXAAOBTsC7mcpiZocCt5Wxn17Rcj9gx7SfYyp9IiJVVNRAH0OftCb5eZywU1dGXbQHlx3Qk3YtGrO8qISH35/GLje/y1XDxjFrsWpYtUWFNSog02Vea+BdYB/gnTU4/g3AM+4+KPr7DTNrB1wLDI1nNrOdgQOAvu7+epQ2GpgGnE6oaWFmbYG/A+cAZT3Puhcw292Hr0H5RdZIcTSYQv1TyWjWOI9Td+3Osdt34YkPv+WBUVNZsHQFg8dM56mPZjCgz4acsVt3OrdrnnRRG7Q1uYxbo0+WmXUDugPPxVYNBXqa2cYZNtsXKATeTCW4+1xgJCGApZxLaBo8EhhWRhF6A/+rUuFFqklqHpVG/CWrRZN8TtutO6MvDjWsdVo2YUVxyaq7XAx6+gu+0WNFEpNke0PPaOmx9MnR0srYZrK7x++LMjmW/ymgh7s/W87xewHNzOw9M1tmZrPN7AYza5Rl+UXWWKqPSnOoaocWTfI5ddfuvHfJHlz1x9+xfuumFJeU8sLn37Pv7aM4+dFP+GT6gqSL2eBk0/RXU1J9SvHZd6nLllZlbJNptl5hen53/6a8A5tZc6AH0A64GLgc2BO4FNgAOKGCsotUi9V9VApUtUnTRnmc+IeNOWb7Lrz4+ffcP3IKU+ct5a0Jc3hrwhy22agNp+7anX1+t56abdeCJANV6r8bvwlXKr2E38rJkD+Vnil/WYoIzYjT3X1KlDbSzFYA15nZdWWNIhSpTqtqVPqyq5Ua5+dyxHad6b/thgwfN4v7R07hy5mL+WzGIk5/4lO6tm/On3femAHbdqZZ47yki1tvZRuoeprZrml/p2pDW5lZxsdruvuoCvaZGu4erzkVxNbHt+mWIb2gjPwZufsK4O0Mq14BriM0CypQSY3TqL+6IS83h75brs/+W3Tko2kLeGDkFN71uUyf/zNXvjSOW9/8hqN/vxEDd+zC+q2bJV3ceifbQHV59BN3aznbVHR5keqb6gF8lZbeI7Y+vs3eZpbj7qWxbTLlzygaqLEP8Ly7z0tblXqHzfvtViLVT6P+6pacnBx26NaeHbq1Z9LsQv793jSe//x7Fv28kvtGTOGhUVPpu+X6nLhTF7bZqC05msRdLbIJVFfXxIHdfbKZTQMGAC+kreoPTHL3GRk2G04ImHsTjfwzsw7ArsD1lTh8W+ABoClwZzxXI2AAACAASURBVFr6kYQ+sM8rsS+RKlMfVd21yXoF3Nh/Ky7cz3jqoxk89sG3zPtpOf/98gf+++UPbNmpNSfs1JWDtlqfpo3ULLgmKgxU7l4jgSpyDfCImS0EXgb6AUcAR8GqINQdGO/uS9x9lJmNAIaY2cXAAuAqwlyp+7I9qLt/ZmbDgOvNLA/4mjC8/Rzg/Jq6C4dInPqo6r51WjbhnL024bTduvHylz8yeMx0vvp+MV99v5gLn/2Sf7wyniP6dObY7buwUXvNx6qKRBvG3X0wYaLufsCLwO7AQHd/OspyIPABsE3aZocR5kbdAgwGZgJ7ufvCSh7+GOBu4Gzgv4TBFae6+x1VOBWRKknNo1Kgqvua5OfRf9sNGXbWH3jujJ34Y68NyM/NYeHPK3lg1FR2u+VdTnj4Y4aPm0VRcWXGfklORU++NLOHq7DfUnf/c9WKVDeZ2aKCgoLWY8eOTbooUoc8NGoq/3h1Alt0asXLZ++SdHGkms0pXMbTH3/Hkx/NYFbaTW87tmrKEdt15sjtOtOpTcMefNGnTx8KCwsXu3ubsvJk00d1IquHhGd72VcKNKhAJVIVRaua/jTqrz5at6ApZ++1CWfs3p13Js7hiY9mMOqbucxasow7357EXe9MYrdNO3DUdp3Zs+d6NM7X+yCTbALVV8CWwFzgJeB54G13X1mTBRNpCFKj/jSYon7Lz8tl3807su/mHZkx/2eGfDKDZz+dydzC5YzwuYzwubRv0ZjDtunE4X06s+l6BRXvtAHJZjBFLzPrChwa/bwM/GRmLxNG673q7nrymEgVFGkwRYOzUfvmXLx/TwbtsylvT5jD05/MYOQ3c5m/dAUPjZ7GQ6On0WvD1gzYdkP+2GsD2jRvnHSRE5fVPCp3nw7cDtwejcQ7JPp5Eig2szcJQWtYFQY1iDRYxRqe3mA1ystl/y06sv8WHflx8S889+lMnv10Jt/O/5kvZy7my5mLufblCey12br032ZDdrMONMprmE2Dlb6FUnS38oeAh8ysgDAy7xDCfKSHzGwU8Jy7Zz1cXKShUo1KANZv3Yyz9tyEM/fowSfTF/Ls2O945asf+XlFMa99PYvXvp5FuxaNOWir9Tl060707tymQU0mXqN7/bl7ITCEMK9pc8KQ8f2APajEvCaRhko1KkmXk5PD7zdux+83bsfVB2/OG+Nm8fxn3/Pe5HksWLqCxz74lsc++Jau7ZvTr3cnDu69Ad07tEy62DVujQKVme1AmKR7MOERHCWEZ0O9uOZFE6n/Vs+japhNOlK25o3zOXTrDTl06w2ZtXgZL33xPS98/j0TZxUyff7P3Pn2JO58exKbb9CKP/bagIO2Wp8N29bPCcWVClRm1oRw+6KDgT8C6wK/EG5ndDPwX3fXw1pEsqRRf5KNjq2bctpu3Tltt+5MnLWEl774gWFf/MD3i35h3A9LGPfDEm58bSJbb9SGg7bagAO27Fivbo5bYaAys/bAQYTgtA/QgnDT1pcJNafh7r6s7D2ISFmK9OBEqaSeHVvRc/9WXLSv8emMhfz3yx949asfmffTCj6fsYjPZyzi2pfH06dLW/puuT59t+jIBnV8UnE2NarZhIm+04AHCcHpvdjdy0WkCtRHJVWVm5vDdl3bsV3XdvztoN/x4dQFvPLVD7z29SwW/bySsd8uZOy3C7n25fH07tyGvtEIwy7tWyRd9ErLJlClGs+7AedFP5hlelL8KqXunuRDGUXqBI36k+qQn5fLzpusw86brMM1B2/BmCnzee2rH3lj3CwW/rySL75bxBffLeKG1ybSs2MB+23ekf0278hm6xfUidGD2QSTR2u8FCINlGpUUt0a5eWy26Yd2G3TDlx3yBZ8OHUBr4/7kTfGzWZu4XImzipk4qxC/vn2JDq3a8Y+m3Vkn9+tx3Zd25JfS+dpZXNnipMAzKwRsHm0zXh3/7mGyyZS7+lef1KT0mtaV/fbgs9mLGT4uFm8MW42Mxb8zHcLfuHh96fx8PvTaN2sEXtYB/babD12sw60atoo6eKvklXznJkNAv7G6sfGLzeze4C/unvGR9GLSMU06k/Wlry0Pq3LDtiMibMKeXP8bN4cP5uvvl/M4l9W8uIXP/DiFz+Qnxvmc+3Zc1327Lku3RKeq5XNqL+BhEfOTwceI8yV2gM4P9p+UA2WT6Re0/OoJAk5OTlstn4rNlu/FefstQk/LPqFtyfO4a3xs/lgynxWFJcwZsp8xkyZz3WvTKBr++bsbuuyR8912X7jdmv9icXZ1Kj+AnwI7Jkahm5mOYQ7UpxmZpe4+4oaLKNIvaU+KqkNNmjTjON36MLxO3Rh6fIi3ps8j3cmzOEdn8PcwuVMn/8zg8dMZ/CY6TRtlMuO3dqHfjBbl67tm9f4gIxsAtVmhCa+VXOl3L3UzG4HBkTrv6yh8onUa5pHJbVNiyb5q0YFlpSUMv7HJbw7MQStL75bxLKVJbzrc3nX58J/x9O5XTP26rke5++7aY31a2UTqFoAizOkTyPMryrzqYwiUj7VqKQ2y83NYYtOrdmiU2vO3msTFi5dwahJcxnpcxk1aS7zflrBdwt+YfCY6WzYthkn79KtRsqR7TyqTJN7U4Mo1m5jpUg9UhQNptCoP6kL2rZozMG9O3Fw706ralsjv5nLD4t+oV/vDWrsuJqUK5Ig1aikrkqvbdW0bANVezPbKJbWLlqum2Ed7j5jjUom0gDozhQiFcs2UN0R/WTyZIa00krsW6TBUo1KpGK6hZJIgjSPSqRiWd9CqaaY2dHAFYSb3k4HbnD3x8rJ3xK4CegPtARGAee6+6Qy8p8FnOfuPTKsOxc4G+gETAAud/fX1uiERCqhWE1/IhVKdKiRmR1OaDocDhwCjAAeNbMB5Wz2NHA4cAkwkBBk3jWz3/TomdmhwG1lHPsiwh03BgOHAVOBYWa2YxVPR6TSinQLJZEKJd2PdAPwjLunbsP0hpm1A64FhsYzm9nOwAFAX3d/PUobTZjTdTqhpoWZtQX+DpwDLMqwnxbA5cAt7n5dlPY6MIZwT8O+1XiOImUq1k1pRSqU2KfDzLoB3YHnYquGAj3NbOMMm+0LFAJvphLcfS4wkhDAUs4lNA0eCQzLsJ/tgdbpx44eBPk8sLeZNa7s+YhURZEGU4hUKMnLuJ7R0mPpk6Nlpicz9gQmu3txhm3S8z8F9HD3Z6tw7HxCf5lIjVMflUjFkmz6S/UpLYmlF0bLVvxW6wz5U9usyu/u32R57MJYennHFql2q2pUutefSJmSrFGlPpnx2zOl0kvK2CbT7Zxyyshf3rHL2k9ZxxapdqpRiVQsyUCVutFtvPZSEFsf3yZTbaegjPzlHTuHMLw922OLVDtN+BWpWJKBKtU/FJ/f1CO2Pr5Nt+h5WPFtMuWvyrGXA99WYl8iVaZRfyIVS+zT4e6TCcPK43Om+gOTyrhX4HDCY0X2TiWYWQdgV+CtShx+DLA0/dhR8DsMGKUHQcraonlUIhVLeh7VNcAjZrYQeBnoBxwBHAWrglB3YLy7L3H3UWY2AhhiZhcDC4CrCHOl7sv2oO7+s5ndAlxpZkWEJxj/CdgW2L16Tk2kYuqjEqlYou0N7j6YMFF3P+BFQpAY6O5PR1kOBD4Atknb7DDC3KhbCHeVmAns5e4LK3n4qwmTgk8izJ/qBvRz9/ercCoiVaJ5VCIVyyktzTT4TSrLzBYVFBS0Hjt2bNJFkTqipKSUbpe9CsDTp+7A9t3aJ1wikbWvT58+FBYWLnb3Mp8Wrx5ckYSkalOgeVQi5VGgEklIcVqg0qg/kbLp0yGSkNSIP1AflUh5FKhEEvLrGpUClUhZFKhEEvKrPioFKpEyKVCJJEQ1KpHsKFCJJOTXNSp9FEXKok+HSEKKi9NqVBqeLlImBSqRhGjUn0h2FKhEEqI+KpHsKFCJJESj/kSyo0AlkhDVqESyo0AlkhCN+hPJjj4dIgkpThtMoRqVSNkUqEQSUlSsPiqRbChQiSQk1UeVkwO5ClQiZVKgEkmInu4rkh0FKpGEpGpU6p8SKZ8ClUhCVteo9DEUKY8+ISIJSY36U41KpHwKVCIJUR+VSHYUqEQSoj4qkewoUIkkJDWPSjUqkfLlJ10AMzsauALoBkwHbnD3x8rJ3xK4CegPtARGAee6+6S0PPnA34ETgfbAp8AF7v5xWp4Nge8yHGKcu2+xZmclUrFVNSo9i0qkXInWqMzscOBJYDhwCDACeNTMBpSz2dPA4cAlwECgE/CumbVOy/NP4HxCQDsSKALeMrNuaXl6Rcv9gB3Tfo5Zs7MSyY5G/YlkJ+ka1Q3AM+4+KPr7DTNrB1wLDI1nNrOdgQOAvu7+epQ2GpgGnA7cZGZdgdOAs9z9/ijPcOAb4CLgjGh3vYDZ7j68hs5NpFwa9SeSncQu5aLaTXfgudiqoUBPM9s4w2b7AoXAm6kEd58LjCQEMIA9gbz0/br7cuDltDwAvYH/rdlZiFSdRv2JZCfJNoee0dJj6ZOjpZWxzWR3L86wjaXlWRgFsHiejcysWfR3L6CZmb1nZsvMbLaZ3WBmjSp9JiJVoFF/ItlJMlCl+pSWxNILo2WrMraJ509t0yqLPAAFZtYc6EEIav8m9FPdT+jX+lc2hRdZU6pRiWQnyT6q1KeztIz0En4rJ0P+VHpJFnlS+y0iNCNOd/cpUfpIM1sBXGdm16WPIhSpCapRiWQnyUC1OFrGa04FsfXxbbplSC9Iy784wz7T97vE3VcAb2fI8wpwHaFZUIFKatTqeVQa9SdSniQ/Iam+qR6x9B6x9fFtuplZ/BK0R1p+B9qZWdsMeaa5+woz29jMTjWzdWJ5Uv1X87I6A5E1oFF/ItlJLFC5+2TCsPL4nKn+wCR3n5Fhs+FAG2DvVIKZdQB2Bd6KklIjAgek5WkCHJiWpy3wAL+dM3UkoX/r80qejkilFanpTyQrSc+jugZ4xMwWEoaP9wOOAI6CVUGoOzDe3Ze4+ygzGwEMMbOLgQXAVcAi4D4Ad//WzB4F7ozuYjGJMEiiLXBzlOczMxsGXG9mecDXhKHr5wDnu3umZkeRaqU+KpHsJBqo3H1wVNu5EDgZmAoMdPenoywHAo8AexDuWgFwGHAbcAuhRvgecIS7L0zb9WnAQuBSwm2WPgX2iWpxKccAVwJnAxsAU4BT3V2j/mSt0Kg/kezklJZmGiAnlWVmiwoKClqPHTs26aJIHXHVsHEMHjOdfX+3Hg8O7JN0cUQS0adPHwoLCxe7e5uy8mi4kUhCiqLBFPm6Ka1IuRSoRBKyuo9KH0OR8ugTIpIQPY9KJDsKVCIJ0ag/kewoUIkkRKP+RLKjQCWSENWoRLKjQCWSkFWj/hSoRMqlQCWSEI36E8mOPiEiCVnVR6V5VCLlUqASSYj6qESyo0AlkhDNoxLJjgKVSEJUoxLJjgKVSEI06k8kOwpUIgnRqD+R7OgTIpIQ3ZlCJDsKVCIJUR+VSHYUqEQSonlUItlRoBJJiGpUItlRoBJJSLH6qESyokAlkhCN+hPJjj4hIgnRPCqR7ChQiSREfVQi2VGgEkmI5lGJZEeBSiQhxcWqUYlkIz/pApjZ0cAVQDdgOnCDuz9WTv6WwE1Af6AlMAo4190npeXJB/4OnAi0Bz4FLnD3j2P7Ohc4G+gETAAud/fXquvcRMqjeVQi2Um0RmVmhwNPAsOBQ4ARwKNmNqCczZ4GDgcuAQYSgsy7ZtY6Lc8/gfMJAe1IoAh4y8y6pR37IuBWYDBwGDAVGGZmO1bHuYlURKP+RLKTdI3qBuAZdx8U/f2GmbUDrgWGxjOb2c7AAUBfd389ShsNTANOB24ys67AacBZ7n5/lGc48A1wEXCGmbUALgducffrojyvA2OAvwF9a+Z0RVbTqD+R7CR2KRfVbroDz8VWDQV6mtnGGTbbFygE3kwluPtcYCQhgAHsCeSl79fdlwMvp+XZHmgdy1MKPA/sbWaNq3xiIlkoKSklqlCpj0qkAknWqHpGS4+lT46WRqgpxbeZ7O7FGbY5Mi3PwiiAxfNsZGbNKjh2PqG/bGI2J1EdHn5vGqMnxYsr9VkqSIFqVCIVSTJQpfqUlsTSC6NlqzK2iedPbdMqizwABWnHLiwjT6Zj14iVxSXc/MZElq0sWVuHlFqmbQtV4EXKk2SgSl1GlpaRnumbOydD/lR6SRZ5UvvNJs9a0Sgvl/uO3ZYPps5fW4eUWqRnxwK6d2iZdDFEarUkA9XiaBmvvRTE1se36ZYhvSAt/+IM+0zf75IoTw5heHthhjyZjl1j9ui5Lnv0XHdtHlJEpM5Iclxsqn+oRyy9R2x9fJtuZhZv1O+Rlt+BdmbWNkOeae6+ooJjLwe+rbj4IiKyNiQWqNx9MmGwRHzOVH9gkrvPyLDZcKANsHcqwcw6ALsCb0VJqRGBA9LyNAEOTMszBlgay5NDmE81KgpmIiJSCyQ9j+oa4BEzW0gYPt4POAI4ClYFoe7AeHdf4u6jzGwEMMTMLgYWAFcBi4D7ANz9WzN7FLgzuovFJMLk37bAzVGen83sFuBKMysCPgT+BGwL7L4WzltERLKUaKBy98FRbedC4GTC3SEGuvvTUZYDgUeAPQh3rYBQ67kNuIVQI3wPOMLdF6bt+jRgIXApoR/qU2CfqBaXcjXhjhWnAhcD44F+7v5+NZ+miIisgZzS0kyD36SyzGxRQUFB67FjxyZdFBGROqNPnz4UFhYudvc2ZeXRTcZERKRWS7qPqj5pVVhYSJ8+fZIuh4hInVFYWAgV3GRBgar6lAC5hYWFme6KISIimbWigpssqI9KRERqNfVRiYhIraZAJSIitZoClYiI1GoKVCIiUqspUImISK2mQCUiIrWaApWIiNRqClQiIlKrKVCJiEitpkAlIiK1mgKViIjUaropbcLM7GjgCqAbMB24wd0fS7RQ1cjMcgkPp/wL4RxnAy8Bf3f3wihPH8KDMPsAS4DB0fqVSZS5upnZ88BW7t4jLW1f4B/A5oTX5G53vzWhIlYbM9sVuB7YhvDk7eeAv7r7T9H6enfeZnY6cC6wETAFuMndn0xbX6/O2cx6A58AG7v7zLT0Cs+zqp911agSZGaHA08Cw4FDCE8xftTMBiRZrmp2MXA38ArhHG8FTgCeBTCzHsDbwC/AEdH684HbkyhsdTOz44BDY2k7AS8DEwlPrH4S+D8zu3Dtl7D6mNkOwJvALKAfcA1wHPCvaH29O28zOxW4j/D+Phh4C3gi+mzXu3M2MyOcT34svcLzXJPPuu6eniAzmwyMdfej0tKeJlx9b5ZcyaqHmeUA84H/uPuZaelHAkOArYGzgH2BHu6+Ilp/BnAX0MXdv1/rBa8mZrYB8DWwFFieqlGZ2VtAS3ffIS3vTYSaZ0d3X55EedeUmY2Mft3d3UujtDMJX0ZbAsOoZ+dtZmOAZe6+Z1raKKDY3feoL/9rM8snlPlGYCXQDuicqlFlc55m9i+q+FlXjSohZtYN6E5oGkk3FOhpZhuv/VJVuwLgCeCpWPrEaNmd8Mb9b+qNGxkK5EXr6rJ/EWrLb6cSzKwpsCuZ/+9tgJ3WWumqkZmtA+wC3JcKUgDufo+7dyc8b6jenTfQFCiMpc0H2tez//XOwM2EWtAl6SsqcZ5V/qyrjyo5PaOlx9InR0sDpq294lQ/d18CnJNh1SHRcgLQmdhr4O5zzWwJ4TWok8zsZGBbQnv9LWmrugGNKP///m6NF7D6bQnkAAuiVoGDgCLCRcr5wMbUz/P+J/BQ1NT3BuEL9yDgMurX/3oC0M3d55jZibF1FZ6nmX3EGnzWVaNKTutoGX8icOrqrNxHM9dVZrY9cCnwIrAwSs70VORC6uhrYGZdgNuAv7j7vNjq+vp/7xAtBwPzgD8CVwEDCX049fW8/xP9PAMsJvS9Punu/0c9Omd3n+3uc8pYnc15lpUnlU+Poq+lcqJlvJMwlV7uo5nrIjP7A6HDdRpwMtAkWpWpozSHOvgaRP1yDwOvunu8KQTK/r+n1LlzjjSOlmPS+iPfiV6PW4AHo7T6dt7DCE1b5wOfAdsDf4tqCUOiPPXtnOOyeU+Xl6fCz7oCVXIWR8v4lURBbH29EA2gGAx8A+zv7vPNrGW0OtPVVEvq5mtwJrAVsGXUAQ3RhzT6u6z/e+rvunjOsPrq+dVY+huEfo3tor/rzXlHI932A05y98FR8kgzWwQ8APw7Sqs351yGbN7TS8rIA1l81tX0l5xUW22PWHqP2Po6z8zOJzSPfADs6u4/AkRza74n9hqY2bqEN3RdfA0GAOsAPxJGR60kNH91j37fBSim/v3fJ0XLJrH0VE1rGvXvvLtEy/dj6aOiZW/q3zlnMoUKznNNP+sKVAlx98mED298zlR/YJK7z1j7pap+ZvZnwhX1M4SaVPzKaTjwRzNrnJbWn/DGH7FWClm9TiPUHtJ/XgZmRr8/S/giOyxqFkvpT7iqHLtWS1t9JgDfAkfF0lODKj6g/p136st111j6jtFyIvXvnH/D3ZeR3XlW+bOueVQJikbPPALcQ/gy6wecARzl7k8nWLRqEV0tTQPmEiZ+FsWyTCbUPj4nXJXeAWxKuLPBw+7+l7VX2ppjZoOBndPmUe1JmBj6LKE5dCfgcuBSd785oWKusah59z+EkX6DCaMeryHcoeCC+njeZvYCsDfwN8L7uE/0+3vufkA9PecTCd9b6fOoKjxPM+tJFT/rqlElKGrXPp3Qzv0isDswsD4Eqcj+QHNCE8lowlV1+s/+7j6RMKS3JWFOxfmEEXPnJlHgtcHd3yFcSW5G+L8fC1xUV7+4UqL37WHA7wgXXmcSAtVF0fr6eN5HESasDgJeJwwSuoXobiT19Jx/I5vzXJPPumpUIiJSq6lGJSIitZoClYiI1GoKVCIiUqspUImISK2mQCUiIrWaApWIiNRqClRS75nZYDMrNbOMkwrNrGu0/qq1XK7SaDJwrWVmTczsYTNbEv38sZy83Wq4LCPMbHpNHkNqJwUqaUiuN7P1ki5EHXMKcBJhEuf5lHHbHzM7CRi3FsslDYjuni4NSWvgduCYpAtSh2wVLc909/iTbNPtRnjarUi1U41KGpJhwNFmtlfSBalDGgNUEKREapRqVNKQnEO4gei9ZraVuy8vK2PUFzLd3XcvLz36+2XgC+BiwuO2vybc524GcCfQl/A8nsHAle5eEtvnZVH+tsCHwCXu/kksT+rx5r2B5cA7wF/d/Zu0PKXAdUAvwv0jpwBbuXv8ZsCp/AcDlwBbR/scBVzh7v9L21/6vkfGX49o3QhCjSqV71F3PzG6k/ZpwJ8I94BrBEwn3ND0ZncvTXsNXwfeA/5KeCTKd8Ad7n5PprJH27UE3gY2B/Zz9/fNrAlwE+EGz52AOYQLlCvcfWFZ+5LaTTUqaTDc/VvCTVI3BS6txl0fHO33X8DVQE/gOcLdpEuACwjB6zLg+Ni2A6L190f72AwYYWabpzJEd6seBiwlBMPbCI+S+MjMNo3tbxDhRsDnAA+VE6TOJPQ7NYrKdRvh6bRjzCz1kMPjCTcTTv3+jzLO/x+xfA9Ev19LeAz9eEL/1mXAMuBGwjO60vUlBPWh0TksBe42swPKKH9j4AVC02Q/d089E+puQr/aEOAv0f5OBerLjZ4bJNWopKG5jfBleqmZPRk9F2xNdQJ6uftXAGbWjnDH8Pfd/ago7UlgAeHu0Y+mbdsU2DFt26GEL/ZrgP5m1gr4J/C0ux+d2sjMHory3UR0p+5IETDA3ReVVVgzaw/cDHwM7OLuK6L0xwgDIu4Gtnf3J8xs7yjPE2Xtz93fNLNj0/OZWSPgbGCIu5+Ydux/EWo5/WOvQ2egd1pt7gXgB8JduH/11GAzywWeJDwH6tDozt0pxxIeG3FZWv6fgP3NrGX0AD+pY1SjkgbF3VcSnvnVhPAcsOowJRVoIqnmuBfSjruU8AW9fmzb19O3jQLna8B+ZpYH7EN4AuqLZrZO6ocQkN6J8qVfcH5UXpCK7EWodd2aClLRsacDjwO/N7N4OSslep3XI9Rm0q1DaAZt+dtNQpCK/pgFzAY6Ztj9/YSa6Knu/mps3UzgSDM70czaRPu60t23U5CquxSopMFx99GE/qJ9zSz+RNqqmB37O9XcNieWXsxvP3MTM+xvCtAC6EDor4HQlDU39tMfaBblS4kfM5ONo2Wmx39PiJZdMqyrrBWE1/gxM/vIzBYQzq0Dv30d5mbYfjmQF0vrQnjmE8AfMmxzRrTvR4C5ZjbKzAaZWeuqnoQkT4FKGqqLgfmEpsBWldgu/sUJv31ycUo2D3vLlCf1uSxOO96phNpVpp/0QQLFWRwzp5x1qWOvKCdPhaKBFE8Q+og2BsYAFwKbEAZKxJVkSMuklBCMHgdONrNfBSt3fxvYCDia0C/Vk/A//srMOiB1kgKVNEjuPo8w4m19Mg8SKCY0D64SNbGtU81F6ZohbRNgMTCPMEoOYK67v5X+QwiQpYSaR2Wk9tkzwzqLljMruc+4XQjB4lp338XdB7n7w9Gx26/Bfme4+wOEPsAlwANRf1jqLhrbA23cfYi7H0doOryI0AdWHbVnSYAClTRkDwPvAwdlWDcLMDNrlpbWj+qf1NrXzDql/jCzLQhDy4dFw7ffJIyUuyj1hRzl6wS8BNyYGuZdCal9nh+Nnkvtc0PgOOBjd8+mCTFdcbSP1HdKKhiNj+U7hdA/tkYDudx9NvA3wtD0C6PkdsAHhCHuqXwlQGqofza1TamFNOpPGix3LzWzM4DP+O1n4T/AXcDrZvYE0IPQ/PZtNRdjGTDazO4k9EsNIjTlXRGVcV40z+o24IOoLI0I866asvpLOmvuPj9tn+9HIxILCMO5cwlD2ysr1cd0tZm9S2jqWwLcbmYbAYuAPYAjo3MuqMIx4u4hzNG60syGuPu06Fz+YmYtojK0B84i9CM+Uw3HlASoRiUNcekFAQAAANVJREFUWjTi7o4Mq+4F/k7oX7kL2J0wDPzrai7Cg4SgeDmhJjAG2MndZ6SV8XbgCEJT3/WEOWDfAHu6+8iqHDTa55GEpsMbgPOiY2/v7h9VYZf3EWouFwMXRzWeAwiDJ66Myt2F0Px2L7D5mt530d2LCcG1abRPCBcT1wI7EeZlXUioNe8cNfdKHZRTWlrZVgMREZG1RzUqERGp1RSoRESkVlOgEhGRWk2BSkREajUFKhERqdUUqEREpFZToBIRkVpNgUpERGo1BSoREanVFKhERKRW+3/Y2ZwuRr6HrAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "tank.plot()\n", "decorate_tank('Distribution after one tank')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise 3:** Suppose we see another tank with serial number 17. What effect does this have on the posterior probabilities?\n", "\n", "Update the `Pmf` with the new data and plot the results." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "62.25994473449364" ] }, "execution_count": 14, "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", "tank.plot(color='0.7', label='prior')\n", "tank.update(likelihood_tank, 17)\n", "tank.plot(label='posterior')\n", "\n", "plt.legend()\n", "decorate_tank('Distribution after two tanks')\n", "\n", "tank.mean()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.3" } }, "nbformat": 4, "nbformat_minor": 1 }