{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Think Bayes\n", "\n", "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": {}, "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": 2, "metadata": {}, "outputs": [], "source": [ "# Get utils.py and create directories\n", "\n", "import os\n", "\n", "if not os.path.exists('utils.py'):\n", " !wget https://github.com/AllenDowney/ThinkBayes2/raw/master/code/soln/utils.py\n", " \n", "if not os.path.exists('figs'):\n", " !mkdir figs" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "\n", "from empiricaldist import Pmf, Cdf\n", "from utils import decorate, savefig" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Introduction\n", "\n", "Three dimensions!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Grizzly Bear Problem\n", "\n", "In 1996 and 1997 Mowat and Strobeck deployed bear traps in locations in British Columbia and Alberta, in an effort to estimate the population of grizzly bears. They describe the experiment in \"[Estimating Population Size of Grizzly Bears Using Hair Capture, DNA Profiling, and Mark-Recapture Analysis](https://www.researchgate.net/publication/229195465_Estimating_Population_Size_of_Grizzly_Bears_Using_Hair_Capture_DNA_Profiling_and_Mark-Recapture_Analysis)\"\n", "\n", "The \"trap\" consists of a lure and several strands of barbed wire intended to capture samples of hair from bears that visit the lure. Using the hair samples, the researchers use DNA analysis to identify individual bears.\n", "\n", "During the first session, on June 29, 1996, the researchers deployed traps at 76 sites. Returning 10 days later, they obtained 1043 hair samples and identified 23 different bears. During a second 10-day session they obtained 1191 samples from 19 different bears, where 4 of the 19 were from bears they had identified in the first batch.\n", "\n", "To estimate the population of bears from this data, we need a model for the probability that each bear will be observed during each session. As a starting place, we'll make the simplest assumption, that every bear in the population has the same (unknown) probability of being sampled during each round." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With these assumptions we can compute the probability of the data for a range of possible populations.\n", "\n", "As an example, let's suppose that the actual population of bears is 200.\n", "\n", "After the first session, 23 of the 200 bears have been identified.\n", "During the second session, if we choose 19 bears at random, what is the probability that 4 of them were previously identified?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I'll define\n", "\n", "* N: actual (unknown) population size, 200.\n", "\n", "* K: number of bears identified in the first session, 23.\n", "\n", "* n: number of bears observed in the second session, 19 in the example.\n", "\n", "* k: the number of bears in the second session that had previously been identified, 4.\n", "\n", "For given values of N, K, and n, the distribution of k is described by the [hypergeometric distribution](https://en.wikipedia.org/wiki/Hypergeometric_distribution):\n", "\n", "$PMF(k) = {K \\choose k}{N-K \\choose n-k}/{N \\choose n}$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To understand why, consider: \n", "\n", "* The denominator, ${ N \\choose n}$, is the number of subsets of $n$ we could choose from a population of $N$ bears.\n", "\n", "* The numerator is the number of subsets that contain $k$ bears from the previously identified $K$ and $n-k$ from the previously unseen $N-K$.\n", "\n", "SciPy provides `hypergeom`, which we can use to compute this PMF." ] }, { "cell_type": "code", "execution_count": 138, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from scipy.stats import hypergeom\n", "\n", "N = 100\n", "K = 23\n", "n = 19\n", "\n", "ks = np.arange(12)\n", "ps = hypergeom(N, K, n).pmf(ks)\n", "\n", "plt.bar(ks, ps)\n", "\n", "decorate(xlabel='Number of bears observed twice',\n", " ylabel='PMF',\n", " title='Hypergeometric distribution of k (known population 200)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So that's the distribution of `k` given `N`, `K`, and `n`.\n", "Now let's go the other way: given `K`, `n`, and `k`, how can we estimate the total population, `N`?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As a starting place, let's suppose that, prior to this study, an expert in this domain would have estimated that the population is between 50 and 500, and equally likely to be any value in that range." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "Ns = np.arange(50, 501)\n", "prior_N = Pmf(1, Ns)\n", "prior_N.index.name = 'N'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So that's our prior.\n", "\n", "To compute the likelihood of the data, we can use `hypergeom` with constants `K` and `n`, and a range of values of `N`. " ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "K = 23\n", "n = 19\n", "k = 4\n", "\n", "likelihood = hypergeom(Ns, K, n).pmf(k)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can compute the posterior in the usual way." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "34.97606148975133" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "posterior_N = prior_N * likelihood\n", "posterior_N.normalize()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's what it looks like." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "posterior_N.plot()\n", "\n", "decorate(xlabel='Population of bears (N)',\n", " ylabel='PDF',\n", " title='Posterior distribution of N')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The most likely value is 109." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "109" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "posterior_N.max_prob()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "But the distribution is skewed to the right, so the posterior mean is substantially higher." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "173.79880627085643" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "posterior_N.mean()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 77., 363.])" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "posterior_N.credible_interval(0.9)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Two parameter model\n" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "ps = np.linspace(0, 1, 101)\n", "prior_p = Pmf(1, ps)\n", "prior_p.index.name = 'p'" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "from utils import make_joint\n", "\n", "joint_prior = make_joint(prior_N, prior_p)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(101, 451)" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "N_mesh, p_mesh = np.meshgrid(Ns, ps)\n", "N_mesh.shape" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "229.56130903199954" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from scipy.stats import binom\n", "\n", "like1 = binom.pmf(K, N_mesh, p_mesh)\n", "like1.sum()" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "24.771767481921685" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "like2 = binom.pmf(k, K, p_mesh) * binom.pmf(n-k, N_mesh-K, p_mesh)\n", "like2.sum()" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "from utils import normalize\n", "\n", "joint_posterior = joint_prior * like1 * like2\n", "normalize(joint_posterior)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "def plot_contour(joint, **options):\n", " \"\"\"Plot a joint distribution.\n", " \n", " joint: DataFrame representing a joint PMF\n", " \"\"\"\n", " cs = plt.contour(joint.columns, joint.index, joint, **options)\n", " decorate(xlabel=joint.columns.name, \n", " ylabel=joint.index.name)\n", " return cs" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_contour(joint_posterior)\n", "\n", "decorate(title='Joint posterior distribution of N and p')" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from utils import marginal\n", "\n", "marginal_N = marginal(joint_posterior, 0)\n", "\n", "posterior_N.plot(color='gray')\n", "marginal_N.plot()\n", "\n", "decorate(xlabel='Population of bears (N)',\n", " ylabel='PDF',\n", " title='Posterior marginal distribution of N')" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(138.7505213647261, array([ 68., 277.]))" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "marginal_N.mean(), marginal_N.credible_interval(0.9)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "marginal_p = marginal(joint_posterior, 1)\n", "marginal_p.plot()\n", "\n", "decorate(xlabel='Probability of observing a bear',\n", " ylabel='PDF',\n", " title='Posterior marginal distribution of p')" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "from seaborn import JointGrid\n", "\n", "def joint_plot(joint, **options):\n", " x = joint.columns.name\n", " x = 'x' if x is None else x\n", "\n", " y = joint.index.name\n", " y = 'y' if y is None else y\n", "\n", " # make a JointGrid with minimal data\n", " data = pd.DataFrame({x:[0], y:[0]})\n", " g = JointGrid(x, y, data, **options)\n", "\n", " # replace the contour plot\n", " g.ax_joint.contour(joint.columns, \n", " joint.index, \n", " joint, \n", " cmap='viridis')\n", " \n", " # replace the marginals\n", " marginal_x = marginal(joint, 0)\n", " g.ax_marg_x.plot(marginal_x.qs, marginal_x.ps)\n", " \n", " marginal_y = marginal(joint, 1)\n", " g.ax_marg_y.plot(marginal_y.ps, marginal_y.qs)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "joint_plot(joint_posterior)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Two parameters better than one?" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.15217391304347827" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mean = (23 + 19) / 2\n", "N1 = 138\n", "p = mean/N1\n", "p" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4.219519857292647" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from scipy.stats import binom\n", "\n", "binom(N1, p).std()" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.007113233315460428" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "binom(N1, p).pmf([23, 19]).prod()" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.12138728323699421" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "N2 = 173\n", "p = mean/N2\n", "p" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4.2954472470306415" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "binom(N2, p).std()" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.006918408214247037" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "binom(N2, p).pmf([23, 19]).prod()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Lincoln index problem\n", "\n", "A few years ago my occasional correspondent John D. Cook wrote an excellent\n", "blog post about the Lincoln index, which is a way to estimate the\n", "number of errors in a document (or program) by comparing results from\n", "two independent testers. \n", "\n", "http://www.johndcook.com/blog/2010/07/13/lincoln-index/\n", "\n", "Here's his presentation of the problem:\n", "\n", ">\"Suppose you have a tester who finds 20 bugs in your program. You\n", "want to estimate how many bugs are really in the program. You know\n", "there are at least 20 bugs, and if you have supreme confidence in your\n", "tester, you may suppose there are around 20 bugs. But maybe your\n", "tester isn't very good. Maybe there are hundreds of bugs. How can you\n", "have any idea how many bugs there are? There's no way to know with one\n", "tester. But if you have two testers, you can get a good idea, even if\n", "you don't know how skilled the testers are.\"\n", "\n", "Suppose the first tester finds 20 bugs, the second finds 15, and they\n", "find 3 in common; how can we estimate the number of bugs?" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "n0 = 20\n", "n1 = 15\n", "k11 = 3" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(17, 12)" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "k10 = n0 - k11\n", "k01 = n1 - k11\n", "\n", "k10, k01" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "Ns = np.arange(32, 350)\n", "prior_N = Pmf(1, Ns)\n", "prior_N.index.name = 'N'" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4.9999998675182855" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p0, p1 = 0.2, 0.15\n", "\n", "like0 = binom.pmf(n0, Ns, p0)\n", "like0.sum()" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.6188593076346907" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "like1 = binom.pmf(k01, Ns-n0, p1) * binom.pmf(k11, n0, p1)\n", "like1.sum()" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(318,)" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "likelihood = like0 * like1\n", "likelihood.shape" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(318,)" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "prior_N.shape" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.10960645032182464" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "posterior_N = prior_N * likelihood\n", "posterior_N.normalize()" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "posterior_N.plot()\n", "\n", "decorate(xlabel='n',\n", " ylabel='PMF',\n", " title='Posterior marginal distribution of n with known p1, p2')" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "102.12500000000003" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "posterior_N.mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Unknown probabilities" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "p0 = np.linspace(0, 1, 61)\n", "prior_p0 = Pmf(1, p0)\n", "prior_p0.index.name = 'p0'" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "p1 = np.linspace(0, 1, 51)\n", "prior_p1 = Pmf(1, p1)\n", "prior_p1.index.name = 'p1'" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(51, 61)" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from utils import make_joint\n", "\n", "joint = make_joint(prior_p0, prior_p1)\n", "joint.shape" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "p0 p1 \n", "0.0 0.00 1\n", " 0.02 1\n", " 0.04 1\n", " 0.06 1\n", " 0.08 1\n", "dtype: int64" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "joint_pmf = Pmf(joint.transpose().stack())\n", "joint_pmf.head()" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(3111, 318)" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "joint_prior = make_joint(prior_N, joint_pmf)\n", "joint_prior.shape" ] }, { "cell_type": "code", "execution_count": 46, "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", " \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", " \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", " \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", " \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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
N32333435363738394041...340341342343344345346347348349
p0p1
0.00.001111111111...1111111111
0.021111111111...1111111111
0.041111111111...1111111111
0.061111111111...1111111111
0.081111111111...1111111111
\n", "

5 rows × 318 columns

\n", "
" ], "text/plain": [ "N 32 33 34 35 36 37 38 39 40 41 ... 340 341 \\\n", "p0 p1 ... \n", "0.0 0.00 1 1 1 1 1 1 1 1 1 1 ... 1 1 \n", " 0.02 1 1 1 1 1 1 1 1 1 1 ... 1 1 \n", " 0.04 1 1 1 1 1 1 1 1 1 1 ... 1 1 \n", " 0.06 1 1 1 1 1 1 1 1 1 1 ... 1 1 \n", " 0.08 1 1 1 1 1 1 1 1 1 1 ... 1 1 \n", "\n", "N 342 343 344 345 346 347 348 349 \n", "p0 p1 \n", "0.0 0.00 1 1 1 1 1 1 1 1 \n", " 0.02 1 1 1 1 1 1 1 1 \n", " 0.04 1 1 1 1 1 1 1 1 \n", " 0.06 1 1 1 1 1 1 1 1 \n", " 0.08 1 1 1 1 1 1 1 1 \n", "\n", "[5 rows x 318 columns]" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "joint_prior.head()" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "8.930285561728951" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "likelihood = joint_prior.copy()\n", "Ns = joint_prior.columns\n", "\n", "for (p0, p1) in joint_prior.index:\n", " like0 = binom.pmf(n0, Ns, p0)\n", " like1 = binom.pmf(k01, Ns-n0, p1) * binom.pmf(k11, n0, p1)\n", " likelihood.loc[p0, p1] = like0 * like1\n", " \n", "likelihood.to_numpy().sum()" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(3111, 318)" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from utils import normalize\n", "\n", "joint_posterior = joint_prior * likelihood\n", "normalize(joint_posterior)\n", "joint_posterior.shape" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from utils import marginal\n", "\n", "posterior_N = marginal(joint_posterior, 0)\n", "posterior_N.plot()" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(3111,)" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "posterior_pmf = marginal(joint_posterior, 1)\n", "posterior_pmf.shape" ] }, { "cell_type": "code", "execution_count": 51, "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", " \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", " \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", " \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", " \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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
p00.0000000.0166670.0333330.0500000.0666670.0833330.1000000.1166670.1333330.150000...0.8500000.8666670.8833330.9000000.9166670.9333330.9500000.9666670.9833331.000000
p1
0.000.00.000000e+000.0000000.0000000.0000000.0000000.0000000.0000000.000000e+000.000000e+00...0.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.0
0.020.04.015401e-100.0000020.0000320.0000500.0000250.0000070.0000025.060290e-071.416566e-07...6.400273e-251.228006e-251.958740e-262.449499e-272.193235e-281.207843e-293.077500e-311.914739e-333.786697e-370.0
0.040.01.890324e-080.0001050.0019780.0041700.0032700.0017000.0007603.213970e-041.333903e-04...1.315527e-202.561670e-214.144637e-225.254755e-234.767778e-242.659487e-256.860462e-274.319699e-298.642163e-330.0
0.060.01.196881e-080.0000810.0020990.0070450.0096680.0086650.0061793.852341e-032.210927e-03...3.588320e-187.090774e-191.163614e-191.495587e-201.375016e-217.768342e-232.028796e-241.292760e-262.616374e-300.0
0.080.01.471051e-090.0000140.0006000.0035450.0083000.0117210.0122071.046347e-027.875544e-03...1.660452e-163.329404e-175.541137e-187.219543e-196.725358e-203.848194e-211.017439e-226.560825e-251.343223e-280.0
\n", "

5 rows × 61 columns

\n", "
" ], "text/plain": [ "p0 0.000000 0.016667 0.033333 0.050000 0.066667 0.083333 \\\n", "p1 \n", "0.00 0.0 0.000000e+00 0.000000 0.000000 0.000000 0.000000 \n", "0.02 0.0 4.015401e-10 0.000002 0.000032 0.000050 0.000025 \n", "0.04 0.0 1.890324e-08 0.000105 0.001978 0.004170 0.003270 \n", "0.06 0.0 1.196881e-08 0.000081 0.002099 0.007045 0.009668 \n", "0.08 0.0 1.471051e-09 0.000014 0.000600 0.003545 0.008300 \n", "\n", "p0 0.100000 0.116667 0.133333 0.150000 ... 0.850000 \\\n", "p1 ... \n", "0.00 0.000000 0.000000 0.000000e+00 0.000000e+00 ... 0.000000e+00 \n", "0.02 0.000007 0.000002 5.060290e-07 1.416566e-07 ... 6.400273e-25 \n", "0.04 0.001700 0.000760 3.213970e-04 1.333903e-04 ... 1.315527e-20 \n", "0.06 0.008665 0.006179 3.852341e-03 2.210927e-03 ... 3.588320e-18 \n", "0.08 0.011721 0.012207 1.046347e-02 7.875544e-03 ... 1.660452e-16 \n", "\n", "p0 0.866667 0.883333 0.900000 0.916667 0.933333 \\\n", "p1 \n", "0.00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 \n", "0.02 1.228006e-25 1.958740e-26 2.449499e-27 2.193235e-28 1.207843e-29 \n", "0.04 2.561670e-21 4.144637e-22 5.254755e-23 4.767778e-24 2.659487e-25 \n", "0.06 7.090774e-19 1.163614e-19 1.495587e-20 1.375016e-21 7.768342e-23 \n", "0.08 3.329404e-17 5.541137e-18 7.219543e-19 6.725358e-20 3.848194e-21 \n", "\n", "p0 0.950000 0.966667 0.983333 1.000000 \n", "p1 \n", "0.00 0.000000e+00 0.000000e+00 0.000000e+00 0.0 \n", "0.02 3.077500e-31 1.914739e-33 3.786697e-37 0.0 \n", "0.04 6.860462e-27 4.319699e-29 8.642163e-33 0.0 \n", "0.06 2.028796e-24 1.292760e-26 2.616374e-30 0.0 \n", "0.08 1.017439e-22 6.560825e-25 1.343223e-28 0.0 \n", "\n", "[5 rows x 61 columns]" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "posterior_joint_ps = posterior_pmf.unstack().transpose()\n", "posterior_joint_ps.head()" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [], "source": [ "def plot_contour(joint, **options):\n", " \"\"\"Plot a joint distribution.\n", " \n", " joint: DataFrame representing a joint PMF\n", " \"\"\"\n", " cs = plt.contour(joint.columns, joint.index, joint, **options)\n", " decorate(xlabel=joint.columns.name, \n", " ylabel=joint.index.name)\n", " return cs" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_contour(posterior_joint_ps)\n", "decorate(title='Posterior joint distribution for p1 and p2')" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "posterior_p1 = marginal(posterior_joint_ps, 0)\n", "posterior_p2 = marginal(posterior_joint_ps, 1)\n", "\n", "posterior_p1.plot(label='p1')\n", "posterior_p2.plot(label='p2')\n", "decorate(xlabel='Probability of finding a bug',\n", " ylabel='PDF',\n", " title='Posterior marginal distributions of p1 and p2')" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.22970406720316164, array([0.1, 0.4]))" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "posterior_p1.mean(), posterior_p1.credible_interval(0.9)" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.17501024717938662, array([0.06, 0.32]))" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "posterior_p2.mean(), posterior_p2.credible_interval(0.9)" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "image/png": "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6hEREc/izBZUKyDGsqxYy7JygR+B3v9ZxwLCjn8dDhxwYj0iIuJBnBlQUcC+k57HH3/tZC8Dg4wx8cB04OGCNmSMGWKMWWWMWZWYmOiMWkVE3FJxPv45M6BMAa9Z/3l+C/C1ZVkVgZ7Ad8aY02qyLGusZVktLMtqUaZMGSeUKiLinorz8c+ZARUPVDrpeUVO78K7G/gZwLKspUAAEOHEmkRExEM4M6BWAjWNMVWNMX7kD4KY8p919gJXAxhj6pIfUMWrDSsiIgVyWkBZlmUDhgKzgK3kj9bbbIwZYYy5/vhqTwD3GmPWAxOBOyzL+m83oIiIFEM+zty4ZVnTyR/8cPJrL5709RagnTNrEBERz6SZJERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poERExC0poEREPJDl6gIuAwWUiIgHMa4u4DJSQImIiFtyakAZY7obY7YbY2KMMc+eYZ2bjTFbjDGbjTETnFmPiIh4Dh9nbdgY4w2MBroC8cBKY8wUy7K2nLROTeA5oJ1lWanGmEhn1SMiIp7FmS2oVkCMZVmxlmXlAj8Cvf+zzr3AaMuyUgEsy0pwYj0iIuJBnBlQUcC+k57HH3/tZLWAWsaYJcaYZcaY7gVtyBgzxBizyhizKjEx0Unlioi4nzMd/6xiMIzPmQFV0GCT/35LfYCaQEfgFmCcMabEaW+yrLGWZbWwLKtFmTJlCr1QERF39d/jnzHFZxyfMwMqHqh00vOKwIEC1vnDsqw8y7LigO3kB5aIiBRzzgyolUBNY0xVY4wfMACY8p91fgc6ARhjIsjv8ot1Yk0iIuIhnBZQlmXZgKHALGAr8LNlWZuNMSOMMdcfX20WkGyM2QLMA56yLCvZWTWJiIjncNow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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "joint_plot(posterior_joint_ps)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Chao et al" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [], "source": [ "data = [-1000, 63, 55, 18, 69, 17, 21, 28]" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [], "source": [ "index = pd.MultiIndex.from_product([[0, 1]]*3)" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 0 0 -1000\n", " 1 63\n", " 1 0 55\n", " 1 18\n", "1 0 0 69\n", " 1 17\n", " 1 0 21\n", " 1 28\n", "dtype: int64" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Kijk = pd.Series(data, index)\n", "Kijk" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "135" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Kijk.xs(1, level=0).sum()" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "122" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Kijk.xs(1, level=1).sum()" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "126" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Kijk.xs(1, level=2).sum()" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 135\n", "1 122\n", "2 126\n", "dtype: int64" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "n = pd.Series(1, range(3))\n", "\n", "for level in n.index:\n", " n[level] = Kijk.xs(1, level=level).sum()\n", " \n", "n" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 -864\n", "1 135\n", "dtype: int64" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Kixx = Kijk.sum(level=0)\n", "Kixx" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 0 -937\n", " 1 73\n", "1 0 86\n", " 1 49\n", "dtype: int64" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Kijx = Kijk.sum(level=[0,1])\n", "Kijx" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [], "source": [ "def num_observed(K):\n", " return np.asarray(K)[1:].sum()" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "135" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s0 = num_observed(Kixx)\n", "s0" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "208" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s1 = num_observed(Kijx)\n", "s1" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "271" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s2 = num_observed(Kijk)\n", "s2" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[135, 208, 271]" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s = [s0, s1, s2]\n", "s" ] }, { "cell_type": "code", "execution_count": 72, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "0 -864\n", "1 135\n", "(0, 0) -937\n", "(0, 1) 73\n", "(1, 0) 86\n", "(1, 1) 49\n", "(0, 0, 0) -1000\n", "(0, 0, 1) 63\n", "(0, 1, 0) 55\n", "(0, 1, 1) 18\n", "(1, 0, 0) 69\n", "(1, 0, 1) 17\n", "(1, 1, 0) 21\n", "(1, 1, 1) 28\n", "dtype: int64" ] }, "execution_count": 72, "metadata": {}, "output_type": "execute_result" } ], "source": [ "k = pd.concat([Kixx, Kijx, Kijk])\n", "k" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "135" ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ], "source": [ "k[1]" ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "73" ] }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" } ], "source": [ "k[0,1]" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "63" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "k[0,0,1]" ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "-864" ] }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ], "source": [ "k[0]" ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "165" ] }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ "N = 300\n", "k0 = N - s[0]\n", "k0" ] }, { "cell_type": "code", "execution_count": 78, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "92" ] }, "execution_count": 78, "metadata": {}, "output_type": "execute_result" } ], "source": [ "k00 = N - s[1]\n", "k00" ] }, { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "29" ] }, "execution_count": 79, "metadata": {}, "output_type": "execute_result" } ], "source": [ "k000 = N - s[2]\n", "k000" ] }, { "cell_type": "code", "execution_count": 80, "metadata": {}, "outputs": [], "source": [ "Ns = np.arange(s2, 500, 5)\n", "prior_N = Pmf(1, Ns)\n", "prior_N.index.name = 'N'" ] }, { "cell_type": "code", "execution_count": 81, "metadata": {}, "outputs": [], "source": [ "ps = np.linspace(0, 1, 101)\n", "prior_p = Pmf(1, ps)\n", "prior_p.index.name = 'p'" ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [], "source": [ "from utils import make_joint\n", "\n", "joint_prior = make_joint(prior_N, prior_p)" ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [], "source": [ "def likelihood_round1(ps, n, k, s, joint_prior):\n", "\n", " like = joint_prior.copy()\n", "\n", " for N in joint_prior:\n", " like[N] = binom.pmf(n[0], N, ps)\n", " return like" ] }, { "cell_type": "code", "execution_count": 84, "metadata": {}, "outputs": [], "source": [ "like1 = likelihood_round1(ps, n, k, s, joint_prior)" ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [], "source": [ "def likelihood_round2(ps, n, k, s, joint_prior):\n", " like = joint_prior.copy()\n", "\n", " for N in joint_prior:\n", " k0 = N - s[0]\n", " like[N] = (binom.pmf(k[0,1], k0, ps) * \n", " binom.pmf(k[1,1], k[1], ps))\n", " return like" ] }, { "cell_type": "code", "execution_count": 86, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.40773670523278144" ] }, "execution_count": 86, "metadata": {}, "output_type": "execute_result" } ], "source": [ "like2 = likelihood_round2(ps, n, k, s, joint_prior)\n", "like2.to_numpy().sum()" ] }, { "cell_type": "code", "execution_count": 87, "metadata": {}, "outputs": [], "source": [ "joint_posterior2 = joint_prior * like1 * like2\n", "normalize(joint_posterior2)" ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_contour(joint_posterior2)\n", "decorate(title='Joint posterior of N and p')" ] }, { "cell_type": "code", "execution_count": 89, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "marginal_N = marginal(joint_posterior2, 0)\n", "marginal_N.plot()\n", "\n", "decorate(xlabel='N',\n", " ylabel='PDF',\n", " title='Posterior marginal distribution of N')" ] }, { "cell_type": "code", "execution_count": 90, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(342.19942566476345, array([296., 396.]))" ] }, "execution_count": 90, "metadata": {}, "output_type": "execute_result" } ], "source": [ "marginal_N.mean(), marginal_N.credible_interval(0.9)" ] }, { "cell_type": "code", "execution_count": 91, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3deXxc5X3v8c9Pu2RZkhdZtmzjBdsEAyaLA2TPDQ2BLDhpSQNJGpJLQ5aSvprlNqS3TSjZmm40Tbg35V5IaAhha9PrJCSkCVlpIDabwYCxsY0l2bIla7FlbZb0u3+cM3gYJGskzZlzZvR9v15+eebMmTO/ORrNV89znvMcc3dERESSpiTuAkRERMajgBIRkURSQImISCIpoEREJJEUUCIikkgKKBERSSQFlCSamfWZ2eq468gFM/uGmf1VDraz0szczMqyXP9bZvaF8PZrzGzHTGtI2/aPzOzy8Pb7zew3Odz2e8zsJ7na3hRe91VmtjP87L09368vJ2T1AZfiZ2Z7gSZgFDgG3A18zN37prm9lcAeoNzdR6Zbl7vXTve5SePuH05ADb8GTptsPTO7Bljj7u+dZHsX5aKu8T4v7v4d4Du52P4UXQt83d2/GsNrSxq1oCTd28JAeCnwcuAv4yok29ZBVM9P+uvFzQLF+v2xAtgedxGigJJxuHsb8CPgTAAzazazzWbWZWa7zOyDqXXN7Bwz22pmR8zsoJn9Y/jQr8L/e8KukleE6/93M3vSzLrN7B4zW5G2LTezPzGzncDOtGVrwtv1ZvavZtZhZs+a2V+mviTD7qX7zOw6M+sCrsl8X2Z2jZndaWa3mNlRM3vMzNaZ2WfM7JCZtZjZBWnrfyCs9aiZ7TazD6U99nozazWzT5tZO/DNcPmfm9kBM9tvZn+cUX96V1vq+Z8MX/uAmX0gbftvMbOHw/3aErZosmJmLzGzh8K6bweqMutOu/9pM2sL191hZueb2YXAXwDvCn92j4br/sLMvmhm9wH9wOpw2R8//+Xta2bWa2ZPmdn5aQ/sNbPfy/h53BLefcHnJbPL0MxeaWZbwm1vMbNXpj32CzP7fPgZOGpmPzGzhSfZRx8MP8td4We7OVz+DLAa+H5YR+U4z90bfmaeCD/H3zSzqsz1ZOYUUPICZrYceDPwcLjou0Ar0AxcAnwp7Yvnq8BX3b0OOBW4I1z+2vD/BnevdfffWtCf/xfA7wONwK/Dbad7O3AusH6c0r4G1BN8gbwOeB/wgbTHzwV2A4uAL07w9t4GfBuYF76/ewh+D5YSdO38S9q6h4C3AnXh61xnZi9Ne3wxMJ/gL+4rwy/2TwC/B6wJazyZxeH7WQpcAVxvZvPCx46F768BeAvwEcvieIiZVQD/Eb7H+cCdwB9MsO5pwFXAy919LvAmYK+7/xj4EnB7+LM7O+1pfwRcCcwFnh1ns6mfwULgc8C/m9n8yepmnM9LRq3zgR8C/wwsAP4R+KGZLUhb7d0EP6dFQAXwqQne9xuALwN/CCwJ38dtAO5+KrCPsDfB3YcmqPc9BPvrVGAdMfY2FDMFlKT7DzPrAX4D/JIgiJYDrwY+7e6D7v4I8H8JvqgAjgNrzGyhu/e5+/0n2f6HgC+7+5PhcYYvAS+2tFZU+HiXuw+kP9HMSoF3AZ9x96Puvhf4h7Q6APa7+9fcfSTz+Wl+7e73hK9/J0FQ/o27Hyf4klppZg0A7v5Dd3/GA78EfgK8Jm1bY8Dn3H0ofL0/BL7p7tvdvR/465PsCwj23bXuftzd7wb6CI8Pufsv3P0xdx9z920EQT5Z4AGcB5QD/xRu9y5gywTrjgKVwHozK3f3ve7+zCTb/1b4/kbCfZbpUNpr3w7sIAjYmXoLsNPdvx2+9neBpwj+4Ej5prs/Hf4s7gBePMG23gPc5O4PhQH0GeAVFhwHy9bX3b3F3bsI/hi6bIrvR7KggJJ0b3f3Bndf4e4fDX/Rm4Eudz+att6zBH/1Q/CX/zrgqbDb5a0n2f4K4Ktm1hMGYRdgadsCaJnguQsJ/ipO/6s9vY6TPTfdwbTbA0Cnu4+m3QeoBTCzi8zs/rAbqIegVZnebdTh7oNp95szapisnsMZA0j60177XDP7uQXdmb3AhzNeeyLNQJs/fxbo8Vo6uPsu4M8IukMPmdltqa6uk5jsPY332pNtMxvNvPB9ZP7829NuP7cvJ9tWOBDocMa2JpO+H3L1HiWDAkomsx+Yb2Zz05adArQBuPtOd7+MoFvlK8BdZjYHGG+a/BbgQ2EIpv5Vu/t/pa0z0fT6nQQtjvTW1nN1TPLcKQuPPfwb8PdAk7s3EIxstJO83gFgWdr95TMo4VZgM7Dc3euBb2S89kQOAEvNLH3dUyZa2d1vdfdXE+xXJ/gZwsT7crJ9PN5r7w9vHwNq0h5bPIXt7uf5P/vUttvGWXcyz9tW+HldMMVtpf9s09+j5JACSk7K3VuA/wK+bGZVZraBoNX0HQAze6+ZNbr7GNATPm0U6CDoAks/h+kbwGfM7IzwufVm9s4s6xgl6Lb5opnNDbsFPwHccvJnTlsFQfdXBzBiZhcBF5z8KdwBfMDMTjezGuCzM3j9uQQt10EzO4fg+Eo2fguMAH9qZmVm9vvAOeOtaGanmdkbwjAeJGhBplqTBwm6O6f6HbEofO3y8Gd7OkGwAzwCXBo+tpHgeGbKeJ+XdHcD68zs3eH7ehfBccofTLE+CML/A2b24vC9fwl4IOw2ztafmNmy8NjYXwC3T6MOmYQCSrJxGbCS4K/E7xEcd/nP8LELge1m1kcwYOLS8FhVP0Hf/H1hl9557v49gr/QbzOzI8DjwFTOo/kYwV/huwmOk90K3DTjdzeOsEvzTwlCp5sgIDZP8pwfERzE/zmwiyAsACY60H4yHwWuNbOjBEF3xyTrp2oYJhiE8v6w7ncB/z7B6pXA3xC0TtsJwuUvwsfuDP8/bGYPTaHuB4C14Ta/CFzi7ofDx/6KYFBBN8HxuVvT6n7B5yXjfR0mGLDySYLuuD8H3urunVOoLbWtn4W1/BtBi/NU4NIpbuZWgmOSu8N/X5hqHTI50wULRaJhZqcThHDlTE5WlmSx4KT2P3b3n8ZdS7FTC0okh8zsHWZWEQ4X/wrwfYWTyPQooERy60MEx1OeITie85F4yxEpXOriExGRRFILSkREEqloJrhcuHChr1y5Mu4yRERkih588MFOd2/MXF40AbVy5Uq2bt0adxkiIjJFZjbubCfq4hMRkURSQImISCIpoEREJJEUUCIikkgKKBERSSQFlIiIJJICSkREEkkBJbPezoNH6Tg6nStiiEiUFFAyqz2x/whv/dpv+Nh3p3LJIxHJBwWUzFpHBo/z0e88yNDIGPfv7mJv57G4SxKRNAoomZXcnU/ftY2W7gG+/u6XUGJw54MtcZclImkUUDIr3XTfXn70eDufvvA03rqhmdeta+SuB1sZHdPlZ0SSItKAMrMLzWyHme0ys6vHefy1ZvaQmY2Y2SUZj11uZjvDf5dHWafMLi1d/Xz57ie5YH0TH3zNagDe9fLlHDwyxK92dsRcnYikRBZQZlYKXA9cBKwHLjOz9Rmr7QPeD9ya8dz5wOeAc4FzgM+Fl9AWmbEte7sYGXM+ecFpmBkAb3hREwvmVHDHFnXziSRFlC2oc4Bd7r7b3YeB24BN6Su4+1533waMZTz3TcB/unuXu3cD/wlcGGGtMos81tZLdXkppzbOeW5ZRVkJ73jJUn765EEO92nIuUgSRBlQS4H0P0dbw2U5e66ZXWlmW81sa0eHumYkO4+39bK+uY6y0ud//N+5cTnHR53vPdwWU2Uiki7KgLJxlmV7BDqr57r7De6+0d03Nja+4GKMIi8wOuZs33+Es5bWv+Cx0xbP5ezlDdy5tTWGykQkU5QB1QosT7u/DNifh+eKTGh3Rx/9w6OcOU5AAVx05mJ2HDxK97HhPFcmIpmiDKgtwFozW2VmFcClwOYsn3sPcIGZzQsHR1wQLhOZkcfaegHGbUFB0IoC2HmoL281icj4Igsodx8BriIIlieBO9x9u5lda2YXA5jZy82sFXgn8C9mtj18bhfweYKQ2wJcGy4TmZHxBkikW7uoFoCnDx7NZ1kiMo6yKDfu7ncDd2cs+2za7S0E3XfjPfcm4KYo65PZZ6IBEilLG6qZU1HKTgWUSOw0k4TMGicbIJFiZqxpmqsuPpEEUEDJrDHZAImUdYtqefqgAkokbgoomTVSAyQ2LDt5QK1tqqWzb0gj+URipoCSWePEAInak663tkkj+USSQAEls0ZqgERpyXjngZ+wLgwojeQTiZcCSmaFbAZIpDTXV2kkn0gCKKBkVsh2gAScGMmngRIi8VJAyayQ7QCJlHWLanUMSiRmCiiZFZ48cITKspJJB0ikrGuaq5F8IjFTQMmssK+rn+XzayYdIJGytklTHonETQEls0JL1wDL51VnvX5qqPnT6uYTiY0CSmaF1u6gBZWt5voqaivL2KUWlEhsFFBS9HoHjnNkcIRlU2hBmRlrNOWRSKwUUFL0Wrr6AVg+L/sWFMC6plp2HlILSiQuCigpeq3dYUBNoYsPYO2iuXT2DdOlkXwisVBASdFr6RoApt6CSo3k04wSIvFQQEnRa+nuZ25VGfU15VN6XuqcqWcP90dRlohMQgElRa+lq3/KrSeAxfVVlBi09gxEUJWITEYBJUWvpXtgSiP4UspLS2iqq6KtWwElEgcFlBQ1d5/yOVDpmhuqaetRF59IHBRQUtQ6+4YZPD42pVkk0i1tqKZNXXwisVBASVFrmeYQ85Sl86o50DPI6JjnsiwRyYICSoracyfpTjegGqoZGXMOHR3MZVkikgUFlBS11nCAw3QGSUDQggLYr24+kbxTQElRa+nqZ2FtBTUVZdN6/rKGIKBaNZJPJO8UUFLUWrr7WTqNc6BSUi0oDZQQyT8FlBS1qV4HKlNNRRnzasp1LpRIDBRQUrRGx5z9PQPTHiCRsnSehpqLxEEBJUWr/cggI2M+rWmO0i1tqFYLSiQGCigpWieGmE+/iw9Ss0kM4K5zoUTyKdKAMrMLzWyHme0ys6vHebzSzG4PH3/AzFaGy8vN7GYze8zMnjSzz0RZpxSn6V6oMNPShmr6h0fp6T+ei7JEJEuRBZSZlQLXAxcB64HLzGx9xmpXAN3uvga4DvhKuPydQKW7nwW8DPhQKrxEstXSPYBZ0AKaiWUayScSiyhbUOcAu9x9t7sPA7cBmzLW2QTcHN6+CzjfzAxwYI6ZlQHVwDBwJMJapQi1dvWzuK6KirKZfcyXNgQtMAWUSH5FGVBLgZa0+63hsnHXcfcRoBdYQBBWx4ADwD7g7929K/MFzOxKM9tqZls7Ojpy/w6koLV0T+86UJmeOxdKAyVE8irKgLJxlmUeZZ5onXOAUaAZWAV80sxWv2BF9xvcfaO7b2xsbJxpvVJk2qZ5HahM82rKqS4vVQtKJM+iDKhWYHna/WXA/onWCbvz6oEu4N3Aj939uLsfAu4DNkZYqxSZ0THn4NEhljRUzXhbZhacC6UWlEheRRlQW4C1ZrbKzCqAS4HNGetsBi4Pb18C3OvBWN59wBssMAc4D3gqwlqlyHT2DTE65iyun3kLCnRdKJE4RBZQ4TGlq4B7gCeBO9x9u5lda2YXh6vdCCwws13AJ4DUUPTrgVrgcYKg+6a7b4uqVik+B3qDy2Msrpt5Cwo0m4RIHKY3xXOW3P1u4O6MZZ9Nuz1IMKQ883l94y0XyVZ7GFBL6nMUUA3VdB0bpn94ZNozo4vI1GgmCSlK7b1Ba2dxDgMKYH+PLlwoki8KKClK7UeGKC815tdU5GR7uuyGSP4poKQotfcO0FRXRUnJeGcyTF2qBaWRfCL5o4CSonSgdzBnx58AmuqqKCsx2nr6c7ZNETk5BZQUpYNHBmnK0Qg+gNISY3F9lVpQInmkgJKi4+45b0EBNNdXPzd8XUSip4CSotM7cJyhkbGcnaSbsri+ivYjCiiRfFFASdHJ9Um6KYvrq2jvHdSFC0XyRAElRSd1km6uzoFKWVxXxdDImC5cKJInCigpOqluuFwfg0ptT8ehRPJDASVF50DvIGbQOLcyp9ttCgPqoI5DieSFAkqKTnvvAI21lZSX5vbjrRaUSH4poKTotB8Zynn3HkBjbSUldmKePxGJlgJKik5qmqNcKystYdHcKrWgRPJEASVFpz2Ck3RTmnQulEjeKKCkqBwbGuHI4EjOT9JNWVJX9dwwdhGJlgJKikqqdbO4Prcj+FJSJ+uKSPQUUFJUDj43i0Q0LajF9VUcHRqhb2gkku2LyAkKKCkqB3J8qfdMqe2qFSUSPQWUFJUTXXzRBFRqfj8FlEj0FFBSVNp7B2moKaeqvDSS7S8JB18c0LlQIpFTQElROdA7mPNZzNMtqgsGX2i6I5HoKaCkqBw8MhhZ9x5AVXkp8+dU6GRdkTxQQElRieJKupkW61wokbxQQEnRGB4Zo7NvKLIh5ilLNJuESF4ooKRoHDoa7Um6KU06WVckLxRQUjRSoRHFRLHpltRVcfjYMIPHRyN9HZHZTgElRePElXSj7eJLDcI4dGQo0tcRme0UUFI0Ui2oKEfxpW9fx6FEohVpQJnZhWa2w8x2mdnV4zxeaWa3h48/YGYr0x7bYGa/NbPtZvaYmUX7rSMFr713kOryUuqqyiJ9nRNX1tXJuiJRiiygzKwUuB64CFgPXGZm6zNWuwLodvc1wHXAV8LnlgG3AB929zOA1wPHo6pVikN7eA6UmUX6OqlLeWighEi0omxBnQPscvfd7j4M3AZsylhnE3BzePsu4HwLvl0uALa5+6MA7n7Y3XVEWk6qPeJZJFJqK8uYW1mmLj6RiEUZUEuBlrT7reGycddx9xGgF1gArAPczO4xs4fM7M/HewEzu9LMtprZ1o6Ojpy/ASks7RHPIpFOQ81FohdlQI3Xz+JZrlMGvBp4T/j/O8zs/Bes6H6Du290942NjY0zrVcK2NiYRz7NUbol9VWa7kgkYlEGVCuwPO3+MmD/ROuEx53qga5w+S/dvdPd+4G7gZdGWKsUuK7+YY6Pel66+EDTHYnkQ5QBtQVYa2arzKwCuBTYnLHOZuDy8PYlwL3u7sA9wAYzqwmD63XAExHWKgUuXyfppiypr+LQ0UFGRsfy8nois1FkARUeU7qKIGyeBO5w9+1mdq2ZXRyudiOwwMx2AZ8Arg6f2w38I0HIPQI85O4/jKpWKXztEV9JN9Pi+mrGHDr6dLKuSFQiPWHE3e8m6J5LX/bZtNuDwDsneO4tBEPNRSYV9ZV0M6WCcH/PYOQzV4jMVppJQopCe+8gpSXGwtpoJ4pNWdKgS7+LRE0BJUWh/cggi+ZWUloS7Um6Kbr0u0j0FFBSFA4eGczbAAmAuqoyaipK2d+jFpRIVBRQUhTycSXddGYWXrhQLSiRqJw0oMzsJ2m3PxN9OSLTc7A3vy0ogOaGarWgRCI0WQsqfXqGcUfbicStb2iEo0MjeRvBl7K4rkrHoEQiNFlAZU5NJJI4+T4HKmVJQzWHjg5xXCfrikRisvOgVpvZZoI581K3n+PuF4//NJH8OXgkv7NIpDTXV+EOh44OsbRB50KJ5NpkAZV+eYy/j7IQkelKTdqar3n4UlJdigd6BhRQIhE4aUC5+y9Tt82sMVym61pIohzM8ywSKc0NqXOhNFBCJAqTjeIzM/ucmXUCTwFPm1mHmX32ZM8Tyaf23kEaasqpKi/N6+vq0u8i0ZpskMSfEVyP6eXuvsDd5wHnAq8ys49HXp1IFg7k6Uq6meZWlVNbWaah5iIRmSyg3gdc5u57UgvcfTfw3vAxkdjl80KFmZboyroikZksoMrdvTNzYXgcqjyakkSmJq4WFARDzdXFJxKNyQJqeJqPieTF8dExDh8biq8FVVfFfrWgRCIx2TDzs83sCMF5UHDixF0D4vlGEElz6OgQ7vkfYp6ypKGKzr4hhkfGqCjT1JYiuTTZMPP8DosSmaL2sHutKcZjUO7BcbDl82tiqUGkWE02zLzKzP7MzL5uZleaWaRX4BWZqvbe4JLr+Z7mKOXEdaHUzSeSa5P1SdwMbAQeA94M/EPkFYlMwXOXeo+pi6+5QedCiURlshbRenc/C8DMbgR+F31JItlr7x2gqryE+up4BpUuVgtKJDKTtaCOp264+0jEtYhMWVvPAM0N1Zjl51LvmWory5hbVcaBHrWgRHIt21F8EIzcq04b1efuXhdpdSKTaOsZjH2i1ub6arWgRCKgUXxS0Nq6Bzj99EWx1rC4vkoBJRIBnbghBWvw+CidffFfi6m5QVfWFYmCAkoKVqrV0hxzQC2pr6azb5ihkdFY6xApNgooKVht3UGrZem8eAMqNc3SwfCcLBHJDQWUFKy2nn6A+Lv4wqHm+9XNJ5JTCigpWG09g5RY/q+km2lJeLLufg01F8kpBZQUrLbuAZrqqigvjfdjnGrBtXQpoERySQElBautpz/27j2AqvJSmuoqaenuj7sUkaISaUCZ2YVmtsPMdpnZ1eM8Xmlmt4ePP2BmKzMeP8XM+szsU1HWKYVpf89g7CP4UpbPq6GlSwElkkuRBZSZlQLXAxcB64HLzGx9xmpXAN3uvga4DvhKxuPXAT+KqkYpXGNjzoHegdhH8KUsn19Da7e6+ERyKcoW1DnALnff7e7DwG3Apox1NhHMmA5wF3C+hZOqmdnbgd3A9ghrlAJ16OgQx0c9EV18AMvnBZd+Pz46FncpIkUjyoBaCrSk3W8Nl427TjgZbS+wwMzmAJ8G/vpkLxBeo2qrmW3t6OjIWeGSfG3hiLmkBNSy+TWMuUbyieRSlAE13vTSnuU6fw1c5+59J3sBd7/B3Te6+8bGxsZplimF6LmASkoX37zgaroaySeSO1FeIbcVWJ52fxmwf4J1WsOr9dYDXcC5wCVm9rdAAzBmZoPu/vUI65UCkppFIjGDJOaHQ801kk8kZ6IMqC3AWjNbBbQBlwLvzlhnM3A58FvgEuBed3fgNakVzOwaoE/hJOn29wxQX11ObWWUH+HsLamvpqzENJJPJIci++129xEzuwq4BygFbnL37WZ2LbDV3TcDNwLfNrNdBC2nS6OqR4pLW89AYo4/AZSWGM0N1bRoJJ9IzkT656e73w3cnbHss2m3B4F3TrKNayIpTgpaW/cApyyoibuM5zllfg371IISyRnNJCEFaX/CWlAQHIdqVUCJ5IwCSgpO78Bxjg6NJC6gls2r4fCxYY4NjcRdikhRUEBJwUnKdaAyLZ8fdDlqRgmR3FBAScFJnQyblCHmKcvnpWY1VzefSC4ooKTgJG0WiZRUC0rnQonkhgJKCk5bzwCVZSUsrK2Iu5TnWTCnguryUs0mIZIjCigpOKlzoMJ5hRPDzFg+v1otKJEcUUBJwWnrHkjc8acUXRdKJHcUUFJwWruTdw5UyvL5QUAFM3aJyEwooKSgHBk8TmffEKsa58RdyriWz6/h2PAo3f3H4y5FpOApoKSg7O08BsCqhQkNKA01F8kZBZQUlN0dQUCdmuAWFGiouUguKKCkoOzuPEaJnQiCpHkuoDTUXGTGFFBSUPZ0HmPZvBoqy0rjLmVctZVlzKspVwtKJAcUUFJQ9nT2Jfb4U8opC+Y8d6xMRKZPASUFw93Z03GM1Qk9/pSydlEtuw71xV2GSMFTQEnBOHR0iGPDo6xOeAtq7aJaDh0doldDzUVmRAElBSM1gm/VwtqYKzm5tU1BfTsPHY25EpHCpoCSgrG7M+g2S+pJuilrF80FYKe6+URmRAElBWNPxzGqyktYUlcVdykntbShmuryUnYeVECJzIQCSgrGns5jrFwwh5KSZM1inqmkxFizqFZdfCIzpICSgrGnM/kj+FI0kk9k5hRQUhCOj46xr6uf1QkfIJGypqmWA72DHB3USD6R6VJASUFo6epnZMwTf5JuSmqghFpRItOngJKCsCc1i3kBdfGBRvKJzIQCSgpC6hyopJ+km7J8fg0VZSXsPKiBEiLTpYCSgrC78xjz51TQUFMRdylZKS0xTm2sVQtKZAYUUFIQCmGS2Ezrmmp1LpTIDCigpCDs7jhWcAG1dlEtbT0DHBsaibsUkYIUaUCZ2YVmtsPMdpnZ1eM8Xmlmt4ePP2BmK8PlbzSzB83ssfD/N0RZpyRb39AIh44OFcw5UClrwpF8z3SoFSUyHZEFlJmVAtcDFwHrgcvMbH3GalcA3e6+BrgO+Eq4vBN4m7ufBVwOfDuqOiX59qQmiV1QWAH13KSx6uYTmZYoW1DnALvcfbe7DwO3AZsy1tkE3Bzevgs438zM3R929/3h8u1AlZlVRlirJNjj+3sBOH1JXcyVTM2K+TWUl5oGSohMU5QBtRRoSbvfGi4bdx13HwF6gQUZ6/wB8LC7D2W+gJldaWZbzWxrR0dHzgqXZNnW2kN9dTkrFtTEXcqUlJWWsHphLbs0J5/ItEQZUOPN6OlTWcfMziDo9vvQeC/g7je4+0Z339jY2DjtQiXZtrX2smFZPWbJniR2PGuaanlaXXwi0xJlQLUCy9PuLwP2T7SOmZUB9UBXeH8Z8D3gfe7+TIR1SoINHh9lR/tRNiyrj7uUaVm3aC4t3f30aSSfyJRFGVBbgLVmtsrMKoBLgc0Z62wmGAQBcAlwr7u7mTUAPwQ+4+73RVijJNwTB44wMuactbQh7lKm5cWnNOAOj+zribsUkYITWUCFx5SuAu4BngTucPftZnatmV0crnYjsMDMdgGfAFJD0a8C1gB/ZWaPhP8WRVWrJNdjrcEAibOXF2YL6iWnNGAGDz7bHXcpIgWnLMqNu/vdwN0Zyz6bdnsQeOc4z/sC8IUoa5PC8GhrD41zK1mc8KvoTqSuqpzTmuay9dmuuEsRKTiaSUISbVtrLxuWFuYAiZSXrZjHI/t6GB3LHCMkIiejgJLE6hsa4ZmOPjYsK8zjTykvWzGPo0MjPK2ZzUWmRAElifV4Wy/usKFAjz+lbFwxH9BxKJGpUkBJYm1rDUa+bVha2AG1fH41C2srFVAiU6SAksR6tLWXpQ3VLKgt7FmuzIyNK+YpoESmSAElifVYa2/BDi/PtHHlPPZ19f2utcIAAAs/SURBVHPo6GDcpYgUDAWUJFL3sWH2dfUX/ACJlJeumAfAQ2pFiWRNASWJtK0tOEG30I8/pZzZXE9FWQlb9yqgRLKlgJJE2tYSDJA4s0Dn4MtUUVbC2cvqeXCfAkokWwooSaRf7ezg9CV11FWVx11KzrxsxXweb+tl8Pho3KWIFAQFlCROZ98QDz7bzRvXN8VdSk69bMU8jo8628L5BUXk5BRQkjj3PnmIMYcLiiygzlk5n7IS42dPHYy7FJGCoICSxPnJE+0sbajmjObCusT7ZOprynnN2oX84NEDuGtePpHJKKAkUfqHR/j1zk7euL6poCeIncjbzm6mrWeAhzRYQmRSCihJlF893cnQyFjRde+lvHF9E5VlJXz/0QNxlyKSeAooSZSfPNFOfXU5L181P+5SIjG3qpw3vGgRP9h2QJffEJmEAkoSY2R0jHufOsT5L1pEeWnxfjTfdnYznX1D3L/7cNyliCRa8X4LSMHZsrebnv7jRTe8PNMbXrSIORWlfP/R/XGXIpJoCihJjJ880U5FWQmvXdcYdymRqiov5YIzFvOjx9sZHhmLuxyRxFJASSIMj4zx48fbefWahcypLIu7nMi97ewl9A4c59c7O+IuRSSxFFCSCHc+2MKB3kH+6LwVcZeSF69e00hDTTl3bm2NuxSRxFJASewGj4/ytZ/t4mUr5vH604q7ey+loqyE9523gh9vb9c5USITUEBJ7G59YB/tRwb55AXrivLk3Il86HWnsmhuJZ//wROaWUJkHAooiVX/8Aj/6xe7eMXqBbzy1IVxl5NXcyrL+NSbTuPhfT1s1og+kRdQQEmsbv6vZ+nsG+aTF6yLu5RYXPLSZZzRXMff/niHLsMhkkEBJbHp6R/mG798htef1sjGlcU5c8RkSkqMv3zLetp6BrjxN3viLkckURRQEov+4RGuuHkr/cMjfOqC0+IuJ1avOHUBF6xv4uv37uLBZ7viLkckMRRQknfDI2N8+JaHeHhfN1+99CWcubQ4Lus+E59/+5ksrq/ifTf+ji17FVIioICSPBsdcz5++yP86ukOvvz7Z/Hms5bEXVIiNNVVcduV59FUV8XlN/2OBzRPn4gCSvJn+/5e3nfTA/zwsQP8zzefzrtefkrcJSVKKqSaG6p5/ze38K379mjghMxqkQaUmV1oZjvMbJeZXT3O45Vmdnv4+ANmtjLtsc+Ey3eY2ZuirFOi9ezhY3z89kd469d+w+NtR/j8pjP44GtXx11WIi2qq+K7HzyPDcvqueb7T/C6v/s537pvDwPDCiqZfSyqEwTNrBR4Gngj0ApsAS5z9yfS1vkosMHdP2xmlwLvcPd3mdl64LvAOUAz8FNgnbtP+Fu6ceNG37p1ayTvRSY3MjrGsaFROvoGOXR0iNbuAbbu7eKBPV08e7ifyrISPvCqVXzk9adSX10ed7mJ5+78dvdh/umnO/ndni7KS40zmut52Yp5nLW0nkV1lSysrWTBnApqKsqoKCuhtGT2nOQsxcXMHnT3jZnLo5yV8xxgl7vvDgu4DdgEPJG2zibgmvD2XcDXLZhKYBNwm7sPAXvMbFe4vd9GVeyHv/0gD+xRv/940v+EcQ++PD28PTI2xvDIGONde6++upxzVs3nj85bwVs2LGFJfXW+Si54ZsYrT13IK09dyAO7D3PvjkM89Gw3t9z/LEMTzIBeXmqUlZRQYlBihhnPm5kjfZIORZnkypvOWMzf/MGGSLYdZUAtBVrS7rcC5060jruPmFkvsCBcfn/Gc5dmvoCZXQlcCXDKKTM7nnHe6vksqquc0TaKWfoXmqW+/DDKS43y0hIqykqoqSilcW4ljXMraaqrYtWCOZTor/oZO3f1As5dvQAIRkDuPXyMzr4hOvuGOdw3xODxMYZGRhkaGWN0zBkbc0bdSe8cSe8p0aRKkktnNkc3CjfKgBrvmynzd2OidbJ5Lu5+A3ADBF18Uy0w3ftftWomTxfJi4qyEtY1zWVd09y4SxGJXJSDJFqB5Wn3lwGZE449t46ZlQH1QFeWzxURkSIWZUBtAdaa2SozqwAuBTZnrLMZuDy8fQlwrwd9EZuBS8NRfquAtcDvIqxVREQSJrIuvvCY0lXAPUApcJO7bzeza4Gt7r4ZuBH4djgIoosgxAjXu4NgQMUI8CcnG8EnIiLFJ7Jh5vmmYeYiIoVpomHmmklCREQSSQElIiKJpIASEZFEUkCJiEgiFc0gCTPrAJ6d4WYWAp05KKcYaF+coH0R0H44QfvihFzsixXu3pi5sGgCKhfMbOt4I0lmI+2LE7QvAtoPJ2hfnBDlvlAXn4iIJJICSkREEkkB9Xw3xF1AgmhfnKB9EdB+OEH74oTI9oWOQYmISCKpBSUiIomkgBIRkUSalQFlZhea2Q4z22VmV4/zeKWZ3R4+/oCZrcx/ldHLYj98wsyeMLNtZvYzM1sRR535MNm+SFvvEjNzMyvaIcbZ7Asz+8Pws7HdzG7Nd435ksXvyClm9nMzezj8PXlzHHVGzcxuMrNDZvb4BI+bmf1zuJ+2mdlLc/LC7j6r/hFc+uMZYDVQATwKrM9Y56PAN8LblwK3x113TPvhvwE14e2PFON+yHZfhOvNBX4F3A9sjLvuGD8Xa4GHgXnh/UVx1x3jvrgB+Eh4ez2wN+66I9oXrwVeCjw+weNvBn5EcDX084AHcvG6s7EFdQ6wy913u/swcBuwKWOdTcDN4e27gPPNbLzL0BeySfeDu//c3fvDu/cTXNm4GGXzmQD4PPC3wGA+i8uzbPbFB4Hr3b0bwN0P5bnGfMlmXzhQF96up0iv/O3uvyK4Zt9ENgH/6oH7gQYzWzLT152NAbUUaEm73xouG3cddx8BeoEFeakuf7LZD+muIPgLqRhNui/M7CXAcnf/QT4Li0E2n4t1wDozu8/M7jezC/NWXX5lsy+uAd5rZq3A3cDH8lNa4kz1+yQrkV1RN8HGawlljrXPZp1Cl/V7NLP3AhuB10VaUXxOui/MrAS4Dnh/vgqKUTafizKCbr7XE7Sqf21mZ7p7T8S15Vs2++Iy4Fvu/g9m9gqCK4Sf6e5j0ZeXKJF8Z87GFlQrsDzt/jJe2Cx/bh0zKyNoup+seVuIstkPmNnvAf8TuNjdh/JUW75Nti/mAmcCvzCzvQR97JuLdKBEtr8f/8/dj7v7HmAHQWAVm2z2xRXAHQDu/lugimDy1Nkmq++TqZqNAbUFWGtmq8ysgmAQxOaMdTYDl4e3LwHu9fBIYBGZdD+E3Vr/QhBOxXqcASbZF+7e6+4L3X2lu68kOB53sbtvjafcSGXz+/EfBANoMLOFBF1+u/NaZX5ksy/2AecDmNnpBAHVkdcqk2Ez8L5wNN95QK+7H5jpRmddF5+7j5jZVcA9BKN0bnL37WZ2LbDV3TcDNxI01XcRtJwuja/iaGS5H/4OqAXuDMeI7HP3i2MrOiJZ7otZIct9cQ9wgZk9AYwC/8PdD8dXdTSy3BefBP6PmX2coEvr/UX4xyxm9l2CLt2F4fG2zwHlAO7+DYLjb28GdgH9wAdy8rpFuC9FRKQIzMYuPhERKQAKKBERSSQFlIiIJJICSkREEkkBJSIiiaSAEhGRRFJAiYhIIimgRBLMzFaa2VNmdnN4nZ27zKwm7rpE8kEBJZJ8pwE3uPsG4AjB9cpEip4CSiT5Wtz9vvD2LcCr4yxGJF8UUCLJlzkfmeYnk1lBASWSfKeE1xqC4PpDv4mzGJF8UUCJJN+TwOVmtg2YD/zvmOsRyYtZd7kNkQI05u4fjrsIkXxTC0pERBJJ14MSEZFEUgtKREQSSQElIiKJpIASEZFEUkCJiEgiKaBERCSR/j+nwQwA/0gpSwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "marginal_p = marginal(joint_posterior2, 1)\n", "marginal_p.plot()\n", "\n", "decorate(xlabel='p',\n", " ylabel='PDF',\n", " title='Posterior marginal distribution of p')" ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [], "source": [ "def likelihood_round3(ps, n, k, s, joint_prior):\n", " like = joint_prior.copy()\n", "\n", " for N in joint_prior:\n", " k00 = N - s[1]\n", " like[N] = (binom.pmf(k[0,0,1], k00, ps) * \n", " binom.pmf(k[0,1,1], k[0,1], ps) * \n", " binom.pmf(k[1,0,1], k[1,0], ps) * \n", " binom.pmf(k[1,1,1], k[1,1], ps))\n", " return like" ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.7620042777092345e-07" ] }, "execution_count": 93, "metadata": {}, "output_type": "execute_result" } ], "source": [ "like3 = likelihood_round3(ps, n, k, s, joint_prior)\n", "like3.to_numpy().sum()" ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [], "source": [ "joint_posterior3 = joint_posterior2 * like3\n", "normalize(joint_posterior3)" ] }, { "cell_type": "code", "execution_count": 95, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_contour(joint_posterior3)\n", "decorate(title='Joint posterior of N and p')" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "marginal_N = marginal(joint_posterior3, 0)\n", "marginal_N.plot()\n", "\n", "decorate(xlabel='N',\n", " ylabel='PDF',\n", " title='Posterior marginal distribution of N')" ] }, { "cell_type": "code", "execution_count": 97, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(391.0058839098183, array([356., 431.]))" ] }, "execution_count": 97, "metadata": {}, "output_type": "execute_result" } ], "source": [ "marginal_N.mean(), marginal_N.credible_interval(0.9)" ] }, { "cell_type": "code", "execution_count": 98, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "marginal_p = marginal(joint_posterior3, 1)\n", "marginal_p.plot()\n", "\n", "decorate(xlabel='p',\n", " ylabel='PDF',\n", " title='Posterior marginal distribution of p')" ] }, { "cell_type": "code", "execution_count": 99, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "joint_plot(joint_posterior3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Spina bifida" ] }, { "cell_type": "code", "execution_count": 100, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "626" ] }, "execution_count": 100, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_sb = [-100, 60, 49, 4, 247, 112, 142, 12]\n", "num_observed(data_sb)" ] }, { "cell_type": "code", "execution_count": 101, "metadata": {}, "outputs": [], "source": [ "def make_stats(data, num_rounds):\n", " index = pd.MultiIndex.from_product([[0, 1]]*num_rounds)\n", "\n", " K = pd.Series(data, index)\n", "\n", " n = pd.Series(0, range(num_rounds))\n", " for level in n.index:\n", " n[level] = K.xs(1, level=level).sum()\n", " \n", " t = [K.sum(level=list(range(i+1)))\n", " for i in range(num_rounds)]\n", " \n", " s = [num_observed(Kx) for Kx in t]\n", " \n", " k = pd.concat(t)\n", " return n, k, s" ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [], "source": [ "n, k, s = make_stats(data_sb, 3)" ] }, { "cell_type": "code", "execution_count": 103, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 513\n", "1 207\n", "2 188\n", "dtype: int64" ] }, "execution_count": 103, "metadata": {}, "output_type": "execute_result" } ], "source": [ "n" ] }, { "cell_type": "code", "execution_count": 104, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 13\n", "1 513\n", "(0, 0) -40\n", "(0, 1) 53\n", "(1, 0) 359\n", "(1, 1) 154\n", "(0, 0, 0) -100\n", "(0, 0, 1) 60\n", "(0, 1, 0) 49\n", "(0, 1, 1) 4\n", "(1, 0, 0) 247\n", "(1, 0, 1) 112\n", "(1, 1, 0) 142\n", "(1, 1, 1) 12\n", "dtype: int64" ] }, "execution_count": 104, "metadata": {}, "output_type": "execute_result" } ], "source": [ "k" ] }, { "cell_type": "code", "execution_count": 105, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[513, 566, 626]" ] }, "execution_count": 105, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s" ] }, { "cell_type": "code", "execution_count": 106, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(75,)" ] }, "execution_count": 106, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Ns = np.arange(s[2], 1000, 5)\n", "prior_N = Pmf(1, Ns)\n", "prior_N.index.name = 'N'\n", "prior_N.shape" ] }, { "cell_type": "code", "execution_count": 107, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "p0\n", "0.50 1\n", "0.51 1\n", "0.52 1\n", "0.53 1\n", "0.54 1\n", "dtype: int64" ] }, "execution_count": 107, "metadata": {}, "output_type": "execute_result" } ], "source": [ "probs0 = np.linspace(0.5, 1.0, 51)\n", "prior_p0 = Pmf(1, probs0)\n", "prior_p0.index.name = 'p0'\n", "prior_p0.head()" ] }, { "cell_type": "code", "execution_count": 108, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "p1\n", "0.10 1\n", "0.11 1\n", "0.12 1\n", "0.13 1\n", "0.14 1\n", "dtype: int64" ] }, "execution_count": 108, "metadata": {}, "output_type": "execute_result" } ], "source": [ "probs1 = np.linspace(0.1, 0.5, 41)\n", "prior_p1 = Pmf(1, probs1)\n", "prior_p1.index.name = 'p1'\n", "prior_p1.head()" ] }, { "cell_type": "code", "execution_count": 109, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "p2\n", "0.10 1\n", "0.11 1\n", "0.12 1\n", "0.13 1\n", "0.14 1\n", "dtype: int64" ] }, "execution_count": 109, "metadata": {}, "output_type": "execute_result" } ], "source": [ "probs2 = np.linspace(0.1, 0.4, 31)\n", "prior_p2 = Pmf(1, probs2)\n", "prior_p2.index.name = 'p2'\n", "prior_p2.head()" ] }, { "cell_type": "code", "execution_count": 110, "metadata": {}, "outputs": [], "source": [ "def make_joint3(prior0, prior1, prior2):\n", " joint2 = make_joint(prior0, prior1)\n", " joint2_pmf = Pmf(joint2.transpose().stack())\n", " joint3 = make_joint(prior2, joint2_pmf)\n", " return joint3" ] }, { "cell_type": "code", "execution_count": 111, "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", " \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", " \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", " \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", " \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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
N626631636641646651656661666671...951956961966971976981986991996
p0p1
0.50.101111111111...1111111111
0.111111111111...1111111111
0.121111111111...1111111111
0.131111111111...1111111111
0.141111111111...1111111111
\n", "

5 rows × 75 columns

\n", "
" ], "text/plain": [ "N 626 631 636 641 646 651 656 661 666 671 ... 951 956 \\\n", "p0 p1 ... \n", "0.5 0.10 1 1 1 1 1 1 1 1 1 1 ... 1 1 \n", " 0.11 1 1 1 1 1 1 1 1 1 1 ... 1 1 \n", " 0.12 1 1 1 1 1 1 1 1 1 1 ... 1 1 \n", " 0.13 1 1 1 1 1 1 1 1 1 1 ... 1 1 \n", " 0.14 1 1 1 1 1 1 1 1 1 1 ... 1 1 \n", "\n", "N 961 966 971 976 981 986 991 996 \n", "p0 p1 \n", "0.5 0.10 1 1 1 1 1 1 1 1 \n", " 0.11 1 1 1 1 1 1 1 1 \n", " 0.12 1 1 1 1 1 1 1 1 \n", " 0.13 1 1 1 1 1 1 1 1 \n", " 0.14 1 1 1 1 1 1 1 1 \n", "\n", "[5 rows x 75 columns]" ] }, "execution_count": 111, "metadata": {}, "output_type": "execute_result" } ], "source": [ "joint_prior = make_joint3(prior_p0, prior_p1, prior_N)\n", "joint_prior.head()" ] }, { "cell_type": "code", "execution_count": 112, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.018731276129625645" ] }, "execution_count": 112, "metadata": {}, "output_type": "execute_result" } ], "source": [ "likelihood = joint_prior.copy()\n", "Ns = joint_prior.columns\n", "\n", "for (p0, p1) in joint_prior.index:\n", " like0 = binom.pmf(k[1], Ns, p0)\n", " k0 = Ns - s[0]\n", " like1 = binom.pmf(k[0,1], k0, p1) * binom.pmf(k[1,1], k[1], p1)\n", " likelihood.loc[p0, p1] = like0 * like1\n", " \n", "likelihood.to_numpy().sum()" ] }, { "cell_type": "code", "execution_count": 113, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(2091, 75)" ] }, "execution_count": 113, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from utils import normalize\n", "\n", "joint_posterior = joint_prior * likelihood\n", "normalize(joint_posterior)\n", "joint_posterior.shape" ] }, { "cell_type": "code", "execution_count": 114, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(692.2431131826501, array([656., 736.]))" ] }, "execution_count": 114, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from utils import marginal\n", "\n", "posterior_N = marginal(joint_posterior, 0)\n", "posterior_N.plot()\n", "decorate(xlabel='N',\n", " ylabel='PDF',\n", " title='Posterior for N after two rounds')\n", "posterior_N.mean(), posterior_N.credible_interval(0.9)" ] }, { "cell_type": "code", "execution_count": 115, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "p0 p1 \n", "0.5 0.10 2.947207e-37\n", " 0.11 1.861223e-32\n", " 0.12 1.953523e-28\n", " 0.13 4.500420e-25\n", " 0.14 2.829563e-22\n", "dtype: float64" ] }, "execution_count": 115, "metadata": {}, "output_type": "execute_result" } ], "source": [ "posterior_pmf = marginal(joint_posterior, 1)\n", "posterior_pmf.head()" ] }, { "cell_type": "code", "execution_count": 116, "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", " \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", " \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", " \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", " \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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
p00.500.510.520.530.540.550.560.570.580.59...0.910.920.930.940.950.960.970.980.991.00
p1
0.102.947207e-375.752617e-378.229098e-378.950258e-377.768676e-375.687643e-373.693776e-372.201006e-371.222578e-376.363633e-38...1.080048e-694.109999e-732.668340e-771.661087e-824.154567e-899.891179e-981.527339e-1093.716743e-1276.539915e-1590.0
0.111.861223e-323.784273e-325.733157e-326.751113e-326.508276e-325.417108e-324.059544e-322.805169e-321.804716e-321.084217e-32...3.624491e-631.393297e-669.097228e-715.680458e-761.422909e-823.389949e-915.235870e-1031.274223e-1202.242121e-1520.0
0.121.953523e-284.172673e-286.771129e-288.748955e-289.488763e-289.058997e-287.861471e-286.298952e-284.686467e-283.243756e-28...2.072457e-578.043589e-615.280316e-653.306703e-708.295063e-771.977499e-853.055031e-977.435326e-1151.308332e-1460.0
0.134.500420e-251.020180e-241.796033e-242.581497e-243.185529e-243.509935e-243.532280e-243.278305e-242.815720e-242.241299e-24...2.655770e-521.040168e-556.863443e-604.310016e-651.082693e-712.582675e-803.990875e-929.713577e-1101.709232e-1410.0
0.142.829563e-226.888566e-221.333969e-212.160752e-213.060611e-213.905723e-214.557629e-214.892007e-214.841600e-214.424124e-21...9.435150e-483.727362e-512.471482e-551.556105e-603.914164e-679.342422e-761.443951e-873.514706e-1056.184642e-1370.0
\n", "

5 rows × 51 columns

\n", "
" ], "text/plain": [ "p0 0.50 0.51 0.52 0.53 0.54 \\\n", "p1 \n", "0.10 2.947207e-37 5.752617e-37 8.229098e-37 8.950258e-37 7.768676e-37 \n", "0.11 1.861223e-32 3.784273e-32 5.733157e-32 6.751113e-32 6.508276e-32 \n", "0.12 1.953523e-28 4.172673e-28 6.771129e-28 8.748955e-28 9.488763e-28 \n", "0.13 4.500420e-25 1.020180e-24 1.796033e-24 2.581497e-24 3.185529e-24 \n", "0.14 2.829563e-22 6.888566e-22 1.333969e-21 2.160752e-21 3.060611e-21 \n", "\n", "p0 0.55 0.56 0.57 0.58 0.59 \\\n", "p1 \n", "0.10 5.687643e-37 3.693776e-37 2.201006e-37 1.222578e-37 6.363633e-38 \n", "0.11 5.417108e-32 4.059544e-32 2.805169e-32 1.804716e-32 1.084217e-32 \n", "0.12 9.058997e-28 7.861471e-28 6.298952e-28 4.686467e-28 3.243756e-28 \n", "0.13 3.509935e-24 3.532280e-24 3.278305e-24 2.815720e-24 2.241299e-24 \n", "0.14 3.905723e-21 4.557629e-21 4.892007e-21 4.841600e-21 4.424124e-21 \n", "\n", "p0 ... 0.91 0.92 0.93 0.94 \\\n", "p1 ... \n", "0.10 ... 1.080048e-69 4.109999e-73 2.668340e-77 1.661087e-82 \n", "0.11 ... 3.624491e-63 1.393297e-66 9.097228e-71 5.680458e-76 \n", "0.12 ... 2.072457e-57 8.043589e-61 5.280316e-65 3.306703e-70 \n", "0.13 ... 2.655770e-52 1.040168e-55 6.863443e-60 4.310016e-65 \n", "0.14 ... 9.435150e-48 3.727362e-51 2.471482e-55 1.556105e-60 \n", "\n", "p0 0.95 0.96 0.97 0.98 0.99 \\\n", "p1 \n", "0.10 4.154567e-89 9.891179e-98 1.527339e-109 3.716743e-127 6.539915e-159 \n", "0.11 1.422909e-82 3.389949e-91 5.235870e-103 1.274223e-120 2.242121e-152 \n", "0.12 8.295063e-77 1.977499e-85 3.055031e-97 7.435326e-115 1.308332e-146 \n", "0.13 1.082693e-71 2.582675e-80 3.990875e-92 9.713577e-110 1.709232e-141 \n", "0.14 3.914164e-67 9.342422e-76 1.443951e-87 3.514706e-105 6.184642e-137 \n", "\n", "p0 1.00 \n", "p1 \n", "0.10 0.0 \n", "0.11 0.0 \n", "0.12 0.0 \n", "0.13 0.0 \n", "0.14 0.0 \n", "\n", "[5 rows x 51 columns]" ] }, "execution_count": 116, "metadata": {}, "output_type": "execute_result" } ], "source": [ "posterior_joint_ps = posterior_pmf.unstack().transpose()\n", "posterior_joint_ps.head()" ] }, { "cell_type": "code", "execution_count": 117, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_contour(posterior_joint_ps)\n", "decorate(title='Posterior joint distribution for p1 and p2')" ] }, { "cell_type": "code", "execution_count": 118, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "posterior_p1 = marginal(posterior_joint_ps, 0)\n", "posterior_p2 = marginal(posterior_joint_ps, 1)\n", "\n", "posterior_p1.plot(label='p1')\n", "posterior_p2.plot(label='p2')\n", "decorate(xlabel='Probability of finding a bug',\n", " ylabel='PDF',\n", " title='Posterior marginal distributions of p1 and p2')" ] }, { "cell_type": "code", "execution_count": 119, "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", " \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", " \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", " \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", " \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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
p20.100.110.120.130.140.150.160.170.180.19...0.310.320.330.340.350.360.370.380.390.40
p0p1
0.50.102.947207e-372.947207e-372.947207e-372.947207e-372.947207e-372.947207e-372.947207e-372.947207e-372.947207e-372.947207e-37...2.947207e-372.947207e-372.947207e-372.947207e-372.947207e-372.947207e-372.947207e-372.947207e-372.947207e-372.947207e-37
0.111.861223e-321.861223e-321.861223e-321.861223e-321.861223e-321.861223e-321.861223e-321.861223e-321.861223e-321.861223e-32...1.861223e-321.861223e-321.861223e-321.861223e-321.861223e-321.861223e-321.861223e-321.861223e-321.861223e-321.861223e-32
0.121.953523e-281.953523e-281.953523e-281.953523e-281.953523e-281.953523e-281.953523e-281.953523e-281.953523e-281.953523e-28...1.953523e-281.953523e-281.953523e-281.953523e-281.953523e-281.953523e-281.953523e-281.953523e-281.953523e-281.953523e-28
0.134.500420e-254.500420e-254.500420e-254.500420e-254.500420e-254.500420e-254.500420e-254.500420e-254.500420e-254.500420e-25...4.500420e-254.500420e-254.500420e-254.500420e-254.500420e-254.500420e-254.500420e-254.500420e-254.500420e-254.500420e-25
0.142.829563e-222.829563e-222.829563e-222.829563e-222.829563e-222.829563e-222.829563e-222.829563e-222.829563e-222.829563e-22...2.829563e-222.829563e-222.829563e-222.829563e-222.829563e-222.829563e-222.829563e-222.829563e-222.829563e-222.829563e-22
\n", "

5 rows × 31 columns

\n", "
" ], "text/plain": [ "p2 0.10 0.11 0.12 0.13 \\\n", "p0 p1 \n", "0.5 0.10 2.947207e-37 2.947207e-37 2.947207e-37 2.947207e-37 \n", " 0.11 1.861223e-32 1.861223e-32 1.861223e-32 1.861223e-32 \n", " 0.12 1.953523e-28 1.953523e-28 1.953523e-28 1.953523e-28 \n", " 0.13 4.500420e-25 4.500420e-25 4.500420e-25 4.500420e-25 \n", " 0.14 2.829563e-22 2.829563e-22 2.829563e-22 2.829563e-22 \n", "\n", "p2 0.14 0.15 0.16 0.17 \\\n", "p0 p1 \n", "0.5 0.10 2.947207e-37 2.947207e-37 2.947207e-37 2.947207e-37 \n", " 0.11 1.861223e-32 1.861223e-32 1.861223e-32 1.861223e-32 \n", " 0.12 1.953523e-28 1.953523e-28 1.953523e-28 1.953523e-28 \n", " 0.13 4.500420e-25 4.500420e-25 4.500420e-25 4.500420e-25 \n", " 0.14 2.829563e-22 2.829563e-22 2.829563e-22 2.829563e-22 \n", "\n", "p2 0.18 0.19 ... 0.31 0.32 \\\n", "p0 p1 ... \n", "0.5 0.10 2.947207e-37 2.947207e-37 ... 2.947207e-37 2.947207e-37 \n", " 0.11 1.861223e-32 1.861223e-32 ... 1.861223e-32 1.861223e-32 \n", " 0.12 1.953523e-28 1.953523e-28 ... 1.953523e-28 1.953523e-28 \n", " 0.13 4.500420e-25 4.500420e-25 ... 4.500420e-25 4.500420e-25 \n", " 0.14 2.829563e-22 2.829563e-22 ... 2.829563e-22 2.829563e-22 \n", "\n", "p2 0.33 0.34 0.35 0.36 \\\n", "p0 p1 \n", "0.5 0.10 2.947207e-37 2.947207e-37 2.947207e-37 2.947207e-37 \n", " 0.11 1.861223e-32 1.861223e-32 1.861223e-32 1.861223e-32 \n", " 0.12 1.953523e-28 1.953523e-28 1.953523e-28 1.953523e-28 \n", " 0.13 4.500420e-25 4.500420e-25 4.500420e-25 4.500420e-25 \n", " 0.14 2.829563e-22 2.829563e-22 2.829563e-22 2.829563e-22 \n", "\n", "p2 0.37 0.38 0.39 0.40 \n", "p0 p1 \n", "0.5 0.10 2.947207e-37 2.947207e-37 2.947207e-37 2.947207e-37 \n", " 0.11 1.861223e-32 1.861223e-32 1.861223e-32 1.861223e-32 \n", " 0.12 1.953523e-28 1.953523e-28 1.953523e-28 1.953523e-28 \n", " 0.13 4.500420e-25 4.500420e-25 4.500420e-25 4.500420e-25 \n", " 0.14 2.829563e-22 2.829563e-22 2.829563e-22 2.829563e-22 \n", "\n", "[5 rows x 31 columns]" ] }, "execution_count": 119, "metadata": {}, "output_type": "execute_result" } ], "source": [ "joint3 = make_joint(prior_p2, posterior_pmf)\n", "joint3.head()" ] }, { "cell_type": "code", "execution_count": 120, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "p0 p1 p2 \n", "0.5 0.1 0.10 2.947207e-37\n", " 0.11 2.947207e-37\n", " 0.12 2.947207e-37\n", " 0.13 2.947207e-37\n", " 0.14 2.947207e-37\n", "dtype: float64" ] }, "execution_count": 120, "metadata": {}, "output_type": "execute_result" } ], "source": [ "joint3_pmf = Pmf(joint3.stack())\n", "joint3_pmf.head()" ] }, { "cell_type": "code", "execution_count": 121, "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", " \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", " \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", " \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", " \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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
N626631636641646651656661666671...951956961966971976981986991996
p0p1p2
0.50.10.101.110082e-403.145803e-407.660854e-401.632689e-393.092079e-395.271664e-398.181044e-391.166761e-381.541936e-381.901980e-38...1.021086e-485.631592e-493.101757e-491.705500e-499.357734e-505.120560e-502.792478e-501.516473e-508.193237e-514.399697e-51
0.111.110082e-403.145803e-407.660854e-401.632689e-393.092079e-395.271664e-398.181044e-391.166761e-381.541936e-381.901980e-38...1.021086e-485.631592e-493.101757e-491.705500e-499.357734e-505.120560e-502.792478e-501.516473e-508.193237e-514.399697e-51
0.121.110082e-403.145803e-407.660854e-401.632689e-393.092079e-395.271664e-398.181044e-391.166761e-381.541936e-381.901980e-38...1.021086e-485.631592e-493.101757e-491.705500e-499.357734e-505.120560e-502.792478e-501.516473e-508.193237e-514.399697e-51
0.131.110082e-403.145803e-407.660854e-401.632689e-393.092079e-395.271664e-398.181044e-391.166761e-381.541936e-381.901980e-38...1.021086e-485.631592e-493.101757e-491.705500e-499.357734e-505.120560e-502.792478e-501.516473e-508.193237e-514.399697e-51
0.141.110082e-403.145803e-407.660854e-401.632689e-393.092079e-395.271664e-398.181044e-391.166761e-381.541936e-381.901980e-38...1.021086e-485.631592e-493.101757e-491.705500e-499.357734e-505.120560e-502.792478e-501.516473e-508.193237e-514.399697e-51
\n", "

5 rows × 75 columns

\n", "
" ], "text/plain": [ "N 626 631 636 641 \\\n", "p0 p1 p2 \n", "0.5 0.1 0.10 1.110082e-40 3.145803e-40 7.660854e-40 1.632689e-39 \n", " 0.11 1.110082e-40 3.145803e-40 7.660854e-40 1.632689e-39 \n", " 0.12 1.110082e-40 3.145803e-40 7.660854e-40 1.632689e-39 \n", " 0.13 1.110082e-40 3.145803e-40 7.660854e-40 1.632689e-39 \n", " 0.14 1.110082e-40 3.145803e-40 7.660854e-40 1.632689e-39 \n", "\n", "N 646 651 656 661 \\\n", "p0 p1 p2 \n", "0.5 0.1 0.10 3.092079e-39 5.271664e-39 8.181044e-39 1.166761e-38 \n", " 0.11 3.092079e-39 5.271664e-39 8.181044e-39 1.166761e-38 \n", " 0.12 3.092079e-39 5.271664e-39 8.181044e-39 1.166761e-38 \n", " 0.13 3.092079e-39 5.271664e-39 8.181044e-39 1.166761e-38 \n", " 0.14 3.092079e-39 5.271664e-39 8.181044e-39 1.166761e-38 \n", "\n", "N 666 671 ... 951 956 \\\n", "p0 p1 p2 ... \n", "0.5 0.1 0.10 1.541936e-38 1.901980e-38 ... 1.021086e-48 5.631592e-49 \n", " 0.11 1.541936e-38 1.901980e-38 ... 1.021086e-48 5.631592e-49 \n", " 0.12 1.541936e-38 1.901980e-38 ... 1.021086e-48 5.631592e-49 \n", " 0.13 1.541936e-38 1.901980e-38 ... 1.021086e-48 5.631592e-49 \n", " 0.14 1.541936e-38 1.901980e-38 ... 1.021086e-48 5.631592e-49 \n", "\n", "N 961 966 971 976 \\\n", "p0 p1 p2 \n", "0.5 0.1 0.10 3.101757e-49 1.705500e-49 9.357734e-50 5.120560e-50 \n", " 0.11 3.101757e-49 1.705500e-49 9.357734e-50 5.120560e-50 \n", " 0.12 3.101757e-49 1.705500e-49 9.357734e-50 5.120560e-50 \n", " 0.13 3.101757e-49 1.705500e-49 9.357734e-50 5.120560e-50 \n", " 0.14 3.101757e-49 1.705500e-49 9.357734e-50 5.120560e-50 \n", "\n", "N 981 986 991 996 \n", "p0 p1 p2 \n", "0.5 0.1 0.10 2.792478e-50 1.516473e-50 8.193237e-51 4.399697e-51 \n", " 0.11 2.792478e-50 1.516473e-50 8.193237e-51 4.399697e-51 \n", " 0.12 2.792478e-50 1.516473e-50 8.193237e-51 4.399697e-51 \n", " 0.13 2.792478e-50 1.516473e-50 8.193237e-51 4.399697e-51 \n", " 0.14 2.792478e-50 1.516473e-50 8.193237e-51 4.399697e-51 \n", "\n", "[5 rows x 75 columns]" ] }, "execution_count": 121, "metadata": {}, "output_type": "execute_result" } ], "source": [ "prior4 = make_joint(posterior_N, joint3_pmf)\n", "prior4.head()" ] }, { "cell_type": "code", "execution_count": 122, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(64821, 75)" ] }, "execution_count": 122, "metadata": {}, "output_type": "execute_result" } ], "source": [ "prior4.shape" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 123, "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", " \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", " \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", " \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", " \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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
N626631636641646651656661666671...951956961966971976981986991996
p2
0.100.0003770.0010670.0025990.005540.0104920.0178870.0277590.0395890.0523190.064535...3.464588e-121.910823e-121.052439e-125.786834e-133.175120e-131.737428e-139.475000e-145.145458e-142.780001e-141.492836e-14
0.110.0003770.0010670.0025990.005540.0104920.0178870.0277590.0395890.0523190.064535...3.464588e-121.910823e-121.052439e-125.786834e-133.175120e-131.737428e-139.475000e-145.145458e-142.780001e-141.492836e-14
0.120.0003770.0010670.0025990.005540.0104920.0178870.0277590.0395890.0523190.064535...3.464588e-121.910823e-121.052439e-125.786834e-133.175120e-131.737428e-139.475000e-145.145458e-142.780001e-141.492836e-14
0.130.0003770.0010670.0025990.005540.0104920.0178870.0277590.0395890.0523190.064535...3.464588e-121.910823e-121.052439e-125.786834e-133.175120e-131.737428e-139.475000e-145.145458e-142.780001e-141.492836e-14
0.140.0003770.0010670.0025990.005540.0104920.0178870.0277590.0395890.0523190.064535...3.464588e-121.910823e-121.052439e-125.786834e-133.175120e-131.737428e-139.475000e-145.145458e-142.780001e-141.492836e-14
\n", "

5 rows × 75 columns

\n", "
" ], "text/plain": [ "N 626 631 636 641 646 651 656 \\\n", "p2 \n", "0.10 0.000377 0.001067 0.002599 0.00554 0.010492 0.017887 0.027759 \n", "0.11 0.000377 0.001067 0.002599 0.00554 0.010492 0.017887 0.027759 \n", "0.12 0.000377 0.001067 0.002599 0.00554 0.010492 0.017887 0.027759 \n", "0.13 0.000377 0.001067 0.002599 0.00554 0.010492 0.017887 0.027759 \n", "0.14 0.000377 0.001067 0.002599 0.00554 0.010492 0.017887 0.027759 \n", "\n", "N 661 666 671 ... 951 956 \\\n", "p2 ... \n", "0.10 0.039589 0.052319 0.064535 ... 3.464588e-12 1.910823e-12 \n", "0.11 0.039589 0.052319 0.064535 ... 3.464588e-12 1.910823e-12 \n", "0.12 0.039589 0.052319 0.064535 ... 3.464588e-12 1.910823e-12 \n", "0.13 0.039589 0.052319 0.064535 ... 3.464588e-12 1.910823e-12 \n", "0.14 0.039589 0.052319 0.064535 ... 3.464588e-12 1.910823e-12 \n", "\n", "N 961 966 971 976 981 \\\n", "p2 \n", "0.10 1.052439e-12 5.786834e-13 3.175120e-13 1.737428e-13 9.475000e-14 \n", "0.11 1.052439e-12 5.786834e-13 3.175120e-13 1.737428e-13 9.475000e-14 \n", "0.12 1.052439e-12 5.786834e-13 3.175120e-13 1.737428e-13 9.475000e-14 \n", "0.13 1.052439e-12 5.786834e-13 3.175120e-13 1.737428e-13 9.475000e-14 \n", "0.14 1.052439e-12 5.786834e-13 3.175120e-13 1.737428e-13 9.475000e-14 \n", "\n", "N 986 991 996 \n", "p2 \n", "0.10 5.145458e-14 2.780001e-14 1.492836e-14 \n", "0.11 5.145458e-14 2.780001e-14 1.492836e-14 \n", "0.12 5.145458e-14 2.780001e-14 1.492836e-14 \n", "0.13 5.145458e-14 2.780001e-14 1.492836e-14 \n", "0.14 5.145458e-14 2.780001e-14 1.492836e-14 \n", "\n", "[5 rows x 75 columns]" ] }, "execution_count": 123, "metadata": {}, "output_type": "execute_result" } ], "source": [ "joint2 = make_joint(posterior_N, prior_p2)\n", "joint2.head()" ] }, { "cell_type": "code", "execution_count": 124, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.874211433485911e-13" ] }, "execution_count": 124, "metadata": {}, "output_type": "execute_result" } ], "source": [ "like2 = joint2.copy()\n", "Ns = joint2.columns\n", "\n", "for p2 in joint2.index:\n", " k00 = Ns - s[1]\n", " like = (binom.pmf(k[0,0,1], k00, p2) *\n", " binom.pmf(k[0,1,1], k[0,1], p2) *\n", " binom.pmf(k[1,0,1], k[1,0], p2) *\n", " binom.pmf(k[1,1,1], k[1,1], p2))\n", " \n", " like2.loc[p2] = like\n", "\n", "like2.to_numpy().sum()" ] }, { "cell_type": "code", "execution_count": 125, "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", " \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", " \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", " \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", " \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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
N626631636641646651656661666671...951956961966971976981986991996
p2
0.101.703221e-908.307258e-842.355935e-797.995505e-767.320646e-732.668800e-704.860121e-685.122132e-663.460629e-641.615036e-62...2.879404e-343.938314e-345.324392e-347.117373e-349.410051e-341.230875e-331.593338e-332.041697e-332.590460e-333.255168e-33
0.117.721462e-853.561425e-789.551394e-743.065398e-702.654165e-679.150232e-651.575798e-621.570514e-601.003422e-584.428414e-57...3.456749e-304.471086e-305.716236e-307.225990e-309.034562e-301.117549e-291.368038e-291.657750e-291.989033e-292.363611e-29
0.126.958834e-803.033360e-737.688301e-692.331921e-651.908175e-626.217069e-601.011853e-579.530637e-565.754759e-542.400242e-52...7.918101e-279.678980e-271.169473e-261.397142e-261.650873e-261.929908e-262.232705e-262.556910e-262.899358e-263.256111e-26
0.131.598949e-756.582716e-691.575776e-644.513992e-613.488575e-581.073491e-551.650111e-531.467914e-518.371216e-503.297611e-48...4.434125e-245.119168e-245.841747e-246.591377e-247.355838e-248.121531e-248.873921e-249.598042e-241.027903e-231.090265e-23
0.141.136172e-714.414796e-659.974608e-612.696859e-571.967168e-545.713311e-528.288932e-506.959562e-483.745985e-461.392749e-44...7.356258e-228.015754e-228.633437e-229.194183e-229.684231e-221.009176e-211.040736e-211.062438e-211.073913e-211.075091e-21
\n", "

5 rows × 75 columns

\n", "
" ], "text/plain": [ "N 626 631 636 641 646 \\\n", "p2 \n", "0.10 1.703221e-90 8.307258e-84 2.355935e-79 7.995505e-76 7.320646e-73 \n", "0.11 7.721462e-85 3.561425e-78 9.551394e-74 3.065398e-70 2.654165e-67 \n", "0.12 6.958834e-80 3.033360e-73 7.688301e-69 2.331921e-65 1.908175e-62 \n", "0.13 1.598949e-75 6.582716e-69 1.575776e-64 4.513992e-61 3.488575e-58 \n", "0.14 1.136172e-71 4.414796e-65 9.974608e-61 2.696859e-57 1.967168e-54 \n", "\n", "N 651 656 661 666 671 \\\n", "p2 \n", "0.10 2.668800e-70 4.860121e-68 5.122132e-66 3.460629e-64 1.615036e-62 \n", "0.11 9.150232e-65 1.575798e-62 1.570514e-60 1.003422e-58 4.428414e-57 \n", "0.12 6.217069e-60 1.011853e-57 9.530637e-56 5.754759e-54 2.400242e-52 \n", "0.13 1.073491e-55 1.650111e-53 1.467914e-51 8.371216e-50 3.297611e-48 \n", "0.14 5.713311e-52 8.288932e-50 6.959562e-48 3.745985e-46 1.392749e-44 \n", "\n", "N ... 951 956 961 966 \\\n", "p2 ... \n", "0.10 ... 2.879404e-34 3.938314e-34 5.324392e-34 7.117373e-34 \n", "0.11 ... 3.456749e-30 4.471086e-30 5.716236e-30 7.225990e-30 \n", "0.12 ... 7.918101e-27 9.678980e-27 1.169473e-26 1.397142e-26 \n", "0.13 ... 4.434125e-24 5.119168e-24 5.841747e-24 6.591377e-24 \n", "0.14 ... 7.356258e-22 8.015754e-22 8.633437e-22 9.194183e-22 \n", "\n", "N 971 976 981 986 991 \\\n", "p2 \n", "0.10 9.410051e-34 1.230875e-33 1.593338e-33 2.041697e-33 2.590460e-33 \n", "0.11 9.034562e-30 1.117549e-29 1.368038e-29 1.657750e-29 1.989033e-29 \n", "0.12 1.650873e-26 1.929908e-26 2.232705e-26 2.556910e-26 2.899358e-26 \n", "0.13 7.355838e-24 8.121531e-24 8.873921e-24 9.598042e-24 1.027903e-23 \n", "0.14 9.684231e-22 1.009176e-21 1.040736e-21 1.062438e-21 1.073913e-21 \n", "\n", "N 996 \n", "p2 \n", "0.10 3.255168e-33 \n", "0.11 2.363611e-29 \n", "0.12 3.256111e-26 \n", "0.13 1.090265e-23 \n", "0.14 1.075091e-21 \n", "\n", "[5 rows x 75 columns]" ] }, "execution_count": 125, "metadata": {}, "output_type": "execute_result" } ], "source": [ "like2.head()" ] }, { "cell_type": "code", "execution_count": 126, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "6.009976107419042e-10" ] }, "execution_count": 126, "metadata": {}, "output_type": "execute_result" } ], "source": [ "like4 = prior4.copy()\n", "\n", "for (p0, p1, p2) in prior4.index:\n", " like4.loc[p0, p1, p2] = like2.loc[p2]\n", " \n", "like4.to_numpy().sum()" ] }, { "cell_type": "code", "execution_count": 127, "metadata": {}, "outputs": [], "source": [ "posterior4 = prior4 * like4\n", "normalize(posterior4)" ] }, { "cell_type": "code", "execution_count": 128, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(764.7788307540033, array([731., 801.]))" ] }, "execution_count": 128, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "marginal_N = marginal(posterior4, 0)\n", "marginal_N.plot()\n", "\n", "decorate(xlabel='N',\n", " ylabel='PDF',\n", " title='Posterior for N after three rounds')\n", "\n", "marginal_N.mean(), marginal_N.credible_interval(0.9)" ] }, { "cell_type": "code", "execution_count": 129, "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", " \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", " \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", " \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", " \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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
p20.100.110.120.130.140.150.160.170.180.19...0.310.320.330.340.350.360.370.380.390.40
p0p1
0.50.101.418302e-634.240113e-592.774674e-555.057520e-523.092954e-497.348184e-477.626764e-453.804192e-439.862481e-421.418366e-40...1.122851e-401.468367e-411.495120e-421.193693e-437.517753e-453.753762e-461.492334e-474.740089e-491.206188e-502.464024e-52
0.118.956875e-592.677720e-541.752265e-503.193929e-471.953265e-444.640531e-424.816461e-402.402427e-386.228362e-378.957275e-36...7.091039e-369.273043e-379.441997e-387.538418e-394.747618e-402.370579e-419.424402e-432.993465e-447.617326e-461.556082e-47
0.129.401057e-552.810511e-501.839162e-463.352320e-432.050129e-404.870661e-385.055315e-362.521566e-346.537234e-339.401477e-32...7.442692e-329.732904e-339.910237e-347.912257e-354.983058e-362.488139e-379.891769e-393.141915e-407.995078e-421.633250e-43
0.132.165764e-516.474703e-474.236960e-437.722893e-404.722977e-371.122076e-341.164616e-325.809046e-311.506012e-292.165861e-28...1.714607e-282.242213e-292.283067e-301.822783e-311.147970e-325.732038e-342.278812e-357.238172e-371.841863e-383.762593e-40
0.141.361688e-484.070860e-442.663917e-404.855638e-372.969492e-347.054865e-327.322325e-303.652339e-289.468798e-271.361748e-25...1.078030e-251.409754e-261.435439e-271.146044e-287.217665e-303.603922e-311.432764e-324.550878e-341.158040e-352.365667e-37
\n", "

5 rows × 31 columns

\n", "
" ], "text/plain": [ "p2 0.10 0.11 0.12 0.13 \\\n", "p0 p1 \n", "0.5 0.10 1.418302e-63 4.240113e-59 2.774674e-55 5.057520e-52 \n", " 0.11 8.956875e-59 2.677720e-54 1.752265e-50 3.193929e-47 \n", " 0.12 9.401057e-55 2.810511e-50 1.839162e-46 3.352320e-43 \n", " 0.13 2.165764e-51 6.474703e-47 4.236960e-43 7.722893e-40 \n", " 0.14 1.361688e-48 4.070860e-44 2.663917e-40 4.855638e-37 \n", "\n", "p2 0.14 0.15 0.16 0.17 \\\n", "p0 p1 \n", "0.5 0.10 3.092954e-49 7.348184e-47 7.626764e-45 3.804192e-43 \n", " 0.11 1.953265e-44 4.640531e-42 4.816461e-40 2.402427e-38 \n", " 0.12 2.050129e-40 4.870661e-38 5.055315e-36 2.521566e-34 \n", " 0.13 4.722977e-37 1.122076e-34 1.164616e-32 5.809046e-31 \n", " 0.14 2.969492e-34 7.054865e-32 7.322325e-30 3.652339e-28 \n", "\n", "p2 0.18 0.19 ... 0.31 0.32 \\\n", "p0 p1 ... \n", "0.5 0.10 9.862481e-42 1.418366e-40 ... 1.122851e-40 1.468367e-41 \n", " 0.11 6.228362e-37 8.957275e-36 ... 7.091039e-36 9.273043e-37 \n", " 0.12 6.537234e-33 9.401477e-32 ... 7.442692e-32 9.732904e-33 \n", " 0.13 1.506012e-29 2.165861e-28 ... 1.714607e-28 2.242213e-29 \n", " 0.14 9.468798e-27 1.361748e-25 ... 1.078030e-25 1.409754e-26 \n", "\n", "p2 0.33 0.34 0.35 0.36 \\\n", "p0 p1 \n", "0.5 0.10 1.495120e-42 1.193693e-43 7.517753e-45 3.753762e-46 \n", " 0.11 9.441997e-38 7.538418e-39 4.747618e-40 2.370579e-41 \n", " 0.12 9.910237e-34 7.912257e-35 4.983058e-36 2.488139e-37 \n", " 0.13 2.283067e-30 1.822783e-31 1.147970e-32 5.732038e-34 \n", " 0.14 1.435439e-27 1.146044e-28 7.217665e-30 3.603922e-31 \n", "\n", "p2 0.37 0.38 0.39 0.40 \n", "p0 p1 \n", "0.5 0.10 1.492334e-47 4.740089e-49 1.206188e-50 2.464024e-52 \n", " 0.11 9.424402e-43 2.993465e-44 7.617326e-46 1.556082e-47 \n", " 0.12 9.891769e-39 3.141915e-40 7.995078e-42 1.633250e-43 \n", " 0.13 2.278812e-35 7.238172e-37 1.841863e-38 3.762593e-40 \n", " 0.14 1.432764e-32 4.550878e-34 1.158040e-35 2.365667e-37 \n", "\n", "[5 rows x 31 columns]" ] }, "execution_count": 129, "metadata": {}, "output_type": "execute_result" } ], "source": [ "posterior_p012 = marginal(posterior4, 1)\n", "posterior_p012.unstack().head()" ] }, { "cell_type": "code", "execution_count": 130, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "posterior_p2 = marginal(posterior_p012.unstack(), 0)\n", "posterior_p2.plot()" ] }, { "cell_type": "code", "execution_count": 131, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAa8AAAGoCAYAAADxbmq5AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdd3hUVR7G8e/JpPfeCQkhEBI6oRdBqaJgAWkqiAXXtay961pwXXtHUbEDKriCdKnSIdTQQkJNCAkphPQyM2f/SAgJRQEZwkx+n+eZJ7l1zp1k5p1z7rnnKq01QgghhDWxq+8CCCGEEBdKwksIIYTVkfASQghhdSS8hBBCWB0JLyGEEFbHvr4LcAlJt0khhK1R9V2AK5XUvIQQQlgdW6p5CXHJrNibzevz9+DqaKCxryuNfF1p7Ff1aBbkgYezQ30XUYgGTdnQRco2cyCi/pjMmvcX7+XDZalE+bsR6OHE4dwSjhaUcfKt4u3qwA93dSY+1Kt+CysaAmk2PAcJLyGqZReW868ft7A6NZfhHcJ5eWhLXBwNAJRVmjiSX8qB7GJemLWDMqOZ6fd0oVmQRz2XWtg4Ca9zkPASAthwII/7p27mRGklrwxtyS0dG51z3QM5xYz4bC1mDT9N6EKTAPfLWFLRwEh4nYOEl2jwvl17kJd+20WErysfj25PXKjnX26TeqyQEZ+tw8Fgx08TuhLh52r5goqGSMLrHCS8RIO2bn8uoz5fx9XNA3lvZNsL6oix+2gBoz5fh7uTPT9N6Eqot4sFSyoaKAmvc5DwEg3WiZJKBr7/B84OBuY80AM3pwvvfJuUfoLRn6/Dz92RnyZ0JdDT2QIlFQ2YhNc5yHVeokHSWvPM/5LILiznvRFtLyq4AFqFe/H1+E4cKyznkZ+2YUNfBoW4okl4iQZpxqZ05iYd5eF+zWjTyPtv7atDYx+eGhTLqtQc5iVlXqISCiH+jISXaHAO5hTz4uyddI7y5d6roi/JPsd0bkx8qCevzNlFUbnxkuxTCHFuEl6iQak0mXlo+hYcDHa8O6ItBrtLc0rBYKd45YaWZBaU8eGSlEuyTyHEuUl4iQblvcV72ZZ+gv/c1OqS9w5sH+HDiIRGfLnqAHuzCi/pvoUQdUl4iQZj48E8Plm+j1sSwrm2VYhFnuPJQbG4Odnzwqwd0nlDCAuS8BINQqXJzDO/JBHm7cKL18db7Hl83Rx5YmBz1u3PY/a2DIs9jxANnYSXaBC+Xn2QlGNF/Pv6+IvuFn++RnaMoHW4FxPn7qawrNKizyVEQyXhJWxe5oky3lu8l2tiA+kbF2Tx5zPYKV4Z2pLsonLeWyydN4SwBAkvYfMmzttNpVlbtLnwdG0aeTOqUwRfrzkonTeEsAAJL2HT1qTm8Nu2DO7rHX3ZB899vH9zXB0NvLFgz2V9XiEaAgkvYbMqjGaen7WDCF/XS3Yx8oXwcXPkH72jWbz7GBsO5F325xfClkl4CZs1ZfUB9mUX8+8hcTg7GOqlDHd0iyLY05n/zN8tXeeFuIQkvIRNysgv5YMlKfSLC+LqWMt30jgXF0cDD/eLYcvhfBbulHEPhbhUJLyETZo4dzcms+aF6+Lquyjc3D6cmEB33liQTKXJXN/FEcImSHgJm7Ms+Rhzk45yf5+mNPKt/zsc2xvseHJgLPtzivlxY1p9F0cImyDhJWxKcbmR5/63g5hAdybUQyeNc7mmRSAdI314b3EKxTLqvBB/m4SXsClvL9rLkfxSXr+5FY72V86/t1KKpwa1IKeonC9XHajv4ghh9a6cd7cQf9O2tHy+XnOAW7tE0KGxb30X5wwdGvswMD6Yz1bsI6eovL6LI4RVk/ASNqHSZObJmdsJ8HDiiYGx9V2cc3p8YHPKjGY+kHt+CfG3SHgJm/D5yv3sySzk5aEt8XR2qO/inFN0gDujOjXih/WH2ZVRUN/FEcJqSXgJq3cwp5j3F6cwMD6YAfHB9V2cv/R4/1i8XRx49tckzGa5cFmIiyHhJaya1ppnf03C0d6Ol4ZevoF3/w4vVweeHdyCLYfzmS5d54W4KBJewqr9vCmd1am5PDUoliBP5/ouznm7sV0YXZr48t8Fe6TzhhAXQcJLWK3kzEL+PXsnnaJ8GdUxor6Lc0GUUrx6Q0tKKoz8Z56MOi/EhZLwElapoKySe7/fhJuTPR+OaoednarvIl2wpoEe3NOrCTM3p7Nuf259F0cIqyLhJayO2ax55MdtpOWV8MmY9lbVXHi6+/vEEO7jwnO/7qDCKOMeCnG+JLyE1fl4WSqLd2fx3OAWdIy88i5GvhAujgZeGdqS1GNFfL5yf30XRwirIeElrMqy5GO8s3gvN7YLY2y3yPouziXRJzaQgfHBfLg0hbS8kvoujhBWQcJLWI1DucU8NG0LscGevHZjK5SyvvNc5/LikDjs7ey49/tNMnCvEOdBwktYhZIKIxO+2wTAZ7d2wMWxfu6MbCkhXi58OLodu48W8ND0rZjk4mUh/pSEl7ji5RVXMPrz9ezNKuT9Ue2I8Kv/e3RZQp/mgbx4fTyLd2fx+vzd9V0cIa5o9vVdACH+TFpeCWO/2kD68VI+GdOBPs0D67tIFjW2WyT7s4v4fOUBovzdGd3Zuq5fE+JykfASV6xdGQWM+2oDZZUmfrirs9X3LDxfz18Xx6G8Ep6ftYMIX1d6xPjXd5GEuOIorW2mbd1mDkTA2n253PNtIm5O9nwzvhPNgz3qu0iXVWFZJcMmrSXjRCn/u68bTQMb1vGLGrbTK+kSk3Ne4ooze1sGY6dsINjLmV/u69bgggvAw9mBL8cl4GRvYNxXG+X2KUKcRmpe4oqReqyQiXN3syw5m4TGPnwxNgFvV8f6Lla92paWz13fJnKipJInBjZnfPcoqxwKS1w0+WOfg4SXqHfHiyt4f0kK3607hKuDgQeuacrYbpE42dtWd/iLlVtUzpMzk1i8O4ueMf68NbyNVQ+JJS6IhNc5SHiJelNhNPP9ukO8vySFwrJKRnWK4OF+zfB3d6rvol1xtNZM3XCYV+bswsXBwOs3t7aKG2+Kv03C6xwkvMRlVVZp4o+92SzYkcni3VkUlBnp0dSf565rQWywZ30X74qXeqyIh6ZvYWdGAf3jgri5Qzi9mwdILdV2SXidg4SXsCijyczhvBKSjpxg0a4slu05RkmFCS8XB/rFBTG0bSg9mvrb1FBPllZhNPPR0hR+WH+Y3OIKvFwcuLZVCDe2CyOhsY+cE7Mt8sc8Bwkv8beUG03kl1SSV1xBXnEFucUVHM4tZm9WEXuzCtmfU1xzqw9/d0f6xwczqGUwXZr44WCQzq5/R6XJzKrUHGZtOcLCnVmUVpoI9XKmVbgXUf7uRPm7Vv90w9/dUb4gWCf5o51Dgw6vAznFTFqeaomy1Iuz/Sn1acs0Nb+gqTqXYq71u9ZgNJsxmcFkNmPSVT8rjGbKKs2UVZooM5oorzRTUmGi6ByDyIZ5uxAT5E6zIA9iAt1pHuxBfKgXBqkVWERxuZHfd2WxYEcmqdlFHMotptJ06h/C0d4Odyd73JwMuDna4+ZU9XA0KOyUwr76p8FOYVCq5iNTVf+iaqbPJJn41zo09mHExd3tW17dc2jQI2wUlFayMiWnvotxSZ39w0WdNn3qp52q+nhSNT/B3s4OOzuFvZ3Czk5hUOBkb8Df3R5nB0P1ww4XB3t83RzwcXPE19URX7eqR4i3C+5ODfpf67Jzc7LnhnZh3NAuDKhqrs3IL+NAbjEHsos4eqKM4gojxeVVXzhKKoycKK2k0mjGrDUmc/Wj+nc488vQ2b7o2sxXXwvzcHao7yLYnAZd8xJCiCuc1LzOQU46CCGEsDo2U/NSSi0ALnYEU3/AttoP65Ljs262fnxg+8d4sceXo7UeeKkLYwtsJrz+DqVUotY6ob7LYSlyfNbN1o8PbP8Ybf346oM0GwohhLA6El5CCCGsjoRXlcn1XQALk+OzbrZ+fGD7x2jrx3fZyTkvIYQQVkdqXkIIIayOhJcQQgirI+ElhBDC6kh4CSGEsDo2E14DBw7UVA+OLg95yEMeNvI4bzb6GXhONhNeOTm2PLKMEEL8uYb2GWgz4SWEEKLhkPASQghhdSS8hBBCWB0JLyGEEFZHwksIIYTVkfASQghhdSS8hBBCWB0JLyGEEFZHwksIIYTVkfASQghhdSwaXkqpgUqpZKVUqlLqqbMsH6eUylZKba1+3FVr2VilVEr1Y6wlyymEEMK62Ftqx0opA/Ax0A9IBzYqpWZrrXedtuqPWuv7T9vWF3gRSKBqcMZN1dset1R5hRDC2hlNZgDsDbbfqGbJI+wEpGqt92utK4DpwNDz3HYA8LvWOq86sH4HBlqonEIIYRPu+jaRmyetqe9iXBaWDK8wIK3WdHr1vNPdrJTarpSaoZRqdCHbKqXuUUolKqUSs7OzL1W5hRDiknm0z4s82udFi+y7IX8GWjK81FnmnX5/lt+ASK11a2Ax8M0FbIvWerLWOkFrnRAQEPC3CiuEENamIX8GWjK80oFGtabDgYzaK2itc7XW5dWTnwMdzndbIYQQDZclw2sjEKOUilJKOQIjgdm1V1BKhdSaHALsrv59IdBfKeWjlPIB+lfPE0IIISzX21BrbVRK3U9V6BiAKVrrnUqpl4FErfVs4EGl1BDACOQB46q3zVNKvUJVAAK8rLXOs1RZhRBCWBeLhReA1noeMO+0eS/U+v1p4OlzbDsFmGLJ8gkhhLBOtn8xgBBCCJsj4SWEEMLqSHgJIYSwOhJeQgghrI6ElxBCCKsj4SWEEMLqSHgJIYSwOhJeQgghrI6ElxBCCKsj4SWEEMLqSHgJIYSwOhJeQgghrI6ElxBCCKsj4SWEEMLqSHgJIYSwOhJeQgghrI6ElxBCCKsj4SWEEMLqSHgJIYSwOhJeQgghrI6ElxBCCKsj4SWEEMLqSHgJIYSwOhJeQgghrI6ElxBCCKsj4SWEEMLqWDS8lFIDlVLJSqlUpdRTf7LeMKWUVkolVE9HKqVKlVJbqx+fWrKcQgghrIu9pXaslDIAHwP9gHRgo1JqttZ612nreQAPAutP28U+rXVbS5VPCCGE9bJkzasTkKq13q+1rgCmA0PPst4rwBtAmQXLIoQQwoZYMrzCgLRa0+nV82oopdoBjbTWc86yfZRSaotSaoVSqufZnkApdY9SKlEplZidnX3JCi6EENagIX8GWjK81Fnm6ZqFStkB7wKPnmW9o0CE1rod8AgwVSnlecbOtJ6stU7QWicEBARcomILIYR1aMifgZYMr3SgUa3pcCCj1rQH0BJYrpQ6CHQBZiulErTW5VrrXACt9SZgH9DMgmUVQghhRSwZXhuBGKVUlFLKERgJzD65UGt9Qmvtr7WO1FpHAuuAIVrrRKVUQHWHD5RSTYAYYL8FyyqEEMKKWKy3odbaqJS6H1gIGIApWuudSqmXgUSt9ew/2bwX8LJSygiYgHu11nmWKqsQQgjrYrHwAtBazwPmnTbvhXOs27vW7zOBmZYsmxBCCOslI2wIIYSwOhJeQgghrI6ElxBCCKsj4SWEEMLqSHgJIYSwOhJeQgghrI6ElxBCCKsj4SWEEMLqSHgJIYSwOhJeQgghrI6ElxBCCKsj4SWEEMLqSHgJIYSwOhJeQgghrI6ElxBCCKsj4SWEEMLqSHgJIYSwOhJeQgghrI6ElxBCCKsj4SWEEMLqSHgJIYSwOhJeQgghrI6ElxBCCKsj4SWEEMLqSHgJIYSwOhJeQgghrI6ElxBCCKtj0fBSSg1USiUrpVKVUk/9yXrDlFJaKZVQa97T1dslK6UGWLKcQgghrIu9pXaslDIAHwP9gHRgo1JqttZ612nreQAPAutrzYsDRgLxQCiwWCnVTGttslR5hRBCWA9L1rw6Aala6/1a6wpgOjD0LOu9ArwBlNWaNxSYrrUu11ofAFKr9yeEEEJYNLzCgLRa0+nV82oopdoBjbTWcy502+rt71FKJSqlErOzsy9NqYUQwko05M9AS4aXOss8XbNQKTvgXeDRC922ZobWk7XWCVrrhICAgIsuqBBCWKOG/BlosXNeVNWWGtWaDgcyak17AC2B5UopgGBgtlJqyHlsK4QQogGzZM1rIxCjlIpSSjlS1QFj9smFWusTWmt/rXWk1joSWAcM0VonVq83UinlpJSKAmKADRYsqxBCCCtisZqX1tqolLofWAgYgCla651KqZeBRK317D/ZdqdS6idgF2AE/ik9DYUQQpxkyWZDtNbzgHmnzXvhHOv2Pm16IjDRYoUTQghhtWSEDSGEEFZHwksIIWzIGd2ybZSElxBC2AgF6AaSXhJeQghhI5RS6AZS95LwEkIIGyE1LyGEEFZHKQkvIYQQVkc1kEZDCS8hhLAZVTWvhhFfEl5CCGEj7KTZUAghhLWxt7PDaDbXdzEuCwkvIYSwEfYGhdHcMKpeEl5CCGEjDHYKo0nCSwghhBVxkGZDIYQQ1sbeIDUvIYQQVsbBYEelSWpeQgghrIi9naJSal5CCCGsiZeLA6WVJiqMtl/7kvASQggb4e3mCEB+SUU9l8TyJLyEEMJG+Lg6AHC8pLKeS2J5El5CCGEjfFyral55xVLzEkIIYSVOhpc0GwohhLAaPm7SbCiEEMLKnKx55RSV13NJLE/CSwghbISzg4Eofze2p+fXd1EsTsJLCCFsSOcoXzYcyMNk46PLS3gJIYQN6dzEl4IyI3syC+q7KBYl4SWEEDakU5QfABsO5NVzSSzLouGllBqolEpWSqUqpZ46y/J7lVJJSqmtSqlVSqm46vmRSqnS6vlblVKfWrKcQghhK8K8XQj3cWH9ftsOL3tL7VgpZQA+BvoB6cBGpdRsrfWuWqtN1Vp/Wr3+EOAdYGD1sn1a67aWKp8QQtiqzlF+LEs+htYapVR9F8ciLFnz6gSkaq33a60rgOnA0NoraK1rN8q6AbZ9hlEIIS6Dzk18ySuuYMcR2z3vZcnwCgPSak2nV8+rQyn1T6XUPuAN4MFai6KUUluUUiuUUj3P9gRKqXuUUolKqcTs7OxLWXYhhLjineszsG+LILxcHHhl7i7MNtrr0JLhdba66hmvotb6Y611NPAk8Fz17KNAhNa6HfAIMFUp5XmWbSdrrRO01gkBAQGXsOhCCHHlO9dnoK+bI89cG8uGA3n8vCntT/ZgvSwZXulAo1rT4UDGn6w/HbgBQGtdrrXOrf59E7APaGahcgohhM0Z3qERnSJ9eW3eHpscccOS4bURiFFKRSmlHIGRwOzaKyilYmpNDgZSqucHVHf4QCnVBIgB9luwrEIIYVPs7BSv3dSSkgojr87Z9dcbWBmLhZfW2gjcDywEdgM/aa13KqVeru5ZCHC/UmqnUmorVc2DY6vn9wK2K6W2ATOAe7XWtt3vUwghLrGmgR78o3dTft2awcoU2+oXYLGu8gBa63nAvNPmvVDr94fOsd1MYKYlyybEpVJeVsmOzQfJySqgrLSi+lFJWUkFZrMmJj6U1glRBIZ413dRRQN0X+9o5mzL4Nn/7WDhv3rh4mio7yJdEhYNLyFsTVlJBam7M0g7mEP6wRwOpWaRtOkg5WV1b0GhlMLZxQGtYdbUtQAEhnoT3zaCJs1CaNslmpi40Po4BNHAODsYmHhjK0Z9vo5X5+7ilaEtsbOz/mu/JLyE+BNaaw7vzyZx1V42rtrLzs2HqKw0AeDgaE9YYz8G3NiBTj2bER4VgIurI84ujjg62aOUwmQyczClKuCSEg+wY/Mhls3bDkCvAS0Z/1B/gsN96/MQRQPQNdqPu3pE8cWqA2SeKOPdkW3xdHao72L9LRJeQpxF2oFsZv2wlg0rkzl29AQAEdGBDBnVhdadmtC4SQABId4YDH9+2thgsCM6NoTo2BBuGNMVgIL8Emb9sJYZ36xi7dLdDBnVhZH39MbD08XixyUarmcHtyDCz5WXf9vFDR+vZvJtCTQNdK/vYl00CS8hakk/mMPUyctYPm87Do72dOjWlJF39yahe8wlO2fl6e3Kbf+8hkHDOvLtx4v55bs1LJq1mTET+nDdiM7YO9jGOQlxZVFKcXvXSJoHeXDfD5u54ePVvDeiLX3jguq7aBdFwksIqkJr2uTlLJu3DQdHe268rTvDx/XA289y30z9gzx55OWbGDq6K5+/PZ9P35jH7u1pPPn6cOzs5IYPwjI6N/Hjtwd6MOG7Tdz1bSIP923GA1c3tbrzYBJeokErK6lg8tvzWTAzsSq0bu3GsDt64vMnoWU0mTly9Diph7LZfziHfYeyOZCWC4Cvlys+3m74eLni6+VKkL8nV3WNwcPN+Zz7i44N4T+T7+DHL//g6w9+JzTCj7H3973kxyrESaHeLvx8b1ee+SWJdxfvZWfGCd6+pQ0eVnQeTMJLNFgHU7N47fEfSdufXXXe6e6rzhlaWmu27EhjxvwtrNtygIoKIwAGO0WjUF+aNwlCKUV+QQlpGXls353OicJStIb3v1rK9X1bM3xwe0ICvc66f6UUI+7sRWZ6HtMmLyekkS/9h7a32LEL4exg4O1b2tAyzIuJ83Zz4ydrmHxbB5oEWMd5MAkv0eCYjCbmztjIl+8sxNXNiYmfjaV9l6ZnXTct4zhrNu1j7tId7D+cg5eHC0P6tqJ5dDBNGwcQEeaLk+PZ30ZGk5nUg8f4ec5mZs7fwsx5m+ndtRl3juhORNiZPQyVUtz/7BCyMvL54KVZhIT50Coh6pIeuxC1KaUY3yOK2GAP/jl1M0M/Xs3EG1txfeuQK/5WKkpr2xhxOCEhQScmJtZ3McQVTGvNuuV7mPLeItIOZNOuSzSPvzYMX3+POuuVlVcyd+kOfpm/hUNHqgZ2adYkiGGD2nFNj9hzhtWfOZZbyIy5m/l10TbKK4yMv6UbY4d1Oeu6xYVl/GPYh4RH+vPaZ3dc+IGKK8qjfV4E4O1lL13M5uedIH/3MzAtr4T7fthM0pETtGnkzdODYunSxO+i93eJnPP4peYlGoSykgre/ff/WLEgifBIf158fwxdesfW+XaZX1DCLwu2MnPeFk4UlhLfLISH77yarh2aEBp0qqdhSXkluYXF5BQWk1tYQk5hCbmFxQR6udMmMpToIF8Mp3W4CPTz4L7br2LkkATe/WIJn09bRUSYD326Nj+jrG4ezlw9uC0/fbWS/LxivH3dLPfCCFGtka8rv/6zOzM3p/POor2MnLyOa2IDeXJQLM2CPP56B5eZhJeweUfT83jpoR84vO8Y4x7sx/BxPTDYn+qOnpldwPTZG5mzJImyciPdE6IZfUNHWseGoZRCa01yRjaLt6ewOCmV1MzcP30+NydHWjcOpk3jEBKiw+nUtFFNSPp6u/HCQ4PJzCng9U8W0iwqiLDgM7vg9xrQkulfrGDN0l1cO6zjpX1BhDgHg53iloRGDGkTypTVB5i0bB8D3/uD4R0a8XC/ZgR7nbvj0eUmzYbCpm1ak8J/nvgJgKffuIUO3WLqLF+yeg+vf7KQSqOJ/j1bMGpoR6Ia+QOwMy2Lhdv2siQplcM5+SgF7aPC6Na8MUFe7vh5uOHv4Yqfhyvebi5k5BWw7dBRth08ytaDGaRm5mLWmiEJLXhhWF+cHE59V8zIymf8Y9/RKNSHT14dhcNp13ZprblryPsEBHny+hfjLfwqCUuylmbDszleXMFHy1L5du1BDHaKO3tEMeGq6Ms5Ooc0G4qGRWvNjK9W8dUHi4iIDuTF98cQUmsYpopKIx9+vZz/LdhKy+ahvPivwTU9AdNy83lz1h8s27kPezs7OjVtxLjeHejTMhp/j3M34TUO8KFxgA9DEuIAKC6r4JsVm5i0aB0Hjx3n3XHXE+hV1ZMrNMibp+4bwHNvzeazqSu5f2zvOvtSStFrQEt+/GIFx3OL/rTrvhCW4uPmyPPXxTGuWyRvLUrm42X7mLYhjQeubsqYzo1xtK+/6xElvITNqagw8vZzM1mxIIleA1ryyEs34ezqWLP8SGY+L7zzG8n7shg5JIF7x/TE3t5AaUUlXyzZyNfLEzHY2fHQtd0Z3rU1Xq5VTSUF5WX8tDOJ7ceyKDcaKTNWUmY0UmY0UmEyER8QyM0t4okPrBqxwM3ZkfsGdKVZiD/PTFvIqPem8v4dQ2gZEQxA767NuGlgW6bPTqRdfCO6J0TXOY6rBrRi2uTlrF68k+tGdL5Mr54QZ2rk68r7I9txV48m/Gf+bl76bRdfrT7I4wOac1099UyUZkNhU8rLKnnl4akkrk5h/L/6M/yOnnXeWCvWp/CfjxaAgmfvH0TPTk3RWrNw617enrOSzPxCrm0XyyPX9yTIy52SykqWH9zP7L17WH7gABVmE97Ozrg5OOJsb4+TwYCzvT12dnZsz8ykwmyihX8At8S3ZHTLNjgYqpoDkzOyeeir2WQXFPPqyAEMalfVUaO8wsi9z0wlK7uAr98ZS6DfqRPjWmsm3PgB3n7uvPHlnZf3hRSXjDU3G56N1poVe7N5ff4e9mQW0ibci6cGtaBrtEV6JkqzobB9xUVl/PvB79mx6RAPv3QjA27sULPMbNZ8+sMfTP11I7HRQbz86PWEBnmTmV/I01MXkLgvndjQAP47ZhDtm4SxJyebV+cvY+mB/ZQajQS4ujGmdRuGNG9B68Cgs37TzC8rZc7eZGbs3slLK5YxPyWFDwddR4CbG81DA5j20Gge/GoWL/y4iKvionB1csTJ0Z6XHrmO0Q9MYcHyndx+86nu80opOnSPYc709Zfl9RPifCil6N08kJ4xAfxvyxHeWZTMqM/X0bt5AE8OjKVFiOdlKYeEl7AJhSdKePYf37Bvz1Ge+M8w+lzbpmZZRaWRiR8uYMnqPdzQvw0Pjb8aBwcDK3bt57lpC6kwmXhxeF9u7BRPXlkpzy79nR93JuHu6MhNLeIZHNOcjqFhGOzs0FpTqc04qjMHz/V2duHW1m25tXVbft2zm2eWLuL66d8xa8StBLm74+Puwr8G92Dcxz+zdMc+ruvQAoCIUF883Z3Jzis6Y5+nd+QQ4kphsFMM6xDOda1D+GbNQT5elsq1H6zkpnbhPNK/GWHelr1LgoSXsHp5OYU8c8/XHDmcy/PvjKZL79iaZQVFZenJGrIAACAASURBVDzz31/Zuiudf9zWi9FDO2I0mXlz9gq+XbGZ2NAA3rx9MCE+HkzevJFJGzdQZjJye+u2PNCpKz4uLhQbK1iRlcKKzL38kZVKZmkBfk5uhLp6EeJS9Qh19aJ/WBzBLlXfOm+IbUGMry83/jSVSYnr+XfvawBoFxlGkJc7C7Ym14QXgJ+PG7nHi884NpNJY/cXt10Roj45OxiYcFU0IztG8MnyVL5ac5Dftmcwrlsk9/WOxrvW+eZLScJLWLWsjOM8fc/X5GUX8vJHt9Guy6lOD0ePneDxiTM5knmCF/81mH49W5CWm88T381jR1oWo7q35dHre/LH4YPcNmcGRwoL6BsVzVM9ehHq6cHMQ1tYdnQvG3IOUmk24WrvSPfAaG5u3I5jZYUcLTlBakE2K7NSKTVV8mXKGr7ucTtRHlVd7eMDgxjWIp7pO5K4N6ETwe4e2Nkprm7ZlF837qDSZKo5J+bn407OWWpeZrPZ6kb7Fg2Tl6sDT1/bgtu7RfLu73v5fOV+pm84zH19mjKuWyTOl7gVQcJLWK38vGKeuvsrCvNLeG3yOOLaRNQs27Mvkydf+x/llUbeeWEY7eIbsXrPQR77bi4Kxbtjr+PqVk15b90aPtq4jlj/AL7vO5yu4Y1YejSZezZ8x5GSfKLc/RjTpCO9gmLo4N8YR7sz34Baa3afyOSeNT9w+8qvmdLjdmI8AwG4r2NnZuzeyaeJG2pqX52ahjNt9VZ2pmXRNjIUqKp5pWXknbFvs9S8hJUJ83bhreFtuKtnFP+dv4fX5+/hmzUHebhfM25uH47hEn0Zk3eFsEplpRW8eP935B4r4OVPbq8TXDv3HuWBF37E3t6OSRNH0S6+Ect37uOBKbMJ8/Xi50fH0DW2MffNm81HG9dxS1xLfh0xhjAfdyasncr963/E2eDA1z1uZ16/+3my1QC6BjahsDKftbnrWZK1jGNl2TXPp5QizjuEb3uOQynF2JXfsOdEJgDhnl7cXF37yiwqBKBDk3AAEvel1+zD38edvPwSTu/9KzUvYa1igz356o5OTLu7C4GezjwxYzvXvr+SpXuyzvg/vxhS8xJWx2Qy89+nfmbvziM8986oOsG1/3A2j02ciY+XKx+/MpIAPw9+357CE9/NIzYsgE/vuYkiYwXDZ0xnb24Oz/fqw8iWLZmUvIIvU9bgaGfgyZb9GRPdibyKHBZnLSWlMJW9RSnkVdStGYU6h9DWuw2d/DoS5RZJEw9/vut5B3es+oZxK7/hi+630dInlPsSOjOzVu3Lx92FpsF+bExN565rOgFVNa9Ko4mCojK8PE6d6DabtNyYUli1rtF+/HpfN+bvyOTNhcmM/zqRTlG+PHttC9o0uvi7k0t4Cavz85Q/WLtsN/c+OZju18TVzC8qLufJ//wPRwcD7704nAA/D7YezOCJ7+fRMiKISXffSKnZyKhffuREWTlfDbmJTuHh3L3mezbmHOL6Rq14rGU/Ap09WJy1lO8PTUWj8XHwoZlHU2I8BtLMvSnOBme25W9na/52Fmb9zsKs35nU/kOcDE40dvflu553MHLFl7y143e+7jmWRl5e9GvSlDl7k2uaDmNC/NlUq+bl7ORQcwy1w6u4qAwnZ3mbCuumlOLaViH0iwti+obDvL8kheGfruWb8Z0u+voweVcIq7I/+SjfT1pGrwEtuWFM1zrL3vliMcdyCvnolZGEBnmTV1TCY9/OJcjLnY/uvAE7gx13/fo/cktKmHrzCFoFBvHYxplszDnEGwk3cn2j1pi1mZ/SZjD36Hzaerfh1saj8Hf0P+O6rv7B/egf3I+NeYl8lDqJjNKjRLlHAhDm5o2fkxsu9qd6WeWXlRLmeer6l6TDmcSFB9VM70o5ioe78xk3q9y19RDNWoZfqpdPiHrlYLDjtq6RXN8mlGGfruWe7xL5+d6uxAZf+LVh0h4hrEZFhZE3n52Jh5cL9z87pM6yRX/sYtEfuxk7vCutYsMwmc08+f18jheX8u7Y6/F0ceKpxQvZmX2M9wcOpk1QMO/sXMz8Izt5LL4v1zdqjdFsZPL+L5l7dD59AnvzYMw/CXAK+NOhb8JcwgA4UnqkzvzM0hM13ea11uzKziY+oKoTR1puPum5J+jS7FRz59adabRpEVbn/FbmkeMcO3qC1nJDSmFjvF0d+WZ8J1wdDYybspGM/NIL3oeEl7AaUz9dxoG9mTz04g14ervWzM/IyuetyYtpFRtWM0LFpEXrWJdymGdvupoW4YF8s20Lc1KSebRrd/o2acq0/Rv5MmUNI6MSGB/TjRJjCW/vfY+1uesYFn4TYxvfiuEsFyKfLsg5EHtlz5HSjJp5JcYKTlSWEVIdXhmFhZwoLyOuOrzW7T0MQNdmjQHIySsiPTOftnGN6ux7e+IBAAkvYZPCvF34+o5OFJcbGffVBk6UVl7Q9hYNL6XUQKVUslIqVSn11FmW36uUSlJKbVVKrVJKxdVa9nT1dslKqQGWLKe48u3adpifpvxB/xva17kI2Wgy8/L781AKXnjoWuwNdqxJPsTkxeu5oWM8N3VuyaajR3ht1Qr6RkUzoUMnlh3dy6vb5tM7uBnPth5EfmU+r+3+L8mFe7m7yZ1cHzr4vAcaNSgDIc7BdWpemaUFAAS7VDUB7szOAqipea1PSSPQy52oQB8Atu6qOvfVNr5u82BS4gE8vV2JiA64mJdMiCteixBPPrutAwdyirnn20TKjabz3vaiw0spNfkvlhuAj4FBQBwwqnY4VZuqtW6ltW4LvAG8U71tHDASiAcGAp9U7080QMVFZbzx1M/4B3sx4fFr6yz7ZsZadiRn8Og9/QgJ9CKnsJhnpi0gOsiPZ27qQ05JCffPm0Oouwdv9R/IrvyjPLpxBi28g3m7482UmIp5bfcbZJdn83CzB+nh3+2CyxfmEkZ6rfA6WnoCgBDXk+F1DDuliPWvCqEtBzPo0CSsJiC37kzDzdWRmMjAOvvdvvEALTtESm9DYdO6NfXnreFtWH8gj0d+2obZfH7d6P+0w4ZSyvdci4Brz7HspE5AqtZ6f/W+pgNDgV0nV9BaF9Ra3w04WeqhwHStdTlwQCmVWr2/tX/xnMIGTXp9LseO5vPmV3fh5nHqTq7bdqfzzYx1DOgVR/+eLTCbNc9OXUhRaTlf3HszDvYGHprzP/LLyph5yygKjWX8Y+1UfJxcmdR1NAaleSv5A45XHOep2Mdo6tG0Zt9HipayI/ddHA1eeDk2x8upGd6OzfFxjsdO1b0RX7hrGOvy1lNqKsXF4EJmSdW/9clmw93Z2UR5++Di4EDm8UKOnSiiTeOQmu237kqjdWwYhloXI2dlHCcrI58bb+tukddUiCvJ0LZhHCsoZ+K83QR7OvP8dafXc870V70Ns4FD1B2WXldPB551i1PCgLRa0+nAGTclUkr9E3gEcASurrXtutO2DfuL5xM2aNuG/SyevYXRE3oT365xzXytNf/9ZBHBAZ48cndV9/N5W/awZu8hnh92DU2D/flxx3bWpqfx374DiAsI5IF1P1JqquTrHmMJcHZn7tH57CvezwNN/1knuEqNx1if9SiOdt5UmAs4Xr4Tqq4vponnCNoG1G0BLzGWAHC8Ih8XFxfW5xzEXtkR6OJJflkpiUePcFXjqvNWvyelANSMrLH/cDYH0/MY1KdlnX2uWlz1Ha91RznfJRqGu3pGsetoAV+uOsDQtqG0Dv/za8D+qj1iP9Bbax1V69FEax0FZP3Ftmc7aXBGfVBr/bHWOhp4EnjuQrZVSt2jlEpUSiVmZ2efZRNh7WZNW4eXjysj77qqzvwtO9I4nJHH+Fu64ebqBMC8LcmE+ngyvEsrAJYc2E8jTy+GtYgHYPvxI1wTEku0Z1XzXYW5AoB2Pm3q7NvZ4E+o29VUmPOpNBcAdvg4taK5913EeN9eZ915RxcwL3MBXXw7E+wcxKzD2/gtbTt3xnTD0c7ASyuWUVRRwV3tOpCWm8+H81fTvXlj4sIDMZs1b3z6O14eLgy++lR4Hc8t4odPl9K+azRRMUEIcS629BlYWG5k3f5cYgLdaRbk8Zfr/1XN6z3ABzh8lmVv/MW26UDt7lPhQMY51gWYDky6kG211pOByVB1I7a/KI+wMtmZ+axbtpthd/TE0aluU93sxdtxd3OiT9dmABSUlrF27yHG9GiHUooKk4m16YcZGhuHUorj5SUcKysk1utUGLgZqnoslppKcbd3r5mvlB0dAydSULGPEmMWAS4JOBrOvA5lQeYifkz7mc6+Hbkn+k72Febw0ta5dPRvzP0t+jB3bzKzknfzUOeutPAP5M5PZ2Cws+Pft/RDKcWvC7eyIzmDZx8YhLfnqd6TX7y9gIoyI/c9fX293KFWWA9b+gycOGc3WQVlTLqv+3kN4vun4aW1/hhAKeUM3Af0oKoGtIpTQXMuG4EYpVQUcISqDhija6+glIrRWqdUTw4GTv4+G5iqlHoHCAVigA1/eTTCpsz9eSNaw7XDOtaZf6KwlBXrUhjSrzVO1aG2bMc+jCYz/dvEALD5aAbFlZVcFREJQHJBVUNBs1rh5VodXiXGuuEFYLBzxsc5Hh/iz1q2RZm/M+3wj3T06cCE6LspM5n41/qfcbN35K2ON5NWcIKnlyyiXXAI9yV0ZvqabSTuS+flW/oR7O1BTl4Rn/7wBx1aRTDwqlPt+0mJB1gyZysj77qK8Ej/v/HqCWE9licf48fENP7RO5q25zlk1PmOsPEtVa3+H1ZPj6qed8u5NtBaG5VS9wMLAQMwRWu9Uyn1MpCotZ4N3K+U6gtUAseBsdXb7lRK/URV5w4j8E+t9fn3oRRWr7LSyIKZiXTq1ZzgMJ86yxau2EWl0cT1fVvXzFu0LYUQHw9aRQQDsOLQAezt7OgSXlWBTz5RFV7NPU+Fl4t91TBMpaaSCyrb71lL+OHwdBJ82nNv9D0o7Hhhy68cLMplSo/b8LR35o5507A32PHBoOvIPF7Ie3NX0iM2khs6VYXhe1OWUllp4rF7+tXUroyVJj5+bQ6BIV5nNJMKYasKyip5+pckYgLd+VffmPPe7nzDq7nWuvaJgWVKqW1/tZHWeh4w77R5L9T6/aE/2XYiMPE8yydszKrfd5KfV8z1I+v28dFaM/v37bSICaZpZNW5q4LSMtbsPcToHm1rgmDloYN0CAnFw6nqfNjeE1n4O7nh73yqhlVT8zKd39X9RrOR2RlzmJXxG+292/KP6AkYlIHXti9gXvoOHo67ms4BUTy79Hd252Tz5ZAbCXHzYPy3P2NvZ+DF4X1RSrE6cR/L1+7l7lE9aBR6Kph/m76eg6lZvPDeaJwtdAM/Ia40r87ZxbHCcj69tQNO9ud/RdT5XkCyRSnV5eSEUqozsPoCyyjEefvtx/WERvjRvmt0nfk7kjM4mJ7LkFq1ruU791c3GVad/8oqKmJXTjY9q5sMoarZsHaTIZwKr2LjX9e8UgtTeWHnS8zK+I1ufl34Z9N/YFAG3t21hO/3b2Bc0y7c3awHv+7ZzbQd27m3Qyf6RDZh2uqtbNp/hMeHXkWwtwclpRW8PXkxUY38GD30VHPo8dwivvtkCR17NKNrnxZ/UhIhbMey5GP8lJjOhF5NLniE+fOteXUGbldKney4EQHsVkolAVpr3frcmwpxYdIOZLNry2HufnTgGRfoLvxjFy7ODlzT/dQoGyt27SfQ043W1U2Gfxw+CECfyFPdzA8U5dI3JLbOvtzt3QBYnbsGF4Mzfo6+OBuccTY442jniFEb2Xx8C6ty1rDjxE58HH14uNmDtPVuQ3FlOa8nzWPGoS2MiOrAEy37syb9MM8uXUTH0DAe6dqdTfvTeX/eKnq2iOKGjnGYzZo3P/ud7LxCXn50NA7VJ6W11nz637mUl1cy4YlrpZOGsHlGk5mfN6XzxoI9NAty56ELaC486XzDa+AF71mIi5R2oKrL79mucSoprcDHyxVXl1PNaj5uLhSVV2Aya+wNisZeVd/gNmYcoUX1kEzXhMQyJy2Jmxq3pXNA1X79nPy4PnQwi7OWsvn4ljrPo1DYKTtM2oSvoy9DQq9jUMgAXAwurM8+wLObZ5NRks9dMd15OP4aZiXv5snFC4ny8eXDQdexJCmVZ6YuINTHk5du6QtUjXr/+8rd3DO6By2bh9Y819TPlrFiQRLjHuwnnTSETdNa8/uuLP67YA/7sotJaOzD6ze3vqDmwpPOK7y01ocueM9CXKScY1UjVPgFntk93cnRgfIKY515CU3C+XHNdnYfOUariGA6hobRrVEEr6/+g67hEcT4+fFi28HsPJ7BuFXf8lSrAQyLbI+bvSPDwm9iUPBAkguTKTWVUWYqo9xcTpmpDKM2Eu8ZRwvPWDSwOmsfMw9tYVHGbhq7+fJDr/GEO/vywPw5zE/dS6fQcCZfP5RZ63fx5uwVtGkcwofjh+Ll6syk7//g14XbGHNDJ2676dR5vGVzt/HdJ0vpO6QdI+7sZdHXVYj6tOnQcf4zbzeJh47TJMCNybd1oF9c0EW3NMj9vMQVJzerAIO9Hd6+bmcsc3ayp7z8tPCKrhrQNnFfOq0iglFK8U7/QQye+i0PLJjDryNG42bvyLe9xvH85tm8nrSQSXv+4NboToxp0gkfJ1fa+7Q7a1kOFeXxwa5l/Hp4G1llhfg4unJPsx5MaNaT3/Ymc8eqWZQZjTzWtQd3tu3A+/NW890fm+nbqin/GTMIZwd7vp6xlqm/buSmgW2599aeNW/WXVsP884Lv9CqQyQPvThUmguFTdqXXcQbC/awcGcWAR5OvHZjK25JCMfe8PfG7JTwElecnKwCfP09zjogrbOTA2UVdW+d4O/pRmSAD4n70rmjTwIAgW7uvN3/WsbNmskrfyxn4tX98HNy45Ouo9iSm8aXKav5eM8KpqSsYXhkezr4RXC8ooTjFSXklZeQX1HC4aLjbDuejh2KHkFNeab1QHqHNCejoIC7f5vF2vTDdAoN57Vr+hHm7skz0xawaFsKY3q25fEhV2Gws+OnOZv4YtpqBvWO5193XlMTUEfT83jpoR8ICPHm+XdH4+Agb0VhW44VlvH+4hSmb0zD2d6OR/o1466eUbg6Xpr/dXnHiCtO7rGCszYZAjg52WM0mjGazHW+uSVEh7NgazImsxlDdej1ahzJhA4d+WzTRrqFRzC4WXMA2vk14iO/kaQWZPPF3tVM3b+Rb/etr9mXm70jPo6u+Dm583Dc1QyNaEOQiyf7j+fx9ppVfLttKw4GOyZe3Y8R8a1Izcxl/Hcz2H7oKI9d34vbr2qP2az5Ytoqvp6xjt5dYnjyvgE1N5osKijlxfu/w2Qy8/JHt9W5N5kQ1q6o3MjkP/bzxcr9VBjN3No5ggeuicHf3emSPo+El7ji5BwrILLp2cf0c6r+1lZRYcS+VqeNjtHhzFiXxJ4j2cQ3OrXtI126s/FIOk8vXUSroCAivE51x23qGcDrCTfwSPw15JYX4+vkirejK06GU2+LcqORRftTmb5jAWvT07C3s2NQ02Y83aMXrgYH3py1gmmrt+Lu7MRbtw9mQJtmHD9RzL/fncumpMNce3VLHr+nX03QFhWU8sID35FxOI+Jn42VDhrCZlSazEzbcJgPlqSQU1TB4FYhPD6gOZH+Zzb/XwoSXuKKk5NVQPuuTc+6zNmxajiovPziOj0OT573mp24i7jwwJrmOQeDgfcGDua6ad9x1+z/Mb5dBxJCwwj39MTZvmpfgS4eBLpUDQRaYTKRkptLSl4uWzMz+GX3LvLKSmnk6cVjXXswPK4l/q6uzNm8h7dm/8Hx4hKGd2nNA4O64e3mQtKeIzz/9m8UFJXx1H0DuO6aVjVlzM0u5Pn7vuHwvmyeeH04bTo2ufQvnhCXmcmsmb3tCO8vTuFgbgmdo3z5YmyL8x7m6WJJeIkrjl+gR013+dN1aB2Bk6M9r09ayHsv3lJTown0cmdoxzimrtpKUVk5Lw7vi6N91b93uKcXHw66jmeW/M4Ly5dgNJsBCHJzp5GXFxGeXpQajaTm5XIg/3jNcoNSXNMkmjEt29A9ojEK2JGWxVPfzmdDahqtI4KZdPcNxIUHobVmxrzNfPj1coIDPPnstdHERJ26a1DG4VyemfA1+XnF/PvDW0nofuHXtQhxJTGZNb9ty+CDJSnszykmNtiDKeMS6NM88LJ0PpLwElecXgNa8eMXK8jLKcTXv+6tESJCfXl8Qj9e/XA+n09dxT9uO9W9/JUR/Qnz9eKThWtJzsjh5RH9iAuvakLsGRHJ0tvHk5JXVatKO3GCwwX5pJ04wdr0NBwNBpr5+dG3STQxvv7E+PrSxMcXFwcHTpSUMW3VVn5Zv4O9R3PwcHbi+ZuvZliX1tjZKY4eO8HH365g+dq9dE+I5rkHB+HhduqmmSm7Mnj+vm8wmzX//WI8zVuFX54XUggLMJk1c7ZXhda+7GKaB3kwaUx7BsQH15zXvRwkvMQVp/eg1kybvJw/Fu7ghjFdz1g+sHc8O5Iz+OHXDbRsHkrPTlVNjEop/tG/C02CfHlj1gpGvDuV5qEBDG4fy6B2zQn29iAuIJC4gL+6jyoUlZWzZX8GszbuYnFSChVGE3HhgTx/89UMaheLh4sTefnFfDtzHb8u2oadUkwY05MxN3Sq8wbeun4fL/9rKu6ezkz8dByNogIu3QslxGVkNmvmJh3lgyUppBwrolmQOx+Pbs+glpc3tE6S8BJXnMbRgUQ1C2b5/O1nDS+AB8f3Yc++TCZ+OJ8v3riV8JBTA9wOaNOMjtHhzN+SzLzNe3hnzkrenbuShCbh9GkZjYezE04O9jjaG2p+5hQUk5KZQ8rRHFKO5pJxvOpCaQ8XJ27u3IqbOscTG1YVekXF5Xw+bRU/zdlERYWRa69uxR23dCXQ71QtsaS4nBlfr+TnKSsJa+zPq5PG4h909h6UQlzJzGbN/B2ZvL9kL3uziogJdOej0e24tmVIvYTWSRJe4orU59rWTHlvEZnpeQSH+56x3NHBnlcfG8L4x7/jwX//xAPjetO7S7OatnZfd1fG9GzHmJ7tOJR9nHmb9zB38x7emLXinM9pb2dHZKAPbSJDGN61Fc1C/OkUE4Gzgz1msyZpzxFWbkhlzpIkCorKuLpbc+4a1Z2I0FPlq6w0Mn9GIj98uowTx4u5amAr7n9uCB6eLpf+RRLCgsxmzcKdmby/JIU9mYVEB7jxwah2DG4VgqEeQ+skCS9xRbpqYCumvLeI5QuSznlvq+BAL95+/mZe/2QRz7/1G+3iG/HQ+KtrbpVyUuMAH/4xoCv39u9CbmEJZZVGKoxGyitNVJhMlFca8XJ1pkmgLw61xlirqDSyKekwKzeksmpjKnn5JRgMdnRpF8X4Ed1o3uRUl3ytNSsX7eCrD37naFoebTpGMf7hATRvKee3hHXRWrNwZxbvLd7LnsxCmgS48f7ItlzXOvSKCK2TJLzEFSko1Ie4thEs+W0rN97aDSdnh7Ou16JpCF++eRu//b6dz6etYvzj3zKodzzDBrcnJrLuuS2lFP6e577mpKLSSOL2Q6zfcoCk5AxSDx6jrNyIi7MDXds3oWenpnRpH1WnMwbA5nWpfPnOQvbtOUpkTBCvfHw7CT1iZLgnYXW2p+fz9C9J7MwoIMrfjXdHtGFIm7ArKrROkvASV6ybbu/OxEen89x93/DvD27Fzd35rOvZG+y4cWBbrunenCk/rWH24iTmLt2Bt6cLjcP8aBzuS2S4H5HhfgT6e1BcUkFhcRkFRWUUVj92pRxl847DlJUbcbA30CImmOuuaU3ntpG0bxVRc3F0bbnZhUx+cx4rFiQREu7Do6/cxNXXtcXwN8dsE+JyM5s1U1Yf4L8L9uDv7sTbw9swtG3o3x5/0JIkvMQVq0ffeJ74zzDeem4mT945hVcnjT3rYL0neXq48K87r2H8Ld1Yu/kAW3elczA9l+Vr91JQVPanzxUW7M21fVrSuV0U7eIb1bkA+nQmk5k5P67nm48WU1luZMy9fRhxZy8cnc5eOxTiSpZbVM5jP29jWXI2/eOCeGNYa7yt4E7eEl7iitbn2ja4ujsz8dFp3HX9uzz5+i1/2STn6eHCgKviGHBVHFDVhp9fUMLB9Dyy84rwcHXCw90ZD7eTP51rbgz5ZyoqjGxek8r3k5aSujuD9l2j+ecz1xPWWIZ4EtZpzb4c/jV9K/mllbw8NJ7bujS2muZuCS9xxevcqzmvfTaOSa/P5fl/fkvTFqGMvOsqul3T4qwjz59OKYWPlxs+Xhc+xpqx0sTW9ftYsTCJNUt3U1xYhm+AB8+8OYKe/VtazRtdiNqMJjPvL0nho2WpRPm78fUdnYgLta5LOSS8hFVo2T6S936YwNI52/jxyz949dFpRDQJ4JY7e9FnUGsMF3En1rOpKK/kYOox9u05yp7taaxdtpuC/BJc3Z3o1qcFVw1sTbsu0dj/v727D7Krru84/v7uhkAhliSwjjRPRAwPESiRNaK2GFuEaKeJ1ocGhzZ0sMxYaTu1OqVDh2icaX1oR/tAp0Qno9XRVHCqUaNIaSxWxCZDkJJgJEZM1qCsJEFDkLC73/5xT5zbdUNuNnvuze/u+zVzJ+fxzvc7d/d8cs49+zstnKlJJ6If7H+KP/3UFjZ/fx9v6p/Nu5a9cMIeU9JO5VWsSeukk6Zw1esu5Ypli/jaVx5k3Uf+i7+96TP8819/gbnP72PuOc9lXvWa8/w+Tp12Cj09QW9PDz29QU9PD8PDI+zfe4D9jz/J/r0H2Pf4AfY/foDd3/sx393+KLt2DjIy3Bjb8NRpJ7P418/jFUsv4tKXvcDvtFS8Lz/4Q/7iMw8wPJL8/YpLWH7JrE6XNG6Gl4rT29vDkldfzOVXXcj/3P0d7vvGDr6/40ds+tp3+Mpn7xvXe87sew7nnH8Wly05n3POO4tzLjiLxRnvPwAADjpJREFU582a0dJlSelEl5m8+/Pb+Og9j3DRrNP5x6sX1faoknYxvFSsnp4eLltyPpctOf/ny36y/yC7vvsYu743yNNPPcPIyAgjw8nwyAgjIyP09PQwfeZpTJ85jRlnTGP6GY3pI/0dmdQNbts8wEfveYSVL53HTb+1kKlTyv9PmeGlrvLL00/lwkvP5sJLz+50KdIJ4Uc/+Rnv+eI2Fs+fyarffmFHxyOcSOXHryRpTJnJX332QQ4NjfC+11/cNcEFhpckda0v/u+j3LntR7z9Vecyv/DvuEarNbwiYmlEbI+IHRFx4xjr3x4R2yLigYi4KyLmNa0bjoj7q9f6OuuUpG6z78lDrPrcVi6efTrX/dr8Tpcz4Wr7zisieoFbgFcBA8CmiFifmduaNtsC9GfmwYh4K/B+4HerdU9l5iV11SdJ3Wz1F7bxxFPP8Im3vOSEHqNwvOrsaDGwIzN3ZuYhYB2wvHmDzNyYmQer2XsBnx8hScdp47cf49+3/IA/euULuOCsskbOaFWd4TUL2N00P1AtO5LrgC81zZ8SEZsj4t6IeO1YO0TE9dU2mwcHB4+/YkkqyJGOgR/+2k7mnXEqb3vlOR2srl51htdYt7XkmBtGXAP0Ax9oWjw3M/uBNwMfiohf+BQyc01m9mdmf19f3+jVktTVxjoGDo8k9+/ez5Jz+zh5goZNOxHVGV4DwJym+dnAntEbRcQVwE3Assx8+vDyzNxT/bsT+CqwqMZaJakrbP/hTzl4aJhFc2d0upRa1Rlem4AFETE/IqYCK4D/d9dgRCwCbqURXI81LZ8RESdX02cCLweab/SQJI1hy+59ALyoy8OrtrsNM3MoIm4A7gB6gbWZuTUiVgObM3M9jcuE04DbqkdL7MrMZcAFwK0RMUIjYN876i5FSdIYtuzazxmnTWXOzF/qdCm1qnV4qMzcAGwYtezmpukrjrDfPcBFddYmSd3ovl37WDR3etc/a677bv6XpElq/8FD7Bx8suu/7wLDS5K6xkOP/hSAi2ef3uFK6md4SVKXeOKpZwCYedrUDldSP8NLkrrEgaeHAHjOJHjqt+ElSV3iySq8Tju5e/84+TDDS5K6xOEzr2mndP9zhg0vSeoSB54e4qTe6OphoQ4zvCSpSxz42RDTTu7+sy4wvCSpazx5aIhTpxpekqSCDA0nJ/V298gahxlektQlRjLp6TG8JEkFGcmkp8vHNDzM8JKkLjEyApPkxMvwkqRu4ZmXJKk4hpckqTgjCT2T5Kg+SdqUpO6XnnlJknTiMrwkScUxvCSpS2SnC2gjw0uSusjk+MbL8JIkFcjwkiQVx/CSJBXH8JIkFcfwkiQVx/CSJBWn1vCKiKURsT0idkTEjWOsf3tEbIuIByLiroiY17RuZUQ8XL1W1lmnJKkstYVXRPQCtwCvBhYCV0fEwlGbbQH6M/Ni4Hbg/dW+M4FVwEuAxcCqiJhRV62SpLLUeea1GNiRmTsz8xCwDljevEFmbszMg9XsvcDsavoq4M7M3JuZ+4A7gaU11ipJKkid4TUL2N00P1AtO5LrgC8dy74RcX1EbI6IzYODg8dZriSVZTIfA+sMr7FGKRlz6K2IuAboBz5wLPtm5prM7M/M/r6+vnEXKkklmszHwDrDawCY0zQ/G9gzeqOIuAK4CViWmU8fy76SpMmpzvDaBCyIiPkRMRVYAaxv3iAiFgG30giux5pW3QFcGREzqhs1rqyWSZLElLreODOHIuIGGqHTC6zNzK0RsRrYnJnraVwmnAbcFo2nf+7KzGWZuTci3kMjAAFWZ+beumqVJJWltvACyMwNwIZRy25umr7iWfZdC6ytrzpJUqkcYUOSVBzDS5JUHMNLklQcw0uSVBzDS5JUHMNLklQcw0uSVBzDS5JUHMNLklQcw0uSVBzDS5JUHMNLklQcw0uSVBzDS5JUHMNLklQcw0uSVBzDS5JUHMNLklQcw0uSVBzDS5JUHMNLklQcw0uSVBzDS5JUHMNLklQcw0uSVBzDS5JUHMNLklScWsMrIpZGxPaI2BERN46x/vKIuC8ihiLiDaPWDUfE/dVrfZ11SpLKMqWuN46IXuAW4FXAALApItZn5ramzXYB1wLvGOMtnsrMS+qqT5JUrtrCC1gM7MjMnQARsQ5YDvw8vDLzkWrdSI11SJK6TJ2XDWcBu5vmB6plrTolIjZHxL0R8dqxNoiI66ttNg8ODh5PrZJUnMl8DKwzvGKMZXkM+8/NzH7gzcCHIuKcX3izzDWZ2Z+Z/X19feOtU5KKNJmPgXWG1wAwp2l+NrCn1Z0zc0/1707gq8CiiSxOklSuOsNrE7AgIuZHxFRgBdDSXYMRMSMiTq6mzwReTtN3ZZKkya228MrMIeAG4A7gIeDTmbk1IlZHxDKAiHhxRAwAbwRujYit1e4XAJsj4lvARuC9o+5SlCRNYnXebUhmbgA2jFp2c9P0JhqXE0fvdw9wUZ21SZLK5QgbkqTiGF6SpOIYXpKk4hhekqTiGF6SpOIYXpKk4hhekqTiGF6SpOIYXpKk4hhekqTiGF6SpOIYXpKk4hhekqTiGF6SpOIYXpKk4hhekqTiGF6SpOIYXpKk4hhekqTiGF6SpOIYXpKk4hhekqTiGF6SpOIYXpKk4hhekqTiGF6SpOLUGl4RsTQitkfEjoi4cYz1l0fEfRExFBFvGLVuZUQ8XL1W1lmnJKkstYVXRPQCtwCvBhYCV0fEwlGb7QKuBT45at+ZwCrgJcBiYFVEzKirVklSWeo881oM7MjMnZl5CFgHLG/eIDMfycwHgJFR+14F3JmZezNzH3AnsLTGWiVJBakzvGYBu5vmB6plde8rSepyU2p87xhjWU7kvhFxPXA9wNy5c1uvTJLa5O82vru29x59DHznVecxNNzqYbZsdZ55DQBzmuZnA3smct/MXJOZ/ZnZ39fXN+5CJalEo4+BL/yV0/nVOdM7XVZb1Blem4AFETE/IqYCK4D1Le57B3BlRMyobtS4slomSVJ94ZWZQ8ANNELnIeDTmbk1IlZHxDKAiHhxRAwAbwRujYit1b57gffQCMBNwOpqmSRJtX7nRWZuADaMWnZz0/QmGpcEx9p3LbC2zvokSWVyhA1JUnEML0lScQwvSVJxDC9JUnEML0lScQwvSVJxDC9JUnEML0lScQwvSVJxIrM7RiCOiEHg++Pc/UzgxxNYzonG/srW7f1B9/c43v5+nJktPcswIr7c6rbdoGvC63hExObM7O90HXWxv7J1e3/Q/T12e3+d4GVDSVJxDC9JUnEMr4Y1nS6gZvZXtm7vD7q/x27vr+38zkuSVBzPvCRJxTG8JEnFmTThFRFLI2J7ROyIiBvHWH9tRAxGxP3V6y2dqHO8jtZftc2bImJbRGyNiE+2u8bj1cJn+MGmz+87EbG/E3WOVwv9zY2IjRGxJSIeiIjXdKLO8Wqhv3kRcVfV21cjYsynrJ+oImJtRDwWEQ8eYX1ExD9U/T8QES9qd41dJTO7/gX0At8Fng9MBb4FLBy1zbXAP3W61hr7WwBsAWZU88/tdN0T3eOo7f8YWNvpuif4M1wDvLWaXgg80um6J7i/24CV1fRvAB/vdN3H2OPlwIuAB4+w/jXAl4AALgO+2emaS35NljOvxcCOzNyZmYeAdcDyDtc0kVrp7w+BWzJzH0BmPtbmGo/XsX6GVwOfaktlE6OV/hL45Wr6dGBPG+s7Xq30txC4q5reOMb6E1pm3g3sfZZNlgP/mg33AtMj4qz2VNd9Jkt4zQJ2N80PVMtGe311On97RMxpT2kTopX+zgXOjYivR8S9EVHaMDKtfoZExDxgPvCfbahrorTS37uAayJiANhA4+yyFK309y3g9dX064DnRMQZbaitXVr+GdbRTZbwijGWjf4bgc8DZ2fmxcB/AB+rvaqJ00p/U2hcOlxC46zkIxExvea6JlIrPR62Arg9M4drrGeitdLf1cBHM3M2jUtQH4+IUn6HW+nvHcArImIL8ArgB8BQ3YW10bH8DOsoSvnBP14DQPOZ1GxGXXLJzMcz8+lq9sPApW2qbSIctb9qm89l5jOZ+T1gO40wK0UrPR62grIuGUJr/V0HfBogM78BnEJjwNcStPI7uCczfyczFwE3VcueaF+JtTuWn2EdxWQJr03AgoiYHxFTaRzc1jdvMOra8zLgoTbWd7yO2h/wWeCVABFxJo3LiDvbWuXxaaVHIuI8YAbwjTbXd7xa6W8X8JsAEXEBjfAabGuV49fK7+CZTWeSfwmsbXONdVsP/H511+FlwBOZ+WiniyrVlE4X0A6ZORQRNwB30LjraW1mbo2I1cDmzFwP/ElELKNxmWIvjbsPi9Bif3cAV0bENmAYeGdmPt65qo9Niz1C49Lauqxu7ypFi/39OfDhiPgzGpebri2lzxb7WwL8TUQkcDfwto4VPA4R8SkaPZxZfS+5CjgJIDP/hcb3lK8BdgAHgT/oTKXdweGhJEnFmSyXDSVJXcTwkiQVx/CSJBXH8JIkFcfwkiQVx/CSxqH6e6VvRsTDEfFv1d8uSWoTw0san/cBH8zMBcA+GqNfSGoTw0t6FhFxdkR8OyI+1jRo82k0Htlxe7XZx4DXdq5KafIxvKSjOw9YUw3a/BPgrcD+zDw8aKyjg0ttZnhJR7c7M79eTX+CaozIURyqRmojw0s6utHBdIjGgwQPjw3q6OBSmxle0tHNjYiXVtNXA/9N40m/b6iWrQQ+14nCpMnKgXmlZxERZ9MYDfxu4GXAw8DvAc+j8Sj7mcAW4Jqm58FJqpnhJT2LKry+kJkXdrgUSU28bChJKo5nXpKk4njmJUkqjuElSSqO4SVJKo7hJUkqjuElSSrO/wEO6aIWMEoX7AAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "posterior_p01 = marginal(posterior_p012.unstack(), 1)\n", "joint_plot(posterior_p01.unstack().transpose())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Diabetes" ] }, { "cell_type": "code", "execution_count": 132, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2069" ] }, "execution_count": 132, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data4 = [-10000, 10, 182, 8, 74, 7, 20, 14, 709, 12, 650, 46, 104, 18, 157, 58]\n", "num_observed(data4)" ] }, { "cell_type": "code", "execution_count": 133, "metadata": {}, "outputs": [], "source": [ "n, k, s = make_stats(data4, 4)" ] }, { "cell_type": "code", "execution_count": 134, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 1754\n", "1 452\n", "2 1135\n", "3 173\n", "dtype: int64" ] }, "execution_count": 134, "metadata": {}, "output_type": "execute_result" } ], "source": [ "n" ] }, { "cell_type": "code", "execution_count": 135, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 -9685\n", "1 1754\n", "(0, 0) -9800\n", "(0, 1) 115\n", "(1, 0) 1417\n", "(1, 1) 337\n", "(0, 0, 0) -9990\n", "(0, 0, 1) 190\n", "(0, 1, 0) 81\n", "(0, 1, 1) 34\n", "(1, 0, 0) 721\n", "(1, 0, 1) 696\n", "(1, 1, 0) 122\n", "(1, 1, 1) 215\n", "(0, 0, 0, 0) -10000\n", "(0, 0, 0, 1) 10\n", "(0, 0, 1, 0) 182\n", "(0, 0, 1, 1) 8\n", "(0, 1, 0, 0) 74\n", "(0, 1, 0, 1) 7\n", "(0, 1, 1, 0) 20\n", "(0, 1, 1, 1) 14\n", "(1, 0, 0, 0) 709\n", "(1, 0, 0, 1) 12\n", "(1, 0, 1, 0) 650\n", "(1, 0, 1, 1) 46\n", "(1, 1, 0, 0) 104\n", "(1, 1, 0, 1) 18\n", "(1, 1, 1, 0) 157\n", "(1, 1, 1, 1) 58\n", "dtype: int64" ] }, "execution_count": 135, "metadata": {}, "output_type": "execute_result" } ], "source": [ "k" ] }, { "cell_type": "code", "execution_count": 136, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[1754, 1869, 2059, 2069]" ] }, "execution_count": 136, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s" ] } ], "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.8.2" } }, "nbformat": 4, "nbformat_minor": 1 }