Last active
March 21, 2016 19:59
-
-
Save dstndstn/57826ed2e3471c5eb080 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "metadata": { | |
| "name": "", | |
| "signature": "sha256:21ea22cb2496690f9ef8e10e8125a4fa9267a5414857d60e1a0706c0597d61cf" | |
| }, | |
| "nbformat": 3, | |
| "nbformat_minor": 0, | |
| "worksheets": [ | |
| { | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Let's look at how to code up MCMC to solve the cluster-and-field problem you've looked at before.\n", | |
| "\n", | |
| "We'll use the same imports, data definition, and likelihood function as before." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "from __future__ import print_function\n", | |
| "%matplotlib inline\n", | |
| "from pylab import *\n", | |
| "from scipy.stats import norm, uniform" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 4 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "input_mean = 5000.\n", | |
| "input_sigma = 1000.\n", | |
| "nclus = 1000.*(input_sigma/1000.)**3\n", | |
| "\n", | |
| "dmin = 0.\n", | |
| "dmax = 10000.\n", | |
| "nfield = 100\n", | |
| "true_frac = float(nclus)/float(nclus+nfield)\n", | |
| "\n", | |
| "ndatabins = 100" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 5 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "def makedata(inp_mean, inp_sigma, nclus, dmin, dmax, nfield):\n", | |
| " \"\"\"----------------------------------------------------------------\n", | |
| " Makes a simulated redshift dataset that includes a group/cluster\n", | |
| " superimposed on a uniform density background field\n", | |
| " ----------------------------------------------------------------\"\"\"\n", | |
| " # mock cluster data\n", | |
| " cluster = norm.rvs(loc=inp_mean, scale=inp_sigma, size=int(nclus))\n", | |
| " true_mean = mean(cluster)\n", | |
| " true_sigma = std(cluster)\n", | |
| "\n", | |
| " # mock field data\n", | |
| " field = uniform.rvs(loc=dmin, scale = dmax-dmin, size = nfield)\n", | |
| " # Put the cluster and field data together into a data sample\n", | |
| " data = concatenate((cluster, field))\n", | |
| " \n", | |
| " return (data, true_mean, true_sigma)\n", | |
| "\n", | |
| "# Generate the cluster\n", | |
| "(data, true_mean, true_sigma) = makedata(input_mean, input_sigma, nclus, dmin, dmax, nfield)\n", | |
| "print(\"Number of cluster members:\", nclus)\n", | |
| "print(\"Actual mean and sigma:\", true_mean, true_sigma)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "Number of cluster members: 1000.0\n", | |
| "Actual mean and sigma: 4982.29448471 1000.64115808\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 6 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "def plot_data(data, true_mean=None, true_sigma=None, ndatabins=100):\n", | |
| " \"\"\"--------------------------------------------------\n", | |
| " Plots a histogram of the input data set.\n", | |
| " Optionally also shows the cluster mean and dispersion\n", | |
| " -----------------------------------------------------\"\"\"\n", | |
| " hist(data, ndatabins, histtype='step')\n", | |
| " title('Data')\n", | |
| " xlabel(r\"$cz$\"+\" (km/s)\")\n", | |
| " ylabel(\"N per bin\")\n", | |
| "\n", | |
| " if true_mean: axvline(true_mean, ls='dotted')\n", | |
| " if true_sigma:\n", | |
| " axvline(true_mean+2*true_sigma, ls='dotted')\n", | |
| " axvline(true_mean-2*true_sigma, ls='dotted')\n", | |
| "\n", | |
| "print(\"Here are the data\")\n", | |
| "plot_data(data, true_mean, true_sigma)\n", | |
| "show()\n", | |
| "clf()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "Here are the data\n" | |
| ] | |
| }, | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "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\nRU5ErkJggg==\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x106bb4210>" | |
| ] | |
| }, | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x106b4cf50>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 48 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "def likelihood(mean, sigma, p_clus, data):\n", | |
| "\n", | |
| " \"\"\"---------------------------------------------------------------\n", | |
| " Calculate the likelihood of each member of the data set\n", | |
| " for a given model based on a cluster with a mean and dispersion\n", | |
| " plus a prior probability that a data point is in the cluster.\n", | |
| " \n", | |
| " Returns an array of probabilities same length as data.\n", | |
| " ---------------------------------------------------------------\"\"\"\n", | |
| " p_field = 1. - p_clus\n", | |
| " \n", | |
| " clus = norm(loc=mean, scale=sigma)\n", | |
| " field = uniform(dmin, dmax-dmin)\n", | |
| " \n", | |
| " p = p_clus*clus.pdf(data) + p_field*field.pdf(data)\n", | |
| "\n", | |
| " return p\n", | |
| "\n", | |
| "def loglikelihood(mean, sigma, p_clus, data):\n", | |
| "\n", | |
| " p = likelihood(mean, sigma, p_clus, data)\n", | |
| " logp = log(p)\n", | |
| " loglike = sum(logp)\n", | |
| " return loglike" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 8 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Now let's set up a Metropolis-Hastings MCMC function customized for your problem." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "def mcmc_mh(mu0, sigma0, pclus0, data, mu_step, sigma_step, pclus_step, posterior, steps):\n", | |
| " # Initialization\n", | |
| " mu, sigma, pclus = mu0, sigma0, pclus0\n", | |
| " # Compute the posterior probability of our initial place in parameter space\n", | |
| " post = posterior(mu, sigma, pclus, data)\n", | |
| "\n", | |
| " '''\n", | |
| " In this function, I am going to sample one parameter at a time. This is a choice; an\n", | |
| " advantage is that we can measure the acceptance rate for each parameter and adjust their\n", | |
| " step sizes independently.\n", | |
| " '''\n", | |
| " # We'll store our \"chain\" of samples; it's just a list\n", | |
| " chain = []\n", | |
| " # How many times we have tried & accepted each parameter:\n", | |
| " ntry = [0,0,0]\n", | |
| " naccept = [0,0,0]\n", | |
| " \n", | |
| " for i in range(steps):\n", | |
| " # Cycle through the parameters, sampling one each time\n", | |
| " mu_hat, sigma_hat, pclus_hat = mu, sigma, pclus\n", | |
| " if i % 3 == 0:\n", | |
| " mu_hat += np.random.normal(loc=0, scale=mu_step)\n", | |
| " elif i % 3 == 1:\n", | |
| " sigma_hat += np.random.normal(loc=0, scale=sigma_step)\n", | |
| " else:\n", | |
| " pclus_hat += np.random.normal(loc=0, scale=pclus_step)\n", | |
| "\n", | |
| " # Compute the posterior probability at the proposed \"hat\" point in parameter space.\n", | |
| " post_hat = posterior(mu_hat, sigma_hat, pclus_hat, data)\n", | |
| " if i % 100 == 0:\n", | |
| " print('Proposed hat', mu_hat, sigma_hat, pclus_hat, 'with posterior', post_hat)\n", | |
| " # Always accept if \"hat\" is better than our current set of parameters\n", | |
| " accept = (post_hat > post)\n", | |
| " # *Sometimes* accept if \"hat\" is worse.\n", | |
| " if not accept:\n", | |
| " # Specifically, we're going to accept based on the ratio of post_hat to post.\n", | |
| " # If post_hat/post is 0.3, we are going to accept 30% of the time. This is\n", | |
| " # usually written like so:\n", | |
| " # Draw a uniform random value:\n", | |
| " alpha = np.random.uniform(0, 1)\n", | |
| " # Accept based on ratio of posterior probabilities\n", | |
| " accept = (post_hat / post > alpha)\n", | |
| " \n", | |
| " if accept:\n", | |
| " # Jump to the new point in parameter space\n", | |
| " mu, sigma, pclus = mu_hat, sigma_hat, pclus_hat\n", | |
| " post = post_hat\n", | |
| " # Increment the \"accept\" counter\n", | |
| " naccept[i%3] += 1\n", | |
| " # Increment the \"try\" counter\n", | |
| " ntry[i%3] += 1\n", | |
| "\n", | |
| " # NOW record where we are in parameter space.\n", | |
| " chain.append((mu, sigma, pclus))\n", | |
| "\n", | |
| " accept_rate = [float(a)/float(t) for a,t in zip(naccept,ntry)]\n", | |
| " return chain, accept_rate\n" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 22 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Note that *mcmc_mh* requires a *posterior* scalar function. We'll build that from the *likelihood* function from before:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "def posterior(mu, sigma, pclus, data):\n", | |
| " # The *likelihood* function returns an *array* of likelihoods. We're going to multiply the\n", | |
| " # likelihoods of the data points, ie, assume they are independent.\n", | |
| " like = np.prod(likelihood(mu, sigma, pclus, data))\n", | |
| " # We also need to multiply in the priors. Let's assume uniform priors;\n", | |
| " prior_mu = 1.\n", | |
| " prior_sigma = 1.\n", | |
| " # pclus is required to be in the range 0 to 1.\n", | |
| " prior_pclus = (pclus >= 0. and pclus <= 1.)\n", | |
| " post = like * prior_mu * prior_sigma * prior_pclus\n", | |
| " return post\n", | |
| " " | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 23 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "mu0 = 3000\n", | |
| "sigma0 = 500\n", | |
| "pclus0 = 0.5\n", | |
| "\n", | |
| "mu_step = 100\n", | |
| "sigma_step = 100\n", | |
| "pclus_step = 0.01\n", | |
| "\n", | |
| "steps = 1000\n", | |
| "\n", | |
| "chain,accept = mcmc_mh(mu0, sigma0, pclus0, data, mu_step, sigma_step, pclus_step, posterior, steps)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "Proposed hat 3116.99645645 500 0.5 with posterior 0.0\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 3000 489.40108016 0.5 with posterior 0.0\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 3000 500 0.484730668596 with posterior 0.0\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 3183.56273661 500 0.5 with posterior 0.0\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 3000 489.648992722 0.5 with posterior 0.0\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 3000 500 0.52078632176 with posterior 0.0\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 3203.94735435 500 0.5 with posterior 0.0\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 3000 749.287929488 0.5 with posterior 0.0\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 3000 500 0.505110772501 with posterior 0.0\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 2941.68727324 500 0.5 with posterior 0.0\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 64 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Oh, that's not good! The posterior values are all zero. Turns out that since the likelihood values are all < 1, multiplying a bunch of them together results in numerical underflow." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "like = likelihood(mu0, sigma0, pclus0, data)\n", | |
| "print('Likelihoods:', like)\n", | |
| "print('Product', np.prod(like))" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "Likelihoods: [ 1.48382797e-04 3.08348394e-04 1.96505970e-04 ..., 3.09817364e-04\n", | |
| " 5.00000000e-05 5.00000000e-05]\n", | |
| "Product 0.0\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 28 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "So we'll have to work in log-probabilities. Rewrite the MCMC function a little..." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "def mcmc_mh_log(mu0, sigma0, pclus0, data, mu_step, sigma_step, pclus_step, logposterior, steps):\n", | |
| " # Initialization\n", | |
| " mu, sigma, pclus = mu0, sigma0, pclus0\n", | |
| " # Compute the (log-)posterior probability of our initial place in parameter space\n", | |
| " logpost = logposterior(mu, sigma, pclus, data)\n", | |
| "\n", | |
| " '''\n", | |
| " In this function, I am going to sample one parameter at a time. This is a choice; an\n", | |
| " advantage is that we can measure the acceptance rate for each parameter and adjust their\n", | |
| " step sizes independently.\n", | |
| " '''\n", | |
| " # We'll store our \"chain\" of samples; it's just a list\n", | |
| " chain = []\n", | |
| " # How many times we have tried & accepted each parameter:\n", | |
| " ntry = [0,0,0]\n", | |
| " naccept = [0,0,0]\n", | |
| " \n", | |
| " for i in range(steps):\n", | |
| " # Cycle through the parameters, sampling one each time\n", | |
| " mu_hat, sigma_hat, pclus_hat = mu, sigma, pclus\n", | |
| " if i % 3 == 0:\n", | |
| " mu_hat += np.random.normal(loc=0, scale=mu_step)\n", | |
| " elif i % 3 == 1:\n", | |
| " sigma_hat += np.random.normal(loc=0, scale=sigma_step)\n", | |
| " else:\n", | |
| " pclus_hat += np.random.normal(loc=0, scale=pclus_step)\n", | |
| "\n", | |
| " # Compute the posterior probability at the proposed \"hat\" point in parameter space.\n", | |
| " logpost_hat = logposterior(mu_hat, sigma_hat, pclus_hat, data)\n", | |
| " if i % 100 == 0:\n", | |
| " print('Proposed hat', mu_hat, sigma_hat, pclus_hat, 'with posterior', logpost_hat)\n", | |
| " # Always accept if \"hat\" is better than our current set of parameters\n", | |
| " accept = (logpost_hat > logpost)\n", | |
| " # *Sometimes* accept if \"hat\" is worse.\n", | |
| " if not accept:\n", | |
| " # Specifically, we're going to accept based on the ratio of post_hat to post.\n", | |
| " # If post_hat/post is 0.3, we are going to accept 30% of the time. This is\n", | |
| " # usually written like so:\n", | |
| " # Draw a uniform random value:\n", | |
| " alpha = np.random.uniform(0, 1)\n", | |
| " # Accept based on ratio of posterior probabilities. Have to come back from log space!\n", | |
| " accept = (np.exp(logpost_hat - logpost) > alpha)\n", | |
| " #print('Flipped a coin to accept:', np.exp(logpost_hat - logpost), accept)\n", | |
| " if accept:\n", | |
| " # Jump to the new point in parameter space\n", | |
| " mu, sigma, pclus = mu_hat, sigma_hat, pclus_hat\n", | |
| " logpost = logpost_hat\n", | |
| " # Increment the \"accept\" counter\n", | |
| " naccept[i%3] += 1\n", | |
| " # Increment the \"try\" counter\n", | |
| " ntry[i%3] += 1\n", | |
| "\n", | |
| " # NOW record where we are in parameter space.\n", | |
| " chain.append((mu, sigma, pclus))\n", | |
| "\n", | |
| " print('Ntry', ntry, 'Naccept', naccept)\n", | |
| " accept_rate = [float(a)/float(t) for a,t in zip(naccept,ntry)]\n", | |
| " return chain, accept_rate\n" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 83 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "And we also need to write the *logposterior* function. Note that now instead of returning *0* for out-of-bounds parameters, we can return *-infinity*." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "def logposterior(mu, sigma, pclus, data):\n", | |
| " # The *likelihood* function returns an *array* of likelihoods. We're going to multiply the\n", | |
| " # likelihoods of the data points, ie, assume they are independent.\n", | |
| " loglike = loglikelihood(mu, sigma, pclus, data)\n", | |
| " # We also need to multiply in the priors. Let's assume uniform priors;\n", | |
| " logprior_mu = 0.\n", | |
| " logprior_sigma = 0.\n", | |
| " # pclus is required to be in the range 0 to 1.\n", | |
| " if pclus >= 0. and pclus <= 1:\n", | |
| " logprior_pclus = 0.\n", | |
| " else:\n", | |
| " logprior_pclus = -np.inf\n", | |
| " logpost = loglike + logprior_mu + logprior_sigma + logprior_pclus\n", | |
| " return logpost\n", | |
| " " | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 84 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Okay, try with the log version!" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "chain,accept = mcmc_mh_log(mu0, sigma0, pclus0, data, mu_step, sigma_step, pclus_step, logposterior, steps)\n", | |
| "print('Acceptance ratios:', accept)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "Proposed hat 3065.82121535 500 0.5 with posterior -10531.3467645\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4482.28924833 939.09146853 0.572205064732 with posterior -9579.1279521\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5002.44670659 876.874801788 0.658677913307 with posterior -9453.99140235\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4860.98186547 901.660353579 0.79272242706 with posterior -9411.1613296\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5021.13959995 938.964246684 0.869247081807 with posterior -9391.39497448\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4976.88279895 976.473630475 0.880775667818 with posterior -9389.04495055\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5070.98476462 953.559224927 0.876663983366 with posterior -9393.32462443\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5001.04869261 1162.11560893 0.908936114299 with posterior -9403.96525998\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4933.40738999 940.164863476 0.855149007737 with posterior -9392.91159802\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4940.57924265 986.627532503 0.888230947638 with posterior -9389.23041759\n", | |
| "Ntry" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " [334, 333, 333] Naccept [141, 117, 231]\n", | |
| "Acceptance ratios: [0.4221556886227545, 0.35135135135135137, 0.6936936936936937]\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 85 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "It ran! Let's see how the parameters are moving around. Note that I initialized with *mu0=3000*, far from the peak." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "def plot_data_and_model(data, true_mean=None, true_sigma=None,\n", | |
| " samples=None,\n", | |
| " ndatabins=ndatabins):\n", | |
| "\n", | |
| " plot_data(data, true_mean, true_sigma, ndatabins=ndatabins)\n", | |
| "\n", | |
| " d = arange(0.,10010.,10.)\n", | |
| " for i,(mean,sig,frac) in enumerate(samples):\n", | |
| " p = likelihood(mean, sig, frac, d)\n", | |
| " norm = sum(p)\n", | |
| " nexp = p/norm*len(data)*len(d)/ndatabins\n", | |
| " plot(d, nexp, 'r-', alpha=0.2)\n", | |
| " title('Data and model')" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 86 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "plot_data_and_model(data, true_mean, true_sigma, chain[:50])" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "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\nhUaj0Wi88v+0bTREgky5nQAAAABJRU5ErkJggg==\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x106a16f10>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 87 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Looking at that plot, you can see that the narrow Gaussians on the left are where I initialized it around *mu0=3000*, and it slowly drops down and grows broader as the MCMC proceeds. Let's look at the end of the chain, maybe after it has burned in -- found the maximum in the parameter space and begun exploring it." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "plot_data_and_model(data, true_mean, true_sigma, chain[len(chain)/2::20])" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAEcCAYAAADZQfNOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd8XMW1+L9nV6ti9WJLtuSCe2/YgE0T3XRMqAmBQEJe\n8l4ayQuEvEcwkBB+ISHJCwnhPZxAIAkJvRmwMSg2YNwwtnFvsq1i2bJk9ba78/tjVtZKe1daW9s1\n38/nfnR35pazo7v3nJkzc44opTAYDAaDwR+2SAtgMBgMhujGKAqDwWAw9IpRFAaDwWDoFaMoDAaD\nwdArRlEYDAaDoVeMojAYDAZDrxhFYTAEARF5WkQeisB9R4mIW0T6/C2LyFdEZGU45DLEF0ZRGCKC\niJSKSLOI1ItIrYh8JCL/JiIS4PkBvyDDhPJsBkPcES0/MsPAQwFXKKUygBHAI8A9wOITvE5AiiVM\nRJMsBkPQMIrCEHGUUg1KqTeAG4HbRGQKgIhcLiIbRKRORA6IyP1ep63w/D0mIg0icrqIjBGR90Wk\nWkSOiMhzIpLp774i8lvPdetEZJ2InOVVt0hE/ikiz3h6PZ+LyKle9bNE5FNP3fNAci/3+Yqnx/SY\np/e0R0TmecoPiEiViNzqdXymiPxFRA57el7/1dnTEhGbiPzS8/32AJf3uFemiCwWkQoRKRORh6Ko\n12WIUcwDZIgalFJrgTKg84XdCNyilMpEvxC/KSJXe+rO9vzNVEqlK6VWez7/DBgKTAKGA4t6ueUa\nYAaQDfwNeEFEEr3qrwT+DmQCrwOPA3iOeRV4xnPuC8AX6H3o6TRgI5Djudc/gFOBMcAtwOMiMshz\n7O+AdOAU4FzgVuB2T93XPW0xE5gDXNfjvk8D7Z7rzgIuBr7Wi1wGQ58YRWGINirQL1OUUv9SSm3x\n7G8Gnke/OMFimEcptUcptVwp1aGUqgZ+7XW8D0qpvyqlapVSbqXUY0ASMMHrkJVKqXeUDoj2HFqp\nAJwBJCilfquUcimlXgLW9vG99imlnvFc659AEfCgR9Zl6Jf7WBGxo3tW9yqlmpRS+4FfAV/2XOcG\n4NdKqXKlVC3wcGdbiEg+cClwl1KqRSl1BPgNcFMfshkMvZIQaQEMhh4UAjUAInI62ncxBUhEv8j/\n6e9Ez4vyt+geSTraEKrp5fj/BO4AhqGt8gwgz+uQKq/9ZiDZM4wzDCjvcbn99O6j8L5WC4DnRe5d\nlua5v8NzvU4OoNsFdG/pYI+6TkZ6zq30mhNg63GMwXDCmB6FIWoQkbnoF+KHnqK/oYd4ipRSWcAf\n6XpmrYZ5HgZcwFTPcNWX8fOMi8jZwA+B65VSWUqpbKCOwBzSlXS9uDsZ6UemE6Ua6ABGeZWNQA/J\ndd57RI+6Tg4CbUCuUirbs2UqpaYFQS7DAMYoCkMk6RwyyRCRK9D+gGc7h5vQFnatUqpdRE4DvkjX\ny/gI4EaPxeN1fBNQLyKFaEXgj3TACVSLSKKI/ATdowiEVYBTRL4jIg4RuRaYG+C5vaKUcqF7TT8T\nkTQRGQnchR76wlP3HREpFJFs4Ede51YCS4HHRCTd4/geIyLnBEM2w8DFKApDJHlDROrRQyP3osfi\nb/eq/3fgQc8x96EdwAAopZrRjuuPRKTGo0geAGajewZvAC/h38p/x7PtBErRQz/eQzRW6yKU597t\nwLXAV4CjaL/BS718T7/X8sO30QpvL7AS+CvwZ0/d/wHvoh3j6/D9jreih+m2oofdXgAKepHDYOgT\nCXXiIo9zbh1QppS6UkQWoWdhdI7P3quUeiekQhgMBoPhpAmHM/u7aOsm3fNZAY95ZpkYDAaDIcoJ\n6dCTiBQBlwFP0eUkFMwKVoPBYIgZQu2j+DXaoej2KlPAt0Rko2cFaVaIZTAYDAZDPwiZovDMYjms\nlNpA9x7EE8Bo9MrSSrQD02AwGAxRSsic2SLyMHoeuxMdBycDeEkp5R3TZhTwhtU8bxExszMMBoPh\nJFBKBXV4P2Q9CqXUj5VSw5VSp6BDCLyvlLpVRIZ6HbYQ2NzLNcymFPfff3/EZYiWLRht8cgjirvv\n1vsbNihmzOj7nL/8RXHLLXq/qkoxeHD/ZLj0UsVbb+n93/xG8Z3vmOci0s9FvGyhIFzrKISu+du/\nEJFNIrIRHYfnrjDJYOgHixZFWoLo4dFHIy1B9GCei4FBWGI9KaVKgBLP/pd7PdhgMBgMUYVZmR0D\nFBcXR1qEqLEcI9YWSpHaVgM7d3LP1dsZ7DoEHR2RkcWDeS66iIa2iGdM9NgYwPwIuohIW9TWUvD5\nOsZXNUNVDrY6O9Ode2EZMHUqDB8OgWVwDSrmuejCtEVoMT0KQ0BEi+UYdvbuhZdewtbRRu2gQhg0\niCdfzWdFwvkwZQps2gQbN4Lb3fe14pAB+1wMMIyiMBj8sWkTvPoqTJ5Mc24RggKbjey6Ui5xvglN\nTTB/PlRW6mNDNOPEYIg0RlEYAmLAWY7btsH778P550NSEsqWQIckQlsbN3wzly0yFcrKYPt2mDED\nKipg9+5ISx12BtxzMUAxisJg6ElFBXzwAcydC/X1sGMHQze9zfTKJbB2LfbVH3GG6yNobNT1Bw7A\nhAmwcycPfe8oDgfHt4svjvSXMRj6j1EUhoAYMJZjUxOsXAlFRXD0qN4vL6ctJQs3dqis5JNXKylw\nHoSDB7WSqKiAujooKGDIoU089JMOmpvhzTfB5Yr0FwotA+a5GOCYWU8GQycuF3z6KbS16c8bNkBu\nLlRWkrdnB031CdDgILnZyXBXK3y4BUaN0j0Lmw3GjsWmnOTU7cXhmECC+XUZ4gTzKBsCYkBYjuXl\nupeQkAAffwzp6bBuHezfz+B9NaQ2uWGpnXniQHXkgTtXz3iqqIDmZkhLoyF5CIU1+6CpCEiN9DcK\nOQPiuTAYRWEwKAUddc2wdSe0ukj4dI2e4fT++1p5JCfTlDucXYOGM/zidJzlNdh2HtR12dl0HCyH\nxmbAjq39PFypDo9je0akv5rBEBSMj8IQEPFsOW7dCjNyDnLLZbX8/Ktbaa6sgX/9C0pLISND+yuw\nM+zYNli+nEMrd9CkkqC9HcrL+WhtIp+8XsVr961m4/PbcKakQ1UV9sa6SH+1kBPPz4WhC9OjMAxo\nZs6EjpoGWFMGm8p47e7t2DfvhIYa7Z9IT4fDh8msOEZiK9CSQGpLI5M4BJIPTidF7XvJnTWMs+Ug\n101YBlcWgt1OSlUppldhiAeMojAERFxbjmVlcOwYfPwxBc792KoPQ06mnvq6fz90dJDkhASXE/a7\nyVGKDoANFZCWhsOdRlJ5KYwaqtdVfPghXHopjtoqUpwNdKWLjz/i+rkwHMcMPRkGNg0NUF0N69dD\naSmFlIHdrqfGHjoEra3gdGJztZOAC5RCJSTSToKe6dTYyGAOY2s4ppWK262HrcrLAUVe68FIf0OD\nod8YRWEIiLi1HKuq4MgRvV7i0CEctCItjXrKq9Opp8y6XAjqeD5fcbaTgqdOKdy4sbc0Qm2tvl51\nNSxbhishidz2Q9DSEtGvGEri9rkwdMMoCsPApaVFK4lly/QLvqYGO0qXO516OpRX/KZORaHongTe\ngdKl7e1aWdTWwmefkVyxF7u7Aw4fDuOXMhiCT8gVhYjYRWSDiLzh+ZwjIstEZKeILBWRrFDLYOg/\ncWk5Hj6sX+pr1uhhJrebZJr8RoLtVBlCd0XR7UfU1qb9HVVV5Hy2HKfNrldvx2l02bh8Lgw+hKNH\n8V1gK12/sx8By5RS44Hlns8GQ1gRt0v3Jt58U0d/bW2Fjg4S8B8B1ls59BontqUFqqsZtH8rRU07\ndE/j6NFgiW4whJ2QKgoRKQIuA56i63d2FfCMZ/8Z4JpQymAIDvFmOQ5qrdEv748+gpoaPcTkcuEv\n/ZAC2j37LsDZ1w1aWkg8XMbEYx/rXkZlZbBEjyri7bkwWBPqHsWvgR8C3v3ufKVUlWe/CsgPsQwG\ngw+pzUdg+XI9Ndbp1Bv4VRQC2EmAhAQU9r5/OG439sY6Rjds0iE+amri2qltiG9Cto5CRK4ADiul\nNohIsdUxSiklIn578Yu8zJXi4mKT7jCCxJPlmNDeTEZjOWxZoaO+eoV4tVQUdjsdOHC7gEGJ2MXO\nkToodDRCR4ePc7sTm+pgSOsB3WsZMUIri8LC0HypCBFPz0WsUlJSQklJSUjvEcoFd/OBq0TkMiAZ\nyBCRZ4EqESlQSh0SkaGA3ykhi8xTaAgBKc3V5B3+HHbuDDgOuM3txEmiPr6jlRRskJoKbW2olha/\nPZFkmnRE2vPOg6ysuFMUhsjT04h+4IEHgn6PkA09KaV+rJQarpQ6BbgJeF8p9WXgdeA2z2G3Aa+G\nSgZD8Igbna0UGUdLGbvvXb3yOhAcDlxJ6bQmpEF6OvW2LNwk6LUWQDNJlqcJYMOlZz2tXasjzAZ6\nzxghbp4LQ6+Ecx1F5xDTI8BFIrITON/z2WAID3V1ZNbsZdjhjYH1JlJTITeX1rQcWpKyICUFwUYb\niZCUBK2tJOLELQ7L022ee/LJJ/pvTU1Qv47BEA7CEutJKfUv4F+e/RrgwnDc1xA84sZyLC+nYP9H\nJLcEMF01ORlyciAjgxbnYMoasxk510HysWZKlx6kMO0QiGBvbMSmXCDSbYEeeHwXSulItJ99Bvn5\nMHIk/t3msUXcPBeGXjErsw0DB7cbdu2iaN9HOHRYP/8kJMCQITB8OIwcSWv2MGrTToGpU3HPPoM3\nUm6ESy+FnBxaGKTPUb2srqithRUr9HqNOBt+MsQ/RlEYAiIuLMfqati8mYxjpX7teT2PW7TlP3So\ndkBfeCF7zr2DdSOuhbPO4h87ZnDINgxOPRVuu41qeyFue2Lv93a5tPN861atNOKEuHguDH1iFIVh\n4LBrF6xahcPV+3oGd0aGVhRjx8JDD8FVV+FypJDWXqMd0thosw3SPorMTN7OvBlX/jAdTbY3jhyB\n1at1uJDeeh8GQ5RhFIUhIGLecnS5YNMm+OyzXr0DrTigaCTMnQv33adnNm3bhisplT2Dz4B587jm\nvmnstU+ASZNg7FgaEvOoO2+h7n30RlubjitVU8MgZ3wMP8X8c2EICJO4yBCXKAWbN3d9dlSWk/Xh\nDvKqqvyfBBxkOFmFs2g++6vYVlczeGQGmRfM5VhtCo07gBxwO3PYllAEE6phxw4OJdtpG5MCF10E\nr72m/RD+qKyENWtIc04BMoPyXQ2GUGN6FIaAiDXL0e2GGTPgllv09pt/28rBF1b3HsU1M5Mj2VO4\nb/uXuXdRIjf9Rx5v7pkELS2kHKskq7kCqqt57OdteobT4MFw2mkcdeSj0rLgsstg6tTeBaurg5Ur\nyWyriovhp1h7Lgwnh+lRGOIWm02PNuFywa8/h4e20utkpylTOO/Oazlv/nBoaeEHP7GTWbkdjqWD\nStapi5qaGFxbyRhnItQPhYwMtqWcSvswgJ3wta/B3r29r5fYtYucnIPYWyYRz2lSDfGD6VEYAiKm\nLcd9+/Q4VG/TUouK4Nxz4ZxzdBA/p5NWRzq1RdNg9GhasodRN2gojBzJl38xjWrbEL3iurQUgJaJ\ns/U1HA646Sbd4/DHoUNMqVmBo7kuuN8zAsT0c2EIGKMoDPHPpk063pI/7HaYPVu/4Ldv107p6dOp\nT8n3O5OpzpYNkyeDCKPadughrfnz9QK9OXNg3Dj/9+voYELtJyTWHOrnFzMYwoNRFIaAiFnLsaMD\ntmyB3bv9HzN2LFx3ne5JDBminRsO65AcAI8+6tmx2WDkSOrt2SQf2KnLiov1UNctt+Cy+b9GfvNe\nBu3fomdCxTAx+1wYTgijKAzxza5depGbv5lICQm6JzB8uFYOp57a+7CRBUcdBTgzc/W90tNh3jzI\nzqZh3Gy/mfBS3dVkbVmpndsGQ5RjFIUhIGLWctyyBTZs8F8/bpyerVRXB2edFZCS+OEPfcuceQVa\nSezbB1OmQFERdbMvpAXrFduJQMaeDTpxUgwTs8+F4YQwisIQtyS423VvwuNw9sFm00NFCQm6J5Fk\nHS48YIqKtK+iogLOOYeO7CHsGzTD7+Ep5Tth3Tqdv9tgiGKMojAERCxajqewFz7/3L8fYMwY7Xgu\nLDyhhELHfRQ9EYHRo3VMqaQkmsbNZkfWGVoRWeBoa4RVq0hsPhbwvaONWHwuDCeOURSGuGUSW3Vo\nb3+ccYZWEOPGnbBfwi8JCTqM+L591I87lYrU8TBhguWhArB+Pel1sT38ZIh/jKIwBETMWY7t7Uxl\ns17rYMWwYdqJPWJE3zGaemDlo+hGZiakpZHYcJQtWefoXos/9u4lb/+6E7p/NBFzz4XhpAipohCR\nZBFZLSKficjnIrLIU75IRMpEZINnWxBKOQwDkH37GM8WaG+3rp85Uwf1GzEiNPcvKsLRUENlyikw\na5b/oa2mJgpKPyaxvTE0chgMQSCkikIp1Qqcp5SaCcwEFojI6ei0qI8ppWZ5tndCKYeh/8Sc5bh7\nF9PYaF2XmakD+A0bplOdniB+fRTeJCTQljOUvPZKOO88mDbN76F5BzeQ1XDwhOWIBmLuuTCcFCEf\nelJKNXt2EwEHXbmz4yMXpCH6cDph0yZG4GfYacIEmD5dJyYKIR1Zg3WK1KFD9TBXWprlcRlVOyg4\n3IsvxWCIMCFXFCJiE5HPgCpgqVJqjafqWyKyUUQWi8iJDRIbwk5MWY5lZbB9B6n4WWR3wQV6KMjP\ni7sv+vRReHEkqQiqquDyy/UsKwuS3M2MqVipFVyMEVPPheGkCXn0WKWUG5gpIpnAKyIyBXgCeNBz\nyEPAr4Cv9jx3kddTWFxcTHFxcajFNcQDe/fCZ+utraCRI/VspxD3JjppSUjX6zOys+HMM2Gj73CY\nAEUVa6G8XMtnMJwAJSUllJSUhPQeYQszrpSqE5EPgAVKqV91lovIU8AbVucsMuZK1LBoUYxYj263\nDgK4f791/Vlnacs+I+OkbxGQj8KbwkLYsweuugpefVUvyOvBkGPbtNwxpihi5rmIY3oa0Q888EDQ\n7xHqWU95ncNKIpICXARsE5ECr8MWAputzjcYTpiKCti2Tacw7cmgQdpXUFDgWxdKBg3STvOxY3V4\nDwuSVROsXNl7YiWDIUKE2kcxFHhfRDYCa9A+iiXAL0Rkk6f8XOCuEMth6CcxYzUePAjr11vXTZ+u\nM9Dl5PTrFifiozjO0KHQ3Kx7FXa7T7UAfPQRHD3aL9nCTcw8F4Z+EdKhJ6XUZmC2RfmtobyvYYCi\nlM4nsXOndf38+dqqD9Yq7BMhJUVv55wDo0bpoaiebNum5R88OOziGQy9YVZmGwIiJizH6mrtLG5o\n8K3Ly9NrGYLwEj5hH0UnBQVaSZ19NpZhAGtrda8ihnJpx8RzYeg3RlEY4ofych1W3IpZs/Rsp14S\nEoWctDRITIQrr6SNFOtjVqyApqbwymUw9IFRFIaAiAnLsbRUzxyy4tRTdRjwIHBSPopOCgpgxAgq\nkkdZ13/6qf8ZW1FITDwXhn5jFIUhPmhu1pFijxzxrSsogLlzT3qBXVDJzISUFD4bcpl19rvDh2Ht\n2nBLZTD0ilEUhoCIesuxc1qs1fj+zJlw+ulBu9VJ+yg6GTyYTbkX4U60iDOlFLz3Xszk0o7658IQ\nFIyiMMQHBw74T3k6axbk54dXnt7Iy6MxOY+GQus8FXz8MdTUhFcmg6EXjKIwBERUW45Op55WapV7\noqBAT0n1k2XuZOiXjwLAZqMuaQhHT73Eur683L+vJcqI6ufCEDSMojDEPtXVsHmz9XDNlClw2mnh\nl6kPjiUOoX7SPOsw5+3tsHw5uEwubUN0YBSFISCi2nIsK7McdnIBzJvX75XYPem3jwJw2pNoLhwH\n48ZZO7Xfew/q6/t/oxAT1c+FIWgYRWGIbZSC3bv10FMPjpAN558fAaECoz0rXydQ8tDhtbF7t57u\nazBEAUZRGAIiai3HhgatJOrqfKq2MVk7soNMv30UHpxpWXDmmbjtSb6VDQ3wySfBuVEIidrnwhBU\njKIwxDaHDlnmeABYy3zIiuKcWCIwaxbJk8bhQKd/7MY77+j1IQZDhDGKwhAQUWs5lpVZK4pBg1iO\nn1lF/SQYPorj5OfrhEZWrFljvYAwioja58IQVIyiMMQuHR06UmxZmW/dmHF8RvCHnYJOUpJOk5qY\n6Ft35IheRGgwRJiwZbgzxDZRaTnW1uoXaUeHb938edRt6f9spzffhMpKneKi813+wx/CM8+c+LUe\nfbRr4Xi3KONz58Lw4b6hx10uePtt7fC2yGERDUTlc2EIOqZHYYhdOt/gPRGBK67s9+Uvv1xnJq2u\n1n8vv7x/17v3Xh3Kqboarr4aRo/2VAwZooMWWhEj02QN8U3IehQikgz8C0jy3OdFpdQiEckB/gGM\nBEqBG5RSx0IlhyE4RGVu5L17YetW3/IRI2Bm/4edbrpJbz3pj4/ikUcsFonbbDrz3Ysv+qZCLS3V\n0WSzs0/+piEkKp8LQ9AJWY9CKdUKnKeUmgnMBBaIyOnAj4BlSqnxwHLPZ4PhxGhuhl279PBTT+bM\n0alHY4nzz7eOR9XcrJMZGQwRJKRDT0qpzrl9iejZfwq4Cugc4X0GuCaUMhiCQ9RZjUeP+p0Wy9VX\nh/TWwVpH0Y2hQ3UGPivefhtaWkJw0/4Tdc+FISSE1JktIjbgU2AM8LhSao2I5CulqjyHVAFRFNbT\nEDNUVOj8E150AE2ObJ5eM4+aXZERqyd793a9THuOKvlwxRWwdKlv+Zo1OppsYWGwxTMYAiKkikIp\n5QZmikgm8IqITO1Rr0TEb4LgRV7mSnFxMcXFxSGS1NAXUTUW7XbDjh06zEUPtrkmUJ85HJsNfvKT\n0Nw+UB/FKafAbbd1ff7JT7Q7wi8XX4wrPQt7Qw+XXU2NDnoYhYoiqp6LAUpJSQklJSUhvUdYpscq\npepE5APgEqBKRAqUUodEZChw2N95i8wTaLCioUE7sdvbfao2jbqcn/zUIiRGBBg9+gRfouPH0z5i\nLMlb1nUvd7l0T+Pii/vQNIaBSE8j+oEHHgj6PUL21IlInohkefZTgIuAbcDrQKeddRvwaqhkMASP\nqNLZhw/r3NI9cJHA1sEXWZwQXELiowAQofnsS3Fa1b37rlaQUUZUPReGkBFK82Qo8L6IbATWAEuV\nUkuAR4CLRGQncL7ns8EQOAcO6KGYHjQXjORQ2pgICBQ8muddRDMpvhWlpdYr0A2GMBDK6bGblVKz\nlVIzlFLTlFI/9ZTXKKUuVEqNV0pdbNZQxAZRYzm2t8OWLToYYA/qJs6jwZEbchEefRQaG+Huu/VW\nURG8a7dNncNhhvtWNDfDypXBu1GQiJrnwhBSzICnIbaor/ebJrR6/rV6VXaIcTj0CzIvT2//+Z9B\nXLaRksKmQfOs65YssfTLGAyhxsR6MgRE1FiOVVWW/glyc2k8ZRr4JroLOg8/HNrrf5xxCTd1/M03\nhtWaNXDsmA75ESVEzXNhCCmmR2GILbZvt8xmx/jxtOUVhV+eELAl+XQYPNi3orraRJM1RASjKAwB\nERWWY3OznhZrtUr5yitxJyaHRYxQt0Vl0ijrVdoulw5nG0VExXNhCDlGURhih7o6PfzSE4cD4mgx\nphIbnHOOdeUHH5isd4awYxSFISCiwnI8eNAnbAegczmMHRs2McLSFvPnW0eM3blTryOJEqLiuTCE\nHKMoDLGB261nO5WX+9adcQbkhn5abFiZMQNGjfItb2iIymmyhvjGKApDQETccmxo0NFilUVosIUL\nwxraIixtkZUFp51mXffKKwFEGAwPEX8uDGHBKApDbFBba+2fyMmBKVPCL0+oEYF582DQIN+69euj\nMpyHIX4RZWWhRQEioqJVNkMEeO893XNobOxWXD56Hovmv48zIZmDB3Ve6yVLIiRjENi2Da691jML\n9vPP4ZprfHNpJyTAxx/rXNsGQw9EBKVUUFeemgV3huinvV0vsuuhJADW51xEozOZi8/Xn4viYymF\nZswYmDzZV1E4nfDGG0ZRGMJGn0NPInKWiCwTkV0iss+z7Q2HcIboIaJj0fX1sHatb7nDwb6RF3L6\n6XD77Xq7KPTBY8PXFikpcOqp1v6XZcu0wogwxkcxMAikR7EY+B46U50rtOIYDBYcOQKrV/uWjxjB\nkaxx5IVfovAxd64OKNVzSuzOnTqhURSF8zDEL4E4s48ppd5WSlUppao7t5BLZogqImo5btxoHaJ1\n5kyaBlmEuggxYW2L6dP1EFRPampg1aowCmKN6VEMDAJRFB+IyKMiMk9EZnduIZfMYABoaqLhw09p\nd7nogONbK/Cb/Zfz1jv2yMoXaoYMgalTfYo7gOX/8U9uvBFuvBG+8pWwS2YYQASiKM4A5gAPA7/y\n2vpERIaLyAciskVEPheR73jKF4lImYhs8GwLTvYLGMJDxCzH+npsH6+g5xSO9kE5jL9+Dg89BJde\nGl6RwtoWiYnaT5Ga6lM1smot113RyoIFemlFJDA9ioFBnz4KpVRxP67fAdyllPpMRNKA9SKyDFDA\nY0qpx/pxbcNA4OBBHLt0xFSHV7Fj0ilc9h+jwff9GX9Mn66nc+3Y0a0433mA6+eWUjd0It/7XoRk\nMwwI/CoKEfmyUupZEfkB+sV+vApQgbzklVKHgEOe/UYR2QYUel3HECNExHJ0uWD1aqSx3rfu7LMt\nrexwEPa2GD8eJk3yURRJtMHrr8O/TQyzQF2YHsXAoLehp84loel+thNCREYBs4BPPEXfEpGNIrJY\nRLJO9HqGAUBDg/VsJ7sdrrgi/PJEisxM7aewW/hj3nrLOqyJwRBE/CoKpdSTnr+LlFIPeG2LlFIP\nnMhNPMNOLwLfVUo1Ak8Ao4GZQCUB+jwMkSMilmNdHXz4oW95URFMmBB+eTyEui0OHoQrr+zajtQm\nwMyZPsmMBHR+jgiG8zA9ioFBnz4KERkD/AaYhx6C+hjtdwho0Z2IOICXgOeUUq8CKKUOe9U/Bbxh\nde4ir6ewuLiY4jjKOWAIgM8/12/NnkyaBAUF4ZcnDBQVwd//3vX59ts9eZomTdKh1A8d6n7C0aPI\n2k+Ai8NKaV1fAAAgAElEQVQppiGKKCkpoaSkJKT36DPWk4isBh4HnvcU3Qh8Wyl1ep8XFxHgGeCo\nUuour/KhSqlKz/5dwFyl1Bd7nGtiPQ1k2trggQfg5z+nM3P0cWf2b38L3/lOhAQLLyNG6E7ViKx6\nuPtuePJJgG5t0vzlOxj62mLq6iImpiGKiFSspxSl1LNen58TkR8GeP0zgVuATSLSmfb+x8DNIjIT\n3UPZB/xboAIbBgj19bBihW95VpZ2ZA800tJ0lNy0NJ+YVwmffIhNuYA4X1NiiBh+fRQikiMiucDb\nInKviIzybPcAbwdycaXUh0opm1JqplJqlmd7Wyl1q1JqulJqhlLqGqVUVbC+kCE0hH0s+sgR2LzZ\nt3zECBg9OszCdCci4/I2mx5+GjnSp0r272eYc38EhDI+ioFCbz2KT+k+Lfbrnr/iKf9RqIQyDHCU\n0uEp6i2mxc6ZAxkZ4ZcpGhg3TvsptmzpXt7exgXyOjokm8EQfHqb9TRKKXWKxTZKKXVKOIU0RJ6w\nWo5NTTr/hBVXXqmT+kSQiFnRubkwbZplNNlL1ZsREMj0KAYKJsOdIfqor7eeFltYqFcpD1RSU/W0\n4Px8n6qpbPJMjzIYgo9RFIaACKvluGcPlJX5lo8bp5VFhImYFS3SNfzUgxz8hGIPMaZHMTDoVVGI\nZni4hDEYcLlg6VKf4naA4mJISgq3RNHFqFEwZQo9J447AP7xj/DLYxgQ9LqOwrMOYrNSyjfOcYgx\n6ygGKLW1sGABrFlzvKgDOEYKgz/5AE7vc/lOXDFihHZNdOrH//p+C1ceXkzjd+8myd2CA681FZMm\naUd3hH04hsgS9nUUSiklIutF5DSl1JrejjUYgsLRo7Bpk09xJacw2CqBT5zz6qs6ZTjAww9DVX0K\njBhBy9BTSCrf2v3g0lKorIRhw8IupyG+CTQfxSoR2Ssimz2b7y/ZENeEbSx63TpobfUp3uGYpk3r\nKCCc4/KzZ8MZZ+jteNbTMWNoHDbeZ/iJlhYdTTaMGB/FwCAQRXEJMAY4H7jSs10VSqEMA5TWVnjh\nBcuqkkGXmiGVTvLzaRwx7fiQUzdeey3c0hgGAH0qCqVUKTAcOM+z34TJJTHgCIvlWF8PH33kU+zO\nzGVj0vwwCBAYEbeiMzJoKhhHPRb5wtes6RqrCgMRbwtDWOhTUYjIIuBu4F5PUSLwXAhlMgxU9u2D\nKt9oLs7RYzmUUBQBgaKPRYtg+pxEfv2PYVRljfM9oLY2ItNkDfFNIENPC4Gr0T0JlFLlnETiIkNs\nE3LLUSntubWgfc5ZtNlSQixA4ETKir7/fliyBJ57DhY9fQojL7NYfKgUvPRS2GQyPYqBQSDRY9uU\nUm7xjA+LyEDIUmwINw0N1o7YpCTazr8swDCU8c3w4XrTH7KhdCq84ICOHt6Kd98Nu2yG+CaQHsUL\nIvIkkCUiXweWA0+FVixDtBFyy/HoUdi507c8Px/XuMkhvvmJERVWdHq6Tt5kFUl3717LIbxQEBVt\nYQg5gTizH0VnqHsJGA/cp5T6n1ALZhhgrFgBTqdv+dSpuAf7xjYa8CQk6HR4kyb51rW3h32arCG+\nCTTW02ZgJbDCs28YYITUcuzogKeftq5bsCDqpsVGjRU9bJj/IIlh8lNETVsYQkogs56+BqwGrgW+\nAKwWka8GcnERGS4iH4jIFhH5XES+4ynPEZFlIrJTRJaKSFZ/voQhxqmvh/XrfcszMuCCC8IvT6yQ\nmQnjx6MyMn3r1q617qEZDCdBIDmzdwLzlFJHPZ9zgVVKqfF9XlykAChQSn0mImnAeuAa4HagWin1\nC0/GvGyl1I96nGtiPQ0UVq6Ec87xLZ8+HT76iIO1acyfDwcPhl+0qMbthrffpnXRQ9jXre7KKd7J\nhx/CmWdGQjJDBAlFrKdAhp6qAe8kvY2esj5RSh1SSn3m2W8EtgGF6JXdz3gOewatPAwDlT//2br8\n9NN1jmiDNTYbjByJe+oM33AeAM8/H26JDHFKIIpiD/CJiCzyLL77BNglIj8Qke8HeiMRGQXMQg9j\n5Xvlya4CjLcyygnZWHRzs/V0TocDLrssRDftH1E1Lp+bi5o6gzarYAnvvBPy20dVWxhCRqCK4jV0\nnmzl2d8LpBHgwjvPsNNLwHeVUg3edZ7xJTPGNFCpqNART9Hhsju3vR15PLjk1EhKFhtkZED+UMop\n7NZ+HQAHDsDhwxEVzxAf9LngTim1qD83EBEHWkk8q5TqXHpbJSIFSqlDIjIUsHyaF3mZK8XFxRQX\nF/dHFEM/CJnl+NJLejVxD5yjJ1LmHBqim/aPqLKiBw0iZWgmhRdMh+U9sgK2t8PLL8M3vhGy20dV\nWwxQSkpKKCkpCek9+nRm9+viejn3M8BRpdRdXuW/8JT9PxH5EZBlnNkDEJcLZszQyXbwSsADrFr4\nCItz7uGpp7QT2zize2HXLh3X48EHge7tyPnnw/LlkZLMEAEi5czuD2cCtwDnicgGz7YAeAS4yDOj\n6nzPZ0MUExLL8cgR/ZLrSXo6ZTOuCMENg0PUWdGZmTB5MqRYxMMK8TTZqGsLQ0gIJNbTSaOU+hD/\nyujCUN7bEAOUlFiHxC4spCl3JJgeRGCkp2tlMWkSfPpp97qGBvjgA7joosjIZogL/CoKEbnfT5UC\nUEo9GBKJDFFJSCzH3//eJ/mOApg3D2dy9E6LjTorOiUF8vLg1FN9FQXAs8+GTFFEXVsYQkJvQ09N\n6DUT3psCvgrcE3rRDHFNTQ1s3OhTLHY7XHttBASKcfLyYN4867r33guvLIa4w6+iUEr9Uin1K6XU\nr4D/A1LQK6qfB04Jk3yGKCHoluO6dXpYxIOjcxsyBObMCfLNgktUWtGZmZCfrwMF9qSy0toXFASi\nsi0MQadXZ7aI5IrIT4GN6N/xbKXUPUopMznb0D/+8Afr8smT9QvPcGJkZGhfxZw51ouS/AVdNBgC\nwK+iEJFfAmuABmC6Uup+pVRt2CQzRBVBtRwbGnRYcSsuvTTqosX2JCqtaLsdBg+G+fOtFUWIoslG\nZVsYgk5vPYrvo+My/TdQISINXlt9eMQzxCVbt+rczj1JT9eKwsPixTqSxylmoDMwsrJg4kSavAIm\ndK7Srt+xl0w5Zhl70WDoi958FDalVLJSKt1iywinkIbIE1TL8fe/ty4fNep4xrY77tAzZ5uboaVF\nJ22LFqLWis7MhLQ0didN9alKoYNV334Olyu4t4zatjAElVAvuDMYutPUBEuXWtedfTYkJwM6MKrD\n0X0z9EFKCmRmsjnDN7S4Axi8/Lnwy2SIC4yiMARE0CzHPXus8zknJcGVVwbpJqElqq3o3Fx2p89B\nYfepStuzEbuzLai3i+q2MAQNoygM4WXxYuvywYN1/glD/8jMpMGRS8uwUT5VCW2tnHH0Vd9zDIY+\nMIrCEBBBsRwbG+FVPy+qOXMgOzsINwk9UW1FZ2TQYk+lcfZ5ltWXVD4d1NtFdVsYgoZRFIbwsX+/\ndQhYux2uiN4ggDGFzUa9I4+mKadZVs9s/tA6vpbB0AtGURgCot+Wo1J60ZdV6PjsnJgKWhftVnST\nPYOOoaMsFy6m0wjLlgXtXtHeFobgYBSFITwcOwavvOJT7AZc4yfC8OHhlylOabRnogalWsZ+EoD/\n/d+wy2SIbYyiMAREvy3Hgwdh3z6c0CNlp+A8f0HUr8b2Jtqt6HZbMq5BGXDBBbitDlixImjDT9He\nFobgYBSFIfQ4nfDnP4Pb7RNeopFMXAtiY1psLOFMz4axY2lLsFgbe+yYzgViMARISBWFiPxJRKpE\nZLNX2SIRKeuR8c4Q5fTLcqythdde61bUGS22YMZIMk+b2I+Lh59YsKJd6VmQmUn5sLnWBwRp+CkW\n2sLQf0Ldo/gz0FMRKOAxpdQsz/ZOiGUwRJrSUv8Jry+4wCy7DgHulFRISWHfaD+TBD74ANqCu/jO\nEL+EVFEopVYCVhFnY2dA2gD0w3Jsa4NnnrHO25yWBtdc0x+xIkLMWNHZ2RwdMpk2scilXVOjlUU/\niZm2MPSLSPkoviUiG0VksYhkRUgGQzg4epS2N98+7rzuxvDhMHNmBIQaIGRl0Zyax6GC6ZbVDY8v\npqKC41tLS5jlM8QMfnNmh5AngM582w8Bv0KnV/VhkZe5UlxcTHFxcYhFM/jjpC3HPXtw7z9gbZGc\ndZYOLR5jxIwVnZGBsiWwb8LljK1c7VNd/9b7nDWzibaEVGpq4G9/O/EstDHTFnFMSUkJJSGenBB2\nReGdHU9EngLe8HfsIvMUxjYNDfD00ySgh526eSJSU01u7FAjQktKLkeHTIHERJ8psbnUsOV3yxl0\n41XmXxHD9DSiH3jggaDfI+xDTyIy1OvjQmCzv2MN0cNJ6ezDh2H5cuu6wkKY62dGTpQTS/ZLa3IW\nDelDYcIEnzo7YH/m/6xXywdILLWF4eQJaY9CRP4OnAvkichB4H6gWERmomc/7QP+LZQyGCKEywWb\nNvmf7TRvHuTkhFemAUhrUibK7oCFC2Gzr01m+3ildmyTG37hDDFDSBWFUupmi+I/hfKehtBwopZj\nxeajDPrjc6S6LdYGp6bqF1cMrcb2JpasaGWz05acBbNm4bYnYnP1WJFdVwdvvgncZnl+R4eO5ejN\niBF6JAtiqy0MJ49ZmW0ICT/+SgWNS1dYVw4bBmecEV6BBjCtKdmQn0/T8PHWByxejE1Z50gtK4OJ\nE2HBAr1NmuSrOAzxj1EUhoA4IcuxuZkxx1aTT/XxFdjdHNnz5ulERTFKrFnRrclZ4HBwrNiPx3rN\nGrKay/2eP3w47N6tt1GjutfFWlsYTg6jKAzBp7qaCw4/7xPXCegadrKZRy9cKJsdsrNpGTeLVhJ9\nD2hr4/QDz4dfMEPMYH6thoAI2HJ0u+HgQSa0fGq9/H7EiJhPeRqTVnR2Nh3ZQ9iTOMWy+qyDf8fW\nduIr7mKyLQwnjFEUhuBSUwPvvUcq9db1MT7sFLNkZYEjkZU5Cy2rhzdtJrVsW5iFMsQKRlEYAiJg\ny7GyEl56ybo3kZmpYzslRCIgQPCISSvaZsOVkc2BzBmQ4hv7KQkXhf96RvcIT4CYbAvDCWMUhSF4\nNDXBnj2wY4f1gzVqFMyZE2ahDJ0407OpdeTDjBmW9QWrXvesqTAYumMUhSEgArIcjxyB55/3nz3t\n/PMhLy+YYkWEWLWinWlZOG2JcN11lvVpNaXwr3+d0DVjtS0MJ4ZRFIbg4HTqVdgrV1rX5+TA5Zeb\n3BORxGajISEbpkyBDN/MdwLw9NMmjKzBB6MoDAHRp+VYXQ0ff6zjVVsxaRJMtw53HWvEshVd78iF\n7Gw4+2zL+talH7Dh1X3s3RvY9WK5LQyBYxSFIThUVMArr1jXORx6Wa+J7RRxmu3pMGgQLFyIRSop\nbO1NvHvnCzz6/07MqW2Ib4yiMAREr5bjsWNw4IAOAmhFfj5ceCHY7aEQLezEvBWdkwOjRnGIYceL\nOlfPJwK3pzxPauvRgC4V821hCAijKAz9p7ISXnzR/9j23Lkw3k+cIUP4yc2FjAze4TLL6qzq7Yw8\ntCrMQhmiGaMoDAHh13JsatKKYoWfAICDBsFVV+kFX3FCzFvRycmQns6/HAss17QIMGf7X3Rk2T6I\n+bYwBIRRFIb+UVWlp1T6yzsxZozuUZjYTmFl7VqdM2rfvu7lx47p8hVbcjmiBuOe6BvSQ4BJB94l\nYI+2Ie6J7SWyhrBhaTm2t+vexGuv+TlL4JJLoKgohJKFn2i3oufMgVdf1RvARRfpv5mZUFAADz8M\nNpXDmBlpcOUN8PlGn2sMohFeeAG5dRKQ7Pde0d4WhuAQ6gx3fwIuBw4rpaZ5ynKAfwAjgVLgBqXU\nsVDKYQgRVVXw+eewY4dldUf2EBznnaffUIaw8fjj1uVTp3pnprVDaQ5sn62ny9bWdjtWAJ57Dtsl\nXwNGh05YQ0wQ6vGAPwMLepT9CFimlBoPLPd8NkQ5Ppajy6V7E6+8Aq2tPse7gYaxs/TbKc6IGyt6\n8GCtxC+80Lr+4EESP3wPu7KaSKuJm7Yw9EpIFYVSaiVQ26P4KuAZz/4zwDWhlMEQIg4fhvJyPRhu\nQQsp1J67UE+NNUQnqalaUVx7rd9AjWkvP0Ou63CYBTNEG5HwMOYrpao8+1WAeZPEAN0sR7dbL7B7\n+eXjQeScQIfXtj9hAs3jZ0NSUthlDTVxZUUPHgxDhsDkyZbVSZ+uYmLzOr9RZeOqLQx+iagzWyml\nRMQyERrAIq+nsLi4mOLi4jBIZeiTI0e0f+L9948Xef8TOxA+HX4l86ecEn7ZDCdGTo6eunzjjX4W\nTCquaHgOjpxueodRSklJCSUlJaG9iVIqpBswCtjs9Xk7UODZHwps93OeMkQP99/v2XG5lFq/Xqlv\nfEMpOL61ezYFSo0cqdSSJfrYOOR4W8QL+/fr/1d+vs//sh1UDYlKLV+ulNutxo5VaufOrlPjri3i\nAM+7M6jv8UgMPb0O3ObZvw14NQIyGE6W6mq9vfuu/2POOUcPZZi1E7HBkCHaV3HVVZbVabTDP/8J\nRwML62GIP0L6SxaRvwMfAxNE5KCI3A48AlwkIjuB8z2fDVHOokXocerycli61P8Cu9xcuPJKPWE/\nTom7cfnkZK0sLrlEO7it+OtfYdcu3c/wIu7awmBJSH0USqmb/VT5mY9niGoOH2bbxzUM+fsSMpxd\nUyY7M0y4Qa/CnjgxLp3YcU1+vk4qde65sGSJb31jI7z8MtnucUDsJ58ynBhmbMAQEA/8xAXl5ez6\n4zIcFbstj2kgTTtFR4wIs3ThJS6t6PR0PQPqhhtwSqL1MYsXU9S+u1uvIi7bwuCDURSGgEhrPAQ1\nNczY/zopdGCVp24TM3WUWLMSOzYpKIDCQg6PmG1dX1vLWcdex15zJLxyGSKOURSGvuno4AdfrIS3\n32Zwwx7rYxITeYGbYdy48MoWAeLWis7Ohtxc9sz9Mk4dxMOHLzY9QcL+XcfXVcRtWxi6YRSFoW8q\nKvSMlyVLcNBueYhr2kz2JE7WzmxDbCICRUU054+mPNM6bW0ux0h+9yW9Mt8wYDCKIg5Zvx7+/Oeu\nzco3GTDNzVBVxYf3vuY/7HRCAuoLN7DbNmFATImNays6L4/WjCF8Mu5LWnFYkPn8/+pAkB0d8d0W\nhuOYMONxyMsvw9tvw4wZcOiQftdfZp3MrG8OHoSyMsbufRc6OnyqFcDs2TBtBkdkSH/ENkQDIjRm\nD6c+dzJMmaKjA/fA1tIEzz4Lo0ahg0Ab4p34N/8GKF/4gu5N/Kg/sXlranSWsxdfpKCh1PKQdhLh\ni19EjR2PW+IjJ3ZfxLsV3ZqWR+OgIXDLLSB+XhF/+Qts3cqiu5vDK5whIhhFYbDG7YayMh3/p6TE\nb1C4PRmzYdo01NBh4ZXPEDpEOJp+CkyZQvvEGdbHdHTAr38NBw6EVzZDRDCKwmBNRQXU1+vQDZWV\n+A46gdOezIfDb4EJE/yGqY5H4r1HAdCUkgeFhTRd8yXa/I1QL1vG3+/dcDyCsCF+GTi/bkPgNDVp\n58YHH8CaNceVRE9lUT21mMq0yXr+vW/uIkOsM3o0rtEVrJPTKVYfdavqfBbmL7sf9o1nX00mb73T\nNfRot8M3vxlGWeOETZtgxYquz1lZegQw0pgehaE7SsH+/Tp73csvax+FFVlZVJx1I+VpE/VbYQAx\nEHoUAGRm4iwayZKML0NKiuUhw5p2wZtvsrukjF/+ErZv1/7vu+4Ks6xxwooV8OSTuh1XrYIHH4y0\nRBqjKAzdOXQIGhrgxRdhy5ZuVQ6vjauuoqVwPHXJJkdBPOMaOYZDSSNggc5o3O0Z6OQXvyC5fDen\nT27g8cfhN7+JgKBxxLnn6rzn998faUm6MIrC0EVLi/ZNfPIJLFtmOR0W0NMir7iCxsKJKH+zYuKY\nAdOjAFRyCnsdk3REYH+Ji5qbGfP8gwxp2ud30oMhthl4v3KDNW63XlB35MhxB7YlCQl60HTCBDrS\nc8IroyEiVCYMh9Gj4WZ/waBh8PYVTDi0VM+UM8QdRlEYNGVl2on9wgu0r13bLf91N846C+bPHxAx\nnfwxkHoUgF4fM306nH46zJzp97ibdj4I+/b592sZYhajKAxw7JjOWvfBB/Dmm4i/IafcXPjSl3T2\nOj/OTUOckp2t/++33QZpaZaHZNIA99yDlO4jQfl5hgwxScQUhYiUisgmEdkgImsiJceAp61Nz3La\nvRuef75bsDdvx6UL9NDDtGkwfHhkZI0SBlqP4jiTJ8OkSXrZvz9Wr4bnn2WkKg2bWIbQE8l1FAoo\nVkqZ1TqRwu2GPXv0gqlnn4XPPvN76IGisxl/wQU6/s8ACPxnsCAhQWcwPHwYPv0UNm+2PMz2+P8w\n2TkHygdBYWGYhTSEgkj/4q3DUxrCw759OsXlP/8Jy5f7P27oUMbfdwvMmuV32GEgMWB7FAA5OToI\n5B130CBZ1sc4nfySb2sjpLY2vPIZQkKkexRLRUQBTyql/i+CssQ1paXdX27//d+QUFWufRNLlsAL\nL+ipsVY4HHDrrTBnjmWK023b9LXbrdNUGOKRyZPh8GHWTbyFc7b9AQe+U2KHcZT9136bt69ZzNH8\nyXzpzkE62KwhJomkojhTKVUpIoOBZSKyXSm10vuARV5vt+LiYoqLi8MrYRwwciTcfnvX55/+FH50\nx2ESao7AypXw9NM6KZE/brwRzjuPh16ewn2zu3cAJ06Em27S+4mJ8OMfB1/+aGTRogHeqxCB+fPZ\nP/wo6yp2clbd0u7VaCtw2NFNnLniIX5Q/xBnnzeRUaP85OI29IuSkhJKSkpCeo+IKQqlVKXn7xER\neQU4DfCrKAwnx6hR3V9qf/x5LVJZDls2wOLF2pHtj7PPhssvh9NPx7Uqyad60qQB/sIcyCQlsbuo\nmPryes4qLIOtW49Xeb9Upu16nTtzh5BS9j1wDqzgkeGipxH9wAMPBP0eEfFRiMggEUn37KcCFwPW\nnjFD8Dh2jOHu/fpH/cc/Wial6WQX43V34dxzISvLKAQvTFtomlLyyLv+fLjzTlrSC/wed8XRp8h7\n80+waxe4XGGU0BAsIuXMzgdWishnwGrgTaXU0j7OMfSH2looLWW8cyu2J38Pa9f6PdSZN5TXMm+H\nCy+EoUPDKKQh1mjIHQUXXsiBy/+dRqwnOiQAhS89Bn/6E+zcCU5nWGU09J+IKAql1D6l1EzPNlUp\n9fNIyDFgqKnRQ0xbt/J1/gdWr/I5pHMVdq0jm7cL72RlxuUwfvzxemNFdzEQ2mLVKrj7bvh5H7/M\nJUuAqVM5OmcB74z6JiT5DlGC9lu0/vKXvPvFp1i52CiLWMMMGMY7lZU6Iuz69fC73zGPTX4PrSOD\n7Wd8jfoZV7Bw2tQwCmmIJs44Q+esAsjLg1NP7fucunFzWVekuPmqNnjiCcuAknbgnM8eY8PjNTD/\n+9oQ8aNYDNGFURTxilJQul+H5li5Usd+PnDA78KV1sQsVk/6Opf/8gucNXeOntnixUCwogMl3tti\n5sxeQzp147LLuvZ3ZZ8Gt4heyPnEE8f9EY4e58z5/Gm49wj813/B1KmQnh4UuQ2hwyiKOMTubCO3\neh8cPAKvvKIzoTQ3+z9h8GC2zLyTzzKv5/LTAnxDGAxWzJ0Lycl6dtPvf2/ZsxCAt97Sw6EPP6yD\nDQ4ZEnZRDYET6ZXZhmBTW0ve0e1kVe/UA8y//nXvSmLkSPjud9l12pepGOJfScS7FX0imLboYskS\ni8Jp0+Db39aZdzIz/Z/8+ec6yOSf/gQ7dhi/RRQTMz2KBx7QqRI6uf56PXMzGNx9d/d36W23acMo\n2Pz+93olcyfnnafjq1VUaMPKm5/+VOfLDRinEw4cgEOHGLPrfc5Y9VvoqO79nDlz4I474JprqH95\nKJhoC4YTZMsW+Na3dDSYbhlxR4+Gb3wDhg3TCuPgQesLNDTAvffqyMU/+AGcdprPg79qFfz1r12f\nMzPhZz8L/ncx+CdmehR//asOMzNxok5A7ice2UmxeLEOiDpxok7utmtX8K7tzeuv6+HbiRO1cvjI\nk6++pgZeekmXT5yo4/P11gnwobpaN8ratXDXXVy04j4yelMSCQ694vq//1snIQpgCqyxorswbaG5\n/nr44Q/1M3vppfD1r/c4IDcXvvhFeO65vq26pUvhqqu0Bti4sVtMmO3bYd06fZ+CAvjzn4P/XQy9\nEzM9CtDvtPHj9YMTbL72Nf1cf/xx8K/tzdVXwyWX6N+BdzKw3FxtmYFv78Iv9fW6F7F9u15A5wns\n11ukxVKGM/L+f4fLL9FDBGalrOEkOffcAHr1SUl6hf+zz8If/kD7o/9DosuPFdTWBr/8pQ4r861v\naWNm3DjAzqRJuqiiAv7whyB/EUOfxEyPwuBFXZ0OCf7MMzpHxPXX9x79FXQwpptv5tu2p3B/6TYd\nCfYElISxorswbdFFQG0horvs99/PP29dwr6hZ/Z+fHW1vvDcufDtb5O7axU2p4k6GUmMORkrOJ26\nC1JSohMMvf++5YwSH0TgnHPg+9+HceP45KVRMNRkpzNEgORkKsacyz9ueoP7Jr0Ijzyi87T7o7ER\nnniCC3mCiSkTYdrt2OdcTpJ7NGCe4XAyYBTFm29qP4AVjY3hlaUvRLm559utZNvrGXpsCzenv8Ko\nzUtp3bUbGyqgJB4uBMd5xdpBOGKEdirm5tIqcOedvp2Jbdt6X1hlrOguTFt0cTJt0ZqSDXfeyf4p\nl7LiW/+geNsfGNy6l05fuIPuudodwCkt2+Gee8jmHpYzFG4+V4/jzp2rx22Tk/Uwl5x8ipuyMrjv\nvu5ljz2ms8D6o7FRT/Dyxxe+AFdc0ft9f/vbrpxh27bpOSZ98fTT8K9/dX2ePbt3OfrLgFEUmzbp\nxFzXXedbd845kJoaJkFcLmhz4mjrIKWlDUobSNp0mLOPHYLf7IU1a/jM/SmD3qogoa2h29ig3e9F\nu4BSyCsAAA6QSURBVGh1pFI690YSv/oVJszN0vPTBw8+npXuf//XOi7bOedoZ6HBEC6OJBZxX80P\n+MWiaxm6cQntf3+ec2yrwO0/cKAAw6nUvernn9eFKSk6k964cdrvNnWqnnU1bBhkZOicKgkJXZuf\nDI21tdqn/tOf6s933aV9670pirY2nffr8cd96158Ub93+lIUy5frKM+zZgX+O1y1Sk+MKS7WQRc+\n+GAgK4qtW/UKY6UY06Jw7ARaFUOrIesgsImu4Relus7r3O+cl60U+aVwaQ7cPgHdwp1bJ5/oP+Mr\nXORuAgb7JmPB5dLnuFz6vk6nflJaW7V3uvNvS4veGhu1w7m+Hmpr+c2GRoZtqAN3A3cca8HmaoM/\nuhgF/A/AXfo2g71uaTW41HOlKw4HzJ8Pd9yBY8IEpmVmauWQk+NjYd16q8UFA2DA52DwwrRFF/1t\ni7w8uOGeU4D/YNyS61n/xFocHy5h/5/eY3jrTgIK8NHSonO+794Nb7/dvc5u17+P5GRtDaal6ZXg\n2dl6S0/X5amp5NSn8M2OdG5vTYKkJFa7E0h4NRHyHd2VjNdfW72NM7Fx+wTRZSLHFVH9CjvJZQKf\nef0GRXx+k0V1wtVjhQvmeh2zVXCUwqgWYCs+DD6qsxLffIYwrB5e3wps8z0uWIjyfsFGESLSTbI2\ntOfdAbSjLQufF2YvdL5w+zon0ONOBu9r+9sP9Bxyc+GCC2DBAigq0lNcc3L0lpwcdNnNy7EL0xZd\nnGhb/Oxneur3z36mp7x+4xv6L+hHd/duyElq4u4v7OHKsVs5O2ktrF6tD2prC9vv0+qzv3MUYJWS\nKVBZ/b3POgA3WCpL73N6yiCAUiqoaaaju0fhhXdncSAl2laAC3CMGMHOomJWtZzK1+4eohVFUZE2\nyTIyQh5czbwYuzBt0UVI2iI1lYPZ0yk7czpccrFerFdWBmVlNG3aw5o/rOfi3I29Z2YMI/19H/V2\nvr9pqT3PCfU7MWYUhT8CmPdz0tZHKK/tfQ+FthwcoFcUTZ6snXTDh/OXv6UwcnYOF92Qy75VOaxe\nlc/XFqabqJuGmOXll3XPoabGt+6OO/SjvWqVXn93vJc8Ywa0tNC6tYb/+r/DfDK1hkHtdaS015LT\nsI/8hj3kN+4hr2EPqdSQQN8+vZ5O81DR0zHfn/NP9hr9JWKKQkQWAL9B/z+fUkr9v0jJElLsdj0U\nlJHBzupccibmMXRKAUczR7O/YzgdqVm4k1MZlGpjzplJXeOoaWmQkcHHa7Oxz7bB2dBQBo0bsO6L\nhhgz3NKFaYsuTrQtFi6EsWO7Pns7ihcv7lqQfe21Otx5N1JSyJxcyH8+WwiAzdmOvbUJe3sLLa2N\nlLU2cKi1CXE5EWc7CW1NJDQeJbn2EIkNh0k5WkFS3SEadh+mMKMeh6uZjqZWFC4cdOX6NvgSEUUh\nInbgceBCoBxYKyKvK6W6u2O+9S3tiAKefFK47iYbBbnC20uFnLwEzjodtu0U1q21ccdtHidS56YU\nv3vSxoULhEmjYdkHNto6HCy80nNt75kPnU4oYPHTCUybYePMeTY+/NjO9h0JfPObouVITNR/7Xa+\n/k0b9/zIxpjxdn1+Z6AbEb1vt3efaZGQwC++msAdd9oZeqGDAofe8N4sZmMoge3bS4Di4P0DYpiS\nkpJu+YEHMrHYFpMn682KhQv7Pj8lRS/Y1iR6tuzubeF0ao3T0aG39nY9AcXlAqeTO25z8dWvuDhz\nbjsvPeOm+rCLu77jmdyi1PGJLjctdPLHP7gZnOnsmrziuQYdHeB201zTzn/d4+TxXzn1uZ5ylMLR\nOfHF7WbHXlj+rpt/v9NrIo3LBUrxj3/AzJmKqeNU1/2V0j0HkeOTc373B8VNN8PgTMU7SxUFQ2Du\ndMWu3YqtWxXXXYE+9okn+vEfsiZSPYrTgN1KqVIAEXkeuJqefvsHHzy++/RrsOAbwFhYWSuMGwdn\nfR3K34alDXDHXfjMJnjnHZh5NXA2bG0Rmppg4dd6SNLjnDUrIOdM4AYodwmftQMLexxvs7E+TWg5\nTWCa12wH782CQ6nQWgAUBtRGx4kGRREtFnQ0vBxNW3QRlW3RaZz5oSwVmkYCM+HwcqiwAafTTUmg\nFJ8muumYo2AYXTMpPbMwO/ddRxVvPgSP32rRF/GajnPkQ3hrJ/z7Xb6HvbUJcm9QTL209+/41Etw\n1feAkfD+McWMGTD3K7DnDXj9BbjuIc+BcaQoCgHvcJJl6H9Vd7z6pfV2cGcC2dCSBO2DgCxwpsH/\nb+/+Y62u6ziOP19x7+W3kDWEErvalJFrJaSYgzWLCDPpd5ClmNFajXK2leHG5h/94WKt0q2xkVKp\nkU0aYb+A0lptEZRQV0wFYyHXgdUA+ZFcwHd/fD6H+/V47zd+nMs53O/rsd3d7/l8f5zv972d8z7f\n7+fXwfa0XO9gGxwbBYyBnmFw+ChwTvmJvdgOR4cDo+HoMDjcDn1NBdzzKojaDxozO/sVnwYAh0Xq\nAF7SCTx6YL+AktHUAY6NhgNt9P091Q5HRgEl/TXg5d+Bh4bB4ZHAuXBkNBzoSMsDpVmJ4qQfBV56\n6cvrb5cuhTVr0iyf48f3v9+iRalh0Nat6bnniViyBFasSI0tymb6WrgwNTg6UY89duLbFq1fD9dd\nB93dMGnSqR3jdPm5fC/HotfZGovFi+Huu+GZZ9LIt/2ZP7+8tXnPSQxB1dWVPsf1NmxIg5KeiAUL\nYMSINMDulCmpbOzY1L9wIDWlH4WkK4E7ImJ2fr0IeKlYoS3J9UpmZqeg0f0ompUo2oCngHcBzwEb\ngI+/ojLbzMyarimPniLiqKSFwBpS89h7nCTMzFpTyw7hYWZmraHlJi6SNFvSk5K2Srqt2eczECRN\nlPSopC2SHpf0xVx+rqR1kp6WtFbS2MI+i3JMnpQ0q1A+VVJXXvftZlxPI0gaImmTpIfz60rGQtJY\nSQ9J+rukJyRNq3Asbs2fjy5JP5Q0tCqxkHSvpN2SugplDbv2HMsHc/l6SW8oPaGIaJk/0mOobUAn\nqaf6ZmBys89rAK5zPPDWvDyKVF8zGfg68JVcfhtwZ15+U45Fe47NNnrvBjcAV+TlXwCzm319pxiT\nLwEPAKvz60rGAvg+cHNebiM1vKxcLEhN6P8BDM2vHwTmVyUWwAzgMqCrUNawawc+D3wnL88FflR2\nPq12R3G8I15EHAFqHfEGlYjYFRGb8/IBUkfD1wNzSF8U5P8fyMvvB1ZExJFInRS3AdMkTQBGR8SG\nvN0PCvucNSSdD7wX+C6945tVLhaSxgAzIuJeSHV5EbGPCsYiawNG5MYvI0gNXyoRi4j4PbCnrriR\n11481kpSw6J+tVqi6Ksj3kn2Yz67SOok/XL4E3BeROzOq3YD5+Xl15FiUVOLS315N2dnvL4JfJk0\nNmJNFWNxIfAvScslPSZpmaSRVDAWEdENfAPYQUoQeyNiHRWMRUEjr/34d21EHAX2Seq3y16rJYpK\n1axLGkXK5rdExP7iukj3hIM+HpLeBzwfEZvoZ7TkqsSC9At6CumRwBTgIPDV4gZViYWkV5N+9XaS\nvvBGSfpkcZuqxKIvZ/raWy1RdAMTC68n8vKMOGhIaiclifsiYlUu3i1pfF4/AXg+l9fH5XxSXLrz\ncrG8eyDPewBcBcyRtB1YAbxT0n1UMxY7gZ0RsTG/foiUOHZVMBYzge0R8Z/8i/cnwNupZixqGvGZ\n2FnY54J8rDZgTET0MfB70mqJ4s/AxZI6JXWQKllWN/mcGk6SgHuAJyLiW4VVq0kVduT/qwrl8yR1\nSLoQuBjYEBG7gBdyyxgBNxT2OStExO0RMTEiLgTmAY9ExA1UMxa7gGclXZKLZgJbgIepWCyAfwJX\nShqer2EmaVLQKsaiphGfiZ/2cayPAL8pfedm1+73Udt/DakV0DZgUbPPZ4CucTrpefxmYFP+m00a\n1uvXwNPAWmBsYZ/bc0yeBN5TKJ8KdOV1dzX72k4zLu+gt9VTJWMBvAXYCPyV9Ct6TIVjcQepoUcX\nqeK1vSqxIN1dP0ea9fRZ4FONvHbSrDY/BrYC64HOsvNxhzszMyvVao+ezMysxThRmJlZKScKMzMr\n5URhZmalnCjMzKyUE4WZmZVyojAzs1JOFGZmVsqJwqxOHjbit0o6i5PHnOLxlkq6qp91HZJ+J2nI\n6byH2UByojB7pZuBldG4YQumAX/sa0VE9JDG2ZnboPcyazgnCrNXup7ewdOOk3RRnifibXnKyeWS\nnpJ0v6SZkv6Qp6m8vLDPZNLYPMMl/VzS5jw15ccKh14FfGLAr8rsFLU1+wTMBpqka4FxwCzSFJIz\ngY8CfyPNqLissG0HcFFE7Kg7xiTSQG3zgf3AG4EPk0Y03QjMi4jpkuaQBmj7YN71GuCXpEEfuyPi\n2ny8cwqH3wJcjlmL8h2FDWp5yO4bI2I5cFNE7Ig01ehnSXMNf69ul9cCe+vKxpF+9V8fEbX6iu0R\nsSU/ntpC7zDNj5Mm26mZBfyKNILnuyXdKWl6RLxQ2yAijgE9eTY7s5bjRGGD3U3A/QARcRggT/m4\nDPhMpLnZi/4LDKsr20uaH2FGoexwYfkl0nDQteW2/D4jSENB74qIraQpb7uAr0laXPceQ4EXT/bi\nzM4EP3qywa6NNO8yksYBQ4C7gFuAQ5IuiYinaxtHxB5JQyR15IpmSEngQ8AaSQfop2K6D1cDj+T3\nngDsiYgHJO0DPl3bSNJrgH/nOwuzluNEYYPdUmCupAuA4aR5qBcDXwBGAgv62Gct6e6h9jgpIuJQ\nnt97HenxVH2LqOhj+RrS5DAAbwaWSKrdfXyusP3VwM9O/tLMzgxPXGRWR9JlwK0RceNpHucvwBX/\n705B0krgtojYdjrvZzZQXEdhViciNgGPSjqtz0dETD2BJNEOrHKSsFbmOwozMyvlOwozMyvlRGFm\nZqWcKMzMrJQThZmZlXKiMDOzUk4UZmZWyonCzMxK/Q/V/gKQ7QO++gAAAABJRU5ErkJggg==\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x10e5fe810>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 112 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Nice!! This is showing you samples from the parameter space that are consistent with your data. See how they're fuzzed out a bit? That shows you that a range of parameters are consistent with your data. You can maybe see how the range of the red plots sort of matches up by eye with the extent of the blue data histogram.\n", | |
| "\n", | |
| "We can also plot the parameters to see what they are doing..." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "def plot_params(chain):\n", | |
| " subplot(3,1,1)\n", | |
| " plot([mu for mu,sig,frac in chain])\n", | |
| " ylabel('Mean')\n", | |
| " subplot(3,1,2)\n", | |
| " plot([sig for mu,sig,frac in chain])\n", | |
| " ylabel('Dispersion sigma')\n", | |
| " subplot(3,1,3)\n", | |
| " plot([frac for mu,sig,frac in chain])\n", | |
| " ylabel('Fraction in cluster')\n", | |
| " xlabel('MCMC Step Number')\n", | |
| " " | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 88 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "plot_params(chain)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "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\nSUVORK5CYII=\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x106491cd0>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 82 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "See how the parameters are moving almost monotonically from the poor initialization I gave it up to reasonable values? Interesting, the parameters seem to converge at different rates. Also notice that the acceptance rates printed above are different -- the \"pclus\" fraction in the cluster had the largest acceptance rate and it is converging the slowest.\n", | |
| "\n", | |
| "In practice, you would throw out the first bunch of samples, as \"burn in\".\n", | |
| "\n", | |
| "Let's run again, increasing the *pclus* step size and running for more steps." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "chain,accept = mcmc_mh_log(mu0, sigma0, pclus0, data, mu_step, sigma_step, pclus_step*2, logposterior, 10000)\n", | |
| "print('Acceptance ratios:', accept)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "Proposed hat 2998.38749835 500 0.5 with posterior -10560.1142226\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 3744.78464113 1487.65236652 0.596840849838 with posterior -9837.04719014\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5029.61274246 947.038077787 0.878148702415 with posterior -9390.89356229\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4871.61805988 1007.47843485 0.866406198039 with posterior -9395.91141836\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4898.45086061 1084.66812864 0.906639113999 with posterior -9395.49150068\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4967.0185176 1019.53121116 0.930428424016 with posterior -9391.10385061\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4756.74881938 1020.18965424 0.911632399436 with posterior -9408.77706795\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4973.1764342 945.250038998 0.905625815431 with posterior -9390.4266046\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4975.12427854 950.296482586 0.899701950103 with posterior -9389.62964196\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5053.71274454 967.489616033 0.896350375404 with posterior -9391.26618061\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4923.32674873 1069.90162807 0.885353864951 with posterior -9394.80576079\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5021.23862556 948.916804697 0.89622045457 with posterior -9390.37932766\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4815.99701296 1014.99465955 0.920455722749 with posterior -9400.29956944\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5037.66110366 1008.38783839 0.905579870837 with posterior -9390.21937693\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4941.90919093 977.899547558 0.877548276613 with posterior -9389.83800417\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4954.79374517 1008.20149236 0.91143677826 with posterior -9389.04472829\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4991.22110839 1013.47484442 0.911126430734 with posterior -9389.01134378\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4960.27661036 986.895308724 0.873055496371 with posterior -9389.96772372\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4943.6848244 976.27768315 0.885328928146 with posterior -9389.27991244\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4951.79957865 877.989006167 0.886259879698 with posterior -9397.38728662\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4941.73074062 1046.66613342 0.915422126717 with posterior -9390.71602163\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5104.65957683 1049.32371792 0.91494340023 with posterior -9397.06137377\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4982.55306532 1014.23324697 0.897754299668 with posterior -9388.86244314\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4946.10132528 1029.66436811 0.908219639555 with posterior -9389.66207076\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5159.94224674 1024.27488654 0.884545184479 with posterior -9403.3983469\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4913.80806322 1122.4038346 0.905503624856 with posterior -9399.23697179\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5030.34128371 1014.15069564 0.906265576433 with posterior -9389.99563154\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5016.95719933 970.214897735 0.890748472948 with posterior -9389.34083177\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5053.92983973 1144.5847028 0.881608844508 with posterior -9406.91612589\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5046.80298969 1041.74654908 0.901623411846 with posterior -9392.01974939\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4857.75504188 1036.36119803 0.924306120463 with posterior -9396.05386098\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5008.60801561 1111.4159369 0.881022616417 with posterior -9400.09212652\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4935.84225568 1021.47731588 0.929165934764 with posterior -9391.50401125\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4903.0588133 926.642603249 0.869960529546 with posterior -9393.86474549\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4969.01207099 968.542720377 0.902794223127 with posterior -9388.94080766\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4918.44193304 988.717730045 0.881164591896 with posterior -9390.57546926\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5049.27675281 987.503871321 0.881435427718 with posterior -9391.21371152\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4942.44822884 1065.73352523 0.91166120192 with posterior -9391.89007645\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4971.38076958 976.143756748 0.880852209262 with posterior -9389.05782209\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5059.29154071 989.160502234 0.878246550852 with posterior -9392.12274446\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4956.48991851 902.742081287 0.893603002754 with posterior -9394.0581876\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4927.89005482 1007.98221933 0.93325329009 with posterior -9392.70933415\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4999.32023789 984.428630856 0.889846043501 with posterior -9388.78396294\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4995.98001897 1069.03701429 0.913213083551 with posterior -9391.92973453\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4979.21130273 1021.93333812 0.916931416369 with posterior -9389.42661266\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4827.04813159 1003.93274071 0.907924372569 with posterior -9398.00677994\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5044.51667465 1137.50406112 0.897206969766 with posterior -9402.80532041\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5061.86202059 950.787487728 0.884850392931 with posterior -9392.44465841\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5042.47162606 991.25333797 0.903066036717 with posterior -9390.31408376\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4966.36670068 957.048501456 0.912659128497 with posterior -9390.4077701\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5019.35779386 1008.9927155 0.87976253267 with posterior -9390.57561697\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4946.1933297 1015.96600411 0.896091384674 with posterior -9389.33469418\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4970.29501594 1045.4721887 0.885414197389 with posterior -9391.53815387\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5015.34667541 1001.11133933 0.898033487103 with posterior -9389.14203656\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4919.53055057 1000.35401061 0.877124090325 with posterior -9391.15322127\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5002.41552538 1063.52817099 0.894496723464 with posterior -9392.43910663\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4968.56768839 953.852292902 0.879450829485 with posterior -9389.50322249\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4936.87245085 980.782348792 0.898902598621 with posterior -9389.1943363\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5019.44560717 1115.93786796 0.906432890478 with posterior -9397.77704958\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4946.03840606 1001.52591013 0.892454890733 with posterior -9389.08124815\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4960.11725052 970.371936799 0.883760096083 with posterior -9389.04298639\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5005.61116401 923.074073984 0.90374596044 with posterior -9392.64484222\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4964.42634116 1014.08267313 0.884822609337 with posterior -9389.66742783\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5212.32476778 1009.30405191 0.892863108305 with posterior -9411.4852062\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5015.85696727 1053.31211105 0.901640251597 with posterior -9391.45260569\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4992.56892269 1006.1958467 0.902749016021 with posterior -9388.69068578\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4890.16711372 970.08107263 0.895777435694 with posterior -9392.00074935\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4978.33016882 1160.24109067 0.88092761059 with posterior -9407.72316125\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5046.14239045 1000.52317848 0.882912582984 with posterior -9391.19385118\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5145.76009661 1010.52783234 0.910930876848 with posterior -9400.87343172\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4977.43940028 923.366215171 0.89520417581 with posterior -9391.5047147\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5006.03184802 974.300584938 0.909749646772 with posterior -9389.53210273\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4915.68441648 995.29079944 0.891925730111 with posterior -9390.16713795\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4913.29095299 1004.30609642 0.880583898596 with posterior -9391.24555178\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4943.02801324 981.004309595 0.908010307155 with posterior -9389.33317264\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5106.84409477 987.610255917 0.907037884471 with posterior -9395.93241564\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4981.07141352 1305.05002021 0.922829063806 with posterior -9431.19404763\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4946.08811161 955.812325528 0.920365553374 with posterior -9392.09156441\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4832.03636857 971.008635095 0.863412323076 with posterior -9399.66221467\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4928.76279692 898.41050784 0.918906741637 with posterior -9400.11099363\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5018.74698251 994.771379211 0.920113101351 with posterior -9390.48727392\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5125.28559666 976.920416151 0.899041439322 with posterior -9398.01897083\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4993.72491664 1037.42021678 0.895254693626 with posterior -9390.20380782\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4956.52505206 1035.92402419 0.905354943473 with posterior -9389.74860336\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4946.10992504 983.389093593 0.905924371412 with posterior -9389.07634924\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4952.20304862 1056.35490343 0.916025342721 with posterior -9391.06811062\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4986.29472348 1012.25616659 0.922320306891 with posterior -9389.8794828\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5018.35892885 958.132502467 0.902474744191 with posterior -9390.08249546\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4969.99409875 948.644322824 0.91157267089 with posterior -9390.85404492\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4973.17980322 1033.86182036 0.896507945254 with posterior -9389.79374364\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4849.93057179 996.659445263 0.882688290847 with posterior -9395.83561422\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4974.31152579 1039.07857132 0.860314956582 with posterior -9394.83544165\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4974.29347615 1013.76078107 0.886742000538 with posterior -9389.43465858\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 5011.76397852 970.715903499 0.865865956644 with posterior -9390.87500605\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4943.56978672 993.034517798 0.885350856008 with posterior -9389.37106184\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4988.6304585 1019.83190163 0.921912046658 with posterior -9389.91523631\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4928.29418017 1028.74600562 0.902268556185 with posterior -9390.2124589\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4981.51694069 1057.94466851 0.918894554524 with posterior -9391.1001563\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4954.93995051 984.716972397 0.855583807347 with posterior -9392.38779672\n", | |
| "Proposed hat" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 4975.72754422 964.550635447 0.860735907317 with posterior -9391.01945476\n", | |
| "Ntry" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " [3334, 3333, 3333] Naccept [1294, 1089, 1966]\n", | |
| "Acceptance ratios: [0.38812237552489504, 0.32673267326732675, 0.5898589858985899]\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 89 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "plot_params(chain)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "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\nrkJggg==\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x106a16590>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 90 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Let's look at a subset of the end of the chain (after burn-in)." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "subchain = chain[len(chain)/2::100]\n", | |
| "plot_data_and_model(data, true_mean, true_sigma, subchain)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "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\nMLLy/3N49yvFuQXxAAAAAElFTkSuQmCC\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x1037913d0>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 92 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Sweet! You can see that it's (a) a pretty good looking fit; and (b) has some scatter. That scatter, thanks to the magic of MCMC, is actually a correct statement of how well your data constrain the parameters of your model.\n", | |
| "\n", | |
| "Now, what do you write in your paper? Options include: (a) show scatterplots and histograms of the parameters. In the ideal case, your parameters aren't correlated and each of these are beautiful round Gaussian-looking clouds. In that case you're quite justified in just (b) quoting means and standard deviations of the parameter samples (from your chain), or, probably more common or acceptable to Bayesians would be quoting \"confidence intervals\" based on quantiles of your samples (eg, the 16th and 84th percentiles give something like 1-sigma error bars)." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "# Make a \"triangle\" style plot, with parameter histograms on the diagonal, and pairwise scatterplots\n", | |
| "# off the diagonals. \n", | |
| "subchain = chain[len(chain)/2::10]\n", | |
| "mm = [m for m,s,f in subchain]\n", | |
| "ss = [s for m,s,f in subchain]\n", | |
| "ff = [f for m,s,f in subchain]\n", | |
| "subplot(3,3,1)\n", | |
| "hist(mm, bins=50, histtype='step')\n", | |
| "plt.yticks([])\n", | |
| "plt.ylabel('Mean')\n", | |
| "subplot(3,3,5)\n", | |
| "hist(ss, bins=50, histtype='step')\n", | |
| "plt.yticks([])\n", | |
| "subplot(3,3,9)\n", | |
| "hist(ff, bins=50, histtype='step')\n", | |
| "plt.yticks([])\n", | |
| "plt.xlabel('fCluster')\n", | |
| "subplot(3,3,4)\n", | |
| "plot(mm, ss, 'b.', alpha=0.3)\n", | |
| "plt.ylabel('Dispersion')\n", | |
| "subplot(3,3,7)\n", | |
| "plot(mm, ff, 'b.', alpha=0.3)\n", | |
| "plt.ylabel('fCluster')\n", | |
| "plt.xlabel('Mean')\n", | |
| "subplot(3,3,8)\n", | |
| "plot(ss, ff, 'b.', alpha=0.3)\n", | |
| "plt.xlabel('Dispersion');\n" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "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\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x10f1af7d0>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 108 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Looking at the bottom row middle plot, you can see that there is a little bit of covariance between *pclus* and *sigma* (fCluster and dispersion). That actually makes sense -- if you think that a smaller fraction of the stars are in the cluster, then you're only looking at the core of the cluster, and the spread in those stars is smaller -- you can make the dispersion smaller. Doing this MCMC analysis has shown you how big that effect is.\n", | |
| "\n", | |
| "Now, a VERY nice property of this kind of analysis is that the *marginalized* parameter estimates are easy to get out. In your paper, what you probably really care about are the *Mean* and *Dispersion*, and you don't really care about the fraction of stars, *fCluster*. It is what is usually called a *nuisance parameter* -- something you need to fit for, but you don't really care about. In your paper, you want to report your constraints on the parameters you care about, taking into account the nuisance parameters. MCMC samples let you do that trivially -- you just drop the parameters you don't care about! That's powerful." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "# In your paper, you can now simply report the sample mean and standard deviation of the\n", | |
| "# values from your chain, and those are the correct constraints on those parameters given your data\n", | |
| "# (and prior).\n", | |
| "mm = [m for m,s,f in subchain]\n", | |
| "ss = [s for m,s,f in subchain]\n", | |
| "ff = [f for m,s,f in subchain]\n", | |
| "\n", | |
| "print('Cluster mean velocity is %.0f +- %.0f m/s' % (np.mean(mm), np.std(mm)))\n", | |
| "print('Cluster dispersion is %.0f +- %.0f m/s' % (np.mean(ss), np.std(ss)))\n", | |
| "print('Nuisance parameter fCluster is %.2f +- %.2f' % (np.mean(ff), np.std(ff)))\n", | |
| "\n", | |
| "def conf(x):\n", | |
| " return (np.percentile(x, 84) - np.percentile(x, 16))/2.\n", | |
| "\n", | |
| "print()\n", | |
| "print('Or in confidence intervals:')\n", | |
| "print('Cluster mean velocity is %.0f +- %.0f m/s' % (np.median(mm), conf(mm)))\n", | |
| "print('Cluster dispersion is %.0f +- %.0f m/s' % (np.median(ss), conf(ss)))\n", | |
| "print('Nuisance parameter fCluster is %.2f +- %.2f' % (np.median(ff), conf(ff)))\n" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "Cluster mean velocity is 4979 +- 33 m/s\n", | |
| "Cluster dispersion is 994 +- 28 m/s\n", | |
| "Nuisance parameter fCluster is 0.90 +- 0.02\n", | |
| "\n", | |
| "Or in confidence intervals:\n", | |
| "Cluster mean velocity is 4979 +- 34 m/s\n", | |
| "Cluster dispersion is 996 +- 25 m/s\n", | |
| "Nuisance parameter fCluster is 0.90 +- 0.02\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 114 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [] | |
| } | |
| ], | |
| "metadata": {} | |
| } | |
| ] | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment