{ "metadata": { "name": "", "signature": "sha256:e2d76459dd56c6d1c3de47315f78d58835e1992d3225bb0069885f90cd44674b" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "An Algorithm for Human Deceit" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The material for this notebook is provided via this free online textbook : \n", "\n", "I am writing this notebook to document my learning, and hopefully to help others learn machine learning. You can think of it as my personal lecture notes. I would love suggestions / corrections / feedback for these notebooks.\n", "\n", "Visit my webpage for more. \n", "\n", "Email me: email.ryan.kelly@gmail.com" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Related Notebooks in this series" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Intro to Bayesian Inference\n", "\n", "* Probability Distribution Review\n", "\n", "* Bayesian Inference 2\n", "\n", "* Bayesian Inference 3\n", "\n", "* Bayesian Inference 4\n", "\n", "* Bayesian Inference 6" ] }, { "cell_type": "code", "collapsed": false, "input": [ "social()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "\n", " Tweet\n", "\n", " Follow @Ryanmdk\n", "\n", " " ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nnmy33XZ532dfLF1dXfz2t7/lhBNO2GT6k08+SUlJCQcddFBEkYmIBJLJJL//+wgqxoyLNI721haO\n/dg6xo4dm3WZYuSK/sonxzQ0NPSY16O49W4hMA2Yb2YTgCXdM8xsNHAPMMXd15tZO9AJzAD2Bc4w\nsx0Iegfe7W1F9fX1RQh/67Zx40Z22WUXxo378EP03nvvsXjxYg455JAtapPGxsYh2abFpDYtPLVp\n4RW6TZubm3l8TYLK6pqC1dkfI8tS1NXV5Hw+SnNzM/NeWluwZ7J0SyaTOQ8yMrW3reCcuh1zxtrY\n2Jh1XhTJ/k5gipktDN/PMLPjgUp3n2tm84AFZrYBaALmEVy7/7WZLegu4+49Dzsf4oYNG7ZJogeo\nra1l3rx5EUUkIjK4FeOZLB2dJQN6sDPgyd7dU8BpmZPT5s8F5mbM3wicWOTQREREYkkP1REREYk5\nJXsREZGYU7IXERGJOSV7ERGRmFOyFxERiTklexERkZhTshcREYk5JXsREZGYU7IXERGJOSV7ERGR\nmFOyFxERiTklexERkZhTshcREYk5JXsREZGYU7IXERGJOSV7ERGRmFOyFxERiTklexERkZhTshcR\nEYk5JXsREZGYU7IXERGJOSV7ERGRmFOyFxERiTklexERkZhTshcREYk5JXsREZGYU7IXERGJOSV7\nERGRmFOyFxERiTklexERkZgbNtArNLNSYA6wL7AOmOnuy9PmHwv8AEgBt7r7Vb2VERERkeyiOLM/\nGih39wOAs4DLumeYWRlwITAZmAicbmZjwzIjeiojIiIiuUWR7A8EHgBw92eBhu4Z7t4J7O7uq4Aa\noAxYH5a5v6cyIiIiklsUyX40sDLtfWfYTQ+Au3eZ2THA88BjQHtvZURERCS7KBLmSmBUegzu3pW+\ngLvfAfwTMAI4KZ8yIiIi0rMBH6AHLASmAfPNbAKwpHuGmY0G7gGmuPt6M2sHOnOVyaWxsbHQsQ95\natPCU5sWntq08ArZpslkkmRyBB2dJQWrsz/aW5M0Nb3D2LFjsy5TzFhbEom8l80n1lyiSPZ3AlPM\nbGH4foaZHQ9UuvtcM5sHLDCzDUATMC9cbpMy+ayovr6+kHEPeY2NjWrTAlObFp7atPAK3abNzc08\nviZBZXVNwersj5FlKerqahg/fnzWZYoVa0siwbia/OvMJ9ZcB2QDnuzdPQWcljk5bf5cYG4PRTPL\niIiISB40yE1ERCTmlOxFRERiTsleREQk5pTsRUREYk7JXkREJOaU7EVERGJOyV5ERCTmlOxFRERi\nTsleREQk5pTsRUREYk7JXkREJOaU7EVERGJOyV5ERCTmlOxFRERiTsleREQk5pTsRUREYk7JXkRE\nJOaU7EVERGJOyV5ERCTmlOxFRERiTsleREQk5pTsRUREYk7JXkREJOaU7EVERGJOyV5ERCTmlOxF\nRERiTsleREQk5pTsRUREYk7JXkREJOaU7EVERGJOyV5ERCTmhg30Cs2sFJgD7AusA2a6+/K0+ccD\n3wY2AkuB0909ZWbPAW3hYm+4+ykDG7mIiMjgNODJHjgaKHf3A8xsf+CycBpmtg3wY2Bvd+8ws98A\nXzCzhwHcfVIE8YqIiAxqUST7A4EHANz9WTNrSJvXAUx0947w/TBgLVAHbGtmD4bTznH3ZwcwZhni\nurq6SCQSBa83mUzS3NzcpzI1NTWUluoKnIjkL4pkPxpYmfa+08xK3b3L3VNAAsDMzgQq3P0RM9sb\nuMTdrzezXYH7zczcvWvgw5ehKJFI8NA1i6gaNaag9SaTq+hY9nLey7etamXqqRMZP358QeMQkXiL\nItmvBEalvS9NT9rhNf2LgU8Cx4aTHXgdwN1fM7MksD3wj1wramxsLGDYAkO3TZPJJBvXd9K5PlXQ\neseMqu5TnRvXd9LU1MTYsWMLGkfcDNX9tJgK2abJZJJkcgQdnSUFq7M/2luTNDW9k/PzVMxYW/rQ\nW5hPrLlEkewXAtOA+WY2AViSMf9agu78L4Vn+gAzCAb0nWFmOxD0Drzb24rq6+sLFrQEH/ah2qbN\nzc10LHuZ6tHjClpvoiVBzbiavJcvKy+hrm4PndnnMJT302IpdJs2Nzfz+JoEldX57/vFMLIsRV1d\nTc7PU7FibUkkGFeTf535xJrrgCyKZH8nMMXMFobvZ4Qj8CuBxcA3gAXAo2YG8HPgeuDXZragu4y6\n8EVERPIz4Mk+PFs/LXNy2uuyLEVPLE5EIiIi8aYhvSIiIjGnZC8iIhJzSvYiIiIxp2QvIiISc0r2\nIiIiMadkLyIiEnNK9iIiIjGnZC8iIhJzSvYiIiIxp2QvIiISc0r2IiIiMadkLyIiEnNK9iIiIjGn\nZC8iIhJzSvYiIiIx16/fszez4cBYoNXdOwobkoiIiBRS3snezPYFTgS2AdYD7UCVmZUAbcC17v73\n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\nPx1MmpubeXxNgsrq/PepfLQkEoyryb/OkWUp6upqcu6nxYizr3qLEwZPm0Lug9wokv2dwBQzWxi+\nn2FmxwOV7j43S5nrgV+b2YLuMnn0BoiIiAgRJHt3TwGnZU7uYblJaa83AicWOTQREZFY0iA3ERGR\nmFOyFxERiTklexERkZhTshcREYk5JXsREZGYU7IXERGJOSV7ERGRmFOyFxERiTklexERkZhTshcR\nEYk5JXsREZGYU7IXERGJOSV7ERGRmFOyFxERiTklexERkZhTshcREYk5JXsREZGYGxZ1AFJ4XV1d\nJBKJgtebTCZpbm7uU5mamhpKS3VMKSISJSX7GEokEjx0zSKqRo0paL3J5Co6lr2c9/Jtq1qZeupE\nxo8fX9A4RESkb5TsY6pq1BiqR48raJ2d61MFr1NERIpP/asiIiIxp2QvIiISc0r2IiIiMadkLyIi\nEnMaoCcikdAtoiIDR8leRCKhW0RFBo6SvYhERreIigwM9VuJiIjEnJK9iIhIzCnZi4iIxNyAX7M3\ns1JgDrAvsA6Y6e7LM5bZFngY+Ia7v5pPGREREelZFGf2RwPl7n4AcBZwWfpMM2sAFgC7AKl8yoiI\niEh2UST7A4EHANz9WaAhY345QXJ/tQ9lREREJIsokv1oYGXa+86wmx4Ad3/a3d/uSxkRERHJLor7\n7FcCo9Lel7p7VxHK0NjY2I/wBr9kMkkyuYrO9aneF+6jREv+TzxrXbWCpqYmxo4d2+P8YsbZF73F\nCWrTvopTmw4mQZuOoKOzpOB1t/ThaYftrUmamt7pZT8tTpx90VucMHjatDdRJPuFwDRgvplNAJYU\nqQz19fX9DnIwa25upmPZywV/sEiiJUHNuJq8ly8rL6Gubo+sTyYrVpx91VucoDbtqzi16WDS3NzM\n42sSVFbnv/35aEkkGFeTf50jy1LU1dXk3E+LEWdf9RYnDJ42hdwnuFEk+zuBKWa2MHw/w8yOByrd\nfW6+ZYodpIiISFwMeLJ39xRwWubkHpab1EsZERERyYMGuYmIiMSckr2IiEjMKdmLiIjEnJK9iIhI\nzCnZi4iIxJySvYiISMwp2YuIiMSckr2IiEjMKdmLiIjEnJK9iIhIzCnZi4iIxJySvYiISMwp2YuI\niMSckr2IiEjMKdmLiIjEnJK9iIhIzCnZi4iIxJySvYiISMwp2YuIiMSckr2IiEjMKdmLiIjEnJK9\niIhIzCnZi4iIxJySvYiISMwp2YuIiMSckr2IiEjMKdmLiIjEnJK9iIhIzA2LOgARka1ZV1cXiUQi\n6jAAqKmpobRU52jSd0r2IiI5JBIJfvrAq1RUVUcaR3vbCs45HMaPHx9pHDI4DXiyN7NSYA6wL7AO\nmOnuy9PmTwPOAzYCN7j7deH054C2cLE33P2UAQ1cRIasiqpqKqtrow5DpN+iOLM/Gih39wPMbH/g\nsnAaZjYcuBxoANYAC83sD8AqAHefFEG8IiIig1oUF38OBB4AcPdnCRJ7tz2A1929zd03AE8BhwJ1\nwLZm9qCZ/Sk8SBAREZE8RJHsRwMr0953hl373fPa0uatAqqAduASd/8ccCpwa1oZERERySGKbvyV\nwKi096Xu3hW+bsuYNwp4H3DgdQB3f83MksD2wD9yraixsbFQMQ8qyWSSZHIVnetTBa870ZL/qOTW\nVStoampi7NixPc4vZpx90VucoDbtq/i16Qg6OksKFV6/tLcmaWp6J482LU6sLX24I6G3WNWmgUK2\naW+iSPYLgWnAfDObACxJm/cKsKuZbUdwNn8IcAkwg2BA3xlmtgNBD8C7va2ovr6+wKEPDs3NzXQs\ne5nq0eMKWm+iJUHNuJq8ly8rL6Gubo+so4eLFWdf9RYnqE37Km5t+viaBJXV+ddZDCPLUtTV1fTa\npsWItSWRYFxN/nX2FqvatPBtCrlPcKNI9ncCU8xsYfh+hpkdD1S6+1wz+w7wIMElhuvd/V0zux74\ntZkt6C6T1hsgIiIiOQx4snf3FHBa5uS0+fcC92aU2QicWPzoRERE4keD3ERERGJOT9ATEcmhq6uL\ntR0dlK1dG2kcazs66OrS1UvpHyV7EZEckskk73qCqupovy7bViRI7j2S7bffPtI4ZHBSss+TfgxD\nZOgaPqycEeUjI49BpL+U7POUSCR46JpFVI0aE2kcbatamXrqRP0YhoiI5E3Jvg+qRo2J/P5lERGR\nvlJfsIiISMwp2YuIiMSckr2IiEjMKdmLiIjEnJK9iIhIzCnZi4iIxJySvYiISMwp2YuIiMSckr2I\niEjMKdmLiIjEnJK9iIhIzCnZi4iIxJySvYiISMwp2YuIiMSckr2IiEjMKdmLiIjEnJK9iIhIzCnZ\ni4iIxJySvYiISMwNizoAERmaurq6aF21ouD1tq5aQVl5SZ+W7+rqKngcIlsTJXsRiUQymeSe9Smq\nugr7NbR2mzFs04c629an2C+ZZPvtty9oHFHo6upibUcHZWvXFrTejnXrWNuHOtd2dOgAaiujZC8i\nkRlZMYZtR48raJ0l5R1sM3Jk3suvW7+uoOuPUjKZ5F1PUFVd2K/2jo4NdK54P+/l21YkSO49MhYH\nUHGhZC8iEiPDh5Uzojz/g518dHXRpzqHDysv6Pply8U62Tc3N/dp+ZqaGkpLNWZRRETiJdbJ/tlb\nX8572bZVrUw9dSLjx48vYkQiIiIDb8CTvZmVAnOAfYF1wEx3X542fxpwHrARuMHdr+utTDbVBb4W\nKCIiMhhF0Wd9NFDu7gcAZwGXdc8ws+HA5cAU4FDgm2ZWG5YZ0VMZERERyS2KbvwDgQcA3P1ZM2tI\nm7cH8Lq7twGY2VPAIcBE4P4sZUQkVKx71/tK965LLsW6RbCvhtItglEk+9HAyrT3nWZW6u5d4by2\ntHmrgKpeymT1xj8876BWrl7J/uyRc5m33v1r5F+k+cQJxYl1xYr3WbUu/9tv1Ka9K3SbJpNJfptI\nUNGxsRDh9Vv7qvfzund9VVui4Otet24dHSNG5L18EEPusTrFiLOv8onzw+UKq9Btmkwm8T+/REVV\ntJda29ta8rpFcEXzu6zt6Cjout9//31SG/rw7IK294Gafq8v/8dMFYiZXQY84+7zw/d/d/ePha/3\nAS5y98+H7y8HFgIHZCuTzeLFix8nuBQgIiIyFDzR0NBwWE8zojizXwhMA+ab2QRgSdq8V4BdzWw7\noJ2gC/8SIJWjTI+ybbCIiMhQE8WZfQkfjqwHmAHUA5XuPtfMvgCcTzB48Hp3/2VPZdw9/z56ERER\nERERERERERERERERERERkQE24AP0iq2/j9aV7MInG94A7ASMAH7i7vdEG1U8hE+IbAQma9DpljOz\nswnu3BkOzHb3myIOaVALv0+vAwzoAv7N3V+NNqrBycz2J7i1fJKZfRK4kaBNlwFnuHuqmOuP40+8\nZX0cr/TbCUDC3Q8BDgdmRxxPLIQHUdcS3GYqW8jMDgMmhp/9w4CPRxpQPEwFKtz9IOBHwKyI4xmU\nzOz7wFyCkyUIHgt/TvidWgJ8sdgxxDHZb/I4XkCP1t1y8wluh4Rgn4n28WzxcQnwS+DdqAOJianA\nUjO7C7gHuDvieOJgLVAV3v5cBayPOJ7B6nXgGD7sTd/P3ReEr+8H/qXYAcQx2ff4aN2ogokDd293\n99VmNoog8f+/qGMa7MxsOkFvyUPhpNhdUotADcEzO74MnArcGm04sbAQGEnwwLNrgaujDWdwcvc7\n2PQkKf3zvprgQKqo4pgEVwKj0t73+gx96Z2ZfQx4FLjZ3W+LOp4YmAFMMbPHgE8BN5lZ7w8+l1xa\ngIfcfWM4/qHDzPQ711vm+8BCd9+ND/fT8ohjioP0nDQKaC32CuOY7BcCRwLk+2hdyS1MQg8B33f3\nGyMOJxbc/VB3P8zdJwEvACe5e3PUcQ1yTxGMKcHMdgAqgGSkEQ1+FXzYU/o+wcDHsujCiY3nzaz7\nt1uOABbkWrgQong2frHdSXDGtDB8PyPKYGLiHIJupvPNrPva/RHuXtifgRLZAu7+RzM7xMz+THAi\nc3qxRzgPAZcAvzazJwkS/dnuHu3v0g5u3fvjd4G5YS/JS8Dt0YUkIiIiIiIiIiIiIiIiIiIiIiIi\nIiIiIiIiIiIiIiIiIiIiIiIiMhSZ2X5m5ma2Y9SxiIiISJGY2VNRxyAim4vjD+GISATMbBdgedRx\niMjm9BvaIlIQZnYSwS+ivUbwm/LvuPvF0UYlIhDPX70TkWgcDLwN3At8L+JYRCSNkr2IFMo+wF+B\nX7j7VyOORUTS6Jq9iGwxM6sFEu4+C/iImZWb2RFRxyUiASV7ESmETwH3h6+fBo4DHo8sGhERERER\nEREREREREREREREREREREREREREREREREREREREREYmn/w+cYIyLlGV4uQAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The special case when $N$ = 1 corresponds to the Bernoulli distribution. There is another connection between Bernoulli and Binomial random variables as well. If we have $X_1, X_2, ..., X_N$ Bernoulli random variables with the same $p$, then $Z=X_1 + X_2+...+X_N \\ \\sim \\ Binomial(N,p)$\n", "\n", "The expected value of a Bernoulli random variable is $p$. This can be seen by noting the more general Binomial random variable has expected value $Np$ and setting $N$ = 1." ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example: Cheating Among Students" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will use the binomial distribution to determine the frequency of students cheating during an exam. If we let $N$ be the total number of students who took the exam and assuming each student is interviewed post-exam (answering without consequence), we will receive integer $X$ 'Yes I did cheat\" answers. We then find the posterior distribution of $p$, given $N$, some specified prior on $p$, and observed data $X$.\n", "\n", "This is an unrealistic model. No student, even with a free-pass against punishment, would admit to cheating. What we need is a better algorithm to ask students if they had cheater. The proposed model is noted below.\n", "\n", "> In the interview process for each student, the student flips a coin, hidden from the interviewer. The student agrees to answer honestly if the coin comes up Heads. Otherwise, if the coin comes up Tails, the student (secretly) flips the coin again, and answers \"Yes, I did cheat' if the coin flips Heads and 'No, I did not cheat' if the coin flips Tails. This way, the interviewer does not know if a 'Yes' was the result of a guilty plea, or a Heads on the second coin toss. Thus privacy is preserved and the researchers receive honest answers.\n", "\n", "The interviewers are still receiving false data, since some of the \"Yes\" answers are just randomness rather than confessions. Yet, now as a researcher we know about half the students are telling the truth. We can use PyMC to dig through this noisy model, and find a posterior distribution for the true frequency of liars.\n", "\n", "SUppose 100 students are being surveyed for cheating, and we wish to find $p$, the proportion of cheaters. There are a few ways to do this in PyMC, we demonstrate the most explicit way, and then show a simplified version. Both methods arrive at the same inference.\n", "\n", "In our data generation model, we sample $p$, the true proportion of cheaters, from a prior. Since we have no clue about the value of $p$, we will assign it a `Uniform(0, 1)` prior." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import pymc as pm\n", "\n", "N = 100\n", "p = pm.Uniform('freq_cheating', 0, 1)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Again, we assign Bernoulli random variables to the 100 students: 1 implies they cheater and 0 implies they did not." ] }, { "cell_type": "code", "collapsed": false, "input": [ "true_answers = pm.Bernoulli('truths', p, size=N)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we carry out the algorithm, the next step that occurs is the first coin-flip each student makes. This can be modeled again by sampling 100 Bernoulli random variables with $p$ = 0.5: denote 1 as Heads and 0 as Tails." ] }, { "cell_type": "code", "collapsed": false, "input": [ "first_coin_flip = pm.Bernoulli('first_flip', 0.5, size=N)\n", "first_coin_flip.value" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 5, "text": [ "array([False, False, False, True, True, True, True, False, False,\n", " False, False, False, False, True, False, False, False, False,\n", " True, True, False, True, True, True, True, False, True,\n", " False, False, True, False, True, True, True, False, True,\n", " False, False, False, True, False, False, True, False, False,\n", " True, True, False, True, False, False, True, False, False,\n", " True, True, True, False, False, False, False, True, True,\n", " True, True, False, True, False, False, False, True, True,\n", " False, True, False, True, False, True, True, False, False,\n", " False, False, False, True, True, False, True, True, True,\n", " False, True, True, False, False, True, False, False, False, False], dtype=bool)" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Although not everyone flips a second time, we can still model the possible realization of second coin-flips:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "second_coin_flips = pm.Bernoulli('second_flips', 0.5, size=N)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using these variables, we can return a possible realization of the _observed proportion_ of \"Yes\" responses. We do this using a PyMC `deterministic` variable:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "@pm.deterministic\n", "def observed_proportion(t_a=true_answers,\n", " fc=first_coin_flip,\n", " sc=second_coin_flips):\n", " observed = fc * t_a + (1 - fc) * sc\n", " return observed.sum() / float(N)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The line `fc*t_a + (1 - fc)*sc` contains the heart of the coin flip algorithm described above. Elements in this array are 1 _if and only if_ (1) the first toss is Heads and the student cheater, or (2) the first toss is Tails, and the second is Heads, and are else 0. Finally, the last line sums this vector and divides by `float(N)`, produces a proportion." ] }, { "cell_type": "code", "collapsed": false, "input": [ "observed_proportion.value" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 8, "text": [ "0.34999999999999998" ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next we need a dataset. After performing our coin-flipped interviews, the researchers received 35 \"Yes\" responses. To put this into perspective, if there truly were no cheaters, we should expect to see on average 1/4 of all responses being a 'Yes' (half chance of having the first coin land Tails, and another half chance of having the second coin land Heads. So about 25% or 25 responses in a cheat-free world in this scenario. On the other hand if _all_ students cheated, we should expect to see approximately 3/4 of all responses be 'Yes'.\n", "\n", "Suppose that the results of the study observe a Binomial random variable, with $N$ = 100 and $p$ = `observed_proportion` with `value` = `35`:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "X = 35\n", "\n", "observations = pm.Binomial('obs', N, observed_proportion, observed=True,\n", " value=X)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Below we add all the variables of interest to a model container and run our algorithm over the model." ] }, { "cell_type": "code", "collapsed": false, "input": [ "model = pm.Model([p, true_answers, first_coin_flip,\n", " second_coin_flips, observed_proportion, observations])\n", "\n", "# Explained in later notebook\n", "mcmc = pm.MCMC(model)\n", "mcmc.sample(40000, 15000)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [- 5% ] 2030 of 40000 complete in 0.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [--- 10% ] 4051 of 40000 complete in 1.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [----- 15% ] 6096 of 40000 complete in 1.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [------- 20% ] 8100 of 40000 complete in 2.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [--------- 25% ] 10135 of 40000 complete in 2.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [----------- 30% ] 12111 of 40000 complete in 3.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [------------- 35% ] 14141 of 40000 complete in 3.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [--------------- 39% ] 15979 of 40000 complete in 4.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [---------------- 44% ] 17701 of 40000 complete in 4.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------48% ] 19372 of 40000 complete in 5.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------52% ] 21050 of 40000 complete in 5.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------56%- ] 22744 of 40000 complete in 6.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------61%--- ] 24457 of 40000 complete in 6.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------65%---- ] 26163 of 40000 complete in 7.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------69%------ ] 27869 of 40000 complete in 7.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------73%-------- ] 29573 of 40000 complete in 8.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------78%--------- ] 31276 of 40000 complete in 8.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------82%----------- ] 32993 of 40000 complete in 9.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------86%------------ ] 34682 of 40000 complete in 9.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------90%-------------- ] 36369 of 40000 complete in 10.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------95%---------------- ] 38074 of 40000 complete in 10.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------99%----------------- ] 39750 of 40000 complete in 11.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------100%-----------------] 40000 of 40000 complete in 11.1 sec" ] } ], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "p_trace = mcmc.trace('freq_cheating')[:]\n", "\n", "plt.hist(p_trace, histtype='stepfilled', normed=True, alpha=0.8, bins=30,\n", " label='posterior distribution', color='#348ABD')\n", "plt.vlines([0.05, 0.35], [0, 0], [5, 5], alpha=0.5)\n", "plt.xlim(0, 1)\n", "plt.legend()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 11, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAd4AAAFVCAYAAABB6Y7YAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGbdJREFUeJzt3Xt4VPWdx/HPJIThFgIkJGDxRtLfZltWt02sra3arlgv\nxaeKrX2iS4ututTLI0WrK7RUWmW3trJWdBe3ihdUQF3Zta2L3brVTVlXy+hW1io/KCkGiEAgEsjk\nOpn9IyEFSeZMkplvksn79Tx5JDPf+Z1vfjnmM+eXk3MkAAAAAAAAAAAAAAAAAAAAAAAAAMNEKKjA\nOfe6pAOdn27z3n8jvS0BADBMOedGdQYvAABIgREBz58qaYxz7oXO2oXe+1fT3xYAAJkpK+D5Bkk/\n8t6fJ2mepCecc0GvAQAAPQg64vWStkqS936Lc26fpKmSdnZXvHHjxnhq2wMAYNB7uby8/LPJFgcF\n75WSTpF0nXPuOEnjJdUkekFZWVmy207aPffcI0maP39+ysceaiKRSFrmeKhJ9z7BPKcfc5x+zLGN\nSCRydm/qg4L3IUkPO+f+q/PzK7337X3qDAAAJA5e732bpDlGvQAAkPE4UQoAAEMELwAAhgheAAAM\nEbwAABgKOqsZAJBALBbTjh07UjrmtGnTlJ2dndIxMXgQvADQDzt27NC8h36l0RMmp2S8xvf3asU3\nZurEE09MyXgYfFhqBoB+Gj1hssYVTE3JR6oCPMjatWvV1taWVG1lZaWeeuqpfm/zoosukiQtXbpU\nNTXdX4uppaVFTz/99DGP19bWasmSJZKkWbNmJb1N7702btwoSVqwYIFaW1t723bKEbwAMAw98MAD\nam9P7npIZ555pi677LKUbXvhwoWaOnVqt8/t2bNHzzzzzDGPFxQU6Hvf+54kKRQKvKNtlxdeeEFb\nt26VJC1btkw5OTl96Di1WGoGgCHm2WefVWVlperq6lRXV6cbbrhBM2fO1IYNG/STn/xE4XBYEyZM\n0GWXXab9+/dr/vz5isfjamlp0ZIlS7Rp0ybV1tZqwYIFuu+++3T33XcrEomovb1dc+fO1fnnn685\nc+YoPz9fBw4c0Be+8AVt375dN910k1auXKnnn39eI0aMUHl5uW6++WYtX75cb7zxhqLRqO68804V\nFxdLkhobG/Xtb39bdXV1OuGEExSLxSRJc+bM0ZIlS1RXV6cf/vCHysnJ0ahRo3TvvfdqxYoV2rp1\nq+6//37F43G9/vrramxs1B133KGFCxdq7dq1isViuuWWW1RTU6PCwkItXbpUv/jFL1RVVaWbbrpJ\nzc3NuuCCC7R69WqtW7dOI0eO1Ec+8hHNnz9f69ev1549e7Rw4UK1t7crFApp0aJFKi0t1ec//3mV\nlZWpqqpK+fn5Wr58ubKyUn98yhEvAAwxoVBI7e3teuSRR/Tggw9q6dKlamtr0+LFi3Xfffdp1apV\nOu2007Ru3Tpt2rRJEydO1IMPPqjFixcrGo3qy1/+sgoKCrRs2TK9/PLL2rlzp5588kk9+uijWrFi\nhQ4ePCipY0n34Ycf7jrRa/PmzVq/fr3Wrl2rNWvWaPv27XrppZcUCoVUUlKiNWvWdIWuJK1Zs0Yl\nJSV64okndPXVVx+zzPviiy/qwgsv1OOPP66KigrV19frm9/8pkpKSnTddddJkkpKSrR69WqFw+Gu\n17W2tmrevHlatWqVpkyZoqeeeqrbo+CioiLNnj1bV155pU455ZSux++66y7NnTtXjz/+uBYtWqRF\nixZJ6vh9/fz587VmzRrt379fmzZtStF37GgELwAMQZ/61KckSZMnT1Zubq5qa2s1btw4FRYWSpLK\ny8u1Y8cOnXXWWfr4xz+ua6+9Vvfee+8xR3Dee7311luaM2eOrrrqKsViMe3c2XEDupNPPvmo2qqq\nKp166qldQVxWVqYtW7ZIkk466aRjeqyqqtKMGTMkSdOnT9ekSZO6nguFQpo3b552796tr33ta3rh\nhRc0YsQIxeNH3+Suu3Hz8/M1ffp0SdLHPvYxVVVVHfX8kWN8cDxJ2rZtm0477TRJUmlpqd577z1J\n0sSJE1VUVCRJmjp1qlpaWo55bSoQvADQT43v79Wh2pqUfDS+vzepbR4+GqutrVVTU5MKCwt16NAh\n7d3b8frXXntNxx13nF599VVNnjxZDz30kObNm6dly5ZJkrKystTe3q7i4mKdfvrpWrVqlR5++GGd\nd955Ov7447tqjjR9+nS9+eabisViisfj2rhxY1c4d7ckW1xcrNdff12S9O6776qurq7ruXg8ruee\ne06zZ8/WY489ppKSEq1du1bZ2dldv3uOx+PdjltXV6fq6uqur7O0tFThcLjra3/rrbe6arOysrqW\nuI/8On77299Kkt5++21NntxxQtsHj5q7C+1U4He8ANAP06ZN04pvzEz5mEG2b9+uuXPn6tChQ7r9\n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\nSUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "With regards to the plot, we are still pretty uncertain about the true frequency of cheaters, but we have narrowed it down to a range between 0.05 to 0.35. This is still pretty good, since as a priori we had no idea how many students might have cheated (hence the uniform distribution of the prior). On the other hand, it is also pretty bad since there is a 30% range window where the true value lives. \n", "\n", "Have we learned anything? Yes, since it is implausible, that there are _no cheaters_ since the posterior assigns very low probability to $p$ = 0. Since we started from a uniform prior, which treats all values of $p$ as equally plausible, yet the data ruled out $p$ = 0 as a possibility. Therefore we can be confident there were some cheaters." ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "A Simpler PyMC Model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Given a value for $p$ (from which a god-like position we know), we can find the probability a student will answer \"Yes\":\n", "\n", "`P(\"Yes\")=P(Heads on first coin)P(cheater)+P(Tails on first coin)P(Heads on second coin)`\n", "\n", "$$ = \\frac{1}{2}p + \\frac{1}{2} \\frac{1}{2}$$\n", "\n", "\n", "$$ = \\frac{p}{2} + \\frac{1}{4}$$\n", "\n", "Thus, knowing $p$ allows us to know the probability a student will response \"Yes\". In PyMC, we can create a deterministic function to evaluate the probability of responding \"Yes\", given $p$:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "p = pm.Uniform('freq_cheating', 0, 1)\n", "\n", "@pm.deterministic\n", "def p_skewed(p=p):\n", " return 0.5 * p + 0.25" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we know the probability of respondents saying \"Yes\", which is `p_skewed`, and we have $N$ = 100 students, the number of 'Yes' responses is a binomial random variable with parameters $N$ and `p_skewed`.\n", "\n", "This is where we include our observed 35 'Yes' responses. In the declaration of the `pm.Binomial`, we include a `value` = 35 and `observed = True`." ] }, { "cell_type": "code", "collapsed": false, "input": [ "yes_responses =pm.Binomial('number_cheats', 100, p_skewed,\n", " value=35, observed=True)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Below we add all the variables if interest to a model object and run our MCMC algorithm." ] }, { "cell_type": "code", "collapsed": false, "input": [ "model = pm.Model([yes_responses, p_skewed, p])\n", "\n", "mcmc = pm.MCMC(model)\n", "mcmc.sample(25000, 2500)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------47% ] 11890 of 25000 complete in 0.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------91%-------------- ] 22983 of 25000 complete in 1.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------100%-----------------] 25000 of 25000 complete in 1.1 sec" ] } ], "prompt_number": 14 }, { "cell_type": "code", "collapsed": false, "input": [ "p_trace = mcmc.trace('freq_cheating')[:]\n", "\n", "plt.hist(p_trace, histtype='stepfilled', normed=True, alpha=0.8, bins=30,\n", " label='posterior distribution', color='#348ABD')\n", "plt.vlines([0.05, 0.35], [0,0], [5, 5], alpha=0.5)\n", "plt.xlim(0, 1)\n", "plt.legend();" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAd4AAAFVCAYAAABB6Y7YAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGalJREFUeJzt3Xt01OW97/HPZBIuIeFiSLioqJA+pdVNt004Ht3euopa\nW11ni9azUFHsRamXysZWt1Bp6VHa0sqyontjq6JiBdQFvex61FN3pSk9FRncR8TLA5uIgYIQiZBk\nIklm5vyRkA2SuSUz32Qm79daWSvze575/b48+ZHPPL/55RkJAAAAAAAAAAAAAAAAAAAAAAAAwAAR\nSNbBObdJ0oHOh9u991/PbkkAAAxQzrkhncELAAAyoDBJ++ckFTvnXuzsO897/2r2ywIAID8VJGlv\nlvRT7/1FkmZL+pVzLtlzAABAHMlmvF7SNkny3m91zn0oaZykXd113rhxYyyz5QEA0O+tq66uPj/V\nzsmC93pJUyTd7JwbL2m4pN2JnlBVVZXqsVN2//33S5LmzJmT8X3nmlAolJUxzjXZPicY5+xjjLOP\nMbYRCoXOS6d/suB9VNJy59yfOh9f772P9qgyAACQOHi99+2SZhrVAgBA3uNGKQAADBG8AAAYIngB\nADBE8AIAYCjZXc0AgAQikYh27tyZ0X2ecMIJCgaDGd0n+g+CFwB6YefOnZr96B80dGR5RvbX8tE+\nLfv6NJ100kkZ2R/6Hy41A0AvDR1ZrpLR4zLylakAT2b16tVqb29PqW9NTY2eeeaZXh/z0ksvlSQt\nWrRIu3d3vxZTa2urnn322WO219fXa+HChZKkSy65JOVjeu+1ceNGSdLcuXPV1taWbtkZR/ACwAD0\n8MMPKxpNbT2kc845R1deeWXGjj1v3jyNGzeu27a9e/fqueeeO2b76NGj9f3vf1+SFAgk/UTbLi++\n+KK2bdsmSVqyZImKiop6UHFmcakZAHLMmjVrVFNTo4aGBjU0NOjWW2/VtGnTtH79ev385z/X4MGD\nNXLkSF155ZXav3+/5syZo1gsptbWVi1cuFCbN29WfX295s6dqwcffFD33XefQqGQotGoZs2apS99\n6UuaOXOmysrKdODAAX3lK1/Rjh07dPvtt+uxxx7T888/r8LCQlVXV+s73/mOli5dqtdff13hcFj3\n3nuvJk2aJElqaWnRd7/7XTU0NGjChAmKRCKSpJkzZ2rhwoVqaGjQT37yExUVFWnIkCF64IEHtGzZ\nMm3btk0PPfSQYrGYNm3apJaWFt1zzz2aN2+eVq9erUgkojvuuEO7d+9WRUWFFi1apN///veqra3V\n7bffrkOHDuniiy/WypUrtXbtWg0aNEif/exnNWfOHL3wwgvau3ev5s2bp2g0qkAgoPnz52vy5Mm6\n8MILVVVVpdraWpWVlWnp0qUqKMj8/JQZLwDkmEAgoGg0qscff1yPPPKIFi1apPb2di1YsEAPPvig\nVqxYoalTp2rt2rXavHmzRo0apUceeUQLFixQOBzWV7/6VY0ePVpLlizRunXrtGvXLj399NN64okn\ntGzZMjU2NkrquKS7fPnyrhu93n33Xb3wwgtavXq1Vq1apR07duiVV15RIBBQZWWlVq1a1RW6krRq\n1SpVVlbqV7/6lb75zW8ec5n35Zdf1pe//GU99dRTmjFjhg4ePKhvfetbqqys1M033yxJqqys1MqV\nKzV48OCu57W1tWn27NlasWKFxo4dq2eeeabbWfCYMWM0ffp0XX/99ZoyZUrX9sWLF2vWrFl66qmn\nNH/+fM2fP19Sx/v1c+bM0apVq7R//35t3rw5Qz+xoxG8AJCDzjzzTElSeXm5SktLVV9fr5KSElVU\nVEiSqqurtXPnTp177rn6/Oc/r5tuukkPPPDAMTM47722bNmimTNn6hvf+IYikYh27er4ALpTTjnl\nqL61tbX63Oc+1xXEVVVV2rp1qyTp5JNPPqbG2tpanXbaaZKkiRMn6rjjjutqCwQCmj17tj744ANd\nd911evHFF1VYWKhY7OgPuetuv2VlZZo4caIk6fTTT1dtbe1R7Ufu45P7k6Tt27dr6tSpkqTJkydr\nz549kqRRo0ZpzJgxkqRx48aptbX1mOdmAsELAL3U8tE+NdXvzshXy0f7Ujrm4dlYfX29Pv74Y1VU\nVKipqUn79nU8f8OGDRo/frxeffVVlZeX69FHH9Xs2bO1ZMkSSVJBQYGi0agmTZqkM844QytWrNDy\n5ct10UUX6cQTT+zqc6SJEyfqjTfeUCQSUSwW08aNG7vCubtLspMmTdKmTZskSe+//74aGhq62mKx\nmH77299q+vTpevLJJ1VZWanVq1crGAx2vfcci8W63W9DQ4Pq6uq6/p2TJ0/W4MGDu/7tW7Zs6epb\nUFDQdYn7yH/Ha6+9Jkl6++23VV7ecUPbJ2fN3YV2JvAeLwD0wgknnKBlX5+W8X0ms2PHDs2aNUtN\nTU36wQ9+oIKCAt1zzz269dZbFQgENGLECM2YMUOTJ0/W3LlztXLlSkUiEd1yyy2SOmbEN9xwg558\n8klt2LBBV199tcLhsC644AINGzbsmOMFAgE553TxxRdrxowZikajqq6u1rRp0/TOO+90e6l3xowZ\nuuuuuzRjxgwdf/zxGjFixFH7mzJlir73ve9p6NChCgaD+uEPf6iysjK1tbXpZz/7mYYMGXLUfg9/\nX1paqvvvv1979uzRhAkTdPnllyscDmvlypW66qqrdOqpp6q0tFSSdNppp2nx4sWaNGlS1/PvvPNO\n3X333XrsscfU3t6ue++9t9sxTucmrnRkdK8bN26M8Xm82cXna3bg83hzH2Pcc2vXrlVDQ4O+9rWv\nJezHGNsIhUKqrq5OOU+51AwAOShbszFkH5eaASDHXHbZZX1dAnqBGS8AAIYIXgAADBG8AAAYIngB\nADBE8AIAYIjgBQDAEMELAIAhghcAAEMELwAAhgheAAAMEbwAABgieAEAMETwAgBgiOAFAMAQwQsA\ngCGCFwAAQwQvAACGCF4AAAwRvAAAGCJ4AQAwRPACAGCI4AUAwBDBCwCAIYIXAABDBC8AAIYK+7oA\n2Kmvr1ckEonbHgwGNXr0aMOKAGDgIXgHkBsXL1egYmLc9uje7Vqz+LuGFQHAwEPwDiBDRpUrWDEh\nbnukrdGwGgAYmHiPFwAAQwQvAACGCF4AAAzxHm+eeH/nLtV/uD9hn1gsZlQNACAegjdPPPpvf9I7\n0cR/ClQ0drJRNQCAeAjePFE0aJAGF47s6zIAAEkQvP3AzfcsVeHwsrjtbQfq9S93f9uwIgBAthC8\n/cCBYKkKRn4qbnt7U6thNQCAbCJ4c0Bs2Cjd/YtnJUl79+5TRWj7MX12N7VJrPYIAP0ewZsDikaN\n147O75tHV6hlSPGxnYaYlgQA6KGUgtc5VyEpJOmL3nuf3ZIAAMhfSRfQcM4VSXpYUnP2ywEAIL+l\nsnLVTyX9q6TdWa4FAIC8l/BSs3NulqR93vuXnHN3SQok22EoFMpQaf+lrq4ua/vuDxobG1UYDqfc\nvzmNvuloa2zMmTG2OCdyZSxyGWOcfYxx/5PsPd7rJcWcc9Mk/b2kJ5xz/8N7/0G8J1RVVWWyPklS\nTU1N1vbdH5S+tFkFxd3cMNWN5nBYw1Lsm65IaWnOjHG2z4lQKJQzY5GrGOPsY4xtpPviJmHweu/P\nO/y9c+6Pkm5MFLoAACAxPp0IAABDKf8dr/f+C9ksBACAgYAZLwAAhgheAAAMEbwAABgieAEAMETw\nAgBgiOAFAMAQwQsAgCGCFwAAQykvoIFjvVe3S/++4f8l7DNhTJmmnX2GUUUAgP6O4O2F/9jytv7Y\nNFqBQPwPbZr0zg6CFwDQhUvNAAAYIngBADBE8AIAYIjgBQDAEDdX4Sh79+5N2F5cXKySkhKjagAg\n/xC86BIdPVE3PVmTsM9nhzbrhzdfa1QRAOQfghddigYPVVHFhIR9BkXqjKoBgPzEe7wAABgieAEA\nMETwAgBgiOAFAMAQwQsAgCGCFwAAQ/w5UZbVNkZ12wNPJ+wTLSnnFRAADBAEb5ZFy05RQ5I+/BAA\nYOBgogUAgCGCFwAAQwQvAACGCF4AAAwRvAAAGCJ4AQAwRPACAGCI4AUAwBDBCwCAIYIXAABDBC8A\nAIYIXgAADBG8AAAYIngBADBE8AIAYIjgBQDAEMELAIAhghcAAEMELwAAhgheAAAMEbwAABgieAEA\nMETwAgBgiOAFAMAQwQsAgCGCFwAAQwQvAACGCF4AAAwVJuvgnAtK+qUkJykmabb3fku2CwMAIB8l\nDV5Jl0iKeu/Pds6dJ+leSf+Y3bLQX/mPYrrxvqcS9rm86mRdeP7ZRhUBQG5JGrze+9845/6t8+HJ\nkhqyWhH6t7IJaknSpbH5I5NSACAXpTLjlfc+4px7XNJlkq7IakUAAOSxlIJXkrz3s5xzd0p61Tn3\nGe99txOfUCiUseIOq6ury9q+e2P79u1qDjgFAgHT4zaHw6bHS1ftwe1Z/1lZnBP97XzLR4xx9jHG\n/U8qN1fNlHSC9/5HklokRTu/ulVVVZW56jrV1NRkbd+9UbevQa9/UGwavM3hsIYVF5sdrydOKZuY\n9Z9Vts+JUCjU7863fMMYZx9jbCPdFzepzHifk/S4c26dpCJJt3nvD/Wgtpxz9Z0/VsHIsXHbI7GY\ngsefalgRACDXpXJzVYuk/2lQS78TPG68NO4zcdtTvk4PAEAnFtAAAMAQwQsAgCGCFwAAQwQvAACG\nCF4AAAwRvAAAGCJ4AQAwRPACAGCI4AUAwBDBCwCAIYIXAABDBC8AAIYIXgAADBG8AAAYIngBADBE\n8AIAYIjgBQDAUGFfF9BX1r26Sdt37knYJxIIKmhUDwBgYBiwwfuXt97T28ETE/YJji03qgYAMFBw\nqRkAAEMELwAAhgheAAAMEbwAABgieAEAMETwAgBgiOAFAMAQwQsAgCGCFwAAQwQvAACGBuySkcie\nQ4c+VlNTU9z2QCCgYcOGGVYEAP0HwYuM+/W2sH6z9Xdx26P1O/TsT//ZsCIA6D8IXmTckLETE7ZH\no4eMKgGA/of3eAEAMETwAgBgiOAFAMAQwQsAgCGCFwAAQwQvAACGCF4AAAwRvAAAGCJ4AQAwRPAC\nAGCI4AUAwBDBCwCAIYIXAABDBC8AAIYIXgAADBG8AAAYIngBADBE8AIAYIjgBQDAEMELAIAhghcA\nAEOFiRqdc0WSHpN0kqTBku7x3v/OojAAAPJRshnv1ZL2ee/PlfQlSQ9mvyQAAPJXwhmvpGclPdf5\nfYGk9uyWAwBAfksYvN77ZklyzpWqI4TnWxQFAEC+SjbjlXPuRElrJD3kvV+VrH8oFMpEXUepq6tL\na99ba9/Xn/1uBQLx++wNR9V+fFkmyjPXHA73dQm90t7Y2OvzJN1zoieyuW90YIyzjzHuf5LdXDVG\n0kuSbvLe/zGVHVZVVWWirqPU1NSkte89DY36aPw4FRQE4/YZ3PmVa5rDYQ0rLu7rMnolWlra6/Mk\n3XMiXaFQKGv7RgfGOPsYYxvpvrhJNuOdJ2mEpAXOuQWd2y723n/cg9oASVIkUKgVa/93wj6nnDBW\nZ0893agiALCT7D3e2yTdZlQLBoii8Z/W/2lM3Gfym7UEL4C8xAIaAAAYIngBADBE8AIAYIjgBQDA\nEMELAIAhghcAAEMELwAAhgheAAAMEbwAABgieAEAMETwAgBgiOAFAMAQwQsAgCGCFwAAQwQvAACG\nEn4eL9BXGhoa9Mr6v8Zt31b7nsaPHWNYEQBkBsGLfulvIybr4bda47a/uyeiv29537AiAMgMghf9\nUrBokIKJ2guLJLVblQMAGcN7vAAAGCJ4AQAwRPACAGCI4AUAwBDBCwCAIYIXAABDBC8AAIYIXgAA\nDBG8AAAYIngBADBE8AIAYIjgBQDAUE5+SMJ3Fi9ToGRU3PbGxkYFxvydYUUAAKQmJ4N3X2yoYiUT\n43cokQJ25QAAkDIuNQMAYIjgBQDAEMELAIAhghcAAEMELwAAhgheAAAMEbwAABgieAEAMETwAgBg\nKCdXrgIkqXb3Pi19+rdx2wPRVt1yzRWGFQFAcgQvclbT8Al6rX1c/A5/e8uuGABIEZeaAQAwRPAC\nAGCI4AUAwBDBCwCAIYIXAABDBC8AAIYIXgAADBG8AAAYIngBADDU71auqnntdf1n3e6jtm14o2MF\nosfXPC9JiijIKwYAQE7qd8H7l7d2aEvg+KO2bT1UIkkqbCqXJBWMKzevCwCATEhr4uicO8M598ds\nFQMAQL5LecbrnLtD0jWSmrJXDgAA+S2dGe82SdMlBbJUCwAAeS/lGa/3fo1z7uRk/UKhUK8K2rNn\nt5pHjDpqW2trqySpORzu1b7zBeOQ2jkROXiwV+djb89lJMcYZx9j3P9k/OaqqqqqXj3/D2/W6cNA\n8VHbBg0aJEkaVlzc3VMGlOZwmHFQiufE8OE9Ph9DoVCvz2UkxhhnH2NsI90XN/xVDgAAhnoSvLGM\nVwEAwACR1qVm7/17ks7KTikAAOQ/LjUDAGCI4AUAwBDBCwCAIYIXAABDBC8AAIYIXgAADBG8AAAY\nIngBADCU8bWagf6ifchI3f2LZxP2qSwv0XWXXWxUEQAQvMhjhceN144kfYo/qjOpBQAO41IzAACG\nTGe8b727Vb/5yxsKBOLn/Y4Pm6Ryw6IAADBkGrw7du3Wm7FxCgaL4ncidAEAeYxLzQAAGCJ4AQAw\nRPACAGCI4AUAwBDBCwCAIYIXAABDBC8AAIZYMhIDWiTSrubm5mO2t7S0dG0fMmSIgsGgdWkA8hTB\niwHtzeah+tqDvzlme3NTs4atf1+xaEzXTT1eX5l2vn1xAPISwYsBbdCosZLGHrO9PRzW4OJiRaMR\nRWNh+8IA5C3e4wUAwBDBCwCAIYIXAABDBC8AAIYIXgAADBG8AAAYyvifE/1o+Zq4bfvq6xUon5Lp\nQwIAkDMyHrxvB0+M3zjmRKbYAIABjRwEAMAQwQsAgCGCFwAAQ6zVDCQQCBTo16H39NJbT8ftE22s\n10Pf+7ZhVQByGcELJBAIBNQ2/u90IFGnljarcgDkAS41AwBgiOAFAMAQwQsAgCGCFwAAQwQvAACG\nCF4AAAzx50RAL7UPH69rfvR4wj6nHleou268xqYgAP0awQv0UmHJSKlkZMI+gehOo2oA9HdcagYA\nwBDBCwCAIYIXAABDBC8AAIYIXgAADBG8AAAY4s+JAANv7I/q2h8/Ebc9Go1q1tmf1rRzzzKsCkBf\nIHgBA4WjJyTuEI3opQ3/oTfr9sXtUhBp07evvSLDlQGwRvAC/UBBQVB7Kqq0JxK/T3DP23YFAcia\npMHrnCuQ9C+Spkg6JOkb3vv/zHZhAI7V3t6esD0QCCgYDBpVA6AnUpnx/qOkQd77s5xzZ0i6r3Mb\nAEMfl47XNT9dmbDPqPYGVX2mMm57TDFddObpmnD8+EyXByBFqQTvP0h6QZK8968656qzWxKA7hQN\nGyENG5GwT7OkP4Xjt0faWnXS1u0Jg/evm97Qus3bEx7nU+NGavqF5yfsA6B7qQTvcEkHj3gccc4V\neO+j3fb+21uZqOtoB/Zkb985JnrwoDR8eF+X0feyfE7k6zgXRKP65V9f18pf/z5un8bmFhVPOj3h\nfl5/9c/695dfTtjn9ptu0CknndijOoF8lkrwHpRUesTj+KErrbvtgtPO631Zn3DBaRnfJXIc50Qv\nTMnAPpKP//76vdpfvzdhn1AolIFakAhjbGJdOp1TCd71ki6V9Kxz7r9LeiNex+rq6vPTOTgAAANN\nKsG7VtIFzrn1nY+vz2I9AAAAAAAAAAAAAAAAAAAAAAaaQE+elGz9ZufcpZLultQu6THv/SMZqHVA\nSWGMZ0i6TR1jvFnSTd77WF/UmqtSXYfcOfcLSR967+8yLjHnpXAeT1XHMrQBSbskXeu9b+2LWnNZ\nCuN8maR5kmLq+J28rE8KzXGdyyb/2Hv/hU9sTyvzCnp4/K71myX9szr+4xwuoEjSEkkXSDpP0g3O\nuYoeHmcgSzTGQyX9L0nne+/PljRC0iV9UmVuizvGhznnblTHahG8qOmZROdxQNIvJM3y3p8j6WVJ\np/RJlbkv2bl8+HfyP0i63TmXeO1RHMM5d4ekX0oa/IntaWdeT4P3qPWbJR25fvNnJG3z3h/w3rdJ\n+rOkc3t4nIEs0Rh/LOlM7/3HnY8LJbXYlpcXEo2xnHNnSfpvkh5WD68OIeEYO0kfSprrnHtF0kjv\n/bvWBeaJhOeypDZJIyUNVce5zAvJ9G2TNF3H/i5IO/N6Grzdrt98RNuBI9oa1TEjQ3rijrH3Pua9\n3ydJzrlbJQ3z3v+hD2rMdXHH2Dk3TtICSbeI0O2NRL8rRks6S9JSSdMkfdE59wWhJxKNs9QxAw5J\nelPS77z3R/ZFCrz3a9RxKfmT0s68ngZvovWbD3yirVRSQw+PM5AlXCPbOVfgnPuZpC9Kuty6uDyR\naIyvUEcwPC/pTklXOeeuNa4vHyQa4w/VMVN413vfro4ZG59+1jNxx9k5N0EdLyBPknSypDHOuSvM\nK8xfaWdeT4N3vaQvS1I36ze/I+lTzrlRzrlB6phy/98eHmcgSzTGUsflz8GSLjvikjPSE3eMvfdL\nvffVnTdR/FjS0977J/umzJyW6DzeLqnEOTep8/E56piRIX2JxnmIpIikQ51hvFcdl52RGWlnXk/v\nag7ov+6gkzrWb66SVOK9/6Vz7hJ1XKYrkPSo9/5fe3KcgSzRGEva2Pn1pyOe8nPv/a9Ni8xxyc7j\nI/pdJ+nT3vt59lXmthR+Vxx+YROQtN57/099U2luS2Gc/0nSVeq4P2SbpG92XmVAGpxzJ6vjRfhZ\nnX9ZQuYBAAAAAAAAAAAAAAAAAAAAAAAAAAAA/cT/B34WPauw8TzoAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 15 }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can imagine that as we tweek the number of observed cheaters and the number of students in the sample, we could become more confident with our results. Here is an example if we had 500 students and 300 reported cheaters, this works out to 60% of students reported a \"Yes\", compared to 35% in the original example." ] }, { "cell_type": "code", "collapsed": false, "input": [ "yes_responses =pm.Binomial('number_cheats', 500, p_skewed,\n", " value=300, observed=True)\n", "\n", "model = pm.Model([yes_responses, p_skewed, p])\n", "\n", "mcmc = pm.MCMC(model)\n", "mcmc.sample(25000, 2500)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [--------------- 41% ] 10373 of 25000 complete in 0.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------78%--------- ] 19580 of 25000 complete in 1.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------100%-----------------] 25000 of 25000 complete in 1.3 sec" ] } ], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": [ "p_trace = mcmc.trace('freq_cheating')[:]\n", "\n", "plt.hist(p_trace, histtype='stepfilled', normed=True, alpha=0.8, bins=30,\n", " label='posterior distribution', color='#348ABD')\n", "plt.vlines([p_trace.mean()+2*p_trace.std(), \n", " p_trace.mean() -2* p_trace.std()], \n", " [0,0], [10, 10], alpha=0.5)\n", "plt.xlim(0, 1)\n", "plt.ylim(0, 13)\n", "plt.legend();" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAeMAAAFRCAYAAABHdcVGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGttJREFUeJzt3XmYXHW95/F3b+kknb3TCWBYTOLvRsyDSjeXAa8IY0RR\neBxAmAkOGlwQER65IDAkCuIAKirDesEriyySRJnkul5wYITbMF4wBV4iS34gMRuEbJ2tO0kn3T1/\ndKiks3S6KlX9S3e9X8+T56nzqzrnfOub6vrUOXXOKZAkSZIkSZIkSZIkSZIkSZIkSZKkXldW7BVk\nMpmOjo6OYq9GkqQDxVMNDQ0n5jJDZZEKyero6KC+vr7YqylpmUzGHheZPe4d9rn47HHxZTKZj+Q6\nT3kxCpEkST1nGEuSlJhhLElSYoaxJEmJGcaSJCVmGEuSlFjRT22SpFLT1tbG0qVLC7rMcePGUVFR\nUdBl6sBhGEtSgS1dupQL7nmcQSPqCrK8TWtXctcXp3D44YcXZHl7M3v2bM4880wqK/cdDY2Njbz1\n1lucffbZ+7XO0047jV//+tfccMMNnHfeeRx88MG7Paa1tZVf/vKXnHXWWV3GV61axR133ME111zD\nqaeeym9+85serTPGyPr162loaODSSy/l+9//PlVVVfv1PPaXYSxJRTBoRB1DRu8eLAeyH//4x5x+\n+uk9euyHP/zhgq57+vTpe71vxYoVPPLII7uF8ejRo7nmmmsAKCvr+QUlH3vsMerq6mhoaOCmm27K\nr+ACM4wlqR+YM2cOjY2NNDU10dTUxMUXX8yUKVN45plnuOWWW6iurmbEiBGcffbZrFmzhksuuYSO\njg5aW1u59tprmT9/PqtWreLSSy/l9ttv50c/+hGZTIb29namTZvGJz7xCc4991xqa2tZt24dn/rU\np1i0aBGXXXYZ9957L7/73e+orKykoaGBb3zjG9x222288MILtLS0cP311zNhwgQANm3axOWXX05T\nUxOHHXYYbW1tAJx77rlce+21NDU1ZbdUBw4cyK233spdd93F66+/zh133EFHRwfPP/88mzZt4rrr\nrmP69OnMnj2btrY2rrjiCt566y3GjBnDDTfcwG9/+1sWLlzIZZddxpYtWzjllFOYOXMmc+fOZcCA\nARx55JFccsklPProo6xYsYLp06fT3t5OWVkZM2bMYNKkSZx88snU19ezcOFCamtrue222ygvL/zh\n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\nMYNCAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 17 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we see a much tighter distribution, in-fact, the range of the distribution is only about 9%, and we can be 95% certain that the amount of students cheating lies between ~53 and 69 percent. " ] }, { "cell_type": "code", "collapsed": false, "input": [ "print p_trace.mean()+2*p_trace.std()\n", "print p_trace.mean()-2*p_trace.std()\n", "(p_trace.mean()+2*p_trace.std()) - (p_trace.mean() -2* p_trace.std())" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "0.699838931488\n", "0.534834725277\n" ] }, { "metadata": {}, "output_type": "pyout", "prompt_number": 18, "text": [ "0.16500420621173983" ] } ], "prompt_number": 18 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "More PyMC Tricks" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__Lighter deterministic variables with Lambda class__\n", "\n", "Sometimes writing a deterministic function using the `@pm.deterministic` decorator can seem like a chore, especially for a small function. Built in `lambda` functions can handle this with elegance and simplicity.\n", "\n", " beta = pm.Normal('coefficients', 0, size=(N, 1))\n", " x = np.random.randn((N, 1))\n", " linear_combination = pm.Lambda(lambda x=x, \n", " beta=beta:np.dot(x.T, beta))\n", " \n", "__Arrays of PyMC variables__\n", "\n", "There is no reason why we cannot store multiple heterogeneous PyMC variables in a Numpy array. Just remember to set the `dtype` of the array to `object` upon initialization." ] }, { "cell_type": "code", "collapsed": false, "input": [ "N = 10\n", "x = np.empty(N, dtype=object)\n", "for i in range(0, N):\n", " x[i] = pm.Exponential('x_%i' % i, (i + 1) ** 2)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 19 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Extra Example: Challenger Space Shuttle Disaster" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On January 28, 1986, the twenty-fifth flight of the U.S. space shuttle program ended in disaster when one of the rocket boosters of the Shuttle Challenger exploded shortly after lift-off, killing all seven crew members. The presidential commission on the accident concluded that it was caused by the failure of an O-ring in a field joint on the rocket booster, and that this failure was due to a faulty design that made the O-ring unacceptably sensitive to a number of factors including outside temperature. Of the previous 24 flights, data were available on failures of O-rings on 23, (one was lost at sea), and these data were discussed on the evening preceding the Challenger launch, but unfortunately only the data corresponding to the 7 flights on which there was a damage incident were considered important and these were thought to show no obvious trend. The data are shown below." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import pandas as pd\n", "\n", "np.set_printoptions(precision=3, suppress=True)\n", "data = pd.read_csv('https://raw.githubusercontent.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers/master/Chapter2_MorePyMC/data/challenger_data.csv', \n", " header=False, names=['date', 'temperature', 'incident'])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 20 }, { "cell_type": "code", "collapsed": false, "input": [ "# Other import method, something is up with the data formating: fix later\n", "np.set_printoptions(precision=3, suppress=True)\n", "challenger_data = np.genfromtxt(\"https://raw.githubusercontent.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers/master/Chapter2_MorePyMC/data/challenger_data.csv\", skip_header=1,\n", " usecols=[1, 2], missing_values=\"NA\",\n", " delimiter=\",\")\n", "\n", "challenger_data = challenger_data[~np.isnan(challenger_data[:, 1])]\n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 21 }, { "cell_type": "code", "collapsed": false, "input": [ "# Drop NA values\n", "data = data[data['incident'].notnull()]\n", "print data" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " date temperature incident\n", "0 04/12/1981 66 0\n", "1 11/12/1981 70 1\n", "2 3/22/82 69 0\n", "4 01/11/1982 68 0\n", "5 04/04/1983 67 0\n", "6 6/18/83 72 0\n", "7 8/30/83 73 0\n", "8 11/28/83 70 0\n", "9 02/03/1984 57 1\n", "10 04/06/1984 63 1\n", "11 8/30/84 70 1\n", "12 10/05/1984 78 0\n", "13 11/08/1984 67 0\n", "14 1/24/85 53 1\n", "15 04/12/1985 67 0\n", "16 4/29/85 75 0\n", "17 6/17/85 70 0\n", "18 7/29/85 81 0\n", "19 8/27/85 76 0\n", "20 10/03/1985 79 0\n", "21 10/30/85 75 1\n", "22 11/26/85 76 0\n", "23 01/12/1986 58 1\n", "24 1/28/86 31 Challenger Accident\n" ] } ], "prompt_number": 22 }, { "cell_type": "code", "collapsed": false, "input": [ "# Plot the data and remove the actual incident\n", "plt.scatter(data['temperature'][:-1], data['incident'][:-1], s= 75, color='k',\n", " alpha=0.5)\n", "plt.yticks([0, 1])\n", "plt.ylabel('Incident?')\n", "plt.xlabel('Outside Temperature (F)')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 23, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nAIENAIADCGwAABxAYAMA4AACGwAABxDYAAA4gMAGAMABBDYAAA4gsAEAcACBDQCAAwhsAAAcQGAD\nAOAAAhsAAAcQ2AAAOIDABgDAAQQ2AAAOILABAHAAgQ0AgAMIbAAAHEBgAwDgAAIbAAAHENgAADiA\nwAYAwAEENgAADiCwAQBwAIENAIADCGwAABxAYAMA4AACGwAABxDYAAA4gMAGAMABBDYAAA4gsAEA\ncACBDQCAAwhsAAAcQGADAOAAAhsAAAcQ2AAAOIDABgDAAQQ2AAAOILABAHAAgQ0AgAMIbAAAHEBg\nAwDgAAIbAAAHENgAADiAwAYAwAEENgAADiCwAQBwAIENAIADCGwAABxAYAMA4AACGwAABxDYAAA4\ngMAGAMABBDYAAA4gsAEAcACBDQCAAwhsAAAcQGADAOCAYL4LANA10WhU7733njZv3iyfz6dx48bp\ntNNOk8/nSztNfX29vv/972vbtm3q16+fvvzlL2v27NkZ59PQ0KBVq1bp4MGDGjhwoKZNm6Z+/fpl\nnKayslLvvvuuQqGQRo4cqZKSEgUCgYxtWbJkicrKyrRz507NmTNHl112mfz+o7sNcaRtGTFihM47\n77yMbfkkQqGQ3n77be3atUtVVVUaMWKEhg0blnGa6upqPfroo9q3b5+OO+44ffGLX9TQoUOPal2x\nWEzl5eXatGmTJGns2LE644wzMi5j7dvSq1cvTZo0SSeccMJRrUvy2r927VqFQiENGzZMkydPVjBY\nWBGWvheOkDHGL+lXksZLapZ0q7W2It3716xZE5s0aVK2yun2ysrKVKjtL+S2S11r/549e7Ro0SLV\n19erqKhIktrC8aabblLfvn2TpnnggQf0wAMPKBwOtwVhOBzWxIkT9eyzz6YMoWXLlmnlypUKBALy\n+XyKxWKKxWK6/PLLNXny5KT3h8NhPfbYY9q0aVNbXZFIRP369dONN96ok08+OWmaDz/8UHfccYfq\n6upUVFSkxsZG9enTRyNHjtRDDz2k4uLizj+0LnjttddUWloqv9+f0JbLLrtMU6ZMSXp/JBLR448/\nLmttQlv69u2rG2+8UaNGjToqdf3zn//UkiVLFAqF5Pf7VVNToyFDhmj8+PGaM2dOynC8//779dxz\nz8nv98vv9ysajUqS5s6dq9tuu+2o1LVv3z49+uij2rNnT1sQtobjzTffrP79+ydNY63Vn/70J7W0\n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\n3jJWW1urXbt2tS1P0WhU48aN0/XXX5+0JR0IBDR27Fht2bJFDQ0NCgQCikajCgQCmjlzZtJKUSpd\nWfZHjRqlaDSq6upqRSKRtn4ZPny45s2bl/JyM1fU1tbq4Ycfvrer78/addiHi+uwC3e3cCG3XTq8\n9u/Zs0fvv/++fD6fJk6cqGOOOSbj+yORiJ588km9/fbbKi4u1re//e1Ov+Ci0ajWr1+vvXv3atiw\nYRo7dmynW0rNzc1au3atWlpadNppp3VpBayiokIvvfSSqqur9c1vfrPTG4d8Eu3bMnTo0E5vAiIl\ntmXMmDEaOXLkUa9L8k4mrKqqUmVlpebOnZvxOK3kbbUuXbpU1dXVGjNmjC6//PKjfqMZydttv379\nekne7viBAwd2Os3WrVtVWVmpPn36aOLEiZ22pdXhLPstLS1at26dmpqaNHr06JQrkK453OuwCexu\nopBDq5DbLtF+2l+47S/ktkvd68YpAADgKCGwAQBwAIENAIADCGwAABxAYAMA4AACGwAABxDYAAA4\ngMAGAMABBDYAAA4gsAEAcACBDQCAAwhsAAAcQGADAOAAAhsAAAcQ2AAAOIDABgDAAQQ2AAAOILAB\nAHAAgQ0AgAMIbAAAHEBgAwDgAAIbAAAHENgAADiAwAYAwAEENgAADiCwAQBwAIENAIADCGwAABxA\nYAMA4AACGwAABxDYAAA4gMAGAMABBDYAAA4gsAEAcACBDQCAAwhsAAAcQGADAOAAAhsAAAf48l1A\nqzVr1iyXNDPfdQAAkCOlJSUls/JdBAAAAAAAAAAAAAAAAAAAAAAgH/J2WZcxZq2khvjLzZJ+LOlR\nSVFJ5ZK+aq2N5ae67ErR9v+W9JIkGx/2kLX2qXzUlgvGmLskXSGpSNKDkt5UgfS9lLL970l6UQXQ\n/8aY+ZJuir/sK+kcSRdKekAF0P9p2j9FBfD3b4zxS/qtJCOvr78kKaIC+dtP0/5+Ooy//bwEtjGm\nj6RV1tqJ7YY9L+kn1toVxpiHJC2z1i7NR33ZlKbtt0oaaK39Wf4qyw1jzCxJ37TWXmmMOUbSnZIm\nSPppT+97KW37qyQNKoT+b88Y86Ckd+StvBRE/7fXrv0xFUD/G2M+I+lma+31xpiLJd0mKagC6fsU\n7f+KpJd1GH0fzGaBGZwjqZ8xZlm8hu9KmmitXREf/7KkSyT1xI5L2XZJY40x/yLpQ0m3W2sP5LHG\nbLpE0npjzFJJAyV9W9IXC6TvpTTtV+H0vyTJGFMi6Uxr7deMMfcUUP9Lamv/uHj7H/IG9fj+PyRp\nkDHGJ2mQpBZJkwuo7zu2PyRpkg7jbz9ftyb9SNL91tpL5a1lPNFh/AF5DeqJOrb9cUllkr5lrZ0p\nbxf53XmsL9uGyFtIr5XX/sVK3NPTk/teSt3+1Sqc/m/1HUn3xv9fSP3f6juS7on/v1D6/01JfST9\nU9JvJP1fFVbfp2r//+gw+j5fgW0VD2lr7YeS6iR9qt34AZL25aGuXEjV9mXW2nXx8UslnZun2nJh\nj6S/WmvD1lorqUmJf6Q9ue+l5PYfkvSXAup/GWMGSzLW2tL4oGi70T29/1O1/9kC6f87Jb1prR0r\n7zDYH+Sdx9Gqp/d9x/YvkvTy4fR9vgL7Zkk/lSRjzAnyOuqvxpjWe4lfJmlFmmld17HtAyU9a4w5\nLz7+Iklr8lRbLrwh6TNSW/v7SXq9QPpeSm7/MZJeKqD+l6QZkl5v93pdAfW/lNz+Vwqk/4+RtD/+\n/73yDgkWUt93bH+RpBcOp+/zdQz7d5L+nzGmtXNulrel+Ygxppek9yX9OU+1ZVuqth+S9EtjTEhS\nraQF+Sou26y1LxljZhhj/kfeCuO/Stqqwuj7dO3fpQLp/zgjqaLd6ztUIP0f17H9X1Fh9P/98r77\nVsoLq7vkHQ4slL5P1f6NKoy+BwAAAAAAAAAAAAAAAAAAAAAAAAAX5e1pXUB3ZozpL+k+efc2/kje\nDQ/usdb+rZPprpB0qrX252nGnyDpEWvt5SnGHbDW9u9CbcdJei3+clj85474z09ba/d29jtyqbPP\n5Ah/90hJP7DW3mKMWS5phLxbXLZ6WNLzkv7TWnvT0Z4/kEv5unEK0G3Fb87/gqS1ks6w1oaNMRPk\n3ZHsxna3lExlkrynL6Vkra2RlBTWcV16rKC1tk7xWxgaY+6WFLPW/qAr0+ZJxs/kCP1C3n25FZ9H\n+wfJtDHG7DTGXGatfTlLdQBZR2ADyWZKOslaO7t1gLX2HWPMDyV9X1JpfGvubmttqTFmlKS/S/pf\n8u5aFTPGbJVULW8rPSbvVoRz5d2Gd7m1dpQx5mR5D38ZIG/lwC+1bd3/UtI4SQFJ91lrn8xQb9ue\nMmPMPEn/Fv9dZfKeL9xsjNkhb0tzurw7Kv1K0tcljZR0U/zxhsslrZc0Vd5DCm631r5qjPmUpF9L\nOlHefb/vsta+boy5R9IF8eEPyrtT1Q/l3W72WHn3Tt7Q7jOplDRK3grGvfF6t8Y/79mS5ks6Ll7n\nf8t7QMKECnWFAAAD80lEQVTI9vNs32hjzKmShsfvyZ70WXTwh/hnSmDDWfm6lzjQnZ0n6R8phq+M\nj5O8EE7YarTWbpT0kLyH0C+S9+jUL1trz5O3xX5uu2klL+T+YK2dIOklSX3jw78naY21tkRemH3X\nGHNKZ0UbY8ZJulXSFGvtuZJ2S/pWfPRQSS9Ya8+Iv77KWjtD3hOjbm9XV9BaO0nS5yUtMsYUSXpA\n0u/j9fyLpN/EVyokqZe1dpy19iFJX5O3hTspXse/d/hMHu34mXX4HEdImmCt/V58nr9LM89Wn5XX\nJ618kn5rjFkX/9e2J8Rau0HSmcaYnvw0KPRwbGEDyaJKfIpQq15dmLb9Ft7zkpbGn339nLX2tfjW\neKtZ8ra6Za192hjT+mCAiyX1NcbcEn/dT9KZkrZ0Mu/Zkk6TtNoY01pvWbvxrVuXlfo46KrkbQ23\n+nW8nneMMbWSxsfrGWuMad3tHpQ0Rl7Qrm437RckXWGMmSNvy/uY+PDOzpVpHb/WWtv65K5U8xwt\n6b12050q6YN2r9PuEo+rjte9tpN6gG6JwAaSrZb0dWNM0Fobbjd8irzn10peOLQGTapwl7X2F8aY\nF+RtCf6XMebPSnz2e0yJe7la5+WX9Hlr7TuSZIwZJu/hOJ3xS3rKWvtv8en6q93feIe2RNL8jvbD\n/fGa/JJmW2v3xX/vCHm71a+S93jUVm/IewrV8vjPxe3Gxdr9bN/m9p/doQ7zTjXP9qL6+DNrlWnl\nIKTER3kCTmGXONCBtfYNecdef2GMCUqSMWaSvF3c/xF/2x5JZ8X/f1W7yUOKh6QxZpWkAdbaB+Sd\nHNXxWbevSrop/t5LJRXHh/9N3lO8ZIwZLmmdvGO5nVku6WpjzJD4iXMPyTtO3VU+ebvCZYwpkTRY\n3jHtv0n6anz4OEnvytvqb3/svFje1v3d1tpXJF0q7/i75H0mrcG8R97eAhljzpc0XKlPSEs1z74d\n3lMh6eQOwzKd3HaiOt9LAXRbBDaQ2jWSmiWVG2M2yAvcz7fb3fpfkv7VGFMm7wSt1qBYIenzxpiv\nyjsW/agxZo28Y7p3ywu51vd+VdKVxph35QXlzvjwe+XtEl8vb0v1TmttpqCJSZK19r34tH+TVB4f\nt7D9ezpO0+H/MUmnxtv0a0nXx3dR/29JF8Tr/GP8czigdsefrbX1kn4raYMx5k15l1b1Nsb07fCZ\nPCnpuPhn+jV5u6d9Sj4nINU8P+rQhhflHVbolDHmLEn/tNY2dOX9AAB0W8aYv8e3ep1hjHk6vgXe\n2ft+boy5LBc1AdnCFjYAl31D0rczvcEYc6KkIVyDDQAAAAAAAAAAAAAAAAAAAAAAAAAADsP/B+P3\nEHptd48wAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 23 }, { "cell_type": "markdown", "metadata": {}, "source": [ "It looks clear that the probability of damage incidents occurring increases as the outside temperature decreases. We are interested in modeling the probability here because it doesn't look like there is a clear cut off point between temperature and damage incidents of the O-ring. We want to answer the question \"At temperature $t$, what is the probability of an incident?\".\n", "\n", "We need a function of temperature, call it $p(t)$, this is bound between 0 and 1, and changes from 1 to 0 as we increase temperature. There are many functions that do this, but the most popular choice is a _logistic function_.\n", "\n", "$$p(t) = \\frac{1}{1 + e^{\\beta t}}$$\n", "\n", "In this model, $\\beta$ is the variable we are uncertain about. Below is the function plotted for $\\beta$ = 1, 3, and -5." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def logistic(x, beta):\n", " return 1.0 / (1.0 + np.exp(beta * x))\n", "\n", "x = np.linspace(-4, 4, 100)\n", "plt.plot(x, logistic(x, 1), label = r\"$\\beta = 1$\")\n", "plt.plot(x, logistic(x, 3), label = r\"$\\beta = 3$\")\n", "plt.plot(x, logistic(x, -5), label = r\"$\\beta = -5$\")\n", "plt.legend();" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 24 }, { "cell_type": "markdown", "metadata": {}, "source": [ "But something is missing. In the plot of the logistic function, the probability changes only near zero, yet in our data above the probability changes around 65 to 70. We need to add a _bias_ term to our logistic function:\n", "\n", "$$p(t) = \\frac{1}{1 + e^{\\beta t + \\alpha}}$$\n", "\n", "Some plots below with different $\\alpha$." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def logistic(x, beta, alpha=0):\n", " return 1.0 / (1.0 + np.exp(np.dot(beta, x) + alpha))\n", "\n", "x = np.linspace(-4, 4, 100)\n", "\n", "plt.plot(x, logistic(x, 1), label=r\"$\\beta = 1$\", ls=\"--\", lw=1)\n", "plt.plot(x, logistic(x, 3), label=r\"$\\beta = 3$\", ls=\"--\", lw=1)\n", "plt.plot(x, logistic(x, -5), label=r\"$\\beta = -5$\", ls=\"--\", lw=1)\n", "\n", "plt.plot(x, logistic(x, 1, 1), label=r\"$\\beta = 1, \\alpha = 1$\",\n", " color=\"#348ABD\")\n", "plt.plot(x, logistic(x, 3, -2), label=r\"$\\beta = 3, \\alpha = -2$\",\n", " color=\"#A60628\")\n", "plt.plot(x, logistic(x, -5, 7), label=r\"$\\beta = -5, \\alpha = 7$\",\n", " color=\"#7A68A6\")\n", "\n", "plt.legend(loc=\"lower left\");" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nXpbllbIsDznJca/KsvywcyIKgudIjQrkptNTqG81u834cXeGG1K6bf7RlYToQF77chdF5c4pllHT\nx0qb71cAACAASURBVHeMG7u4NWZlWcf7iRS7NQkK6OnK+FxAZzQaJwG3A08ef4Asy9cB6YDnbPIq\nCE50/mj3Gj/uznCDzN7KPGy23v/SkBwbzBVzh/Poks2Y2h2//tgwfQLg+nHjyiM9qcWVsaCEnorx\nZGApgNFo3AhkHfugLMuTgPHAK4DkjICC4GmOHz9ee0DZ8ePuhPgEEeYbwsG6oj49b86EBAbHBfPK\n57scniliYgYqnZZyF48bV5Yd2SBCFGNBAT0V4yDg2NX+VlmWVQCyLMcA9wJ/QRRiQfiNY8eP7/s+\nx23WH3dlhCGV3eX7+vQcSZL40wWj2VdYy8+bCh2aR+PrQ8TEDOp27qWtps6h5+7O0WIcKbpvCQro\ntojKsvwk8KvRaPzkyNdFRqNx0JH/vgG4EmgEogE/4B6j0bjkZOfbsmWLuJUtDChrDrfz3r5WkoPU\n/GOsPxqV839vte7bj2SIRBUa0qvjy0xVtNvNJPjG9Pm1KuvNqCQID9L2+bndqX7jc6rf+JyYh28k\ncPo4h577ZJZ+mI/NZmfu77qcGiMI/ZKVldXtX35ND89fBywAPpFleSKw8+gDRqPxeeB5AFmWrwTS\nuivER2VmZvZ0iMfKzs4W78+DOeP9jR1rp0adww855axpCOLmWbJDz9+VnR99SuKVlxM8Yvhvvu9J\nf34VLTaWv/E5gUXVvcrc3/fW3m7hizeMJKcY3PL/kSf92Z2KgfD+etLTbeovAJMsy+vomLz1d1mW\nF8uyfG0Xx4qrXkE4jiRJ3HFGGsnh/ny0tZif91U49fXsdrvHdt86Vvj40ah99C6bxFVV3ojdLsaL\nBeV0e2VsNBrtwPXHf7uL495xZChB8Ca+OjWPnpPOlf/dwgNLc0mJDCDRSR2eLA0N2O12tMGeXVTU\neh0Rp42hfOWvmCpr8Il0bm/sqs7xYs/+/yZ4LtH0QxBcIDncnzvndOx/fPtXuzCZrU55naNtMCVJ\nmTmVdrudWgdNVoua0bHEqWK182dVi2VNgtJEMRYEFzlreDQXZMSRV9XMIz/tw253/MhOa4myt6j3\nF9Xxj+dWU9/U1u9zda43XuX8W9WdM6lFMRYUIoqxILjQTTNTGBETxHd7yvh8R4nDz+8TE0Pk1Mmn\n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\ngg==\n", "text": [ "" ] } ], "prompt_number": 25 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Adding a constant term results in shifting the curve left or right.\n", "\n", "Let's start modeling this in PyMC. The $\\beta$, $\\alpha$ parameters have no reason to be positive, bounded, or relatively large, so they are best modeled by a _Normal random variable_. Recall that a normal curve has two parameters, the mean $\\mu$, and precision, $\\tau$. \n", "\n", "> Note: variance is the reciprical of $\\tau$ and is better suited to Bayesian analysis.\n", "\n", "Below we continue out modeling of the Challenger space craft:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# temp = data['temperature'][:-1].values\n", "# D = data['incident'][:-1].values\n", "\n", "temperature = challenger_data[:, 0]\n", "D = challenger_data[:, 1] # defect or not?\n", "\n", "\n", "beta = pm.Normal(\"beta\", 0, 0.001, value=0)\n", "alpha = pm.Normal(\"alpha\", 0, 0.001, value=0)\n", "\n", "@pm.deterministic\n", "def p(t = temperature, alpha = alpha, beta = beta):\n", " return 1.0 / (1.0 + np.exp(beta * t + alpha))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 27 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We have our probabilities, but how to we connect them to our observed data? A Bernoulli random variable with parameter $p$, denoted Ber(_p_), is a random variable that takes value 1 with probability $p$, and 0 else. Thus our model looks like:\n", "\n", "* Defect Incident, $D_i \\sim Ber(p(t_i)), \\ \\ i = 1, ..., N$\n", "\n", "where $p(t)$ is out logistic function and $t_i$ are the temperatures we have observations about. Notice in the above code we set `values` of beta and alpha to 0. The reason is that if `beta` and `alpha` are very large, they make `p` = 1 or 0. Unfortunately, `pm.Beroulli` does not like probabilities of exactly 0 or 1, though they are mathematically well-defined probabilities. So by setting the coefficient values to 0, we set the variable `p` to be a reasonable starting value. This has no effect on our results, nor does it mean we are including any additional information in our prior. It is simply a computational caveat in PyMC." ] }, { "cell_type": "code", "collapsed": false, "input": [ "print p.value" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[ 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5\n", " 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5]\n" ] } ], "prompt_number": 28 }, { "cell_type": "code", "collapsed": false, "input": [ "# connect the probabilities in `p` with our observations through\n", "# a Bernoulli random variable\n", "\n", "obs = pm.Bernoulli('bernoulli_obs', p, value = D, observed = True)\n", "model = pm.Model([obs, beta, alpha])\n", "\n", "map_ = pm.MAP(model)\n", "map_.fit()\n", "mcmc = pm.MCMC(model)\n", "mcmc.sample(120000, 100000, 2)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-- 5% ] 6946 of 120000 complete in 0.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [---- 11% ] 13845 of 120000 complete in 1.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [------ 17% ] 20752 of 120000 complete in 1.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-------- 23% ] 27647 of 120000 complete in 2.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [---------- 28% ] 34586 of 120000 complete in 2.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [------------- 34% ] 41445 of 120000 complete in 3.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [--------------- 40% ] 48418 of 120000 complete in 3.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------46% ] 55442 of 120000 complete in 4.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------52% ] 62447 of 120000 complete in 4.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------57%- ] 69372 of 120000 complete in 5.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------63%---- ] 76366 of 120000 complete in 5.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------69%------ ] 83407 of 120000 complete in 6.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------75%-------- ] 90280 of 120000 complete in 6.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------80%---------- ] 97132 of 120000 complete in 7.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------86%------------ ] 103553 of 120000 complete in 7.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------91%-------------- ] 109570 of 120000 complete in 8.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------96%---------------- ] 115709 of 120000 complete in 8.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------100%-----------------] 120000 of 120000 complete in 8.9 sec" ] } ], "prompt_number": 29 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We have trained our model on the observed data, now we can sample values from the posterior. Let's look at the posterior distributions for $\\alpha$ and $\\beta$:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "alpha_samples = mcmc.trace('alpha')[:, None] # best to make them 1d\n", "beta_samples = mcmc.trace('beta')[:, None]\n", "\n", "# histogram of the samples:\n", "plt.subplot(211)\n", "plt.title(r\"Posterior distributions of the variables $\\alpha, \\beta$\")\n", "plt.hist(beta_samples, histtype='stepfilled', bins=35, alpha=0.85,\n", " label=r\"posterior of $\\beta$\", color=\"#7A68A6\", normed=True)\n", "plt.legend()\n", "\n", "plt.subplot(212)\n", "plt.hist(alpha_samples, histtype='stepfilled', bins=35, alpha=0.85,\n", " label=r\"posterior of $\\alpha$\", color=\"#A60628\", normed=True)\n", "plt.legend();" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 30 }, { "cell_type": "markdown", "metadata": {}, "source": [ "All samples of $\\beta$ are greater than 0. If instead the posterior was centered around 0, we might suspect that $\\beta$ = 0, implying that temperature has no effect on the probability of defect.\n", "\n", "Similarly, all $\\alpha$ posterior values are negative and far away from 0, implying that it is correct to believe $\\alpha$ is significantly less than 0.\n", "\n", "Regarding the spread of the data, we are very uncertain what the true parameters might be (this is to be expected with the small sample size). \n", "\n", "Next let's take a look at the expected probability for a specific value of the temperature. That is, we average over all samples from the posterior to get a likely value for $p(t_i)$." ] }, { "cell_type": "code", "collapsed": false, "input": [ "t = np.linspace(temperature.min() - 5, temperature.max() + 5, 50)[:, None]\n", "p_t = logistic(t.T, beta_samples, alpha_samples)\n", "\n", "mean_prob_t = p_t.mean(axis=0)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 33 }, { "cell_type": "code", "collapsed": false, "input": [ "from IPython.core.pylabtools import figsize\n", "# figsize(18, 5)\n", "\n", "plt.plot(t, mean_prob_t, lw=3, label=\"average posterior \\nprobability \\\n", "of defect\")\n", "plt.plot(t, p_t[0, :], ls=\"--\", label=\"realization from posterior\")\n", "plt.plot(t, p_t[-2, :], ls=\"--\", label=\"realization from posterior\")\n", "plt.scatter(temperature, D, color=\"k\", s=50, alpha=0.5)\n", "plt.title(\"Posterior expected value of probability of defect; \\\n", "plus realizations\")\n", "plt.legend(loc=\"lower left\")\n", "plt.ylim(-0.1, 1.1)\n", "plt.xlim(t.min(), t.max())\n", "plt.ylabel(\"probability\")\n", "plt.xlabel(\"temperature\");" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 36 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Above we plotted two possible realizations of what the actually underlying system might be. Both are equally likely as any other draw. The blue like is what occurs when we average all the 20000 dotted lines together.\n", "\n", "An interesting question to ask is for what temperatures are most uncertain above the defect-probability? Below we plot the expected value __and__ the associated 95% intervals for each temperature." ] }, { "cell_type": "code", "collapsed": false, "input": [ "from scipy.stats.mstats import mquantiles\n", "\n", "# vectorized bottom and top 2.5% quantiles for 'confidence interval'\n", "qs = mquantiles(p_t, [0.025, 0.975], axis = 0)\n", "plt.fill_between(t[:,0], *qs, alpha=0.7, color='#7A68A6')\n", "\n", "plt.plot(t[:, 0], qs[0], label=\"95% CI\", color=\"#7A68A6\", alpha=0.7)\n", "\n", "plt.plot(t, mean_prob_t, lw=1, ls=\"--\", color=\"k\",\n", " label=\"average posterior \\nprobability of defect\")\n", "\n", "plt.xlim(t.min(), t.max())\n", "plt.ylim(-0.02, 1.02)\n", "plt.legend(loc=\"lower left\")\n", "plt.scatter(temperature, D, color=\"k\", s=50, alpha=0.5)\n", "plt.xlabel(\"temp, $t$\")\n", "\n", "plt.ylabel(\"probability estimate\")\n", "plt.title(\"Posterior probability estimates given temp. $t$\");" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAe8AAAF1CAYAAADBdGLoAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8HNW5//HPzK56l5vc+3GvcgWDTbENGDC26ZgSakIC\nafcmzuXmpt8kvxuSkELoCSEhhV4NxgXjji33emRZsq3ee9/d3x+7chRZkleWVrPleb+ioN2dmf3O\nar3Pnpkz54AQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQggh\nOqCUGqGUciil9rX62a+U+kI3trlOKZXcxXVSlVKvXexz9hSl1CKl1LGeWq/1fnmWOeT5fVar+7v8\nel2Mludp/dw9ud2e2l4Hz9Fr74/e+nuI0GG3OoAIWrVa6xktN5RSg4DDSqk9WutDF7G9qwGjKyto\nrdOAWy7iufxaR/ultd7T6v4uv14X6WrAaPPcPbbdHtzeeXr5/dFbf49OKaU2AEu11s1WZxHdI8Vb\n9Aqtda5SKh0YCxxSSj0MPAY4gALgK0Ae8EdgDOAE0oBHgJc8m9molLpOa52jlLoBeAIIB2qB/wAi\ngaeAaiAG+BbwpNZ6CkB7z6m1TldKLWqz3hytdaNnnUXAk0CWJ1cdcJ/W+nib9aKBucB97ewXQIxS\n6p+e/S8HHvY8twn8yrNuHO4P+Ae11ts7Wg8YDPy2Zb9aePL8Dvi81eu1DPgeUKi1fsKz3F3AKq31\nyjbrn/eaaq13KqVivfi7/B/wba31FE+OnwI5wCTPtr4HPA6MA97QWn+jo30HHmq13c7+3ofby6W1\ndtGGUmoNcD9QBWwBlnv+Vr/zZH4VSNNaP+lZ/ovAIq317Z28LouAnwAZwGQgAviy1vrTNs/9xzZ/\njxmdbM+b120RHbwn2+53mxyDcX/RksIdBEyrA4jQoJSaj/uDZpdS6krgP3F/OE4HXgXeBm4CYj0t\n9tmeVUdqrVsOt1/h+SAfi/tD81qt9UzcheRN3AV0EnC7Z7uNrZ6/o+dscW69lsLdynTgKa31NNzF\n4pV21psBLOjkOQYBv/Qs92qrbcwFUrTW87TWk4A/A2tabb+99c4rTq04tdb3t3q9snEX9Ps8xRLP\n6/WH1it19JoqpaKBFVzg7wJkt8kxC/iR1noC7i8x3wGuA2YCX1ZKpXS0717+vd8CVraXq+0LopRa\nCtwLzNJapwKx7byGz3mWaXEf8NwFXheAOcAvPI+9CHy/7fO3eZ2iLrA9b1436Pw9eR6l1GLcX5Ty\nlVJ3d7asCAzS8ha+EqWU2uf53Q4UA3d6Poy/Cvxda10CoLV+WSn1FLAV+F+l1CbgE+DXWutT7Wx7\nMTAQd0um5T4H7i8HZ7XWZ9tZ55r2nlMpNdzzeEfrARzWWn/m+f2PwO+VUkntrNfucwAjgINa652e\n5V4G/qCUitNa71BKlSilvgSMAhYBla2e+7z1gIQOckI7h2a11geUUpnA9Z6jHwO11p+0Wayj13Q0\n7pbqT7z4u7SWqbU+4Pk9Ayj3tPhKlFKVQLIX+95ZtmZgP/BjL3JdB/xTa92y7d8DV7VZZjMQqZRK\nxd2S7ae13qiUerST1wXgtNb6oOf3fbiLfkeMDval9fYu+Lp5Hmv3Pam1LmvvibXWn3j6nDzpOV0g\nApwUb+Erda3PebdhcH6RMYAw3AV4EXAlsF4p9ZjW+o02y5rABq317S13KKWGedatvojnpJP1wF0o\n2m7H0c56nT2Ho839LqDJcxj118AvcLfSjwOrWy3X7nqdZO3I73EfNtbAs+083tFrmq21diqlvPm7\ntNbQ5vZ5h2o72Pe7upIN794vTfz7UUZn2yfQWruUUi8C93iyv+DFc1+Ou9C3cNH5eW2XF9u74OvW\nzv1t35PnUUoZwAwp3MFDDpsLK3wM3KaU6gvgaREU426V/FFrvU5rvcaz3CTPOg7c5wgBNgJLlFLj\nPOsvxd0Ki+zqc2qtT3qRd4pSaprn94eBra1acd7s10lgmlJqume5R4AtWut63B2Z3tNaP4v7nO0K\nwNZqm+eth/tc6IW0fr0AXsd9rnUl/zpX3Vrb1/QaPK+pp2Xszd+lKwza3/eWBoU3f+8vdpKrtQ+A\nVUqpeM/tB2j/1MOfcJ8LvwV3a7a95255XSK6uL8t+7Oph7bn7XuyxUTgmOc5b+9kOREgpHgLX+nw\nvKzWej3u828blVKHgbuB63F/eNqUUkeVUrtxd2J6yrPam8BWpdRErfVR3B9Yf1dK7Qd+DNwA1LTz\nvK4LPOcF8wKFwA+UUgdxf7jf0956nTyHE/cH5/eUUgc897WcX30GWOg5xfAh7sO/I1ptu731jDZ5\n2/v93OvlydaEu4Dv0FqXtt3Bdl7THwE3aK1rcR+u7/TvgrtodpSpo9vt7runlejN3/tPneRqvW+b\ngOeBHZ7l4vnXF6DWf78C3F8iDmit8y/wutS1Xb+D2y3exP3Fy9WN7bX+vd33pFLqA6VU6/d1ixKg\nQil1B+5TBEIIEbzURV6j7W+UUjFKqT1KqdkXXjq4KPf13I+1uv0NpdTfrMzUHcHynhTdIy1vIS6s\ns1a53/McZj4DbNRa77Y6jwU0cJlS6pCnpXoF8A2LM3VXQL8nhRBCCCGEEEIIIYQQQgghepDlY+16\n6/jx467q6s4uxRVCCCGCzuZZs2YtantnwAzSUl1dTWpqqs+2n5aW5tPt+5NQ2ddQ2U+QfQ1WobKv\nobKf0PV9TUtLW9je/T4v3kqpucDPtNZXtLn/BuC7uEcKeklr/UJ764eKpqYmPvnkE7TWNDc3M2zY\nMBYvXkxSUtKFV7ZYU1MT69atIz09nebmZoYPH87ixYtJTExsd/ni4mLWr19PdnY2YWFhKKVYsmQJ\nNput3eUD2YkTJ9i6dSulpaXExcUxa9YsZs2aZXWsgHPkyBGeffZZMjIyqK2tZcmSJXzzm98kPPxi\nxofxb8eOHWP79u2UlpZSWlqKaZrMmNHRYIUiVPm0eCulvoV7qMfqNveHAb/EPQh/LbBNKfWu1rrQ\nl3n8ldPp5Pnnn6egoADDcJ/JOHr0KBkZGXz5y18mPj7+AluwjtPp5LnnnqOwsPBc9iNHjnDy5Em+\n8pWvEBcX92/Ll5aW8swzz9Dc/K/RHXfs2EF2djYPPvjguW0Eg/379/PGG2+c+1JSU1PD22+/TXl5\nOVdffbXF6QLHkSNHePzxx3E43KN/VlVVsXbtWrTWvPjii5hm8FzxmpaWxttvv33uPVNSUsIbb7xB\nRUUFixYtsjac8Cu+ftefxD0cY9tP5AnASa11hWfkp624x/UNSfv37yc3N/e8wlVfX8/GjRstSuWd\nffv2kZeX1272TZs2nbf8hg0b/q1wA5imSVZWFsePdzqjYUBxuVxs2rTpvKMJdrudbdu20djYduIy\n0ZFnn332XOFuYZomWmvWr19vUaqe53K52LhxY7vvma1bt57370aENp+2vLXWbyqlRrTzUDxQ0ep2\nFZ3PlATA0QOtJ306v4XWWZvtXHFptZDhfgCA/LM1pEfmnXvcMAwMo+Vhw/M/z3//7XcDw2xZ1sDA\nwDA9MwWYpvt+08D0LGOaJqbp3ojp2fbxYxqXE5qaHG22DdnZ2TidrnPb9zeZmZnY7ee/jQzDIDu7\n7SyRkJub2+52wsLCSE9PZ8KECT2e0Qq1tbUUFhYSEXH+kNVNTU2kp6czaVJ7w3CLtrKystq9Pyws\njO3bt7NkyZLeDeQjlZWVlJSUEBl5/hD9tbW1ZGVlMWbMGAuSCX9kVYe1CtzjELeIA9qdyq61DR/s\nu9AiXnO5zh+gKOPI5xdYqd1fu7Cs69wNwwCXp1AfOnaInLwM3BW7ZWl3oU6ML4Wq99xfIkz38ue+\nWJgtXypwf2EwWr4geJYxPV8cMMAE07OMaTM4dXQDps2zbMuXC5uB3W5it5tERJrYw23Y7e7lO/ri\ncObMmQ4LssPhIC3t3ycxysvLo7T0vKG1cblc9OnT57zlu6unt+etpqYmioqK2j2k29zcTFZWFvX1\n9T36nFbtq6/V1NRQVVX1b/dVVVXhdDopKSkJmv2ur6+nsLDwvC/Dubm5NDU1kZGRQUVFRQdrB75g\n+Tt6oyf21arifRwY65kTuQb3IfP/u9BKCYkXbJxftIryCp9uvzNTp8yisOTMeYfLHA4HY0dPJD7h\nInM53T/OVjeh4311uVzgcuB0NeNyujBtJjbTxLQZhIXZsIXZCAszsYfZCQ+zERZuRw2fw+GDJ4kI\nD8dmMwmPDCMiwg64WLZs2Xm9Kqurq1m/fv15+9rc3Mw999xDwsXuazus7sF6/PhxMjMzz/vik5iY\nyHXXXdejR1Ks3ldfuuaaa3jnnXfOFbWqqiri4uJwOBw88cQTpKSkWJyw5xw/fpyzZ/91hDE3N5dB\ngwbRp08fli5damEy3wrm929bF9HbvN37e6t4uwA8M9rEaq2fV0p9A/cUfibwotY6r5ey+J3E+GQm\nT5zDkWO7Pa1nA4fDwdDBoxk9cmKv5TDcx+yxuf8PABcuHA4XDocT6tufRjolaTyHj+3GMNytTKej\nmeFDx5JxoInc9F1ERocTFR1GdHQE8RFDSYwbQHZuFrFx0ZimgdPp5Prrr+/Rwu0PVq1axfPPP09p\naSl2ux2Hw0FUVBSrVq3yy1Mg/urrX/86WmuOHj1KWFgYTqcTp9PJgw8+GFSFG9zvmRdffJGysrJz\n75nIyEhWrVpldTThZwLmE2TPnj2uI7t8N0iLlS3vFjW11WSePobD6WDIwJH0SR7gk+fxxb62zj5s\n8GiSEvt1uKzL6aKwKI/C4mwiIsOZNnUmAwb2IS4hiuS+saQMTiQiMqzbmfzh27zT6eTgwYPk5uaS\nmJjInDlz2u0j0F3+sK++tnnzZjZv3kxJSQlPPPEE/fv3tzqSTzidTvbt20dBQQGFhYWsXr3aJ+8Z\nfxIK798WF9PynjVr1nm1OrjfEQEmJjqWyRMCc8bGrmQ3TIMBAwYxYMAgAOpqnGSdLALA6XBimiYx\nsRHEJkQRnxBJXEIUQ0b0ISEpOuBarKZpMn36dKZPn251lIC3cOFCFi5cSFpaWtAWbnC/Z1o+3NPS\n0oK+cIuLI+8K4VdMm/vQe01NAzU1DRTkus/F79l+iri4SJL7xpLcP45ho/qSmBx4xVwIIXqCFG/h\n91p60bcU9DNZxezblSnFXAgRsqR4i4DTUTFPSIpm0NAkxk8ZTEJStNUxhRDCZ6R4i4DXUsyrKuo4\nXl7LiUM59B0QT6OzkkkTG4mMCr7xr4UQoU2KtwgqLYfNiwurKC+r5I0/7yJlUAJDR/dj9LgB2GzB\nMw62ECJ0SfEWQct9vbyTnLNlnD1dyr6dpxgyvA/T544gJvb8ISiFECJQSPEWIcE0DRrqmzl5PJ/T\nJ4sYNrov0+aMIC4+yupoQgjRZVK8RUgxDINmh5OMEwWczihm6Mi+TJ87gvgEKeJCiMAhxVuEpJZD\n6pnpBZw5VcSwUX2ZPmcE8YnSS10I4f8Cqnh/6werGTRgOIMGDmdQynAGpwxn8MCRhIefP+2iEN4w\nDAOn00XWySLOnCpm6Aj3OfGEpBirowkhRIcCquvtVx/+MZfOXUJEeCQHj+zipb/+H+mnDrW7rNPp\nbPd+ITridLo4faqYD17bx96dmTidF5z4VQghLBFQLe/BA0cweOAIr5b98S+/Qn19LcMGj2Ho4FEM\nHTyaYUPGkBCfLKNwiU41Nzs4uOc0OVklzLl8DAMGJVodSQgh/k1AFe+uWPPVX5GXf4Yz2Sc5m3uK\nw+v/wZmck/zwOy/QJyl4JzUQPcM0DcpKa1j37gFGqxTmXDYGe5jtwisKIUQvCNriHR4WwfChYxk+\ndOy5+1yu9g+DOhzNvPjqzxg9cgIjho1j5LBxxMdJa0uAywnpx/LIzy5n5vyRjBgrX/yEENYL2uLd\nno4Ol7tcLmZOuYyCkrN8tP4fZJ09QWxMAlMmzuGe277WyymFvzEMg+rqej775BiZ6YXMW6SIipYh\nV4UQ1gmp4t0Ruz2MGVMuJSExAXB3dsvNz6KoJL/d5RsbG3C5nEREyLXBoeZMZjFF+ZVMnzcSNXGg\n1XGEECFKinc7TNNkyKBRDBk0qt3HT2Qc5DfPfZdhg0czYdwMJo1LZfTIiYSHySVrwc4wDOrrm9i1\nOZ2q8jpmzh8pHSCFEL0uoC4V8xdTJszm9z9/h5XX3w8ueO3d53ns2zfx0YZ/Wh1N9BKXy8XhfWfY\n+skxuSxRCNHrpOV9kcLDI5g0PpVJ41MBqKuroaGxvt1l6+triYyUkbuCjWEYZOhCamsaufL6KYRJ\nb3QhRC+R4t1DoqJiiIpqf1SuF/7y/ziTc5Jpk+YxbdI8xo2ZSliYdHgKBqZpkJ9bztrX93Ll9VOI\njZPZyoQQvifFuxd8+YHvcSb7JPsP7+DND14iN+80E8bN4At3/IdckhYEDMOgvKyWj9/cz8JrJtF3\nQJzVkYQQQU6Kdy8wDOPcNefLr72HqupyDh3dTWyMfMgHk5qaBta/d5BLrxrP0JF9rI4jhAhi0mHN\nAnGxiVwyZzGmef450rLyYt5Z+2dy809bkEx0V2NjM5+tO8rxgzlWRxFCBDFpefsZl8tJVXUFP//N\nN4mJjmX2jIXMnrGQwQPlkqRA4XA42b0tg9raRmbOG2l1HCFEEJKWt59JTurP6lse41c//idfuPM/\nqKuv5cmn1/DuR69YHU10gcvl4nDaafbuOGV1FCFEEJKWt58yTZOxoyYzdtRk7lj5KI0dXIYm/Jhh\ncHjvWWw2k2lzRlidRggRRKTlHQAMw+hwKNZ31v6Z4+n7ZaAQf2XAgT2nObhH+jAIIXqOtLwDmNPp\nJDwsglf++RQNDfVcOncpiy69nqTEvlZHE20c+DwLm93GpOlDrI4ihAgCUrwDmGmaXHv1bVxz1a2c\nPpvO5u0f8MRPvsAlc5aw+pbHrI4nWnEBe3dkYDMNxk8dbHUcIUSAk+IdBAzDYMQwxYhhiluXP0xe\n4VmrI4l2uFywZ1sGps1ATRpkdRwhRACTc95BJioqhlHDx7f7WH19bS+nEW05XS4+33KSk8fan25W\nCCG8IS3vEPLLP3wHm83GokuWMyf1crlu3CJOp4tdn6Vj2k1Gje1vdRwhRACSlncI+dZjv+DSuUt5\n4/3n+f7/e4Td+zbjdDqsjhWSHA4nOzae4HRGodVRhBABSFreIcRuD2PB3KVMGjuHU2cP8/7Hr7J9\n9yd89eEfWx0tJDkcTrZv1MTFR5HcT8a5F0J4T4p3CDJNk9RplzFz6gKqayqsjhPSmpocbFl/nGW3\nzMRul/nAhRDekcPmIcwwDOJi25+SVAZ96T3lpTVs23Dc6hhCiAAixVucp7m5ie/+9EE+2vgajU0N\nVscJeoZhcPpkEccPyUxkQgjvSPEW57Hbw/jSF/6bE+n7WfODe/hsx1ocjmarYwU3w2DfjkxKi6qs\nTiKECABSvEW7hgwaxVcf+Qlfuv+7bNmxlv/+3wc4pvdZHSuoNTU7+OyTYzQ3yxUAQojOSfEWnRo7\najL/9fWnuH3lo4SHR1odJ+hVlNWybb2c/xZCdE56m4sLMgyDaZPmWh0jJBiGQVZGEf0P5jBBxkAX\nQnRAWt6iW2rrqqmTYVd7lGEY7NuVSXGhnP8WQrRPirfolr0Ht/GdH93Dzj0bcLlcVscJGs1NDrZ8\ncozmJjn/LYQ4nxRv0S0L5i7l0fu/xwfrXuXnv/kG2bmZVkcKGpXltWxZf8zqGEIIPyTFW3SbGj2F\n73/7WVKnXcbPnvoa/3jrGWmF9wDDMDh7qoQj+2WKVyHEv5MOa6JH2Gx2Fi9ayZyZizhwZJfMWNZT\nDDjw+WkGDk0iuU+s1WmEEH5CWt6iRyXEJ3P5/GutjhFUmpsd7Nh4AqdTjmYIIdykeAsRAIoLqji4\nO8vqGEIIPyHFW/SKzDMn+O3z/0NFZanVUQKSYRoc3Z9NiQyfKoRAirfoJUMGjiSl/1C++78PsCtt\nk9VxAlKzw8mOTVoOnwshfNdhTSllAk8DU4EG4EGtdUarx1cA/wW4gJe01s/4KouwXlhYOLcsf4iZ\nUy/l+Vd+yu59m7n39q91OCWpaF9xYRX7dp0idf5oq6MIISzky5b3TUC41voSYA3wZJvHfwksBi4F\nvqmUSvBhFuEnRo+cyA/XvECf5P787Kmvy7zhXWSaBscP5lJcUGl1FCGEhXxZvC8FPgLQWu8CZrV5\nvAlIBKIAA3cLXISA8PAI7lj5KP/19d9gmnLmpqscDic7PtXyxUeIEObLT854oHXzwOE5lN7iSSAN\nOAy8p7WWpkSIiYmOszpCwCopqiZt+ymrYwghLOKzkTSUUk8CO7XWr3lun9VaD/X8Pgz4AJgP1AJ/\nAd7UWr/e0fb27Nnj2v5xjq/iCj/hcrlkgBcvGabBxNQ+JCRHWB1FCOFDs2bNOu9D0ZcjrG0DbgBe\nU0rNAw62eiwScAANWmunUqoQ9yH0TiUk+u60eEV5hU+370/8eV/Xb36L3PzT3LHyUcLCwru1LX/e\nz55SVRzGwitnsH//PlJTU62O0yvS0tJkX4NMqOwndH1f09LS2r3fl4fN3wLqlVLbcB8i/7pS6g6l\n1ENaaw28DGxXSm0BEoA/+TCLCBDzZ19NeUUJP/7lVygqzrM6jt8rL6lhz7aMCy8ohAgqPmt5a61d\nwJfa3t3q8V8Bv/LV84vAFBMdx2MP/ZBPPn2DH/zfl/jCnd8kddplVsfyW4ZpkH4kj0FjbFZHEUL0\nIpmYRPgdwzBYcsXNjB4xkadf+gHlFaVcdflyq2P5LafLxamjFSy80onNJr33hQgFUryF3xo9ciI/\nWPM8TU2NVkfxe7XVTRzac5rpc0daHUUI0Qvka7rwa7Ex8SQl9rU6ht8zDIPjh3Kpq5UvOkKEAine\nQgSJhoYm6bwmRIiQ4i0CjtPp4NDRz62O4XcMw+D0ySKKC2W8IyGCnRRvEXAqq8p55bXf8I+3nsHp\ndFgdx684XS4ZeU2IECDFWwScxIQ+/M83f8+p08f47fP/Q319rdWR/Ep+TjmnThRYHUMI4UNSvEVA\nio1N4D+/8gtiouP5ya8ep7Ss0OpIfsMwDA7uOY3DIROXCBGspHiLgGW3h/HA6m8xL/VK/v7WH6yO\n41fKy2o5nHbG6hhCCB+R67xFQDMMg2VL7sThaLY6il8xTYPjh3JQkwcRFd29MeKFEP5HWt4iKNhs\n8j20rfr6JtK2y6VjQgQjKd5CBCnDMMg6WURJYZXVUYQQPUyKtwhKzY5mjqXvtTqG5ZxOF3uk9S1E\n0JHiLYJSRWUpf3/7adZtet3qKJbLzyknK10uHRMimEjxFkGpT1J/vvrQT1n/2du8/eHLuFwuqyNZ\nxjAM9u8+jdMpl44JESykeIuglZzYjye+/hv27P+Mv7/1h5Au4OWltRxKO2t1DCFED5HiLYJaQnwy\n3/nar0k/dZhPPn3T6jiWMU2D4wezaahvsjqKEKIHyPU1IujFRMfxra/8AsMwrI5iqfr6JtJ2nOKS\nK8ZZHUUI0U3S8hYhITIymoiIKKtjWMowDDJ1IZUVdVZHEUJ0kxRvIUKIw+Fk7w6ZdUyIQCfFW4Qs\nh6M5JDuxZWeWUJQvc34LEcikeIuQ9bc3nuadtX+2Okavc7pc7NsprW8hApkUbxGybrhmNTv3rOfD\nT/5udZRel59TwZlTxVbHEEJcJCneImQlxCfzrceeZOPWd1m/+S2r4/QuAw7uPh2Spw2ECAZSvEVI\nS07qz7cfe5IPPvkbn23/0Oo4vaqkuAp9JM/qGEKIiyDFW4S8fn0H8u3HnkRnHAqplqhhGBzZfxaH\nQ4ZNFSLQSPEWAkgZMJQH7/52yA3kUllex+G0M1bHEEJ0kRRvIUKYaRqcOJxLU2Oz1VGEEF0gxVuI\nEFdX18jenZlWxxBCdIEUbyE60NjYQHV1hdUxfM4wDDKO51NTXW91FCGEl6R4C9GBbZ+v45d/WEND\nY/AXtaYmB2nbZeAWIQKFFG8hOrDo0usZ0H8oz/zpxzidDqvj+JRhGJzJKKakqMrqKEIILwRU8ZZO\nNaI3GYbBA3f9J3V1Nbz6+u+D/jIyp8vFvh1y7luIQBBQxbsov5KSwiqamoK7FST8h90exmMP/ZCj\nei8fb3rd6jg+l3u2jJwzpVbHEEJcQEAV74nThmCzmRTlVVBaVE2zFHHRC2Ki4/jmoz+nuDgv6Fvf\nGHBAhk0Vwu8FVPG+4fZZ3HTXHNSkQRgGFOZVUFZSjaNZRogSvtUneQCrb308JAZxKcqvICu90OoY\nQohO2K0O0BWGYTBsVF+GjOhD1slC9mzLIPdMGQW55cTERhKbEInNFlDfR4TwO4ZhcHjvWYaP6Y9p\nBv+XFSECUUAV7xamaTBKDWD46H6cOlHAnu0Z5GeXU5BTQUxcBLHxUsSF6I6S4mrSj+YxbvIgq6MI\nIdpxweKtlBoBPA+MBC4H/grcr7W2vFuqzWYyduJARo0bQPrRPNK2naIwv4KCnHKiYyOIi4/CZpci\nLnyjoaGOsLBwTNNmdZQeZ5oGR/efZcyEFPkiLIQf8uZf5bPAL4AqIB938X7Zl6G6ymYzGT9lMLc9\neAnXrprB8NH9cDpcFOSWU1ZSTXOzdGwTPe9vb/6B19970eoYPlNRXsfR/dlWxxBCtMOb4t1Xa/0x\ngNbaqbV+AUjwbayLY7fbGD9lMLfefwnX3TyDkWMH4HJCYW4FZcXSO130rFU33M+utI3sSttkdRSf\nME2D44dy5MuvEH7Im+Jdq5Qa0nJDKbUA8OvxIm02EzVpEDffN4/rb01l9PgUwN07XS4xEz0lLjaR\nxx/6Ea/889ecyT5pdRyfqK1pYP+uLKtjCCHa8KZ4fwP4ABijlDoA/A34qk9T9RCbzWTMhBRW3TOX\nG26fxdiJA/91iVmxXGImum/40LGsvuVxnnruv6mqLrc6To9rmbSkob7J6ihCiFa8Kd4ZwGxgPnAP\nMAbI82WonmaaJqPUAFasnsuNd8xm9PgUXC4oyC2norQWp0OKuLh482ZdxZyZV7D980+sjuIT9fVN\nMmWoEH5MqvnVAAAgAElEQVSmw97mSqmhuIv7B8B1QKXnoSHAh8A4n6frYaZpMHJsf4aN6uu+xGxb\nBvk55eTnlGPaXMTFOzFN6Vkruu6WGx8K2gFcDMMgUxcwddYwYmIjrY4jhKDzS8V+CCwCBgGbW93f\nDLzvw0w+13KJ2UjVn/QjeezZfoqzWYXkZ1cQlxBJbFwkhgxOIbog2L/0NTU52LvjFJctnmh1FCEE\nnRRvrfUXAJRSa7TWP+u9SL3HbrcxYdoQxkxI4cN3tlKWDyWFVVRX1hOfGEV0bETQtqaE6ArDMDid\nUcyU1BoSk2OsjiNEyPNmhLU/KqW+AcQABmADRmqt7/Fpsl4UFm5nyKg4rrlhKkf2nWXfzkzKSmqo\nqqgnPimKqOhwKeIi5DmdLvbuyOTKZZOtjiJEyPPmWN+bwDTgbtwF/EYgKEduiIgMY+b8Udzx8AIW\nLB5PQlI0VeV1FOZWUl8nvW2F98orSnjhlZ/jcATXHPQ5p0soyq+88IJCCJ/ydpCWe4H3gLdwnwef\n7ctQVouOiWDeQsUdDy9g7uVjiYkLp6ykmqK8ShobguvDWPhGfFwS5RXFvPH+S1ZH6VEuYN8u6Xku\nhNW8Kd6lnv+eAKZqrSuAvr6L5D/iE6K4fOlEbn9gATPnjSIi0k5xQSUlhVU0yUAvohOmafLwvU+w\n/fN1HDiyy+o4PSovu5zsrBKrYwgR0rw5571RKfUa8B/AOqVUKtBwoZWUUibwNDDVs/yDWuuMVo/P\nBp7EfR49B7hHa93Y9V3wveR+sSy+cSpTZg5lz7ZTnNIFFOVVEhUdRkJSNKZM3CDaER+XyBfv+y5P\nv/h9vv/tZ0lO6m91pB5hGLB/dxaDhydLXxAhLHLBqqO1fgJYo7U+DdwJHAdWerHtm4BwrfUlwBrc\nhRoApZQBPAfcp7W+DNiAe9Yyv5YyJIllt87kprvmMGZCCk6ni4LcCmqqG3C5XFbHE35o/NhpLF60\niqdf+iFOZ/AcrSkprEIfCaixmoQIKhcs3kqpCGCSUupeYDLuw+hXe7HtS4GPALTWu4BZrTcLlADf\nUEp9CiRqrU90KblFDMNg2Ki+rFg9h8U3TqNv/ziqK+ooyq+kqVHOh4vzLVtyJzdec3dQTR1qGAZH\n9p3FIaMTCmEJb473rgW+hrujWsvPFV6sF8+/RmUDcHgOpYP7nPklwG9xfxG4SinlzTb9hs1mMnnm\nUG574FJSLxlNRGQYRflV7uFWndIKF/9imiZTJ821OkaPq6qo49Ce01bHECIkeXPOu4/WetpFbLsS\niGt129Rat3xNLwFOtrS2lVIf4W6Zdzq3Ylpa2kXE8N7Fbj8hBcanxnPycBllRTWUl1URHRtGWLjp\nt+cEK8orrI7QK0JlP8Gafd3x2WHqnUWEhffuUQVffxb4k1DZ11DZT+iZffW2w9piYEOr4uuNbcAN\nwGtKqXnAwVaPnQJilVKjPZ3YLgNeuNAGU1NTu/D0XZOWltbt7V9xtYPDe8+ye8tJykpqwGWS2CeG\nsDD/OlxaUV5BQqJfTsneo0JlP8G6fXW5XDjrE0id33tTHfTEv9VAESr7Gir7CV3f144KvTfF+wzw\nMYBSquU+l9b6QhXpLWCxUmqb5/YXlFJ3ALFa6+eVUg8Ar3o6r23TWq/1Iotfs9ttTJ8zgpGqPzs/\n1Zw4lEtRXiWRUXbiEqP9rogL61RWlRMfl2h1jG5zT1pSyOSZw4hPiLI6jhAhw5vi/TVghNb6TFc2\nrLV2AV9qe3erxzcBwXciEEhIjGbJ8mmMnzKYvTtOcSazhKK8SiKi7MQnRBEW7s3LLoKVw9HMj3/5\nFe66+TGmBcG5cIfDSdq2DK64ToZNFaK3eNNhLZt/DdQivGQYBsNH92P5nXO46c7ZjJ8yCJtpUpRf\n5R7kRXqmhyybzc79d/4nL77yM0rLCq2O0yOys0ooyC23OoYQIcObJmAucNhz+LtlEBWX1vp+38UK\nHqbpLuLDRvUlO6uEfTszyTpZRFF+JRGRYcQlRhEuLfGQ0/r67+987dfYbIH9HnABe3dkcs3K6X7b\nSVOIYOLNJ8YHnp/W5FqoLjIMg6Ej+zJkRB9yzpSyf2cWp9ILKfYU8YTkaOx2OSceSpYtuZNj6ft5\n96O/sGLZfVbH6bbC/Aoy0wsZpQZYHUWIoNfhYXOlVIrn103ARs9/W/+Ii2AYBkOG92HZrTO5+d65\nTEkdhs1mUphbSVVFnYzUFkJM0+Shu9ew7fN1VNcE/kxdhmFwaM9pGedAiF7QWcv7RWAZsJnzW9ou\nYJSvQoUCwzAYNDSZgUOSyNSFbN94goLccmqqG0hMjiEyKszqiKIXJCX25WfffRm7PTj+3mWltRzZ\nd5YpqcOsjiJEUOuweGutl3l+nam1/rcOa0qpEb4MFUoMw2DUuAEMGdGHfTsz2bvzFGXF1YRH2klM\nisFml0lPgl2wFG5w9/E4djCH8VMHy6WRQvhQh8VbKTUU92H1D5RS17V6KAz3OfDxPs4WUsIj7Mxd\nOJYxE1LYvukEGccLKMgtJz4xmpi4COkEJAJGXW0D+3ZmMueyMVZHESJodXbY/Ie4xzEfhPvQeYtm\n4H0fZgppffrHseyWVE4ey2PHJk1RfiU1VfUk9Y0lPCKweySL0GAYBieP5zNpxhBiYiOtjiNEUOrs\nsPkXAJRSa7TWP+u9SMI0DdSkQQwb1Ze07afY/3kWxQVVRHrmD7fJ/OFBy+Vysf/wDqZNmhvQs5A1\nNTbz+ZaTXHGtDNwihC94UwVeV0rdpZQylVLPKaV2K6Uu83kyQWRUOJdeNZ5b7pvP+CmDwAUFORVU\nV9VLr/Qg5XK5WLv+H6xd/w+ro3SLYRhkZ5aQnVlidRQhgpI3xfuPQBNwI+55uL8J/MKXocS/6z8w\ngRvvmMXSm6YxYFACNVUNFOZV0tggo7QFG9M0eeTe/2Lthn+SeSYgprjvkAvYsz1D5vwWwge8Kd6R\nWut/AtcDr2qtP8O7wV1EDzJNkwnThnDbA5cwb+FYoqPDKS6oorS4Gqd8OAaVPskDuPvWx3nmjz+m\noaHO6jjdUlFWy74dmVbHECLoeFO8m5VSN+Mu3u8rpW4CHL6NJToSHRPBZYsncPO98xg3eSAup4uC\nnApq5FB6UJmbeiWjR07k1TeetjpKtximwYkjuZSX1FgdRYig4k3xfgS4Dviy1joXuBV40KepxAUN\nGJzIjXfMZumK6fQbGE91ZQNFeZU01DdZHU30kLtveZyKylLq62utjtItDoeTXZ+ly5dLIXrQBYu3\n1vog8COgXikVBvy35z5hMZvNZOK0Idz+4KXMXTiWqOhwSouqKS6ooqlJDo4EuqioGL72xZ8QGRlt\ndZRuy88tRx/JszqGEEHjgsVbKXU78C7wG6APsE0pdbevgwnvRcdEcPmSCdx6/yVMTh2G3W5SlFdJ\nWUm1dBYSfsEwDA7uOU1DgxwZEqIneHPY/NvApUCl1jofmAl8x6epxEXplxLPdatmsPzO2YwePwCn\nw0VBTjmV5XUyWYSwXG1NA7u3nLQ6hhBBwZvi7dBan5vySGudh3RY81uG4Z4/fOXdc7l21QwGD0um\nob6Jghz3pCdy3lFYxTAMMnURednlVkcRIuB5U7yPKKUeA8KVUtOVUs8B+32cS3STzWYyfspgbnvg\nUq68bjJ9+sVRXVFPQW4FjQ0OKeIBqKGxnvfX/RWnM3BPhbhwsWfrSTkSJEQ3eVO8vwwMBuqAl4BK\n4FFfhhI9JzzCzox5I7nj4QXMv0IRFx9FXU0zBbkV1NZISzyQhNnDOHB4J+s+fcPqKN1SUlzNwT2n\nrY4hREC74GArWutqYE0vZBE+FBMbwYKrxzMldRhr39lGeaGLqop6KsvriE+IIiomXGYu83OmaePB\nu9fwo188ytSJcxiUMtzqSBfFNA2OHchm9PgBxMVHWR1HiIAkM1yEmISkaMZOSebORy7j0ivHkZAY\nTXVlvQz0EiAG9BvMyuvv57mX/5dmR+AOj9vU5GDX5nSrYwgRsKR4h6j4hCguuXIcdz1yGQuuHk9i\nnxhqqhrIzy6XiU/83BULbiQ2Jp73P/6r1VG6JfdMKRm6wOoYQgQkb67z/pZSKqU3wojeFxsfybxF\nirseuYzLl06gT79Yaqvco7U1N8tFBf7IMAzuX/0tGhrqAvtLlmGwd/sp6mobrU4iRMDxpuUdBWxW\nSn2olLrFM8qaCDIxsRHMuWwsdz1yObMWjCE8wk5hbqV8sPqp5MR+3LbiiwHfT6G2poGt648H9pcQ\nISzgzfCoPwDGAz8FrgAOKKV+p5Sa7utwovdFxYSzcOkErlk5nb79YykvqaGspAaXXNojfMAwDHLP\nlnJ0f7bVUYQIKN6e844CRgKjASdQCjyllPqZr4IJ6xiGgZo0iFX3zmfsxIE0NzoozK+Q8dKFTxiG\nwcHdpyktqbY6ihABw5tz3n8FTgGLgB9prSdrrf8HWAI87Nt4wkpJfWK48fZZXHLVOKKiwinKq6Cm\nusHqWCIINTU72Lb+REAPQCNEb/Km5b0BGKO1vl9rvRVAKRWutW4AJvk0nbCcPczG/EWK62+bxYDB\niVSV11FaVCUjZPmZwuIc3vvoL1bH6JbSoip2b82wOoYQAcGb4v2QZ6AWAJRSNiANzo1zLkLAiDH9\nuOXeeUyYNhinEwpzK6ivkxmi/EVcbCKbtr7HoWO7rY5y0QzTIP1IHtmnS6yOIoTf67B4K6U2KaWc\nwFyllLPlB6gHTvRaQuE3YuOjuO7mmSxcOoHY+EjKiqspyq+ksTFwBwsJFlGRMdx/13/y0l//j9q6\nwD137HS52LU5XaYOFeICOizeWusrtNYm8FuttdnqJ0xrfXMvZhR+xGYzSb1kNLfefwnT544gPNxO\ncX4VJUVVNEuHNktNnjCLaZPm8rc3nrY6SrdUV9WzbYO0D4ToTGct7+s9v+5VSt3T9qeX8gk/1bd/\nHEuWT2PVvXOZOG0wpmFSmFdBWUkNDod0OrLKbSu+xFG9l/2Hd1gd5aIZhsHZzGJOHM6xOooQfquz\niUlmA+/jvra7de8kw3P7zz7MJQKAYRgMGprM9bclcTqjiN1bTpJzpoyCnHJi46OIjY/ENAN7EJFA\nExUZzUN3r6GmtsrqKN1iGAZ7d2aRMiSJhMRoq+MI4Xc6LN5a6+95/ntfr6URAck0DUaO7c+wUX1J\nP5rH7q0ZFOVVUFBZT0JyNNGxEVZHDCnjxwbH+ElNjc1sW3+ca1bOkC+BQrTRYfFWSmV2sp5Laz3K\nB3lEALPZTMZPGczocQM4eiCbtG2nKCqspK6ukaQ+MZimzIMjuqYov4q9O08x65LRVkcRwq90dtj8\nik4ek4t8RYfCwu1Mmz2CkWoAW9YdRR/JoyCnguR+sUREytD4wnuGCccP5jBwcCKDh/exOo4QfqOz\nptBkrXUWsBC4vNXPQs+PEJ2KT4ji2lUzuHLZZBKSoikprKairFYmoRBd4nS62LFJyyQ5QrTSWfGe\n7fnvFW1+FtF5q1yIc0zTZNrsEay6Zx6jVH8a6psozK2UcdJ70bZd69i991OrY3RLTU0Dn318VEb2\nE8LD6w5rSql4oElrXdc70UQw6ZcSz4rVc/h8y0n27sykKK+S+KQoYmIjAn5aS3+X0n8ITz37BGrM\nVBLik62Oc1EMwyA/t5z9uzIh3Oo0QljPm4lJJiqlPgcygWyl1FallPQeEV0WFm7n0qvGc+Ptsxg4\nJJHqinpKCqvkunAfGz1yIgvmX8vLf/9VQJ+yMAyDoweyKSuqtzqKEJbzpvvv88D3tdZ9tNZ9gCeB\nF30bSwSz4aP7cfN985k2ZzimaVKYW0FDvQyH6UsrrruP/MKz7Ni93uoo3eJ0ujh5tEzOf4uQ503x\njtJaf9hyQ2v9FpDgu0giFMTERrD4xmlcfcNUEpLdndkqy+sCumXoz8LCwnn4nv/ib28+TVl5sdVx\nuqWxzsFn6+T8twhtnV3nnYx7NLW9SqmvAy8ADuAu4LPeiSeCmWkaTJ45lP4D41n/3iFyTpfSUN9E\ncr9YbDa5JrynjRimuG3FF2l2BPZRDsMwyM92n/+eOV+GmxChqbPrvPfyr+u5rwIe9/zeMjzqV32Y\nS4SQ/gMTWHn3XLauP8bhvWcpzJVrwn1lwdylVkfoEYbpPv/df1ACQ+T6bxGCOuttPqIXc4gQFxkV\nxpXLppAyOImt649RWlhNbEIksfGR0htdtKvl+u9lt6QSHSNd0EVo6azlDYBSajzwKBCDu9VtB0Zo\nrS/3cTYRYs4/jF5CQ30TSX3lMLpoX21NA1vWHWXx8mky/rkIKd58Iv4DKANmAPuB/sBaX4YSoc19\nGH0O0+eOlN7oolOGYZCfU87eHaesjiJEr/KmeJueAVs+xn0efDkQHCfOhN+KjArnquuncPUNU84N\nrVpTJdf39rQXXvk5+QVnrY7RLYZpcPxgNvpIntVRhOg13hTvGqVUBKCBVK11A9DXt7GEaDmMPoyb\n7pzNoKFJVFbUUVZSI5eT9aDhQ8fy3Cs/xekM7OFqnS7YvfUkZzNLrI4iRK/wpnj/BXjf8/O4Uuoj\nINenqYRoJWVIEitWz0FNHEhTYzPF+VU4ZVS2HnHV5TcRERbJ2vX/sDpKtzkcTrZtOE5RfoXVUYTw\nuQsWb63174CVWusi3LOJPQusuNB6SilTKfWMUmq7UmpTR0OqKqWeU0r9tKvBRWiJS4ji+ltTmTlv\nFDa7SWFeJU2NzVbHCnimafLA6m+xdsM/OJsT+OeNGxub2fzRUSrKa62OIoRPeTO2eRhwt1LqDdxD\no/YBvPmXcRMQrrW+BFjjWbftth8BJiPzgwsvhIXbWXTtJBZdO4mYuAiK8qtkmMwe0LdPCrcsf5jn\nX/kpzc2B3zGwtraRTR8cpr4u8PdFiI54c9j8d7jn8f4T8CpwHfArL9a7FPgIQGu9C5jV+kGl1CXA\nHNwtebnGQ3jFNA2mzxnBsltS6TcgjrKSGhlWtQdcPv86rl640uoYPaaivJb17x2kuTmwz+UL0RFv\nivd8rfXtWuv3tNbvADcDV3uxXjxQ2eq2QyllAiilBgL/A3wFKdziIowY048Vq+cyYnRf6moaKC2q\nlrGuu8EwDC6ffy12e3CMamcYBiVFVXy69oi8L0RQuuAgLUC+Umq41vq053YKUOjFepVAXKvbpta6\npZfRzbh7rH/o2V60UuqY1vrPnW0wLS3Ni6e9eL7evj8Jln0dPjGcuoZw8s7UUHu6jpj4cGy2f30f\nrCgPnc5Lsq/tLHeggqKSAsZOTgrYkfqC5d/qhYTKfkLP7GtnE5O85/k1GTiolNoANAOLgCNebHsb\ncAPwmlJqHnCw5QGt9W+B33qe515g/IUKN0BqaqoXT3tx0tLSfLp9fxJs+zpnrpNdm9NJ236K2poG\nkvrGEBkVRkV5BQmJoTEBnuxrxxprXNCYROol7faZ9WvB9m+1I6Gyn9D1fe2o0HfW8m7bwazl2NPT\neNfB7C1gsVJqm+f2F5RSdwCxWuvnO9i2EF1ms5lccuU4+g6I49O1RyktqiYuIVLOg3eTy+UK2NZq\na4ZhcHR/NjExEUyYNsTqOEL0iM4mJvm05Xel1HW4ZxazAxs95747pbV2AV9qe3c7y73sbVghOqMm\nDSKpTyzr3jlAzulSHM4m4hNcMub1Raivr+X//fabfP1LPyUuNtHqOD0ibccpwiPsjB6fYnUUIbrN\nm0vFvgV8DzgNZAJPKKWe8HUwIS5Gv5R4Vqyew+SZQ3G5oCivguYm6XHcVZGR0ajRU/njq08GzREM\np9PFzs3pnM7wpsuOEP7Nm97mdwOLtNa/0Vr/Gvc577t9mkqIboiOiWDpiumMnZxIZHQ4RXmV1NfJ\n9eBdteqGBygszmXLzo+sjtJjHA4n2zdosrNkGFUR2Lwp3gbQekaIekBGPxB+zWYzGTUxietWzSC5\nfyxlRXI9eFeFhYXzyL1P8M+3n6GwOHhGRG5qdrDlk2PkZZdZHUWIi+ZN8d4IvK6UukEpdSPwmuc+\nIfze6PEprFg9l+Fj3NeDlxTKuOhdMXTwKK5fuprnXv7foPri09Tk4LOPj1GYFzqX14ng4k3x/iqw\nAbgHuBd34f6mL0MJ0ZP69o/jprvmMGXWcAzDoEDmB++SJYtWcduKLwZFz/PWGhqa+HTtEUqLqqyO\nIkSXeTNIy8da6yW4LxETIiBFRoWzZPk0Bg1JYvumE5QWVRMTG0FcYlTQFaWeZpomY0dNtjqGT9TX\nN7Hhg8MsWT6VhKQYq+MI4TVvWt5RSqlhPk8ihI+ZpsHU2cNZefdcho/pR319E4V5ldIbPcTV1Tay\n/r3DVFXWWR1FCK95U7z7AVlKqXylVKbnJ/DnDhQhq//ABFaunsucBWOIiLRTmFdJbU2D1bGEhWqq\n6/nk3UPyPhABw5vD5td4/tvSW0WOMYqAFx5h57IlExg8PJnNHx2lqKCS+tomEvvEyKAuXmhoqCMi\nIsrqGD2qqqKWde8cYOlN04mKDrc6jhCd8qblnQuswD016K+BxbgHbBEioBmGwejxKay6bx4Tpg7G\n6XRRmFtBY0Oz1dH8WmlZIWt+eA9l5cVWR+lRhmFQUVbLunf2yzzxwu95U7xfAOYDzwEvA9fiLuJC\nBIWExGiW3ZrK5UsnEBMXSXFBFTXVcvi0I8lJ/Vl46fU8+/JPcDqDq7+AYRiUl9by8dtSwIV/86Z4\nzwFu88zn/Tbu6TyX+DaWEL3LZjOZdclobrprNgOHJFJZVkt5aU1QXdvck268ZjUA7370F4uT9LyW\nFrgUcOHPvCne2cCoVrf74z6ULkTQGTwsmRWr5zB63AAa65vdg7o4ZVCXtkzTxiP3PsHGLe9wPH2/\n1XF63LlD6G8fkAIu/JI3xRvggFLqbaXU67jn8u6nlFqrlPrQh9mEsER8YjQ33D6LqbPdg7rI5WTt\nS0rsy0N3r+Gvr/8uKI9QGIZBeVkNH7+9X3qhC7/jTW/zH7e5/btWvwffv1ghgIjIMK6+YQoJSdF8\n/tlJivIqSe4fS0RkmNXR/MqUiXMYO2py0A5007oFvuSmqUTHRFodSQjAi+Ldel5vIUKJaZrMvXws\nickxfLr2CCWF1SQkRxMTG2F1NL8SGRltdQSfMgyDivJaPn77IEuWTyUmVgq4sJ63h82FCFnjJg9i\n+R2zpCNbCDMMg8ryWta9c5Ca6voLryCEj0nxFsILKUOS3B3ZxqfQIB3ZQtK5Av72QcpLa6yOI0Kc\nFG8hvBSfGM2Nt89imnRk65DT6WTP/s+C9siEYRhUVdax9s19HDuYY3UcEcKkeAvRBeERdq6+YQqX\nXjWOqOhwivIrZXrRVhyOZt796BU2bnnX6ig+1dToYPeWk2z44JD8/YUlpHgL0UWmaTLnsrEsvWka\nickxlBRWU1Ml50EBwsLCefT+7/HWBy9x+my61XF8y4DsrBLe+3sa2VklVqcRIUaKtxAXSU3ydGQb\nmkhleR3lJdKRDSCl/xDuuvkxfv/i96mprbI6jk8ZhkFtbQObPjzCzs0ah0P6QYjeIcVbiG5wd2Sb\ny5gJKTQ2NFNcIB3ZAObPvpqpE+fy7J+Cb/zz9rhwceJQLh++vo/Skmqr44gQIMVbiG6KT4jihttm\nMX3uCExTOrK1uH3VowzoP5i6+lqro/QKwzQoK6nm4zf2c2T/WTkKI3xKircQPSA8ws6Vy6aw4Orx\nREtHNgDsNjt33fwYMdFxVkfpVU3NDvZsy2D9uweplr4QwkekeAvRQ0zTYPaCMVyzcjpJfdwd2aor\n66UFFoIMwyA3u4wP/pHGsYM58h4QPU6KtxA9bMyEgSy/YzZDRiRTXVlPaVE1Tqd8eIcawzBoaGzm\n889OSitc9Dgp3kL4wIDBiaxcPZfJM4fickFhXgVNjXIe3Ol0hFyHPsNEWuGix0nxFsJHomMjWLpi\nOpctHk9MTARF+RUhP7Xkmx/8kbc++KPVMXrduVb4FmmFi54hxVsIH7LZTGYvGMOyW1PpPzCBitJa\nykL4evAli1axddfH7Nm/xeooljAMaYWLniHFW4heMGJMP1bdO4+xEwfS3NhMUV4lzc2hdxg9Pi6J\nxx/6IX/625Pk5GVZHccS/2qFp7PunQOUl8kkJ6LrpHgL0UsSEqO54fZZzLlsLOERdopyK6mvC73L\nyUYOH89tNz3CU8/9d9CPwNYZwzAoyK3gw9f3sXfHqZDrCyC6R4q3EL0oLMzGgsXjWbpiOkl9Yykt\nqqaqoi7kDp9eNv9apkyYzccbX7M6iuWamxwcTDvDe/9II/dsqdVxRICwWx1AiFBjGAbjJg+iT79Y\n1r1zkOysEpqbHSQmx2AYhtXxes0dq74MIfalpSOmaVBRVsuG9w4xfEw/5l4+lojIMKtjCT8mLW8h\nLNJ3QDzL75yNmjSQpgYHJYVVIXU9uN1mx26XAtWaC8hML+Tdv+9BH8kNuSMywntSvIWwUExsBNfd\nMpOps4djYFCUX4GjWc59hjLDMKirbWTHpnSO7CmWDm2iXVK8hbBYeLidq66fwtyFY4mICPMM6NJs\ndSxhMcOEytJGPnxtLwc+zwqpozLiwqR4C+EHbDaT+VcorrhuMrHxkRTlV4VcT3SXy8XvX/wB2bmn\nrI7iV5qbnez/PIu1b+yjuDB0e+eLfyfFWwg/YRgGU1KHcd3NM0nu5+6JXlMdOiOyGYbBzKmX8uTT\naygtL7I6jl8xTIOSoio+fms/u7eexOGQUyuhToq3EH5m5Nj+LL9jNgOHJFJZVktlWW3IdFyaP/tq\nrrp8Ob98eg11dXKuty2Hw8nR/dm8/8808nPKrY4jLCTFWwg/NGBQAjetnsPIsf2prW2ktLg6ZAr4\nssV3MnbUZH77wvdodsi5/7YMz2Vl6989yPaNJ0JypD4hxVsIv5WQGM2Nd8xi4rQhOB0uivIqQ+Jw\nqWEYrL7lMcLCwtm05V2r4/gtp8tF+rE83v3bHk5nyGmGUCODtAjhxyKjwrlm5XTiEqLYtzOTorxK\n+kGtvBkAACAASURBVAyIIyzMZnU0n7LZ7Hz5/u9ht8tHVGcMw6C6qp7Na4/Qf0gi02ePIGVwotWx\nRC+QlrcQfs5ut3HZ4gksumYi0bERFOVV0lAf/D3Rw8MjMM3g/pLSY0yDwtwK1r1zgA3vHaJEeqUH\nPflaK0QAME2D6XNHEpcQxYb3D1FSWE1CcjQxsRFWRxN+JudsKbnZpQwd2ZeZ80cRnxBldSThA1K8\nhQggo8enEBMXycdv7Sc/p5zmJgfxiaHz4Swd2LzjcsGZU8VkZ5UwYkw/Zs4fRXSMfNELJnLYXIgA\nkzI40d0TXfWnvraR0qLQ6Yn+7J9+wmc7P7A6RsBwOl1knCjgnb/uZuenmtqa0Bk3INhJ8RYiACUk\nRnPj7bOZNGMoTqeLqvLGkOiJfuvyh9mw5S3phd4FhmHQ1OzgxJFc3vrL52z++CglRXJOPNBJ8RYi\nQEVGhbF0xXTmLBiDzW5SlFdJc1NwX/Pbr+9AvnL/j3j347/w6bb3rY4TUAzDwOFwcjqjiA9e28sn\n7xwgO7MkZI7aBBs55y1EALPZTBYsHk9xWT45GQ0U5VfSp38c4RHB+0+7X5+BfPvxX/Kzp76Gadq4\nfP61VkcKSHk55eRml9GnXxxjJ6QwdtJATFPac4FC/lJCBDjDMBg2Jp4ly6eSkBRNcUEVdbWNVsfy\nqZT+Q/j2478kJy9TWo7dYBgGpcXV/P/27jwuymp/4PjnmQ2GfUdQVEAfcU/FLcs2Ne1aWZnrxavW\n7dYt7/WW6dVupqW2e1vMtLLM289Ku1m3sk0tNSMVxbXwQUFAQHaGYZ/t98cAgYArODBz3q8XCvOc\neeZ75szMmXOe5/meX3Ym89kH+zn4S4pY0a6daLWv57Isq4DVQD+gCrhfUZRT9bZPBf4OmIGjwF8V\nRRHvQkG4THLvcPQeOr777DD5OUas/lY8vd0dHVarCQvtzNS7/+roMJyCpJIoLa3k6IF0ThzNIiIy\nkN4DIvAP9HJ0aEIzWnPkPQHQKYpyLfBP4OXaDbIs64FngBsVRbkO8AXGt2IsguASIiKDuGPqYMI6\n+1NSXEFJcYUYmQoXTZIkTCYLKUouX3x8gO8/P0xqcq54DbVBrdl5jwC+AVAUZS8QW29bJTBcUZTK\nmr81QEUrxiIILiO4gw93ThtM124hlJdWUVRQJj58hcuSnVnMru9+5X8f7ufwvtOYnPyEyPakNTtv\nH6Ck3t+Wmql0FEWxKYqSByDL8hzAU1GUba0YiyC4FPulZLH06BOOudpCQa4Rq9X5O/CyciOfbX0f\ni0jm0mIkScJQXMGh/af574Zf2LPjBEUFpY4Oy+VJrbVjWZZfBn5RFGVzzd8ZiqJE1NuuAl4AugFT\n6o3Cm5SQkOD8nzyC0MIsZitJhwo5k2LEZrXh5atDpWq1t73DVVaVs27j82g1OmZOnodOJ7KKtRaf\nAB3BYR6EdPRAkpz3NdUWxMbGNnqCW/N6kj3A7cBmWZaHAUfO2b4W+/T5XRd7otqgQYNaNsJ6Dhw4\n0Kr7b0tcpa6uUk84f10HxVqJ/0HhwM+nqCo3ExTqhaYdr0pmKDbg6+fb5DZffJk/50Xe+eB51mxY\nyj8eXIGXV9Nl24Pz1dXhrJCXYaXCYCYiMojeAyIuO9e+eK+ev3xTWnPafAtQKcvyHuwnq/1DluWp\nsiz/WZblAcBsoA+wQ5blH2RZntCKsQiCy1KrVYy4pQfXj+6J3lNH3tkSqqucd1pZo9HywIxFyNF9\nWbZyDvkFZx0dktOSVBJlpVX8duQMn/5nL9u/PEp6Sp44x+IqaLWRd81o+qFzb673e/v96i8I7Ywk\nSfbFKbzc+GHrMfJzSggI9sJdr3N0aK1CpVIx+a4H8fcLYlf8Vu4eP9vRITk1SZKw2Wxkphdy5nQB\nfgGeREQG0uuaTk77GnM0503DJAhCIzF9O9qvBf/8cM2yojanXlZ0zE0THR2Cy5FUEobicooPlvHb\n4UzCOvkRGRNKl6hgpz7f4moTnbcguJgu0cHcOXUwX/83kbOZxVgtVrx83MVJR0KLkiQJi9XKmfRC\n0k8X4OOjp2PXAHr174S3WGP8ion0qILggkLCfLlz2mC6RAdRZqyiuFBcCy60HlVNBreko5l8tnEf\n339+mORfs11iJbzWIjpvQXBRfgGe3DFlMHLvMKqrLBTklmJzgWvByytKee2tJ8WJbA5gPzZuT/6y\nZ0cS/92wlz3bkzAWiXXGL5XovAXBhXl4uXHbxIH0HdQZm81G3tkSrE4+GtK7eyJH9+XpFx/i6G/7\nHR2Oy1KpVFRWVHPqRA5H9ubxxccJHIxPcfpFdVqKOOYtCC5O56Zh9B398PDQcfCXVHLPlhAU4t2u\nrwU/H0mSGHvLJLp2lnnzvWe4ZeQExo+ZLpbDdCBJkigqKKMwv5RfD52hQyc/unYLIVIOQa0W7dIU\n8awIglCzLnhPrhsdg97Dfi14VaXJ0WG1qpju1/DU/DUcPvYLr731JFaryNvtaJIkYbXZyMoo4qft\nv/HfDXvZ/f1vpJ3Kw2p17hmhSyVG3oIgAPaTimKvjcbbR88PW49RkGvEL9ATD0/nvZQswC+YhXNf\n4civ+1CpnHOmob2qnVZPTc7lVFIOHp46QsJ9iegaSNfuYkQuOm9BEBro0SccLx93vvvsMLnZBswm\nK96+znspmUajZWC/EY4OQzgPlVqistJEeko+p0/msv+nU4SE+RLe2Z/omA5onfQQz/mIzlsQhEY6\ndg5gwvQhfLslkfSUAswmC/5Bnk7bgQvth0qlorrazJm0AtJT8zkYn0pomA/hXQLo1jPMZTpy1553\nEAShWf6Bntw5dQg9+3fEYraS7wJnotennDrKnn3fievf2zCVSsJstpCZUcS+XSfZ/N7PbP/yKCeO\nZmI2O/c5DGLkLQhCs/SeOsbdPQBvXz2H9p4mN7uEoFDnPRO9Pnc3PVu//5CEQ7uYOeVRfH0CHB2S\ncB6SSsJstpKZXkjG6QIO/pJKaLgfEZGBRPUIdbpj5M5VG0EQWpxGq2bkmF5cP6YnHp6ucSY6QOdO\n3Vgyfy1hoZ15csV97D/4o6NDEi6SSiVhMlk4k1bAnh0n2PxePDu2HuN4YgYV5c6REEaMvAVBuCCV\nSmLQ8Ch8fPXs+OoYBbml+Pjp8fR2c+rj4Fqtjkl3PsDAfiN4e8NznDh5hD9O+pujwxIugUol2Y+R\nny4gIzWfg/Ep+Ad5ERzqQ6fIQMI6+bfLBVNE5y0IwkXr3isMbx93vv/iKNkZRVRVmvAP8mqXH36X\noltkb55Z+A7ZOemODkW4ApIkYQMK80spzC/ltyOZeHjqCAr1JqSDL5E9QtvNKnui8xYE4ZJ06OTP\nPXFD+eHr4yjHssjNNhAY7IVW59wfJzqdG10iujs6DKEF1V6Cdibt9+PkvgEeBAZ7ExruS9duwW32\ndd02oxIEoU3z8HJj7N3XEBLmw75dJ8k7a8Qv0MOpE7o0x2w2UVVdiaeHt6NDEa5A7eEfQ1E5hqJy\nTiadZe+uZPwDvQgK8SYswp+OXQLazIlvovMWBOGyqNUqBl/XjZAwX3Z8dYzcbANVlSb8AlzrevCk\n5MOsfX85d4+fzQ3X3iYytTkJlUrCarVRkGekIM/Ib0cycXPXEBjsjX+QJ+ER/nTo5O+wzlx03oIg\nXJEu0cHcPWMoO748SsqJXPKySwgI8UKjcY1OrE/PWOY9/AIfbH6dH376H3+cOAe5Wz9HhyW0MJXa\nfgb72axizmYVczzxDG7uGvwCPQkI8iaskx/hnf2v2uu+bYz/26nq6mrmz5/PlClT+OMf/0hSUhIA\nv/76KyNHjiQuLo64uDi+/vprABYvXszkyZP57LPPADAajTz++OPN7j8hIYHZs2cTFxfHxIkT2bhx\nIwBnzpxh8uTJrVw7Qbh4vn4ejJ8cy9AbuqNz15CXXUJlhess7dglojuL/vEqt42awpvvPcOb7z1D\nVXWlo8MSWlFtZ553toQTxzLZ8dVRNq37ma//m8gvOxWSf82msqL1LqkUI+8rsHnzZtzd3fnoo49I\nTU3lscce49NPP+X48ePMmjWLWbNm1ZUtKiqioKCAjz/+mLi4OCZMmMDatWv5y1/+0uS+MzIyWL58\nOevWrSMgIICqqipmzJhB586d6dq161WqoSBcPK1WzYhbehAS5sPOb36lMK8UD28zPn56l5hGlySJ\nYbG3MKDvtcQnbEendb3j/65MpVZhtljJyykhL6cEqzULleoE3r4e+Ad44hvgQVhHP6zWlsnY5zSd\n94GfU0g7lXfZ98/Pzyft170NbusSHcyga6Oavc/JkycZOXIkAJGRkeTk5GA0Gjl27BinT59m+/bt\ndOnShUWLFuHm5obFYqGqqgo3NzcyMjKorKykW7duTe77888/Z8KECQQE2LM6ubm5sW7dOjw8PMjK\nyrrsegpCa5IkCbl3OIHB3mz/6ijpKfnkZZsICPZyiaxsAG5uem4cMd7RYQgOVnv5pNFQgdFQAalw\naN9pKiqM5KUl4hegJzTcl87RIZeVj11Mm1+Bnj178sMPPwBw6NAhCgsLKS8vp3///ixYsIAPPviA\niIgIVq1ahYeHBzfddBMLFizgkUceYc2aNcyYMYNly5bx7LPPUlFR0WDfubm5dOrUqcFtXl5eqFSi\nyYS2LzDEmwnThzDkevs0em52CeVlzpHZ6kocOvozRcX5jg5DcBC1WoXFDPm5JZxMymH3thNsetc+\n1b7/p5Nknym66JG504y8B10bdd5R8oUcOHCAQYMGXdJ97rnnHk6dOsW0adMYOHAgXbt2xd/fn9Gj\nR+Ptbb9sZNSoUSxbtgyAyZMnM3nyZA4ePEhERATx8fEMHjwYgC+//JJ77723bt8dO3bk7NmzDR4v\nKSkJm81Wt29BaMt0Og3Xj46hY2d/fvzmOPk5RqoqTPgGeDp9UpfmpKQl8daGZ7l2yBjGj5mGn2+g\no0MSHEilkrDUm2o/figDDw83gkK8CQz1JlIOaf6+VzFOp3PkyBGGDRvGxo0bufXWWwkODkan03H/\n/fdz5MgRAOLj4+nTp0+D+61fv55Zs2ZRUVGBWm2fLikrK2tQZvz48WzevJnCwsK67U899RR5eZd/\naEAQrjZJkoiO6cDEPw2nR59wLGYrudkGTNVmR4fmEHePn82Kf61HkiQWLZvJfza9ytmcDEeHJbQR\nKpXKnjQmvZBD+06zdXNis2WdZuTtCJGRkfzjH/9g7dq16HS6uhH20qVLWbp0KRqNhpCQEJ5++um6\n+2zdupWbb74ZNzc3xo0bx9y5c1Gr1axcubLBvjt27Mjjjz/OnDlzUKlUlJWVMWnSJEaOHMmZM2dc\n4gQgwXn4+nswfvIgDsansH/3KfLOGvH11+Ph5dy50Zvi5xvI9ImP8IfRU9m2cwtfbfuQ+6bPd3RY\nQhsjSdJ5Z6jazbsmISHBdqnT2pficqbN2ytXqaur1BPaV10zUvPZ8dUxcrIMaHVq/AM9UV1CogtD\nsQFfP99WjLDtcJW6uko94dLq6u6uJbq/G7GxsY36ajFtLgjCVRURGcTEmcPpMzACSZLIyTJQUeY6\n14RfrJ/3fU9BYY6jwxDaKDFtLgjCVedZkxu9S3QwP/9wgsL8MsrLqvAL9GwzuaMdLTP7NB9sfo3u\n0X25fthY+vcehlarc3RYQhsh3iWCIDiESqWi94AIJs2+lr41o/DcLAPlpVXYbC2TyKI9u/fOP7Pk\n8XeI7X893//4KXOfmMjHn611dFhCGyFG3oIgOJSvnwdj7x5ApBzKz9uTKMgrpbysCv9AL9Qa1x5f\nuOncuX74OK4fPo68gmwyMlMcHZLQRojOWxAEh1OpJHr260inLgHs2XGCE0czyc0y4BPggYenzuXO\nSG9KcGAYwYFhTW7LycvEy9NHLEvqQkTnLQhCm+Htq2fMnf2JkkPYs/0EeTkllJdW4R/o6TLpVS/H\nLwnb2brtI7pF9mZQ/+sY2O86kQDGybn2nJRwXh9//DFm88Ul09i9ezebNm1q5YgEV6BS2fOjT5o1\nnAFDI9Fq1eRml2AoLMdqtTo6vDbpznEzeHX5J9x47R84cfIIC5/5E8+8/Ig4W92JiZG30Ky1a9dy\n1113XVTZ66+/vpWjEVyNp7c7o27vS/deYfyyUyE7vYicTANqjRWbr01MpZ/D3d2DwQNvZPDAGzGZ\nqvlNScTXJ8DRYQmtRHTeV6C0tJR//etfGI1GcnNzmTZtGmPHjmX69Ols3boVgKeffpprr72WiIgI\nli9fjs1mw9/fnxUrVnD8+HFeeukldDodkyZNws3NjY0bN2I2m5EkiVWrVuHn58fSpUs5fvw4QUFB\nnDlzhjVr1qBSqVi8eDGVlZW4u7vzzDPP0KFDh7rYPv30U3bv3k1RURFFRUXMmTOHUaNGsWfPHlas\nWEFAQAB+fn6sWLECk8nE3LlzsdlsVFdXs3TpUo4ePUp+fj6PPvooq1at4uWXX+bAgQNYrVZmzpzJ\n2LFjiYuLIzAwEIPBwB/+8AfS0tJ47LHHePfdd9m6dSsajYbY2FjmzZvH66+/TmJiIuXl5Sxfvpzo\n6GhHNZvQjkiSRNduwXTqGsBvhzNrFm8oICfLgF+AJ+56raNDbJO0Wh39eg9tcluJsYj3P/o3fWJi\n6dNzMMFBTR9HF9o20XlfgfT0dP7whz8wevRocnJymDFjBlOnTqVHjx4kJCTQr18/9u3bxxNPPMHU\nqVN59tlniY6O5pNPPuHtt99mxIgRVFdXs3nzZsA+0n3rrbdwd3dn8eLF/PTTT+j1egwGQ12e81tv\nvRWA559/nri4OEaOHEl8fDwvvfQSL730Ul1skiRhtVpZv349eXl5TJ48mRtvvJHFixezcOFCRo0a\nxYYNG1i9ejXDhg3D39+fF154gZMnT1JeXs69997Lm2++ycqVK9m5cyeZmZls3LiRqqoqJk+ezIgR\nIwB7DvZRo0axZcsWAE6cOME333zDxx9/jFqtZs6cOfz4449IkkS3bt1YtGjRVW4lwRloNGr6DupM\ndEwo/9u8i8KzVoryS9Hq1PgFiOPhl0KndWNg/+s49lsCW756D3d3D/r0HMyg/tfTO6Z9ZOkTROd9\nRQIDA3n//ff57rvv8PLywmQyATBp0iS2bNlCXl4et9xyC2q1mlOnTrFkyRIAzGYzXbt2Bez50WsF\nBASwYMECPDw8SE1NZcCAAaSkpHDNNdfUbY+Ksq+clpyczNq1a3n77bcB0Gobj0CGDx8OQHBwMN7e\n3uTn5+Pl5YW/vz8AsbGx/Pvf/2b+/PmcPn2av/71r2g0Gh566KEG+1EUhePHjxMXFweAxWIhMzOz\nUfwAqamp9O/fv27BlUGDBpGcnAxQV2dBuFwenm507xtA19tk9u5K5uRvZ8nNLsHTyw1vX/dLSrPq\nqtzdPRgxZAwjhozBZrORkZXC8d8SyMw+LTrvdkR03lfgvffe45prrmHq1Kn88ssv7Ny5E4Bhw4bx\n4osvkpOTw1NPPQVAVFQUL774Ih06dGD//v0UFxcD1K3PbTQaef3119m5cydWq5XZs2djs9mQZZnP\nP/+cP/3pTxgMBk6fPl23v9mzZzNgwAAUReHw4cON4jt69ChTpkwhPz+fyspKQkJCKC0trXvsffv2\nERkZyd69ewkODmbdunUkJiaycuVKNmzYgEqlwmq1Eh0dzdChQ3n66acxm82sWbOGiIiIBvHXioqK\n4r333sNisaBSqUhISGDChAkkJSWJtciFFhMY4s24ewaQdirffjw8o4izmcV4ervj5eMusrRdJEmS\n6Nwxms4dmz+M9eOeL0k+dZTu0X2Ro/sSFtpZnG/QBojO+wrcdNNNLFu2jG3bttGtWzc8PT0xmUxo\ntVpuvfVW4uPj6zq5JUuW8Pjjj9d1asuXLycnJ6fuTeDt7c3AgQOZPHkyAQEBdO3alby8PO6++252\n7drFlClTCA4Oxt3dHa1Wy/z581myZAnV1dVUVlbyr3/9q1F8aWlpzJw5k9LSUpYsWYJKpWLZsmUs\nX76cd955B19fX5577jkAHn30UT788EMsFguPPPIIYB+ZP/DAA2zYsIF9+/Yxffp0ysvLGT16NJ6e\nno0eT5IkZFlm3LhxTJ06FavVSmxsLKNGjSIpKUm84YUWVf94uHIsm8S9qeRmG8jJLEbvaR+JazRi\nOv1K9eoxEKvVQlLyIb745j9UVlUQ1aUnd4yLo3tUnwvvQGgV7ebT1FVXFUtJSSEpKYnbbruNoqIi\nbr/9dn744Ycmp8nr27JlC0VFRcyePbvRtrZa15bmKvUEUVcAs9nCqaQcEvemcvZMMZUV1bh76PDx\n1bfbY+JtcbWtwqJcUtNPENExmpCg8Ebb0zKS8fUJuKTrzNtiPVtLS60qJkbebVxYWBgvvfQS77//\nPhaLhXnz5l2w464lRrqCK9Fo1PToE063nh04nZxL4t7TZKYVkJttwE2vxcdXj1YnPvKuVIB/CAH+\nIc1u3777cxISd6JWa+gUHlnzE8XgATfgofe6ipE6N6d6JS9ZsoSlS5c2uv2pp56qO1nsSso7gl6v\nZ/Xq1Zd8v4u9PlsQnI1arSI6pgORcijpKfkc2ptKeko+eWeNaLUq9J5u6D114rh4K5k9bR6zpj5G\nUXEeZ7JSOZOVyomTRxjQd0ST5TMyU9Cq9fjiGiPvluJUr94lS5Zgs9ka/TTXEdcvn5CQcMHyLen2\n22+/6LJxcXF1J5nVSkpK4o033gDguuuuA2DFihVkZ2djMBj48ssvryi+Rx99lHvvvZfU1NQmtx89\nepSFCxc2e3+DwcBdd93Ffffdd0mPeylZ3QThfFQq+zHxO6cN5q64ofQf0gW9pxuVFSZyMovJyy6h\nzFiJxSKytrU0SZII8A+hX++h3DZ6Cg/MWIiPt1+jcjabjXX/9wJPPjeTvy28m2df+TvvbnyJr7d9\njNVqcUDk7YdTjbyd2blLJMbExBATE9PgttprqPfu3cuOHTsYP378ZT9efHw88fHxl31/RVGIiIjg\ntddeu6T7XUpWN0G4GJIkEdE1kIiugZSXVpF2Ko8UJYe0k/lUlFVjKCxH66bBw8sNvV4rLje7iiRJ\nYsn8NRQVFmGVTJzNyeBsbgb5BWeRpMbtYDJVs3XbR4QEhRMcGEZQYAd8fQJc8hCh6LyvQHNZzMaP\nH09kZCQ6nY4lS5Ywb948ysrKMJvNzJ07l2HDhmGxWJg/fz7Z2dmEhITUZTp74oknKC0trcvYNnXq\nVMA+qs7JyUGv1/Pss8+SnJzMxx9/zMqVK+viiYuLY+nSpaxZs4YTJ06wadMm3nnnHTZv3oyvry8b\nN26kvLycAQMG1N1nz549vPrqq7i5udVlXHv55ZcxGo08/PDDdaN7sJ88t2jRItzd3fHz80Ov1wPw\n9ddf8/7776NSqRg0aBB/+9vfWLZsGXl5eaxatYp77rmnyWxwq1evZvv27VgsFqZOnYparW6Q1U0Q\nWpqHlxs9+3eiZ/9OlBkrOX0qj5QTuaSn5FFeWkVxQRk6Nw3uei1uei1ardolO4arTaVS4e8XQqB/\nyHmvNTdbzFRVV5J4dA+5+dnkF2RTVV1FVJceLJz7aqPyVquF6uoq3N09WjN8hxCd9xVoKovZTTfd\nRHl5OQ8//DAxMTE8//zzXHfddcTFxZGTk8O0adPYvn07JpOJBx98sO76702bNjFo0CDGjx/fKGMb\nwIQJExgxYgQbN27krbfe4uabb242poceeoiPPvqISZMmkZOTw1dffcW0adP44osveOONN+qmwm02\nG4sXL+bDDz8kJCSkLuPakiVL2LZtW4OOG+CFF17g73//O8OHD2fTpk0kJiZiMBhYtWoVn376KW5u\nbsyfP5/9+/fzxBNP8NFHH/HII48wd+7cRtng7rvvPnbv3s0nn3yC2Wxm5cqVLFiwgNWrVzf4QiII\nrcXT253e10TQ+5oIjIYK0k7lk3LiLGfSCqmqNFFqrMRmteGu1+Ku1+Gm14rj5A6md/dg0p0PNLit\norKcEmNRk+Vz8jJ58tn70Wnd8PcLxs83ED/fQCI6RjP25nuvRsitRnTeV+jcLGZFRfYXUW3msZSU\nFO68804AQkND8fLyoqCggMDAwLpsaQMGDODnn39mzJgxDTK21T/2O2TIEACuueaaumQwTak9bl/r\nnnvu4dFHH2Xw4MEEBQUREBBQ13kXFRXh5eVFSIj9zNHajGvNSU1NpW/fvnVlExMTSUtLo7CwkPvv\nvx+AsrIyMjIyGmReUxSlUTa41NRU+vXrhyRJaLVaFixYcP4nWhBakbevnj4DI+gzMIKK8mqyM4rI\nyiji9MlcigrKKCutoqigDI1GhbuHDjd3DVqdRnTmbYDe3QN9MyPrsNDOvP3vbyktM1BYlEdxSSEG\nQ0GzCaNOpyu8+d4z+Hj74ePtX/PjR8ewSIYMvLEVa3HpROd9hc7NYhYQYF/Fp3aqLSoqiv379xMT\nE0NOTg5GoxE/Pz+KiorIyMggIiKCffv20aNHj2YztgEcOnSIwYMH1+3rfNRqdd3SieHh4Xh7e7Nm\nzRomTpzYoJy/vz+lpaXk5eURHBxcl3GtOd26dePAgQPccMMNHDp0CIBOnToRFhbG+vXrUavVfPLJ\nJ/Tp0weDwVB3v+jo6EbZ4KKiovjwww+x2WyYzWYefPBB3nzzzbqsboLgKHoPHVE9QonqEcq1N/eg\nuLCMrPQiMtMLST+VR3lZFSXFFZhNFpAkdDoNOreaH51aHDNvYyRJwtvLD28vP7pcoGzHsK78/S/L\nKDEWU2IsqvkppthQ0GT5EyeP8M5/nsPL0xdvL188PX3w8vSha4TMiKFjGpW3WMxYLC1zQq7ovK9Q\nU1nM6h8je/DBB1m0aBHffvstlZWVPP3006jVary9vXnllVc4e/YsnTt3ZuLEiSQkJDTK2FZdXQ3A\nF198wWuvvVaXFe3XX39t8licJElERESgKAobNmxgxowZTJo0iWXLljVYuKS27LJly5gzZw6SN51e\nOgAAEWtJREFUJDXIuNaUhQsXsnDhQt599106dOiASqUiICCAmTNnMn36dKxWK506dWL8+PEcOXKk\nLr6mssHFxMRw/fXX12VimzZtGjqdrkFWN0FwNJVKIiDIi4AgL/oMjMBsspCTZSA/p4T8XCNZGUWU\nFJVjMlmoLK/GbLIgqSR0bvaRuUarQqNRo9GqUanEsfO2TqvVEd6hC+EdLtTN20V26cFjD79AaamB\n0jIDpWUllJaVNFv+eNIB/r1mEVqNFk8Pb/R6T/R6L3r3GMjd4xsn1Ko2VQFuTe6r3bya2mKGtfNl\nMWtLvvnmG5KTk5kzZw7gOtm4XKWeIOrqKDabjfKyagpyjRTmGes6dGNxBWazBYvZitlsxWKxIkn2\nRDJanb0z12jUqLUq1GoVKpXU5JdxV8k85ir1BCguKsZNr6O83Eh5RRkVFaW4uenpEtG9UVmrtYq+\nwwOvboY1WZZVwGqgH1AF3K8oyql6228HngTMwLuKorzTWrG0prZ+JurKlSvZt28fa9eudXQogoOV\nlpayY8cOzpw5g1arpXfv3gwfPrzZ1/D//vc/Vq9eTW5uLj4+PkybNo0HHnigybIAR44c4cCBA1RU\nVBASEsINN9xAcHBwk2UtFgu7du1CURSsVitdu3bl5ptvxs2t6VFGVlYWb7zxBidPnqS0tJS77rqL\n2bNnt9hiN4cPH+bgwYNUVFQQGhrKyJEjzxv7zp07SU5ObhB756ggwN6hlxkrKS4qx1hcQYmhgpLi\ncgrzyiguLKW62oKp2kJlhQmL2YrVYsWGfZSv0aioMpWTk3eGyiojZouZblE9CQ0Nr5nVa/yZE5+w\nneO/JVBVVUGAfwg3XjeesNDOLfK8VFSU8uuJRIpLClCrNUSERxHVtWezr5n8ghySU45SXm7Ezd2D\n7lF9CA3u2CKxWCxmkpIPk5N3Bmw2goLC6SUPQKNpX2u6S5JUd5z+QglkPTyaz0jXaj2PLMt3A+MV\nRZkty/JQYKGiKBNqtmmBX4FYoBzYU1M2t7n9tcWRd3vlKnV1lXrChetqMBhYs2YN5eXldR+8ZrOZ\nPn36MGXKlEbl165dy4oVKxp8SFssFqZNm8bzzz/fqPy3337L7t270Wh+Hw+o1WpmzpxZtzhPLavV\nyrp168jIyKjrfG02G76+vjzyyCPodLoG5dPT03nggQcoLy9HpVJhNBrR6/UMGjSIV19tfHnQpfrm\nm2/46aefGsU+e/ZsOnZs2PFYrVbefvttMjMzG8Tu5+fHww8/3Cj2c1ksVkpLKikxVGAsrqDUWEmZ\nsRKjwd7Jn83KJycnG5sNrDYwm0yoJBU+Pv7o3e0f5JIEKrV9xJ6kHCQj+xQWqxmL1YzVYsZqs3Dz\n9XcQHtalZkQPkkpCJUlINVP3FzPoKC0r4Yef/ofJVF1X3mKx0LlTtyZP3jqTlcq+gz802LfVZmNA\n32uJ6nL+83QuNPK2Wi38uOdLig35ddd/22w2PD19uGXkBDTq9nMEuD3kNh8BfAOgKMpeWZZj623r\nCZxUFMUAIMvyT8BI4JNWjEcQXNa2bduoqKho8MGq0Wg4evQow4YNa7TW+htvvNHoA772hMQnn3wS\nL6/fRwRlZWXs2bOnQecH9g/677//vtFhpUOHDpGWltagvCRJGAwGfvzxR8aMaXiiz6uvvkplZWWD\nUbZGoyEhIYH4+Pi6Kz4uR2lpabOxf/fdd8yaNavB7YmJiWRkZDSKvaioiN27d3PLLbec9/HUahW+\n/h74+jc+O9pms/HKK6/iYTOCTY3NqqYwvwQ/vyDU6hJih/ejssJMeVmV/Zr0YiM2m5qIsB5gA/s1\nJvZ/83OL8dIHY7P+fgWKzWqjfqone/M27twlyX5bRmYKPvowbO4198cKNhvFRWVkZ+Xi5eld7zVi\n4+TJZDzdA4HaK17sj3cqJZkOQZF17Vd7l/qvL7PZiqnafG5wdaPL0+nJGAwGNOrfZ2ZsQEVFGcnJ\nx5C79/v9rvWf1EZdXtNfWs5/n8vT2rOyrdl5+wD1j9xbZFlWKYpirdlmqLfNCCKxrSC0lvT09CZv\n12q1HDt2rEHnnZqaSn5+fpOjyMrKSjZv3tygUzt06FCzH1RpaWnYbLYG25OTkxt1lmD/sKtdr74+\nRVGajf277767os47MTGx2an3tLS0JmNpKnaVStVsKuGLZTQayck5i7u7O2BBAqrJQ+WhpbKqiug+\n3nWXlwK89trrpOT8iEbjjkatRSWpUUkaVCoNqnIND8yZiMlkwWSyYG7wvxlztf1vU7X9b1PNVL59\nCt+GzQY6rTsBvh2Amm64pue3ARXllbhp7V9AbDawWEz4eISi8lL9XqjmP6vVSmGeAV3tIZHaXdV9\nk7BRVWXCVFl6zjNijwOgqkxF59D+TT5v5ko3cjKLm9xW/9uKrekSLesCD2LDhtlkxlhs/6Jyoe5d\npVYR3T+iyW2t2XmXAN7146jpuMHecdff5g00fZV9PQcOHGi56Byw/7bEVerqKvWE89c1KyurweV7\ntWw2G4GBgQ3um5+fj9lsbpSSF+xT7bm5uQ3Knzp1qsE0cn0qlYqDBw82uC0tLY2srKwm47RarY3q\nUVpaitFobHCb0WjEarU2iuVSpaSkNBu7Wq1utO/zxW6z2a4olsrKSnJzcxt9OcjKysJkMpGUlFSX\nRwIgNzeHomauWVar1ZhU+eAGWjfQAvoGJVQ1P78fL7aP0MFmtWG12ji1aTtlZRVISIBU9z82iYiO\nMfTuFWkvb7PHnpx5Go1K+3u5mq7JgoWIHl3x9va2d9y2mseC3zv5mtdazYC9ZtvvnXdlUiaVhcU0\n7u4k9D4+dJZrZoJsDb9o1NWt0S/1tjXxOm/ipiZvbLJcMy6lbK3zDd5bs/PeA9wObJZleRhwpN62\nJKC7LMv+QBn2KfMXL7RDccy7ZbhKXV2lnnDhuubm5hIfH9/og95sNjN9+vS6/AS1oqKiOHv2bKP9\n+Pn5MW/ePNTq39fH7tevH2lpaVgsDReSsNlsxMTENIrLz8+PdevWNRrZWywWxo0b16j8TTfdxLZt\n2+piNxqNeHt7YzabmTdv3nlzE1xIbezn5haw2Wz07NmzUSw+Pj6sX7++0bK8ZrOZ22677Ypfb8eO\nHSM7O7vu76ysLMLDw/Hx8WHcuHENZjB69OjBTz/91GgfVquVAQMGXHEsefk5JCQkNJpVMZvNzP7z\nVHx8fBrcnp13stnXzB9n337eaeQLvX5/+60jH3zwQZPP+x0TxhIbG9vMPdueS/1cau4LYWtmE9gC\nVMqyvAd4GfiHLMtTZVn+s6IoJuBR4FvgZ2CdoijZ59mXIAhXYPTo0YSHh2MymepuM5lMjBo1qlHH\nDfDcc8+h0WjqOrXa///5z3826LjBPn19++23Y7Va60YxFosFb2/vJlfPi46OZtiwYY1i6d69O8OG\nDWtUft68eU3Gfu+9915Rx10/dovF0iB2X1/fJhf26d69O4MHD24US0xMTF0WxCtxxx13oNVq657v\n2kMOEyZMaNT5eXl5cf/992OxWOrKm81m/P39eeKJJ644lrFjxxIcHNwg06PZbObWW29t1HHXxl7/\nNWOz2VCpVNxxxx1XfPy39ktgbd4LsD/vvXr1cpkv6Odq29c51SPONm85rlJXV6knXFxdrVYrR44c\n4eTJk+h0OoYMGUKHDh2aLV9YWMiTTz5Jeno6QUFBLF68+LydZVFRET///DMVFRWEh4czZMiQJo8P\n10pNTeXQoUNYrVZ69epFTExMsx/yZrOZzZs3c+DAAQoLC5k7dy79+vVrsuzlqB97x44dGTJkSKMv\nKc3F3qdPH2RZbrETlKqrq9mzZw8FBQXk5OQwa9YsPDyaX1gjNTWV9evXU1paSs+ePZkxY8YFz3q/\nWFarlcTERFJTU9HpdAwdOpTQ0NBmy1dVVbFnzx4KCwvx9fVlxIgR54291sW+V1NSUjh8+HCrPO9X\ny+WMvJs627zd1Fp03i3HVerqKvUEUVdn5Sp1dZV6Qst13iIJryAIgiC0M+1p5P0jcIOj4xAEQRCE\nq2hnbGzsjY4OQhAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQWgP2s2lYi1NluWD/L6y\nWQrwLLAesALHgIcVRbkqC9G0pibq+TrwFVC7VNObiqJsckRsLU2W5YXY8+lrgVXY8+uvx8naFJqs\n6xHgS5ysXWVZ/hMws+ZPPdAfuA54FSdq12bqORwnfK/KsqwC3gFk7G34Z8CCE75Xm6mrBy3wXnXJ\nzluWZXfgZ0VRBta77X/AS4qi7JJl+U3gW0VRPnNYkC2gmXreD/goirLScZG1PFmWbwQeVRTlDlmW\nPYH5wDXAy87UptBsXdMBX2dr1/pkWV4FHML+pcXp2rVWvXracMI2lWV5LDBLUZTJsiyPAh7CvkiW\n07VpE3V9EPiaFmjX1lxVrC3rD3jIsvwt9ufgCWCgoii7arZ/DYwB2vuLp8l6Aj1kWb4TSAbmKopy\n7kK67dEY4Kgsy59hXy/+ceA+J2xTaKauOGe7AiDLcizQS1GUR2RZXuKk7Vpbz9419XzTfpPTtWkF\n4CvLsgT4AtXAUCdt03PragIG0QLvVVdNj1oGvKgoyq3Yvwn93znbS7E/0e3dufX8ADgAzFMU5Qbs\n0+hPOTC+lhSM/U0xEXtdN9JwZslZ2hSarutenLNday0Cltb87qztCvZ6Lqn53VnbdA/gjn1p6LXA\nazhvmzZV1320QLu6auetUNNhK4qSDBQA9ZfK8QaKHRBXS2uqnt8qipJYs/0zYICDYmtp+cB3iqKY\nFUVRgEoafgA4S5tC47pWAFudtF2RZdkPkBVF2VlzU/3Ft52mXZuo5xYnbdP5wB5FUXpgP7S1Afu5\nG7Wcpk1pXNf3ga9bol1dtfOehX2NcWRZDsf+YvlOluXa3OnjgF3N3Lc9ObeePsAWWZYH12y/BUhw\nUGwt7SdgLNTV1QPY7oRtCo3r6gl85aTtCjAS2F7v70Qnbddz6/mNk7apJ1BS83sR9kN6ztqm59ZV\nC3zREu3qqse81wHvybJc+wKZhX1U+rYsyzrgV+ATRwXXgpqqZwXwhizLJiAbeMBRwbUkRVG+kmV5\npCzL+7B/Kf0rcBrna9Pm6pqLE7ZrDRk4Ve/vx3DCdqVxPR/EOdv0ReyfS7uxd2YLsR/Oc8Y2baqu\nv+Gc7SoIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAI\ngiAIgiAIgnAuWZZ9ZVne4ug4BEFoWa66MIkguAp/7KsZXXWyLLvLsvxfRzy2IDg7V12YRBBcxWtA\nuCzL/1UU5R5Zlv8J3AuosS8Pu0CW5RuBJ2rKR2NfFMIATMC+zvJtQC/gXzVlOmFfk/h+RVGqz/PY\nI7CvYywIQgsTI29BcG5zgKyajnssMBAYXPN/J1mWp9eUGwLMBHoDDwG5iqIMBo4AUwAbMAz4C9AT\ncAcebu5BZVkeDSwAbLIsD2+FegmCSxOdtyA4N6ne76OAodiXXzyAvQPvhb1jPqYoSqaiKBVAPr+v\nK52GfeodYJuiKKcURbEB/wFubu5BFUX5Hvvny3JFUeJbsD6CICCmzQXBlaiAVxRF+TeALMv+gAmI\nBc6d/jY3cf/6t6mbKUPNvt0Bdc2XAUEQWpgYeQuCczPz+5f0HUCcLMuesixrgE+Be7CPvC/GTbIs\nd5BlWQXMALaep2wssL/mbPfYy4xdEIRmiM5bEJzbWSBdluXtiqJ8CfwX2AscBRIVRXkf+9T6+Trw\n2m2ZwP8Bx4EM4B0AWZZ/kWW5QxOPqwPGKYqS0FKVEQRBEAThIsmyfKMsy183s+15WZa9r3ZMguDK\nxMhbEISLYaP50fkhRVGMVzMYQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAE\nQRAEQRAEQRAEQRAEQRCEZv0/LKJTnFrrHqMAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 40 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The 95% confidence interval in purple represents the interval, for each temperature, that contains 95% of the distribution. For example, at 70 degrees, we can be 95% certain that the probability of defect lies between 0.13 and 0.42.\n", "\n", "This data gives us a good idea how to proceed. Ideally we should test more )-rings around the 60-65 degree temperature to get a better estimate of probabilities in this 'transition' range. It is always good to report your confidence intervals as well as just the reported estimates." ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "What about the day of the Challenger disaster" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On the day of the Challenger disaster, the outside temperature was 31 degrees. What is the posterior distribution of a defect occuring, given this temperature? It is possible to see this in the plot below." ] }, { "cell_type": "code", "collapsed": false, "input": [ "prob_31 = logistic(31, beta_samples, alpha_samples)\n", "\n", "plt.xlim(0.995, 1)\n", "plt.hist(prob_31, bins=10000, normed=True, histtype='stepfilled')\n", "plt.title('Posterior distribution of a probability of a defect @ 31 degrees')\n", "plt.xlabel('probability of a defect occurring in O-ring');" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 41 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Turns out we can predict that it was almost guaranteed that a defect would occur at this temperature." ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Is this model appropriate?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You might be wondering, is the logistic function for $p(t)$, and the specific priors we chose actually the best method? There are many ways to measure __goodness of fit__. One could simply apply a cutoff to the predicted probabilities in the fitted logistic function. A probability > 50% would indicate a 1, and <= 50% indicates a 0. Then we can simply test the proportion of predictions that match the observed data." ] }, { "cell_type": "code", "collapsed": false, "input": [ "from IPython.core.display import HTML\n", "\n", "\n", "def css_styling():\n", " styles = open(\"/users/ryankelly/desktop/custom_notebook2.css\", \"r\").read()\n", "\n", " return HTML(styles)\n", "css_styling()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "" ], "metadata": {}, "output_type": "pyout", "prompt_number": 1, "text": [ "" ] } ], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "def social():\n", " code = \"\"\"\n", " Tweet\n", "\n", " Follow @Ryanmdk\n", "\n", "