{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "#Risk assessment\n", "\n", "This notebook presents an exploration of different ways to assess the risk of recidivism based on a risk score.\n", "\n", "Copyright 2015 Allen Downey\n", "\n", "MIT License: http://opensource.org/licenses/MIT" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from __future__ import print_function, division\n", "\n", "import numpy as np\n", "import pandas as pd\n", "import thinkbayes2\n", "import thinkplot\n", "\n", "import matplotlib.pyplot as plt\n", "\n", "import statsmodels.formula.api as smf\n", "\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Read the data:" ] }, { "cell_type": "code", "execution_count": 2, "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", "
score10-yr recidivaterecid
0-200
1-200
2-100
3-100
4-100
\n", "
" ], "text/plain": [ " score 10-yr recidivate recid\n", "0 -2 0 0\n", "1 -2 0 0\n", "2 -1 0 0\n", "3 -1 0 0\n", "4 -1 0 0" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.read_excel('helmus10yrfixed.xlsx')\n", "df['recid'] = df['10-yr recidivate']\n", "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The last row of the table is the total, so we have to drop it." ] }, { "cell_type": "code", "execution_count": 3, "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", "
score10-yr recidivaterecid
6991011
7001011
7011011
7021100
703NaN204204
\n", "
" ], "text/plain": [ " score 10-yr recidivate recid\n", "699 10 1 1\n", "700 10 1 1\n", "701 10 1 1\n", "702 11 0 0\n", "703 NaN 204 204" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.tail()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Done." ] }, { "cell_type": "code", "execution_count": 4, "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", "
score10-yr recidivaterecid
6981011
6991011
7001011
7011011
7021100
\n", "
" ], "text/plain": [ " score 10-yr recidivate recid\n", "698 10 1 1\n", "699 10 1 1\n", "700 10 1 1\n", "701 10 1 1\n", "702 11 0 0" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = df.dropna()\n", "df.tail()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "###Logistic regression\n", "\n", "Start with a logistic regression." ] }, { "cell_type": "code", "execution_count": 5, "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", "
Logit Regression Results
Dep. Variable: recid No. Observations: 703
Model: Logit Df Residuals: 701
Method: MLE Df Model: 1
Date: Fri, 13 Nov 2015 Pseudo R-squ.: 0.03919
Time: 09:56:23 Log-Likelihood: -406.84
converged: True LL-Null: -423.43
LLR p-value: 8.371e-09
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
coef std err z P>|z| [95.0% Conf. Int.]
Intercept -1.8129 0.194 -9.335 0.000 -2.194 -1.432
score 0.2048 0.037 5.534 0.000 0.132 0.277
" ], "text/plain": [ "\n", "\"\"\"\n", " Logit Regression Results \n", "==============================================================================\n", "Dep. Variable: recid No. Observations: 703\n", "Model: Logit Df Residuals: 701\n", "Method: MLE Df Model: 1\n", "Date: Fri, 13 Nov 2015 Pseudo R-squ.: 0.03919\n", "Time: 09:56:23 Log-Likelihood: -406.84\n", "converged: True LL-Null: -423.43\n", " LLR p-value: 8.371e-09\n", "==============================================================================\n", " coef std err z P>|z| [95.0% Conf. Int.]\n", "------------------------------------------------------------------------------\n", "Intercept -1.8129 0.194 -9.335 0.000 -2.194 -1.432\n", "score 0.2048 0.037 5.534 0.000 0.132 0.277\n", "==============================================================================\n", "\"\"\"" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "formula = 'recid ~ score'\n", "model = smf.logit(formula, data=df)\n", "results = model.fit(disp=False)\n", "results.summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can use the model to predict probabilities for each score:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[-3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "scores = range(-3, 13)\n", "scores" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-3 0.0811230553353\n", "-2 0.0977539746983\n", "-1 0.117358915927\n", "0 0.140284367251\n", "1 0.166841660229\n", "2 0.197272884005\n", "3 0.231710970071\n", "4 0.270137790771\n", "5 0.312346491893\n", "6 0.357916109828\n", "7 0.406206803608\n", "8 0.456381885955\n", "9 0.507458085398\n", "10 0.558379071389\n", "11 0.608101233976\n", "12 0.655677299314\n" ] } ], "source": [ "def make_predictions(results, scores):\n", " columns = ['score']\n", " new = pd.DataFrame(scores, columns=columns)\n", " return results.predict(new)\n", "\n", "ps = make_predictions(results, scores)\n", "for score, p in zip(scores, ps):\n", " print(score, p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's what that looks like graphically:" ] }, { "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": [ "thinkplot.Plot(scores, ps)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Equivalently, we could get the fitted values from the results, which are in the form of log-odds, and convert to probabilities." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0 0.097754\n", "1 0.097754\n", "2 0.117359\n", "3 0.117359\n", "4 0.117359\n", "dtype: float64" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "odds = np.exp(results.fittedvalues)\n", "ps = odds / (1 + odds)\n", "ps.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To show confidence intervals on the estimated probabilities, we could transform the confidence intervals on the estimated parameters, but I prefer to do it by resampling.\n", "\n", "Here's a simple version that plots 200 estimated lines to show uncertainty visually." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def plot_regression_lines(df, scores):\n", " columns = ['score']\n", " new = pd.DataFrame(scores, columns=columns)\n", "\n", " formula = 'recid ~ score'\n", "\n", " for i in range(200):\n", " sample = df.sample(len(df), replace=True)\n", " model = smf.logit(formula, data=sample)\n", " results = model.fit(disp=False)\n", " ps = results.predict(new)\n", " thinkplot.Plot(scores, ps, color='gray', alpha=0.05)\n", " \n", "plot_regression_lines(df, scores)\n", "\n", "ps = make_predictions(results, scores)\n", "thinkplot.Plot(scores, ps)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's a more complicated version that plots the median of the resampled estimates in each column, and a 95% confidence interval." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/downey/anaconda/lib/python2.7/site-packages/matplotlib/axes/_axes.py:475: UserWarning: No labelled objects found. Use label='...' kwarg on individual plots.\n", " warnings.warn(\"No labelled objects found. \"\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def run_regressions(df, scores, iters=1000, formula='recid ~ score', color='gray'):\n", " columns = ['score']\n", " new = pd.DataFrame(scores, columns=columns)\n", " new['score2'] = new.score**2\n", " \n", " array = np.zeros((iters, len(scores)))\n", "\n", " for i in range(iters):\n", " sample = df.sample(len(df), replace=True)\n", " model = smf.logit(formula, data=sample)\n", " results = model.fit(disp=False)\n", " ps = results.predict(new)\n", " array[i,] = ps\n", "\n", " array = np.sort(array, axis=0) \n", " percents = [2.5, 50, 97.5]\n", " rows = [thinkbayes2.PercentileRow(array, p) for p in percents]\n", " return rows\n", " \n", "def plot_regressions(df, iters=1000, formula='recid ~ score', color='gray'):\n", " scores = range(-3, 13)\n", " rows = run_regressions(df, scores, iters, formula, color)\n", " thinkplot.Plot(scores, rows[0], color=color, alpha=0.2)\n", " thinkplot.Plot(scores, rows[1], color=color, alpha=0.5)\n", " thinkplot.Plot(scores, rows[2], color=color, alpha=0.2)\n", " \n", "plot_regressions(df, iters=1000, color='green')\n", "thinkplot.Config(xlabel='score', ylabel='10 year prob of recidivism', xlim=[-4, 13])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Bayesian logistic regression\n", "\n", "This turns out not to be particularly useful, so feel free to skip it.\n", "\n", "An alternative is Bayesian regression. To demonstrate how it works, I'll use the parameters estimated by logistic regression to compute the likelihood of the data." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(0.20475163024127738, -1.8129301177982706)" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "slope, inter = (results.params['score'], results.params['Intercept'])\n", "slope, inter" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can use the parameters to compute log-odds, convert to probabilities, then compute the probability of each actual outcome." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0 0.902246\n", "1 0.902246\n", "2 0.882641\n", "3 0.882641\n", "4 0.882641\n", "dtype: float64" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "log_odds = df.score * slope + inter\n", "odds = np.exp(log_odds)\n", "ps = odds / (1 + odds)\n", "likes = ps * df.recid + (1-ps) * (1-df.recid)\n", "likes.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The product of these likelihoods is the likelihood of the data. The log-likelihood we get is the same as the output of the logistic regression:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(-406.83547329540573, -406.83547329540579)" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.log(np.prod(likes)), results.llf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now here's a Bayesian suite that computes this likelihood function:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [], "source": [ "class BLogit(thinkbayes2.Suite, thinkbayes2.Joint):\n", " \n", " def Likelihood(self, df, hypo):\n", " \"\"\"The likelihood of the data under the hypothesis.\n", " \n", " df: DataFrame with score and recid\n", " hypo: slope, intercept pair\n", " \n", " returns: float\n", " \"\"\"\n", " slope, inter = hypo\n", " log_odds = df.score * slope + inter\n", " odds = np.exp(log_odds)\n", " ps = odds / (1 + odds)\n", " likes = ps * df.recid + (1-ps) * (1-df.recid)\n", " like = np.prod(likes)\n", " return like" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And we can confirm again that it yields the same likelihood, given the parameters estimated by logistic regression" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(-406.83547329540573, -406.83547329540579)" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hypo = (slope, inter)\n", "blogit = BLogit()\n", "like = blogit.Likelihood(df, hypo)\n", "np.log(like), results.llf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can generate the Bayesian estimate of the parameters by generating a suite of hypothesis and computing the likelihood of the data under each.\n", "\n", "I'll start with a uniform distribution for both parameters (using the confidence intervals from logistic regression to choose the bounds)." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": true }, "outputs": [], "source": [ "hypos = [(slope, inter) for slope in np.linspace(0, 0.4, 101)\n", " for inter in np.linspace(-3, 0, 101)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Initialize the suite:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": true }, "outputs": [], "source": [ "blogit = BLogit(hypos)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And update with the data:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "-410.95822860613788" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "like = blogit.Update(df)\n", "np.log(like)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The marginal distribution of the slope parameter:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(0.13600000000000001, 0.28000000000000003)" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pmf_slope = blogit.Marginal(0)\n", "thinkplot.Pdf(pmf_slope)\n", "pmf_slope.CredibleInterval(95)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And for the intercept parameter:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(-2.2199999999999998, -1.4399999999999999)" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pmf_inter = blogit.Marginal(1)\n", "thinkplot.Pdf(pmf_inter)\n", "pmf_inter.CredibleInterval(95)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's the joint distribution" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/downey/anaconda/lib/python2.7/site-packages/matplotlib/collections.py:590: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison\n", " if self._edgecolors == str('face'):\n" ] }, { "data": { "image/png": "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\nSerhdXL3T0r6pJn9pKR/MLNXVjzvZU/ZVKUF7ZL0itpXvbpWfyXpXnd3MzOl/x96+XeqrE1Si9ep\n24HgsKS4Kun1mo9si9XZUquzrIl9l7JNhyXJ3Y/Ufj9uZg9rPoXrRCBopl3d2Ldrx3X3o7XfO3mt\nmmpTbTD2o5J2u/upVvZd4jb19DqFNjxmZkOS1tbqdeM6td0uM1vn7id7eK1eJ+mh+f9vdZ2kN5nZ\ndKs/z1K0yd0/1fJ16sRgyyIDHkOaf8bgBknDuvzA7K1KA3uX3bcHbVopaXWtPCrpS5J+fqmuVai7\nR42DxT27Vou0qSvXqsk/v62aH2i7td2fZwnb1MvrdKPSFPJbJH2nm9epA+3q2bVaUP/vJP1Sr/9O\nLdKmlq9T5T/YJn6gN0n6Vu0fwX21be+V9N5Q58Ha909IumWxfXvZJkkvq/2BfFXSNzrZpmbaJWmj\n5vsNz0g6Jen7klb18lqVtamb16qJNv2NpJOaf9p9v6T/7vXfqbI29fg6/W7tnPs1f7f4hm5fpyrt\n6uW1WlC3/p9uL/9OlbWpnevEA2UAkDleVQkAmSMQAEDmCAQAkDkCAQBkjkAAAJkjEABA5ggEAJA5\nAgEAZO7/AbR18F6Op1beAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "thinkplot.Contour(blogit, pcolor=True, contour=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From the posterior distribution of the parameters, we can generate a predictive distribution of probability for each score:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def make_predictive(blogit, score):\n", " pmf = thinkbayes2.Pmf()\n", " for (slope, inter), prob in blogit.Items():\n", " x = score * slope + inter\n", " o = np.exp(x)\n", " p = o / (1+o)\n", " pmf[p] = prob\n", " return pmf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's what the posterior predictive distributions look like for a range of scores." ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "scores = [-1, 1, 3, 5, 7, 9, 11]\n", "thinkplot.PrePlot(len(scores))\n", "for score in scores:\n", " pmf = make_predictive(blogit, score)\n", " thinkplot.Cdf(pmf.MakeCdf())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also plot the results with a line plot and 95% credible intervals." ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [], "source": [ "cdfs = [make_predictive(blogit, score).MakeCdf() for score in scores]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Extracting the medians and credible intervals from the posterior predictive distributions." ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false }, "outputs": [], "source": [ "medians = np.array([cdf.Percentile(50) for cdf in cdfs])\n", "cis = np.array([cdf.CredibleInterval(95) for cdf in cdfs])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's what they look like." ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nh8fNnIBIZLQAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def plot_bayesian_regression(scores, medians, cis):\n", " for score, (low, high) in zip(scores, cis):\n", " plt.vlines(score, low, high, color='blue', alpha=0.5, linewidth=2)\n", " thinkplot.PrePlot(1)\n", " thinkplot.plot(scores, medians, linewidth=2)\n", "\n", "scores = [-1, 1, 3, 5, 7, 9, 11]\n", "plot_bayesian_regression(scores, medians, cis)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we superimpose the lines from the logistic regression, we can compare them:" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_regressions(df)\n", "\n", "scores = [-1, 1, 3, 5, 7, 9, 11]\n", "plot_bayesian_regression(scores, medians, cis)\n", "thinkplot.Config(xlabel='score', ylabel='10 year prob of recidivism', xlim=[-4, 13])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Bayesian and logistic regressions agree about the median values. And the credible intervals for the Bayesian regression are the same as the confidence intervals for the logistic regression.\n", "\n", "So if you don't have an informative prior, and all you want is the median of the posterior distribution and a measure of precision, the Bayesian method has no real advantage." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "###Categorical\n", "\n", "Next we can explore another way to estimate risk for each group. This one turns out to be bad, so feel free to skip it.\n", "\n", "If we treat score as a categorical variable, we can estimate risk for each score separately." ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-2.0 2\n", "-1.0 24\n", "0.0 31\n", "1.0 56\n", "2.0 42\n", "3.0 82\n", "4.0 130\n", "5.0 133\n", "6.0 83\n", "7.0 61\n", "8.0 32\n", "9.0 17\n", "10.0 9\n", "11.0 1\n" ] } ], "source": [ "grouped = df.groupby('score')\n", "for name, group in grouped:\n", " print(name, len(group))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I'll use a Beta distribution for each group." ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def MakeBeta(group):\n", " yes = sum(group.recid == 1)\n", " no = sum(group.recid==0)\n", " beta = thinkbayes2.Beta(yes+1, no+1)\n", " return beta\n", "\n", "betas = {}\n", "for name, group in grouped:\n", " betas[name] = MakeBeta(group)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And then extract the median and 95% credible interval from each posterior." ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false }, "outputs": [], "source": [ "rows=[]\n", "for name, beta in sorted(betas.items()):\n", " cdf = beta.MakeCdf()\n", " low = cdf.Percentile(2.5)\n", " mean = beta.Mean()\n", " high = cdf.Percentile(97.5)\n", " rows.append((low, mean, high))\n", " \n", "array = np.array(rows).transpose()\n", "scores = sorted(betas)\n", "lows = array[0,]\n", "means = array[1,]\n", "highs = array[2,]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result is kind of a mess, with credible intervals much wider than the CIs from logistic regression." ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nzrmU+T/rC6EBvWeUXgAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_regressions(df)\n", "\n", "for score, low, high in zip(scores, lows, highs):\n", " plt.vlines(score, low, high, color='blue', alpha=0.5, linewidth=2)\n", " \n", "thinkplot.PrePlot(1)\n", "thinkplot.plot(scores, means, linewidth=2)\n", "thinkplot.Config(xlabel='score', ylabel='10 year prob of recidivism', xlim=[-4, 13])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Logistic regression with a quadratic model\n", "\n", "One last option to consider is a quadratic model of risk.\n", "\n", "Here the linear model again:" ] }, { "cell_type": "code", "execution_count": 33, "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", "
Logit Regression Results
Dep. Variable: recid No. Observations: 703
Model: Logit Df Residuals: 701
Method: MLE Df Model: 1
Date: Fri, 13 Nov 2015 Pseudo R-squ.: 0.03919
Time: 09:56:55 Log-Likelihood: -406.84
converged: True LL-Null: -423.43
LLR p-value: 8.371e-09
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
coef std err z P>|z| [95.0% Conf. Int.]
Intercept -1.8129 0.194 -9.335 0.000 -2.194 -1.432
score 0.2048 0.037 5.534 0.000 0.132 0.277
" ], "text/plain": [ "\n", "\"\"\"\n", " Logit Regression Results \n", "==============================================================================\n", "Dep. Variable: recid No. Observations: 703\n", "Model: Logit Df Residuals: 701\n", "Method: MLE Df Model: 1\n", "Date: Fri, 13 Nov 2015 Pseudo R-squ.: 0.03919\n", "Time: 09:56:55 Log-Likelihood: -406.84\n", "converged: True LL-Null: -423.43\n", " LLR p-value: 8.371e-09\n", "==============================================================================\n", " coef std err z P>|z| [95.0% Conf. Int.]\n", "------------------------------------------------------------------------------\n", "Intercept -1.8129 0.194 -9.335 0.000 -2.194 -1.432\n", "score 0.2048 0.037 5.534 0.000 0.132 0.277\n", "==============================================================================\n", "\"\"\"" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "formula = 'recid ~ score'\n", "model = smf.logit(formula, data=df)\n", "results = model.fit(disp=False)\n", "results.summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's the quadratic version." ] }, { "cell_type": "code", "execution_count": 34, "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", "
Logit Regression Results
Dep. Variable: recid No. Observations: 703
Model: Logit Df Residuals: 700
Method: MLE Df Model: 2
Date: Fri, 13 Nov 2015 Pseudo R-squ.: 0.04235
Time: 09:56:55 Log-Likelihood: -405.49
converged: True LL-Null: -423.43
LLR p-value: 1.626e-08
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
coef std err z P>|z| [95.0% Conf. Int.]
Intercept -2.1210 0.288 -7.354 0.000 -2.686 -1.556
score 0.3820 0.119 3.209 0.001 0.149 0.615
score2 -0.0193 0.012 -1.601 0.109 -0.043 0.004
" ], "text/plain": [ "\n", "\"\"\"\n", " Logit Regression Results \n", "==============================================================================\n", "Dep. Variable: recid No. Observations: 703\n", "Model: Logit Df Residuals: 700\n", "Method: MLE Df Model: 2\n", "Date: Fri, 13 Nov 2015 Pseudo R-squ.: 0.04235\n", "Time: 09:56:55 Log-Likelihood: -405.49\n", "converged: True LL-Null: -423.43\n", " LLR p-value: 1.626e-08\n", "==============================================================================\n", " coef std err z P>|z| [95.0% Conf. Int.]\n", "------------------------------------------------------------------------------\n", "Intercept -2.1210 0.288 -7.354 0.000 -2.686 -1.556\n", "score 0.3820 0.119 3.209 0.001 0.149 0.615\n", "score2 -0.0193 0.012 -1.601 0.109 -0.043 0.004\n", "==============================================================================\n", "\"\"\"" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['score2'] = df.score**2\n", "\n", "formula = 'recid ~ score + score2'\n", "model = smf.logit(formula, data=df)\n", "results = model.fit(disp=False)\n", "results.summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The square term is not significant.\n", "\n", "Also if we plot the predictions of the two models:" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_regressions(df, formula='recid ~ score')\n", "plot_regressions(df, formula='recid ~ score + score2', color='blue')\n", "thinkplot.Config(xlabel='score', ylabel='10 year prob of recidivism', xlim=[-4, 13])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The quadratic model is getting pulled down by the low recidivism rates in the highest groups, which are based on small sample sizes. So this model is likely overfit to the data." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "###PTPP\n", "\n", "Another approach is to pose a different question: if we choose a threshold on the score, and consider a score at or above the threshold to be a \"positive test\", and recidivism to be a \"condition of interest\", what can we say about the specificity, sensitivity, and post-test probabilities?\n", "\n", "I'll run an example with a threshold of 6." ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": true }, "outputs": [], "source": [ "testpos = df.score >= 6" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's the cross tabulation of test outcome and recidivism:" ] }, { "cell_type": "code", "execution_count": 37, "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", "
recid01
score
False381119
True11885
\n", "
" ], "text/plain": [ "recid 0 1\n", "score \n", "False 381 119\n", "True 118 85" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tab = pd.crosstab(testpos, df.recid)\n", "tab" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sensitivity (fraction of recidivists the test detects)" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.41666666666666669" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sens = tab[1][True] / sum(tab[1])\n", "sens" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Specificity (fraction of non-recidivists who test negative)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.76352705410821642" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "spec = tab[0][False] / sum(tab[0])\n", "spec" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Post-test probability of recidivism given positive test (PTPP)" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.41871921182266009" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ptpp = tab[1][True] / sum(testpos)\n", "ptpp" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Post-test probability of non-recidivism given negative test (PTPN)" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.76200000000000001" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ptpn = tab[0][False] / sum(testpos == False)\n", "ptpn" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Each of these quantities is a proportion estimated based on a ratio of frequencies, so if the prior distribution is Beta, the posterior distribution is also Beta.\n", "\n", "Following Crawford et al, I'll uses a prior distribution with $\\alpha = \\beta = 0$ (although I don't buy their justification for this choice)." ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def MakeBeta(yes, no, alpha=0, beta=0):\n", " return thinkbayes2.Beta(yes+alpha, no+beta)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can make a posterior distribution for sensitivity, and confirm that the posterior mean is the same as the observed proportion." ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.41666666666666669" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sens_dist = MakeBeta(tab[1][True], tab[1][False])\n", "sens_dist.Mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And likewise for specificity:" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.76352705410821642" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "spec_dist = MakeBeta(tab[0][False], tab[0][True])\n", "spec_dist.Mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And PTPP" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.41871921182266009" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ptpp_dist = MakeBeta(tab[1][True], tab[0][True])\n", "ptpp_dist.Mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's what the posterior distribution looks like for PTPP" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "thinkplot.Pdf(ptpp_dist.MakePmf())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's the symmetric 95% credible interval. There is a 95% chance that the actual value falls in this interval (subject to the validity of the data as a representative sample)." ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 0.35185214, 0.48710358])" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "symm_ci = ptpp_dist.Percentile([2.5, 97.5])\n", "symm_ci" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's the 95th percentile, which could be consider a sort of upper bound." ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 0. , 0.47600745])" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "low_ci = ptpp_dist.Percentile([0, 95])\n", "low_ci" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And the 5th percentile, a sort of lower bound." ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 0.36234389, 1. ])" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "high_ci = ptpp_dist.Percentile([5, 100])\n", "high_ci" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I'll wrap this process up in a function:" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(0.41871921182266009, [0.3518521419235516, 0.48710358239969676])" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def estimate_ptpp(df, thresh):\n", " testpos = df.score >= thresh\n", " tab = pd.crosstab(testpos, df.recid)\n", " ptpp_dist = MakeBeta(tab[1][True], tab[0][True])\n", " est = ptpp_dist.Mean()\n", " ci = ptpp_dist.Percentile([2.5, 97.5])\n", " return est, ci.tolist()\n", "\n", "estimate_ptpp(df, 6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And now we can try it out with difference choices for the threshold:" ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-2 (0.29018492176386912, [0.257238685423252, 0.32426188788597143])\n", "-1 (0.29101283880171186, [0.25799004591947694, 0.32516511391927216])\n", "0 (0.2983751846381093, [0.2645132327072705, 0.33336546689622504])\n", "1 (0.30804953560371517, [0.27305246225166213, 0.3441723583875195])\n", "2 (0.32881355932203388, [0.29150490164753645, 0.36722150461892855])\n", "3 (0.32846715328467152, [0.289792273616399, 0.36832796975593507])\n", "4 (0.33905579399141633, [0.2967986471722945, 0.3826214938883786])\n", "5 (0.36904761904761907, [0.31830277635205195, 0.4212691852755268])\n", "6 (0.41871921182266009, [0.3518521419235516, 0.48710358239969676])\n", "7 (0.44166666666666665, [0.3542685323315231, 0.5309072169144622])\n", "8 (0.40677966101694918, [0.2859632642550582, 0.5335854545353503])\n", "9 (0.44444444444444442, [0.26587121742295106, 0.6308196190760335])\n", "10 (0.40000000000000002, [0.1369956622651665, 0.7007049437914596])\n" ] } ], "source": [ "for thresh in range(-2, 11):\n", " print(thresh, estimate_ptpp(df, thresh))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If the goal is to chose the threshold that maximizes PTPP, 7 is the best choice.\n", "\n", "In that case we could say that of all people who score 7 or more, 44% of them will be charged with a new crime within 10 years (that's the definition of recidivism the data are based on).\n", "\n", "But within that group, people with different scores have different probabilities of recidivism. From the logistic regression model\n", "\n", " score prob\n", " 7 0.406206803608\n", " 8 0.456381885955\n", " 9 0.507458085398\n", " 10 0.558379071389\n", " 11 0.608101233976\n", " \n", "So lumping everone above 6 into a single category might be generous to the 11s and harsh to the 7s.\n", "\n", "If the goal of the analysis is to estimate the probability of recidivism for an individual, the logistic regression model is an appropriate choice.\n", "\n", "If the goal is to choose a threshold and compute some of the consequences of applying that threshold, the PTPP analysis is appropriate.\n", "\n" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nRK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_regressions(df)\n", "\n", "threshes = range(-2, 11)\n", "meds = []\n", "for thresh in threshes:\n", " med, (low, high) = estimate_ptpp(df, thresh)\n", " plt.vlines(thresh, low, high, color='blue', alpha=0.5, linewidth=2)\n", "\n", " meds.append(med)\n", " \n", "thinkplot.Plot(threshes, meds, color='blue', alpha=0.5)\n", "thinkplot.Config(xlabel='score', ylabel='PTPP', xlim=[-4, 13])" ] }, { "cell_type": "markdown", "metadata": {}, "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.10" } }, "nbformat": 4, "nbformat_minor": 0 }