{ "metadata": { "name": "", "signature": "sha256:d62a871468aee324a55138d220d256ee06d849410a2ddfd9f6f1edae8508d5e1" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Hierarchical Bayesian Inference of Normal Means #\n", "\n", "This notebook is based on Chapter 5.4, 5.5 and 5.6 of 'Bayesian Data Analysis' (Gelman et. al, 3rd Edition).\n", "\n", "Suppose we have $J$ observations $\\bar{y}_{\\cdot j} \\mid \\theta_j \\sim \\text{N}(\\theta_j, \\sigma_j^2)$, conditionally independent of each other given its parameters. The variance parameter $\\sigma_j^2$ is assumed to be known, and the mean parameter $\\theta_j$'s are independently sampled from prior $\\text{N}(\\mu, \\tau^2)$. Finally, we assign uniform hyperprior distribution for $\\mu$ given $\\tau$:\n", "$$\n", "p(\\mu,\\tau) = p(\\mu \\mid \\tau) p(\\tau) \\propto p(\\tau).\n", "$$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# prepare inline pylab\n", "% pylab inline" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Parallel Experiments in Eight Schools (BDA 5.5) ##\n", "\n", "Please refer to the corresponding chapter of the book for description of the data. I typed the data myself:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# load hand-typed data\n", "from pandas import *\n", "import numpy as np\n", "school_data = DataFrame(data={'means':[28,8,-3,7,-1,1,18,12],'serrs':[15,10,16,11,9,11,10,18]},\n", " index=['A','B','C','D','E','F','G','H'])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "# the data looks like this\n", "school_data" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
meansserrs
A 28 15
B 8 10
C -3 16
D 7 11
E -1 9
F 1 11
G 18 10
H 12 18
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 3, "text": [ " means serrs\n", "A 28 15\n", "B 8 10\n", "C -3 16\n", "D 7 11\n", "E -1 9\n", "F 1 11\n", "G 18 10\n", "H 12 18" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since mean parameters are conjugate to each other, only tricky part is the standard deviation parameter $\\tau$ for group means. We marginalize out all other variables to make inference on $\\tau$." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# define marginal log posterior function of tau\n", "def log_posterior_tau_helper(tau, means, serrs, log_prior=lambda tau: 0):\n", " '''\n", " computes log marginal hyperparameter density of tau\n", " '''\n", " ret = log_prior(tau)\n", " marginal_variances = serrs ** 2 + tau ** 2\n", " total_variance = 1.0/np.sum(1.0/marginal_variances)\n", " # precision weighted average\n", " mu_hat = np.sum((1.0/marginal_variances) * means) / \\\n", " np.sum(1.0/marginal_variances)\n", " ret += 0.5 * log(total_variance)\n", " ret -= 0.5 * np.sum(np.log(marginal_variances))\n", " ret -= 0.5 * np.sum(((means - mu_hat) ** 2)/marginal_variances)\n", " return ret\n", "# vectorize the function for convenience\n", "log_posterior_tau = \\\n", " np.vectorize(log_posterior_tau_helper, otypes=[np.float], excluded=[1,2,3])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let us reproduce Figure 5.5, which draws marginal posterior density $p(\\tau \\mid y)$." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import pylab as pl\n", "# grid points to evaluate evaluate density function\n", "tau_min = 0; tau_max = 30; tau_grid_num = 1000\n", "tau_knots = np.linspace(tau_min, tau_max, tau_grid_num)\n", "lop_posterior_tau_densities = \\\n", " log_posterior_tau(tau_knots, school_data.means, \n", " school_data.serrs, log_prior=lambda tau: 0)\n", "# when calculating densities, it is numerically more stable to \n", "# first compute in log space, subtract the maximum, and then exponentiate\n", "posterior_tau_densities = \\\n", " np.exp(lop_posterior_tau_densities - np.max(lop_posterior_tau_densities))\n", "#np.exp(log_posterior_tau_densities - log_posterior_tau_densities.max())\n", "pl.plot(tau_knots, posterior_tau_densities, color='k', linestyle='-', linewidth=1)\n", "pl.axes().set_xlabel(r'$\\tau$')\n", "# the y-axis of unnormalized posterior means nothing, so rather hide the scale\n", "pl.axes().get_yaxis().set_visible(False)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nCEuZiEhD/h+brcDWTAfcEgAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "This plot indicates that values of $\\tau$ near zero are most plausible, but large values such as 10 or 15 are still quite likely.\n", "\n", "Now, we study the change of $\\mathbb{E}[\\theta_j \\mid \\tau]$'s and $\\text{sd}[\\theta_j \\mid \\tau]$'s as a function of $\\tau$. This can be done by marginalizing out $\\mu$ from the conditional distribution $\\theta_j \\mid \\mu,\\tau,y$." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def mean_posterior_given_tau(tau, means, serrs):\n", " assert(len(means) == len(serrs))\n", " marginal_variances = serrs ** 2 + tau ** 2\n", " total_variance = 1.0/np.sum(1.0/marginal_variances)\n", " # precision weighted average\n", " mu_hat = np.sum((1.0/marginal_variances) * means) / \\\n", " np.sum(1.0/marginal_variances)\n", " if tau == 0:\n", " return np.repeat(mu_hat, len(means))\n", " return ((1.0/(serrs ** 2)) * means + 1.0/(tau ** 2) * mu_hat) / (1.0/(serrs ** 2) + 1.0/(tau ** 2))\n", "\n", "def sd_posterior_given_tau(tau, serrs):\n", " marginal_variances = serrs ** 2 + tau ** 2\n", " total_variance = 1.0/np.sum(1.0/marginal_variances)\n", " individual_variances = (((serrs ** 2)/(serrs ** 2 + tau ** 2)) ** 2) * total_variance\n", " if tau == 0:\n", " return np.sqrt(individual_variances)\n", " return np.sqrt(individual_variances + 1.0 / (1.0/(serrs ** 2) + 1.0/(tau ** 2)))\n", "\n", "mean_posterior_given_taus = \\\n", " np.vectorize(mean_posterior_given_tau, otypes=[np.ndarray], excluded=[1,2])\n", "tau_conditional_means = \\\n", " pandas.DataFrame.from_records(mean_posterior_given_taus(tau_knots, school_data.means, school_data.serrs),\n", " index = tau_knots, columns=school_data.index)\n", " \n", "sd_posterior_given_taus = \\\n", " np.vectorize(sd_posterior_given_tau, otypes=[np.ndarray], excluded=[1])\n", "tau_conditional_sds = \\\n", " pandas.DataFrame.from_records(sd_posterior_given_taus(tau_knots, school_data.serrs),\n", " index = tau_knots, columns=school_data.index)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "# I was not able to put inline labels in Python. \n", "# this page contains an example code for it: http://stackoverflow.com/questions/16992038/inline-labels-in-matplotlib\n", "tau_conditional_means.plot(style=['-','--','-.',':','-','--','-.',':'])\n", "pl.legend(bbox_to_anchor=(1.05, 1), loc=2)\n", "pl.ylim(-5,30)\n", "pl.axes().set_xlabel(r'$\\tau$')\n", "pl.show()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nIjzOLViwgEGDBnllb7/77rv5+OOPycvL46OPPmLSpEke51966SUuvPBCzjrrLI/yjRs3UlhYSExM\nDH379iU2iHaCFXHzjzrfp6pfUk11GC9hXlasWNHSTWhSmsO/0lKt//1vrQcM0PqMM7R++22jrKmR\nz07riooKXV5e7lW+aNEivXnzZq/yX//619pms+mYmBi9cOFCr/MLFizQ27Zt8ypPT0/XmZmZPl+r\noZj986v87pTv5VNQ1/skIxdCi5GfD888A717GzMeX33V6LHddptM528sfvzxR/bu3etV/uijj5KU\nlERERAQffvih13mHw4HT6fQqf+655yguLqagoIDJkyd7nb/++ut97rnVsWNH2rdvT6hstSA0ExKW\nFJqdtDRjPG3OHGNrmQcflPG0U6G1pqKiwksc/vvf//LBBx+QkZHBvffeyy9/+UuP83PmzKFbt25c\neumlHuUZGRkopWjXrh1Wq7XJ2y/Un2AMSyYnJ5OZmenxN3nbbbfx8ssv13mNjLkJLc7u3fDss7Bw\nIfzyl0aaLNnZ2iA9PZ3t27eTlpZGv379OPfccz3O/+UvfyE2NpaHHnrIo3zjxo0cOXKEjh070rdv\nX5KSkpqz2UITEoziVtdmpSdDcks2EbKW6NSsWwfXXgsXXADdu8PevfDSSy0vbC3x2a1du5avv/7a\nq/zLL7/kqaee4ptvviEjI8Pr/JNPPuklbADDhw9n8uTJjBo1ykvY5G9TCGb8WuemlHobuALI1FoP\nqSybCfwKOFFZ7RGt9eKmaKTQ9qia+fj008bGoA88YCzCjopq6ZY1LevXr+ett97i4MGDXHjhhfz1\nr3/167rp06czffr0Os83JHGsILRFGqtH6VdYUil1AVAEzHcTtxlAodb6hVNc2yq7v0LToDV89hk8\n9RSUlsIjj8ANN0BISEu3rHFZtWoVy5cv5/HHH/co37ZtG6tXryY5OZkBAwb4XNArCP7QkmHJFJXS\nKK8zVo+tV/3k5GSys7Ox2Wr6Xc8999wpf/j5ep/86rlprb9TSiX7uq8/1wvmx+mETz6Bv/0NrFb4\ny19g0qS2m0lk165dzJgxg127dpGcnMynn37qcb5///4kJCR4XTd48GAGDx7cXM0UhCahvqLUWCil\n+PTTT+s15lYXgX71/FYptVkpNUcpFR9wa9ogZo/7n8o/h8MINw4eDC+8YOyb9uOPxhhbaxe2lJQU\n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\n", "text": [ "" ] } ], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "When $\\tau = 0$, all group means are treated to be the same, while as $\\tau \\rightarrow \\infty$ they converge to individual MLEs." ] }, { "cell_type": "code", "collapsed": false, "input": [ "tau_conditional_sds.plot(style=['-','--','-.',':','-','--','-.',':'])\n", "pl.legend(bbox_to_anchor=(1.05, 1), loc=2)\n", "pl.ylim(0,20)\n", "pl.axes().set_xlabel(r'$\\tau$')\n", "pl.show()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAbYAAAEPCAYAAAAuzOHNAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xd4VFX6wPHvyUx6JSQhgQBJ6FWQIqAgiAp2bChYwO7a\nsK+L7sJaVkGxrGVdf6KAbS2syFoABYOgFAVpgoLSQkknPZlkMuf3x0lIAiSEZEJmbt7P88wzc+/c\nuXNfbsib05XWGiGEEMIqfJr7AoQQQgh3ksQmhBDCUiSxCSGEsBRJbEIIISxFEpsQQghLkcQmhBDC\nUupMbEqp9kqpb5VSvyiltiil7qnYH6mU+loptV0ptUQpFXFyLlcIIYSom6prHJtSKhaI1VpvUEqF\nAOuAccANQKbWeqZS6s9AK631IyflioUQQog61Fli01qnaq03VLwuALYB7YCLgbkVh83FJDshhBCi\n2dW7jU0plQD0B9YAbbTWaRVvpQFt3H5lQgghRAPUK7FVVEPOB6ZorfOrv6dNXabMyyWEEMIj2I93\ngFLKF5PU3tFaL6jYnaaUitVapyql4oD0Y3xOkp0QQjSA1lo19zV4s+P1ilTAbGCr1vrFam8tBCZV\nvJ4ELDjyswBaa8s+pk2b1uzXIPFJfC0xPivHprWUB9zheCW204FrgU1KqZ8r9v0FeAb4SCl1E7Ab\nGN9kV+ihdu/e3dyX0KQkPu9m5fisHJtwjzoTm9Z6JbWX6s52/+UIIYQQjSMzjzTQ5MmTm/sSmpTE\n592sHJ+VYxPuUecA7UadWCkt9cVCCHFilFJo6TzSKFJia6Dk5OTmvoQmJfF5NyvHZ+XYmppSSlvp\nUVucx+3uL4QQwjqsUpNmOu3X8p5URQohhOdoyqpIK/1eruvfSaoihRBCWIoktgayej2/xOfdrByf\nlWMT7iGJTQghhKVIG5sQQniQlt7GNnLkSDZt2kRqaip+fn61HidtbEIIITze7t27WbFiBT4+Pixc\nuLDB55HE1kBWr+eX+LybleOzcmwt3bx58xg6dCiTJk1i7ty5x/9ALWQcmxBCCI8wb948HnzwQQYP\nHsyQIUNIT08nJibmhM8jbWxCCOFBmrONrY4xzyekIb/6V65cyVlnnUVqaiqRkZH06NGD2267jXvv\nvfeYx0sbmxBCiOPS2j2Phpg7dy7nnnsukZGRAEyYMKHB1ZGS2BrI6vX8Ep93s3J8Vo6tpSouLuaj\njz5i+fLlxMXFERcXx4svvsjGjRvZtGnTCZ9PEpsQQohmtWDBAux2O9u2bWPjxo1s3LiRbdu2MXz4\ncObNm3fC55M2NiGE8CAtcRzbeeedR+/evXn22Wdr7P/444+ZMmUK+/btw8enZjmsrn8nSWxCCOFB\nWmJiawjpPNIErF7PL/F5NyvHZ+XYhHtIYhNCCGEpUhUphBAeRKoi60eqIoUQQrQYktgayOr1/BKf\nd7NyfFaOTbiHJDYhhBCWIm1sQgjhQaSNrX6kjU0IIUSLIYmtgaxezy/xeTcrx2fl2IR7SGITQgjR\nrBISEggKCiI0NJTIyEguvPBC9u3b1+DzSRubEEJ4kJbYxpaYmMjs2bM566yzcDgc3HHHHWRnZ/Pp\np5/W+hlpYxNCCOEV/P39ufzyy9m6dWuDzyGJrYGsXs8v8Xk3K8dn5dhassqSZFFRER9++CFDhw5t\n8Lns7rooIYQQ3m168nT+vvzvR+2fduY0po+cXq/jazu2Llprxo0bh91up7CwkJiYGBYtWnRC56hO\n2tiEEMKDtPQ2Nq01CxYs4Oabb2br1q20adPmmJ+RNjYhhBBeQSnFpZdeis1m4/vvv2/QOSSxNZDV\n6/klPu9m5fisHFtLVlmS1Frz2WefcejQIXr06NGgc0kbmxBCiGZ30UUXYbPZUEqRkJDAvHnzGpzY\npI1NCCE8SEtsY2sIaWMTQgjRYkhiayCr1/NLfN7NyvFZOTbhHpLYhBBCWIq0sQkhhAeRNrb6kTY2\nIYQQLYYktgayej2/xOfdrByflWMrKmruK7AGSWxCCHGSOBzw9ddV21lZMGZM1bYkNveQNjYhhHAT\nlwtWr4Zhw8x2SQmcey4sXw5Kme2JE2H+fLNdXg4bN8Kpp1adQ9rY6qeufydJbEIIcQJ+/x2SksDH\nB7SGK6+E994Df3+zPXo0LFoEfn7m+DVrYNAgc3x9SGKrH+k80gSsXM8PEp+3s3J8TR2b1uZR6dFH\n4dChqu1rr4XsbPNaKbjppqr3lIJly6qSGsBpp9U/qbV077//PgMHDiQ0NJS2bdty/vnnN2gi5OP+\ncyul3lJKpSmlNlfbN10ptU8p9XPFY+wJf7MQQniAzz+HzMyq7UGDoPrizd27m4RVafVqiIqq2j7v\nPFNaE43z/PPPc9999/HYY4+Rnp5OSkoKd955JwsXLjzhcx23KlIpNRwoAOZprftU7JsG5Gutn6/j\nc5Yp8gohvFd2tilBhYSY7XvuMaWuwYPN9hNPwNVXQ5cuZru4GAIDm+daoWVWRebm5hIfH8+cOXO4\n/PLL6/WZRlVFaq1XAIeO8VaT/MMLIURjfPklbNlStf3QQ/DDD1Xbt94K3bpVbf/1r1VJDZo3qbVU\nq1atoqSkhEsvvdQt52tMze/dSqmNSqnZSqkIt1yNF7FyGwZIfN7OyvEtWpRMTk7V9qxZ8P77Vdt5\neabUVWn2bNMzsVLv3hAe3vTX6ZWmTzf1rkqZ18d6v7b9dX3uOLKysoiKisLHTY2RDV2P7V/A4xWv\nnwBmATcdedDkyZNJSEgAICIign79+jFy5Eig6j+et25v2LDBo65H4pP4rBrfL7/A8uXJ9Oxptj/5\nBL78MpnLLjPbl18OGzYkk5xstq++2ny+cru5r/9428nJycyZMwfg8O/LZlNb4qr+fkM+dxytW7cm\nMzMTl8vlluRWr+7+SqkE4H+VbWz1ec9T63KFEJ5H66oOGsnJsG0b/OlPZnvxYtNONmFCs13eSdVS\n29jatWvH3LlzT04bWy0njKu2eSmwubZjhRCiurIy2L+/anvx4ppJq0MH6N+/anvMmJaT1Fqq8PBw\nHn/8ce68804+++wzioqKKCsr46uvvuLPf/7zCZ+vPt39PwB+ALoppVKUUjcCM5RSm5RSG4EzgftO\n+Ju9XGVVglVJfN7Nk+LLyzPJq9LPP8OUKVXbI0aYdrBKSUkwZEjt5/Ok2IT73H///Tz//PM8+eST\nxMTE0KFDB1577bUGdSg5bhub1vpYfyu9dcLfJIRoEfLy4KWXTG9DMB05Fi6smhNx8GD45JOq46UX\noqg0ceJEJk6c2OjzyJRaQohGcTrhmmvMtFJ2u9l+8UV44IGaA5tF/bTENraGkCm1hBCNcuQ0U6NH\nQ1qaeW23w/XXmwmAK7cffFCSmmg+ktgayOr1/BKfd2tsfE4nlJZWbY8eDevWVW2/8gpERlZtX3BB\nzfkRm5JX3zutzcSTW7dCQcHR799++8m/JguSxCaEwOGA/Pyq7WuugSVLqrYXLICBA6u2e/QAX9+T\nd31eZ/Himl0/K519NiQmwmWXwfbtR79/yy1Nf20tgLSxCdECFRaaAkObNmb7oYdMsrrxRrPtdJoq\nRVGLuXPNgLv9+00vmeHDa74/a5aZ7qTPEUN/y8qO+xeBtLHVj6zHJkQLV1pqZrBv29Zsv/aaSWwP\nP2y2qw+QbnGKiiAlxdStRkfXfO+ee0zSuvLKmvsXLDD/oPHxZjmA1q3ddjmS2OpHOo80Aa+u568H\nic+7LVuWzIEDVduLF8NTT1Vt33FHVVID70pqDbp3f/wBe/Ycvf/++01Cu/BCWLHi6PenTYOLLz56\n/7hxcPPNMHasW5OacA9JbEJYREZG1etdu6qqFQEuugheffXkX9NJk5pqsve//gXffXf0+4sXm4XU\njvTkk6bEtmOHafc6UuvWstiaF5KqSCG8lMNR9Ts3J8fUiP32m8VXa960yQQ7YkTN/bNnwwcfmGlL\nrrii5nT+XkaqIutH2tiEsIjKtjCtoXNnWLUKYmJqvufV0tJg5UrTY7B9e7MiaHXJyZCeDuPHN8vl\nnQwtMbElJCSQnp6O3W7HZrPRs2dPrr/+em699VZULT/U0sbWBKzeRiPxeZ5LL61aMFMp+OWXqqRW\nua+Sx8e3bx8sWnT0/q1b4Z13zFivY7VdjRxJcvWgvZDLZfqd/Pqradb773/hjTdMG+h9LW7WXUMp\nxeeff05eXh579+7lkUceYcaMGdx001GrodWLdOgVwkM9+ywkJFR1yPv3v2t22gsIaJbLqp/ycti5\n0ySq4mK4+uqa7+fmmsw8dmzN/aNGmYeXKS01Bcn0dFPoTEuren3kc2YmhIaaexkVZZ4rX7dv39yR\nNL/Q0FAuuugiYmNjGTJkCA888AC9evU6oXNIVaQQHqJyWNQ115jtHTugVSvzC89jlZeb0lfHjjX3\nb9tmpiPp2dN0l2/A0iPNrbzcdMg5cAAOHqx6PjJRpaWZoRPR0WZcYEyMea7+uvq+qKi6Z2lpiVWR\niYmJzJ49m7POOqvG/o4dO/KXv/yF248xI0td/05SYhOimezbB2vXVnXGi4mpOSi6S5fmua5aHTpk\nMu2R+664An78seb+Hj1Mic0DVVYFHjhQM2kduZ2eDhERZuxf27YQFwexsdC1q8nV1RNWq1bW6LQz\nfdcu85yY6Jbtxmrbti2HDh064c9JYmug5OTkw8u8W5HE534ul+m12KOH2XY6zfCqSj17uu+73Baf\ny2XGCvz8s+mGefBgzeJGVNTRSa2J1RWby2V6/qekwN695rn64+BB835YWFXCqkxavXubzpTVk9jJ\nmv/SUxyZkBq73Vj79+8nsvqkpPUkiU2IJuRyVf0lX1RkxpatWGFKZgkJZiorj3H//fDYYzVnN/bx\nMT0aunQxS1s3Y7dLrSE7G37/3cxreWTi2rvXJK6ICHOp7dtXPYYONZOEtGtnEpYMTfN8P/74I/v3\n7+eMM8444c9KG5sQTei00+Dddz2kWtHhgM2bzTT9F11UNb9WpfnzzSS94eHNc32YPiW7dh37sXu3\nmWbxyKRVfTs+3vuTVkttY3vzzTcZPXo0eXl5fPfdd9x7772cccYZzJkz55ifkXFsQpwkr71mqrQq\nxw9nZ9csADWrceNMu9eAATB1arNk25KSuhNXaamZ/P5Yj4QEU4VodS01saWlpWG32/Hx8aFXr15c\ne+213H777Q0axyaJrYGkDcq7uSu+lBTTEaF/f7P9ww+muuvIToIn1TPPkFxQwMgnn6y5v3q9aBMq\nLTX5c8eOox9paaaEdayklZhomuyOV9tp9Z/NlpjYGkJ6RQrhRtVXHtmyxfwSr0xsw4adhAtwOs0X\nr1plssQFF9R8f8IE2Ljx6M+5Mak5naaUdazktX+/qRbs0sU8evaESy4xrzt2lOVwRNOTEpsQJ+C3\n3+C660w3/Wbz9tswc6bpEXH11U06L2JJiYl527aqx9atpjdnZdf3ygRW+UhIkEVIG0NKbPUjVZFC\nNJDLBY88Ao8/bmb60Nr0bgwOPglfvm0bzJkDM2bU3N8Ek0Lm5VUlrepJbP9+M69wjx5Vj549TUIL\nCnLrJYgKktjqR6oim4DV6/lbcnyZmWb8UliYqb3r0cO0GwUEmHzi9qSWl2eqDo9chTkuDs477+jj\n65HUaovP6TTVhZs2mQ6SmzaZR2YmdO9elbxuvNEksKQkzyt9Wf1nUzSeJDYhjvDXv5q1JStzyg03\nNNEXlZaaeRE3boQzzoAvv6zZDhYRAY34BZ6WVjN5bd5sSmHt2kGfPtC3L0yebJ6Tkqwxc4YQIFWR\nQrB0KWzYAA880IRf8vPP0K3b0fV3P/xgep4EBjb41Fqb3pnr1sH69VXPpaUmafXtW5XIevWCkJBG\nxiKalFRF1o+0sQlRjdamQ0T37mY7JQWysqBfvyb80htvhAcfbPS8WVqb8V5HJjGbzQxPGzAATj3V\nPNq3t8D6bC2QJLb6kcTWBKxez2/l+DIzYdSoZDZuHOm+6jenE1avhq++MtWH55zjltOmpcGaNebU\na9eaJBYYWDOJDRhw9CQiVr5/Vo4NJLHVl3QeES3elClw771Vg4BfftnNbUozZsDHH5uGufj4Bp3C\n4TA1lpWJbPVqyMkx03KddpqZsnHAANPNXghROymxCUsqKzMT5VZOZ5WcbKoaIyIaeeLUVNPZY8yY\nmvsbMKvHvn2wcqUZZ71mjenc0bUrDBliHqedZralU0fL0hJLbAkJCaSnp2Oz2Q7vu+GGG/jnP/9Z\n62ekxCZanFdfNePNpk41226rucrLM8u0HJnYjpN9Ktv1VqyoehQUwOmnm9lKZs40pbGTMj5OCA+j\nlOLzzz8/aqHRhpK/BRsoOTm5uS+hSXlbfBkZ8MorVdv33FOV1I6lzviKiuDTT+HOO80yytV17WqW\ndjkOp9N07HjxRbj8crMY5dix8N13VT3709NhwQJ4+GEzabI7k5q33b8TYeXYhHtIiU14reoTcAQH\nmxJQ5b4GV99pbbrfx8eb2fDLykyXw+NwucxYsaVLzeP7780phg83ie3FF00vRSHEsbmzilTa2ITX\nuvRSM5j61FMbeIKiIpO4jlx/rKTETDNSB63NgpdLl8KyZfDtt6Y9b/Ro8zjzTNNJRYgT1ZxtbMkq\n2S3fM1KPPKHjExISyMrKwl5thuznnnuOm266qdbPSHd/YQlFRaarfocOZnvPHlMKanDp7IEHTOns\n2mvrdXhqKnzzTVWprLy8KpGddZaUyIR7tMTOI4mJicyePfuE2tjq+neSNrYGsno9vyfGN38+zJtX\ntd2xYz2TWnm5GYVdTXJyMjz3XJ1Jzek0vRYffdSUCnv0gP/+FwYOhCVLTK/GefNg0iTPS2qeeP/c\nxcqxCfeQNjbhsQoL4d//NuO3lDLLxZyQrCx45hl4/33TO+ODD2q+f4xpOQ4ehEWLzDjrb74xpcPz\nzjNtZEOHet6EwEJYhbSxiRahvByeftr0GvTza8AJCgpMYps4sdaprFwu03t/4ULTU3H3bjj7bJPM\nxo49ekYPIZpaS62KTEtLqzGO7dxzz2X+/Pm1fkba2ITXmDHDTNh7/vkn+MH5881M+ZUjsuvgcJgO\nH599ZhJaeLhZ4fmCC0ypTFZ4Fs2pJSa2hpA2tiZg9Xr+kxlfaWnV6/PPh8GDG3CS3383PUtqcegQ\nvPsuXHmlGVP28MPJdOpkZiTZts0U7IYPt05Ss/LPp5VjE+5hkf/GwltVLhezdKnZ7tPnOB/IzTXd\nE7t1q7n/z38+6tCMDNPZ4+OPzQTCo0aZktmrr5qVoi08j64QLZpURYqTLiXFtF3ZbGY8WEEBhIYe\n50N79phBawsXmt4k06Yd87CMDDNpyEcfwU8/mbayK680M2DJdFXCG0hVZP1IG5vwKBdfDE88Aaec\ncgIfSk83dYnXX3/UyOfMzKpk9uOPptPH+PHm+ch1PYXwdJLY6kfa2JqA1ev53RlfdraZN7HSZ58d\nJ6lt22Zm/6guJgbuv/9wUisogHfeMSWxTp1M1/zbb4cDB+A//4HLLqs7qcn9815Wjk24hyQ20eS2\nbjU1iJWOu6rz00+bqfCP4HTC4sVmTHV8vCmh3XijSWYffmjmZJQSmhBCqiKF22kNb78N11wD/v71\nOLiOTKe1WXzz3XfN+OoOHcxA7auuguho9163EJ5AqiLrR9ZjEyeVUqaDSHY2xMXVctCOHfDSS2aJ\n6HffPert1FQzXdXcuVBcbEppy5ebVWOEEKIuUhXZQFav5z/R+DZvNl3rK02bVkdSO3DALEoWHm5W\n2KzgdMLnn5tZ+3v0gO3bzZRaf/wBjz/u3qQm9897eUpsBwr2kVPwK/n5P5OTs5LvU/7LrtSPKCvL\nAuDd1FQOOByHj5+78WHWbp7Ili2Xs2nT+Xz0w2BW/jiIgoItAJy/aRPr8/ObJRarOW6JTSn1FnAB\nkK617lOxLxL4EOgI7AbGa61zmvA6hYdTyqwAUy9t25oiXcU8WX/8AW+9BXPmmKrGm282pbXjDgEQ\nog7lrnLKywvRrgKczjx+L0gnyuYgJnwgvr6tmJ+RwdCwMNpW1Je/s2kqXdVugpWD8vJCthdmEmt3\n0q/H24SG9mfMxo1MT0hgaMUyR19tvI7OPnsJsodiswWz36FQga1oE3YKvr6tOeR0UupyHb6eqNA+\nRPj1IMIvFJstiBKHpn1AOAEBCQDM7d6dcKvMEHCCEhISSE9PPzylllKK7du3Exsb26DzHbeNTSk1\nHCgA5lVLbDOBTK31TKXUn4FWWutHjvicZepyxdG0NrPeP/IIhIXVceBHH5mi2/DhNXY7HKaE9+ab\nZoHOa6+Fm26C3r2b9rqF99jvcBBhtxNc8ctuye6PaMcBQlQx5eX5rMs5QHvfMvokTSU4uBe3//Yb\nN8XFMajiB/LtlYNJdP2Cnz0Mmy2U/U4/ov0j6d/9ZUJCTuHFlBQubN2azhU9jr7Y+Q6dfB1E+kdg\nswWzu1TRLrAVUSG9sNtDyHc6CbLZsB2391PjtMQ2NncvW3PcPw+01iuUUglH7L4YOLPi9VwgGXgE\n0WIoZaoLy8uPc2B0dI2FPFNS4PXXTULr3Rtuu83MBnLcTibCa2itcTpzOVCUSoDOJzK4M76+rViU\nlUWP4GA6ViziOm/TVJLKNxJMAU5nDqnFGYRQwCm9PyYycgyP7tzJzXFxnBERAUBa3kbC7BkEBrTG\nZgslJLgbYUHR2O1mftD72renbbXZsicNW41PHesa3XvEWkMXJNVcPqL1EceHttDSlDdq6J1qo7VO\nq3idBrRx0/V4jeTkZEZaeE6mY8W3fr0Zj3bLLWb7qGVkioshMLDmvlGj0BqWLYVXXjEdQCo7gnTv\n3mSXf1wt8f41RHm5A6czm7KyLLbn7yNU59I+cigBAR146+BBBoSGckpICABvrp1IJ8fX+Lhy8PEJ\nIpcQgn0j6d/9VSIiRrCjuJg4f386Vpy7fashRNv7ExMQjd0eQVsdRERAFEG+JpHN6dGjxrVc1/ep\nGrF1pKZuR4z1qCupCc/jzpJko/8E0VprpdQxr2jy5MkkJCQAEBERQb9+/Q7/Z6tsAPbW7Q0bNnjU\n9ZyM+FJTITb2GMfv2UPylCmwciUjU1IgMJDk5GQKCmDXrpG89hqUlCRz6aXwzjsjCQmpOp8nxWel\n7driGzHidMrKMlm69Av2FKYyYkg7Elufwdq1+1mQkcHl55zD8IgIkpOT+WLrY5zfcw1+vpFs2hRA\nliuAM4Z2Jia4PatX7yQtN5egc845fP7QoovoP+o5wvyj+e677wkBRg6v+v4+wCnVrkcRRrca15fD\nyJFdPeLf72RuJycnM2fOHIDDvy+by65d09mz5+9H7e/YcRqJidPrdXxtx9ZFa824ceOwV5SKR40a\nxX+r90Y7QfUax1ZRFfm/am1svwIjtdapSqk44FutdfcjPuORdbnixDzxBNx6q5kRv1ZjxkD//mYO\nxzZt+P1305P/vffgnHPgzjtNE1sTN020WFqXU1qawa78nShnGu3DehMU1IV3U1OJ9/dnZKtWALz5\n43V0KvwPfr6t8fOLIdUVTrB/LAMS7yU8/HRW5eYS6+dHYkWpu9hZjL+Pv5R8TjJpY6ufphjHthCY\nBMyoeF7QwPMID9elSz0S0qJFaBTffw/P/wlWrDDJcMsWWaizMVwuF8VlWfj52PH1bcUPubn4+/gw\noKK76DubphKXNwff8kzs9ghyVTR2vziiEh8kKKgLCQEBRFZb8nvCKf8iwD4Hm4/tmN83tFpbKECg\nPfCYxwnh6erT3f8DTEeRKKVUCvA34BngI6XUTVR092/Ki/REyRZto9m1CxYtgh49THxXX13tzcxM\nM6fVNdcc3uV0wvz5iuefNwOy77vPzOHo6TPpe8L9Ky4vx+FyEVGRfL7eMx8OfUI0aZSU7KWwJAXt\nE0iPTk/Rrt2dZJSVEVSt9HRm4i34qptoE9QeH5+aS4wfK75gv5Amj+lk8IR7JzxbfXpFTqjlrbPd\nfC3CA4SGHh5edjSbzczhqDV5+Yo33zRVjh07wtSpcOGF5hBh5JXmcajgV4LKUygp2c32nO2UOvbS\nJ/Z84uPv5v8OHiTP6eSxinaVEL9WOMNOp0NEdwICOuLr1xZfe9VfCJccsapBh9DEkxmOcJN9GftY\n/9t6CosK8Q3yJSo+CofTQWxILKfEnsiSF6I2MlekYMEC6NsXkpKOf2xmJvzzn/Cvf8Ho0WaR0EGD\nmv4aPVG5q5yc4r0E+bgIDOzE6txcthUVcUPFlCv//e0VfDNfISGsO4GBieSoWErtbekXPZSgoM7N\nfPUtj8vlwuF0UFJeQlFZEb42X2KCY0hLS2Pz5s0UFxcTGxtLq06t+HbXt5Q4SyhxlrBr2y5SU1IZ\nf+V4ru5dVYWxbNkynn32WQ4cOkB2bDatx7Y+/JkSZwm9UnuRmJPIm2++WeM6Hv7nw7z01Ev4+PnQ\nun9rOl3WCX+bP2M7j+X+ofe3yDa2hpC5IkWdcnIgL6/ajqIik73atTvcp3//fpg1y8wOcuWVsHq1\nWS6mJfklawM7971GR7Wf4uI/KCrZTbEKo1u7G+jUaQatfX0Pj9ECuKzbXdDtrma8Yu9T7ionKz+L\nPQf2UFJUQnxkPImJNUumX676ko+++4iOgztSVFZEYVkhRWVFhKeG88fnf1BUVMTw4cP5+99Nb735\nW+dzw2c3ULCuAH6HsKvDCPIN4qpeV/HC2BfYtGkTzzzzDIGBgZx99tkMjh3Mmv1rCLQHEmAPwKmd\nBPoFEupXcyqcLl26cPfdd1NMMc5gJ926dSPAHnD44a/8CbIfvdzEzHtmMvOemUftF+4jJbYG8uZ6\n/pIS+PJLs2bZUTZsgAsuILlLF0a+8Qa/+3Rl5kz45BOYPNmU0Nq1O9lX7H5H3r/y8hIyCrax49Bm\nugb60qbNBNbk5fGPPXv4rE8fAH7N3syvBz/mjDYDCAzsTEBAIjabZ66TczJ/PsvKyiguLiasYsaP\ng/kHWb1vNTt37WRt8lry8vMIjArkkssvYVK/SYc/t3TpUhYvXsyZN5/JjQtvpKC0gBJnCX47/Chd\nWEpYaBjNWTQIAAAgAElEQVS3TLyFmTNrJoG/PvtX1mWsY/D5gwnyDSLYN5gg3yAiSiPwzfAlKCiI\n+Ph4ulZMLlriLMHhdBBoD8TPXls9u+eQElv9SIlN1OB0wpIlZiXroyZT6NoVPvuMXZsLeGN6V5Ys\ngTvuMBMSH9HE45VcWuNT0c1zT95Ofth6O0lqFyUlKdj8E9hLPB3bjgXglOBg3qo2irx7ZB+6R/Zp\nlutuKuWucnIdueSU5JCfm4+90E6vXr1qHDM/eT5/efIvFOYX4h/nT+T5keQ6chnWfhhzx81lyZIl\nfPDBB7xbsUrD7pzdzN04l7L9ZezespvgkGA6RnckIiCixnn79+9Px44daduxLRtv30ioXyhBvkGo\n43TDHT1oNE+MfKLeMVaWoETLISW2FiIrC3Jzj9GOdsR6aNu2mZn0ly0zC1b/6U/HmQvSQ2mtKSze\nw9qMNXSzZ5pehaWlDFy3jj1DhwKQX5rPd3s/YmTcMAIDO+Pj43ucs3ourTV5jjyyirPYk7qHbTu2\n0fuU3ozoOOLwMRs3bmTq1KnsObiHFP8U7JfayS3JJcQvhFaBrehX1o+kg0nMmjWrxrm/3/Q9b3z8\nBq1btaZTUicGDRpEuH84UUFRtA46cuIp0VhSYqufuv6dJLG1EG+/DYWFcFf1Jp9nnzVdIKdMYft2\nk9CWLDEJ7a67IMTLeoeXu8qZ9/Md9Lf9QUHBepSPP9tdiZwRO5TOnZ4FFEUu1+FJdT2Z1prU3FR+\n2/Mbtggb6YXp+Np8ubjbxWzfvp1HH32UtLQ0EhISuP2p2xnx9giCfIOIDIwkMCuQwrWFTH5kMo+P\nevzwOTMyMli7di0BoQGoUEXfbn2JCIjA7iMVN55EElv9SGJrAt7QxpaeDjExdRyQkcGuzFAenxnA\n55/DlClwzz2mhOap8TldToqLthEc1BUfH38u3ryZ2d26EV0xRuG9LY8zqs2ptA4biL9/7UteNEd8\nlaWqA/kHOJB/gIyMDPYu30tqaiohISE8/rhJQhtSNzD4/wYTkBWAa5mLfvf2IyY4hlPjTuWxEY+R\nmZnJsmXLiImJIT4+noSkBFzahZ+tqv3IU++fO1g5NpDEVl/SxtYCaQ2XXw6zZ1cs0Ol01mhQ270b\nnnwymgULTOlsxw6IiKj1dM1mf0EKuugnSgt+JC9vNak5awnyj2XgKV8RFNSFaQkJhFYrgV3T+2/N\ncp2p2an88scvhOpQBg8eXOO9lZtWcu5V56KuU/goH9qGtqVtaFu6+nUlLCOMdu3a0alaF9M+MX3I\n/0s+/vZjL3kQFRXF+PEtbk4EIepNSmwWU1YGlbMoOZ1gt2mzLPWDD8K8eWQkncaTT8K775r2s/vv\nh8jI5r3m6rYUFBBhtxNf0W3+zdWX0Nm3kI6RZxAWdhr+IQMJ8Y9ulmtzOBwsWbKEM889k0eXPsre\nvL3szd3L7pTd5MzIISAygLHDxvLpp5/W+FxBcQGrtqxiSN8hhPrL6qmiblJiqx8psbUQW7aYqsRl\ny8y23Q7Meh5mz6b46Rd5bvFgXvonTJxoOonUWU15EpSXF/Jz2rc487+na/RIIiPHsCg7m1NCQg4n\ntpuHfNbk16G15mDBQX5L/43333uf337/jQMHDtBpcicWXbPocC89rTUffPABY84fQ+fIzpyVeBYd\nwjvQPqw9UY9H1TpZcEhgCOcMOqfJ4xAnn3ZpXKUudGntz7rs+MdUfxaNJyW2BvLEen6tzXyNrat1\nVCvLzufN9wJ5/B92Ro0ys/XXZ2B1U8W3MfNHstPeJdyxloKCzTj8e1EePJQzEm4gJKTpphMqcZaw\nO2c3XVt3RaG46qqreP/997Hb7ZS7ykl8KZF2oe1Ifz+d+PbxdOnUhYnXTmRU4qjjdj/3RJ748+kO\n2qVZ9vUyRgwegavEhcvhMs8lLrRDH3595HtHbR/xXo3PHi/5lFVLQi5QfgofP59jP/vWsr+WZ+Wr\n6Dyjc4stsf3nP//hhRde4JdffiE4OJjExEQmTZrEn/70p6OOlRKbhf3f/5nVp6+/HhSa1pEACpfL\nDKp+9NFQkpLgiy/g1FNP/vXtLi7m54ICLo021Yd5JZnka3/6JT5NWNhp2GxNM4P8LY/fwvoN60nZ\nmULg+EDSXGm0D2/PmpvXEBkYSXx8PGVlZdjtdmw+Nvbet9d88OYmuRxL0y6TFMqLynEVVTwXu6pe\nV9t3wscUHZGAnJot9i34B/vjE+CDT4APyl8dfu3j73Pc17YgG/ZW9tqP86896Ry1z6bc/4fPDPee\nzlvMmjWLZ599ltdee40xY8YQHBzMhg0beO6557jpppvwq3US26NJic3Lbd9uJi6Oi8M0mp13HsvD\nL+bBB00JbsYMM6fjyaC1iwM5P7H+4P/o4VdM587Psb2oiK8PHeJON05XUu4qZ+ehnWxJ38LOr3cy\n8cqJxFXMz1hp5OSRBAcH0793f6688Ep6tu2Jr817x6m5i3ZpyovKKS8opzy/4rng+NvOfGet77mK\nXSYpBPlgC7SZ56Cazz6BR++zBdnq3F/9fJXJR/k2QSLxMC2xjS03N5d27drxzjvvcOmll9brM1Ji\nsxCtzfCzO+4w48wqZg0CYPf1f+OhZ2P4cT088wyMHw9NvUZkibOEJTv/TaeyH8jJWYaPvTVZttNo\n1eYqALoGBdE1qOHTTqWnp7Nx40bmLplLcadi9tr2si1jG9HB0fSO6c1p5adRXl5+1OeS5yQ3+Ds9\nlS7XJsHkluPMdR5+HHM7x3nMY8oLy00yCbFhD7VjC7HVfITWfO3X1q/29ysfQTaUj7WTjWhaq1at\nwuFwcMkll7jlfJLYGqi52jCUgqAgM99j5QDq3Fx48kl4++04HngA5r0HgY2s4asrvvX5+fQJDsbX\nxwdfH1/SDn1H//bn06nTcwQEtGdoA76vpLSELQe30DbSdIWv9Nhjj7F9+3Z843wZPmQ4Dw5+kF4x\nvQjzb9x0KM3ZBuUqdVGWXYYz20lZVsVzdlmN184sZ81jckxSsgXbsEfYsYfbsYXbsIfbDz8qtwM6\nBLBm/xpGDB1x+NjDx4R6fxKyavuhJ5g+ffrhyaOnTZvG9OnTj3q/+nN9P3c8mZmZREXV7IA1bNgw\ntm3bhsPhYPHixQwfPrze55OqyAY6mf+5HA5Ytw6GDavYsWUL3HUXzpf/xZvf92D6dLMW2pNPQmzt\nY5JPSPX4ch05FOR+S1T4EPz947jql194OimJpEZkz12HdvHt7m9Zd2Ad61PX89NbP9G6Y2vemPYG\nF3e72D1B1MFd909rTXlBOWXpZZSmlx77OaO0RqJylbiwR9rxjfTF3rriuWLbt7Xv0e+1sptHqB1l\nq19SsvIvfyvHBi2zKvKrr77i4osvxuFwHNW7uH379rz33nuMGDGixn6ZecTL/fEHPPWUGWyt5rwN\nDz/MtolPcNXSW2kd7cMLL0C/fu79zrKyQ2Rl/Y+MjPkczF6KLXggp3V/qcE9F3/66Sfefvttfvzx\nRy688EI6XNyBb3Z+w4C4AQxoO4C+MX2JCPScEeLOAielB0opPViK44DDvE4rPSpplWWUoewK3xhf\nfKN98YvxwzfmiOfomgnLFmqzfDuRaLiWmNhycnKIj49n3rx5XHbEsiMNSWxSFemhnE5TUgsONt3z\n33rL7N+dMJK/9tvMqi9iee45uOSSGnMYu8V/fnmGqMyniG19NtHRV9K9+xx8fVvV67PpOeks2bCE\nvba9rN63mi6RXZg1ZhZlZWV06tSJCRMm0K9fP0JCQpjcb7J7L7weXA4Xjn2Ow8nKccBRI3lVPmun\nxr+dP35t/fBv649fnB9+sX4E9QzCL7pm0rIFef7ck0J4soiICKZNm8Ydd9yB1ppzzz2X4OBgNm3a\nRGFh4QmfT0psDdTU1SHPPWeS2yOPmO2iInj6abNy9UMPwb33mm7+7rAhP5+vDx3ioQ4dADhYuJ91\n3//MhedeWO9zbErbxPWfXs+v638lYnsE1/zlGobED2FY+2G0Czs5C7hprXFmOynZW4Jjr4OSPSU1\nXjv2OijLKsOvrR+bQzZzeo/TqxLXEc+2MO8uVVm5us7KsUHLLLFVev/993nppZfYsmULwcHBJCUl\ncfPNNzNp0iR8fWv2apYSmxe6+27w/fBd9MpEFmSczn33wZAhZh3Q+PjGnbvAcYhVKe+ToLfTpctL\nxPr50a/aVP5xwe0I8dtxzM/uz97P8kXLWb58Ofv27eOLL74AIDEikdcvfJ3+N/evdY5DdygvLKd4\nZzHFfxRT8keJed5VcjiJ+fj64N/Bn4AOAfh3NM+hA0MJ6BhAQIcA/GL9UDaFI9lBr5G9jv+FQoiT\nZuLEiUycOLHR55ESmweZPNmUxirXeUyZu4y/vxHHqpwevPwynHVWw89d7Cyi4NAi0tM/IDt7CX/Y\nBjK20620iRlfZ8kkozCDb3Z+w9JdS1m+ZzmFRYUMXTuU4cOHc+aZZ9K/f/+GX1Qtyg6VUbzdJK/K\nR8kfJRT/Xowzx0lAYgCBnQIJ6GSeA5MCDycxe5j8rSa8W0susZ0I6TziJdavh969zUTGTz5pZhWZ\nOrWi9NbIscXvfNeDTsExJMRdS3T05fj6Hn/m49Z9WlN2URln9T2L0YmjGZkwkl4xvfBRjR8cp10a\nxz4HRduKKPrVPAq3FVL0axGuQheBXQNN0uocWCOJ+bfz9/ru6kLURRJb/UhiawLuqOfPz4e5c+HO\nO0GtWY1OSOSTFW144AEYMcIMxD5iQo16ez8tjXb+/pxZsRZNfmk+oX5HzyzvcrnY9us2YqJjiI6u\nmjU/OTmZIv8iRvYfSVBAwwdYa61x7HVQsKmAwk2FFG41yavotyLs4XaCugdVPXqYZ/92/k3evmX1\ndhorx2fl2EASW31JG5uH8vWFQ+mlOO+divrgPR7q+DFLHW14912T2E5EibOEXemfEeXrS3T0ZbTz\n9yeqWjGvelIrKy9j5d6VPP3y0yS/m0yICuHj9z9m9BFzb50/9PwTugZnvpPCLYUUbio8nMgKNhdg\nC7YR0jeE4D7BRI6JJH5KPEHdgrCHy4+fEML9pMR2khUXw4EDVTPsly35lt8eepPLUl7itkejmDKl\nxnqgx1VUtJ0DB/5NSuo7ZPokMKrrY0RFHT3A2eVysT51Pc+vep5Fvy+iU2QnBugBjEwcyfjR42td\ncqU2ZYfKyF+XT/5P+RSsKyB/fT6lqaUE9wwmuG+wSWR9gwnuE4xfVP0nLxWipZMSW/1IVaQH+d//\nYMUKmDnTPN92GyQlwauvQseO9T9PTskhvlh/IQn6d2JjbyAu7iaCgroc89jFixczZ84cHpz1IOsO\nruPCrhfWmLbqeJx5TvLXmyRW+ShLKyPk1BBCB4YSOjCUkP4hBHUJqvfMGEKIY5PEVj+S2JrAidTz\nO51gs1UMpHY4yC705+GHYdEieOkluOyy+g2yPuhw0MpuJ8Bmw+VysWj3+5zd4XL87FVTW21L2cYv\n+b9wRc8rDu8rLi5Ga01QPSYj1lpTvKOYr976it7Zvcn9PpeSPSWEnFKVxEIHhhLU1buTmNXbaawc\nn5VjA0ls9SVtbM3srrtg7Fi4RC3kj+cXcMZvbzF+PGzdCmHHmctXa43Wpfj4+HPf778zJT6eoeHh\n+Pj4cH7StQCk5KYwZfoUvvn8GwrSCrj2rWu5rMdlh3svBtYxp2N5cTn5P+WT90MeuT/kkvdDHj5B\nPuR3yif4smDa3t6W4L7B+NibeJkAIYRwEymxnQSZmZCVBXf/yUlBZgkvvhnC4MF1f8blKmXF7rco\nTXuVrm0n0LHjVLTWR/UWvPqTq/l659e0X9eecaPHcf819xMWXHu2LC8pJ29VHjnf5pDzbQ756/MJ\n7hVM2LAwwoeFEzYsjID4AHeELYRoACmx1Y9URZ5kZWVm7NnMmWbaq5kzTZXj1Klwzz11dw4pcmSQ\nkfoG+/e/ig7oTlnr2zmzwxWoitLX8uXLadWqFX379gVgc9pmurbuWutsH65SF3lrqhJZ3o95BPcO\nptWoVkSMiiD89HBswTLXoRCeoiUmtoSEBGbPnl2jZ/acOXOYPXs2K1asOOZnpCqyCdRVz+9r14zx\nX86BB37i0pUP0qWLGXxdMRVjrdKL0li7thudYi+lb99FhIT0RWvN6n2rcZQ7GJkwkrS0NKr/YPZp\n06fGObTWFP1WRPaibLIXZZP3fR6B3QJpNaoV7R9qT/gZ4fWancPq7RgSn/eycmwtlVLuXRldEpub\nFBTAqlVwzuBcyq6YwMD1B7jV/hb/eB3Gjau9c8h3OTn0Dg4m0teXmKA2DBvyB5EBrdm2exsvvX07\n3/l8R7ku59HhjwIwfvz4o87hzHeSsyyHrK+yyF6UDeUQeV4kbW9tS88PeuLbqpHTlgghxEnWmEQn\nia2BjvyLMT0dPv8csjNDWfPjFTgnXMeHM3yP2TlEaxfl5QXY7WEsPXSIUJuNyIrB1AW5hfQddQr7\nN+ynx+gevPHaG5ze/vSjbnLhr4VkfWYSWf5P+YQNCSNybCTxd8cT1DOo0X/9WP0vYonPe1k5tpbs\nyCrSxlSZShtbI5SVQUkJhIbC3r1wxx2weze88Ua11a6rcbmcrNnzNrkHZ9E19jKSkv5xjGNc3P7U\n7Tx262N0aFNVd6ldmrzVeWR+lknmgkzKC8uJujiKyPMjaTWqlbSTCWERzdnGNn26e5/rKyEhgays\nLOzVOiCUlpYyYMAAvvvuu2N+RjqPNIHk5GR+XDOC8t93Edi7E088YdZIe/hh8Dtioo0yZxHpaXNI\nSXkWfOMpjJrCyPaXsvTbpXRO7ExSUtIxv6O8pJxD3xwi67MsMv+XiV+0H60vaU3UJVGEDght0smA\nrd6OIfF5LyvHBi2z80hiYiKzZ8/mrGpLmMydO5c333xTOo+cbGeflkfGjKnM+O1dvv/el27djj7G\n4XTwv++7kBTRjx493sPl14M5G+Zw+8LuDDo4iLsuvKtGYnM5XGQvyib9w3SyvswipG8IUeOiOPWR\nUwnsVPt4NCGEsJLGJGBJbCdo0iQzG//ixSOZPRv+MfNDvr4Rqk+1mOd0UqY1rX198bf7M3TAanbs\n/YMHl7/NJ9s+4fwu5zN33FyGxg9FKYWr1MWhbw6ZZPa/LIL7BhNzVQydX+iMX5vmmWfRyn8Rg8Tn\nzawcm3APSWwnIj+fM84IZcIEGDgQNm2C2NijD3s+JYWOAQFcFx3NJ598wrMvPMuWtC38bd7f+PXO\nX2kT0gaX08Whr00yy1yQSVD3IGKuiiHp6ST82zbdCtRCCOENGjMEQNrYjiM3F954tYw70/5GztwF\nnB62hZdfsxESUlXPn+fIYdUfz9KenfTs+cHhGUIcDgcTJ07kmmuu4YILL8Dfz5+CjQWkzksl/f10\n/Nv7E3N1DNFXRhPQ3rNm+7B6O4bE572sHBu0zDa2hpA2tkYICID8V+ayJGsnP12fzKbnbYSGQnIy\nOJ357N//Cin7XuCg7TS6Jj3IwfyDxIWa1UH9/f2ZP38+joMO0l9OJ3VeKs4cJ7HXx9JveT+CujZ8\nAU8hhBDHJiW2Y8jOhoMHITgY/vQnKNyTyXNzomrM7/jBL0/R7tCLREWeS1noVdz57EzW71jPnOfm\nML7XeMqLysn8LJO0eWnkrc4j6rIoYq+PJXx4eJP2ZhRCeDcpsdWPdPc/QZ9+Cv/3f7B2LTzwADz4\noFnturov/niHghInczd8zM+pPzMpaRI3D7qZNmltOPB/B8j4KIOw08Joc30boi6JwhYk48yEEMcn\nia1+6vp3krVIKuTlgcsF+6+Ywut/3oXLBatXw1/+YpLaj3l53P7bb5SVlbFw4UKKfg3gHyte5PIe\nl7Nj8g7uPng3ORfn8MsVv+Af78+gzYPo+1Vf2kxo45VJLTk5ubkvoUlJfN7LyrEJ95A2tgrXXgul\npRDx00Xc/nwU466DorJcDhz4kLi4m+kVHEzMV1/R+YUXSEpK4r777mN57+Uc/OdBfl7wM5HnRpI0\nI4lWo1tJVaMQQjSjFl0V6XKZ57feMiWza6+Fv/8dgoIK2L//FTbtfpbw0GHEtn+crtH9mTNnDt3i\nuxG/KZ6Dbx5El2vibokj9vpY/GKaZ7yZEMJapCqyfqRX5DFkpJQwemAurRLCcagAvv4aknrmsXvf\ny+Qf/CfFug+Lcs/kg9XJzDpnA9FbEhi0aBDZi7IpuKiArq93NR1B3LjUghBCNLWW8DurRbax5X+2\nDPr04f5Df+XGqwr54Qfo1w8W73yb9Qe/5snvYrlg8goSbENZpVbRc0JPdty9g/DTwxmyawg93unB\nBtcGS/+AWL0dQ+LzXlaOralprZWVHrXF2agSm1JqN5AHlANlWuvBdX+ieb33nunxGPV1Gn1Of4Fx\nb59PMhkopQHFmMQbGLPyP9wV+zBPDepB4TWFuC5y0f2t7oQNC7N0IhNCCKtoVBubUmoXMEBrnX2M\n9zyqLvfbb82yMuHh8PrrRfTtayc7p4BLZszg5euuo2+H7qS9m8aB1w/gKnHR9ra2tJnUBr8oaTsT\nQpw8TdnG1lK4I7EN1FpnHeO9Zk9sLhdcedoebK1bsfbXMGbNysWn2wzCDr3Bd6vO4+VnvuDs087m\n5rCbCVoSRKtzWtH2trZEjIqQno1CiGYhia3xGtvGpoFvlFI/KaVucccFuUtqKtx9N4Rt/p4RvX9h\nyZKptI7uSMr+//LnjTFE7D2Vd9q/w33b7qPbKd0YtG0QvT7qVe/u+lav55f4vJuV47NybMI9Gtsr\n8nSt9UGlVDTwtVLqV6314VXhJk+eTEJCAgARERH069fv8OSllT+c7t7OyxvJ88/D+vXJjBkDt29M\n4MevRvPcRwFs/r0N9xc9wQtLY9nRbQfOCU6GPDQEZVPm87/W//s2bNjQJNfvKdsSn3dvWz0+K20n\nJyczZ84cgMO/L0XjuG0cm1JqGlCgtZ5VsX1SqyKLtu7m5/vfYdxPj9HzvCLefiKIpARFzv4cTjtj\nEM8GzCK6MJrYybHE3RxHQAfPmk1fCCFAqiLdocElNqVUEGDTWucrpYKBc4G/u+3K6unQITi74w7m\nFV7MwV4Xs+SLIp4O2kXRL63ZOvUQWV9m8d8xC4i7Kc5UM9rk50UIIaysMW1sbYAVSqkNwBrgc631\nEvdcVt3Ky2HXLpg2DQYOzGDoza/z8p0pPFL0Fh899iT3XZRP8dR9hA0JY8gfQ+j1YS8iz410a1Kr\nrEqwKonPu1k5PivHJtyjwSU2rfUuoJ8br+X4XC62fH2QyY/FkVmwnUcevZXX/r2GhR/HsGlBErc6\nrmXcheOIeyaOkFNDZNyZEEK0QF4xV2RKCjz5JPiuSqb79pkc/Nvt9O9+N3w1nIgvriBmTBLtr2tP\nxJkRUtUohPBq0sbWeB6b2HIyytj8qy9z58L8/5YT3DuVF8IP8fjSCbwc8jIB5wbQ+arORI6JxMev\nRc4MJoSwIElsjedRGaGkBH7824d8ePapJHbexbpVvRi78z98plfxfmYKp/YOZOWylZyZeiZD3h1C\n1EVRzZbUrF7PL/F5NyvHZ+XYhHs02+z+WkNmuotNGxVrPy/hw5U/c9FZr/P9T+/x8zpFn5gLCFg/\nnlMnDaLde/H4x/k316UKIYTwIk1aFfmPO6bhX3aAwNYRbMvvRBAHaJfREcfaEfzrwG4SXXn82RWF\nM9iX3SN/JrxnLondTqP/mGEEtJVxZkKIlkeqIhuvSRNbVKsbiQp7l3FntcJZfiO+difdnO2IUZeS\nE5tC37Pj6D6sI7YgW5NcgxBCeBtJbI3nsZ1HPF1ycvLh6XGsSOLzblaOz8qxgSQ2d/CoziNCCCFE\nY0mJTQghPIiU2BpPSmxCCCEsRRJbA1l9LI3E592sHJ+VYxPuIYlNCCGEpUgbmxBCeBBpY2s8KbEJ\nIYSwFElsDWT1en6Jz7tZOT4rxybcQxKbEEIIS5E2NiGE8CDSxtZ4UmITQghhKZLYGsjq9fwSn3ez\ncnxWjk24hyQ2IYQQliJtbEII4UGkja3xpMQmhBDCUiSxNZDV6/klPu9m5fisHJtwD0lsQgghLEXa\n2IQQwoNIG1vjSYlNCCGEpUhiayCr1/NLfN7NyvFZOTbhHpLYhBBCWIq0sQkhhAeRNrbGkxKbEEII\nS5HE1kBWr+eX+LybleOzcmzCPSSxCSGEsBRpYxNCCA8ibWyNJyU2IYQQliKJrYGsXs8v8Xk3K8dn\n5diEe0hiE0IIYSnSxiaEEB5E2tgaT0psQgghLEUSWwNZvZ5f4vNuVo7PyrEJ95DEJoQQwlKkjU0I\nITyItLE1npTYhBBCWIoktgayej2/xOfdrByflWMT7iGJTQghhKVIG5sQQngQaWNrPCmxCSGEsJQG\nJzal1Fil1K9KqR1KqT+786K8gdXr+SU+72bl+Kwcm3CPBiU2pZQNeAUYC/QEJiilerjzwjzdhg0b\nmvsSmpTE592sHJ+VYxPu0dAS22Dgd631bq11GfAf4BL3XZbny8nJae5LaFISn3ezcnxWjk24R0MT\nWzsgpdr2vop9QgghRLNqaGJr8d0dd+/e3dyX0KQkPu9m5fisHJtwjwZ191dKDQGma63HVmz/BXBp\nrWdUO6bFJz8hhGgI6e7fOA1NbHbgN2A0cABYC0zQWm9z7+UJIYQQJ8bekA9prZ1KqbuAxYANmC1J\nTQghhCdosplHhBBCiObQJDOPWH3wtlJqt1Jqk1LqZ6XU2ua+nsZSSr2llEpTSm2uti9SKfW1Umq7\nUmqJUiqiOa+xoWqJbbpSal/F/ftZKTW2Oa+xMZRS7ZVS3yqlflFKbVFK3VOx3yr3r7b4LHEPlVIB\nSqk1SqkNFfFNr9hvifvXXNxeYqsYvP0bcDawH/gRi7W/KaV2AQO01tnNfS3uoJQaDhQA87TWfSr2\nzQQytdYzK/44aaW1fqQ5r7MhaoltGpCvtX6+WS/ODZRSsUCs1nqDUioEWAeMA27AGvevtvjGY517\nGFL1ltcAAAMWSURBVKS1Lqrou7ASmAJcjgXuX3NpihJbSxm8bZleS1rrFcChI3ZfDMyteD0X88vE\n69QSG1jk/mmtU7XWGypeFwDbMGNKrXL/aosPrHMPiype+gG+mOFUlrh/zaUpEltLGLytgW+UUj8p\npW5p7otpIm201mkVr9OANs15MU3gbqXURqXUbKtU8yilEoD+wBoseP+qxbe6Ypcl7qFSykcptQFz\nn5Zorddiwft3MjVFYmsJvVFO11r3B84D7qyo7rKsivWHrHRf/wUkAv2Ag8Cs5r2cxquoppsPTNFa\n51d/zwr3ryK+TzDxFWChe6i1dmmt+wHxwGlKqd5HvO/19+9ka4rEth9oX227PabUZhla64MVzxnA\np5jqV6tJq2jfQCkVB6Q38/W4jdY6XVcA3sTL759SyheT1N7RWi+o2G2Z+1ctvncr47PaPQTQWucC\n3wJjsND9aw5Nkdh+AroopRKUUn7AVcDCJvieZqGUClJKhVa8DgbOBTbX/SmvtBCYVPF6ErCgjmO9\nSsUvikqX4sX3TymlgNnAVq31i9XessT9qy0+q9xDpVRUZTWqUioQOAfTjmiJ+9dcmmQcm1LqPOBF\nqgZvP+32L2kmSqlETCkNzAD397w9PqXUB8CZQBSmPv9vwGfAR0AHYDcwXmvtddOqHyO2acBITBWW\nBnYBt1Vrz/AqSqkzgO+ATVRVV/0FMxuQFe7fseKbCkzAAvdQKdUH0znEhilofKi1flIpFYkF7l9z\nkQHaQgghLKVJBmgLIYQQzUUSmxBCCEuRxCaEEMJSJLEJIYSwFElsQgghLEUSmxBCCEuRxCaEEMJS\nJLEJIYSwFElsQgghLMXe3BcgxMlSMR3aM0AnzIzwZcBErXVJs16YEMKtJLGJlqSd1voqpdRtWut/\nN/fFCCGahlRFihZDa72y4mVcnQcKIbyaJDbRoiilkoCi5r4OIUTTkcQmWpohmCVdhBAWJcvWCCGE\nsBQpsQkhhLAUSWxCCCEsRRKbEEIIS5HEJoQQwlIksQkhhLAUSWxCCCEsRRKbEEIIS5HEJoQQwlL+\nH/0TD9bUUNJFAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Naturally, larger $\\tau$ means higher uncertainty in estimates. \n", "\n", "Now, let us sample parameters from the joint posterior distribution." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# seed the RNG\n", "np.random.seed(13531)\n", "sample_num = 200\n", "# first sample tau's\n", "tau_probs = posterior_tau_densities / posterior_tau_densities.sum()\n", "samples_tau = np.random.choice(tau_knots, sample_num, p=tau_probs)\n", "# now sample mu conditioned on tau\n", "def sample_means_from_tau(tau, means, serrs, include_mu=False):\n", " if isinf(tau):\n", " if include_mu:\n", " raise ValueError(\"mu is not well defined when tau is infinity\")\n", " else:\n", " return np.random.normal(loc=means, scale=serrs)\n", "\n", " marginal_variances = serrs ** 2 + tau ** 2\n", " total_variance = 1.0/np.sum(1.0/marginal_variances)\n", " # precision weighted average\n", " mu_hat = np.sum((1.0/marginal_variances) * means) / \\\n", " np.sum(1.0/marginal_variances)\n", " sample_mu = np.random.normal(loc=mu_hat, scale=np.sqrt(total_variance))\n", " if tau == 0:\n", " if include_mu:\n", " return np.repeat(sample_mu, len(means) + 1)\n", " else:\n", " return np.repeat(sample_mu, len(means))\n", " \n", " conditional_means = \\\n", " ((1.0/(serrs ** 2)) * means + 1.0/(tau ** 2) * sample_mu) /\\\n", " (1.0/(serrs ** 2) + 1.0/(tau ** 2))\n", " conditional_scales = np.sqrt(1.0 / (1.0/(serrs ** 2) + 1.0/(tau ** 2)))\n", " if include_mu == True:\n", " return np.concatenate(([sample_mu],\n", " np.random.normal(loc=conditional_means,\n", " scale=conditional_scales)))\n", " else:\n", " return np.random.normal(loc=conditional_means,\n", " scale=conditional_scales)\n", " \n", "sample_means_from_taus = \\\n", " np.vectorize(sample_means_from_tau, otypes=[np.ndarray], excluded=[1,2,3])\n", "\n", "samples_df = DataFrame.from_records(sample_means_from_taus(samples_tau, school_data.means, school_data.serrs),\n", " columns=school_data.index)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we have posterior samples, we can reproduce Table 5.3. which shows quantiles of posterior samples:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "samples_df.quantile([0.025,0.25,0.5,0.75,0.975]).transpose().apply(np.round)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
0.0250.250.50.750.975
A -4 6 10 15 27
B -4 3 7 12 20
C-12 2 7 11 19
D -6 5 8 12 19
E-10 2 6 9 17
F-11 3 7 10 19
G -0 7 10 14 29
H -9 4 8 13 26
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 10, "text": [ " 0.025 0.250 0.500 0.750 0.975\n", "A -4 6 10 15 27\n", "B -4 3 7 12 20\n", "C -12 2 7 11 19\n", "D -6 5 8 12 19\n", "E -10 2 6 9 17\n", "F -11 3 7 10 19\n", "G -0 7 10 14 29\n", "H -9 4 8 13 26" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lower and upper quantiles deviate a bit from the book, but this is probably due to small sample size (200).\n", "\n", "Figure 5.8 (a) reproduced below shows posterior samples for the effect in school A." ] }, { "cell_type": "code", "collapsed": false, "input": [ "samples_df['A'].hist(bins=20)\n", "pl.axes().set_xlabel(r'Effect in School A')\n", "pl.xlim(-20,60)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 11, "text": [ "(-20, 60)" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Figure 5.8 (b) reproduced below shows posterior samples of the largest effect." ] }, { "cell_type": "code", "collapsed": false, "input": [ "pl.hist(samples_df.max(axis=1), bins=20)\n", "pl.axes().set_xlabel(r'Largest Effect')\n", "pl.xlim(-20,60)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 12, "text": [ "(-20, 60)" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": [ "$\\text{Pr}(\\max\\{ \\theta_j \\} > 28.4 \\mid y)$ can be calculated as:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "np.mean(samples_df.max(axis=1) > 28.4)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 13, "text": [ "0.055" ] } ], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since the probability is small, the accuracy with only 200 samples is quite poor.\n", "\n", "We can also compute $\\text{Pr}(\\theta_1 > \\theta_3 \\mid y)$:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "np.mean(samples_df['A'] > samples_df['C'])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 14, "text": [ "0.61499999999999999" ] } ], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Model Checking (BDA 6.5) ##\n", "\n", "To check the model fit, we sample predictive data from posterior distribution and then measure its test statistics." ] }, { "cell_type": "code", "collapsed": false, "input": [ "samples_df.head(20)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ABCDEFGH
0 7.716427 9.991674 0.866800 14.593627 -3.965988 20.090856 12.917670 1.829894
1 0.502421 0.895309 6.927228 7.559977 6.383656 5.732490 1.512876 11.911749
2 8.107001 8.818356 9.584960 11.167918 9.818180 9.268566 13.150036 11.544678
3 9.534934 0.192279 4.933994 0.482355 -5.051685 10.671843 22.620177 2.510405
4 18.022723 6.934803 8.512424 10.223763 -0.429200 -6.964528 9.610435 6.192576
5 6.633026 8.278496 4.938248 9.555146 3.424603 5.327314 6.755715 6.239499
6 17.482265 13.638312 9.628664 17.087535 -3.717156 8.630172 19.108511 -1.979328
7 24.679603 3.786353-13.655367 1.635514-16.328680-11.222549 17.283001 -7.251771
8 5.607194 7.493853 6.257384 7.402898 4.467476 6.417064 6.110007 7.335749
9 1.510968 4.395459 0.566861 9.807944 20.997995 -1.304262 5.611880 13.863666
10 12.992872 12.435256 13.049840 12.809142 12.259121 13.060207 13.397225 12.888974
11 3.284644 14.320452 5.336783 6.618106 -0.524970 -3.601224 7.833326 -3.732031
12 7.377929 6.828941 7.854961 9.082657 7.013176 7.083400 10.005125 8.248841
13 7.581249 7.036055 7.733224 7.954896 7.830516 7.242541 8.061920 7.625156
14 13.330399 15.175647 17.757907 16.201320 19.855363 19.631324 20.120813 19.342776
15 0.630096 7.182227 3.427380 -0.388352 8.674099 3.847556 8.419566 19.522541
16 19.841116 9.744172 16.355059 10.245631 8.982854 10.994532 18.775112 16.951828
17 5.840998 4.386583 7.317891 6.027662 4.462467 2.977552 4.499661 5.723083
18 6.137699 7.815479 6.554743 7.187624 8.016367 7.061611 5.763623 5.859263
19 8.870123 10.109709 12.002920 8.231484 6.697967 11.152029 7.715419 8.036580
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 15, "text": [ " A B C D E F \\\n", "0 7.716427 9.991674 0.866800 14.593627 -3.965988 20.090856 \n", "1 0.502421 0.895309 6.927228 7.559977 6.383656 5.732490 \n", "2 8.107001 8.818356 9.584960 11.167918 9.818180 9.268566 \n", "3 9.534934 0.192279 4.933994 0.482355 -5.051685 10.671843 \n", "4 18.022723 6.934803 8.512424 10.223763 -0.429200 -6.964528 \n", "5 6.633026 8.278496 4.938248 9.555146 3.424603 5.327314 \n", "6 17.482265 13.638312 9.628664 17.087535 -3.717156 8.630172 \n", "7 24.679603 3.786353 -13.655367 1.635514 -16.328680 -11.222549 \n", "8 5.607194 7.493853 6.257384 7.402898 4.467476 6.417064 \n", "9 1.510968 4.395459 0.566861 9.807944 20.997995 -1.304262 \n", "10 12.992872 12.435256 13.049840 12.809142 12.259121 13.060207 \n", "11 3.284644 14.320452 5.336783 6.618106 -0.524970 -3.601224 \n", "12 7.377929 6.828941 7.854961 9.082657 7.013176 7.083400 \n", "13 7.581249 7.036055 7.733224 7.954896 7.830516 7.242541 \n", "14 13.330399 15.175647 17.757907 16.201320 19.855363 19.631324 \n", "15 0.630096 7.182227 3.427380 -0.388352 8.674099 3.847556 \n", "16 19.841116 9.744172 16.355059 10.245631 8.982854 10.994532 \n", "17 5.840998 4.386583 7.317891 6.027662 4.462467 2.977552 \n", "18 6.137699 7.815479 6.554743 7.187624 8.016367 7.061611 \n", "19 8.870123 10.109709 12.002920 8.231484 6.697967 11.152029 \n", "\n", " G H \n", "0 12.917670 1.829894 \n", "1 1.512876 11.911749 \n", "2 13.150036 11.544678 \n", "3 22.620177 2.510405 \n", "4 9.610435 6.192576 \n", "5 6.755715 6.239499 \n", "6 19.108511 -1.979328 \n", "7 17.283001 -7.251771 \n", "8 6.110007 7.335749 \n", "9 5.611880 13.863666 \n", "10 13.397225 12.888974 \n", "11 7.833326 -3.732031 \n", "12 10.005125 8.248841 \n", "13 8.061920 7.625156 \n", "14 20.120813 19.342776 \n", "15 8.419566 19.522541 \n", "16 18.775112 16.951828 \n", "17 4.499661 5.723083 \n", "18 5.763623 5.859263 \n", "19 7.715419 8.036580 " ] } ], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [ "posterior_data_list = []\n", "for row_index, row in samples_df.iterrows():\n", " posterior_data_list.append( np.random.normal(loc=row, scale=school_data.serrs) )\n", "posterior_data_df = DataFrame.from_records(posterior_data_list,\n", " columns=school_data.index)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": [ "pl.hist(posterior_data_df.max(axis=1), bins=20)\n", "pl.axes().set_xlabel(r'T(y) = max(y)')\n", "pl.axvline(school_data.means.max(), color='r', linestyle='dashed', linewidth=2)\n", "print \"p-value: %.2f\" % (np.sum(posterior_data_df.max(axis=1) > school_data.means.max())/float(len(posterior_data_df)))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "p-value: 0.56\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nkhpnkEtS4/4/KfmDsEIRKl0AAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 17 }, { "cell_type": "code", "collapsed": false, "input": [ "pl.hist(posterior_data_df.min(axis=1), bins=20)\n", "pl.axes().set_xlabel(r'T(y) = min(y)')\n", "pl.axvline(school_data.means.min(), color='r', linestyle='dashed', linewidth=2)\n", "print \"p-value: %.2f\" % (np.sum(posterior_data_df.min(axis=1) > school_data.means.min())/float(len(posterior_data_df)))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "p-value: 0.23\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\ngg==\n", "text": [ "" ] } ], "prompt_number": 18 }, { "cell_type": "code", "collapsed": false, "input": [ "pl.hist(posterior_data_df.mean(axis=1), bins=20)\n", "pl.axes().set_xlabel(r'T(y) = mean(y)')\n", "pl.axvline(school_data.means.mean(), color='r', linestyle='dashed', linewidth=2)\n", "print \"p-value: %.2f\" % (np.sum(posterior_data_df.mean(axis=1) > school_data.means.mean())/float(len(posterior_data_df)))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "p-value: 0.51\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nkscAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 19 }, { "cell_type": "code", "collapsed": false, "input": [ "pl.hist(posterior_data_df.std(axis=1), bins=20)\n", "pl.axes().set_xlabel(r'T(y) = sd(y)')\n", "pl.axvline(school_data.means.std(), color='r', linestyle='dashed', linewidth=2)\n", "print \"p-value: %.2f\" % (np.sum(posterior_data_df.std(axis=1) > school_data.means.std())/float(len(posterior_data_df)))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "p-value: 0.80\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAXIAAAEPCAYAAABfmE8WAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEd9JREFUeJzt3WusbGV9x/Hvj5sU0SLSHNBioU2xF1GOpvaCjdNoLabW\nYi+02FbUxPhCkdg3okllNzVpwUDoLb4RLVZCazCi2GDBhhFsq5Q7yK01EEHhoBUEqrZe/n0x6xw2\n273Pnpk9s2c9c76fZMOaNWvW/q/97Pnt5zyz1rNSVUiS2rXfoguQJG2NQS5JjTPIJalxBrkkNc4g\nl6TGGeSS1Li9BnmSo5NcleQLSW5L8rZu/UqS+5Pc2H2dtD3lSpLWyt7OI09yJHBkVd2U5FDgeuBk\n4BTgsao6b3vKlCRt5IC9PVlVDwIPdsuPJ7kDeHb3dOZcmyRpDGOPkSc5BtgJfK5bdXqSm5NckOSw\nOdQmSRrDWEHeDatcApxRVY8D7wOOBU4AHgDOnVuFkqS92usYOUCSA4FPApdX1fnrPH8McFlVHb9m\nvZO4SNIUqmqioevNzloJcAFw++oQT3LUqs1eA9y6QTFL+3XWWWctvIZtPT4YffWgNttv3z6+ZT62\nqun6v3v9sBM4EfhD4JYkN3br3gWcmuSE7r19D/Dmqb67JGnLNjtr5bOs32u/fD7lSJIm5ZWdUxoM\nBosuYa48vrYt8/Et87FNa9MPO6fecVLz2rcWIN1nL7apNFdJqFl+2ClJ6r/NPuyURuyJS71lj1yS\nGmeQS1LjDHJJapxBLkmNM8glqXEGucaTPHEuuaReMcglqXEGuSQ1ziCXpMZ5Zad6JVOMwzunj/Z1\nBrl6aJJg9gNYySDXeOz1Sr3lGLkkNc4gl6TGGeSS1DiDXJIaZ5BLUuMMco3HuVak3vL0Q03EC3ak\n/jHINQUv2JH6xKEVSWqcQS5JjTPIJalxBrnGU+V8K1JPGeSS1DiDXJIaZ5BLUuMMcklqnEEuSY3z\nyk6Nx3lWpN6yRy5JjTPIJalxew3yJEcnuSrJF5LcluRt3frDk1yZ5O4kVyQ5bHvKlSStlb1NMZrk\nSODIqropyaHA9cDJwBuAr1XVOUneATyjqs5c89py+tIl0o2Rj/472eyHk/wejKbJnd/+pb5LQlVN\n9KHUXnvkVfVgVd3ULT8O3AE8G3g1cGG32YWMwl2StABjj5EnOQbYCXwe2FFVu7qndgE7Zl6Z+sW5\nVqTeGuv0w25Y5aPAGVX12Oq7xFRVJVn3Hb6ysrJneTAYMBgMtlKrJC2d4XDIcDjc0j72OkYOkORA\n4JPA5VV1frfuTmBQVQ8mOQq4qqp+as3rHCNfQvMew3aMXPu6mY+RZ/SuugC4fXeIdz4BnNYtnwZc\nOsk3lSTNzmZnrbwEuBq4hSe6Se8ErgU+AjwHuBc4paoeWfNae+RLyB65NF/T9Mg3HVrZQjEG+RIy\nyKX5mibInWtF43GuFam3vERfkhpnkEtS4wxySWqcY+Sauzi+Ls2VQa5tMNlZKJIm49CKxuNcK1Jv\nGeSS1DiDXJIaZ5BLUuMMcklqnEEuSY3z9EONx3PBpd4yyNW8eV5w5MyKaoFBriUw6QVH427vv0LU\nBsfIJalxBrkkNc4gl6TGGeQaj3OtSL1lkEtS4wxySWqcQS5JjTPIJalxBrkkNc4rOzUe51qResse\nuSQ1ziCXpMYZ5JLUOINckhpnkEtS4wxyjce5VqTeMsglqXEGuSQ1ziCXpMYZ5JLUuE2DPMkHkuxK\ncuuqdStJ7k9yY/d10nzLlCRtZJwe+QeBtUFdwHlVtbP7+tTsS1OvJM63IvXUpkFeVdcAD6/zlO9q\nSeqBrYyRn57k5iQXJDlsZhVJkiYybZC/DzgWOAF4ADh3ZhVJkiYy1XzkVfXQ7uUk7wcuW2+7lZWV\nPcuDwYDBYDDNt9OEMsVYdnnV5rom/Vn6c9SkhsMhw+FwS/vIOL94SY4BLquq47vHR1XVA93y24Gf\nq6rXrnlN+Uu9GKPwmeRnn80DqAu00X8n23e728/h5yhtIglVNVEPYtMeeZKLgZcCRyS5DzgLGCQ5\ngdFv+T3Am6eoVy3ZHVCeuSL1zlg98ql2bI98YebSI9/Cvtvd3h65tt80PXKv7JSkxhnkktQ4g1yS\nGmeQS1LjpjqPXPsgz1aResseuSQ1ziCXpMYZ5JLUOINckhpnkEtS4wxyjafqiflWJPWKQS5JjTPI\nJalxBrkkNc4gl6TGGeSS1DjnWtF4nGtF6i175JLUOINckhpnkEtS4wxySWqcQS5JjTPINR7nWpF6\ny9MPBUA8vXAmJv05ln8cNQMGuTrjBoqBv3eTBLM/S82GQyuS1DiDXJIaZ5BLUuMcI9dYqhvPdVRX\n6h975JLUOINckhpnkEtS4wxySWqcQS5JjfOsFY0le65Y9LwVqW/skUtS4zYN8iQfSLIrya2r1h2e\n5Mokdye5Islh8y1TkrSRcXrkHwROWrPuTODKqjoO+JfusSRpATYN8qq6Bnh4zepXAxd2yxcCJ8+4\nLknSmKYdI99RVbu65V3AjhnVI0ma0JY/7KzRzPjOjr/kiuyZb0VSv0x7+uGuJEdW1YNJjgIeWm+j\nlZWVPcuDwYDBYDDlt5M0zV2cvANR/w2HQ4bD4Zb2kXEaOskxwGVVdXz3+Bzgv6vq7CRnAodV1Zlr\nXlP+Ei3G6A0/6Z1q9r79k2c/nO2++7v9/GuZ5D0yTbv6HmxPEqpqor/amwZ5kouBlwJHMBoPfzfw\nceAjwHOAe4FTquqRNa8zyBfEIJ/V9ga5tt9cgnwLxRjkC2KQz2p7g1zbb5og98pOSWqcc61oLM61\nIvWXPXJJapxBLkmNc2ilAdOcPyxp32GQN2PSsyck7SscWpGkxtkj11iefB65pD6xRy5JjTPIJalx\nBrkkNc4gl6TGGeSS1DjPWtFYnGtF6i975JLUOINckhpnkEtS4wxySWqcQS5JjfOsFY3FuVak/rJH\nLkmNM8glqXEOrUhLbJK7S1VNcvMS9YlBLi21ccPZTz9a5tCKJDXOHrnG4lwrUn/ZI5ekxhnkktQ4\ng1ySGmeQS1LjDHJJapxnrWgszrUi9Zc9cklqnEEuSY0zyCWpcQa5JDVuSx92JrkXeBT4HvCdqnrx\nLIqSJI1vq2etFDCoqq/Pohj1l3OtSP01i6EV39mStEBbDfICPp3kuiRvmkVBkqTJbHVo5cSqeiDJ\njwBXJrmzqq7Z/eTKysqeDQeDAYPBYIvfTtK8THI3IfCOQrMyHA4ZDodb2kdm1RhJzgIer6pzu8dl\nQ8/G6A02yc9yntv3qZZ5bz//WiZ5j8z392C+tWt8Saiqif6qTj20kuSQJE/rlp8KvAK4ddr9SZKm\ns5WhlR3Ax7p/jh0AXFRVV8ykKvWOc61I/TWzoZUf2LFDKzPTh6GVJwd5X4Y+5r29Qyt7297393xs\n69CKJKkfDHJJapxBLkmNM8glqXHeIUhjca6V+Zj0IhxpPQa5tFCTnoUi/SCHViSpcQa5JDXOIJek\nxhnkktQ4P+zUWJxrReove+SS1DiDXJIa59CKpKl4R6H+MMglTcmLmfrCoRVJapw9co3FuVak/rJH\nLkmNM8glqXEGuSQ1ziCXpMb5Yec6zj77vdx33wNjb3/QQftz3nnvnWNFkrSxzOsk/STV6gUAP/Zj\nz+dLX3oF8Kwxtv4u8I45VwSTn7M72+2fPNfKYmvZvu37VMu8t59/La3mwXZLQlVNdHqYPfINvQ54\n/hjb/S+jIJ/3G1KS1ucYuSQ1ziCXpMYZ5JLUOINckhrnh50ai3OtSP1lj1ySGmeQS1LjHFqRtC0m\nvaPQpPblC44McknbxIvm5sWhFUlqnD1yjeXJc61I6pOpe+RJTkpyZ5L/TLIds0ZJktYxVZAn2R/4\nG+Ak4GeAU5P89CwL67/hoguYs+GiC5iz4aILmLPhoguYo+GiC+idaXvkLwb+q6rurarvAP8A/Obs\nymrBcNEFzNlw0QXM2XDRBczZcNEFzNFw0QX0zrRB/mzgvlWP7+/WSZK22bQfdi71CZsHHACHHno6\n++339A23+fa37+Lgg68Hvsejj25fbZK01lR3CEryC8BKVZ3UPX4n8P2qOnvVNksd9pI0L5PeIWja\nID8AuAt4GfAV4Frg1Kq6Y+KdSZK2ZKqhlar6bpK3Av8M7A9cYIhL0mLM7ebLkqTtMZdL9Jf9YqEk\n9ya5JcmNSa5ddD1bleQDSXYluXXVusOTXJnk7iRXJDlskTVOa4NjW0lyf9d+NyY5aZE1bkWSo5Nc\nleQLSW5L8rZu/bK030bHtxRtmOTgJJ9PclN3fCvd+onab+Y98u5iobuAlwNfBv6DJRs/T3IP8KKq\n+vqia5mFJL8MPA58qKqO79adA3ytqs7p/hg/o6rOXGSd09jg2M4CHquq8xZa3AwkORI4sqpuSnIo\ncD1wMvAGlqP9Njq+U1ieNjykqr7Zffb4WeAM4LeZoP3m0SPfVy4WWpppR6rqGuDhNatfDVzYLV/I\n6M3TnA2ODZak/arqwaq6qVt+HLiD0TUdy9J+Gx0fLE8bfrNbPAg4kNHp3RO13zyCfF+4WKiATye5\nLsmbFl3MnOyoql3d8i5gxyKLmYPTk9yc5IJWhx3WSnIMsBP4PEvYfquO73PdqqVowyT7JbmJUTtd\nUVXXMmH7zSPI94VPT0+sqp3AK4G3dP98X1o1Gn9bpnZ9H3AscALwAHDuYsvZum7Y4aPAGVX12Orn\nlqH9uuO7hNHxPc4StWFVfb+qTgB+FPj5JM9b8/ym7TePIP8ycPSqx0cz6pUvjap6oPv/V4GPMRpO\nWja7uvFJkhwFPLTgemamqh6qDvB+Gm+/JAcyCvG/r6pLu9VL036rju/Du49v2doQoKq+AVwF/BoT\ntt88gvw64CeTHJPkIOD3gE/M4fssRJJDkjytW34q8Arg1r2/qkmfAE7rlk8DLt3Ltk3p3hi7vYaG\n2y+j+6ddANxeVeevemop2m+j41uWNkxyxO5hoSQ/BPwqo88BJmq/uZxHnuSVwPk8cbHQn8/8myxI\nkmMZ9cJhdEHVRa0fX5KLgZcCRzAaj3s38HHgI8BzgHuBU6rqkUXVOK11ju0sYMDon+QF3AO8edV4\nZFOSvAS4GriFJ/75/U5GV1svQ/utd3zvAk5lCdowyfGMPszcn1HH+h+r6j1JDmeC9vOCIElqnPfs\nlKTGGeSS1DiDXJIaZ5BLUuMMcklqnEEuSY0zyLVQSZ65airSB1ZNTXpDkqcnGXYXhWz0+ucl+eA2\n1vv4quWjkly2yfa/nuRP51+Z9mWeR67eWDu9bJK3APtV1V9v8rorgTdW1X17225GNT5WVbuv7H0v\ncHVVbRbmNzCan+db865P+yZ75Oqb1b3v1zK6wpQkFybZMx1ykouS/Eb38DLg97f8jZO/6G5gcHMX\n0iQ5Nsm/Z3QjkfeseclvAZ/qtvtMkhes2tdnu6v2AIbAq7Zan7QRg1y91M3T8+NV9aVu1QXA67vn\nfhj4ReCfuueuA35gBsokx60atln9dUOSp6/Z9pnAyVX1s1X1AuDPuqf+Evjbqno+oxuN797+WODh\nbs79tfUdBzylqnbP/7FufdKsGOTqqyOAPXNLVNXVjCZjO4LRPBuXVNX3u6e/Cjxr7Q6q6u6q2rnO\n1wur6tE1mz8CfLub2/o1wO5hkF8CLu6WP7xq+6O677vbJcCruru8vBFYPW6/bn3SrByw6AKkDXwL\nOHjNug8Bf8RoRs3Xr1p/ME8E7x5JnsvoDlXrGXTThgJQVd9L8mLgZcDvAG/tlseqr7tV15WM7uTy\nu8ALN6tPmhWDXL1UVQ8n2T/JQVX1f93qv2N0D9ivVNWdqzY/DrhtnX3cxeiOMpvqpiR+alVdnuTf\ngC92T/0ro/H3i4A/WPWSu4Fj1uzm/cAngc+s/iPR1dfkNKtqg0Mr6pvVp1Fdwaqx5ap6CLidJw9b\nAPwKowDdiqcBlyW5GbgGeHu3/gxGd4G6hdHwSHW1/A/wxSQ/saq+G4BvrFPfgCfG86WZ8/RD9VaS\nncDbq+p13eNDGM1LvXP37cySPIXRWSEnrhoz3676TgZeVFV/0j1+FnBVVT131TY7GM1Z//LtrE37\nFnvk6q2quhG4qrs57csZ9cb/as09KY8G3rHdId7VdymjSf9J8jpGNwV+15rNjgb+eHsr077GHrkk\nNc4euSQ1ziCXpMYZ5JLUOINckhpnkEtS4wxySWrc/wNjhJsshRB6igAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 20 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Surprisingly, these p-values are too close to what we have in the book, considering the small data size!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Model Comparison based on predictive performance (BDA 7.3) ##\n", "\n", "(Sorry for extreme low quality code with a lot of redundancies here; I quickly began tosmell something bad, but was too lazy to go back.)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from scipy.stats import *\n", "# computing AIC\n", "# first, compute MLE estimate\n", "marginal_variances = school_data.serrs ** 2\n", "total_variance = 1.0/np.sum(1.0/marginal_variances)\n", "# precision weighted average\n", "mle_complete_pooling = np.sum((1.0/marginal_variances) * school_data.means) / np.sum(1.0/marginal_variances)\n", "mle_lpd_complete_pooling = norm.logpdf(school_data.means, loc=mle_complete_pooling, scale=school_data.serrs).sum()\n", "mle_lpd_no_pooling = norm.logpdf(school_data.means, loc=school_data.means, scale=school_data.serrs).sum()\n", "print \"AIC for complete pooling: %.1f\" % (-2 * mle_lpd_complete_pooling + 1 * 2)\n", "print \"AIC for no pooling: %.1f\" % (-2 * mle_lpd_no_pooling + 8 * 2)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "AIC for complete pooling: 61.3\n", "AIC for no pooling: 70.6\n" ] } ], "prompt_number": 21 }, { "cell_type": "code", "collapsed": false, "input": [ "# computing DIC\n", "# here we increase sample number to improve the precision\n", "sample_num = 2000\n", "# sample \n", "complete_pooling_samples_df = DataFrame.from_records(sample_means_from_taus(np.repeat(0,sample_num), school_data.means, school_data.serrs),\n", " columns=school_data.index)\n", "no_pooling_samples_df = DataFrame.from_records(sample_means_from_taus(np.repeat(float('inf'),sample_num), school_data.means, school_data.serrs),\n", " columns=school_data.index)\n", "\n", "samples_tau = np.random.choice(tau_knots, sample_num, p=tau_probs)\n", "hierarchical_samples_df = DataFrame.from_records(sample_means_from_taus(samples_tau, school_data.means, school_data.serrs),\n", " columns=school_data.index)\n", "# first, compute expected mean from posterior distribution\n", "pmean_no_pooling = no_pooling_samples_df.mean()\n", "pmean_complete_pooling = complete_pooling_samples_df.mean()\n", "pmean_hierarchical = hierarchical_samples_df.mean()\n", "\n", "pmean_lpd_no_pooling = norm.logpdf(school_data.means, loc=pmean_no_pooling, scale=school_data.serrs).sum()\n", "pmean_lpd_complete_pooling = norm.logpdf(school_data.means, loc=pmean_complete_pooling, scale=school_data.serrs).sum()\n", "pmean_lpd_hierarchical = norm.logpdf(school_data.means, loc=pmean_hierarchical, scale=school_data.serrs).sum()\n", "\n", "print \"-2lpd with no pooling: %.1f\" % (-2 * pmean_lpd_no_pooling)\n", "print \"-2lpd with complete pooling: %.1f\" % (-2 * pmean_lpd_complete_pooling)\n", "print \"-2lpd with hierarchical pooling: %.1f\" % (-2 * pmean_lpd_hierarchical)\n", "\n", "pdic_no_pooling = 2 * (pmean_lpd_no_pooling - \\\n", " no_pooling_samples_df.apply(lambda x: norm.logpdf(school_data.means, loc=x, \n", " scale=school_data.serrs),\n", " axis=1).sum(axis=1).mean())\n", "pdic_complete_pooling = 2 * (pmean_lpd_complete_pooling - \\\n", " complete_pooling_samples_df.apply(lambda x: norm.logpdf(school_data.means, loc=x, \n", " scale=school_data.serrs), \n", " axis=1).sum(axis=1).mean())\n", "pdic_hierarchical = 2 * (pmean_lpd_hierarchical - \\\n", " hierarchical_samples_df.apply(lambda x: norm.logpdf(school_data.means, loc=x, \n", " scale=school_data.serrs), axis=1).sum(axis=1).mean())\n", "print \"p_DIC for no pooling: %.1f\" % (pdic_no_pooling)\n", "print \"p_DIC for complete pooling: %.1f\" % (pdic_complete_pooling)\n", "print \"p_DIC for hierarchical pooling: %.1f\" % (pdic_hierarchical)\n", "\n", "print \"DIC for no pooling: %.1f\" % (-2 * pmean_lpd_no_pooling + 2 * pdic_no_pooling)\n", "print \"DIC for complete pooling: %.1f\" % (-2 * pmean_lpd_complete_pooling + 2 * pdic_complete_pooling)\n", "print \"DIC for hierarchical pooling: %.1f\" % (-2 * pmean_lpd_hierarchical + 2 * pdic_hierarchical)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "-2lpd with no pooling: 54.6\n", "-2lpd with complete pooling: 59.3\n", "-2lpd with hierarchical pooling: 57.5\n", "p_DIC for no pooling: 8.0" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "p_DIC for complete pooling: 1.0\n", "p_DIC for hierarchical pooling: 2.8\n", "DIC for no pooling: 70.7\n", "DIC for complete pooling: 61.3\n", "DIC for hierarchical pooling: 63.0\n" ] } ], "prompt_number": 22 }, { "cell_type": "code", "collapsed": false, "input": [ "# WAIC computation\n", "# here I am not being careful in numerical precision; in principle I should've done these calculation in log space.\n", "lppd_no_pooling = np.log(no_pooling_samples_df.apply(lambda x: norm.pdf(school_data.means, loc=x, \n", " scale=school_data.serrs), axis=1).mean(axis=0)).sum()\n", "lppd_complete_pooling = np.log(complete_pooling_samples_df.apply(lambda x: norm.pdf(school_data.means, loc=x, \n", " scale=school_data.serrs), axis=1).mean(axis=0)).sum()\n", "lppd_hierarchical = np.log(hierarchical_samples_df.apply(lambda x: norm.pdf(school_data.means, loc=x, \n", " scale=school_data.serrs), axis=1).mean(axis=0)).sum()\n", "print \"-2lppd with no pooling: %.1f\" % (-2 * lppd_no_pooling)\n", "print \"-2lppd with complete pooling: %.1f\" % (-2 * lppd_complete_pooling)\n", "print \"-2lppd with hierarchical pooling: %.1f\" % (-2 * lppd_hierarchical)\n", "\n", "pwaic_1_no_pooling = 2 * (lppd_no_pooling - \n", " no_pooling_samples_df.apply(lambda x: norm.logpdf(school_data.means, loc=x, \n", " scale=school_data.serrs), axis=1).mean(axis=0).sum())\n", "pwaic_1_complete_pooling = 2 * (lppd_complete_pooling - \n", " complete_pooling_samples_df.apply(lambda x: norm.logpdf(school_data.means, loc=x, \n", " scale=school_data.serrs), axis=1).mean(axis=0).sum())\n", "pwaic_1_hierarchical = 2 * (lppd_hierarchical - \n", " hierarchical_samples_df.apply(lambda x: norm.logpdf(school_data.means, loc=x, \n", " scale=school_data.serrs), axis=1).mean(axis=0).sum())\n", "\n", "print \"p_WAIC1 with no pooling: %.1f\" % (pwaic_1_no_pooling)\n", "print \"p_WAIC1 with complete pooling: %.1f\" % (pwaic_1_complete_pooling)\n", "print \"p_WAIC1 with hierarchical pooling: %.1f\" % (pwaic_1_hierarchical)\n", "\n", "pwaic_2_no_pooling = no_pooling_samples_df.apply(lambda x: norm.logpdf(school_data.means, loc=x, \n", " scale=school_data.serrs), axis=1).var(axis=0).sum()\n", "pwaic_2_complete_pooling = complete_pooling_samples_df.apply(lambda x: norm.logpdf(school_data.means, loc=x, \n", " scale=school_data.serrs), axis=1).var(axis=0).sum()\n", "pwaic_2_hierarchical = hierarchical_samples_df.apply(lambda x: norm.logpdf(school_data.means, loc=x, \n", " scale=school_data.serrs), axis=1).var(axis=0).sum()\n", "\n", "print \"p_WAIC2 with no pooling: %.1f\" % (pwaic_2_no_pooling)\n", "print \"p_WAIC2 with complete pooling: %.1f\" % (pwaic_2_complete_pooling)\n", "print \"p_WAIC2 with hierarchical pooling: %.1f\" % (pwaic_2_hierarchical)\n", "\n", "print \"WAIC with no pooling: %.1f\" % (-2 * (lppd_no_pooling - pwaic_2_no_pooling))\n", "print \"WAIC with complete pooling: %.1f\" % (-2 * (lppd_complete_pooling - pwaic_2_complete_pooling))\n", "print \"WAIC with hierarchical pooling: %.1f\" % (-2 * (lppd_hierarchical - pwaic_2_hierarchical))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "-2lppd with no pooling: 60.2\n", "-2lppd with complete pooling: 59.8\n", "-2lppd with hierarchical pooling: 59.2\n", "p_WAIC1 with no pooling: 2.5" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "p_WAIC1 with complete pooling: 0.6\n", "p_WAIC1 with hierarchical pooling: 1.0\n", "p_WAIC2 with no pooling: 4.0" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "p_WAIC2 with complete pooling: 0.6\n", "p_WAIC2 with hierarchical pooling: 1.3\n", "WAIC with no pooling: 68.2\n", "WAIC with complete pooling: 61.0\n", "WAIC with hierarchical pooling: 61.9\n" ] } ], "prompt_number": 23 }, { "cell_type": "markdown", "metadata": {}, "source": [ "LOOC is omitted since I am too lazy." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Clinical Trials of Beta-blockers (BDA 5.6) ##\n", "\n", "Here, we perform a meta-analysis which estimates the effect of beta-blockers from 22 clinical trials. Since a lot of plots are omitted in this chapter of the book, this notebook might be interesting for someone who wanted to take a deeper look on this analysis. \n", "\n", "The data can be retrieved from the BDA book website:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "blocker_data = read_csv(\"http://www.stat.columbia.edu/~gelman/book/data/meta.asc\",\n", " index_col='study', skiprows=3, delim_whitespace=True)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 24 }, { "cell_type": "code", "collapsed": false, "input": [ "blocker_data" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
control.deathscontrol.totaltreated.deathstreated.total
study
1 3 39 3 38
2 14 116 7 114
3 11 93 5 69
4 127 1520 102 1533
5 27 365 28 355
6 6 52 4 59
7 152 939 98 945
8 48 471 60 632
9 37 282 25 278
10 188 1921 138 1916
11 52 583 64 873
12 47 266 45 263
13 16 293 9 291
14 45 883 57 858
15 31 147 25 154
16 38 213 33 207
17 12 122 28 251
18 6 154 8 151
19 3 134 6 174
20 40 218 32 209
21 43 364 27 391
22 39 674 22 680
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 25, "text": [ " control.deaths control.total treated.deaths treated.total\n", "study \n", "1 3 39 3 38\n", "2 14 116 7 114\n", "3 11 93 5 69\n", "4 127 1520 102 1533\n", "5 27 365 28 355\n", "6 6 52 4 59\n", "7 152 939 98 945\n", "8 48 471 60 632\n", "9 37 282 25 278\n", "10 188 1921 138 1916\n", "11 52 583 64 873\n", "12 47 266 45 263\n", "13 16 293 9 291\n", "14 45 883 57 858\n", "15 31 147 25 154\n", "16 38 213 33 207\n", "17 12 122 28 251\n", "18 6 154 8 151\n", "19 3 134 6 174\n", "20 40 218 32 209\n", "21 43 364 27 391\n", "22 39 674 22 680" ] } ], "prompt_number": 25 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Our estimand in this analysis is log odds ratio; this is estimated by empirical logit which sampling variance is estimated by eq (5.24). We regard these values as means and variances of hierarchical normal means model. First, let us calculate these values:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "blocker_data['means'] = np.log(blocker_data['treated.deaths']\\\n", " /(blocker_data['treated.total']-blocker_data['treated.deaths'])) \\\n", " - np.log(blocker_data['control.deaths']\\\n", " /(blocker_data['control.total']-blocker_data['control.deaths']))\n", "blocker_data['serrs'] = np.sqrt(1.0/blocker_data['treated.deaths'] + \n", " 1.0/(blocker_data['treated.total'] - 1.0/blocker_data['treated.deaths']) + \n", " 1.0/blocker_data['control.deaths'] + \n", " 1.0/(blocker_data['control.total'] - 1.0/blocker_data['control.deaths'])) " ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 26 }, { "cell_type": "code", "collapsed": false, "input": [ "import pylab as pl\n", "# grid points to evaluate evaluate density function\n", "tau_min = 0; tau_max = 0.6; tau_grid_num = 1000\n", "tau_knots = np.linspace(tau_min, tau_max, tau_grid_num)\n", "lop_posterior_tau_densities = \\\n", " log_posterior_tau(tau_knots, blocker_data.means, \n", " blocker_data.serrs, log_prior=lambda tau: 0)\n", "# when calculating densities, it is numerically more stable to \n", "# first compute in log space, subtract the maximum, and then exponentiate\n", "posterior_tau_densities = \\\n", " np.exp(lop_posterior_tau_densities - np.max(lop_posterior_tau_densities))\n", "#np.exp(log_posterior_tau_densities - log_posterior_tau_densities.max())\n", "pl.plot(tau_knots, posterior_tau_densities, color='k', linestyle='-', linewidth=1)\n", "pl.axes().set_xlabel(r'$\\tau$')\n", "# the y-axis of unnormalized posterior means nothing, so rather hide the scale\n", "pl.axes().get_yaxis().set_visible(False)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nE2mvRQUAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 27 }, { "cell_type": "markdown", "metadata": {}, "source": [ "As mentioned in the book, the marginal posterior density function of $\\tau$ peaks at nonzero value, but still values around zero are quite plausible.\n", "\n", "The plot below shows mean effects conditioned on $\\tau$; combined with the information from plot above, this indicates that moderate amount of shrinkage in estimates are necessary." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def mean_posterior_given_tau(tau, means, serrs):\n", " assert(len(means) == len(serrs))\n", " marginal_variances = serrs ** 2 + tau ** 2\n", " total_variance = 1.0/np.sum(1.0/marginal_variances)\n", " # precision weighted average\n", " mu_hat = np.sum((1.0/marginal_variances) * means) / \\\n", " np.sum(1.0/marginal_variances)\n", " if tau == 0:\n", " return np.repeat(mu_hat, len(means))\n", " return ((1.0/(serrs ** 2)) * means + 1.0/(tau ** 2) * mu_hat) / (1.0/(serrs ** 2) + 1.0/(tau ** 2))\n", "\n", "def sd_posterior_given_tau(tau, serrs):\n", " marginal_variances = serrs ** 2 + tau ** 2\n", " total_variance = 1.0/np.sum(1.0/marginal_variances)\n", " individual_variances = (((serrs ** 2)/(serrs ** 2 + tau ** 2)) ** 2) * total_variance\n", " if tau == 0:\n", " return np.sqrt(individual_variances)\n", " return np.sqrt(individual_variances + 1.0 / (1.0/(serrs ** 2) + 1.0/(tau ** 2)))\n", "\n", "mean_posterior_given_taus = \\\n", " np.vectorize(mean_posterior_given_tau, otypes=[np.ndarray], excluded=[1,2])\n", "tau_conditional_means = \\\n", " pandas.DataFrame.from_records(mean_posterior_given_taus(tau_knots, blocker_data.means, blocker_data.serrs),\n", " index=tau_knots, columns=blocker_data.index)\n", " \n", "sd_posterior_given_taus = \\\n", " np.vectorize(sd_posterior_given_tau, otypes=[np.ndarray], excluded=[1])\n", "tau_conditional_sds = \\\n", " pandas.DataFrame.from_records(sd_posterior_given_taus(tau_knots, blocker_data.serrs),\n", " index = tau_knots, columns=blocker_data.index)\n", "# I was not able to put inline labels in Python. \n", "# this page contains an example code for it: http://stackoverflow.com/questions/16992038/inline-labels-in-matplotlib\n", "tau_conditional_means.plot()\n", "pl.legend(bbox_to_anchor=(1.05, 1), loc=2)\n", "pl.ylim(-1,0.5)\n", "pl.axes().set_xlabel(r'$\\tau$')\n", "pl.show()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nPN3uOdhsVx+iWGtNl9GVDMrer83h5ivL0ryfLlgDngB57jzy3fmJV0/+VefT1R1G6fPTOnFF7mBB\n2nuwho6OxNW7xcWJUlR0Zbq76KJCrCI/RkARyzUxdMtVWqYN2Gy+fmH60Udh1qxZ1S9ME1fyTujh\npYdkKoZjb6FQiOnTp/Pqq69y++23D+tnJRwnuNbWVn71q1/x6quv8vrrr2OaJnfffXeyjPWjWdId\nz4cffsgHH3zA228f54MP4sTjFfh86+joWEpuruJTn7Jz662J7tiKisTFlBNFXMc523L2SmjWJ1qb\n51rPUR4sT7Yue4KzLL9s0C8jptnW7/xmz3Qsdhm3e3afluaV8Jw/KsPwpQvWtkgbbdE22qPttEW6\nX6MprynL7cp+1RDNc+eR68olx5UzaPE4PCP7AmcY/Uc6SjfiUU9pakpcvZsmRHuW6eIizCIPRoEi\nlmMmBmkwGwcMU9Nsxm7PH3LL1OkMkm5g/2ttqofj888/z9atWzl9+vSwf3ZMwlEpFQT+L1AGnAO+\nqLVuHWBdO7APqNFap32mSLZ8EGNNa82ZM2d47bXXeP3113nzzTcpKipKBuWdd95JQUHBuB9TT3ds\n4vxlDUeO+MnJuQuH41O0tpYxZ47J7be7k92xy5f3GVd9QoiYEY41HOvTyjxcf5iOaEefsOx5DXrT\n35bTWzweJRI5lzY8I5FPsNvzBwjOBTidxePWQ6C1JmJGBg7UXvOhWIhOo5POWCcd0Q46Y539ihk3\nrxqgPSU1bP0uPz6nL23xOrzYbWnuQ+ppmV4tRHsv0zptiFJUBIWF6MICjEInRgBiORaGL4qh2gYM\nU8tq7zUG79XDtM/j5sbQVA/Hu+66i3Xr1vHEE08M+2fHKhz/FmjUWv+tUuobQIHW+psDrPtnwK8B\nuVrrzw6wTlZ8EJnKtOsqHo9z6NAhXn/9dV577TXeffddysvLuf3227njjju44447mJ7azzkOenfH\nvvjiLzh92ktt7WwCgU9jmivp7Czi+ustbr/dxc03J7pj58279oPgpNMcbu7XNVtVX0WuO5frS64n\nvzaf++65j+Uly7mu+Dq8zqGdH9Y6TjR6Ke2VteHwGbQ28Xjm4fHM7S69p+fidI7P5cSZ/L9pWAYh\nI5QMy4FCtE8xEut1GV2DFpfdNXB4Or1X5h3p10kWy4Y3FOXI7o+4be4cPK2deJrb8bZ04Glux93Y\n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\nRK5CYII=\n", "text": [ "" ] } ], "prompt_number": 28 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let us sample from the joint posterior distribution." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# seed the RNG\n", "np.random.seed(1353135)\n", "sample_num = 5000\n", "# first sample tau's\n", "tau_probs = posterior_tau_densities / posterior_tau_densities.sum()\n", "samples_tau = np.random.choice(tau_knots, sample_num, p=tau_probs)\n", "# now sample mu conditioned on tau\n", "samples_df = DataFrame.from_records(sample_means_from_taus(samples_tau, blocker_data.means, \n", " blocker_data.serrs, include_mu=True),\n", " columns=np.concatenate((['mu'],blocker_data.index)))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 29 }, { "cell_type": "code", "collapsed": false, "input": [ "samples_columns_df = samples_df.drop('mu', 1)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 30 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Posterior quantiles in Table 5.4 can now be reproduced." ] }, { "cell_type": "code", "collapsed": false, "input": [ "samples_columns_df.quantile([0.025,0.25,0.5,0.75,0.975]).transpose().apply(lambda x:np.round(x,decimals=2))" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
0.0250.250.50.750.975
1-0.58-0.32-0.25-0.15 0.12
2-0.64-0.37-0.28-0.20-0.01
3-0.60-0.35-0.27-0.19 0.03
4-0.44-0.31-0.25-0.19-0.06
5-0.43-0.28-0.21-0.10 0.14
6-0.61-0.34-0.26-0.18 0.05
7-0.61-0.43-0.35-0.28-0.17
8-0.41-0.28-0.21-0.13 0.10
9-0.59-0.36-0.28-0.21-0.03
10-0.48-0.35-0.29-0.24-0.13
11-0.47-0.31-0.25-0.17 0.01
12-0.43-0.29-0.21-0.12 0.10
13-0.63-0.36-0.28-0.20 0.01
14-0.34-0.22-0.13 0.01 0.29
15-0.55-0.34-0.26-0.19 0.03
16-0.47-0.31-0.23-0.15 0.07
17-0.47-0.29-0.21-0.11 0.16
18-0.49-0.31-0.23-0.13 0.17
19-0.52-0.31-0.23-0.14 0.17
20-0.50-0.32-0.25-0.17 0.04
21-0.65-0.40-0.31-0.24-0.09
22-0.65-0.40-0.30-0.23-0.07
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 31, "text": [ " 0.025 0.250 0.500 0.750 0.975\n", "1 -0.58 -0.32 -0.25 -0.15 0.12\n", "2 -0.64 -0.37 -0.28 -0.20 -0.01\n", "3 -0.60 -0.35 -0.27 -0.19 0.03\n", "4 -0.44 -0.31 -0.25 -0.19 -0.06\n", "5 -0.43 -0.28 -0.21 -0.10 0.14\n", "6 -0.61 -0.34 -0.26 -0.18 0.05\n", "7 -0.61 -0.43 -0.35 -0.28 -0.17\n", "8 -0.41 -0.28 -0.21 -0.13 0.10\n", "9 -0.59 -0.36 -0.28 -0.21 -0.03\n", "10 -0.48 -0.35 -0.29 -0.24 -0.13\n", "11 -0.47 -0.31 -0.25 -0.17 0.01\n", "12 -0.43 -0.29 -0.21 -0.12 0.10\n", "13 -0.63 -0.36 -0.28 -0.20 0.01\n", "14 -0.34 -0.22 -0.13 0.01 0.29\n", "15 -0.55 -0.34 -0.26 -0.19 0.03\n", "16 -0.47 -0.31 -0.23 -0.15 0.07\n", "17 -0.47 -0.29 -0.21 -0.11 0.16\n", "18 -0.49 -0.31 -0.23 -0.13 0.17\n", "19 -0.52 -0.31 -0.23 -0.14 0.17\n", "20 -0.50 -0.32 -0.25 -0.17 0.04\n", "21 -0.65 -0.40 -0.31 -0.24 -0.09\n", "22 -0.65 -0.40 -0.30 -0.23 -0.07" ] } ], "prompt_number": 31 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let us sample predicted effects." ] }, { "cell_type": "code", "collapsed": false, "input": [ "samples_predicted_effect = np.zeros(len(samples_tau))\n", "samples_predicted_effect[samples_tau > 0] = np.random.normal(loc=samples_df['mu'][samples_tau > 0],scale=samples_tau[samples_tau > 0])\n", "samples_predicted_effect[samples_tau == 0] = samples_df['mu'][samples_tau == 0]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 32 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now Table 5.5 can be reproduced." ] }, { "cell_type": "code", "collapsed": false, "input": [ "DataFrame({'mean':samples_df['mu'], \n", " 'standard deviation':samples_tau, \n", " 'predicted_effect':samples_predicted_effect}).quantile([0.025,0.25,0.5,0.75,0.975]).transpose().apply(lambda x:np.round(x,decimals=2))" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
0.0250.250.50.750.975
mean-0.37-0.29-0.25-0.21-0.11
predicted_effect-0.60-0.33-0.25-0.16 0.14
standard deviation 0.01 0.07 0.13 0.18 0.31
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 33, "text": [ " 0.025 0.250 0.500 0.750 0.975\n", "mean -0.37 -0.29 -0.25 -0.21 -0.11\n", "predicted_effect -0.60 -0.33 -0.25 -0.16 0.14\n", "standard deviation 0.01 0.07 0.13 0.18 0.31" ] } ], "prompt_number": 33 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Histograms of estimates, not shown in the book, are presented below." ] }, { "cell_type": "code", "collapsed": false, "input": [ "samples_columns_df.hist(figsize=(12,12),sharex=True, bins=20)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 34, "text": [ "array([[,\n", " ,\n", " ,\n", " ,\n", " ],\n", " [,\n", " ,\n", " ,\n", " ,\n", " ],\n", " [,\n", " ,\n", " ,\n", " ,\n", " ],\n", " [,\n", " ,\n", " ,\n", " ,\n", " ],\n", " [,\n", " ,\n", " ,\n", " ,\n", " ]], dtype=object)" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nSiPYAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 34 }, { "cell_type": "code", "collapsed": false, "input": [ "def mean_posterior_of_mean_given_tau(tau, means, serrs):\n", " assert(len(means) == len(serrs))\n", " marginal_variances = serrs ** 2 + tau ** 2\n", " total_variance = 1.0/np.sum(1.0/marginal_variances)\n", " # precision weighted average\n", " mu_hat = np.sum((1.0/marginal_variances) * means) / \\\n", " np.sum(1.0/marginal_variances)\n", " return mu_hat\n", "\n", "def sd_posterior_of_mean_given_tau(tau, means, serrs):\n", " assert(len(means) == len(serrs))\n", " marginal_variances = serrs ** 2 + tau ** 2\n", " total_variance = 1.0/np.sum(1.0/marginal_variances)\n", " return np.sqrt(total_variance)\n", "\n", "mean_posterior_of_mean_given_taus = \\\n", " np.vectorize(mean_posterior_of_mean_given_tau, otypes=[np.ndarray], excluded=[1,2])\n", "sd_posterior_of_mean_given_taus = \\\n", " np.vectorize(sd_posterior_of_mean_given_tau, otypes=[np.ndarray], excluded=[1,2])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 35 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Recall this was the posterior density of $\\tau$:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "pl.plot(tau_knots, posterior_tau_densities, color='k', linestyle='-', linewidth=1)\n", "pl.axes().set_xlabel(r'$\\tau$')\n", "# the y-axis of unnormalized posterior means nothing, so rather hide the scale\n", "pl.axes().get_yaxis().set_visible(False)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nE2mvRQUAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 36 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Compared to the posterior quantile values of data, the conditional $\\mu \\mid \\tau$ changes very little within most plausible region of $\\tau$." ] }, { "cell_type": "code", "collapsed": false, "input": [ "pl.plot(tau_knots, mean_posterior_of_mean_given_taus(tau_knots, blocker_data.means, blocker_data.serrs))\n", "#pl.ylim((-0.6,0.1))\n", "pl.axes().set_xlabel(r'$E[\\mu \\mid \\tau,y]$')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 37, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEVCAYAAAARjMm4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XuYneO9//H3B7GVaJO0WyaJkISohk3QED9aU3YcW1Ft\nUdWfttpddQ57V9BNrla7yYWy9dIDdptWUTva0Do0oUZ+ijglIicREpKQhAhNEDnM9/fH/YwsK2tm\nzcyamWfNzOd1Xc81z+Fez/re1zDf3IfnfhQRmJmZNWWLvAMwM7Pq52RhZmZlOVmYmVlZThZmZlaW\nk4WZmZXlZGFmZmW1OllI6iNpiqT5kiZL6lWizEBJD0maLWmWpHMKrv1I0rOSpkv6q6R+BdcukvSC\npHmSDm9tjGZm1jbU2ucsJI0H3oiI8ZIuBHpHxNiiMjVATUTMkNQTeBo4LiLmSto+IlZn5c4GhkXE\n9yQNA24FRgADgAeA3SKivrWVNDOzylTSDXUsMCHbnwAcV1wgIpZFxIxsfw0wF+ifHa8uKNoTaEgG\no4HbImJ9RCwCFgD7VxCnmZlVaKsKPts3IpZn+8uBvk0VljQI2AeYVnDux8DXgbeB2ux0f+Dxgo8u\nIbUwzMwsJ022LLIxiedKbMcWlovUl9Vof1bWBTURODdrYTR87pKI2An4PXB2E6F4TRIzsxw12bKI\niFGNXZO0XFJNRCzLBqdXNFKuB3AncEtETGrkdrcC9wDjgKXAwIJrO2bniu/rBGJm1goRoZZ+ppIx\ni7uBU7P9U4HNEoEkATcDcyLi2qJrQwsOR5PGMxrue5KkrSUNBoYCT5QKICK67HbZZZflHoPr5/p1\nx/p15bpFtP7f2JWMWVwB3CHpNGARcAKApP7AjRFxDHAQcAowU9L07HMXRcT9wH9J+iRpYHsRcDpA\nRMyRdAcwB9gAnBGV1NDMzCrW6mQREW8C/1ri/KvAMdn+IzTSeomILzdx758AP2ltbGZm1rb8BHeV\nqq2tzTuEduX6dW5duX5duW6VaPVDeXmT5N4pM7MWkkR08AC3mZl1E04WZmZWlpOFmZmV5WRhZmZl\nOVmYmVlZThZmZlaWk4WZmZXlZGFmZmU5WZiZWVlOFmZmVpaThZmZleVkYWZmZTlZmJlZWU4WZmZW\nlpOFmZmV5WRhZmZlOVmYmVlZThZmZlaWk4WZmZW1Vd4BmJlZ24qAN9+EF1+El17a9POll1p/T0VE\n20XYgSRFZ43dzKxSGzbAK698OBkU/pRgl13SNmTIpp//+q8iItTS72t1spDUB/gDsDOwCDghIt4q\nKjMQ+C2wAxDAryLiv7NrPwKOBeqBFcA3IuI1SYOAucC87DaPRcQZJb7fycLMurR//KN0InjpJViy\nBGpqNk8GDT/79Cl9T6njk8V44I2IGC/pQqB3RIwtKlMD1ETEDEk9gaeB4yJirqTtI2J1Vu5sYFhE\nfC9LFn+OiH8p8/1OFmbWqW3YkP7oN3QRvfQSLFy4KSmsXZv+8JdKBjvvDP/0Ty3/ztYmi0rGLI4F\nDsn2JwB1wIeSRUQsA5Zl+2skzQX6A3MbEkWmJ6mFYWbWZUTAqlWbEkDxtmQJ9O0LgwdvSgqf/3w6\n3mUX2GGH1J1UDSppWayKiN7ZvoA3G44bKT8IeBjYIyLWZOd+DHwdeBuojYiVWblZwAvZ+R9ExCMl\n7ueWhZnlbt06ePnlzVsGDVt9/abWQGFSqKR1UIl26YaSNAWoKXHpEmBCYXKQ9GZElOwly7qg6oDL\nI2JSietjgW0iYpykrYHtImKVpH2BSaQEs7roM04WZtbuIuD11zdvFTQkhWXLYMCADyeBwqTQp0/1\ntA6gnbqhImJUE1+4XFJNRCyT1I80SF2qXA/gTuCWUokicytwDzAuItYB67Lvf0bSi8BQ4JniD40b\nN+6D/draWmpra5uqjplZSe+9l/74l+ouWrgQttnmwwngwAPha19L+wMHwlZV/BBCXV0ddXV1Fd+n\n0gHulRFxZdYy6FVigFuk8YyVETGm6NrQiHgh2z8b+ExEnCDpE8CqiNgoaQgwFdizxEwrtyzMrFnq\n6+G11xrvKnrzzdQlVKqraPBg+NjH8q5B28ljNlQf4A5gJwqmzkrqD9wYEcdIOpj0x34maeoswEUR\ncb+kicAnSQPbi4DTs6mzxwM/BNZn1y6NiHtKfL+ThZl9YPXqxlsGixalP/iFSaAwMfTvD1tumXcN\nOkaHJ4u8OVmYdS8N00wbm1n0zjulWwZDhsCgQbDddnnXoDo4WZhZp9YwzbS4m6hhf/HiNJW01CDy\nkCFpCmo1DSRXKycLM6t677/f+DTThQtTwiiVDAYPTmMK22yTdw06PycLM8tdRJpKWqpl8NJLsGJF\nmj1UnAga9nv3duugvTlZmFmHWLOm9DTThnM9ezbeVTRgQHVPM+0OnCzMrE1EpBbAggVpfaIFC9LW\nkBBWr05JoFTrYPDglCysejlZmFmz1dfD0qUfTgaFyWGbbdISFbvumraGpa4HD04rnbqrqPNysjCz\nD9m4MQ0ml0oGCxdCr16bkkFDQmj42atX3tFbe3GyMOumVq2C55/ffHvxxTTVdOjQD7cSdt01dRn5\nuYPuycnCrAvbsCGNGRQmg3nz0s/33oNPfjJtu+++aX/oUNh227wjt2rjZGHWBdTXp6UpZs+GWbPS\nNnt2Sgo1NR9OBg37/fp5DMGaz8nCrBNpeB5h5swPJ4U5c9KS1nvsAXvuuennpz7lbiNrG04WZlWq\nvj6NH0yf/uFt40bYe++UDBoSwx57dK0VTq36OFmYVYH6+tRlNG0aPPNMSgrPPpueTN5nnw9vO+7o\n7iPreE4WZjl44w144gl4/PG0PflkSgwHHAD77ZeSwvDh8PGP5x2pWeJkYdbOItIMpKlT4ZFHUnJY\nsQJGjICRI1OCOOCANF3VrFo5WZi1sfr6NPD88MMpQUydCh/5CBxyCHz2sylB7L5793lpjnUNThZm\nbWDRIvjrX9P28MNpZtIhh2xKEDvvnHeEZpVxsjBrhTVroK4OJk9OCWLVKjj8cDjiCDjssPS6TbOu\nxMnCrJlefRXuvhsmTYK//x0+/emUHI44Ik1l3WKLvCM0az9OFmZNmDcvJYdJk2D+fDj6aBg9Go48\nErbfPu/ozDqOk4VZkQUL4Lbb0vaPf8Bxx6XtkEOgR4+8ozPLh5OFGfDaa3DHHXDrrWmw+oQT4OST\n08wlPwBn5mRh3di6dfDnP8PNN8Njj6XupZNPhkMP9Ss8zYq1Nlm0eihPUh9JUyTNlzRZ0mavS5E0\nUNJDkmZLmiXpnBJlLpBUL6lPwbmLJL0gaZ6kw1sbo3Vtzz8P3/8+7LQTXH99ShBLl8JvfpNmNDlR\nmLWdSuZ9jAWmRMRuwIPZcbH1wJiI2AMYCZwp6VMNFyUNBEYBLxecGwacCAwDjgRukOT5KQakxff+\n+EeorU1jD1tskR6Wq6uDU07x+xvM2ksl//Y6Fjgk258A1FGUMCJiGbAs218jaS7QH5ibFbkG+D5w\nV8HHRgO3RcR6YJGkBcD+wOMVxGqd3FtvpW6mn/0svb/h3HPh+OM9UG3WUSr5F3vfiFie7S8H+jZV\nWNIgYB9gWnY8GlgSETOLivYHlhQcLwEGVBCndWKvvALnnAODB6dVXP/wB3j0UTjxRCcKs47UZMtC\n0hSgpsSlSwoPIiIkNTraLKknMBE4N2thbAtcTOqC+qBYE6F4JLubWbAArrgidTl9+9tpjaYB/ieD\nWW6aTBYRMaqxa5KWS6qJiGWS+gErGinXA7gTuCUiJmWndwEGAc8qzWfcEXha0gHAUmBgwS12zM5t\nZty4cR/s19bWUltb21R1rBOYMwd+8hO4/34480x44QUv721Wibq6Ourq6iq+T6unzkoaD6yMiCsl\njQV6RcTYojIijWesjIgxTdxrIbBfRLyZDXDfShqnGAA8AOxaPE/WU2e7lpdfhssug3vvhfPPhzPO\ngI9+NO+ozLqeDp86C1wBjJI0Hzg0O0ZSf0n3ZGUOAk4BPidperYdWeJeH/zVj4g5wB3AHOA+4Axn\nha7rjTdScth3Xxg4MLUkxo51ojCrNn4oz3Lx/vvw05/CVVfBSSfBD34ANaVGx8ysTbW2ZeHHlqzD\n3XsvnHdeenHQ44/DrrvmHZGZleNkYR1mwQIYMyY9eX3ddXDUUXlHZGbN5Sejrd2tWweXX54W8zv4\nYHjuOScKs87GLQtrV089Baedlp6ReOaZtI6TmXU+bllYu3j3XfiP/4Bjjkk/77nHicKsM3PLwtrc\nM8+kFWCHD09dTjvskHdEZlYptyyszdTXw/jx6VWll14Kt9/uRGHWVbhlYW1i8WI49VTYsAGefBJ2\n3jnviMysLbllYRW7/34YMQJGjYKHHnKiMOuK3LKwVtu4EX70I7jpJpg4MU2LNbOuycnCWuWNN9Kb\n6dauTdNjvVSHWdfmbihrsenT4dOfhr33hgcecKIw6w7csrAWueuu9DKiG26Ar3wl72jMrKM4WViz\nRMDVV6eVYu+9Nw1om1n34WRhZa1bl95a9+STaZXYgQPLf8bMuhYnC2vS6tXwpS/BNtvAI49Az555\nR2RmefAAtzXq9dfhsMNg0CD405+cKMy6MycLK+nll+Ezn0kP2v3yl7DllnlHZGZ5crKwzcyZkx6w\nO/10+PGPQS1+AaOZdTUes7APmTkTjjgiLQj49a/nHY2ZVQsnC/vAjBlpxdjrroMTT8w7GjOrJu6G\nMiC9g+LII+H6650ozGxzblkYTz8NRx8NP/85HH983tGYWTVqdctCUh9JUyTNlzRZUq8SZQZKekjS\nbEmzJJ1ToswFkuol9cmOB0l6T9L0bLuhtTFaebNnp1ef/uIXThRm1rhKuqHGAlMiYjfgwey42Hpg\nTETsAYwEzpT0qYaLkgYCo4CXiz63ICL2ybYzKojRmvDSS6nr6eqr4YtfzDsaM6tmlSSLY4EJ2f4E\n4LjiAhGxLCJmZPtrgLlA/4Ii1wDfryAGa6VXX03PUFx0EXzta3lHY2bVrpJk0Tcilmf7y4G+TRWW\nNAjYB5iWHY8GlkTEzBLFB2ddUHWS/EqdNrZyJRx+eFo99gy328ysGZoc4JY0BSj1toJLCg8iIiRF\nE/fpCUwEzo2INZK2BS4mdUF9UCz7+SowMCJWSdoXmCRpj4hYXb46Vs4776TB7GOOgbGlOg7NzEpo\nMllExKjGrklaLqkmIpZJ6gesaKRcD+BO4JaImJSd3gUYBDyr9HjwjsDTkvaPiBXAuuz7n5H0IjAU\neKb43uPGjftgv7a2ltra2qaq0+1t3Ahf/SoMGwZXXOEns826g7q6Ourq6iq+jyIabRA0/UFpPLAy\nIq6UNBboFRFji8qINJ6xMiLGNHGvhcB+EfGmpE8AqyJio6QhwFRgz4h4q+gz0drYu6MIOPtseP75\n9D6KHj3yjsjM8iCJiGjxPxUrGbO4AhglaT5waHaMpP6S7snKHAScAnyuYCrskSXuVfhX/7OkFsd0\n4H+B7xYnCmu5a66BqVNh4kQnCjNruVa3LPLmlkXz/e//wvnnw6OP+sVFZt1da1sWThZd3OOPwxe+\nAFOmwPDheUdjZnnLoxvKqtzSpektd7/+tROFmVXGyaKLWrs2PZV91lnw+c/nHY2ZdXbuhuqCIuDU\nU+H99+H22z1F1sw2aW03lFed7YKuvTa9xOjvf3eiMLO24WTRxTzwQHrL3WOPwXbb5R2NmXUVThZd\nyOLFcMopqetp0KC8ozGzrsQD3F3E+vXpDXfnnQde9cTM2poHuLuICy6A+fPhrrtgC/8TwMwa4QHu\nbuxPf4I770zv0XaiMLP24JZFJ/fii3DggfCXv8D+++cdjZlVOz/B3Q2tXQtf+Qr85386UZhZ+3LL\nohM75xx47TW44w4/T2FmzeMxi27m3nvTYPaMGU4UZtb+nCw6oeXL0/uzb78devfOOxoz6w48ZtHJ\nRMA3vwnf+hZ89rN5R2Nm3YWTRSdz/fXw5ptw2WV5R2Jm3YkHuDuR556DQw9NLzTaZZe8ozGzzshT\nZ7u4996Dr34VrrrKicLMOp5bFp3EmDHw6qt+P4WZVcZTZ7uwqVPTsxQzZzpRmFk+3A1V5dasSbOf\nfvEL+PjH847GzLord0NVuTPOgHffhd/8Ju9IzKwr6PABbkl9JE2RNF/SZEm9SpQZKOkhSbMlzZJ0\nTsG1cZKWSJqebUcVXLtI0guS5kk6vLUxdnYPPJAWCLz22rwjMbPurtUtC0njgTciYrykC4HeETG2\nqEwNUBMRMyT1BJ4GRkfEPEmXAasj4pqizwwDbgVGAAOAB4DdIqK+qFyXblm8/TbstRf86ldwxBF5\nR2NmXUUeU2ePBSZk+xOA44oLRMSyiJiR7a8B5pISQINSAY8GbouI9RGxCFgAdLs1Vc8/H4480onC\nzKpDJcmib0Qsz/aXA32bKixpELAPMK3g9NmSnpV0c0E3Vn9gSUGZJXw4wXR599wDf/tbeqbCzKwa\nNJkssjGJ50psxxaWy/qDGu0TyrqgJgLnZi0MgJ8Dg4HhwGvA1U2E0nX7m4q8/TacfjrcfDNsv33e\n0ZiZJU0+ZxERoxq7Jmm5pJqIWCapH7CikXI9gDuBWyJiUsG9VxSUuQn4c3a4FBhYcIsds3ObGTdu\n3Af7tbW11NbWNlWdTmHsWDjqqLSsh5lZperq6qirq6v4PpUOcK+MiCsljQV6lRjgFmk8Y2VEjCm6\n1i8iXsv2xwAjIuLkggHu/dk0wL1r8Wh2VxzgnjoVTj4ZZs2CXpvNLTMzq1xrB7grSRZ9gDuAnYBF\nwAkR8Zak/sCNEXGMpIOBqcBMNnUlXRQR90v6LakLKoCFwHcbxkAkXQx8C9hA6rr6a4nv71LJYu1a\n2HtvuPJKOG6zqQJmZm2jw5NF3rpasrj4Ypg/HyZOzDsSM+vKvDZUJ/bss3DTTWntJzOzauS1oXK2\nYQOcdhpccQXU1OQdjZlZaU4WObv2WvjYx9JigWZm1cpjFjl68UU44ACYNs0vNDKzjuE35XUyEfBv\n/5aeq3CiMLNq52SRk1//Oj2tfd55eUdiZlaeu6FysGxZWlF28mQYPjzvaMysO/FzFp3ISSfBoEFp\nBpSZWUfycxadxH33wZNPpm4oM7POwsmiA73zTnpN6q9+BR/5SN7RmJk1n7uhOtC//3sar7jllrwj\nMbPuyt1QVW76dPjd7+C55/KOxMys5Tx1tgNs3Ajf+U4a0N5hh7yjMTNrOSeLDnD99emtd9/4Rt6R\nmJm1jscs2tkrr8C++8Kjj8Juu+UdjZl1d17uowpFwJlnwrnnOlGYWefmAe52dOedabHAO+/MOxIz\ns8q4G6qdvP02DBsGf/gDHHxw3tGYmSVe7qPKnHFGmgX1y1/mHYmZ2SZ+zqKKPPooTJoEs2fnHYmZ\nWdvwAHcbW7cuvafipz+F3r3zjsbMrG04WbSxq66CnXeGE07IOxIzs7bjMYs29MILcOCB8NRTaQly\nM7Nq0+HPWUjqI2mKpPmSJkvqVaLMQEkPSZotaZakcwqujZO0RNL0bDsyOz9I0nsF529obYwdqb4+\ndT9ddJEThZl1PZV0Q40FpkTEbsCD2XGx9cCYiNgDGAmcKWn37FoA10TEPtl2f8HnFhScP6OCGDvM\nTTfBu+/6Nalm1jVVkiyOBSZk+xOA44oLRMSyiJiR7a8B5gIDCoq0uClUjZYsgUsugZtvhi23zDsa\nM7O2V0my6BsRy7P95UDfpgpLGgTsA0wrOH22pGcl3VzUjTU464Kqk1TVj7RFwOmnw1lnwZ575h2N\nmVn7aPI5C0lTgJoSly4pPIiIkNToaLOknsBE4NyshQHwc+CH2f6PgKuB04BXgYERsUrSvsAkSXtE\nxOrmVKij3XprWizwj3/MOxIzs/bTZLKIiFGNXZO0XFJNRCyT1A9Y0Ui5HsCdwC0RMang3isKytwE\n/Dk7vw5Yl+0/I+lFYCjwTPG9x40b98F+bW0ttbW1TVWnza1YAeefD3/5C2y9dYd+tZlZs9TV1VFX\nV1fxfVo9dVbSeGBlRFwpaSzQKyLGFpURaTxjZUSMKbrWLyJey/bHACMi4mRJnwBWRcRGSUOAqcCe\nEfFW0edznzp70kmw004wfnyuYZiZNVuHrw0lqQ9wB7ATsAg4ISLektQfuDEijsnGG6YCM0mznwAu\nioj7Jf0WGJ6dXwh8NyKWSzqe1D21HqgHLo2Ie0p8f67J4q670ju1n30Wtt02tzDMzFrECwl2oNdf\nh733TivKfuYzuYRgZtYqThYdJAK+/GXYZRd3P5lZ5+NVZzvI738P8+enn2Zm3YVbFi2weDHstx9M\nngzDh3foV5uZtQm/g7ud1dfDN7+ZlvNwojCz7sbJopl+9jN45x34/vfzjsTMrOO5G6oZZsyAUaPg\nscdg11075CvNzNqFu6HayZo1cOKJcN11ThRm1n25ZVHGqafCVlulFWXNzDo7T51tB7/9LTzxRHrz\nnZlZd+aWRSNmzYLPfQ4efBD22qvdvsbMrEN5zKINrVoFX/wiXHONE4WZGbhlsZn6evjCF9Jg9nXX\ntfntzcxy5ZZFGxk3Ls2AuuqqvCMxM6seHuAu8Pvfw4QJaVC7R4+8ozEzqx5OFpmHH4YxY+Bvf4O+\nTb5N3Mys+3E3FDB3LpxwAtx2G+y5Z97RmJlVn26fLBYuhCOOSO+mOOywvKMxM6tO3TpZLF6cEsSF\nF6Yntc3MrLRumyxefTUlirPOgjPPzDsaM7Pq1i2Txfz5cNBB8O1vw/nn5x2NmVn163azoZ56Kj10\nd/nlcNppeUdjZtY5dKuWxe9+B0cdBb/4hROFmVlLdIuWxdq16Q13990HDz3k6bFmZi3V6paFpD6S\npkiaL2mypF4lygyU9JCk2ZJmSTqn6PrZkuZm164sOH+RpBckzZN0eGtjhNTttN9+sHRpejLbicLM\nrOVavZCgpPHAGxExXtKFQO+IGFtUpgaoiYgZknoCTwPHRcRcSZ8DLgaOjoj1kv45Il6XNAy4FRgB\nDAAeAHaLiPqieze5kOCyZXDppXDXXXDttXDSSaAWL51lZta15LGQ4LHAhGx/AnBccYGIWBYRM7L9\nNcBcoH92+XvAf0XE+uz669n50cBtEbE+IhYBC4D9mxvU/PlpOuywYfDRj8K8efDVrzpRmJlVopIx\ni74RsTzbXw40uaKSpEHAPsC07NRQ4LOSfgKsBf49Ip4iJZPHCz66hNTC2MyGDfD66zBzJkyblloR\nixfDd76TXl7Uv3+pT5mZWUs1mSwkTQFqSly6pPAgIkJSo31CWRfURODcrIXR8N29I2KkpBHAHcCQ\nRm5R8t49eozjIx+BHXaAAw6o5eqrazn44PTObDMzg7q6Ourq6iq+TyVjFvOA2ohYJqkf8FBE7F6i\nXA/gL8B9EXFtwfn7gCsi4uHseAEwEvg2QERckZ2/H7gsIqYV3Tc2bgy26FaTf83MKpPHmMXdQMOK\nSqcCk0oEJeBmYE5hoshMAg7Nyu0GbB0Rb2T3PUnS1pIGk7qrnigZvBOFmVmHqKRl0YfUdbQTsAg4\nISLektQfuDEijpF0MDAVmMmmrqSLI+K+rMXxP8BwYB1wQUTUZfe+GPgWsIHUdfXXEt/fLq9VNTPr\nylrbsvA7uM3MuhG/g9vMzNqNk4WZmZXlZGFmZmU5WZiZWVlOFmZmVpaThZmZleVkYWZmZTlZmJlZ\nWU4WZmZWlpOFmZmV5WRhZmZlOVmYmVlZThZmZlaWk4WZmZXlZGFmZmU5WZiZWVlOFmZmVpaThZmZ\nleVkYWZmZTlZmJlZWU4WZmZWlpOFmZmV1epkIamPpCmS5kuaLKlXiTIDJT0kabakWZLOKbp+tqS5\n2bUrs3ODJL0naXq23dDaGM3MrG1U0rIYC0yJiN2AB7PjYuuBMRGxBzASOFPSpwAkfQ44FtgrIvYE\nrir43IKI2Cfbzqggxk6rrq4u7xDalevXuXXl+nXlulWikmRxLDAh258AHFdcICKWRcSMbH8NMBfo\nn13+HvBfEbE+u/56BbF0OV39P1jXr3PryvXrynWrRCXJom9ELM/2lwN9myosaRCwDzAtOzUU+Kyk\nxyXVSfp0QfHBWRdUnaSDK4jRzMzawFZNXZQ0BagpcemSwoOICEnRxH16AhOBc7MWRsN3946IkZJG\nAHcAQ4BXgYERsUrSvsAkSXtExOpm18rMzNpWRLRqA+YBNdl+P2BeI+V6AH8Fzis6fx9wSMHxAuDj\nJT7/ELBvifPhzZs3b95avrXmb36TLYsy7gZOBa7Mfk4qLiBJwM3AnIi4tujyJOBQ4GFJuwFbR8RK\nSZ8AVkXERklDSN1VLxXfOyJUQexmZtYCyv6V3vIPSn1IXUc7AYuAEyLiLUn9gRsj4phsvGEqMJOU\n0QAujoj7JPUA/gcYDqwDLoiIOknHAz8kzaSqBy6NiHtaXUMzM6tYq5OFmZl1H1X/BLekIyXNk/SC\npAsbKfPf2fVnJe3T0TFWolz9JO0u6TFJayVdkEeMlWhG/b6W/d5mSvq7pL3yiLO1mlG/0Vn9pkt6\nUtJBecTZGs35fy8rN0LShqxXoNNoxu+uVtLbBQ8I/yCPOFurmX87a7O6zZJU1+QNWzvA3REbsCVp\n4HsQaaB8BvCpojJHA/dm+wcAj+cddxvX75+BTwOXk7rqco+7jet3IPCxbP/ILvj7265g/1+AuXnH\n3VZ1Kyj3N+AvwJfyjruNf3e1wN15x9qO9esFzAZ2zI4/0dQ9q71lsT/pae5FkR7eux0YXVTmg4cD\nI2Ia0EtSk898VJGy9YuI1yPiKdIYTmfTnPo9FhFvZ4fTgB07OMZKNKd+7xQc9iSNw3UGzfl/D+Bs\n0rT4zvZQbXPr11kn0jSnficDd0bEEoCIeKOpG1Z7shgALC44XpKdK1ems/zBaU79OrOW1u804N52\njahtNat+ko6TNJf0r+9vdVBslSpbN0kDSH+Afp6d6kwDoM353QXwf7JuxHslDeuw6CrXnPoNBfpk\n6/c9JenrTd2wkqmzHaG5//EVZ//O8h9tZ4mztZpdv2ytsG8BnaZPn2bWLyImkR4u/QypO3FUu0bV\nNppTt2tFTXXCAAAD5klEQVSBsRER2TT5zvSv8ObU7xnSA8LvSjqKNN1/t/YNq800p349gH2Bw4Bt\ngcckPR4RL5QqXO3JYikwsOB4IClDNlVmx+xcZ9Cc+nVmzapfNqh9I3BkRKzqoNjaQot+fxHx/yQN\nkdQnIt5s9+gq05y67QfcnvIEnwCOkrQ+Iu7umBArUrZ+UbBqRKTp/jd0kt8dNO/3txh4IyLeA96T\nNBXYGyiZLHIfiCkzSLMV8CJpkGZryg9wj6RzDZCWrV9B2XF0vgHu5vz+diINxI3MO952qt8ubJqi\nvi+wOO+426puReV/DRyfd9xt/LvrW/C72x9YlHfcbVy/3YEHSIPh2wLPAcMau2dVtywiYoOks0jL\nhWwJ3BwRcyV9N7v+y4i4V9LRkhYA7wDfzDHkFmlO/STVAE8CHwXqJZ1L+oWuafTGVaI59QMuBXoD\nP8/+hbo+IvbPK+aWaGb9vgT8X0nrgfeAE3MLuAWaWbdOq5n1+zLwPUkbgHeBk3ILuIWa+bdznqT7\nSQ9N15Mepp7T2D39UJ6ZmZVV7bOhzMysCjhZmJlZWU4WZmZWlpOFmZmV5WRhZmZlOVmYmVlZThZm\nZlaWk4WZmZXlZGHWQpJ+IGm/drz/aEnfaK/7m7VGVS/3YZanbGmEy4GLSat4Dgb6AXUR8XR7fW9E\n3CXp1Pa6v1lrOFmYNW4aMDkibmw4IekrpEXXypJ0ckTc2l7BmXUkd0OZNW4k8HcAScdk5x5rwed7\ntHlEZjlxsjBr3Ajg45KuAoYBRPYKygbZisdfy/Z/nL09jqIygyX9IXsb2Z8l/VHSNtm1PbMxkJHZ\n8e3tXSmz1nA3lFnj9gK+A+wAfFJSDzbvgjqU9OImgL0jotSLtwZExImSvltiae+epPerS9JQ0jL7\nZlXHLQuzEiRtD2yMiHpgJak76hBgXVHRPSLieUn/BLxf6l4R8Ui226/EtceBfSPiMQq6vcyqjZOF\nWWkjgGcBImI9sJH0prH3GgpI2hbYPjs8AJgh6ZBSN5M0hPQCnYbjQQWXG84fiJOFVSknC7MikkYA\n5wJ9JJ2WvXHsQeDloqIHAB/LBr8HAtsBaxu57Ujgiez+A4ApBddeyWZZHRYRz7ddTczajscszIpE\nxJPA6KLTPytR9CDgrIh4uBn3vLVgf6mkfwOQ9G2gDlgKTGptzGbtzS0Ls9bbhaan0q5v4tp22c+F\npEHuLwD/2UZxmbU5v4PbrIUk/QC4r5KnuCVtExElu6wkjQZ6R8RvWnt/s7bmZGFmZmW5G8rMzMpy\nsjAzs7KcLMzMrCwnCzMzK8vJwszMynKyMDOzspwszMysLCcLMzMr6/8DmdU7VDRc8FEAAAAASUVO\nRK5CYII=\n", "text": [ "" ] } ], "prompt_number": 37 }, { "cell_type": "markdown", "metadata": {}, "source": [ "However, the standard deviation changes greatly." ] }, { "cell_type": "code", "collapsed": false, "input": [ "pl.plot(tau_knots, sd_posterior_of_mean_given_taus(tau_knots, blocker_data.means, blocker_data.serrs))\n", "pl.axes().set_xlabel(r'sd$[\\mu \\mid \\tau,y]$')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 38, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 38 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The book comments the value of $\\text{sd}(\\mu \\mid \\tau,y)$ at $\\tau=0.13$:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "sd_posterior_of_mean_given_tau(0.13, blocker_data.means, blocker_data.serrs)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 39, "text": [ "0.061826519379229505" ] } ], "prompt_number": 39 }, { "cell_type": "markdown", "metadata": {}, "source": [ "On the other hand, $\\text{sd}(\\mu \\mid y)$, marginalized over $\\tau$, can be computed from posterior samples as follows:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "samples_df['mu'].std()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 40, "text": [ "0.064647961365995488" ] } ], "prompt_number": 40 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Well this is a bit different from the value in the book, 0.071. I wonder why...?" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 40 } ], "metadata": {} } ] }