do the homework problem at the end
{ "cells": [ { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "from __future__ import division\n", "import os\n", "import sys\n", "import glob\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "import scipy.stats as st\n", "\n", "%matplotlib inline\n", "%precision 4\n", "plt.style.use('ggplot')\n" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "from mpl_toolkits.mplot3d import Axes3D\n", "import scipy.stats as stats\n", "from functools import partial\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Bayesian Data Analysis\n", "\n", "The fundamental objective of Bayesian data analysis is to determine the posterior distribution of the parameters $\\theta $ based on a measured data set $X$\n", "\n", "$$ p(\\theta |X) = \\frac{p(X | \\theta) p(\\theta)}{p(X)}$$\n", "\n", "where the denominator is the so-called evidence, which is an integral of the posterior probability over all possible parameters\n", "\n", "$$ p(X) = \\int d \\theta^* p(X | \\theta^*) p(\\theta^*) $$\n", "\n", "Here,\n", "* $p(\\theta |X)$ is the likelihood,\n", "* $p(\\theta)$ is the prior and\n", "* $p(X)$ is a normalizing constant also known as the evidence or marginal likelihood\n", "\n", "The computational issue is the difficulty of evaluating the integral in the denominator. There are many ways to address this difficulty, inlcuding:\n", "\n", "* In cases with conjugate priors (with conjugate priors, the posterior has the same distribution as the prior), we can get closed form solutions\n", "* We can use numerical integration\n", "* We can approximate the functions used to calculate the posterior with simpler functions and show that the resulting approximate posterior is “close” to true posteiror (variational Bayes)\n", "* We can use Monte Carlo methods, of which the most important is Markov Chain Monte Carlo (MCMC)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Motivating example\n", "\n", "We will use the toy example of estimating the bias of a coin given a sample consisting of n tosses to illustrate a few of the approaches.\n", "\n", "### Analytical solution\n", "\n", "If we use a beta distribution as the prior, then the posterior distribution has a closed form solution. This is shown in the example below. Some general points:\n", "\n", "* We need to choose a prior distribtution family (i.e. the beta here) as well as its parameters (here a=10, b=10)\n", "* The prior distribution may be relatively uninformative (i.e. more flat) or informative (i.e. more peaked)\n", "* The posterior depends on both the prior and the data\n", " * As the amount of data becomes large, the posterior approximates the MLE\n", " * An informative prior takes more data to shift than an uninformative one\n", "* Of course, it is also important the model used (i.e. the likelihood) is appropriate for the fitting the data\n", "* The mode of the posterior distribution is known as the maximum a posteriori (MAP) estimate (cf MLE which is the mode of the likelihood)\n" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "image/png": "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pRPtYDCI7u7uoZ93d3cjGAye8zWyLCMajaK4uLigcVJhjea5AICdO3fi17/+Ne644w62CYwD53su4vE4Dh8+jB/84Af42te+hn379uEnP/kJ2trazAiXCmC0X0MaGxvhcDhQVVWFiRMnorOzs9ChUgGN5rnYsGEDLr30UgBAXV0dUqkUv1tOCAaD6OrqGvr5ufKPU1k60a6trUVnZyeOHz+OdDqNTZs2obGx8bTXNDQ04M033wSgTRK46KKLIAiCCdFSoYzmuTh48CAef/xx3HHHHey5HCfO91z4fD488cQTeOSRR/DII49g1qxZuOOOOzh1ZAwbzXvF4sWL8f777wMAwuEwOjs7UV1dbUa4VCCjeS4qKiqwa9cuAMCRI0eQSqUQCATMCJcspLGxEU1NTVBVFXv37oXP5ztv/77lD6zZtm0bfvGLX0BRFKxatQrXX389nn32WdTW1qKxsRHJZBI//elPcfDgQfj9fnzrW9/im+Q4cL7n4kc/+hH++Mc/orS0FID2pvnd737X5Kgp3873XJzqnnvuwRe+8AUm2mPc+Z4JVVXx5JNPYseOHRBFEddffz2WL19udtiUZ+d7Lo4cOYLHHnsM8XgcAPD5z38el1xyiclRU7499NBD2L17NyKRCEpKSvDZz34W6XQaAHDllVdCVVU88cQTePfdd+FyuXDbbbed92uI5RNtIiIiIiI7snTrCBERERGRXTHRJiIiIiLKAybaRERERER5wESbiIiIiCgPmGgTEREREeUBE20iIiIiojxwmB0AEREVxiuvvILf/va36Onpwdy5c/GNb3yDh3AQEeURK9pEROPAM888g5deeglf/epX8Q//8A84fvw4fvnLX5odFhHRmMZEm4hojGtra8OLL76ItWvXYt68eZg+fTquuuoqbNu2zezQiIjGNCbaRERj3EsvvYQ5c+agrq5u6GOBQACRSMTEqIiIxj4m2kREY1g6nUZraysWL1582seTySR8Pp9JURERjQ/cDElENIa1t7cjkUjg6aefxjPPPDP0cVmWccEFF5gYGRHR2MdEm4hoDOvo6IDD4cADDzxw2scffvhhXHjhhSZFRUQ0PjDRJiIaw6LRKIqLizFhwoShj4XDYbS3t+NLX/qSiZEREY197NEmIhrDAoEA4vE4FEUZ+tiLL76Iurq60zZHEhFR7jHRJiIaw+bNmwdZlvHCCy/g+PHj+M1vfoOmpibccsstZodGRDTmCaqqqmYHQURE+bN582Y8+eSTCIfDmDNnDm6++WZMmTLF7LCIiMY8JtpERERERHnA1hEiIiIiojxgok1ERERElAdMtImIiIiI8oCJNhERERFRHjDRJiIiIiLKAybaRERERER5wESbiIiIiCgPmGgTEREREeUBE20iIiIiojz4/7hgWnwsIhu7AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n = 1000\n", "h = 640\n", "p = h/n\n", "rv = st.binom(n, p)\n", "mu = rv.mean()\n", "\n", "a, b = 100, 100\n", "prior = st.beta(a, b)\n", "post = st.beta(h+a, n-h+b)\n", "ci = post.interval(0.95)\n", "\n", "thetas = np.linspace(0, 1, 200)\n", "plt.figure(figsize=(12, 9))\n", "plt.style.use('ggplot')\n", "plt.plot(thetas, prior.pdf(thetas), label='Prior', c='blue')\n", "plt.plot(thetas, post.pdf(thetas), label='Posterior', c='red')\n", "plt.plot(thetas, n*st.binom(n, thetas).pmf(h), label='Likelihood', c='green')\n", "plt.axvline((h+a-1)/(n+a+b-2), c='red', linestyle='dashed', alpha=0.4, label='MAP')\n", "plt.axvline(mu/n, c='green', linestyle='dashed', alpha=0.4, label='MLE')\n", "plt.xlim([0, 1])\n", "plt.axhline(0.3, ci[0], ci[1], c='black', linewidth=2, label='95% CI');\n", "plt.xlabel(r'$\\theta$', fontsize=14)\n", "plt.ylabel('Density', fontsize=16)\n", "plt.legend();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## MCMC\n", "\n", "This lecture will only cover the basic ideas of MCMC in the most common variant - Metropolis-Hastings. All code will be built from the ground up to ilustrate what is involved in fitting an MCMC model, but only toy examples will be shown since the goal is conceptual understanding. \n", "\n", "In Bayesian statistics, we want to estiamte the posterior distribution, but this is often intractable due to the high-dimensional integral in the denominator (marginal likelihood). A few other ideas we have encountered that are also relevant here are Monte Carlo integration with inddependent samples and the use of proposal distributions (e.g. rejection and importance sampling). As we have seen from the Monte Carlo inttegration lectures, we can approximate the posterior $p(\\theta|X)$ if we can somehow draw many samples that come from the posterior distribution. With vanilla Monte Carlo integration, we need the samples to be independent draws from the posterior distribution, which is a problem if we do not actually know what the posterior distribution is .\n", "\n", "With MCMC, we draw samples from a (simple) proposal distribution so that each draw depends only on the state of the previous draw (i.e. the samples form a Markov chain). Under certain condiitons, the Markov chain will have a unique stationary distribution. In addition, not all samples are used - instead we set up acceptance criteria for each draw based on comparing successive states with respect to a target distribution that enusre that the stationary distribution is the posterior distribution of interest. The nice thing is that this target distribution only needs to be proportional to the posterior distribution, which means we don’t need to evaluate the potentially intractable marginal likelihood, which is just a normalizing constant. We can find such a target distribution easily, since $posterior \\propto likelihood \\times prior$. After some time, the Markov chain of accepted draws will converge to the staionary distribution, and we can use those samples as (correlated) draws from the posterior distribution, and find functions of the posterior distribution in the same way as for vanilla Monte Carlo integration.\n", "\n", "There are several flavors of MCMC, but the simplest to understand is the Metropolis-Hastings random walk algorithm, and we will start there.\n", "\n", "To carry out the Metropolis-Hastings algorithm, we need to draw random samples from the folllowing distributions\n", "\n", "* the standard uniform distribution\n", "* a proposal distriution $p(x)$ that we choose to be $\\mathcal N (0,\\sigma)$\n", "* the target distribution $g(x)$ which is proportional to the posterior probability\n", "\n", "Given an initial guess for $\\theta$ with positive probability of being drawn, the Metropolis-Hastings algorithm proceeds as follows\n", "\n", "* Choose a new proposed value $\\theta_p$ such that $\\theta_p =\\theta+ \\Delta \\theta$ where $\\Delta \\theta \\sim \\mathcal N (0,\\sigma)$\n", "\n", "* Caluculate the ratio\n", "$$\\rho = \\frac{g (\\theta_p |X))}{g (\\theta |X)}$$\n", "\n", "where $g$ is the posterior probability.\n", "\n", "* If the proposal distribution is not symmetrical, we need to weight the accceptanc probablity to maintain detailed balance (reversibilty) of the stationary distribution, and instead calculate\n", "\n", "$$\\rho = \\frac{g (\\theta_p |X)) \\, p(\\theta | \\theta_p)}{g (\\theta |X) \\, p(\\theta)}$$\n", "\n", "* If $\\rho \\ge 1$ then