{ "metadata": { "gist_id": "4126c1a59f6566427fda", "name": "", "signature": "sha256:f505af6d1894407624cb47ebdc0b1aff9a324f1fead58eeff6e5e64de4c2922e" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Bayesian Analysis with Dummy Data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The material for this notebook is provided via this free online textbook : \n", "\n", "I am writing this notebook to document my learning, and hopefully to help others learn machine learning. You can think of it as my personal lecture notes. I would love suggestions / corrections / feedback for these notebooks.\n", "\n", "Visit my webpage for more. \n", "\n", "Email me: email.ryan.kelly@gmail.com" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Related Notebooks in this series" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Intro to Bayesian Inference\n", "\n", "* Probability Distribution Review\n", "\n", "* Bayesian Inference 2\n", "\n", "* Bayesian Inference 3\n", "\n", "* Bayesian Inference 4\n", "\n", "* Bayesian Inference 6" ] }, { "cell_type": "code", "collapsed": false, "input": [ "social()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "\n", " Tweet\n", "\n", " Follow @Ryanmdk\n", "\n", " ]) \n", "\n", "{'mu': } \n", "\n", "set([]) \n", "\n" ] } ], "prompt_number": 16 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "PyMC Variables" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "All PyMC variables also have a `value` attribute. This method produces the current (possibly random) interval value of the variable. If the variable is a child, its value changes given the variables parents' value. Using the same variables as above:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print 'parameter.value = ', param.value\n", "print 'data_generator.value = ', data_generator.value\n", "print 'data_plus_one = ', data_plus_one.value" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "parameter.value = 0.204992133473\n", "data_generator.value = 0\n", "data_plus_one = 1\n" ] } ], "prompt_number": 18 }, { "cell_type": "markdown", "metadata": {}, "source": [ "PyMC is concerned with two types of programming variables `stochastic` and `deterministic`.\n", "\n", "* _Stochastic variables_ are variables that are not deterministic, even if you know the values of the variables' parents, they are random within a specified domain. Examples of this category are `Poisson`, `DiscreteUniform`, and `Exponential`.\n", "\n", "* _Deterministic variables_ are variables that are not random if the variables parents were known. If you know all variable $Z$'s parent variables, you could determine $Z$'s value.\n", "\n", "Explained further below..." ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Initializing Stochastic Variables" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Initializing a stochastic variable requires a `name` argument, plus additional parameters that are class specific. For example:\n", "\n", "`some_variable = pm.DiscreteUniform('discrete_uni_var', 0, 4)`\n", "\n", "where `0, and 4` are the `DiscreteUniform`-specific lower and upper bound on the random variable. The [PyMC docs](http://pymc-devs.github.io/pymc/distributions.html) contain the specific parameters for stochastic variables, or simply use `object??`, for example `pm.DiscreteUniform??` if you are using IPython.\n", "\n", "The `name` attribute is used to retrieve the posterior distribution later in the analysis, so it is best to use a descriptive name. \n", "\n", "For multivariate problems, rather than creating a Python array of stochastic variables, addressing the `size` argument in the call to a `Stochastic` variable creates a multivariate array of independent stochastic variables. The array behavs like a Numpy array when used like one, and references to its `value` attribute will return Numpy arrays.\n", "\n", "The `size` argument also solves the annoying case where you may have many variables $\\beta _i \\ , i = 1, ..., N$ you wish to model. Instead of creating arbitrary names and variables for each one.\n", "\n", "$$beta2 = pm.Uniform('beta1', 0, 1)$$\n", "$$beta2 = pm.Uniform('beta2', 0, 1)$$\n", "\n", "We can instead wrap them into a single variable:\n", "\n", "$$ betas = pm.Uniform('betas', 0, 1, size=N)\n", "\n", "__ Calling random()__\n", "\n", "We can also call on a stochastic variabl's `random()` model, which (given the parent values) will generate a new, random value. Below we demonstrate this." ] }, { "cell_type": "code", "collapsed": false, "input": [ "lambda_1 = pm.Exponential('lambda1', 1) # prior on first behaviour\n", "lambda_2 = pm.Exponential('lambda2', 1) # prior on second behaviour\n", "tau = pm.DiscreteUniform('tau', 0, 10) # prior on behaviour change)\n", "\n", "print \"lambda_1.value = %.3f\" % lambda_1.value\n", "print \"lambda_2.value = %.3f\" % lambda_2.value\n", "print \"tau.value = %.3f\" % tau.value\n", "\n", "# After calling random() the new value is stored in the variables\n", "# 'value' attribute\n", "lambda_1.random(), lambda_2.random(), tau.random()\n", "\n", "print \"lambda_1.value = %.3f\" % lambda_1.value\n", "print \"lambda_2.value = %.3f\" % lambda_2.value\n", "print \"tau.value = %.3f\" % tau.value" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "lambda_1.value = 0.371\n", "lambda_2.value = 1.822\n", "tau.value = 9.000\n", "lambda_1.value = 1.013\n", "lambda_2.value = 0.594\n", "tau.value = 5.000\n" ] } ], "prompt_number": 22 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Warning: Don't update stochastic variables' values in-place." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From the PyMC docs:\n", "\n", "> Stochastic objects' values should not be updated in place. This confuses PyMC's caching scheme. The only way a stochastic variables value should be updated is using statements of the form:\n", " \n", " A.value = new_value\n", " \n", "> The following are in-place updates and should __never__ be used:\n", " \n", " A.value += 3\n", " A.value[2, 1] = 5\n", " A.value.attributes = new_attribute_value" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Deterministic variables" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since most variables you will be modeling are stichastic, we can simply distinguish deterministic variables with a `pymc.deterministic` wrapper. If you dont know what a wrapper or _decorator_ is in python, it doesn't matter, just add the decorator before the variable declaration. \n", "\n", " @pm.deterministic\n", " def some_deterministic_var(v1=v2,):\n", " # meat and potatoes here\n", " \n", "For all purposes, we can treat the object `some_deterministic_var` as a variable and not a Python function.\n", "\n", "Prepending with the wrapper is the easiest, but not the only way to create deterministic variables: simple options, like, addition, expoentials etc. implicitly create deterministic variables. For example, the following returns a deterministic variable:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "type(lambda_1 + lambda_2)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 23, "text": [ "pymc.PyMCObjects.Deterministic" ] } ], "prompt_number": 23 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The use of the `deterministic` wrapper was seen in the previous chapter's text-messages example. Recall the model for $\\lambda$ looked like:\n", "\n", "$$\n", "\\lambda=\\begin{cases}\n", "\\ \\lambda _1 \\ \\ if \\ t < \\tau \\\\\n", "\\ \\lambda _2 \\ \\ if \\ t < \\tau \\\\\n", "\\end{cases}\n", "$$\n", "\n", "And in PyMC code:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np\n", "\n", "n_data = 5\n", "\n", "@pm.deterministic\n", "def lambda_(tau=tau, lambda_1=lambda_1, lambda_2=lambda_2):\n", " out = np.zeros(n_data)\n", " out[:tau] = lambda_1 # lambda before tau\n", " out[tau:] = lambda_2 # lambda after tau\n", " return out" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 24 }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we know $\\tau$, $\\lambda _1$, $\\lambda _2$, then $\\lambda$is known completely, hence it is deterministic.\n", "\n", "Inside the deterministic decorator, the `Stochastic` variables passed in behave like scalars or numpy arrays (if multivariate), and _not_ like `Stochastic` variables. For example: running the following:\n", "\n", " @pm.determinstic\n", " def seom_deterministic(stoch=some_stochastic_var):\n", " return stoch.value**2\n", "\n", "will return an `AttributeError` detailing that stoch does not have a `value` attribute. It simply needs to be `stoch**2`. During the learning phase, it's the variable's `value` that is repeatedly passed in, not the actual variable.\n", "\n", "Note that in the creation of the deterministic function we added defaults to each variable used in the function. This is a necessary step, and all variables _must_ have default values." ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Including observations in the model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "At this point, it may not look like it, but we have fully specified out priors. For example, we can ask and answer questions like 'What does my prior distribution of $\\lambda _1$ look like?\"" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline\n", "from matplotlib import pyplot as plt\n", "import seaborn as sns\n", "\n", "sns.set(context = 'poster', style = 'whitegrid')\n", "\n", "samples = [lambda_1.random() for i in range(20000)]\n", "plt.hist(samples, bins=70, normed=True, histtype='stepfilled', alpha=0.8)\n", "plt.title('Prior distribution for $\\lambda _1$')\n", "plt.xlim(0, 8)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 27, "text": [ "(0, 8)" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n+sybvyAr99i7rz6/uPqK3LLhxnHP2dZb/jW/jx/cRtq8+dYsWrggCxdOfgf5W2+9NVu2bs/ixZP/\nVGnz5luzYP68vvrsKLZt25YPfuB9kzp3olFc1zuuSHLNsPYVSbbWWjeM0WfkdMOKYa/14ysn/NXR\nD+6zDwAA3BF8ZTInTRT4L+kdV+dX6/CHfj/Wj8WXJBn5JJTVvWNfP0ofeeSRD+nnfAAA4LYmuvvm\nkiRXJnncUEMpZVGSo5KcNUafs5I8vJSyy7C2xya5Nt1DuwAAgFky7iLBtWvXZtWqVbckecWqVasW\nr1q1ammSU9PttnPM2rVrbyilHLhq1apD1q5d+5MkWbVq1Zp0+/M/fNWqVdeuWrXqiem25HxVrfWc\nwX45AADAcBPur1VrPS3JC5M8Jckn0u2084hhT9l9eZJzhp3/s3R78S/snf/MJH9Xaz1lRisHAAAA\nAAAAAAAAAAAAAAAAAAAAAIApmzfXBYyllHJskhcl2TfdA7tOqLWeO7dVtauU8pgkH6m17jbXtbSi\nlDI/yXFJjk1ylyQ/SvKuWus757SwhpRSFid5Rbptg1cl+WaSF9RavzOnhTWslLIk3ffkc2utT5/r\nelpRSlmV5JpRXvr3WuufzHY9rSqlPCzJ65McnuQXST6Q5NW11m1zWVcrSikPSfKlcU7Zv9Z65SyV\n06xSyrx0+eJvktw5yf8meWmt9eyx+ky4D/9cKKU8LclpST6U5PFJbkhyRinlgLmsq1WllPsn+chc\n19GgVyR5Xbq/x3+U5N+SvLWU8sI5raotpyZ5brp/wP84yYYkZ5dS9pvTqtr2yiSHJNk+14U05h69\n4+8nue+wXy+ds4oaU0p5QJLPpwtHj07yjiQvTvdwUGbGt3Lbv7/3TfJ7SdYmOUPYnzHHJXljkvel\n+7fv/5J8oZRyz7E6LJylwiat91PLiUneXWt9Ta/tzCQXJzk+3VN8mQG92dHjkrw6yc1JFs1tRe0o\npSxI9/f1jbXWN/Sazy6l7JXkBUneNGfFNaKUsjLdg/1eXGt9d6/tnHT/sDwl3Q9bzKBSym+n+wHr\n2rmupUF3T/KzWutZc11Iw05K8oVa6zN6v/9y75OVh6T7d5BpqrWuT3Le8LZSyluTbEvy5Dkpqk3P\nSPLRWutJSVJK+XKSByb5i3Tfo29nR5zhPyjJfkk+M9RQa92S5PQkj5yrohr16CQvSRdA354deInX\nTmhFkg8m+dSI9ppkr1LKstkvqTk3JblPuo/kh2xJN/O8eC4KalkpZWG62aQ3Jrlqjstp0d2TfG+u\ni2hVb7Ll/kn+aXh7rfWltdaHzk1V7Sul/FaSZyd5Wa117VzX05Ddkqwf+k1vSdqNSXYfq8MON8Of\npPSOl45ovzzJgaWUebVWHyXPjPOSHFBrvbGU8qq5LqYltdYbkjxvlJf+KMmVtdaNs1xSc2qtW5N8\nN/nlJ4N3TfKqdDNJlqjNvBen+zfjpCRPmONaWnT3JBt7n1LdK92nKG+rtb55bstqxuHpJrU2lFI+\nm+Th6QLSu9Kt4ZcrBuN1SS6utb5nrgtpzEeSPLuU8h/pllEdk+S3Ms4SwB0x8A/dNLp+RPv6dJ9I\nLE83s8c01Vqvnusa7khKKc9M8rCM8XEb0/KKdGvLk+TltdZL5rKY1pRSDk3yd0keWmvdXEqZqAt9\n6C0BPDTdv3MvTHeD/x8mOamUsmxoeSvTslfv+KEkH03y5nRLeV6WZGO6T66YQaWU1ekmuY6d61oa\n9Ip0kwRnDmv7+1rrf43VYUcM/EPLSsb6adud9Ox0Sil/nu5G9E/YpWcgPpVuZ4iHJnllKWVJrfUV\nc1xTE3q7Tb03yXtrrd/sNZsNnVnbkzwqyY9rrVf02r5aStk1yYtLKSfXWm+ds+raMHSP2hdqrS/u\n/fdXSil7JnlZKeVNZvln3DOTXBefuA7CR5LcL90uPWvS3ez/qlLKulrru0brsCMG/nW944rcdouy\nFUm21lo3zH5JMHWllBPS3aT76SR/PsflNKnW+v3ef36tlLIiyQtLKSf2lv0wPc9Nt63so3vr+JNu\nYmZ+KWWBMZ6+3vrbr47y0hlJ/jrdvW0/mNWi2jO0MuALI9rPTLfG/IB0S4eZOY9N8p+11s1zXUhL\nSilHJvnTJE+stX6y1/zV3vfnN5ZSPjBaVt4Rb9od+ih+9Yj21el26oGdRinl9ek+Ov5QkqN7N6Az\nA0op+5RSnt6bBR3uwiRL0u3Lz/Q9NslvJLk+ya29X3dP8tQkm22BOn2llDuXUv6yN9s83NDN/XZF\nmr6h+wJH3tA/NPNvdn8G9b4v/GZuv3EF03dw7zjy2VTnJNkl3Q+vt7OjBv4rkzxuqKGUsijJUUls\nV8ZOo5Ty/HS7IL211vp0D3aZcbsn+eckR49o/4MkP6+1/mL2S2rSXyU5ctive6fbbeqzvd//dO5K\na8ayJP+Y229b+IR0Nzz6uzx9/5tud6mRDzE7KslVw5ZSMTPu0zt6YOrMu6x3fOCI9t9JsjnJT0br\ntMMt6am1bi+lnJTkHaWU65N8PclzkuyR7iE7sMMrpdw5yclJvp/k46WU+4445XxLIaan1vrDUson\nk7yl90yJy9M9qO/JSTwBdobUWuvItlLKpiRra63fnoOSmlNrvayU8vEkrymlbEvywyRPTPf3+Y/n\ntLhG9LLF3yX5YCnlXUk+mW6nnqemWzbFzDosybW9HeuYQbXWb/aeT/WuUsoe6b5fPCTJi9Lt7HXj\naP12uMCfJLXW03r7lD8/3cOLvpPkEX4CH6jt8ZHmTHpEuo+OD0vyjRGvbU+3Y8R1s11Ug56abnee\nl+ZXjxc/utbqY+TB8r1i5j0j3c4bx6X7u/yDJI8fb9cN+lNr/XApZXO6HaeenuTHSf6q1vreua2s\nSXulWwbIYDwmyd+ny8i/nm7J2nNrrf80bi8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgz\n/x/RPOo/boQNwwAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 27 }, { "cell_type": "markdown", "metadata": {}, "source": [ "To frame this in the notation of the [first chapter](http://nbviewer.ipython.org/github/rmdk/IPython-Notebooks/blob/master/Machine%20Learning/Bayesian%20Methods%20for%20Hackers.ipynb)\n", ", though this is a slight abuse of notation, we have specified $P(A)$. Our next goal is to include/evidence/observations $X$ into our model.\n", "\n", "PyMC stochastic variables have a keyword argument `observed` which accepts a boolean (False by default). The keyword `observed` has a simple role: fix the variable's current value (make the value immutable). We have to specify an initial `value` in the variable's creation, equal to the observations we wish to include, typically an array (should be Numpy array for speed). For example:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "data = np.array([10, 5])\n", "fixed_variable = pm.Poisson('fxd', 1, value=data, observed=True)\n", "print 'value: ', fixed_variable.value\n", "print 'calling .random()'\n", "fixed_variable.random()\n", "print 'value: ', fixed_variable.value" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "value: [10 5]\n", "calling .random()\n", "value: [10 5]\n" ] } ], "prompt_number": 28 }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is how we include data into the models: initializing a stochastic variable to have a fixed balue.\n", "\n", "To complete the text message example from the previous lesson, we fix the PyMC variable `observations` to the observed dataset." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# some fake data\n", "data = np.array([10, 25, 15, 20, 35])\n", "obs = pm.Poisson('obs', lambda_, value=data, observed=True)\n", "obs.value" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 29, "text": [ "array([10, 25, 15, 20, 35])" ] } ], "prompt_number": 29 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Finally..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We wrap all the created variables into a `pm.Model` class. With this class, we can analyze the variables as a single unit. This is an options step, as the fitting algorithms can be sent and array of the variables, rather than a `Model` class. I may or may not use this class in future examples :P." ] }, { "cell_type": "code", "collapsed": false, "input": [ "model = pm.Model([obs, lambda_, lambda_1, lambda_2, tau])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 31 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Modeling Approaches" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A good starting though to Bayesian modeling is to think about _how your data might have been generated_. Position yourself in an omniscient position, and try to imagine how you would recreate the dataset.\n", "\n", "In the last three notebooks we investigated text message data. We begin by asking how our observations may have been generated.\n", "\n", "1. We started by thinking 'what is the best random variable to describe this count data?' A Poisson random variable is a good candidate because it can represent count data. SO we model the number of messages received as sampled from a Poisson distribution.\n", "\n", "2. So, assuming the texts are Poisson-distributed, what do we need for the Poisson distribution? We need to satisfy the parameter $\\lambda$.\n", "\n", "3. Do we know $\\lambda$? Nope, but in this example we suspect there are _two_ $\\lambda$ values, one for the earlier behaviour and one for the latter behaviour. We don't quite know when the behaviour switches though, but we call the switchpoint $\\tau$.\n", "\n", "4. What is a good distribution for the two $\\lambda$s? The exponential is good, as it assigns probabilities to positive real numbers. The exponential distribution has a parameter too, call it $\\alpha$. \n", "\n", "5. Do we know what $\\alpha$ might be? Nope. At this point we could continue and assign a distribution to $\\alpha$, but it is better to stop once we reach a set level of ignorance: whereas we have a prior belief about $\\lambda$; like that it 'probably changes over time', 'it's likely between 10 and 30', ect. We dont really have any strong beliefs about $\\alpha$, so its best to stop here. What is a good value for $\\alpha$ then? We think that the $\\lambda$s are between 10 - 30, so if we set $\\alpha$ really low (which corresponds to a larger probability on high values) we are not reflecting out prior well. Similar, a too-high apha misses out prior belief as well. A good idea for $\\alpha$ is to reflect our belief is to set the value so that the mean of $\\lambda$, given $\\alpha$, is equal to our observed mean. This was shown in the last chapter.\n", "\n", "6. We have no expert opinion of when $\\tau$ might have occurred. So we will suppose $\\tau$ is from a discrete uniform distribution over the entire timespan." ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Same story; different ending." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Interestingly, we can create new datasets by retelling the story. For example, if we reverse the above steps, we can simulate a possible realization of the dataset.\n", "\n", "1. Specify when the users behaviour switches by sample from `DiscreteUniform(0, 80)`:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "tau = pm.rdiscrete_uniform(0, 80)\n", "tau" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 36, "text": [ "34" ] } ], "prompt_number": 36 }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Draw $\\lambda _1$ and $\\lambda _2$ from an $Exp(\\alpha)$ distribution:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "alpha = 1. / 20.\n", "lambda_1, lambda_2 = pm.rexponential(alpha, 2)\n", "print lambda_1, lambda_2" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "26.8466829876 5.18750926671\n" ] } ], "prompt_number": 37 }, { "cell_type": "markdown", "metadata": {}, "source": [ "* For days before $\\tau$, represent the users received texts count by sampling from $Poi(\\lambda _1)$, and sample from $Poi(\\lambda _2)$ for days after $\\tau$. For example:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "datau = np.r_[pm.rpoisson(lambda_1, tau), pm.rpoisson(lambda_2, 80 - tau)]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 39 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.bar(np.arange(80), data, color='#3498db')\n", "plt.bar(tau - 1, data[tau - 1], color='r', label='user behaviour changed')\n", "plt.xlabel('Time (days)')\n", "plt.ylabel('count of texts received')\n", "plt.title('Artificial dataset')\n", "plt.xlim(0, 80)\n", "plt.legend();" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nHuzsYCVJkiStrctGJlJKqemxiKgDXk8p/SX3eBJwQUSsBv5GtoHdW2RzLSRJkiR1oa68zak5Tec1\nnEU22XoCMAD4E3BESumdzg5MkiRJ0trKKplIKX2yyeP3gTNzP5IkSZLKSDlsWidJkiSpGzKZkCRJ\nklQQkwlJkiRJBTGZkCRJklQQkwlJkiRJBTGZkCRJklQQkwlJkiRJBTGZkCRJklSQstq0TpIkrd/q\n6uqoqanp0hiqq6vp169fl8YgrS9MJiRJUqepqalh9h57MLKL2p8N8MgjjB49uosi6LgZM2Zw1lln\nMW/evA5d54wzzuCvf/0rd911V5Eia94RRxxB//79mTJlSknbKURn9UGpfe1rX2PLLbfkkksu6fS2\nTSYkSVKnGgl034/yytfEiRPZcMMNuzqM9VqvXr26rG2TCUmSJJXM9ttv39UhqIScgC1JktSGYcOG\ncdNNN6117OKLL+acc85pePzwww/zpS99iR133JHddtuNs846i6VLlzaUr1q1ip/85Cfsueee7LDD\nDnz5y1/mz3/+c0P5E088wbBhw/j1r3/Npz/9aXbZZRf++c9/thjTfffdx7777svIkSM56qij1rnt\n6eWXX+bb3/42O+20E9XV1Xz/+9/nzTffXOc6t956K3vttRcjR47kiCOO4O9///ta5bfccgtjx45l\nhx12YKedduLoo48mpQTAHXfcwfDhw/nXv/611jk/+tGP2HvvvYHsNqfjjz++oeyNN97gnHPOYcyY\nMey4444cddRRPPfccw3lM2bMYNiwYbz11lsNx95++22GDRvGnXfeCcCkSZP48pe/zMUXX8zOO+/M\nF7/4xRb76YknnmDcuHF88pOfZMyYMVx66aWsWLGiaH1Q/xwvvfRSrrrqKj796U+z4447csIJJ/Da\na6811Fm9ejXXXnste+yxBzvuuCMnn3wy06ZNY9iwYWu1dffddzN27FhGjBjBfvvtx/Tp09cqf++9\n9zjnnHPYZZdd2HXXXZk6dWqLz70zmExIkiS1Q3O3ktQfe/nllznxxBMZNWoUP/vZzzj99NP5wx/+\nwPnnn99Q99xzz2XatGl87Wtf47rrrmPIkCEce+yxPP3002td84YbbuCiiy7i7LPPZuutt24xnokT\nJ3Lcccdx1VVX8d5773HUUUexZMkSAJYsWcLhhx/OokWLuOyyy/jhD3/IM888wzHHHMPKlSsbrvHS\nSy8xc+ZMzj33XC655BIWLFjAhAkTGspvvPFGrrzySg477DBuuukmzj33XF588UXOOOMMAPbbbz/6\n9OnD/fffv1Zs9913H5///OfXifm9997jv/7rv3j88ceZMGECV111FWvWrGH8+PFrfThvjxdeeIGU\nEpMnT+aUU05pts6zzz7L0UcfzcYbb8zVV1/NSSedxG9/+1suuuiiovVBvdtvv505c+ZwySWXMHHi\nRJ544om15jBcffXVTJkyhfHjxzNp0iQArrzyyrXeV3fccQcTJkxgl112YerUqRx88MFccskl3Hjj\njQ11vve97/HAAw9w+umnc9FFF3Hvvfd26aIG3uYkSZLUQc899xwrV67k2GOPZYsttgCgf//+vPrq\nq0D2gfWOO+7gwgsv5JBDDgFg9913Z/HixVx99dXccsstDdcaP348e+65Z5ttXnDBBey7774A7Ljj\njuy999786le/4sQTT+SWW25h5cqV3HTTTWyyySYA7LDDDnzmM5/hnnvu4eCDD264zpQpUxpifu21\n17j00kt577336N+/P4sWLeKEE07giCOOAGDUqFEsXbqUSy+9lNraWgYMGMCYMWO49957G+o888wz\nvPrqq80mEzNmzOAf//gHd911V8PtT7vvvjuf+cxnuPbaa7nmmmva3eerVq3ijDPOWOeb/camTp3K\nNttsw3XXXdfwoX358uXceeedrF69uih9UFFRAcCGG27IlClT6NOnDwDz5s3jv//7vwF49913ufnm\nmzn++OM57rjjABg9ejRf+MIXGpKo1atX8+Mf/5iDDjqoYcRrt912o1evXlx33XWMGzeOBQsW8PDD\nD3PVVVfxuc99Dshe13322afd/VZsJhOSJEkdtMMOO9CnTx8OPfRQDjjgAPbcc0/23ntvNtgguwnk\nySefBGCPPfZg1apVDeftscce/PjHP17r2Hbbbddme717925IJAA222wzdtxxR5566ikgu7Vn5MiR\nVFZWNlx70KBBDBkyhMcff7whmdh6660bPkQDbLXVVgC888479O/fn7PPPhvIbk36+9//zt///nce\neughAFasWEFFRQVjx47l5JNPZvHixWyxxRb8/ve/Z/vtt2/2Q35NTQ1Dhw5dax7FRhttxH777cfM\nmTPbfN5NDR48uNXyp59+mrFjx6717f+4ceMYN25cw+Ni9AFkt8LVJxIAH/7wh6mtrQVg9uzZrFy5\ncq3XDLKRnRdeeAGA+fPns3jxYsaMGbPW+2H06NFcc801zJ49m5deegnI3jf1tthiC3bcccdW+6GU\nTCYkSZI6aJtttmHatGn89Kc/Zfr06dx0000MHDiQCRMmcPDBBzfc/9/4Q2C9Xr16rTWXYfPNN2+z\nvc0226zZYwsWLADgrbfe4tlnn+XjH//4OvU+9KEPNfzddL+N+uSn/lv7l156iXPPPZe//OUvVFRU\nMGzYMPr37w/AmjVrABgzZgwDBgzg/vvv5/DDD+e+++7jK1/5SrNxv/322wwcOHCd45tvvjnvvvtu\nW097LRUVFW3uF/L222+32Z/F6IPmrtOrV6+G8vrXt+nr1rgv6t8jp556Kqeeeuo611qyZAlvv/02\nvXv3bmi/XuNkqLOZTEiSJLVD49tiINuAr7GddtqJKVOmsHz5ch577DFuuOEGzj77bD71qU9RWVlJ\nr169+PWvf73WMqn1Hzbrb0Vqr3feeWedY4sXL2bTTTcFoLKykjFjxnDyySevVWfNmjXrfBBtyerV\nq/nWt77FZpttxt13381HPvIRAH7xi1/w6KOPNtTr06cP++67L/feey8f+9jHWLRoEQceeGCz1/zg\nBz/I/PnzW429fhShcX8vW7asXTE3NWDAAF5//fW1ji1dupTnnnuOnXfeuc3z29sHbfnwhz8MZKMb\njZO5N954o+HvyspKAM477zx22GGHtc5fs2YNVVVV3HvvvaxatYp3332XAQMGNJS/+eabDW10Nidg\nS5IktWHAgAFrrVi0bNmytT4U//KXv2Tvvfdm1apV9O3bl7322ovvfOc7vP/++yxevJhRo0axZs0a\n3nnnHT7+8Y83/DzxxBPceuut9O6d3/e7tbW1Dbc0AfzrX/9i9uzZ7LLLLgDsvPPOvPTSSwwdOrSh\nraFDh3Ldddfxl7/8pV1tvPHGG7zyyiscdthhDR+iAWbNmrXWt+4AY8eO5emnn2bGjBmMGDGCbbbZ\nptlrjho1ihdffLHhdh3IbhV64IEH2GmnnQAaPiQ3Xgmp8XPNxyc/+UkeeeSRtWK9++67Of7443n/\n/ffbPL+1PoC1RyZaUz+a8eCDD651/KGHHmpInoYMGcImm2zCokWL1nqPLF26lEmTJvHuu+82vL73\n3XdfwzWWLl3KM8880644SsGRCUmS1Klmd3Hbhey+vcceezBjxgw+9rGPsdlmm3HDDTes9YF6l112\n4ZJLLuE73/kOhx9+OCtWrOD6669n2223Zfjw4Wy44Ybsv//+nHbaaZx44okMGTKEJ598kqlTp/KN\nb3wj703HNtpoI04//XQmTJhA7969ueaaa9hss8346le/CsDXv/51Zs6cybHHHsuRRx5J7969ufnm\nm5k9e/Y6oxUt2Xzzzdlqq62YNm0am222GRtssAF33nknzzzzDGvWrKG2trZhNGHXXXdlk002YcaM\nGXz/+99v8Zpf+tKXuOWWWzjuuOM45ZRTGDBgANOmTeONN97gW9/6VsO1+vbty0UXXcQBBxzA4sWL\nufPOO9eaj9Bexx9/POPGjePkk0/m0EMP5f/+7//4yU9+wvjx49s1QtNaH8C6o1Mtqays5KijjmLq\n1Kn06dOHYcOGMXPmTJ5//vmG1753796cdNJJDStA7brrrixcuJArr7yS7bbbjqqqKgAOOuggLr74\nYpYvX86WW27J1KlT25UYlYrJhCRJ6jTV1dXwyCNd1v7I+hjydOaZZ7J8+XImTpzIgAEDGDduHIMG\nDWrYj2DIkCFcf/31TJo0iZNOOokNNtiAXXfdlSuvvLLhtqYrrriCa665hp/+9Ke8/vrrbL311px6\n6qkcffTRDe20J6no1asXm2++OaeccgqXX345r7/+OrvuuivnnnsuG2+8MQBbbrklt912G5dffjmn\nnXYavXr14hOf+AQ333xzw8ToltqqP96rVy8mTZrEBRdcwCmnnEJlZSUHHnggt99+O/vssw/PPPNM\nw2TlDTbYgM997nPcdtttHHDAAS3G3r9/f37xi1/wox/9iPPPP59Vq1ax0047MX369Ia4Kisrufrq\nq7niiiu46KKL2Hbbbbnssss48cQT14qxPX01cuRIbrzxRq666ipOPPFEBg4cyJFHHtmQuHS0D55+\n+mm23HLLFttvfP0TTzyR999/n1tuuYV3332Xvfbai8MPP5w77rijoc64cePo168f06ZNa1iJ64AD\nDuC73/1uQ52LLrqIzTbbjEmTJrFq1Sq+/OUvt7qEcKl13d7bneypp55a055749Y3s2bN4tiZC6kc\nuu5/nO/8rYaffaGK0aNHd7iduXPnAjB8+PAOX0sts59Lzz4uPfu4c9jPpWcfl9760scrV67knnvu\nYfTo0WtNCD/11FOZP38+M2bM6LLY5s6dy7Jlyxg1alRBeYEjE5IkSVIJbbTRRlx//fX89re/5Zhj\njqGiooI///nP/P73v19rA73uyGRCkiRJKrGpU6dyxRVXcNZZZ7Fs2TKGDBnCxRdfvNYGgt2RyYQk\nSZJUYoMHD+baa6/t6jCKzqVhJUmSJBXEZEKSJElSQUwmJEmSJBXEZEKSJElSQUwmJEmSJBXEZEKS\nJElSQUwmJEmSJBXEZEKSJElSQUwmJEmSJBXEZEKSJElSQUwmJEmSJBXEZEKSJElSQUwmJEmSJBXE\nZEKSJElSQUwmJEmSJBXEZEKSJElSQUwmJEmSJBXEZEKSJElSQUwmJEmSJBXEZEKSJElSQUwmJEmS\nJBXEZEKSJElSQUwmJEmSJBWkd1c2HhF9gB8ARwCbA08AE1JKT+fKdwZqmjn1ipTS9zstUEmSJEnr\n6NJkArgKGA98H3gROAX4Q0TskFJ6BRgJvAfs0+S8Vzs1SkmSJEnr6LJkIiI+CHwDOD2lNDV37E/A\n62QJxsXADsCclNKTXRWnJEmSpOZ15cjEu8B/Ai83OrYKWAP0zT3eAXi2k+OSJEmS1A5dlkyklN4H\nZgNERC9gO2AisBqYnqs2AqiLiKeBjwGvABeklG7t9IAlSZIkraVcVnP6AdmcifHAj1JKf4uIrcgm\nZX8EuBD4HPAwMC0ijuiySCVJkiQBXT8Bu94M4CFgb+C8iOhLNmdiX+C5lNJruXoP5ZKM84Cf59vI\n3LlzixRu97FgwQJae5kXLFjAwIEDO9xObW0t0DP7uDO99dZbPP/88zz11FPNlo8YMYK+ffs2W9bY\n8uXLmTNnTovl7b3O+sj3cunZx53Dfi49+7j07OPSq+/jQpVFMpFSqv9UMysiKoHTgB+mlB5qpvp9\nwGcj4gMppWWdFqRUBp5//nnO/3+vUFE1bJ2y2oXzuBAYNWpUm9eZM2cO59zzYoevI0mSerauXM3p\nw8ABwG9SSu82KnqGbAL2bhHxCeDGlNKKRuUVQG0hicTw4cM7EnK3tGTJEpi9sMXywYMHF6Vf6r8x\n6Il93JmeeuopKqqGUTm0utnywYOr2vUaLFmyhIqq3h2+zvrI93Lp2cedw34uPfu49Ozj0ps7dy7L\nlhX+/XxXzpnYFLgROKTJ8f2Bf5ElOpPJEg6gYaL2l4BHOilGSZIkSS3oytWc5kXE7cCVuZ2w55Ml\nCuOBr5NNtn4MmBIRmwKLgOOATwCf7pqoJUmSJNXr6jkTR5JNpj4T2BL4K3BISmkGQEQcRDYR+3yy\nlZ3+F9gvpfR014QrSZIkqV6XJhMppVrgjNxPc+VvAMd3alCSJEmS2qVc9pmQJEmS1M2YTEiSJEkq\niMmEJEmSpIKYTEiSJEkqiMmEJEmSpIKYTEiSJEkqiMmEJEmSpIKYTEiSJEkqiMmEJEmSpIKYTEiS\nJEkqiMmEJEmSpIKYTEiSJEkqiMmEJEmSpIKYTEiSJEkqiMmEJEmSpIKYTEiSJEkqiMmEJEmSpIL0\n7uoAVLi6ujpqampaLK+uru7EaCRJktTTmEx0YzU1NYyf/AAVVcPWKatdOI/pJ3RBUJIkSeoxTCa6\nuYqqYVQOdQRCkiRJnc85E5IkSZIKYjIhSZIkqSAmE5IkSZIKYjIhSZIkqSAmE5IkSZIKYjIhSZIk\nqSAmE5IkSZIKYjIhSZIkqSAmE5IkSZIKYjIhSZIkqSC9uzqAclFXV0dNTU2L5dXV1fTr168TI1JL\nyu21Krd4JEmSOovJRE5NTQ3jJz9ARdWwdcpqF85j+gkwevToLohMTZXba1Vu8UiSJHUWk4lGKqqG\nUTm0uqvDUDuU22tVbvFIkiR1BudMSJIkSSqIyYQkSZKkgphMSJIkSSqIyYQkSZKkgphMSJIkSSqI\nyYQkSZKkgphMSJIkSSqIyYQkSZKkgphMSJIkSSqIO2BLrairq6OmpqbF8upqd72WJEk9l8mE1Iqa\nmhrGT36Aiqph65TVLpzH9BO6IChJkqQyYTIhtaGiahiVQx2BkCRJaso5E5IkSZIKYjIhSZIkqSAm\nE5IkSZIK0uVzJiKiD/AD4Ahgc+AJYEJK6elGdc4Gvpkr/xNwUkrphS4IV5IkSVJOOYxMXAWcBFwM\nfAFYBvwhIrYFiIjzgLOBy4CvAh8EHoyIjbsmXEmSJEnQxclERHwQ+AZwXkppakrpQeBQYCNgfERU\nAhNy5demlO4CPgNUAsd0VdySJEmSun5k4l3gP4FpjY6tAtYAfYFdgf7A7+oLU0pvAQ8Dn+20KCVJ\nkiSto0vnTKSU3gdmA0REL2A7YCKwGpgO7J+r+lKTU+cDB3VOlJIkSZKa09UjE439AHgRGA/8KKX0\nN2BjYHlKaVWTuu/kyiRJkiR1kS5fzamRGcBDwN7AeRHRF6glu+WpOavzbWDu3Lktli1YsIDWumPB\nggUMHDgw3yZLqj0xZ0r/vGpra4HW+7hYOvO1Kqc+BlixYkVR2mrreaWUGj235o0YMYK+ffu22VZ3\n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\n", "text": [ "" ] } ], "prompt_number": 43 }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is okay that our fictional dataset does not look like our observed dataset: the probability is incredibly small that it would. PyMC's engine is designed to find good parameters, $\\lambda _i$, $\\tau$, that maximize this probability.\n", "\n", "The ability to generate artificial datasets is an interesting side effect our modeling, and we will see that this ability is a very important method of Bayesian inference. We produce a few more datasets below." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def plot_artificial_sms_dataset():\n", " tau = pm.rdiscrete_uniform(0, 80)\n", " alpha = 1. / 20.\n", " lambda_1, lambda_2 = pm.rexponential(alpha, 2)\n", " data = np.r_[pm.rpoisson(lambda_1, tau), pm.rpoisson(lambda_2, 80 - tau)]\n", " plt.bar(np.arange(80), data, color=\"#348ABD\")\n", " plt.bar(tau - 1, data[tau - 1], color=\"r\", label=\"user behaviour changed\")\n", " plt.xlim(0, 80)\n", "\n", "\n", "plt.title(\"More example of artificial datasets\")\n", "for i in range(4):\n", " plt.subplot(4, 1, i)\n", " plot_artificial_sms_dataset()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAwQAAAIbCAYAAABVDFkYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3X+cXGV9//3XJoRkGzZIN9wNqdpNtJ92+RrQklhqmxu+\niEqhRFGrVokVkabeGEEIxPww4YcoBREsP9RKvdVGa0ul3qB38S4ocR8RdUML7hcWPgGyaE23/W5g\nk+BuNiHJ/cd1BobJzszZOdecnZl9Px+PfczOdV1zrms+58zMuc51nXNARERERERERERERERERERE\nRERERERERERERERERERERERERERERERERERaTFuWF5vZqcD3KxT5LeA/gLXACqAT2AKsdPfHs9Qt\nIiIiIiLZZe0QdADdJcntwD8BW4EzgQ3AauBy4GlgPfCbwPHuvjtL/SIiIiIikk2mDsF4zOwm4M+A\n44F9wA7gKne/Psl/GaFjcIW73xi7fhERERERSW9azIWZ2fHAhcB6d98JnAzMBu4qlHH3YWAzcEbM\nukVEREREZOKidgiAa4DH3f1LyXNLHp8sKbe9KE9ERERERCbJEbEWZGYLgbOBC4qS5wBj7v58SfE9\nSZ6IiIiIiEyimCMEHwKeATYVpbUBh8qUPxixbhERERERqUHMDsHbgG+7+/6itF3ATDObXlK2AxiO\nWLeIiIiIiNQgypQhM3sl8LvAJSVZ2wijBAuAJ4rSFwITvg/B1q1by402iIiIiIhMZZsXL158ai0v\njHUOweuTxx+XpP8I2AucAxQuO3oMcAqwsZaKTjrppBqbKNX09/cD0N1demsJiUUxrj/FOB+Kc/0p\nxvWnGOdDca6//v5+RkZGTqn19bE6BK8BhpJLir7A3Z8zs5uBq83sIGHEYB1hutDtkeoWEREREZEa\nxeoQHAs8WyZvLeEE4lXAUcAWYLm774lUt4iISEV79+6lt7e3bP6SJUuYNWtWji0SEWkcUToE7n5h\nhbwDwJrkT0REJHe9vb2ce8MdtM9feFje6I6n2HQpLF26dBJaJiIy+aLdh0BEpJXoiHLraZ+/kI4F\nJ0x2M0REGo46BCIi49ARZRERmSpiXXb0jcCngEXAfwNfAa5y94NJ/jpgBdBJOIdgpbtP+LKjIiJ5\n0hFlERGZCjLfmMzM/hD4F+AR4EzgFmA1sD7J30i4stB1wHuAo4H7zGxO1rpFRERERCSbGCME1wL3\n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\nRERERERERERERERERERERERERERERERERERERERERERERERERERERKTl/H9+jZTHae6J6gAAAABJ\nRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 45 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Later we will see how we use this to make predictions and test the appropriateness of out models." ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example: Bayesian A/B testing" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A/B testing is a statistical design pattern for determining the difference of effectiveness between two different treatments. For example, a pharmaceutical company is interested in the effectiveness of drug A vs drug B. The company will test drug A on some fraction of their trials, and drug B on the other fraction (the fraction is often 1.2, but we will relax this assumption). After performing enough trials, the in-house statisticians sift through the data to determine which drug yielded better results.\n", "\n", "Similarly, front-end web developers are interested in which design of their website yields more sales or some other metric of interest. They will route some fraction of visitors to site A, and the other fraction to site B, and record if the visit yielded a sale or not.\n", "\n", "Often, the post-experiment analysis is done using something called a hypothesis test, like _difference of means_ or _difference of proportions_ tests. These are techniques taught in any basic statistics course. These work just fine, but the Bayesian approach is much more natural and flexible." ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "A Simple Case" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We continue the web-dev example. For the moment we will focus on the analysis of site A only. Assume that there is some true 0 < $p _A$ < 1 probability that users who, upon shown site A, eventually purchase from the site. This is the true effectiveness of site A. Currently, this quantity is unknown to us.\n", "\n", "Suppose site A was shown to $N$ people, and $n$ people purchased from the site. One might conclude that $P _A = \\frac{n}{N}$. UNfortunately, the observed frequency $\\frac{n}{N}$ does not necessarily equal $p _A$, there is a difference between the observed frequency and the true frequency of an event. The true frequency can be interpreted as the probability of an event occurring. For example, the true frequency of rolling a 1 on a 6-sided die is $\\frac{1}{6}$. Knowing the frequency of events like:\n", "\n", "* fraction of users who make purchases.\n", "* frequency of social attributes.\n", "* percent of internet users with cats, etc.\n", "\n", "are common requests we ask of reality. Unfortunately, the true frequency is hidden from us, and we have to infer it from observed data.\n", "\n", "The observed frequency is then the frequency we observe: rolling a die 100 times you may observe 20 rolls of 1. The observed frequency then differs from the true frequency of $\\frac{1}{6}$. We can use Bayesian statistics to infer probable values of the true frequency using an appropriate prior and observed data.\n", "\n", "With respect to the A/B testing example, we are interested in using what we know, $N$ (the total trials administered) and $n$ (the number of conversions), to estimate what $p _A$, the true frequency of buyers might be.\n", "\n", "To set up a Bayesian model, we need to assign prior distributions to our unknown quantities; a _priori_. What do we think $p _A$ might be? Since we have no clue what this quantity is right now, we can assume $p _A$ is uniform over [0,1]:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import pymc as pm\n", "\n", "# The parameters are the bounds of the Uniform.\n", "p = pm.Uniform('p', lower=0, upper=1)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 47 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Had we had stronger beliefs, we could have expressed them in the prior above.\n", "\n", "For this example, consider $p _A$ = 0.05, and $N$ = 1500 users shown site A, and we will simulate whether the user made a purchase or not. To simulate this from $N$ trials, we will use a Bernoulli distribution: if $X \\sim Ber(p)$, then $X$ is 1 with probability $p$ and 0 with probability 1 - $p$. Though in practice we do not know $p _A$, but we will use it here to simulate the data." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# set constants\n", "p_true = 0.05 # remember this is normally unknown\n", "N = 2500\n", "\n", "# sample N Bernoulli random variables from Ber(0.05).\n", "# each random variable has a 0.05 chance of being a 1.\n", "# this is the data-generation step\n", "occurrences = pm.rbernoulli(p_true, N)\n", "\n", "print occurrences, occurrences.sum()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[False False False ..., False False False] 132\n" ] } ], "prompt_number": 55 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The observed frequency is:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Occurrences.mean is equal to n/N\n", "print 'What is the observed frequency in Group A? {}'.format(\n", " occurrences.mean())\n", "print 'Does this equal the true frequency? {}'.format(\n", " occurrences.mean() == p_true)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "What is the observed frequency in Group A? 0.0528\n", "Does this equal the true frequency? False\n" ] } ], "prompt_number": 56 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we combine the observations into the PyMC `observed` variable, and run our inference algorithm:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# include the observations, which are Bernoulli\n", "obs = pm.Bernoulli('obs', p, value=occurrences, observed=True)\n", "\n", "# To be explained in later lessons\n", "mcmc = pm.MCMC([p, obs])\n", "mcmc.sample(18000, 1000)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-- 7% ] 1358 of 18000 complete in 0.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [------ 17% ] 3154 of 18000 complete in 1.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [---------- 27% ] 4934 of 18000 complete in 1.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-------------- 38% ] 6931 of 18000 complete in 2.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------49% ] 8866 of 18000 complete in 2.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------60%-- ] 10834 of 18000 complete in 3.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------71%------- ] 12805 of 18000 complete in 3.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------82%----------- ] 14786 of 18000 complete in 4.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------93%--------------- ] 16775 of 18000 complete in 4.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------100%-----------------] 18000 of 18000 complete in 4.8 sec" ] } ], "prompt_number": 57 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now plot the posterior distribution of the unknown $p _A$ below:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "plt.title('Posterior distribution of $p _A$, the true effectiveness of site A')\n", "plt.vlines(p_true, 0, 90, linestyle='--', label='true $p_A$ (unknown)')\n", "plt.hist(mcmc.trace('p')[:], bins=25, histtype='stepfilled', normed=True)\n", "plt.legend()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 58, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nkiRJSQwPkiRJkpIYHiRJkiQlMTxIkiRJSmJ4kCRJkpTE8CBJkiQpieFBkiRJUhLDgyRJkqQkhgdJ\nkqRh9utf/5qvfOUrw92Mips5cyazZs0qa5mTJk3iu9/9blnLrLSenh7+/d//nUceeWS4m1I0w4Mk\nSdIwu+mmm/jHP/4x3M2oqD/+8Y/87Gc/45Of/GTZy66rqyt7mZVUV1fH9OnTOffcc+nq6hru5hTF\n8CBJkqSKu+yyyzjuuONYb731hrspI8Kee+7JhAkT+J//+Z/hbkpRDA+SJEnDaOrUqTz66KPcc889\nTJ48meeff55JkyZx3XXXccQRR/Ce97yHuXPn9ts953Of+xxTp05dadnNN9/MoYceys4778yRRx7J\n3Llzq/lw+vXnP/+ZRx55hMMPPzy/LOXxTJo0idtvv53TTz+d3Xbbjb333puvfvWrrFixot96uru7\nOfXUU9lzzz2ZP39+chlvvvkm119/PR/4wAfYZZddOOqoo7jrrrvy90+ZMoWzzz47//eiRYuYNGkS\nZ511Vn7Zq6++yqRJk7j33nuT23344Ydz8803D/h4RiLDgyRJ0jA6//zz2XHHHWlubuaWW25hk002\nAeCaa65h2rRpzJw5k7322gvov3tO4bJZs2Zx6aWXcuSRR3Ldddex7777csYZZ/CLX/yiOg9mAHfd\ndReTJk1iq622Wmn5YI8H4Ktf/SoTJ07k6quv5rjjjuPmm2/m1ltv7beeCy+8kPvvv58bbriBd77z\nncllnHXWWVxzzTUce+yxXHvttey2225Mnz6d2267DYADDjiAhx9+OL9+S0sLAI899lh+2QMPPMB6\n663H3nvvndzuQw45hBdeeIHHH3984J03whgeJEnSGuHyyy9niy22WOXf5ZdfPizrp9puu+1oaGhg\n3Lhx7LLLLowZMwaA9773vXz0ox/l0EMPZeLEiYOWs3jxYq6//no+9alPccopp7DvvvsyY8YMPvzh\nDw/axlmzZnHaaafx4IMP8oMf/ICbbrqJU089leeee66kx9br4YcfZscdd0xat6enZ6W/d9ttN778\n5S+z9957c/LJJ7Pjjjty7733rrLNrFmzuP3227nmmmvYZZddksuYP38+c+fO5eyzz+aEE05g3333\n5YILLuCII47giiuuoLu7m/33358XXniBBQsWrPR4FixYkB+r8sADD7DnnntSX1+f3O4tt9ySDTfc\ncKVgMtIZHiRJ0hphyZIlvPjii6v8W7JkybCsX6ptt922qPWfeOIJli1bxoEHHsjy5cvz//bff38W\nLFjA888/3+9299xzD4cddhjbb789M2fOZMqUKRx//PHssccefP3rXy/HQ+GFF15g8803H9K27373\nu1f6e9NNN+WNN95Yadldd93FrFmzOProo9lzzz2LKqP3LMJhhx220jof/OAHefXVV2lvb+c973kP\nY8eO5aGHHgLg0Ucf5dhjj6WhoYF58+YBWXg48MADi2o3wBZbbMELL7ww8A4YYUYPdwMkSZLKYdy4\ncf1+QR03btywrF+qlLMNhRYtWgTAscceu8p9dXV1vPzyy2y55Zar3Dd27Fi23357nnjiCY455hjG\njh0LQFdXF+3t7UNo+aqWLFky5IHS66+//kp/jxo1apUxAvPnz2e//fZj9uzZnHDCCTQ1NQ1aRnd3\nNwCvvfYao0ePZvz48Suts/HGGwPw+uuvs+6667LPPvvw0EMPccghhzB//nz23HNPdt11V1paWthu\nu+14+eWXOeCAA5LqLFRfX1+xAFoJhgdJkrRGOOOMMzjjjDNGzPqV0PfLZ2dnZ/7/vSHmqquuYrPN\nNltpvZ6engHPZOy+++68+eabPPbYY8yYMSO//IknnmDrrbfud5s77riDpUuXcswxxyS1e8MNN+T1\n119PejxDmXb1hBNO4JRTTuHwww/n/PPP5+abb07edsKECSxfvpzFixevFCD++c9/5tsOsP/++3Pl\nlVfy2GOPMXHiRLbZZhv23HNP5s6dy1ZbbcXWW2+9ypiOFIsXL2aHHXYoervhYrclSZKkYTZq1OBf\nycaOHctLL72U/7uzs5PW1tb83+9+97sZPXo0r7zyCjvttFP+39NPP80111yzyliCQk8++SQNDQ35\nX+yXLl3Kgw8+yIc//OFV1l26dCnf/va3efnll5Mf3+abb86LL75Y1ONZnb4BY+LEiYwZM4YZM2bw\nyCOPMHv27OS2NTc3A/Dzn/98peVz585l4403ZptttgGyQdP//Oc/ue2229hjjz2ALHjFGPn5z3/O\nQQcdlFxnr56eHl5++WW22GKLorcdLp55kCRJGmYTJkygtbWVhx9+eJXBvr0OOOAAfvrTn7Ljjjuy\n0UYbccMNN1BXV5cPBRtttBFTp07lkksu4bXXXmPnnXfmL3/5C9/4xjd43/vel++O1J+HHnoo/ws7\nwLXXXsuBBx7IwQcfvMq6v/rVr5gyZQp/+9vfkh/fPvvss8qMT4M9ntUZaJ2DDz6YAw88kJkzZ/Iv\n//IvTJgwYdAyJk2axKGHHsoll1xCR0cHIQTuvvtu5s6dy3nnnZdff7PNNmP77bfnt7/9Leeeey4A\nO++8M+uuuy5/+MMfOPXUU4tud3t7O4sXL2bfffcddNuRwvAgSZI0zKZNm8bpp5/Opz/9aW688cZ+\n1zn77LPp6uri/PPPZ+zYsRx33HHstNNO/OlPf8qvc+aZZzJx4kRuvfVWrrzySjbddFOOP/54vvCF\nL6y2/oceeoi99tqL6667ju7ubkaPHt3vYOkFCxbQ2NjI29/+9pWmKR3MIYccwvXXX8+CBQvyXXtS\nHk9/6urqVtu16ZxzzuHII4/ksssu46KLLkoq47LLLuPKK6/kxhtvZNGiRWy33XZcdtllHHnkkStt\nt//++9PW1pY/8zBmzBh23XVXnnzyyfyyYtp9//33s/nmmw8YGEeimrqWd0tLS0/vqSWNDL2nFydP\nnjzMLVEhj8vI5HEZmTwuI5PHpXqWLVvGHnvswZ133sk73vGO1a47Y8YMpk6dyuuvv86ll16avw5C\niqlTp9Lc3Mxpp51WapPXGEcffTQf+chH+PjHP15SOa2trXR2drL77rtX/Lu9Yx4kSZLWYo8//jgT\nJkwYNDj88pe/ZNSoUfzmN7/hiSeeyA8oTnX66afz4x//mI6OjlKau8b4/e9/T0dHR7+zY41khgdJ\nkqS11H333cfMmTPp7u7m2muvHXC9zs5OnnvuOY477jgOPvhgPvaxjxUdHnbbbTeOOOIIvvOd75Ta\n7JrX09PD5ZdfzsUXX5y/KGCtcMyDJNWgW388h+/96GeMGVNfkfKXdb3BSdM+xL8edXhFypc0Muy/\n//7sv//+q13nwQcf5Jvf/Cbvf//788tuueUWuru7ufHGGzn++OOTp1c9++yzS2rvmqKuro6f/OQn\nw92MITE8SFIN+ttzz7F8430Z3dBYkfLfXPIyzz1XO1c8lVQ5++yzD/vssw/w1liUadOmMW3atGFs\nlYaL3ZYkSZIkJTE8SJIkSUpieJAkSZKUxPAgSZIkKYnhQZIkSVISZ1uSpAr45Ge/yF9fWrrSsmXL\nugDKMr3qsjffZOy2h5ZcjiRJxTA8SFIFLFtRx/rbHrbSsvXLWH45y5IkKZXdliRJkiQlMTxIkiRJ\n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\nQmCC\n", "text": [ "" ] } ], "prompt_number": 58 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Our posteriod distribution is very close to the true value of $p_A$, and is a fairly tight distribution, which is a measure of how certain we are given our observations. By increasing $N$ we will find that we can be more and more certain." ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "A and B Together" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A similar analysis can be done for site B's response data to determine the analogous $p_B$. But what we are really interested in is the _difference_ between $p_A$ and $p_B$. Let's infer $p_A$, $p_B$, and delta, all at once. We can do this using PyMC's deterministic variables. We will assume for now that $p_B$ = 0.04, so delta = 0.01, and $N_B$ = 750 (much less than $N_A$) and we also simulate site B's data in the same way as site A." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# These two quantities are unknown to use\n", "# We just use them to simulate test data\n", "\n", "true_p_A = 0.05\n", "true_p_B = 0.04\n", "\n", "# Unequal sample sizes are no problem with Bayesian analysis\n", "N_A = 1700\n", "N_B = 950\n", "\n", "# Generate observations\n", "obs_A = pm.rbernoulli(true_p_A, N_A)\n", "obs_B = pm.rbernoulli(true_p_B, N_B)\n", "print 'Obs from Site A: ', obs_A[:30].astype(int), '...'\n", "print 'Obs from Site B: ', obs_B[:30].astype(int), '...'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Obs from Site A: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0] ...\n", "Obs from Site B: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0] ...\n" ] } ], "prompt_number": 74 }, { "cell_type": "code", "collapsed": false, "input": [ "print obs_A.mean()\n", "print obs_B.mean()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "0.0464705882353\n", "0.0357894736842\n" ] } ], "prompt_number": 75 }, { "cell_type": "code", "collapsed": false, "input": [ "# Set up pymc model assuming uniform priors for p_A and p_B.\n", "p_A = pm.Uniform('p_A', 0, 1)\n", "p_B = pm.Uniform('p_B', 0, 1)\n", "\n", "# Define the deterministic delta function.\n", "# This is our unknown of interest.\n", "@pm.deterministic\n", "def delta(p_A=p_A, p_B=p_B):\n", " return p_A - p_B\n", "\n", "# Set of observations\n", "obs_A = pm.Bernoulli('obs_A', p_A, value=obs_A, observed=True)\n", "obs_b = pm.Bernoulli('obs_B', p_B, value=obs_B, observed=True)\n", "\n", "# Explained later\n", "mcmc = pm.MCMC([p_A, p_B, delta, obs_A, obs_B])\n", "mcmc.sample(20000, 1000)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-- 6% ] 1303 of 20000 complete in 0.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [----- 14% ] 2895 of 20000 complete in 1.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-------- 22% ] 4594 of 20000 complete in 1.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [------------ 32% ] 6421 of 20000 complete in 2.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [--------------- 41% ] 8291 of 20000 complete in 2.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------51% ] 10215 of 20000 complete in 3.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------61%--- ] 12200 of 20000 complete in 3.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------70%------ ] 14111 of 20000 complete in 4.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------80%---------- ] 16071 of 20000 complete in 4.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------90%-------------- ] 18032 of 20000 complete in 5.0 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------99%----------------- ] 19991 of 20000 complete in 5.5 sec" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " [-----------------100%-----------------] 20000 of 20000 complete in 5.5 sec" ] } ], "prompt_number": 76 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plot the posterior distributions of the three unknowns" ] }, { "cell_type": "code", "collapsed": false, "input": [ "p_A_samples = mcmc.trace('p_A')[:]\n", "p_B_samples = mcmc.trace('p_B')[:]\n", "delta_samples = mcmc.trace('delta')[:]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 77 }, { "cell_type": "code", "collapsed": false, "input": [ "ax = plt.subplot(311)\n", "\n", "plt.xlim(0, 0.1)\n", "plt.hist(p_A_samples, histtype='stepfilled', bins=25, alpha=0.80,\n", " label='posterior of $p_A$', color='red', normed=True)\n", "plt.vlines(true_p_A, 0, 80, linestyle='--', label='true $p_A$ (unknown)')\n", "plt.legend(loc='upper right')\n", "plt.title('Posterior distributions of $p_A$, $p_B$, and delta unknowns')\n", "\n", "ax = plt.subplot(312)\n", "\n", "plt.xlim(0, 0.1)\n", "plt.hist(p_B_samples, histtype='stepfilled', bins=25, alpha=0.80,\n", " label='posterior of $p_B$', color='#467821', normed=True)\n", "plt.vlines(true_p_B, 0, 80, linestyle='--', label='true $p_B$ (unknown)')\n", "plt.legend(loc='upper right')\n", "\n", "ax = plt.subplot(313)\n", "\n", "plt.hist(delta_samples, histtype='stepfilled', bins=30, alpha=0.80,\n", " label='posterior of delta', color = '#7A68A6', normed=True)\n", "plt.vlines(true_p_A - true_p_B, 0, 60, linestyle='--', \n", " label='true delta (unknown)')\n", "plt.vlines(0, 0, 60, color='black', alpha=0.2)\n", "plt.legend(loc='upper right');" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nrFkTOv/6RE8GRERERKrAu+++y5577sm5557L22+/zdtvv81DDz3EoYceSq9evRg1ahRbtmzBzJg1\naxYzZ85kxIgRABx55JFkZGQwYMAArr32Who2bMjjjz9OixYtOO644wB/5z03N5f333+fI444gj33\n3JO+ffsyatQoNm7cSOfOnVm8eDEPPPAAp556KllZWaHi7tChQ4XxRY86VJEw3zOs+fPn7/QkYfLk\nyfTs2ZNTTjlll7T/+Mc/6NOnD999911Cn1FfqDIgIiIitcZXW7dW62cfUontL730Uj777DNuvPFG\nDjjgACZMmMBpp50GwNixY5kwYQLTp09nw4YNHHTQQYwdO5ZzzjkH8CMHPfbYY4wbN47bbruNwsJC\njjzySKZPn156Udy/f39uueUWrrvuOh5//HGOPPJIbrvtNnJycnjuueeYMGECbdq0oV+/ftx0000J\nxR4vvlTmE6ZyMX/+fI477jimTJlCcXExDRs25P77798l3dKlS2ndujWZmZksWrQooVjri3BVOcDM\nTgX+CHQG/gdMB+52zhUH64cD1wM5+KFFBzjnEpqBeOHChSXljUsrUh7NBCrJqo6yM+2qq7jq00+r\n7PMqa9pZZ3HV3XdXdxg1js471WPbtm188cUX1RpDp06daNy4ccLbdejQgd/+9recdtppKjeVtH37\ndrp27corr7zCfvvtV2HacePGMXjwYBYsWMCYMWN4/vnnqyjK1IrMQNylS5fQ1+5hhXoyYGa/AP4F\nPAkMBboA9+DnFrjbzEYEy28DvgXuBGaZWSfn3KZUBy0iIuk1bvVq8oqKyJ03j6uqOxiRQOPGjTnq\nqKOqOwypZh999BEtWrSIWxF44403aNCgATNmzGDt2rWlHZVlZ2GbCY0CXnfORX4TZptZDnCSmf0Z\nP9nYCOfcRAAzm4uvFFwNjE9xzCIikmbjVq9mVWEhLfI0d6SI1Bxz585l/PjxFBcXM3nyZG644YYy\n0+Xn5/P9999zSzCnSkFBARMmTKjKUGuNuJUBM2sNHA/0iV7unBsWrD8dyAJejlq3wczmAL1RZUBE\n6riCggLy8/NDpd1eVJTmaESkJlq8eHFp8zJJXo8ePejRo0eFaebNm8eDDz5Y2h8D4Nlnn6W4uJjp\n06fTr1+/0J2e64MwTwY64/sW5JvZK8BpwCbgEeBuwIJ0S2O2+xo4L0VxiojUWFOHDGG/Dz8Mlfao\n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\n8evl+du30+N//+OQkO37vwO+y8+vZITVo6TEn7Yytm6t5khqnu3FxaXvczdsqOZoap5UlZ3skOky\n16/nyg4dQqX9priY/Tt1CpW2QcOGNM3KCpW2+4kncvTxx4dKK2XT75UkK1J20iEVlYGNwXs2sCZq\neTZQ5JxL5CphTn5+fs8UxCT1UH4tvSCtKtffe291hyC1yBvVHYDs5IzgVd10nk0N7UdJ0px0ZJqK\nysBXwfuBwLKo5QfiRxQKrUuXLielIB4REREREQkhFY19vwKWA+dHFphZI+BsYFYK8hcRERERkTSo\n9KDf69atIycnZxvw+5ycnN1ycnKaAOPxowz1X7dunRqbioiIiIjUQCmZAWjdunULc3JyNgPXAf2B\nH4G+zrnPU5G/iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgA\nkJGujM3sWuA2YB/gY+B3zrn5FaT/OfAgcCywHnjYOTcmJk0PYCzwc2AF8Cfn3F/T8w2kuqSp7JwD\n3AV0BNYBLwPDnXOb0/IlpFqko+zEpP8rcJJz7oCUBi7VLk3nnQOBPwOnAFuB14HBzrk1afkSUi3S\nVHZ6A/cAHYDvgYnOuYfT8w2kOiRabqK2ywb+L0j/Qsy6pK6TGyQefnxm1g+YBDwBXABsAN4ws/3L\nSd8GeAsoAi4CHgXuM7PBUWk64k+kS4HzgVeBv5jZr9LxHaR6pKnsnIK/+P8syPNe4FLgmbR9Ealy\n6Sg7Mel7Af2AkpQHL9UqTeedlsBcoDVwCXAzcBLwbLq+h1S9NJWdrvhrnC+APsCTwINm9tv0fROp\nSomWm6jtsoGXgH2J+S2qzHVyw8S/QsXMLAP4AzDFOXdPsOwt4EvgFmBQGZv9Fl8xOc85txV43cwa\nA8PM7AHnXBFwO7DMOff/gm3eNLNWwO+BF8rIU2qZNJadwcBc59w1UZ+1EXjOzDo653LT+sUk7dJQ\ndh50zu2Iyr8Z/kd7RXq/iVS1NJ53fhek7eWc2xLkuwmYaGZtnHP/S+sXk7RLY9m5AvjOOdcv2OZt\nM+sE3ADo6UAtl2S5wcx6ApOBNuVknfR1cjqeDBwM7Ie/EwtA8KP6GtC7nG1OA2YFB0bES8CeQNeo\nNK/GbPcS0NnM9kpB3FL90lV25rHrCdQF7/tXLmSpIVJddrrEpB0FLAH+QRqbV0q1SNd553zg6UhF\n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\n336jVatWrF27lt69e9OpUyd27txZ4M/i9OnTPP7448TExNC+fXtGjRrFt99+C8C2bdvcn+O5555z\n/7sge/bs4Xe/+x3t27dn4MCB7N2794I83377LaNGjaJ9+/Z069aNJ598stA5J7179+bYsWO8/vrr\ned73vffe44477qB9+/a0b9+e4cOHs2PHjkLjqgo87Qy0BX611m601v4z1+OgMaYmMAmYYa2Ntda+\nD9wM1ASKHxQmIiLiR6tXryY2Npb58+eXdyhyEXnqqado0KABS5YsISYmhpkzZ/LXv/4VgKysLO69\n917eeecdHnjgAWJjY2nYsCFjx47lq6++AmD79u1Mnz6dQYMG8fLLL/PAAw+wbt06YmNjAfjLX/4C\nOOPgly5dCsDXX3/NfffdxxVXXMGSJUu45557WL16NU8++WSe2FavXk3fvn1ZtGhRgcNkpkyZwrJl\nyxg+fDjLly+nY8eOTJo0iTfeeCNPvmXLlvHYY4/xxBNPcM0111xQT3JyMr/73e/YunUrkyZNYsGC\nBWRnZ3P33XdjreXqq6/O8znWr19f4M/yp59+YvTo0dSoUYNFixZxxx138Kc//SlPngMHDnD33XcT\nGBjICy+8wKRJk9iwYUOh8wGWLFlC3bp16d+/v/t9P/roI6ZMmcKNN97Iiy++yNNPP01SUhKPPPII\n58+fL7CeqsDTOQNtgX8Vcuw6IAx4LyfBWhtvjNkE9AcWlCpCERERYNvW7ezb973X5ZYvX05SUhKR\nkbWoU7v+Bcejo6/ium5dfBGiVCFt27bl6aefBqBHjx4cP36c5cuXc+edd/LFF1+wa9cuXnrpJa6/\n/noAevbsyfDhw3n++efp0aMHu3btokaNGowZM4aQkBA6depESEgIQUHOpVm7ds6gjMsuu8z9zfbC\nhQvp0KGDu2Pbo0cPIiMjmTp1Kvfeey+XXXYZAC1atGDs2LEFxr1//342bNjArFmzGDZsGADdu3fn\n7NmzLFiwgFWrVrnzDhw4kFtuuaXQn8Fbb73F0aNHef/992nevLk7pptvvpnY2FgWLVqU53O0bdu2\nwHpeffVVQkNDWbZsGaGhodxwww0AzJkzx51n6dKl1K9fn5UrV7p/Rk2aNOHuu+9mx44dFwxBio6O\nJiQkhLp167rf99///jcjRozg4YcfducLDg5m3LhxHDlyhBYtqub8FW86A6nGmC1AR+Ak8IK1dh5g\n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\nf53OnTvzwgsvBAa4RkdHM2fOHKZOncr06dMpKCggLS2NV155JTAeYMCAAUydOpVXX32Vd999l7i4\nOIYMGcLvfve7wGuMHj2aGTNmsGHDBjIzMxkyZAgvvfQSL774IkuWLAkMUh47dmy5wbehoqKiyt1l\nmDZtGi+88ALz588nNzeXLl26MG3aNK666qpadZlLSEjg9ddfZ8qUKTzxxBMUFxfTt29fFi5cWKs7\nA8nJySxcuJBJkyZx9913c9pppzFx4kR+/etfB9Y555xzWLBgAdOnT2fMmDHExcXRt29fpk2bVuFd\nAYD//u//ZsKECYwaNYoPPviAp556iscee4xx48YRGxvLJZdcwrJly/iP//gPvvjiC84777wax9yY\nRFW/Chhj/oAzaHg8sAn4T+A2IMNau9wYMwUY41u+2ff9dOAca+2RmgazYcOGsn79+tVuD8RTugId\nntQu4Wnp0qUUFxdjjKl0Cj05eRMnTCM5vlett/P3ST+VyUBx8XGatNzFb+8adcpes6H58ssv2bJl\nC6mpqfUWQ48ePao8ia5M9+7defLJJxkxYoQHUdUv/X8JT/47A/3796/RuXtt1HRq0dtwnjJ8N85J\n/jfAMGut/3F1D+EMFh4LtADWACNrkwiIiIhI5IiNjaVHjx466RSpZzVKBqy1BcA431dFy0uqWi4i\nIiIiIuGnpncGRERERATYtKn2T8IWCVdKBkREpFFbmbksMJvQxQMrf8KriEgkUjIgIiKuKi0tpaSk\npPoVa13vydX5SeYyDuflkJSYrGRARCSEkgEREXHV/P9dyIZM55kLbopr2oI2zV2tUkQk4ikZEBER\nVxUWFmE6DaBpTGx9hyIiItVQMiAiIuKy6Oho/vn5Jh59aIqr9RYU5HPn6JvrdW5+EWlclAyIiIi4\nLDq6CX3M5a7Xu+vodvbt269kQERco2RAREQatUHpGYHZhEREpLzo+g5ARETES4PTM7hs8HWaSUhc\n87e//Y1HH320vsMoZ/z48YwcObLG669bt47u3buzceNGAPbs2cPtt9/O4cOHXYknKyuLq666ytWZ\nxWbOnMm5557rWn2nyqZNmxg6dCjHjh2r71AqpGRAREREpBYWLFjAvn376juME0RFRZ30tmvXrmXN\nmjV1qsOvuLiY8ePHM2bMGNdnFXMjvlOte/fu9OzZkxdffLG+Q6mQkgERERGRRqCsrCws6li+fDn5\n+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\n6/QAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 79 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that as a result of N_B < N_A, out posterior distribution of $p_B$ is fatter, implying we are less certain about the true value than we are of $p_A$.\n", "\n", "With respect to the posterior distribution of `delta`, we can see that the majority of the distribution is on almost exactly `delta = 0.01`. If for example deltas distribution was above 0.01, we could imply that Site A's response is likely better than site B's response. The probability that this inference in incorrect can be computed:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Count the number of samples less than 0, i.e. the area under the curve\n", "# before 0, represent the probability that site A is worse than site B.\n", "\n", "print 'Probability site A is WORSE than site B: {}'.format(\n", " (delta_samples < 0).mean())\n", "print 'Probability site A is BETTER than site B: {}'.format(\n", " (delta_samples > 0).mean())" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Probability site A is WORSE than site B: 0.100263157895\n", "Probability site A is BETTER than site B: 0.899736842105\n" ] } ], "prompt_number": 82 }, { "cell_type": "markdown", "metadata": {}, "source": [ "If this probability is too high for comfortable decision-making, we can perform more trials on site B (since site B has less samples to begin with, each additional data point for site B contributes more inferential power than each additional data point for site A).\n", "\n", "Try playing with the parameters `true_p_A`, `true_p_B`, `N_A`, and `N_B` to see what the posterior of `delta` looks like. Notice in all this, the difference in samples sizes of site A and site B was never mentioned: it naturally fits into Bayesian analysis.\n", "\n", "This approach is generally more natural than hypothesis testing, in later notebooks we will expand this method to dynamically adjust for bad sites, and improve the speed of the analysis." ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "[Up Next: An Algorithm for Human Deceit](http://nbviewer.ipython.org/github/rmdk/IPython-Notebooks/blob/master/Machine%20Learning/Bayesian%20Inference%204.ipynb)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from IPython.core.display import HTML\n", "\n", "\n", "def css_styling():\n", " styles = open(\"/users/ryankelly/desktop/custom_notebook2.css\", \"r\").read()\n", "\n", " return HTML(styles)\n", "css_styling()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "" ], "metadata": {}, "output_type": "pyout", "prompt_number": 8, "text": [ "" ] } ], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "def social():\n", " code = \"\"\"\n", " Tweet\n", "\n", " Follow @Ryanmdk\n", "\n", "