{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Think Bayes\n", "\n", "This notebook presents example code and exercise solutions for Think Bayes.\n", "\n", "Copyright 2018 Allen B. Downey\n", "\n", "MIT License: https://opensource.org/licenses/MIT" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Configure Jupyter so figures appear in the notebook\n", "%matplotlib inline\n", "\n", "# Configure Jupyter to display the assigned value after an assignment\n", "%config InteractiveShell.ast_node_interactivity='last_expr_or_assign'\n", "\n", "# import classes from thinkbayes2\n", "from thinkbayes2 import Pmf, Suite, Beta\n", "import thinkplot\n", "\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The social desirability problem\n", "\n", "Whenever you survey people about sensitive issues, you have to deal with [social desirability bias](https://en.wikipedia.org/wiki/Social_desirability_bias), which is the tendency of people to shade their answers in the direction they think shows them in the most positive light.\n", "\n", "One of the ways to improve the quality of the results is to collect responses in indirect ways. For example, [here's a clever way one research group estimated the prevalence of atheists](https://fivethirtyeight.com/features/way-more-americans-may-be-atheists-than-we-thought/).\n", "\n", "Another way is [randomized response](https://en.wikipedia.org/wiki/Randomized_response), as described in [this presentation](http://www.soz.unibe.ch/ueber_uns/personen/jann/presentations_by_ben_jann/e131361/e131381/rrt_online07_kassel08_ger.pdf) or [this video](https://www.youtube.com/watch?v=nwJ0qY_rP0A).\n", "\n", "As an example, suppose you ask 100 people to flip a coin and:\n", "\n", "* If they get heads, they report YES.\n", "\n", "* If they get tails, they honestly answer the question \"Do you believe in God?\"\n", "\n", "And suppose you get 80 YESes and 20 NOs.\n", "\n", "1. Estimate the prevalence of believers in the surveyed population (by which, as always, I mean compute a posterior distribution).\n", "\n", "2. How efficient is this method? That is, how does the width of the posterior distribution compare to the distribution you would get if 100 people answered the question honestly?" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Solution\n", "\n", "class Social(Suite):\n", " \n", " def Likelihood(self, data, hypo):\n", " \"\"\"\n", " data: outcome of unreliable measurement, either 'YES' or 'NO'\n", " hypo: actual proportion of the thing we're measuring\n", " \"\"\"\n", " p = hypo\n", " p_yes = 0.5 + p/2\n", " if data == 'YES':\n", " return p_yes\n", " else:\n", " return 1 - p_yes" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Solution\n", "\n", "prior = np.linspace(0, 1, 101)\n", "suite = Social(prior)\n", "\n", "thinkplot.Pdf(suite, label='Prior')\n", "thinkplot.decorate(xlabel='Fraction of the population',\n", " ylabel='PDF')" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Solution\n", "\n", "for i in range(80):\n", " suite.Update('YES')\n", " \n", "for i in range(20):\n", " suite.Update('NO')" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3Xl8lfWd9//XJzsJECAJsgRIwr4paAT3pdqO9tERnXGdu7facW673N5z2xl7T/vrr7bjr7N0FtuZaW9bp2qt06qtnXaoG1bFBa0ICLIvIQQSQEggBsi+fH9/nCsnV0JWyJXrLO/n45EH13XO9zrnk4vkfPLdzTmHiIhIrEkJOwAREZHeKEGJiEhMUoISEZGYpAQlIiIxSQlKRERikhKUiIjEJCUoERGJSUpQIiISk5SgREQkJqWFHcBwyc/Pd0VFRWGHISIiA9iwYUONc65goHIJk6CKiopYv3592GGIiMgAzGz/YMqpiU9ERGKSEpSIiMQkJSgREYlJCdMHJSIShNbWVqqqqmhqago7lLiTlZVFYWEh6enpZ3S9EpSISD+qqqoYM2YMRUVFmFnY4cQN5xzHjh2jqqqK4uLiM3oNNfGJiPSjqamJvLw8JachMjPy8vLOquYZaIIys+vMbJeZlZnZV3t5PtPMnvWeX2tmRd7jRWbWaGabvK8fBhmniPStvb0j7BBCp+R0Zs72vgXWxGdmqcAPgE8CVcA6M1vpnNvuK3YPUOucm2VmtwPfAW7zntvrnFsSVHwi0rf29g7WfFDGf/5uI4dr6rjs/Fnc8gcXMLkgN+zQJIkEWYNaBpQ558qdcy3AM8CKHmVWAE96x88B15j+VBEJjXOON9ft5s//9hn+9T9ep+pILe3tHZHH/uYZ/u1nq6mpPRV2mEknNTWVJUuWsGjRIm655RYaGhqG/Brf+973zui6Bx98kFdffXXI1w2HIBPUVKDSd17lPdZrGedcG1AH5HnPFZvZRjN708wu7+0NzOxeM1tvZuurq6uHN3qRJLRy9Wb+9T9e56OaE6c91+Ecb7y/i68+/J+cONUYQnTJa9SoUWzatImtW7eSkZHBD3849F6PM0lQ7e3tPPTQQ1x77bVDuma4BDmKr7eakBtkmcPAdOfcMTO7APiNmS10znX7rXHOPQo8ClBaWtrztUVkCPZV1fCz59dGz7OzMvjMVecyr2QSv3l1E5t3VwFQe6KBH//qHf7irsF/aCWKP/7fwXWH/+pfvjCocpdffjmbN28G4OGHH+bxxx8H4M/+7M+4//77qa+v59Zbb6Wqqor29na+8Y1vcOTIEQ4dOsTVV19Nfn4+q1ev5pVXXuGb3/wmzc3NzJw5kyeeeILRo0dTVFTEn/7pn/LKK69w33338fLLL/OZz3yGm2++mddee40HHniAtrY2LrzwQh555BEyMzNPu+b2228flnsSZIKqAqb5zguBQ32UqTKzNCAXOO6cc0AzgHNug5ntBeYAWmxPJAAtrW1876evRQdEzJ4xkQe/+BmyR2UAcN7cQt7ZuJeHf/I7AN75oIxLlpRw0XklocWcjNra2njppZe47rrr2LBhA0888QRr167FOcfy5cu58sorKS8vZ8qUKbzwwgsA1NXVkZuby8MPP8zq1avJz8+npqaGb3/727z66qvk5OTwne98h4cffpgHH3wQiMxfWrNmDQAvv/wyEBnNePfdd/Paa68xZ84c7rzzTh555BHuv//+064ZLkE28a0DZptZsZllALcDK3uUWQnc5R3fDLzunHNmVuANssDMSoDZQHmAsYoktadWvkfVkVoAMjPS+fPPfiKanDpdunQmVy2bGz1/9Jdvc7Jek1dHQmNjI0uWLKG0tJTp06dzzz33sGbNGm666SZycnIYPXo0f/RHf8Tbb7/N4sWLefXVV/mrv/or3n77bXJzTx/Y8t5777F9+3YuvfRSlixZwpNPPsn+/V3rt952222nXbNr1y6Ki4uZM2cOAHfddRdvvfVWv9ecrcBqUM65NjO7D1gFpAKPO+e2mdlDwHrn3ErgMeApMysDjhNJYgBXAA+ZWRvQDnzBOXc8qFhFktnGHZW8+NbW6PnnbrqYKRPH9Vr2czddwoc7K6k90UDdyUYe+9U73H/nNSMVaugG2ww33Dr7oPwiDU2nmzNnDhs2bODFF1/ka1/7Gp/61KeiNSP/tZ/85Cd5+umne32NnJyc0x7r6/36u+ZsBToPyjn3onNujnNupnPub7zHHvSSE865JufcLc65Wc65Zc65cu/xXznnFjrnznPOne+c+22QcYokK+ccj/+qq1nmwkVFXHvx/D7Lj87O5PO3XRE9f3vDHrbsPhhojNK7K664gt/85jc0NDRQX1/Pr3/9ay6//HIOHTpEdnY2n/3sZ3nggQf44IMPABgzZgwnT54E4KKLLuKdd96hrKwMgIaGBnbv3t3v+82bN4+KioroNU899RRXXnllgN+hljoSSWobth/gUHUdAKOyMvji7VcOOLnywkVFXHbBLNZsiHxQvfT2VhbP6TlAV4J2/vnnc/fdd7Ns2TIgMkhi6dKlrFq1iq985SukpKSQnp7OI488AsC9997L9ddfz+TJk1m9ejU/+clPuOOOO2hubgbg29/+drT5rjdZWVk88cQT3HLLLdFBEl/4QrA1Shuo2hYvSktLnTYsFBmab35/JVv3RMYu3XD1edx148WDuq7yo1ru/7tnAUgx40d//Vkm5A5/E08s2LFjB/Pn912rlP71dv/MbINzrnSga7UWn0iSqjhYE01OBlx/xaJBXztt0ngWzJwMROZHvfbeziBClCSnBCWSpH77xpbo8UVLZjJxwpghXf+pSxZEj1/9/Q46OrRmnwwvJSiRJFR7ooG3N+yJnv/hVYuH/BoXnVfC6OxMAGpqT7FxR+UAV8SvROkKGWlne9+UoESS0MtrtnWblDu3eNKQXyM9PZVPLJ8XPf/duzuGLb5YkpWVxbFjx5SkhqhzP6isrKwzfg2N4hNJMq2t7bzyTtemAp+56twzfq1rL5nPytUfArB+awU1tafIHz/6rGOMJYWFhVRVVaH1Poeuc0fdM6UEJZJkNu2qjC72mjcuh4vPYrmiqRPHsWj2FLbuOYQDXntvJ7ddP+DgrLiSnp5+xjvCytlRE59Iknl3497o8RUXzCY19ew+Bj7pGyzx+w+1IpkMHyUokSTS0trGuq1da65dev6ss37N0oUzSEtLBaDy8HGOHj951q8pAkpQIkll084qGptaAJiUP5aiqXkDXDGwrMx0Fs+eEj3/YNuBs35NEVCCEkkq/ua9S5bMHHBZo8G6YOGM6PH6bRXD8poiSlAiSaKltY33t1REzy9ZOnPYXtufoLbsOURTc+uwvbYkLyUokSSxcUclzS2RxDG5IHdYmvc6TZwwhmmTJwDQ1tbOZq1wLsNACUokSby7KZjmvU6lC6ZHjzds299PSZHBUYISSQItrW2s29KVNC5ZOvxbtZcuKooeb9i2XysvyFlTghJJAh9sPxBt3ptSkMuMKcPXvNdpTtHE6Np8tScaqDh4bNjfQ5KLEpRIEtjgG/p9cQDNewApKSksnd/VzLdua8Wwv4ckFyUokQTnnGPTzq6Vxs/39RUNt1LfaL4Nmg8lZ0kJSiTBVX5Uy/G6egCyszKYPWNiYO+1ZP40UrzaWdmBo5ysbwrsvSTxKUGJJDj/Pk3nzZt21mvv9Wd0diYl0wqi5zv3fRTYe0niU4ISSXCbfAlq6fwz3/pgsDq3ggfYXnY48PeTxKUEJZLAmppb2bb3UPT8vLnTAn/P+b4EtaNcCUrOnBKUSALbWnYounPutMkTRmQzwfklXbvz7q2s0bJHcsaUoEQSWLfmvXnB154AxuRkMd1b9qijo4NdFUdG5H0l8ShBiSSwjTu6hnovnT8yCQpgfomvH2qvmvnkzChBiSSow9V1fFRzAoCM9LRuSSNoC2b5+qGUoOQMKUGJJCj/5NzFs6eSnp46Yu/tH8m3u+IIra3tI/bekjiUoEQSlL//ackIDC/3m5Cbw6T8sQC0trWzt7J6RN9fEoMSlEgC6ujoYJuvae28ERog4ecfbu4f6i4yWEpQIgloX9UxGptaABg/NpspBbkjHsPCmVOix+qHkjOhBCWSgLaWddVYFs6eEsjq5QPpPmH3Izo6OkY8BolvSlAiCWjbnq4EtWjWlH5KBuecvDFMyM0BIitaaH8oGapAE5SZXWdmu8yszMy+2svzmWb2rPf8WjMr6vH8dDM7ZWYPBBmnSCLp6Ohgu2+JoYUhJSgz61aL2l1xNJQ4JH4FlqDMLBX4AXA9sAC4w8wW9Ch2D1DrnJsFfBf4To/nvwu8FFSMIomoZ//T5BD6nzrNnt61tceeA0pQMjRB1qCWAWXOuXLnXAvwDLCiR5kVwJPe8XPANeY1lpvZjUA5sC3AGEUSjr//adHsqaH0P3Xy7z1Vtl8JSoYmyAQ1Faj0nVd5j/VaxjnXBtQBeWaWA/wV8Nf9vYGZ3Wtm681sfXW15lmIQI/+p9nhNO91Ki7Mi25gePBILfWNzaHGI/ElyATV259tbpBl/hr4rnPuVH9v4Jx71DlX6pwrLSgo6K+oSFJob4+N/qdOmRnpTJ+SB0R+scsra0KNR+JLkAmqCvDPDiwEes7Wi5YxszQgFzgOLAf+wcwqgPuB/8fM7gswVpGEsK+qJtr/5F/NIUyzZ3T98bhHzXwyBEEmqHXAbDMrNrMM4HZgZY8yK4G7vOObgdddxOXOuSLnXBHwPeBvnXPfDzBWkYTgXz1i4axw5j/15O+H2quBEjIEaUG9sHOuzav1rAJSgcedc9vM7CFgvXNuJfAY8JSZlRGpOd0eVDwiycDf/7R4TrjNe51maSSfnKHAEhSAc+5F4MUejz3oO24CbhngNb4VSHAiCabn/KcFM2MjQU2bNJ7MjHSaW1o59nE9x+vqoxN4RfqjlSREEsT+Q8djrv8JICUlhZLC/Oh52QGNuJXBUYISSRD+nWvnz5wcE/1PnTQfSs6EEpRIgthR/lH0eH7JpBAjOd0sX4LSSD4ZLCUokQTgnGOnr/8p1hJUtxrUgaM413NKpMjplKBEEsDR4yepPdEAwKisDKZPnhByRN0VjB/N2NGjAGhoauFQdV3IEUk8UIISSQA7fc1784rPISUltn61zazbwrHqh5LBiK2fYhE5Izt8zXvzSib3UzI8s3wrSpRpPpQMghKUSALYsTd2B0h0mjmtK0Ht1Zp8MghKUCJx7mR9E1VHagFITU1h1vTYXDi5xJegKg4e0xbwMiAlKJE4t3NfV+2ppDCfzIz0EKPp2/ix2Ywbkw1Ac0srh2tOhByRxDolKJE4t7Pb/KfY7H/qVDKta0WJfWrmkwEoQYnEuW4TdGfGdoIqntqVoMqrtOSR9E8JSiSOtbS2dRsRN7fonBCjGVhxoT9BqQYl/VOCEolje/Yfpb09Mthg6sRx5I4ZFXJE/evWxFdVoxUlpF9KUCJxbNe+I9HjucWxObzcb+KEMWRnZQBwqqGZ6tpTIUcksUwJSiSO7YzhBWJ7Y2bdalHlleqHkr4pQYnEKeccuyq6EtTcOEhQ0H2gxL6Dx0KMRGKdEpRInDpUXcephmYARmdnMqUgN+SIBkdDzWWwlKBE4tSubgvEToqpDQr7U1zYtaKEhppLf5SgROKUfwWJeBgg0WnqxFzS01IBqD3RwMcnG0KOSGKVEpRInOo+gi+25z/5paSkUDQ1L3permY+6YMSlEgc8i8Qm5ISuwvE9qWkWzOfEpT0TglKJA7truiqPRVPzYvZBWL70n2ghPqhpHdKUCJxyN+8Ny9Ohpf7lRRqqLkMTAlKJA51m/8URwMkOk2bNCG6Lf2RYyeob2wOOSKJRUpQInGmvb2D3RXxs0Bsb9LTUyk8Z1z0fP+h4yFGI7FKCUokzuw/dIyW1jYA8sePJn/86JAjOjP+kXwVBzVQQk6nBCUSZ/z7P8Vj814n/9Yb+6rUDyWnU4ISiTO7fCP44rF5r1PRlK4a1P5DSlByOiUokTizy7+CRDwnKF8T3/7Dx6P7Wol0UoISiSM1taeo8fZQykhP6/YhH2/Gjh5F3rgcANra2jlUXRdyRBJrlKBE4oi/eW/2jImkeWvaxauiKV39UBVaUUJ6UIISiSO7/RN043iARCd/DXCfRvJJD4EmKDO7zsx2mVmZmX21l+czzexZ7/m1ZlbkPb7MzDZ5Xx+a2U1BxikSL/wrmM+JowVi+zKj21BzDZSQ7gJLUGaWCvwAuB5YANxhZgt6FLsHqHXOzQK+C3zHe3wrUOqcWwJcB/zIzNKCilUkHrS0tnVbWDWeB0h0Ku5Wg1KCku6CrEEtA8qcc+XOuRbgGWBFjzIrgCe94+eAa8zMnHMNzrk27/EswAUYp0hcKDtQTUdHZKRb4TnjGZOTFXJEZ29yQW50odsTpxqpPaG9oaRLkAlqKlDpO6/yHuu1jJeQ6oA8ADNbbmbbgC3AF3wJK8rM7jWz9Wa2vrpaKyJLYtvpm6A7JwFqTwBmxowpE6Ln+zRQQnyCTFC97T/dsybUZxnn3Frn3ELgQuBrZnban4vOuUedc6XOudKCgvjaD0dkqPxbbMwrSYwEBVA81TeST8184hNkgqoCpvnOC4FDfZXx+phygW6rRjrndgD1wKLAIhWJcc65uN3ifSDd1uTTihLiE2SCWgfMNrNiM8sAbgdW9iizErjLO74ZeN0557xr0gDMbAYwF6gIMFaRmHa4uo6T9U0AjM7OZOrEcQNcET+6rSihGpT4BDYyzjnXZmb3AauAVOBx59w2M3sIWO+cWwk8BjxlZmVEak63e5dfBnzVzFqBDuBLzjk1TkvS8m9QOLdoEma9tY7HpxlTJmBE2vYPHqmluaU17nYIlmAEOnTbOfci8GKPxx70HTcBt/Ry3VPAU0HGJhJP/BsUJsL8J7/MjHQmF+RyqLoOBxw4fJzZMxLre5Qzo5UkROLAzm4rSCTeh3dRoQZKyOmUoERi3KmGZqoOR8YOpZgxa/rEkCMaft2WPNLeUOJRghKJcbv2fRSdn1FcmE9WZuL1z3Qbaq6RfOJRghKJcf4BEvNLJocYSXC6jeQ7dAzntHiMKEGJxLwd5Yejx3MTaIKu3/ix2YwdPQqApuZWPqo5EXJEEguUoERiWFtbO3v2H42eJ8IWG70xs25bwGughIASlEhMK6+qobWtHYBz8sYyITcn5IiCoxUlpCclKJEYtsO3QOy8ksSsPXXSihLSU78Jysxe8R1/LfhwRMRvl2/9vURt3utU5BvJp911BQauQfmXCD9txQcRCY5zLqlqUFMn5pKaGvlIqqk9xamG5pAjkrANlKA01lMkJIer6zhxqhGAnFGZTJs0PuSIgpWWlsr0yV17Q1WoFpX0BlqLr8TMVhLZt6nzOMo5d0NgkYkkOf8GhfOKE2uB2L4UTc2LblpYcfAYi2b33ONUkslACcq/Rfs/BRmIiHSXTM17nYqn5rOaXQDs00CJpNdvgnLOvdl5bGYF3mPaW11kBOz0TdBNlgTVbai5ElTSG2gUn5nZN82sBtgJ7DazajN7sL/rROTs1J1s5FB1HQCpqSnMml4wwBWJYYZvsm7lR8dp8+aASXIaaJDE/UQ2D7zQOZfnnBsPLAcuNbMvBx6dSJLaVdG1/t7MaQVkpAe6dVvMGJ2dScH4MQC0t3dw8OjHIUckYRooQd0J3OGc29f5gHOuHPis95yIBGDbnkPR4wUzE3OB2L6omU86DZSg0nvbat3rh0q8Nf9FYsR2X/9TsiWoGd32htJQ82Q2UIJqOcPnROQM1Tc2s68yMhbJSJ4BEp2K/QlKc6GS2kAN2+eZ2QkivyfQNXHXgKzAohJJYrv2HYn+os2Ymk/OqMxQ4xlpJdO6BoTsq4rsDZUMc8DkdAMNM08dqUBEJGJ7WVf/06JZU0KMJBwF40eTMyqT+sZm6hubqa49xcQJY8IOS0Iw0DDzLDO738y+b2b3mllyDCUSCdG2vV39T/NnJlfzHkT2hiou7GrmK6/U1MtkNVAf1JNAKbAF+DTwz4FHJJLEmltaKTvQ9YGcbAMkOpUU+pr5NJIvaQ1UI1rgnFsMYGaPAe8HH5JI8tpdcZSOjg4Apk0aH90GPdn4a1D7KjVQIlkNVINq7TxwzrUFHItI0tta5p//lHz9T52Ku9WglKCS1WBH8UFk5N4o36g+55wbG2h0Iklmx97knf/kN3ViLulpqbS2tXO8rp66k43kjknO2mQy67cG5ZxLdc6N9b7GOOfSfMdKTiLDqLW1nd2+JY4WzEreBJWSktJtRQnVopLTQE18IjJCyg4cpdVbHHVS/lgm5OaEHFG4igu7toAvVz9UUlKCEokR27o17yVv/1On4qm+BKUlj5KSEpRIjEjmBWJ7U+KrQWn79+SkBCUSA1pa29jhWyB28RxtdT59ygRSvCWODlfX0dik5T+TjRKUSAzYXXEk2v80uSCX/PGjQ44ofBnpaRROGh8919YbyUcJSiQGbNl9MHqs2lOXbgMl1A+VdAJNUGZ2nZntMrMyM/tqL89nmtmz3vNrzazIe/yTZrbBzLZ4/34iyDhFwrbF1/+0aLYSVCf/QAkNNU8+gSUoM0sFfgBcDywA7jCzBT2K3QPUOudmAd8FvuM9XgP8obfM0l3AU0HFKRK2xqYW9uw/Gj1fPFsj+DqVTNNQ82QWZA1qGVDmnCt3zrUAzwArepRZQWRBWoDngGvMzJxzG51znX9SbgOyzCy5NsWRpLF97+Ho+nszpuQl7fp7vfHXoCoPH6elVSuuJZMgE9RUoNJ3XuU91msZb62/OiCvR5k/BjY655p7voG3Bch6M1tfXa0l+SU++fufzlX/UzfZozKYUpALQIdzGiiRZIJMUL1tgemGUsbMFhJp9vt8b2/gnHvUOVfqnCstKCjorYhIzPP3P2mAxOlmzZgYPfY3hUriCzJBVQHTfOeFwKG+ynibIeYCx73zQuDXwJ3Oub0BxikSmhOnGqOTUFNSUjRBtxczfVvA79XmhUklyAS1DphtZsVmlgHcDqzsUWYlkUEQADcDrzvnnJmNA14AvuaceyfAGEVC5d9eY/aMiYzKyggxmtg0a3pXDWrvASWoZBJYgvL6lO4DVgE7gF8457aZ2UNmdoNX7DEgz8zKgL8AOoei3wfMAr5hZpu8r4mIJJhu8580eq9XxYV50RUlDh6p1YoSSWSg/aDOinPuReDFHo896DtuAm7p5bpvA98OMjaRWKAJugPLzEincNJ4Dhw+jiMyYXfhLCXzZKCVJERC8lHNCQ5X1wGQnpbKnKJzQo4odvmb+crUzJc0lKBEQrJpR9csjHPnFJKRHmiDRlybNb1roETZAY3kSxZKUCIh+WD7gejxkvmFIUYS+zRQIjkpQYmEoLW1nS17uvqfls6fHmI0sW/GlAmkpkY+ro4cO8HJ+qaQI5KRoAQlEoLt5Yejy/ZMyh/LZG+1BOldWloqRVO6FpnRfKjkoAQlEgJ//9P5C1R7GgwNlEg+SlAiIejW/zRvWj8lpZN/oMReDZRICkpQIiOs+vhJqo7UApGmq0WaoDsoM1WDSjpKUCIjbKOveW/hzMlkZqSHGE38mDZpXHQo/vG6eo7X1YcckQRNCUpkhG3a2ZWgNHpv8FJSUro18+3adyTEaGQkKEGJjKC2tnY+3FUVPV+6QP1PQzHXt9rG7golqESnBCUygnaUf0RTcysABePHMHXiuJAjii9zSyZFj3eUHw4xEhkJSlAiI+j9LfuixxcsnI5Zb3t2Sl/8NajyqhptAZ/glKBERohzjrWbuxLU8nOLQ4wmPo0dPSq6BXx7ewfllTUhRyRBUoISGSHllTUc+zgy8ixnVKZ2zz1D/ma+nfs+CjESCZoSlMgI6dm8l5aWGmI08WtesS9BlStBJTIlKJERsnZLRfR42WI1752pub4EtaviCM65EKORIClBiYyAw9V1VB4+DkQ2J1w6X8PLz1ThOePIGZUJwIlTjXxUcyLkiCQoSlAiI+B9X+1pybxpZGVq9YgzZWbMLe4azadmvsSlBCUyAvyj95YtLgovkATRvZlPCSpRKUGJBOzjkw3s9kabGVC6aEa4ASWAef4alJY8SlhKUCIBW7elgs5u/PkzJzN29KhQ40kEs6ZPJMWb5Fx1+Dj1jc0hRyRBUIISCdiaD8qixxq9NzyyMtMpKswHwKGFYxOVEpRIgI7X1bNtzyEg0rx36fkzww0ogfib+Xbs1bp8iUgJSiRAaz4oizbvLZozlQm5OaHGk0gWzOza6HHLnoMhRiJBUYISCdDbG7qa9y6/YFaIkSSeRbOn0LnUbtn+o+qHSkBKUCIBOXj0Y8orI1uTp6amcNF5JSFHlFjG5GR164farma+hKMEJRKQt9bviR6XLpwRXf1Ahs+5c6ZGj7fsVjNfolGCEgmAc441G7oS1GVq3gvE4jmF0ePNSlAJRwlKJAB7D1RH14gblZVB6UJNzg3C/JJJpKZGPsYqDx/n45MNIUckw0kJSiQAb/lqT8vPLSYjPS3EaBJXVmY6c2Z0DTffuvtQiNHIcFOCEhlmra3t3fqfriidHWI0iW+xrx9q8+6qECOR4aYEJTLM1m7ex8n6JgDyxuWwePaUAa6Qs7FYAyUSVqAJysyuM7NdZlZmZl/t5flMM3vWe36tmRV5j+eZ2WozO2Vm3w8yRpHh9sq726PH1148n5QU/R0YpDkzJkabUI8eP8mRY9ofKlEE9ptjZqnAD4DrgQXAHWa2oEexe4Ba59ws4LvAd7zHm4BvAA8EFZ9IEA4e/ZhtZZF+kBQzrrloXsgRJb60tFQWzpocPd+qVSUSRpB/2i0Dypxz5c65FuAZYEWPMiuAJ73j54BrzMycc/XOuTVEEpVI3PjdO121pwsWziBv3OgQo0kei2Z3NfN9uEsJKlEEmaCmApW+8yrvsV7LOOfagDogb7BvYGb3mtl6M1tfXV19luGKnJ2W1jZWv78rev6pS3s2GEhQzpvbNR9q045K2traQ4xGhkuQCcp6ecydQZk+Oecedc6VOudKCwoKhhScyHB778NyTjVE1oMrGD+GJfMKB7hChkvR1DzyxkUW4q1vbGaHtoFPCEGLKUW5AAATf0lEQVQmqCpgmu+8EOg5SSFaxszSgFzgeIAxiQRmla9579pLNDhiJJkZpQuLoufrtlaEFosMnyB/g9YBs82s2MwygNuBlT3KrATu8o5vBl53zg26BiUSK/ZV1bDT+6s9JSWFTyyfG3JEyWfZuUXR4/c3V6CPkvgXWILy+pTuA1YBO4BfOOe2mdlDZnaDV+wxIM/MyoC/AKJD0c2sAngYuNvMqnoZASgSM3792qbo8fJzi7XvUwgWzZrCqKwMAKprT3LgsBpj4l2g6684514EXuzx2IO+4ybglj6uLQoyNpHh8lHNCd71bev+R9cuCTGa5JWWlsrS+dN4d+NeIDJhesaUQY+5khikRnKRs7Ty9Q+jI3vOnVNIyTQN2AnL8sXF0eN1W/eHGIkMByUokbNQd7KR19fujJ7fqNpTqJYumBZd3by8spqa2lMhRyRnQwlK5Cy88OYWWr05NyXTCrptoCcjL2dUJgtndq19uF61qLimBCVyhhqbWnjp7a3R8xuvWYJZb1P7ZCR1G823ZV94gchZU4ISOUMvvLWVhqYWACblj+Xi84oHuEJGwoWLiqLHW8sORVeWl/ijBCVyBupONvLrVzdGz2+6dqkm5saI/PGjmTV9IgDt7R2s8Y2wlPii3yiRM/DcKxtoam4FYOrEcVy9TBNzY4n//+P1tbv6KSmxTAlKZIgOV9fx8pquZY0+e8NF0ZFjEhsuu2AWaWmpQGQ03/5Dx0KOSM6EfqtEhuhnz79PR0cHAPNLJnPhohkhRyQ9jc7OZNniouj56++pFhWPlKBEhmB3xRF+v2lv9PyuGy/SyL0Y9YnlXZtFvrVhj7bgiENKUCKD1NHRwY+fWxM9v3jJTGbPOCfEiKQ/582dGt2C48SpRjZsPxByRDJUSlAig/TbN7awtzKyMWZqagr/7TPLQo5I+pOSksJVF3YNllitwRJxRwlKZBAOV9fx9AvvR89vva6UyQW5IUYkg3HVsjnR4w3b9vPxyYYQo5GhUoISGYBzjkeeeTO6pNGMKXnc+InzQo5KBmPKxHHMK5kEQIdzvLxmW8gRyVAoQYkM4Hfv7mBbWWQz6BQz7vuTq6JDmCX2XXfpwujxi29upaGxJcRoZCiUoET6UflRLT/5ze+j5ys+cZ6204gzlyydyaT8sQDUNzarFhVHlKBE+tDY1MI/PraK5pbIihFTCnK59frSkKOSoUpNTeGma5dGz3/7xmZaWttCjEgGSwlKpBfOOb7/8zc4ePRjANLTUvnLz32SjPRAN6GWgFx14ZxuQ85/9+6OkCOSwVCCEunFytWbee/D8uj5F2+/kqKp+SFGJGcjLS2VG6/p2kzyv17fpIm7cUAJSqSH97dU8B8r34ueX3fZQq68cE4/V0g8uPbi+eSOGQXAsY/rtYhsHFCCEvHZtLOSf3riFTqcA2BO0Tl87qZLQo5KhkNGeho3XN01PeDnL7zPiVONIUYkA1GCEvFs33uYv//3l2lvjywEOyl/LP/nnj/QkPIEct1lC6N9USfrm3ji1++GHJH0RwlKBNhZ/hF/86MXo5Nx88eP5lv/8w8ZPzY75MhkOGVlpnPvrVdEz99av4dNOytDjEj6owQlSW/NhjK++YPfRjcgHDcmm29+6TMUTBgTcmQShNKFM7hk6czo+Q+feSv6fy+xRQlKkpZzjl+8vJ7v/vTV6IiusaNH8eCXPsOUieNCjk6CdM8fX0rOqEwAqmtP8vQL60KOSHqjBCVJ6WR9E//0xO949qX10ccKzxnP3335JmZMmRBiZDISxo3J5u4bL46eP//mZq12HoM061CSzvpt+3nk6Te7rWx97pxCHvjTT0b/qpbEd/Xyuby7aS8bd0T6oP7vM28yYVwO580tDDky6aQalCSN43X1/NvPVvN3j77ULTn9waUL+frnr1dySjJmxpfvupbpkyM15o6ODv7hsVVUHKwJOTLppAQlCa++sZmfP/8+X3ro57zxflczzrgx2Xzt3uu599bLNZQ8SeWMyuTrn/80E3IjQ8+bmlv59g9fpNzbmFLCZc6bkBjvSktL3fr16wcuKEmjpvYUq9Zs45V3t3Oqobnbc5csncm9t1zOmJyskKKTWLL/0DG+/i//RWNTZCuO9LRUvnDbFVy1bO4AV8qZMLMNzrkBV15WgpKE0tLaxqadVbz5/i7Wbt5Hz5/uoqn53LniIvUzyGm27jnI3/94VTRJQWRi750rLiIzIz3EyBKPEpQkjdoTDWzbc4h12ypYv3V/r3Nazskbyx2fvpDLLpiFmYUQpcSDg0c/5h9+vIqqI7XRx8aPzebmT13AtRfPU1PwMFGCkoTU0trGgUPHKa+qobyqmh17P+r2YdLT4jlT+fQViyldOJ2UFHW5ysCamlv5t5+t7raaPUT+yPmDyxZy8ZISJmoS91mJiQRlZtcB/wKkAj92zv19j+czgZ8CFwDHgNuccxXec18D7gHagT93zq3q772UoOKfc47GplbqTjVSd7KRmo9PcezjeqqPn+RwdR2Hq+s4euzEac12PU3KH8vF55Vw5bK5TJs0fkRil8TinOPV3+/g2ZfWU3ui4bTnZ04rYOn8aZRMK2DmtALyxuWoZj4EoScoM0sFdgOfBKqAdcAdzrntvjJfAs51zn3BzG4HbnLO3WZmC4CngWXAFOBVYI5zrs8NXM4mQVUdqaXuZOKvauz/v+7tv9051+3D3zmHc53/Rp7rfKyjoyPyr3O4Dkd7Rwcd3r/t7R20eV/t7R20trXT2tpGa1sHza2tNLe00dzSRmNTKw1NLTQ0NtPQ1MrJhqboQq1DkZqawtyic1g4ewrLFxdTNDVPHxYyLJpbWnnp7W38+tWNpw208cvOyiBv/Gjyx+UwITeH0dmZZI/KJDsrncyMNNJSU0lPTyUtNZWUFCPFjNTUSI0+xftZ7fyRjZef3blF55xxk+dgE1SQE3WXAWXOuXIvoGeAFcB2X5kVwLe84+eA71vkf2cF8IxzrhnYZ2Zl3uv9PohAn1v1AW9v2BPES0sAJuWPpbiwgJLCfGZNL2Bu8TnqxJZAZGakc+M1S/jUJQtYu3kf72wsY/Pug6f9IdXQ1ELD4eNUHj4eUqQj78m/+xyjA+6TCzJBTQX8ywRXAcv7KuOcazOzOiDPe/y9HtdO7fkGZnYvcC/A9OnThy1wCU9mRjpjc7LIHTMq8tfouBzyxo1mUv5YJheMY3LBWG27LiMue1QGVy+fy9XL53KqoZlNOyrZs/8o5VXVlFfVaLHZgAT5m95bPbVnw1JfZQZzLc65R4FHIdLEN9QAO02ZmMv8kslnennMGWwLgb8poec1ZoZ5/w0pKYZZ12MpKZHHU1MMLHKekmKkpqREvlIjx2mpqaSlpZCWlkp6WioZ6alkpKWRmZFGVmak6SM7K4PsURlkZ2UwdnSWko/EvNHZmVx2wSwuu2AWEGn2rjvVyLHaemo+PkVtXUO3puuWtjZa29ppa22nrb2DDueizeGdze4dHf03v8ei1JTgmyKD/DSoAqb5zguBQ32UqTKzNCAXOD7Ia4fNrdeVcut1AzaHioicxswYNyabcWOymTm9IOxwEkqQ427XAbPNrNjMMoDbgZU9yqwE7vKObwZed5E/KVYCt5tZppkVA7OB9wOMVUREYkxgNSivT+k+YBWRYeaPO+e2mdlDwHrn3ErgMeApbxDEcSJJDK/cL4gMqGgD/md/I/hERCTxaKKuiIiMqMEOM9fUehERiUlKUCIiEpOUoEREJCYpQYmISExSghIRkZiUMKP4zKwa2H+WL5MP1AxDOPFO9yFC9yFC9yFC96HL2d6LGc65AWc1J0yCGg5mtn4wQx8Tne5DhO5DhO5DhO5Dl5G6F2riExGRmKQEJSIiMUkJqrtHww4gRug+ROg+ROg+ROg+dBmRe6E+KBERiUmqQYmISExSghIRkZiUlAnKzK4zs11mVmZmX+3l+Uwze9Z7fq2ZFY18lMEbxH34CzPbbmabzew1M5sRRpxBG+g++MrdbGbOzBJyqPFg7oOZ3er9TGwzs5+PdIwjYRC/F9PNbLWZbfR+Nz4dRpxBM7PHzeyomW3t43kzs3/17tNmMzt/2INwziXVF5G9qfYCJUAG8CGwoEeZLwE/9I5vB54NO+6Q7sPVQLZ3/MVkvQ9euTHAW8B7QGnYcYf08zAb2AiM984nhh13SPfhUeCL3vECoCLsuAO6F1cA5wNb+3j+08BLgAEXAWuHO4ZkrEEtA8qcc+XOuRbgGWBFjzIrgCe94+eAa8zMRjDGkTDgfXDOrXbONXin7wGFIxzjSBjMzwPA/wf8A9A0ksGNoMHch/8B/MA5VwvgnDs6wjGOhMHcBweM9Y5zgUMjGN+Icc69RWQj2b6sAH7qIt4DxpnZ5OGMIRkT1FSg0nde5T3WaxnnXBtQB+SNSHQjZzD3we8eIn8tJZoB74OZLQWmOeeeH8nARthgfh7mAHPM7B0ze8/Mrhux6EbOYO7Dt4DPmlkV8CLwv0YmtJgz1M+QIQtsy/cY1ltNqOdY+8GUiXeD/h7N7LNAKXBloBGFo9/7YGYpwHeBu0cqoJAM5uchjUgz31VEatNvm9ki59zHAcc2kgZzH+4AfuKc+2czuxh4yrsPHcGHF1MC/5xMxhpUFTDNd17I6VX0aBkzSyNSje+vqhuPBnMfMLNrga8DNzjnmkcotpE00H0YAywC3jCzCiJt7SsTcKDEYH8v/ss51+qc2wfsIpKwEslg7sM9wC8AnHO/B7KILJ6abAb1GXI2kjFBrQNmm1mxmWUQGQSxskeZlcBd3vHNwOvO6xVMIAPeB69p60dEklMi9jfAAPfBOVfnnMt3zhU554qI9MXd4JxbH064gRnM78VviAycwczyiTT5lY9olMEbzH04AFwDYGbziSSo6hGNMjasBO70RvNdBNQ55w4P5xskXROfc67NzO4DVhEZsfO4c26bmT0ErHfOrQQeI1JtLyNSc7o9vIiDMcj78I/AaOCX3hiRA865G0ILOgCDvA8Jb5D3YRXwKTPbDrQDX3HOHQsv6uE3yPvwl8C/m9mXiTRp3Z2Af8BiZk8Tac7N9/rbvgmkAzjnfkik/+3TQBnQAHxu2GNIwPsqIiIJIBmb+EREJA4oQYmISExSghIRkZikBCUiIjFJCUpERGKSEpTEPDNrN7NNvq+iYXjNG81sge/8IW9ScmDM7Glv1ecvDxDLG7E8EdjMivpa4bpHmT/xnZea2b8GH50kkqSbByVxqdE5t6SvJ80szVszcShuBJ4HtgM45x48i/gGZGaTgEucc71tWdItlgRRBPwJ8HMAb2Jzok1uloCpBiVxyczuNrNfmtlvgVfMbLS3Z9UHZrbFzFb4yt7p1Vw+NLOnzOwS4AbgH70a2Uwz+4mZ3eyVv8bb62eLtydOpvd4hZn9te895vUSV5aZPeE9v9HMrvaeegWY6L3f5b7yp8XiPXWLmb1vZrs7y5tZqpn9o5mt876fz/fy/kVmttPMnvTKPGdm2YP4vr7jvd/7ZjbLezx6T7zzU32839vePfnA+34A/h643PuevmxmV5nZ8941E8zsN15875nZud7j3/LiesPMys3szwf6OZAEF/aeI/rS10BfRFYt2OR9/dp77G4ia4FN8M7TgLHecT6R2e0GLCSyZly+91xn+Z8AN/ve4ydElrXKIrJC8xzv8Z8C93vHFcD/8o6/BPy4l1j/EnjCO55HZFmcLCI1ir721ekZyxvAP3vHnwZe9Y7vBf5f7ziTSI2kuMdrFRFZ3eBS7/xx4IFBfF9f947vBJ7vI65TvvfY6h1nA1ne8Wwiqy1AZAWC533XXuV73X8DvukdfwLY5B1/C3jX+97ygWNAetg/f/oK70s1KIkHjc65Jd7XTb7Hf+ec61zE14C/NbPNwKtElv0/h8gH4HPOuRoAX/m+zAX2Oed2e+dPEtm4rdN/ev9uIPJB3dNlwFPee+0E9hNZs26oenufTxFZ+2wTsJbIFjC9LdZa6Zx7xzv+Dy+mgb6vp33/XjyEONOJLPuzBfglkQ38BuK/R68DeWaW6z33gnOu2fv/Okrk/1CSlPqgJJ7V+47/G1AAXOCca7XIyuNZRBLXUNbzGmhjys4V3dvp/fdnuDa27O19jEgNbtUA1/b8ft0g4nK9HLfhdQNYZDHGjF6u+zJwBDjPKzuYDR3726bBv2J+X/dYkoRqUJIocoGjXnK6GugcjPAacKuZ5UGk/8N7/CSRrTR62gkUdfbDAP8deHMIcbxFJFliZnOA6USaGPvTVyw9rQK+aGbpna9vZjm9lJtukX2KILJ30RoG/r5u8/37e++4ArjAO16Bt1BoD7nAYRfZC+m/E1lgdaDvyX+PrgJqnHMn+igrSUwJShLFz4BSM1tP5MNvJ4BzbhvwN8CbZvYh8LBX/hngK96ggc6BCTjnmoisyvxLr9mqA/jhEOL4v0Cqd+2zRFa6HmgfrV5j6cWPiYz0+8Ab5v0jeq9h7ADu8po7JwCPDOL7yjSztcD/JlIrAvh34Eozex9YTvcaq//7vcvM3iPSlNlZZjPQ5g1M+XKPa75F5P9qM5HBFHch0gutZi6SQCwyR+x559yiIVxTAZR29tOJxArVoEREJCapBiUiIjFJNSgREYlJSlAiIhKTlKBERCQmKUGJiEhMUoISEZGY9P8DjUWCSoVRpoYAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Solution\n", "\n", "thinkplot.Pdf(suite, label='Posterior')\n", "thinkplot.decorate(xlabel='Fraction of the population',\n", " ylabel='PDF')" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.5882352942702531, 0.6)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "suite.Mean(), suite.MAP()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3Xl8W9WZ8PHfY0leZDteYjubkzgkJCE7iZMQEpaULTCUtB1aoB0KLR3KVrrOtNPOSymdpe3wtm/p0IVCS2EoFGgLGZqWnYSELHb2fSFxEpPgOI7teJMtyef940rXsuNFsSVLlp7v5+NP7pXOvffoxvbjc85zzxFjDEoppVS8SYl1BZRSSqnuaIBSSikVlzRAKaWUiksaoJRSSsUlDVBKKaXikgYopZRScUkDlFJKqbikAUoppVRc0gCllFIqLjljXYFIKSgoMCUlJbGuhlJKqT5s2rTplDGmsK9yCROgSkpKKC8vj3U1lFJK9UFEjoRTTrv4lFJKxSUNUEoppeKSBiillFJxKWHGoJRSKpTX66WyshKPxxPrqiSt9PR0iouLcblc/TpeA5RSKiFVVlaSnZ1NSUkJIhLr6iQdYww1NTVUVlYyYcKEfp1Du/iUUgnJ4/EwfPhwDU4xIiIMHz58QC1YDVBKqYSlwSm2Bnr/tYtPKdUtr9fL6tWrqampYd68eUycODHWVVJJRltQSqmzGGPYuHEjJ0+exO/3U1ZWRnV1dayrNeQ4HA7mzJnD9OnTmT17Nj/+8Y9pb28HoLy8nPvvvz8i13nyySc5fvx4RM4VTzRAKaXOcuDAAY4ePWrvG2NYu3atZsSdo4yMDLZu3cquXbt4/fXXWblyJd/73vcAKC0t5ZFHHjnrGJ/Pd87XSdQAFdUuPhFZBvwUcACPG2N+0OX9NOApYB5QA9xkjKkQERfwODA3UMenjDH/Gc26KqUsNTU1bNmy5azXW1paWLduHZdffvmQG9t59tlno3buW265JaxyRUVFPPbYY8yfP58HH3yQVatW8fDDD/PKK6/w4IMPcvz4cSoqKigoKODpp5/mW9/6Fu+88w6tra3ce++9fPGLXwTgRz/6EU8//TQpKSlce+21lJaWUl5ezmc+8xkyMjJYt24dGRkZUfu8gylqAUpEHMCjwFVAJVAmIiuMMbtDit0B1BpjJonIzcAPgZuATwJpxpiZIuIGdovIs8aYimjVVykFra2trFmzxu6GysvLY/r06axZswaADz/8kN27dzN9+vRYVnPIOu+882hvb+fkyZNnvbdp0ybWrFlDRkYGjz32GDk5OZSVldHa2srixYu5+uqr2bt3Ly+99BIbNmzA7XZz+vRp8vPz+e///m8efvhhSktLY/CpoieaXXwLgIPGmEPGmDbgOWB5lzLLgd8Ftl8ErhDrTzMDZIqIE8gA2oAzUayrUgqra6+5uRkAl8vFkiVLGDt2LBdccIFdZufOnbS2tsaqikOeMabb12+44Qa75fPaa6/x1FNPMWfOHBYuXEhNTQ0HDhzgjTfe4HOf+xxutxuA/Pz8Qat3LESzi28McCxkvxJY2FMZY4xPROqB4VjBajlwAnADXzXGnI5iXZVS0Gkc48ILLyQrKwuAWbNmcfz4cerr6+0WwNixY2NVzXMWbjdctB06dAiHw0FRURF79uzp9F5mZqa9bYzhZz/7Gddcc02nMn/729+GXPfqQESzBdXdXez6p0NPZRYAfmA0MAH4uoicd9YFRO4UkXIRKdcMI6UGpq2tjdOnO/4OLC4utrdTUlIYM2aMvf/hhx8Oat0SQXV1NXfddRf33Xdfn0Hmmmuu4Re/+AVerxeA/fv309TUxNVXX81vfvMbu5Ub/P/Kzs6moaEhuh8gBqLZgqoEQv/EKga6ppkEy1QGuvNygNPAp4G/GWO8wEkRWQuUAodCDzbGPAY8BlBaWtp9u1kpFZaTJ0/a3U95eXmkpaV1en/EiBHs3m0NIVdVVQ16/YailpYW5syZg9frxel0cuutt/K1r32tz+O+8IUvUFFRwdy5czHGUFhYyEsvvcSyZcvYunUrpaWlpKamct111/Ef//Ef3H777dx1110JlyQhPfWHDvjEVsDZD1wBfACUAZ82xuwKKXMvMNMYc1cgSeITxphPicg3ganA57G6+MqAm40x23u6XmlpqdEFC5Xqv/Lycg4cOADABRdcwJw5czq97/f7efHFF+0EiuXLl9tjIfFoz549ncbOVGx09/8gIpuMMX1mdESti88Y4wPuA14F9gDPG2N2ichDInJDoNgTwHAROQh8DfhW4PVHgSxgJ1Zw+m1vwUkpNXCh3XYjR448632Hw0FBQYG9r60oFW1RfQ7KGLMSWNnltQdCtj1YKeVdj2vs7nWlVHQ0NzfbYxgOh4PCwsJuy40cOdJOka6qqur3LNVKhUNnklBKdWo9FRQU4HA4ui03YsQIe7uqqqrHlGmlIkEDlFKKEydO2Nvdde8F5efn43RaHS/Nzc00NjZGvW4qeWmAUirJGWM6jSeNGjWqx7IpKSkUFRXZ+zoOpaJJA5RSSa6urs6eGSI1NZXc3Nxey4d28+nzUCqaNEApleRCg8yIESP6fIg0tAtQx6F6F1xuY8aMGXz0ox+lrq4uIuetqKhgxowZETnXAw88wBtvvDHg8wRnHYkkDVBKJblwu/eCcnJy7Id429raIvZLNxEFl9vYuXMn+fn5PProo7Gu0lkeeughrrzyylhXo1u6oq5SScwYQ01Njb0fOr7UExFhxIgR9npR1dXV5OXlRa2OkfD3X/5l1M79x5/eFVa5RYsWsX279ThnY2Mjy5cvp7a2Fq/Xy7/927+xfPlyKioquPbaa1myZAnvvfceY8aM4eWXXyYjI4NNmzbx+c9/HrfbzZIlS+zzejwe7r77bsrLy3E6nfz4xz9m6dKlPPnkk7z00kv4/X527tzJ17/+ddra2nj66adJS0tj5cqV5Ofnc/vtt3P99ddTUlLCF77wBQD7GGMM77//Pvfeey/V1dW43W5+/etfM3XqVA4fPsynP/1pfD4fy5Yti/yNRVtQSiU1j8dDW1sbAE6nM+xumtBZtOvr66NSt0Ti9/t58803ueEGa46C9PR0/vznP7N582befvttvv71r9tdpQcOHODee+9l165d5Obm8sc//hGAz33uczzyyCOsW7eu07mDrbIdO3bw7LPPctttt9kLS+7cuZPf//73bNy4ke985zu43W62bNnCokWLeOqppzqdp7S0lK1bt7J161aWLVvGN77xDQDuvPNOfvazn7Fp0yYefvhh7rnnHgC+/OUvc/fdd1NWVtZr5udAaAtKqSQW2j2Xk5MT9kzZOTk59rYGqJ4F5+KrqKhg3rx5XHXVVYDVcv32t7/N6tWrSUlJ4YMPPrC7WidMmGBPMzVv3jwqKiqor6+nrq6Oyy67DIBbb72Vv/71rwCsWbOGL33pSwBMnTqV8ePHs3//fgCWLl1KdnY22dnZ5OTk8NGPfhSAmTNn2q25rp5//nk2b97Ma6+9RmNjI++99x6f/GTHvAnBhJq1a9fawfPWW2/lm9/8ZuRuXIAGKKWSWGiA6it7L1TXAGWMietlIMLthou04BhUfX09119/PY8++ij3338/zzzzDNXV1WzatAmXy0VJSYnd6gmdpNfhcNDS0tLr/e0tSSX0XCkpKfZ+SkpKt0vL79q1i+9+97usXr0ah8NBe3s7ubm5bN26tdvzR/v/XLv4lEpioa2f0KDTF7fbbT+w29bWZv9yVd3LycnhkUce4eGHH8br9VJfX09RUREul4u3336bI0eO9Hp8bm4uOTk59srGzzzzjP3epZdeau/v37+fo0ePMmXKlHOuY319PTfffDNPPfWUPdXVsGHDmDBhAi+88AJgBcNt27YBsHjxYp577rmz6hNJGqCUSmL9bUGJiHbznaMLL7yQ2bNn89xzz/GZz3yG8vJySktLeeaZZ5g6dWqfx//2t7/l3nvvZdGiRZ2W07jnnnvw+/3MnDmTm266iSeffPKspVLC8dJLL3HkyBH+8R//kTlz5tjdjM888wxPPPEEs2fPZvr06bz88ssA/PSnP+XRRx9l/vz5Ufv/j9pyG4NNl9tQ6twYY3jhhRfw+/0AfOITnzinX2wbNmzg0CFriba5c+f266/2aNLlNuJDXC63oZSKbw0NDXZwSk9PP+e/urUFpaJNA5RSSaq/40/dHaMBSkWDBiilklR/x5+CusvkizfxWKdkMtD7rwFKqSQ10ACVkZGBy+UCwOv10tLSErG6RUJ6ejo1NTUapGIkOEtJenp6v8+hz0EplaQGGqCCmXynTp0CrFaU2+2OWP0Gqri4mMrKSqqrq2NdlaSVnp5OcXFxv4/XAKVUEvL7/Z0WG+zPGFTwuNAAFc5ks4PF5XLpkvRDnHbxKZWEQpMasrKyelzivS+aKKGiSQOUUklooN17QRqgVDRpgFIqCUUrQGlCgookDVBKJaFIBaj09HRSU1MB8Pl8NDc3D7huSgVpgFIqCQ30Id0gnZNPRZMGKKWSTGtrqz37uMPhIDs7e0Dn0wClokUDlFJJ5syZM/Z2dnb2gNf00QClokUDlFJJJvT5p4G2nqBzgGpoaBjw+ZQK0gClVJIJDSKRCFBZWVn2dmjwU2qgNEAplWQiHaDcbjcpKdavEo/H0+1S4kr1hwYopZJMaIAKbf30l4h0moNPW1EqUjRAKZVEjDERH4Pqeh4NUCpSNEAplUTa2trwer0AOJ3OAS2FECozM9Pe1kQJFSkaoJRKIl279waaYh6kLSgVDRqglEoikU6QCNJMPhUNGqCUSiKRTpDo7lwaoFSkaIBSKokMRguqqamJ9vb2iJ1bJS8NUEolkWhk8EHnhAtjDC0tLRE7t0peGqCUShLGmKi1oKBzK0oz+VQkaIBSKkmEppg7HI6IpZgH6TiUijQNUEoliWilmIeeM0gDlIoEDVBKJYlodu+BBigVeRqglEoS0UqQCNIxKBVpGqCUShLRbkGFnrOpqQljTMSvoZJLVAOUiCwTkX0iclBEvtXN+2ki8ofA+xtEpCTkvVkisk5EdonIDhGJ7IiuUkkm2gEqLS0Np9MJgNfrpa2tLeLXUMklagFKRBzAo8C1wDTgFhGZ1qXYHUCtMWYS8BPgh4FjncD/AHcZY6YDlwPeaNVVqWQQ2sUXyVkkgkSk06SxOg6lBiqaLagFwEFjzCFjTBvwHLC8S5nlwO8C2y8CV4iVWnQ1sN0Ysw3AGFNjjPFHsa5KJbTW1la7ReNwOMjIyIjKdTRRQkVSNAPUGOBYyH5l4LVuyxhjfEA9MByYDBgReVVENovIP3d3ARG5U0TKRaS8uro64h9AqUTRtfUU6RTz0HN3d02l+iOaAaq7n4Cuo6Y9lXECS4DPBP79uIhccVZBYx4zxpQaY0oLCwsHWl+lEla0x5+6O7dm8qmBimaAqgTGhuwXA8d7KhMYd8oBTgdeX2WMOWWMaQZWAnOjWFelElq0x5+CdAxKRVI0A1QZcL6ITBCRVOBmYEWXMiuA2wLbNwJvGSs39VVgloi4A4HrMmB3FOuqVEIbrADVNdVcqYFwRuvExhifiNyHFWwcwG+MMbtE5CGg3BizAngCeFpEDmK1nG4OHFsrIj/GCnIGWGmM+Uu06qpUootFC6q5uRm/34/D4Yja9VRii1qAAjDGrMTqngt97YGQbQ/wyR6O/R+sVHOl1ACFtmaiGaBSUlJwu900NzcDVpCK5piXSmw6k4RSCa69vd0OGAButzuq1wttRWk3nxoIDVBKJbjQIOF2u6Pe5aYBSkWKBiilElzo+FNo8IgWzeRTkaIBSqkEN1gJEkHaglKRogFKqQQ3WAkSQRqgVKRogFIqwcWyiy80OUOpc6UBSqkEN9hdfKFZgs3NzbS3t0f9mioxaYBSKsENdhdf19nStRWl+ksDlFIJrK2trdMyG+npg7Pup45DqUjQAKVUAuv6DFS0ltnoSlPNVSRogFIqgQ32+FOQtqBUJGiAUiqBaYBSQ5kGKKUSmAYoNZRpgFIqgYUGh8F4Bqq7a2mAUv2lAUqpBBYPLaiWlhZ9Fkr1iwYopRKUMWbQn4EKCk1pN8bQ0tIyaNdWiUMDlFIJyuPx2C2X1NRUXC7XoF5fu/nUQGmAUipBRaJ7z+9vx9Pq7dex+iyUGqioLvmulIqd/k4S29jcypbdRynbdYQtu4/S7Glj3Kh8FsyawPzp45k4rjCsB361BaUGSgOUUgmqPy2oNZsP8vNnV9Ha1rnVdPTEaY6eOM2Lr25ixvmj+ec7riEzI63Xc2mAUgOlXXxKJahzSZAwxvCn17fwk9+9cVZw6mrngeP8609f5nR970FHA5QaKG1BKZWgwu3i8/vbefyPa3ht7W77tRHDh7F04RTmzxhPUf4wtu47xobth1mz6SBgtaj+9acv88A91zOyYFi359UApQZKA5RSCSrcFtTPn1vFOxv32fvTJo7im19YRpa7owvv4jkTuXjORC6cOpZHf/8O7cZQVXOG7/y/l/jB1z5OYX72WeftunChMWbQJqtViUG7+JRKQH6/v9M6TD21oFaV7e8UnJbMm8QDd1/fKTiFunzBFP75C9fgcjoAqGto5ufPrsIYc1ZZp9NJWpp1Hn0WSvWHBiilElDXZTZSUs7+UT9RXc+vnn/X3r+09Hy+cusVuFyOXs89f0YJ377zWoJtoe37K3lrw95uy2qquRoIDVBKJaC+Mvh8Pn+nhIhRhTl88VOXht0FN2tKMddfPsvef/LP66ipOzsA6TiUGggNUEoloL7Gn55bWcb7x6oBcDhS+OpnryQ97dxmmrjl7+bbCRLNnjZ+9Yd3z+rq0wClBkIDlFIJqLcW1JHjNbz05lZ7/zPXL2TiuMJzvkZaqot7brnc3t+0+wjvbjrQqYwGKDUQGqCUSkC9pZg/vWI9wXbOjPNHc8PSWfTX9EmjufaSGfb+718pw+fzd3ttDVDqXGmAUioB9dSC2ravki17jgEgwOc/sWTAqd+fuX6BnfVXXdvAms0Hu722Bih1rjRAKZVgelpmwxjDUy+vt19funAq40fnD/h6GempfHTpbHv/j69ttmdR7+5ZKKXCpQFKqQTT1taG12tl5zkcDvtZpNXlB6j44BQALqeDm68rjdg1r71kOu70VACOV9ezbtthoPOzUO3t7foslDonGqCUSjBdW08iQpvXx+//stF+fflHZjM8N3ILGGZmpHHdpR1jUS++usluLek4lOovDVBKJZjuEiRef28Pp2qt14dlZbD8I3Mift2/u2wmaalWqvrRE6cp23mkUx1AA5Q6NxqglEowXRMk/P52/vft7fZrN149F3dGasSvOywrg2sWT7P3g60oDVCqvzRAKZVgugaodVsPUV3bAEB2ZjpXLpoatWvf8JHZOAPz9L1/rJr3j1brdEeq33oNUCLyWsj2v0S/OkqpgeraxffnkIdyr71kht0NFw15w9xcPOc8e/+N9Xu0BaX6ra8WVOjj5Z+MZkWUUpERGgSOfNjQKXPv2kumR/36V13c0c23uvwgDldHd6IGKHUu+gpQ+tCCUkNI12egXlvXMfXQFRdNZVhWRtTrcMF5IxlTlAtAa5uXbfur7Pf0WSh1LvoKUOeJyAoR+d+QbftrMCqolApfaACobzHsPHgcsGaNCH2YNppEhCsWXWDvv71xP6mpViuqvb0dj8czKPVQQ19fK+ouD9l+OJoVUUoNXOj4045D9RBYtemiORN7XJo9Gi6fP5lnXtmA39/OgSMnmTaqiODIV2NjIxkZ0W/JqaGv1wBljFkV3BaRwsBr1dGulFKqf4IBqrnVx77KenJyrK62j31kcFpPQTnZGSyYOYF1W98HYPeRM8web80o0dTURGHhuc+erpJPX1l8IiLfFZFTwF5gv4hUi8gD4ZxcRJaJyD4ROSgi3+rm/TQR+UPg/Q0iUtLl/XEi0igi3wj/IymVvIIBandFHSLWj/ekcUVMGl806HW56uKObr6dh2rw+a35+TRRQoWrrzGorwBLgPnGmOHGmDxgIbBYRL7a24Ei4gAeBa4FpgG3iMi0LsXuAGqNMZOAnwA/7PL+T4C/hvVJlFI0NTVhjGHHoVocDut5pGVLop+5151Zk8dQlJ8NgNdveP94g11HpcLRV4D6LHCLMeZw8AVjzCHgHwLv9WYBcNAYc8gY0wY8R+cxLQL7vwtsvwhcIYG5/0XkY8AhYFc4H0QpZbWgjlQ1cabZi9PpJDMjjcVzJ8akLiLC0oVTAHA4nOw/dsauo1Lh6CtAuYwxp7q+GBiH6utpvzHAsZD9ysBr3ZYxxviAemC4iGQC3wS+19sFROROESkXkfLqah0aU6qpqYnth2oBKygsXTCFVFdfuVDRs3juJACcTgcVVY20tvlpbm6OWX3U0NJXgGrr53sQTB/qrOsDED2V+R7wE2NMr39qGWMeM8aUGmNKddBVJTufz8fJ0w1UnLC60hwOB1cv6dqrPrjGFOUyobgAh8NBe7vh/RMNdjekUn3p60+r2SJyho5AEvyuEiC9j2MrgbEh+8XA8R7KVIqIE8gBTmONc90oIj8CcoF2EfEYY/67j2sqlbQaGxvZdbgWg9V6mjVljP3AbCwtmTuJw5WnSElJYf+xM0wbn4vH49FUc9WnXltQxhiHMWaYMSY78DUsZL+vLr4y4HwRmSAiqcDNQNeHe1cAtwW2bwTeMpZLjDElxpgS4P8B/6HBSane1dbVs7OiDrAWCrxmcWySI7q6+EJrDMzhcHD0ZBPNrT5NlFBh6SvNPF1EviIi/x0Y7wm7MzswpnQf8CqwB3jeGLNLRB4SkRsCxZ7AGnM6CHwNOCsVXSkVno3bD9Hs8QGQn+Nm/ozxMa6RpSg/mykTRuJwODHGcPCDBg1QKix9BZzfAV7gXeA6YDrw5XBPboxZCazs8toDIdse+piE1hjzYLjXUyqZrd500N5efOEEe9mLeLD4wols3LoPgP3H6jWTT4WlrySJacaYfzDG/AqrC+6SQaiTUuoc1Z5pZtf7HZOyXnHRBb2UHnwXXzgRp9P6e/j4qWaOV9XEuEZqKOgrQHmDG4EuO6VUHFpVth+v1/oRHVPgZlLJ6BjXqLO8YW6mTxoFWJlWG3cejW2F1JDQV4CaLSJnAl8NwKzgdiC7TykVY8YY3li3G7/fD8D0krxOiwTGi0vmTba3t+3/MIY1UUNFuFl8wcw9Z8j24E2NrJTq0b7DVRw9bnWZuZwpzJ48kpSUvv72HHyXLphqP69yrOoMp+t1HEr1Lv6+i5VS5+TN9Xvx+azuvcnFw8jPy4lxjbqXn5PFuJFW3YwxvFu2N8Y1UvFOA5RSQ5in1cvaLe/j8wW793LJzs6Oca16NnPSCHv7vS3vx7AmaijQAKXUELZu6yFa27z4fD7ys9MYmZ8R1wFq3rSOyWV2HjhOU0trDGuj4p0GKKWGsLc3Ws8W+Xw+ppXkIiJkZWXFuFY9Gzu6gMJca5a01rY2tuw+1scRKplpgFJqiDp5uoFdB63pLdv9PqaMtfKW4rkFlZWVxcTRVv18Pj/rtx/u4wiVzDRAKTVEvRNoPRljGFOQQVaGNT1mPLegOgcoH5t3H6XNq49Yqu5pgFJqCDLGsKpsP2D9or9gvJUdl5mZGZcp5kFZWVkMH5ZGblYqfr8PT6uX7fs/iHW1VJyK3+9kpVSP9h2u4sNT1rPyqc4Uu1USz60ngLS0NFwuFxNHZ2OMob3dz4Zt2s2nuqcBSqkhKJgcATBjYiFOh/WjHM/jT4CdxBEMqH6/n7KdFbS3t8e4ZioeaYBSaohp8/pYG/IM0fQJefZ2vAcosFp5I/MzcKc78fl8NDR52F9xMtbVUnFIA5RSQ8zG7RW0eNoAGFkwjPzMjh/joRKgRITzRmXbDxiX76yIbaVUXNIApdQQ805ZR/feZfMnd1pbKd7HoKAjiJ43Ksueoqls55FYVknFKQ1QSg0hp+ub2Lqn4+HWS+ZNorm52d4fCgEqWMexRZkI1thTZVUtx0/WxbJaKg5pgFJqCFldfgAT2J4+aTSZaR0/wm63G4cjflbR7UkwQDkdKRQXZtivl+/SVpTqTAOUUkOEMcZ+OBdg6YIpNDQ02PtDYfwJrEAqYi28Ma4wg/Z2K+SW7aiIYa1UPNIApdQQcejYKY59WAtAqsvJRbMncOZMx7qhQyVApaSk2AsqThiZRXu7lSix99CHNDR5Ylk1FWc0QCk1RIQmR1w0ewIZ6amdAtSwYUNnDdFggHKnOxlbZNW73Rg279al4FUHDVBKDQE+n5/V5Qfs/Y8snApAfX29/VpOTnwuVNid0NbelPH59rZm86lQGqCUGgI27T5KY7O1dlJBXhYzzh+NMaZTC2ooBajQbMMJozq2t+w5aj8bpZQGKKWGgNDkiMtKJyMieDwevF4vAC6Xi/T09FhV75yFBqjMVENRvtWi8rR62RlYQkQpDVBKxbn6hhY2hYzNXLZgsvV6SPfesGHD7My4oSA0QDU1NTF/Zom9X67dfCpAA5RScW51+QH8fuuB1ikTRjKmKBcYuuNP0HkMqrGxkXnTx9n7ZTsrMMZ0d5hKMhqglIpjxhje2rDX3v/Iwin29lDN4ANwOp243W7A+oxjC7Nwp6cCcKq2kaMnTseyeipOaIBSKo4dOnbK/mXtcjq4eM5E+72h3IKCzq2o5uYmLpzW0YraqA/tKjRAKRXXQltPF184EXdGqr0/VDP4gkLrfObMGRbMKLH3dVYJBRqglIpbbV4f7246aO+Hdu95PB5aW620c4fDYXeXDSWh3ZL19fXMuWAsKYFEj/ePVXO6vilWVVNxQgOUUnFq444KmlqsIFSUn830SaPt97qOPw2lDL6g0AB15swZstxpTJs0yn5tk04em/Q0QCkVp97eEDIx7MIpnYLQUB9/grMDlDGG0ukl9muabq40QCkVh07VNrJtr7XukwCXL5jS6f2hnMEXlJ6ejsvlAsDn8+HxeCidMd5+f9u+SlrbvLGqnooDGqCUikNvbdhrr/s0c3KxPdNCUCK0oETkrHGoUYU5FI/IA8Dr87Nt3wexqp6KAxqglIoz7e3tvLFuj71/5cUXnFUmEVpQcHY3H8D2NCtTAAAdoElEQVT8kFaUZvMlNw1QSsWZLXuOUVNnZbANy8pgYcg0QABtbW20tLQA1tpKQ2GZ9550F6AWzJpgv1a2s4L29vZBr5eKDxqglIozr7/X0Xq6fP5knM7Oy7h3XaQwJWXo/hh3F6DOH19EbraVNt/Q5GHv4aqY1E3F3tD9zlYqAdXUNXZKr+6ue6/rJLFDWdeHdcEam5o/s6Obb8O2w4NeLxUfNEApFUfe2rCP9sBEqdMnjbYnhg011GeQCJWZmWm3AFtaWuzlQxbOOs8us3HHYZ08NklpgFIqThhjeHNdx9RGV188rdtydXV19vZQD1Bdx9CCwXfm+aPJCEwee/J0A0eO18Skfiq2NEApFSe27q2kurYBgCx3GgtmlZxVxhjD6dMdM33n5eUNVvWiJjTIBrsvnU4Hc0Mmj92wvWKwq6XigAYopeLEq2t22dtLF0wh1eU8q0xzczNtbW2AtYruUM7gC+ouUQJgYUg2n85unpw0QCkVB6pqzlC+s8Lev2px9917XVtPQ3EOvq56ClAXTh2Lw2H9iqr44BRVNWfOOlYltqgGKBFZJiL7ROSgiHyrm/fTROQPgfc3iEhJ4PWrRGSTiOwI/PuRaNZTqVj727u77Jkj5kwd221yBHQOUPn5+YNQs+jrKUC5M1KZNXmMvb9Ru/mSTtQClIg4gEeBa4FpwC0i0vXPwjuAWmPMJOAnwA8Dr58CPmqMmQncBjwdrXoqFWutbV7eXN+RHHHtpTN6LFtbW2tvJ2KAamxs7PRg7oKZHd18G7ZrunmyiWYLagFw0BhzyBjTBjwHLO9SZjnwu8D2i8AVIiLGmC3GmOOB13cB6SKSFsW6KhUzq8sP2MtqjCwYxryQ5IBQiZggAWcv/97Q0GC/t2BWCcFOzL2HTugaUUkmmgFqDHAsZL8y8Fq3ZYwxPqAeGN6lzN8DW4wxrV0vICJ3iki5iJRXV1dHrOJKDRZjDCtX77T3ly2Z0eO4UktLi71IodPp7LRk+lAXmskXmkafm+1mWmAdLAOs33ZosKumYiiaAaq7n7KuT9v1WkZEpmN1+32xuwsYYx4zxpQaY0oLCwv7XVGlYmX3+yc4esJqFaW6nHzkoik9lk3EBImg0NZg6OcEuHjORHv7vS0aoJJJNANUJTA2ZL8YON5TGRFxAjnA6cB+MfBn4LPGmPejWE+lYmblqh329mXzzyczo+ee7ERMkAgK/TxdA9RFcyZ06uarqWscxJqpWIpmgCoDzheRCSKSCtwMrOhSZgVWEgTAjcBbxhgjIrnAX4B/McasjWIdlYqZE9X1nQb+r71kZq/lE3H8KSg0QNXW1naa2ig3283080O7+TRZIllELUAFxpTuA14F9gDPG2N2ichDInJDoNgTwHAROQh8DQimot8HTAL+j4hsDXwVRauuSsXCire3dUotHz+651aRMSYhM/iC3G43aWlW69Hr9dLY2LmVtPjCSfb22i3aoZIszn5UPYKMMSuBlV1eeyBk2wN8spvj/g34t2jWTalYqmto5q0N++z9j10xp9fyHo8Hj8cDWAkSQ30W865EhLy8PD788EPAai2GJoEsnDWBx55fjQH2Hf6QU7WNFOQN/Vk0VO90JgmlYmDlqp34fH4AJo4tZEagC6snod17ubm5CZUgEdTbOFROdgYzJxfb++u2arJEMtAApdQga/G08dd3O1LLl18xp8+Ak8gJEkG9BSiAiy/sWILjva3azZcMNEApNcjeWLeXZo814evIgmEsmj2hjyOSL0B1TZQAq5svJRDI91dUcfJ0AyqxaYBSahD5fH7+951t9v4NS2f3uWR7oidIBLndblJTrTWgvF4vTU2dZ40YlpXB7Kkd3XzvbNyHSmwaoJQaRG9t2EdNnfWLd1hWBksX9vxgblBjYyMtLS1AYiZIBAUTJYK66+a7fH7H/VpVtl9X2k1wGqCUGiRtXh8vvrbJ3r9h6axu13zq6uTJk/Z2YWFhQiZIBPU1DrVgVgnuwEq7H546w77DVYNWNzX4NEApNUhef29Pp9bTtZf0PGt5qKqqjl/CI0aMiErd4kVfASrV5eTiCzumPnpbu/kSmgYopQZBa5uXP72+xd7/xJUXkp7m6vM4Y0ynFlRRUWI/r95XogRYqw0Hrd3yPm1e36DUTQ0+DVBKDYK/rdlNXUMzAPk5mVyzpPsVc7tqaGiwx59cLlfCJkgEZWZm2okSbW1tNDc3n1VmyoQRjCq0Zj9v8bTpQoYJTAOUUlHW4mnjz290tJ7+/qq5YY09QefuvUQff4LwEiVEhMvmT7b3tZsvcWmAUirKVry9nYYma5qiwrxsrlw0Nexjk2n8KSi0lVhTU9NtmcvnT7ZnON+295guZJigNEApFUWnahs7tZ4+uWwuTqcjrGO7jj8lS4AqKCiwt0MDdKjC/OxOM5yHzmuoEocGKKWi6KkV6/EG5twrGVPQaYC/L2fOnLFX0E1NTSU3NzcqdYw3oYkgp0+ftu9BV1dc1NESfW3tLntuQ5U4NEApFSV7D33I2s0H7f3Pf+LiPmeNCBXaeigqKkr48aeg1NRUhg8fbu+HtiJDLZo9kWFZGQDU1DWxYUfFYFRPDSINUEpFgTGGJ/7UsdbmojkTmT6p9xnLu+oaoJLJyJEj7e3gEhxduVwOrl7ckQ3519U7uy2nhi4NUEpFwdsb9nHoWDUALqeDzy6/6JyOT9bxp6DQz9tTgAK4ZvE0u1W659AJKj44FfW6qcGjAUqpCKtraOZ3L6+z95dfMYei/OxejujmHHV1tLVZM56npaWRk5MT0TrGu4KCAhwOK5mksbHxrIljg/JzMlk0p2MZjr+s0lZUItEApVSEPf7iWhqbrYH9grwsPt7HarndOXbsmL09YsSIpBl/CnI4HBQWFtr7vbWirguZMurdTQfslH419GmAUiqC1m09xLqQxfTuvvmysKY0CmWM4ciRI/b+uHHjIla/oSSccSiwZpaYUGylpnt9fl5/b0/U66YGhwYopSKkocnDYy+8a+9/ZOFU5kwde87nqa2tpbGxEbCW1xg9+tySKxJFaICqqqrqcWkNEeHvLp1p7/9l1Q6dny9BaIBSKkKe+ONazjRa8+blDXNz+8cX9es8R48etbeLi4vtsZhkk5ubS1paGgCtra3U1dX1WHbx3Ink52QC1hjgq2t2D0odVXRpgFIqAt7ZuI93Nx2w9++6+TIyM9LO+TzavddBRMLO5kt1OfnEVRfa+396YwueVm9U66eiTwOUUgN05PhpfvmH1fb+paXnUzp9fL/OVVNTY8/gnZqayqhRoyJSx6Eq3AAFcOVFFzA812pFnWls4dW12ooa6jRAKTUALZ42Hv7Nq/Z0RsUj8vjipy7t9/lCW0/FxcXnNPNEIgoN0FVVVXg8PWfouVwO/v6qufb+S29u1VbUEJfc3/1KDYAxhl/8YTXHq+sBq5vpG5+/+pyz9kLPF5pePn58/1phiSQzM9Oe9sgYQ0VFRa/lr7hoKgV5WYDVivrru/pc1FCmAUqpfvrTG1s6zbV3102XMnZkXi9H9O7kyZP24oRpaWlJN71RT847r+NB3EOHDvWYzQfgdDq48erOrSh9Lmro0gClVD+8vWEfv39lo71/1cUXdFpErz8OHTpkb48dOzbpu/eCxo8fb2cy1tfXU1tb22v5pQum2DN3NDa38vSK9VGvo4oO/QlQ6hxt3n2Unz/7jr0/4/zR3PGJJQM6Z0NDQ6fxp9BWQ7JzuVyMHdvxPFloIO+O0+ngc59YbO+/uX4vew/1nmCh4pMGKKXOwYEjVTz829dpD3QzjRuVzz/fcQ0u18CeVdqzZ4/ddTVixIhOy02ozgH7yJEj+P29r/20YGYJ82eU2Pu/fH61rhc1BGmAUipMuw4e58FHX6G1zcoMK8jL4v/c/Xf9et4pVFNTE4cPH7b3Z8yY0Uvp5FRUVITb7Qagra2NDz74oM9j7vj7xaSlWgkrx06cZsXb26NaRxV5GqCUCsOmXUf4/i/+YqctZ7nT+Ne7/s6evWAg9uzZQ3t7O2DN4h06SaqyiMhZyRJ9KczP5qZrS+395/9WzvGTPc9GoeKPBiil+rBm00F+8HjHs055w9w89KXlA8rYC2ppaeH99zsml50xY0bSzVwergkTJtjbJ06c4MyZM30ec/1lMxk/2uou9fr8/NdvXtNno4YQDVBK9cDvb+epl9fxk6fesFs4hXnZfP/+5YwfnR+Ra+zdu9c+d35+fqcJUlVnWVlZne7Pli1b+jzG4Ujhvk9fjtNpjREePXGanz+3qtdUdRU/NEAp1Y26hma+9/NXePmtbfZrxSPy+PevLGdUYWQWD6ypqWHfvn32/vTp07X11IfZs2fb28ePH+f48eN9HnPe2ELu/GRHluXazQd55Z0dUamfiiwNUEp1sXFHBd/40YvsOtjxy2/etPH8+1c+xvDcrIhcw+v18t5779l/yRcUFDBmzJiInDuR5efndxqL2rx5s90C7c0VF13A1Yun2ftPvbyObfsqo1JHFTkaoJQKqD3TzMO/fZ0fPv43as9YE7YKcPN18/mXO5eR5R5Ytl6oTZs2dVrzadGiRdp6CtPs2bNxOp2A9fzYgQMH+jjC8vmPL+b88dbsHO3G8J+P/ZXNu4/2cZSKJQ1QKum1tnl56c2t3P/vz3VaDXdYVgbf/uJ1fPKaeRENHkeOHOmUVj5//nyysiLTMksG6enpnVLxd+zY0eskskEul4N/+vzVdual1+fnB4//jXVb+84IVLGhAUolLa/Xz9/e3cW933+Wp1esp9nTZr+3dOEUHvn2TcydFtn1mKqqqti4sWOKpJKSEkpKSiJ6jWQwefJkO6h7vV5WrVqF19t3dt7w3Cy+f/9yCvOsqZD8/nZ+/OTrvLl+jyZOxCFJlP+U0tJSU15eHutqqCHgVG0jr63dzevr9tgr4AaNLBjGnZ+6lNlTiiN+3aNHj7Ju3Tp7zCQzM5Nrr70Wl6t/s58nuxMnTvDOO+/Y+4WFhSxdujSsFYhP1TbyvUf/156JHmDRnIl88VOXkJ2ZHo3qqhAisskYU9pnOQ1QKhk0tbRStqOC97YcYvPuI3T9rs8b5ubGq+dx5aKpdkpypBhj2L9/P5s3b7Zfy8jI4PLLLyc3Nzei10o2Bw8epKyszN4fPXo0l1xySVgT7dY1NPO9R1/h6InT9mt5w9zcdfNlzJs2TscEo0gDlEpqxhiOHK9hx/7jbNt3jO37P8DvPzvbKz8nk+svn8WyJdPsaXEiqaamhi1btlBdXW2/lp2dzdKlS8nMHPgsFAp2797Ntm0djwPk5+czf/588vP7flbN0+rlt39+jzfW7en0+uSSEdx49VzmaqCKCg1QKmkYY6iubaTigxreP1bNoWPVHDhystd1gGacP5plS2awYGYJDkdkh2KNMZw6dYr9+/dz9GjnLLHhw4dz2WWXkZYWuYxABdu2bWP37s5LvE+ePJkZM2aEda/Ldlbw82dXndXlO370cC4tPZ+FsyZE7Pk3FScBSkSWAT8FHMDjxpgfdHk/DXgKmAfUADcZYyoC7/0LcAfgB+43xrza27U0QCUmYwyeVi91DS3UN7RQe6aZmrpGqk83cqq2gePV9ZyorrenIerNeWMLWTT7PBbNOS+iv2yMMTQ0NFBXV0dVVRWVlZVnZZWJCJMmTWLOnDl2irSKHGMMu3fvZufOnZ2eixIRRo4cydixYxk1ahQZGRk9tojqG1p47q9lvLl+b7et7XGj8pk+aTQTxxYycVwhowtzIt4dnCxiHqBExAHsB64CKoEy4BZjzO6QMvcAs4wxd4nIzcDHjTE3icg04FlgATAaeAOYbIzp8bfQQALU3oPHqD5d33fBBBL6/97dt0DwfROyb71k7GOCZdoD77W3G4wxtBtDe3vgX387/naDv70dv9/61+drx+v3W//6/LR5fbR5/bR6fXhafXjavHg8Ppo8bTS3tOEP40HM7mS507hgwgguOG8E0yeNpDCwFHh33/P2ZwlcyxhDe3u7/eX3+/H5fPh8PrxeLx6PB4/HQ0tLC42Njb0u/1BcXMzs2bMZNmxYvz6HCl9DQwNlZWVUVVV1+77L5SI7O5vs7GzS0tLsL4fDYX/VNbTw+voDrCp/H6+vnZ56+ESE3OwMhue6yct2485IJTMjlYx0F2kuB6kuJy6nA6cjhZQUsf8VCXwFzmGdiyHXlbhwzhRS+9ktHg8BahHwoDHmmsD+vwAYY/4zpMyrgTLrRMQJfAgUAt8KLRtarqfrDSRAfeWhJ1i/vaJfx6r4kJHmJD87laLcdIryMijKSycvKzVmP/RpaWkUFxdz3nnnUVBQEJM6JCtjDMeOHWPPnj2cPn267wN60NLq4/CHjRz8oIGjVY342xNjOCRSVj7+z+TnZvfr2HADVDT7GsYAx0L2K4GFPZUxxvhEpB4YHnh9fZdjz5oHRkTuBO4EGDcuss+rqPjhdKSQkebAnebEneYgy+1imNtFdoaLYZku8rLTSE+NbVdLRkYGubm55ObmMmrUKIqKiobcX8SJQkQYN24c48aNo6mpiWPHjlFZWUldXV1Yz0oFZaQ5mTY+l2njc2nz+vngVDMn6zycrPVwss5DU4v3rGxQFVnRDFDd/XR2/f/sqUw4x2KMeQx4DKwW1LlWMGjcqOGcqmvs7+FxLdxfkb39MhUJOY/dNdFxXLCrIthNIQIpIqSIICnWtiPF6t5wpAgOh9Xd4Qh0e7icKTgdKaS6HKQ6rX/TUh1kpDpJS3Xickb3efKObhY56yslJcX+crlcOJ1OXC4XaWlpZGRkkJ6eTmZmpiY9xKnMzEymTp3K1KlTrfFMj4czZ87Q1NREa2srra2ttLW12d24fr+f9vb2QJe26ejqNoYxozuf2+9v50xTG3WNrTR5vHhafbS0+fG0+vD52/H62vEFurjb2zu6vY0xGDq61rv2Yg2VoOeMcHJRt9eI4rkrgbEh+8VA16mHg2UqA118OcDpMI+NmK/948eidWqlVJwQETIyMsjIyIh1VVSYohkCy4DzRWSCiKQCNwMrupRZAdwW2L4ReMtYf06sAG4WkTQRmQCcD2xEKaVU0ohaCyowpnQf8CpWmvlvjDG7ROQhoNwYswJ4AnhaRA5itZxuDhy7S0SeB3YDPuDe3jL4lFJKJR59UFcppdSgCjeLT2czV0opFZc0QCmllIpLGqCUUkrFJQ1QSiml4pIGKKWUUnEpYbL4RKQaODLA0xQApyJQnaFO74NF74NF74NF70OHgd6L8caYwr4KJUyAigQRKQ8n9THR6X2w6H2w6H2w6H3oMFj3Qrv4lFJKxSUNUEoppeKSBqjOHot1BeKE3geL3geL3geL3ocOg3IvdAxKKaVUXNIWlFJKqbikAUoppVRcSsoAJSLLRGSfiBwUkW91836aiPwh8P4GESkZ/FpGXxj34WsisltEtovImyIyPhb1jLa+7kNIuRtFxIhIQqYah3MfRORTge+JXSLy+8Gu42AI4+dinIi8LSJbAj8b18WintEmIr8RkZMisrOH90VEHgncp+0iMjfilQhd2jgZvrDWpnofOA9IBbYB07qUuQf4ZWD7ZuAPsa53jO7DUsAd2L47We9DoFw2sBpYD5TGut4x+n44H9gC5AX2i2Jd7xjdh8eAuwPb04CKWNc7SvfiUmAusLOH968D/goIcBGwIdJ1SMYW1ALgoDHmkDGmDXgOWN6lzHLgd4HtF4ErREQGsY6Doc/7YIx52xjTHNhdDxQPch0HQzjfDwDfB34EeAazcoMonPvwj8CjxphaAGPMyUGu42AI5z4YYFhgOwc4Poj1GzTGmNVYC8n2ZDnwlLGsB3JFZFQk65CMAWoMcCxkvzLwWrdljDE+oB4YPii1Gzzh3IdQd2D9tZRo+rwPInIhMNYY88pgVmyQhfP9MBmYLCJrRWS9iCwbtNoNnnDuw4PAP4hIJbAS+NLgVC3unOvvkHMWtSXf41h3LaGuufbhlBnqwv6MIvIPQClwWVRrFBu93gcRSQF+Atw+WBWKkXC+H5xY3XyXY7Wm3xWRGcaYuijXbTCFcx9uAZ40xvxfEVkEPB24D+3Rr15cifrvyWRsQVUCY0P2izm7iW6XEREnVjO+t6buUBTOfUBErgS+A9xgjGkdpLoNpr7uQzYwA3hHRCqw+tpXJGCiRLg/Fy8bY7zGmMPAPqyAlUjCuQ93AM8DGGPWAelYk6cmm7B+hwxEMgaoMuB8EZkgIqlYSRArupRZAdwW2L4ReMsERgUTSJ/3IdC19Sus4JSI4w3Qx30wxtQbYwqMMSXGmBKssbgbjDHlsalu1ITzc/ESVuIMIlKA1eV3aFBrGX3h3IejwBUAInIBVoCqHtRaxocVwGcD2XwXAfXGmBORvEDSdfEZY3wich/wKlbGzm+MMbtE5CGg3BizAngCq9l+EKvldHPsahwdYd6H/wKygBcCOSJHjTE3xKzSURDmfUh4Yd6HV4GrRWQ34Af+yRhTE7taR16Y9+HrwK9F5KtYXVq3J+AfsIjIs1jduQWB8bbvAi4AY8wvscbfrgMOAs3A5yJehwS8r0oppRJAMnbxKaWUGgI0QCmllIpLGqCUUkrFJQ1QSiml4pIGKKWUUnFJA5SKeyLiF5GtIV8lETjnx0RkWsj+Q4GHkqNGRJ4NzPr81T7q8k48PwgsIiU9zXDdpcynQ/ZLReSR6NdOJZKkew5KDUktxpg5Pb0pIs7AnInn4mPAK8BuAGPMAwOoX59EZCRwsTGmuyVLOtUlQZQAnwZ+DxB4sDnRHm5WUaYtKDUkicjtIvKCiPwv8JqIZAXWrNosIjtEZHlI2c8GWi7bRORpEbkYuAH4r0CLbKKIPCkiNwbKXxFY62dHYE2ctMDrFSLyvZBrTO2mXuki8tvA+1tEZGngrdeAosD1Lgkpf1ZdAm99UkQ2isj+YHkRcYjIf4lIWeDzfLGb65eIyF4R+V2gzIsi4g7jc/0wcL2NIjIp8Lp9TwL7jT1c793APdkc+DwAPwAuCXymr4rI5SLySuCYfBF5KVC/9SIyK/D6g4F6vSMih0Tk/r6+D1SCi/WaI/qlX319Yc1asDXw9efAa7djzQWWH9h3AsMC2wVYT7cLMB1rzriCwHvB8k8CN4Zc40msaa3SsWZonhx4/SngK4HtCuBLge17gMe7qevXgd8GtqdiTYuTjtWi6Gldna51eQf4v4Ht64A3Att3Av8a2E7DapFM6HKuEqzZDRYH9n8DfCOMz/WdwPZngVd6qFdjyDV2BrbdQHpg+3ys2RbAmoHglZBjLw8578+A7wa2PwJsDWw/CLwX+GwFQA3givX3n37F7ktbUGooaDHGzAl8fTzk9deNMcFJfAX4DxHZDryBNe3/CKxfgC8aY04BhJTvyRTgsDFmf2D/d1gLtwX9KfDvJqxf1F0tAZ4OXGsvcARrzrpz1d11rsaa+2wrsAFrCZjuJms9ZoxZG9j+n0Cd+vpcz4b8u+gc6unCmvZnB/AC1gJ+fQm9R28Bw0UkJ/DeX4wxrYH/r5NY/4cqSekYlBrKmkK2PwMUAvOMMV6xZh5Pxwpc5zKfV18LUwZndPfT/c9PpBa27O46gtWCe7WPY7t+XhNGvUw32z4CwwBiTcaY2s1xXwWqgNmBsuEs6NjbMg2hM+b3dI9VktAWlEoUOcDJQHBaCgSTEd4EPiUiw8Ea/wi83oC1lEZXe4GS4DgMcCuw6hzqsRorWCIik4FxWF2MvempLl29CtwtIq7g+UUks5ty48RapwistYvW0Pfnuink33WB7QpgXmB7OYGJQrvIAU4Yay2kW7EmWO3rM4Xeo8uBU8aYMz2UVUlMA5RKFM8ApSJSjvXLby+AMWYX8O/AKhHZBvw4UP454J8CSQPBxASMMR6sWZlfCHRbtQO/PId6/BxwBI79A9ZM132to9VtXbrxOFam3+ZAmvev6L6FsQe4LdDdmQ/8IozPlSYiG4AvY7WKAH4NXCYiG4GFdG6xhn7e20RkPVZXZrDMdsAXSEz5apdjHsT6v9qOlUxxG0p1Q2czVyqBiPWM2CvGmBnncEwFUBocp1MqXmgLSimlVFzSFpRSSqm4pC0opZRScUkDlFJKqbikAUoppVRc0gCllFIqLmmAUkopFZf+P07PX+VNSXfnAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Solution\n", "\n", "# For comparison, what would we think if we had been able \n", "# to survey 100 people directly?\n", "\n", "beta = Beta(1, 1)\n", "beta.Update((60, 40))\n", "thinkplot.Pdf(beta.MakePmf(), label='Direct', color='gray')\n", "\n", "thinkplot.Pdf(suite, label='Randomized')\n", "thinkplot.decorate(xlabel='Fraction of the population',\n", " ylabel='PDF')" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Solution\n", "\n", "# To see how efficient this method is, we can divide the sample size for\n", "# the direct method by a factor. It looks like we lose a factor of $2 \\sqrt{2}$.\n", "\n", "factor = 2 * np.sqrt(2)\n", "beta = Beta(1, 1)\n", "beta.Update((60/factor, 40/factor))\n", "thinkplot.Pdf(beta.MakePmf(), label='Direct', color='gray')\n", "\n", "thinkplot.Pdf(suite, label='Randomized')\n", "thinkplot.decorate(xlabel='Fraction of the population',\n", " ylabel='PDF')" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "35.35533905932737" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "# So the effective sample size is about 35.\n", "\n", "100 / 2 / np.sqrt(2)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.5" } }, "nbformat": 4, "nbformat_minor": 2 }