{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Bayesian Survival Analysis\n", "\n", "Copyright 2017 Allen Downey\n", "\n", "MIT License: https://opensource.org/licenses/MIT" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from __future__ import print_function, division\n", "\n", "%matplotlib inline\n", "\n", "import warnings\n", "warnings.filterwarnings('ignore')\n", "\n", "import numpy as np\n", "import pandas as pd\n", "\n", "import thinkbayes2\n", "import thinkplot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Survival analysis\n", "\n", "Suppose that you are an auto insurance company interested in the time between collisions for a particular driver. If the probability of a collision is roughly constant over time, the time between collisions will follow an exponential distribution.\n", "\n", "Here's an example with parameter $\\lambda = 0.5$ collisions / year." ] }, { "cell_type": "code", "execution_count": 99, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from thinkbayes2 import MakeExponentialPmf\n", "\n", "#pmf = MakeExponentialPmf(lam=0.5, high=30)\n", "pmf = MakeWeibullPmf(lam=2.0, k=0.9, high=60)\n", "\n", "thinkplot.Pdf(pmf)\n", "thinkplot.Config(xlabel='Lifetime', ylabel='PMF')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For the exponential distribution, the mean and standard deviation are $1/\\lambda$.\n", "\n", "In this case they are only approximate because we truncated the distribution." ] }, { "cell_type": "code", "execution_count": 100, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(2.3204760330957992, 2.3608256709052506)" ] }, "execution_count": 100, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pmf.Mean(), pmf.Std()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From the PMF, we can compute the CDF." ] }, { "cell_type": "code", "execution_count": 101, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cdf = pmf.MakeCdf()\n", "thinkplot.Cdf(cdf)\n", "thinkplot.Config(xlabel='Lifetime', ylabel='CDF')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And from the CDF, we can compute the survival function, which is the complement of the CDF.\n", "\n", "$SF(x) = Prob\\{X > x\\} = 1 - Prob\\{X \\le x\\} = 1 - CDF(x)$" ] }, { "cell_type": "code", "execution_count": 102, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nJ1FtFgAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from survival import MakeSurvivalFromCdf\n", "\n", "sf = MakeSurvivalFromCdf(cdf)\n", "thinkplot.Plot(sf)\n", "thinkplot.Config(xlabel='Lifetime', ylabel='Survival function')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From the survival function we can get the hazard function, which is the probability of a collision at $x$, given no collision prior to $x$." ] }, { "cell_type": "code", "execution_count": 103, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n/wFoTVYBwmYIBwAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "hf = sf.MakeHazardFunction()\n", "thinkplot.Plot(hf)\n", "thinkplot.Config(xlabel='Lifetime', ylabel='Hazard function')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If the distribution is truly exponential, the hazard function is constant for all $x$.\n", "\n", "In this case it goes to 1 at the end, again because we truncated the distribution." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise:** Go back and increase the value of `high`, and confirm that the hazard function is a constant until we approach the point where we cut off the distribution." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Remaining lifetime\n", "\n", "Given the survival function, we can compute the distribution of remaining lifetime, conditioned on current age. The following function computes the mean remaining lifetime for a range of ages." ] }, { "cell_type": "code", "execution_count": 104, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def RemainingLifetime(sf):\n", " \"\"\"Computes remaining lifetime as a function of age.\n", " \n", " sf: survival function\n", " returns: Series that maps from age to remaining lifetime\n", " \"\"\"\n", " pmf = sf.MakePmf()\n", " d = {}\n", " for t in sorted(pmf.Values()):\n", " pmf[t] = 0\n", " if pmf.Total():\n", " pmf.Normalize()\n", " d[t] = pmf.Mean() - t\n", "\n", " return pd.Series(d)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's what it looks like for the exponential survival function." ] }, { "cell_type": "code", "execution_count": 105, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "mean_rem_life = RemainingLifetime(sf)\n", "thinkplot.Plot(mean_rem_life)\n", "thinkplot.Config(xlabel='Lifetime', ylabel='Survival function')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The mean time until a collision is pretty much constant, until we approach the point where we truncate the distribution." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Weibull distribution\n", "\n", "The Weibull distribution is a generalization of the exponential distribution that takes an additional \"shape\" parameter, `k`.\n", "\n", "When `k=1`, the Weibull is an exponential distribution. Other values of `k` yield survival curves with different shapes, and hazard functions that increase, decrease, or both. So the Weibull family can capture a wide range of survival patterns." ] }, { "cell_type": "code", "execution_count": 106, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nUWCIiEhW/j+9nm9e+kHU7wAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from thinkbayes2 import MakeWeibullPmf\n", "\n", "pmf = MakeWeibullPmf(lam=2.0, k=1.5, high=30)\n", "thinkplot.Pdf(pmf)\n", "thinkplot.Config(xlabel='Lifetime', ylabel='PMF')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise**: In the previous section, replace the exponential distribution with a Weibull distribituion and run the analysis again. What can you infer about the values of the parameters and the behavior of the hazard function and remaining lifetime?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Bayesian survival analysis" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Suppose you are the manager of a large building with many light fixtures. To figure out how often you will need to replace lightbulbs, you install 10 bulbs and measure the time until they fail.\n", "\n", "To generate some fake data, I'll choose a Weibull distribution and generate a random sample (let's suppose it's in years):" ] }, { "cell_type": "code", "execution_count": 116, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 2.16720062, 1.98553625, 1.44028217, 2.05068265, 2.21505013,\n", " 0.70501647, 0.43401449, 0.67833024, 2.12264353, 0.51604502,\n", " 1.08257349, 1.87281144, 1.22394111, 4.52782486, 2.93711172,\n", " 0.51554485, 2.76548229, 1.03850744, 1.00277524, 2.44457056,\n", " 1.51869861, 1.21627947, 1.56841035, 2.12999513, 4.22848361,\n", " 1.56491417, 0.60311224, 1.19766456, 1.03450134, 2.92243332,\n", " 1.86484473, 2.86674193, 1.23235744, 3.36051109, 1.31944338,\n", " 1.24500887, 0.20110738, 0.95085513, 2.69555937, 1.60815994,\n", " 1.06081976, 1.55233189, 0.4636843 , 0.37523309, 3.598693 ,\n", " 0.71178144, 3.45432266, 3.69130864, 4.76980241, 0.13617007,\n", " 1.64063513, 3.11275242, 3.59233625, 2.10508289, 1.4372327 ,\n", " 2.65000013, 0.56371412, 1.91599508, 1.2965953 , 1.43196784,\n", " 3.26251423, 1.44327647, 3.62314075, 0.09964646, 2.98105599,\n", " 0.73913421, 5.15253587, 0.66215796, 1.39730136, 2.35781234,\n", " 0.95249742, 1.21073558, 1.02168233, 1.83382324, 0.53234007,\n", " 1.67364922, 4.61134329, 1.01973895, 1.49467343, 0.46700978,\n", " 2.06980669, 1.74940422, 1.7647287 , 0.27159589, 6.58625972,\n", " 1.13996364, 2.55543219, 1.52966509, 6.65205771, 1.62939492,\n", " 0.87740876, 2.6108278 , 2.48292772, 4.39386985, 1.18237998,\n", " 0.73134881, 0.99215943, 2.2648305 , 0.56976736, 2.12071552])" ] }, "execution_count": 116, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def SampleWeibull(lam, k, n=1):\n", " return np.random.weibull(k, size=n) * lam\n", "\n", "data = SampleWeibull(lam=2, k=1.5, n=100)\n", "data" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "**Exercise:** Write a class called `LightBulb` that inherits from `Suite` and provides a `Likelihood` function that takes an observed lifespan as data and a tuple, `(lam, k)`, as a hypothesis. It should return a likelihood proportional to the probability of the observed lifespan in a Weibull distribution with the given parameters.\n", "\n", "Test your method by creating a `LightBulb` object with an appropriate prior and update it with the data above.\n", "\n", "Plot the posterior distributions of `lam` and `k`. As the sample size increases, does the posterior distribution converge on the values of `lam` and `k` used to generate the sample?" ] }, { "cell_type": "code", "execution_count": 117, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Hint\n", "\n", "from thinkbayes2 import Suite, Joint, EvalWeibullPdf\n", "\n", "class LightBulb(Suite, Joint):\n", " \n", " def Likelihood(self, data, hypo):\n", " lam, k = hypo\n", " x = data\n", " like = EvalWeibullPdf(x, lam, k)\n", " return like" ] }, { "cell_type": "code", "execution_count": 118, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 119, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from itertools import product\n", "\n", "lams = np.linspace(0.001, 6, 101)\n", "ks = np.linspace(0.001, 8, 101)\n", "\n", "suite = LightBulb(product(lams, ks))" ] }, { "cell_type": "code", "execution_count": 120, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "2.3824871049762166e-69" ] }, "execution_count": 120, "metadata": {}, "output_type": "execute_result" } ], "source": [ "suite.UpdateSet(data)" ] }, { "cell_type": "code", "execution_count": 121, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWoAAAEACAYAAACatzzfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEZlJREFUeJzt3VuMnHd5x/HvMzu7a69PiXOwYww5tIogUUMIFaENbafi\nTNrkqjS0CIkLqkq0QZQiIiSa5aZSL4CitqqKoCFUgSBSKNACJRUMKZQmISdyBuHGcXDi+BTH3vUe\nZubpxYwdx7G9M9kZzz/j70da+Z3Z/7zzjO397X+e9//OG5mJJKlclWEXIEk6MYNakgpnUEtS4Qxq\nSSqcQS1JhTOoJalwXQV1RHwwIh6IiJ9GxE0RMTHowiRJbUsGdURsAv4cuCwzLwGqwDWDLkyS1Fbt\nctwYsCoiWsAUsH1wJUmSjrTkjDoztwOfAB4Hfgk8k5n/NejCJElt3bQ+TgOuBs4FNgGrI+KPBl2Y\nJKmtm9bHm4AtmbkHICK+Cvwm8MUjB0WEHxoiST3KzFhqTDerPh4HXh8RKyIigDcCDx/nCUfy6/rr\nrx96Db4+X5+vb/S+utVNj/oO4BbgHuA+IIDPdP0MkqRl6WrVR2Z+HPj4gGuRJB2DZyZ2oVarDbuE\ngfL1vbT5+kZf9NInOeGOIrJf+5KkU0FEkH06mChJGiKDWpIKZ1BLUuEMakkqnEEtSYUzqCWpcAa1\nJBXOoJakwhnUklQ4g1qSCmdQS1LhDGpJKpxBLUmFM6glqXAGtSQVzqCWpMIZ1JJUuCWDOiIujIh7\nIuLuzp/7IuLak1GcJKnHS3FFRAV4Arg8M7cd9T0vxSVJPRjUpbjeBPzi6JCWJA1Or0H9h8CXBlGI\nJOnYum59RMQ4sB24KDN3HuP7tj4kqQfdtj6qPezz7cBdxwrpQ6anpw9v12o1arVaD7uXpNFWr9ep\n1+s9P66XGfWXgO9k5o3H+b4zaknqQbcz6q6COiKmgK3ABZm5/zhjDGpJ6kFfg7rLJzSoJakHg1qe\nJ0k6yQxqSSqcQS1JhTOoJalwBrUkFc6glqTCGdSSVDiDWpIKZ1BLUuEMakkqnEEtSYUzqCWpcAa1\nJBXOoJakwhnUklQ4g1qSCmdQS1LhDGpJKpxBLUmF6yqoI2JdRHwlIh6OiAcj4vJBFyZJaqt2Oe7T\nwLcy8w8iogpMDbAmSdIRlrwKeUSsBe7JzF9ZYpxXIZekHvTzKuTnA7si4oaIuDsiPhMRK5dfoiSp\nG920PqrAZcD7M/MnEfG3wHXA9UcPnJ6ePrxdq9Wo1Wr9qVKSRkC9Xqder/f8uG5aHxuAH2fmBZ3b\nbwA+kpm/f9Q4Wx+S1IO+tT4ycwewLSIu7Nz1RuChZdYnSerSkjNqgIh4NfBZYBzYArw3M/cdNcYZ\ntST1oNsZdVdB3eUTGtSS1IN+rvqQJA2RQS1JhTOoJalwBrUkFc6glqTCGdSSVDiDWpIKZ1BLUuEM\nakkqnEEtSYUzqCWpcAa1JBXOoJakwhnUklQ4g1qSCmdQS1LhDGpJKpxBLUmFM6glqXDVbgZFxGPA\nPqAFLGbm6wZZlCTpOV0FNe2ArmXm3kEWI0l6oW5bH9HDWElSH3UbvgncGhF3RsT7BlmQJOn5um19\nXJGZT0bEWbQD++HM/OHRg6anpw9v12o1arVaX4qUpFFQr9ep1+s9Py4ys7cHRFwP7M/MTx51f/a6\nL0k6lUUEmRlLjVuy9RERUxGxurO9CngL8MDyS5QkdaOb1scG4GsRkZ3xN2XmdwdbliTpkJ5bH8fd\nka0PSepJ31ofkqThMqglqXAGtSQVzqCWpMIZ1JJUOINakgpnUEtS4QxqSSqcQS1JhTOoJalwBrUk\nFc6glqTCGdSSVDiDWpIKZ1BLUuEMakkqnEEtSYUzqCWpcAa1JBWu66COiEpE3B0R3xhkQZKk5+tl\nRv0B4KFBFSJJOraugjoiNgPvAD472HIkSUfrdkb9KeDDQA6wFknSMVSXGhARVwI7MvPeiKgBcbyx\n09PTh7drtRq1Wm35FUrSiKjX69Tr9Z4fF5knniRHxF8D7wYawEpgDfDVzHzPUeNyqX1Jkp4TEWTm\ncSe/h8f1Eq4R8TvAhzLzqmN8z6CWpB50G9Suo5akwvU0oz7hjpxRS1JPnFFL0ogwqCWpcAa1JBXO\noJakwhnUklQ4g1qSCmdQS1LhDGpJKpxBLUmFM6glqXAGtSQVzqCWpMIZ1JJUOINakgpnUEtS4Qxq\nSSqcQS1JhTOoJalwBrUkFa661ICImARuAyY642/JzI8PujBJUltXF7eNiKnMnI2IMeBHwLWZecdR\nY7y4rST1oK8Xt83M2c7mJO1ZtYksSSdJV0EdEZWIuAd4Crg1M+8cbFmSpEOW7FEDZGYLeE1ErAX+\nLSIuysyHjh43PT19eLtWq1Gr1fpUpiS99NXrder1es+P66pH/bwHRHwMmMnMTx51vz1qSepB33rU\nEXFmRKzrbK8E3gw8svwSJUnd6Kb1cQ5wY0RUaAf7lzPzW4MtS5J0SM+tj+PuyNaHJPWkr8vzJEnD\nY1BLUuEMakkqnEEtSYUzqCWpcAa1JBXOoJakwhnUklQ4g1qSCmdQS1LhDGpJKpxBLUmFM6glqXAG\ntSQVzqCWpMIZ1JJUOINakgpnUEtS4QxqSSpcN1ch3xwR34uIByPi/oi49mQUJklqW/LithGxEdiY\nmfdGxGrgLuDqzHzkqHFe3FaSetC3i9tm5lOZeW9n+wDwMPCy5ZcoSepGTz3qiDgPuBS4fRDFSJJe\nqNrtwE7b4xbgA52Z9QtMT08f3q7VatRqtWWWJ0mjo16vU6/Xe37ckj1qgIioAv8OfDszP32cMfao\nJakH3faouw3qLwC7MvMvTjDGoJakHvQtqCPiCuA24H4gO18fzczvHDXOoJakHvR1Rt3lExrUktSD\nvi3PkyQNV9erPnTqyIRW581Rdm4f2j7k0BQgAirRvh1LzgskvRgGtchsh3Cz1Q7o7NzZaCWNZotG\nK2lldsI4qAAT4xUmxipAsNhqP6bSCe2xMLSlfjKoT2GZ0Mx2QGcmi80W840WBxea7Du4SLMzlW4f\nQU7GIqhEMFYJxisVGs1kcrzCmhVjnLZynIigmdBoQbViYEv9YlCfglqdMG22ksVGiwPzDfbOLrB/\nvsHBxSY7ZhbYNbtIqwXNTBrNJAJWjo+xohpMViusrFbYuHaSMysTzM7DnpkGZ6wa5/RVVSBYbEIr\nYLxiWEvLZVCfQo4M6PnFJrtnFphZaLBndoEtew+y92CDLbtm2XdgnoWFJrPzDeYWGszONZicqLLx\n9JWctmqcyfEq4xNVXrVhFQdPazK32OKiDWuYXWjyzOwim9evYGKswmILFpowMWZYS8vh8rxTwKEW\nR6MFmS127m8H9NMH5ti6d47H983z+K4Znto9y649M0w2mzz25D72H1xk9cpx1qyoMr/Y4k/e/krO\nOXst37jvSa669BxaY2MstpKrLzqL27bs4aqLN7BnZpHFZrLptEky20FdrcCY64ukF+h2eZ4z6hGX\nCYstaLWSmYUGu56dZ67V4uGn9/PYnjm27jrItqf3s2fXs2zdupOzxubIxgwLW7ezIuD009dw1vrV\nXHDeJm7+/s/5tfPO4C9/7yI+9s1H+ad3X8rf/Xgb77xkA2snq+yZXWRqYoyd+xeA51aE+OtbWh7n\nOSPs0Iw2gJn5BvtmG7Qq8PSBOR7YMcvq8TGe3H2As8darB0LfmP9QR69+17WjCc/uPFD/O/N1/Gn\n1/w2mXDjv97Gla9aw3/c9QRf/u8tjFeDbz/0NHOLLbY+M8d8o8VCo8nsQvN5z9/K55bySXpxbH2M\nqEMz6faSumTLzlledtok9V/sZvNpK/n6gzs5f804u2cWuOiMlXzi6w/w7Y+9mf/80UP8480/oH7H\nz5icqHLheRs479xNPLk4yTPNCX794nN4bP8CV1x4NnPAla86k72zi1y8YTVT41VmF5q8fP0KqpUK\nC832jLrqAUXpmDyF/BTXbLV70hNjsGdmkZmFJgutJv+3e5ZGwn3b95PzDX68ZQ/vfO0m/urzt3PJ\nues5fdUE1WqFxfl5tu6a5ec7Zth4+hSv2LSOfRm8ctM61q1dwdmrJ3j1OauZXWxyyTlraXXWUr/8\n9BVA0GgZ0tJSDOpTXCthsQmTVWg0Wzy2e451K8d4dOcMu2cXeHa+xX3bn6Wx2OTgXIPHn97P9l0z\ntFpJZvsEl1Urxtl45mrWrZ6ESrBp/RTnr1/J6okKG1ZPcPbqFUyNjzFWCdZPtQ86tggy2wFdcR21\ndEIG9SkuE+ab7XXMYxVYaLTYunuOdVNVWtli2zNzbHvmIPONZHaxyYGFJvvmGofPPgxgxXiFybEK\n42PBWavGOWvVJCvHK4xXKqydHGfV5BhTE2OMVysk4ZmJUo8Mah1uf0A7rBvNFs/MLjK70GKh0WoH\neOcU8UYrSdqniVeiQqUClc5hwPFKsGK8HcorxitMjI8RhKeNS8tkUAt4buVFq7OWGtoHGJNkodGi\n0Wy3OdrjkkpEZ1ldUB0LqpUKlUocflx0PoDpUEAbztKLZ1DrBQ59+NLR28dy5KfjHbktqX884UUv\ncGTourhZeunwhBdJKpxBLUmFWzKoI+JzEbEjIn56MgqSJD1fNzPqG4C3DroQSdKxLRnUmflDYO9J\nqEWSdAz2qCWpcH1dnjc9PX14u1arUavV+rl7SXpJq9fr1Ov1nh/X1QkvEXEu8M3MvOQEYzzhRZJ6\n0O0JL922PgJPkZCkoehmed4Xgf8BLoyIxyPivYMvS5J0iJ/1IUlD0u/WhyRpSAxqSSqcQS1JhTOo\nJalwBrUkFc6glqTCGdSSVDiDWpIKZ1BLUuEMakkqnEEtSYUzqCWpcAa1JBXOoJakwhnUklQ4g1qS\nCmdQS1LhDGpJKlxXQR0Rb4uIRyLiZxHxkUEXJUl6TjcXt60Afw+8FbgYeFdEvHLQhZWkXq8Pu4SB\n8vW9tPn6Rl83M+rXAT/PzK2ZuQjcDFw92LLKMur/UXx9L22+vtHXTVC/DNh2xO0nOvdJkk4CDyZK\nUuEiM088IOL1wHRmvq1z+zogM/Nvjhp34h1Jkl4gM2OpMd0E9RjwKPBG4EngDuBdmflwP4qUJJ1Y\ndakBmdmMiD8Dvku7VfI5Q1qSTp4lZ9SSpOFa9sHEUT4ZJiI+FxE7IuKnw65lECJic0R8LyIejIj7\nI+LaYdfULxExGRG3R8Q9ndd2/bBrGoSIqETE3RHxjWHX0m8R8VhE3Nf5N7xj2PX0W0Ssi4ivRMTD\nnZ/By487djkz6s7JMD+j3b/eDtwJXJOZj7zonRYkIt4AHAC+kJmXDLuefouIjcDGzLw3IlYDdwFX\nj9C/31RmznaOs/wIuDYzR+oHPiI+CLwWWJuZVw27nn6KiC3AazNz77BrGYSI+Dzwg8y8ISKqwFRm\nPnusscudUY/0yTCZ+UNgJP+TAGTmU5l5b2f7APAwI7RGPjNnO5uTtI/HjFSfLyI2A+8APjvsWgYk\nGNElxBGxFvitzLwBIDMbxwtpWP5fgifDjIiIOA+4FLh9uJX0T6ctcA/wFHBrZt457Jr67FPAhxmx\nX0BHSODWiLgzIt437GL67HxgV0Tc0GldfSYiVh5v8Ej+tlJvOm2PW4APdGbWIyEzW5n5GmAzcHlE\nXDTsmvolIq4EdnTeEUXna9RckZmX0X7X8P5OK3JUVIHLgH/ovMZZ4LrjDV5uUP8SeMURtzd37tNL\nRKc3dgvwL5n59WHXMwidt5TfB9427Fr66Argqk4f90vA70bEF4ZcU19l5pOdP3cCX6Pdah0VTwDb\nMvMnndu30A7uY1puUN8J/GpEnBsRE8A1wKgdfR7V2coh/ww8lJmfHnYh/RQRZ0bEus72SuDNwEgc\nJAXIzI9m5isy8wLaP3ffy8z3DLuufomIqc47PSJiFfAW4IHhVtU/mbkD2BYRF3bueiPw0PHGL3nC\nyxJPNtInw0TEF4EacEZEPA5cf6j5Pwoi4grgj4H7O73cBD6amd8ZbmV9cQ5wY2dlUgX4cmZ+a8g1\nqXsbgK91PpqiCtyUmd8dck39di1wU0SMA1uA9x5voCe8SFLhPJgoSYUzqCWpcAa1JBXOoJakwhnU\nklQ4g1qSCmdQS1LhDGpJKtz/AxR3FRMcTGh+AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "thinkplot.Contour(suite)" ] }, { "cell_type": "code", "execution_count": 122, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "2.1274693791709263" ] }, "execution_count": 122, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pmf_lam = suite.Marginal(0)\n", "thinkplot.Pdf(pmf_lam)\n", "pmf_lam.Mean()" ] }, { "cell_type": "code", "execution_count": 123, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "1.5122348979402183" ] }, "execution_count": 123, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pmf_k = suite.Marginal(1)\n", "thinkplot.Pdf(pmf_k)\n", "pmf_k.Mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise:** Go back and run this analysis again with `n=20` and see if the posterior distributions seem to be converging on the actual parameters. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Censored data" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "**Exercise:** Now suppose that instead of observing a complete lifespan, you observe a lightbulb that has operated for 1 year and is still working. Write another version of `LightBulb` that takes data in this form and performs an update. " ] }, { "cell_type": "code", "execution_count": 124, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Hint\n", "\n", "from thinkbayes2 import EvalWeibullCdf\n", "\n", "class LightBulb2(Suite, Joint):\n", " \n", " def Likelihood(self, data, hypo):\n", " lam, k = hypo\n", " x = data\n", " like = 1 - EvalWeibullCdf(x, lam, k)\n", " return like" ] }, { "cell_type": "code", "execution_count": 125, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 126, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from itertools import product\n", "\n", "lams = np.linspace(0.001, 10, 101)\n", "ks = np.linspace(0.001, 10, 101)\n", "\n", "suite = LightBulb2(product(lams, ks))" ] }, { "cell_type": "code", "execution_count": 127, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.83584776184046183" ] }, "execution_count": 127, "metadata": {}, "output_type": "execute_result" } ], "source": [ "suite.Update(1)" ] }, { "cell_type": "code", "execution_count": 128, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nHLrD4XC0Cf8HjhDZi8/j5msAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "thinkplot.Contour(suite)" ] }, { "cell_type": "code", "execution_count": 129, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "5.6163331229520157" ] }, "execution_count": 129, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\ngg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pmf_lam = suite.Marginal(0)\n", "thinkplot.Pdf(pmf_lam)\n", "pmf_lam.Mean()" ] }, { "cell_type": "code", "execution_count": 130, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "5.2480876231355253" ] }, "execution_count": 130, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pmf_k = suite.Marginal(1)\n", "thinkplot.Pdf(pmf_k)\n", "pmf_k.Mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note: based on this data alone, we can rule out some small values of `lam` and `k`, but we can't rule out large values. Without more data or a more informative prior, the results are not useful.\n", "\n", "To see why, try increasing the upper bounds in the prior distribition." ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Left censored data\n", "\n", "**Exercise:** Suppose you install a light bulb and then you don't check on it for a year, but when you come back, you find that it has burned out. Extend `LightBulb` to handle this kind of data, too." ] }, { "cell_type": "code", "execution_count": 131, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Hint\n", "\n", "class LightBulb3(Suite, Joint):\n", " \n", " def Likelihood(self, data, hypo):\n", " lam, k = hypo\n", " x = data\n", " like = EvalWeibullCdf(x, lam, k)\n", " return like" ] }, { "cell_type": "code", "execution_count": 132, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 133, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from itertools import product\n", "\n", "lams = np.linspace(0.001, 20, 101)\n", "ks = np.linspace(0.001, 20, 101)\n", "\n", "suite = LightBulb3(product(lams, ks))" ] }, { "cell_type": "code", "execution_count": 134, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.08013753974381374" ] }, "execution_count": 134, "metadata": {}, "output_type": "execute_result" } ], "source": [ "suite.Update(1)" ] }, { "cell_type": "code", "execution_count": 135, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "thinkplot.Contour(suite)" ] }, { "cell_type": "code", "execution_count": 136, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "2.8365008331664181" ] }, "execution_count": 136, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\niaAVAUOD/Swa6q/8O9jPosE+Bgf6GRroY2iwj8H+PgYGCgz29zE4UGCgr7I+0FdgoL9Af1+B/v4C\n/YU8/dWyvkK+9uhIM8sOh/5JNjFR4rkXD/HcwUM8+/zPefaFn3Pw5cO88PKrHHz5MK8dG+t2E2ty\nEn19BfoKOfoK+dqrULc8tS2fz1HI5yjkK+W15XyOXHVbPpejUKj+m59azucqdfI5USjkyUnkq+v5\nXI58Plcry+Vy5POaWq/VzZHLiVx1n1xuqo7/GjKrcOjPM8dGx3n50Gu116HDR/n54aMcevUYh44c\n4/Brx3j1yCiHXzvGkaNjHJ1HJ4n5Lieh6okgl6ucUConicqJQ6J6opg6eVTKK8uT/+Y0tZ9EbV0S\nQrV9J5cn61B3LOqPnaibPE6z9Vz1BDb5/lTbLiZ/hlzduqrvc3wZ5JSrHku1f6fqqW5bsr4SZSK5\nb6JclS1TZZqmPNHGJuWN75M8Tn29+vLjjtGkLTDd9vq6x7eh+bEqx2ndjmSd447f8J5zYSahX0h5\n4LXAJ6nctuGuiPhYkzq3AtcCR4D3RcS2tPtm1eBAH2efsSz1lb7lcrkS/qPjvHZ0tLZ87Ng4R0er\ny6PjjI5NcPTYOKPjE4yOTTA2NsHoeKV8dGyC8YkSY+MTjI2XKq+xcbJ1Oq3cP4lSUHkkjh+MY70j\nmdCqdSAayprUa3Xi6UTb0JeUA24Drgb2A1slfTUidiTqXAtcEBEXSfpV4HbgyjT72pRcLsfSxYPV\n6wGWzvg4IyMjFIvFurJSqczYeOWEUDkplJgolZmoro9PVNbHJ0qMj5colcpMlEqUymXGxyvLE6Vy\n9VWiXIrK9sl/y5VtpVKZUjkoTZQolYNyOarbStXlYGKiRDmCUqlMuRyUy+XqeqVuuRxT22PqGJN1\nT7YX9u7kjJVvPOnvm1UL/feZ7IBFBJzkEY40Pf0rgF0RsRtA0j3AeiAZ3OuBuwEi4iFJyyQtB85P\nsa/Nsmahn8/nGMr3k4UbTETDCWHyJDF58qgvCyKirhySdcq15agee3LfyeXbb9vBBz6wlghqX9yX\nI4hyVJfLRFA73uRyRFSWq2VT69X9qu2d/H++XK7Wo1JWO365XGvb5LFhst7kz0itLZV9ov5Y1Z+n\n1vbae0Zd8CTfJxL1Jt+rXXnj8ZPvO1nnue0P8IZzr6o/TrIeUz/71L717UseL5mZk+1Jbq8tM7U8\nXdsm32Nqe/3nrlmd2jGbtHU+ShP6K4A9ifW9VE4E7eqsSLmvWUekyhfEJ8s5Z57KW9903kl7v6wb\nPvwYw3/877rdjJMq+X3ldCclmDoxJesmT1K1/ar1vnLrf+64LanG9GfA0yvMzKrqx+O7G49tZ+9I\nuhIYjoi11fWPAJH8QlbS7cC3IuJL1fUdwDuoDO+03DdxjPn615CZ2bw1F7N3tgIXSloNPAtcB1zf\nUGcz8EHgS9WTxCsRcUDSwRT7zqjhZmbWubahHxElSRuBLUxNu9wuaUNlc9wZEfdJWifpKSpTNt/f\nat85+2nMzKyleXNxlpmZzb2u35BF0lpJOyTtlHRzt9vT6yQ9LelHkn4o6eFut6fXSLpL0gFJP06U\nvU7SFkk/kfRPkvxczRSm+V3eImmvpB9UX2u72cZeImmlpAckPSHpMUk3Vss7+nx2NfQTF29dA1wK\nXC/p4m62KQPKQDEifjkiPD22c5+j8nlM+gjwzYhYAzwA/OlJb1Vvava7BPhERFxefd1/shvVwyaA\nD0fEpcCvAR+s5mVHn89u9/RrF35FxDgwefGWzZzo/n/XnhUR3wFebiheD3y+uvx54D0ntVE9aprf\nJXhK94xExHOTt7eJiMPAdmAlHX4+ux0O013UZTMXwD9L2irpA91uTEacGREHoPI/HnBml9vT6zZK\n2ibpMx4qmxlJ5wGXAd8Hlnfy+ex26NvsuyoiLgfWUfnz723dblAGefbDzH0aeENEXAY8B3yiy+3p\nOZKWAPcCN1V7/I2fx5afz26H/j5gVWJ9ZbXMZiginq3++wLw9/i2F7PhQPVeUkg6C3i+y+3pWRHx\nQuIe6n8JvLWb7ek1kgpUAv8LEfHVanFHn89uh37twi9J/VQu3trc5Tb1LEmLqr0AJC0G3gU83t1W\n9SRRP+68GXhfdfk/Al9t3MGmVfe7rIbSpPfiz2enPgs8GRGfSpR19Pns+jz96pStTzF18db/6mqD\nepik86n07oPKhXdf9O+zM5L+GigCpwMHgFuAfwC+DJwL7AZ+NyJe6VYbe8U0v8vfoDIWXQaeBjZM\njkdba5KuAr4NPEb1hqPAR4GHgb8l5eez66FvZmYnT7eHd8zM7CRy6JuZLSAOfTOzBcShb2a2gDj0\nzcwWEIe+mdkC4tA3M1tAHPpmZgvI/wd+rviDPkna0wAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pmf_lam = suite.Marginal(0)\n", "thinkplot.Pdf(pmf_lam)\n", "pmf_lam.Mean()" ] }, { "cell_type": "code", "execution_count": 137, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "7.3098570578312811" ] }, "execution_count": 137, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\njYiHJd0gaQ/QC9wy0bpV+2nMzGxCqXkwupmZVV/Nr8j1xVuVJelVSc9JekbSU7Wup95I2ibpkKTn\ni9rOk/SopJcl/V9JnbWssV6M81reIWm/pKeTr/W1rLGeSFou6ceSXpT0gqRbk/Yp/X7WNPR98VZV\n5ICuiLg6Iq6tdTF16Cvkfx+L3Q78KCIuB34M/KdzXlV9Guu1BPhCRFyTfD1yrouqY0PA5yLiSuB9\nwGeSvJzS72etj/R98Vblidr/u9atiHgcOFbSvBH4ajL9VeAfn9Oi6tQ4ryX4lO5piYjXI+LZZPo0\nsBNYzhR/P2sdDr54q/IC+KGkHZL+oNbFzBJLIuIQ5P/jAUtqXE+925zco+tLHiqbHkkXA2uBnwNL\np/L7WevQt8q7PiKuAW4g/+ffb9W6oFnIZz9M3/8C3h4Ra4HXgS/UuJ66I2k+8C3gs8kRf+nv44S/\nn7UO/QPAyqL55UmbTVNEvJZ8PwJ8m/wQms3MoeReUkh6G3C4xvXUrYg4EiOnDP4l8N5a1lNvJDWS\nD/y/jojvJs1T+v2sdegXLvyS1Ez+4q3tNa6pbklqS44CkNQOfBT4VW2rqkti9LjzduBfJ9P/Cvhu\n6Qo2rlGvZRJKwz6Jfz+n6svASxFxV1HblH4/a36efnLK1l2MXLz15zUtqI5JuoT80X2Qv/Dua349\np0bS14Eu4HzgEHAH8B3gm8AKYC/wqYg4Xqsa68U4r+WHyI9F54BXgU3D49E2MUnXAz8FXiD/fzyA\nPwWeAv43Zf5+1jz0zczs3Kn18I6ZmZ1DDn0zsznEoW9mNoc49M3M5hCHvpnZHOLQNzObQxz6ZmZz\niEPfzGwO+f+WmJ4AzLrYpAAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pmf_k = suite.Marginal(1)\n", "thinkplot.Pdf(pmf_k)\n", "pmf_k.Mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This example has some of the same problems as the previous one. Based on this data alone, we can't pin down the parameters much." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Pulling it together" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise:** Suppose you have 15 lightbulbs installed at different times over a 10 year period. When you observe them, some have died and some are still working. Write a version of `LightBulb` that takes data in the form of a `(flag, x)` tuple, where:\n", "\n", "1. If `flag` is `eq`, it means that `x` is the actual lifespan of a bulb that has died.\n", "2. If `flag` is `gt`, it means that `x` is the current age of a bulb that is still working, so it is a lower bound on the lifespan.\n", "3. If `flag` is `lt`, it means that `x` is the elapsed time between installation and the first time the bulb is seen broken, so it is an upper bound on the lifespan." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To help you test, I will generate some fake data.\n", "\n", "First, I'll generate a Pandas DataFrame with random start times and lifespans. The columns are:\n", "\n", "* `start`: time when the bulb was installed\n", "\n", "* `lifespan`: lifespan of the bulb in years\n", "\n", "* `end`: time when bulb died or will die\n", "\n", "* `age_t`: age of the bulb at t=10" ] }, { "cell_type": "code", "execution_count": 138, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
lifespanstartendage_t
02.7740192.8252855.5993047.174715
10.0331922.5006992.5338917.499301
21.9251052.5323054.4574097.467695
31.6246982.7347374.3594357.265263
43.0596799.94835013.0080290.051650
\n", "
" ], "text/plain": [ " lifespan start end age_t\n", "0 2.774019 2.825285 5.599304 7.174715\n", "1 0.033192 2.500699 2.533891 7.499301\n", "2 1.925105 2.532305 4.457409 7.467695\n", "3 1.624698 2.734737 4.359435 7.265263\n", "4 3.059679 9.948350 13.008029 0.051650" ] }, "execution_count": 138, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "\n", "lam = 2\n", "k = 1.5\n", "n = 15\n", "t_end = 10\n", "starts = np.random.uniform(0, t_end, n)\n", "lifespans = SampleWeibull(lam, k, n)\n", "\n", "df = pd.DataFrame({'start': starts, 'lifespan': lifespans})\n", "df['end'] = df.start + df.lifespan\n", "df['age_t'] = t_end - df.start\n", "\n", "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now I'll process the DataFrame to generate data in the form we want for the update." ] }, { "cell_type": "code", "execution_count": 139, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "('eq', 2.7740187876376514)\n", "('eq', 0.033191835029170835)\n", "('eq', 1.9251045164134486)\n", "('eq', 1.6246975808450324)\n", "('gt', 0.051650080517378072)\n", "('eq', 0.54033658915724336)\n", "('eq', 3.4794664666831596)\n", "('eq', 1.1735920449857651)\n", "('eq', 1.5235002423078943)\n", "('gt', 2.8280320250229369)\n", "('eq', 0.30605110358253595)\n", "('eq', 1.1068715160667255)\n", "('eq', 0.59315846063572297)\n", "('eq', 0.67589677779779023)\n", "('eq', 1.7580469646846322)\n" ] } ], "source": [ "data = []\n", "for i, row in df.iterrows():\n", " if row.end < t_end:\n", " data.append(('eq', row.lifespan))\n", " else:\n", " data.append(('gt', row.age_t))\n", " \n", "for pair in data:\n", " print(pair)" ] }, { "cell_type": "code", "execution_count": 140, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Hint\n", "\n", "class LightBulb4(Suite, Joint):\n", " \n", " def Likelihood(self, data, hypo):\n", " lam, k = hypo\n", " flag, x = data\n", " like = 1\n", " return like" ] }, { "cell_type": "code", "execution_count": 141, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 142, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from itertools import product\n", "\n", "lams = np.linspace(0.001, 10, 101)\n", "ks = np.linspace(0.001, 10, 101)\n", "\n", "suite = LightBulb4(product(lams, ks))" ] }, { "cell_type": "code", "execution_count": 143, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.9999999999998264" ] }, "execution_count": 143, "metadata": {}, "output_type": "execute_result" } ], "source": [ "suite.UpdateSet(data)" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "thinkplot.Contour(suite)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "5.0005000000008701" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pmf_lam = suite.Marginal(0)\n", "thinkplot.Pdf(pmf_lam)\n", "pmf_lam.Mean()" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "5.0005000000008701" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pmf_k = suite.Marginal(1)\n", "thinkplot.Pdf(pmf_k)\n", "pmf_k.Mean()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Prediction\n", "\n", "Suppose we know that, for a particular kind of lightbulb in a particular location, the distribution of lifespans is well modeled by a Weibull distribution with `lam=2` and `k=1.5`. If we install `n=100` lightbulbs and come back one year later, what is the distribution of `c`, the number of lightbulbs that have burned out?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The probability that any given bulb has burned out comes from the CDF of the distribution." ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.29781149867344037" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lam = 2\n", "k = 1.5\n", "p = EvalWeibullCdf(1, lam, k)\n", "p" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The number of bulbs that have burned out is distributed Binom(n, p).\n" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n9Vv7ZX4P1OAAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from thinkbayes2 import MakeBinomialPmf\n", "\n", "n = 100\n", "pmf_c = MakeBinomialPmf(n, p)\n", "thinkplot.Pdf(pmf_c)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or we can approximate the distribution with a random sample." ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(29.881, 4.560135853239462)" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nCi48IzzusgAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n = 100\n", "sample = np.random.binomial(n, p, 1000)\n", "pdf_c = thinkbayes2.EstimatedPdf(sample)\n", "thinkplot.Pdf(pdf_c)\n", "np.mean(sample), np.std(sample)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise:** Now suppose that `lam` and `k` are not known precisely, but we have a `LightBulb` object that represents the joint posterior distribution of the parameters after seeing some data. Compute the posterior predictive distribution for `c`, the number of bulbs burned out after one year." ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.13" } }, "nbformat": 4, "nbformat_minor": 0 }