{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Bayesian Statistics Seminar\n", "\n", "Copyright 2017 Allen Downey\n", "\n", "MIT License: https://opensource.org/licenses/MIT" ] }, { "cell_type": "code", "execution_count": 1, "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$." ] }, { "cell_type": "code", "execution_count": 2, "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", "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": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(1.9255614181751446, 1.9994621154028254)" ] }, "execution_count": 3, "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": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nYII=\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": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\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": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\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": [ "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": 7, "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": 8, "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": 9, "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": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 3.93306269, 0.72048 , 0.78116042, 1.22621775, 1.45191502,\n", " 1.78698079, 3.18159171, 0.97084327, 3.00128723, 1.48932615])" ] }, "execution_count": 10, "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=10)\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": 11, "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 = 1\n", " return like" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "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": 18, "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\n", " return like" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "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": [ "**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": 25, "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 = 1\n", " return like" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "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": 32, "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
00.8122651.4510792.2633448.548921
12.0105843.8227795.8333636.177221
20.4044211.0481811.4526018.951819
30.5067433.5033154.0100576.496685
41.0148774.5084635.5233405.491537
\n", "
" ], "text/plain": [ " lifespan start end age_t\n", "0 0.812265 1.451079 2.263344 8.548921\n", "1 2.010584 3.822779 5.833363 6.177221\n", "2 0.404421 1.048181 1.452601 8.951819\n", "3 0.506743 3.503315 4.010057 6.496685\n", "4 1.014877 4.508463 5.523340 5.491537" ] }, "execution_count": 32, "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": 33, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "('eq', 0.81226508619456328)\n", "('eq', 2.0105842471709634)\n", "('eq', 0.40442059107469491)\n", "('eq', 0.50674258157079088)\n", "('eq', 1.0148765503730666)\n", "('eq', 2.265141425374412)\n", "('eq', 1.3281182217357757)\n", "('gt', 2.25256715166429)\n", "('gt', 0.46707158609037691)\n", "('eq', 2.7495410426490592)\n", "('eq', 0.25270950048067764)\n", "('eq', 2.0144323296919548)\n", "('eq', 1.0093772276491204)\n", "('eq', 1.5122724223847952)\n", "('eq', 1.4181328310784498)\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": 34, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "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": 39, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.29781149867344037" ] }, "execution_count": 39, "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": 40, "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": 41, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(29.827999999999999, 4.4346833032359818)" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\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": 42, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution goes here" ] }, { "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": 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.11" } }, "nbformat": 4, "nbformat_minor": 0 }