{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Computational Methods in Bayesian Analysis\n", "\n", "The process of conducting Bayesian inference can be broken down into three general steps (Gelman *et al.* 2013):\n", "\n", "![](images/123.png)\n", "\n", "### Step 1: Specify a probability model\n", "\n", "As was noted above, Bayesian statistics involves using probability models to solve problems. So, the first task is to *completely specify* the model in terms of probability distributions. This includes everything: unknown parameters, data, covariates, missing data, predictions. All must be assigned some probability density.\n", "\n", "This step involves making choices.\n", "\n", "- what is the form of the sampling distribution of the data?\n", "- what form best describes our uncertainty in the unknown parameters?\n", "\n", "### Step 2: Calculate a posterior distribution\n", "\n", "The mathematical form \\\$$p(\\theta | y)\\\$$ that we associated with the Bayesian approach is referred to as a **posterior distribution**.\n", "\n", "> posterior /pos·ter·i·or/ (pos-tēr´e-er) later in time; subsequent.\n", "\n", "Why posterior? Because it tells us what we know about the unknown \\\$$\\theta\\\$$ *after* having observed \\\$$y\\\$$.\n", "\n", "This posterior distribution is formulated as a function of the probability model that was specified in Step 1. Usually, we can write it down but we cannot calculate it analytically. In fact, the difficulty inherent in calculating the posterior distribution for most models of interest is perhaps the major contributing factor for the lack of widespread adoption of Bayesian methods for data analysis. Various strategies for doing so comprise this tutorial.\n", "\n", "**But**, once the posterior distribution is calculated, you get a lot for free:\n", "\n", "- point estimates\n", "- credible intervals\n", "- quantiles\n", "- predictions\n", "\n", "### Step 3: Check your model\n", "\n", "Though frequently ignored in practice, it is critical that the model and its outputs be assessed before using the outputs for inference. Models are specified based on assumptions that are largely unverifiable, so the least we can do is examine the output in detail, relative to the specified model and the data that were used to fit the model.\n", "\n", "Specifically, we must ask:\n", "\n", "- does the model fit data?\n", "- are the conclusions reasonable?\n", "- are the outputs sensitive to changes in model structure?\n", "\n", "\n", "## Example: binomial calculation\n", "\n", "Binomial model is suitable for data that are generated from a sequence of exchangeable Bernoulli trials. These data can be summarized by $y$, the number of times the event of interest occurs, and $n$, the total number of trials. The model parameter is the expected proportion of trials that an event occurs.\n", "\n", "\\\$p(Y|\\theta) = \\frac{n!}{y! (n-y)!} \\theta^{y} (1-\\theta)^{n-y}\\\$\n", "\n", "where $y \\in \\{0, 1, \\ldots, n\\}$ and $p \\in [0, 1]$.\n", "\n", "To perform Bayesian inference, we require the specification of a prior distribution. A reasonable choice is a uniform prior on [0,1] which has two implications:\n", "\n", "1. makes all probability values equally probable *a priori* \n", "2. makes calculation of the posterior easy\n", "\n", "The second task in performing Bayesian inference is, given a fully-specified model, to calculate a posterior distribution. As we have specified the model, we can calculate a posterior distribution up to a proportionality constant (that is, a probability distribution that is **unnormalized**):\n", "\n", "$$P(\\theta | n, y) \\propto P(y | n, \\theta) P(\\theta) = \\theta^y (1-\\theta)^{n-y}$$\n", "\n", "We can present different posterior distributions as a function of different realized data.\n", "\n", "We can also calculate posterior estimates for $\\theta$ by maximizing the unnormalized posterior using optimization. \n", "\n", "### Exercise: posterior estimation\n", "\n", "Write a function that returns posterior estimates of a binomial sampling model using a uniform prior on the unknown probability. Plot the posterior densities for each of the following datasets:\n", "\n", "1. n=5, y=3\n", "2. n=20, y=12\n", "3. n=100, y=60\n", "4. n=1000, y=600\n", "\n", "what type of distribution do these plots look like?" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Write your answer here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Informative Priors\n", "\n", "Formally, we justify a non-informative prior by the **Principle of Insufficient Reason**, which states that uniform probability is justified when there is nothing known about the parameter in question. Frequently, it is inappropriate to employ an uninformative prior as we have done above. For some distributions there is no clear choice of such a prior, particularly when parameters are transformed. For example, a flat prior on the real line is not flat on the unit interval. \n", "\n", "There are two alternative interpretations of the prior distribution.\n", "\n", "1. **Population prior**: a distribution that represents a notional population of values for the parameter, from which those in the current experiment/study have been drawn.\n", "2. **Knowledge prior**: a distribution that represents our uncertainty about the true value of the parameter.\n", "\n", "In either case, a prior distribution should include in its support all parameter values that are plausible.\n", "\n", "Choosing an informative prior presents an analytic challenge with respect to the functional form of the prior distribution. We would like a prior that results in a posterior distribution that is simple to work with. Taking our binomial likelihood again as an example:\n", "\n", "$$P(\\theta | n, y) \\propto \\theta^y (1-\\theta)^{n-y}$$\n", "\n", "we can see that it is of the general form $\\theta^a (1-\\theta)^b$. Thus, we are looking for a parametric distribution that describes the distribution of or uncertainty in $\\theta$ that is of this general form. The **beta distribution** satisfies these criteria:\n", "\n", "$$P(\\theta | \\alpha, \\beta) \\propto \\theta^{\\alpha-1} (1-\\theta)^{\\beta-1}$$\n", "\n", "The parameters $\\alpha, \\beta$ are called **hyperparameters**, and here they suggest prior information corresponding to $\\alpha-1$ \"successes\" and $\\beta-1$ failures. \n", "\n", "Let's go ahead and calculate the posterior distribution:\n", "\n", "\\begin{aligned}\n", "P(\\theta | n, y) &\\propto& \\theta^y (1-\\theta)^{n-y} \\theta^{\\alpha-1} (1-\\theta)^{\\beta-1} \\\\\n", " &=& \\theta^{y+\\alpha-1} (1-\\theta)^{n-y+\\beta-1} \\\\\n", " &=& \\text{Beta}(\\alpha + y, \\beta + n -y) \\\\\n", "\\end{aligned}\n", "\n", "So, in this instance, the posterior distribution follows the same functional form as the prior. This phenomenon is referred to as **conjugacy**, whereby the beta distribution is in the conjugate family for the binomial sampling distribution.\n", "\n", "> What is the posterior distribution when a Beta(1,1) prior is used?\n", "\n", "Formally, we defined conjugacy by saying that a class $\\mathcal{P}$ is a conjugate prior for the class $\\mathcal{F}$ of likelihoods if:\n", "\n", "$$P(\\theta | y) \\propto f(y|\\theta) p(\\theta) \\in \\mathcal{P} \\text{ for all } f \\in \\mathcal{F} \\text{ and } p \\in \\mathcal{P}$$\n", "\n", "This definition is quite vague for practical application, so we are more interested in **natural** conjugates, whereby the conjugacy is specific to a particular distribution, and not just a class of distributions.\n", "\n", "In the case of the binomial model with a beta prior, we can now analytically calculate the posterior mean and variance for the model:\n", "\n", "$$E[\\theta|n,y] = \\frac{\\alpha + y}{\\alpha + \\beta + n}$$\n", "\n", "\\begin{aligned}\n", "\\text{Var}[\\theta|n,y] &=& \\frac{(\\alpha + y)(\\beta + n - y)}{(\\alpha + \\beta + n)^2(\\alpha + \\beta + n +1)} \\\\\n", "&=& \\frac{E[\\theta|n,y] (1-E[\\theta|n,y])}{\\alpha + \\beta + n +1}\n", "\\end{aligned}\n", "\n", "Notice that the posterior expectation will always fall between the sample and prior means.\n", "\n", "Notice also what happens when $y$ and $n-y$ get large." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercise: probability of female birth given placenta previa\n", "\n", "Placenta previa is an unusual condition of pregnancy in which the placenta is implanted low in the uterus, complicating a normal delivery. An German study of the sex of placenta previa births found that of 980 births, 437 were female. \n", "\n", "How much evidence does this provide for the claim that the proportion of female births in the population of placenta previa births $\\theta$ is less than 0.485 (this is the proportion of female births in the general population)?\n", "\n", "1. Calculate the the posterior distribution for $\\theta$ using a uniform prior, and plot the prior, likelihood and posterior on the same axes.\n", "\n", "2. Find a prior distribution that has a mean of 0.485 and prior \"sample size\" of 100. Calculate the posterior distribution and plot the prior, likelihood and posterior on the same axes." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Write your answer here " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Approximate Computation\n", "\n", "Most interesting Bayesian models cannot be computed analytically in closed form, or simulated from directly using random number generators for standard distributions.\n", "\n", "Bayesian analysis often requires integration over multiple dimensions that is intractable both via analytic methods or standard methods of numerical integration.\n", "However, it is often possible to compute these integrals by simulating\n", "(drawing samples) from posterior distributions. For example, consider the expected value of a random variable $\\mathbf{x}$:\n", "\n", "$$E[\\mathbf{x}] = \\int \\mathbf{x} f(\\mathbf{x}) d\\mathbf{x}, \\qquad\\mathbf{x} = x_1, \\ldots ,x_k$$\n", "\n", "where $k$ (the dimension of vector $x$) is perhaps very large. If we can produce a reasonable number of random vectors $\\{{\\bf x_i}\\}$, we can use these values to approximate the unknown integral. This process is known as *Monte Carlo integration*. In general, MC integration allows integrals against probability density functions:\n", "\n", "$$I = \\int h(\\mathbf{x}) f(\\mathbf{x}) \\mathbf{dx}$$\n", "\n", "to be estimated by finite sums:\n", "\n", "$$\\hat{I} = \\frac{1}{n}\\sum_{i=1}^n h(\\mathbf{x}_i),$$\n", "\n", "where $\\mathbf{x}_i$ is a sample from $f$. This estimate is valid and useful because:\n", "\n", "- By the strong law of large numbers:\n", "\n", "$$\\hat{I} \\rightarrow I \\text{ with probability 1}$$\n", "\n", "- Simulation error can be measured and controlled:\n", "\n", "$$Var(\\hat{I}) = \\frac{1}{n(n-1)}\\sum_{i=1}^n (h(\\mathbf{x}_i)-\\hat{I})^2$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### How is this relevant to Bayesian analysis? \n", "\n", "When we observe data $y$ that we hypothesize as being obtained from a sampling model $f(y|\\theta)$, where $\\theta$ is a vector of (unknown) model parameters, a Bayesian places a *prior* distribution $p(\\theta)$ on the parameters to describe the uncertainty in the true values of the parameters. Bayesian inference, then, is obtained by calculating the *posterior* distribution, which is proportional to the product of these quantities:\n", "\n", "$$p(\\theta | y) \\propto f(y|\\theta) p(\\theta)$$\n", "\n", "unfortunately, for most problems of interest, the normalizing constant cannot be calculated because it involves mutli-dimensional integration over $\\theta$.\n", "\n", "Returning to our integral for MC sampling, if we replace $f(\\mathbf{x})$\n", "with a posterior, $p(\\theta|y)$ and make $h(\\theta)$ an interesting function of the unknown parameter, the resulting expectation is that of the posterior of $h(\\theta)$:\n", "\n", "$$E[h(\\theta)|y] = \\int h(\\theta) p(\\theta|y) d\\theta \\approx \\frac{1}{n}\\sum_{i=1}^n h(\\theta)$$\n", "\n", "We also require integrals to obtain marginal estimates from a joint model. If $\\theta$ is of length $K$, then inference about any particular parameter is obtained by:\n", "\n", "$$p(\\theta_i|y) \\propto \\int p(\\theta|y) d\\theta_{-i}$$\n", "\n", "where the -i subscript indicates all elements except the $i^{th}$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example: Overdispersion Model\n", "\n", "[Tsutakawa et al. (1985)](http://onlinelibrary.wiley.com/doi/10.1002/sim.4780040210/abstract) provides mortality data for stomach cancer among men aged 45-64 in several cities in Missouri. The file cancer.csv contains deaths $y_i$ and subjects at risk $n_i$ for 20 cities from this dataset." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
yn
001083
10855
223461
30657
411208
511025
60527
721668
81583
93582
100917
111857
121680
131917
145453637
150874
160395
171581
183588
190383
\n", "
" ], "text/plain": [ " y n\n", "0 0 1083\n", "1 0 855\n", "2 2 3461\n", "3 0 657\n", "4 1 1208\n", "5 1 1025\n", "6 0 527\n", "7 2 1668\n", "8 1 583\n", "9 3 582\n", "10 0 917\n", "11 1 857\n", "12 1 680\n", "13 1 917\n", "14 54 53637\n", "15 0 874\n", "16 0 395\n", "17 1 581\n", "18 3 588\n", "19 0 383" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "\n", "cancer = pd.read_csv('../data/cancer.csv')\n", "cancer" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we use a simple binomial model, which assumes independent samples from a binomial distribution with probability of mortality $p$, we can use MLE to obtain an estimate of this probability." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.0009933126276616582" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ytotal, ntotal = cancer.sum().astype(float)\n", "p_hat = ytotal/ntotal\n", "p_hat" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "However, if we compare the variation of $y$ under this model, it is to small relative to the observed variation:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "70.92947480343604" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p_hat*(1.-p_hat)*ntotal" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "141.94473684210527" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cancer.y.var()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hence, the data are strongly overdispersed relative to what is predicted under a model with a fixed probability of death. A more realistic model would allow for these probabilities to vary among the cities. One way of representing this is conjugating the binomial distribution with another distribution that describes the variation in the binomial probability. A sensible choice for this is the **beta distribution**:\n", "\n", "$$f(p \\mid \\alpha, \\beta) = \\frac{\\Gamma(\\alpha + \\beta)}{\\Gamma(\\alpha) \\Gamma(\\beta)} p^{\\alpha - 1} (1 - p)^{\\beta - 1}$$\n", "\n", "Conjugating this with the binomial distribution, and reparameterizing such that $\\alpha = K\\eta$ and $\\beta = K(1-\\eta)$ for $K > 0$ and $\\eta \\in (0,1)$ results in the **beta-binomial distribution**:\n", "\n", "$$f(y \\mid K, \\eta) = \\frac{n!}{y!(n-y)!} \\frac{B(K\\eta+y, K(1-\\eta) + n - y)}{B(K\\eta, K(1-\\eta))}$$\n", "\n", "where $B$ is the beta function.\n", "\n", "What remains is to place priors over the parameters $K$ and $\\eta$. Common choices for diffuse (*i.e.* vague or uninformative) priors are:\n", "\n", "\\begin{aligned}\n", "p(K) &\\propto \\frac{1}{(1+K)^2} \\cr\n", "p(\\eta) &\\propto \\frac{1}{\\eta(1-\\eta)}\n", "\\end{aligned}\n", "\n", "These are not normalized, but our posterior will not be normalized anyhow, so this is not an issue." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/fonnesbeck/anaconda3/envs/dev/lib/python3.6/site-packages/ipykernel_launcher.py:13: RuntimeWarning: divide by zero encountered in true_divide\n", " del sys.path[0]\n" ] }, { "data": { "text/plain": [ "Text(0, 0.5, 'p($\\\\eta$)')" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "