{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Sequential Monte Carlo with two gaussians" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Running on PyMC3 v3.4.1\n" ] } ], "source": [ "%matplotlib inline\n", "import pymc3 as pm\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "from pymc3.step_methods import smc\n", "import theano.tensor as tt\n", "import shutil\n", "\n", "plt.style.use('seaborn-darkgrid')\n", "print('Running on PyMC3 v{}'.format(pm.__version__))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sampling from $n$-dimensional distributions with multiple peaks with a standard Metropolis-Hastings algorithm can be difficult, if not impossible, as the Markov chain often gets stuck in either of the minima.\n", "\n", "A Sequential Monte Carlo sampler (SMC) is a way to overcome this problem, or at least to ameliorate it. SMC samplers are very similar to genetic algorithms, which are biologically-inspired algorithms that can be summarized as follows:\n", "\n", "1. Initialization: set a population of individuals\n", "2. Mutation: individuals are somehow modified or perturbed\n", "3. Selection: individuals with high _fitness_ have higher chance to generate _offspring_.\n", "4. Iterate by using individuals from 3 to set the population in 1.\n", "\n", "If each _individual_ is a particular solution to a problem, then a genetic algorithm will eventually produce good solutions to that problem. One key aspect is to generate enough diversity (mutation step) to explore the solution space avoiding getting trap in local minima and then apply _selection_ to _probabilistically_ keep reasonable solutions while also keeping some diversity. Being too greedy and short-sighted could be problematic, _bad_ solutions in a given moment could lead to _good_ solutions in the future.\n", "\n", "Moving into the realm of Bayesian statistics each individual is a point in the _posterior space_, mutations can be done in several ways, a general solution is to use a MCMC method (like Metropolis-Hastings) and run many Markov chains in parallel. The _fitness_ is given by the posterior, points with low posterior density will be removed and points high posterior density will be used as the starting point of a next round of Markov chains (This step is known as _reweighting_ in the SMC literature). The size of the population is kept fixed at some predefined value, so if a point is removed some other point should be used to start at least two new Markov chains.\n", "\n", "The previous paragraph is summarized in the next figure, the first subplot show 5 samples (orange dots) at some particular stage. The second subplots show how this samples are reweighted according to the their posterior density (blue Gaussian curve). The third subplot shows the result of running a certain number of Metropolis steps, starting from the _selected/reweighting_ samples in the second subplots, notice how the two samples with the lower posterior density (smaller circles) are discarded and not used to seed Markov chains.\n", "\n", "\"SMC \n", "\n", "So far we have that the SMC sampler is just a bunch of parallel Markov chains, not very impressive, right? Well not that fast. SMC proceed by moving _sequentially_ trough a series of stages, starting from a simple to sample distribution until it get to the posterior distribution. All this intermediate distribution (or _tempered posterior distributions_) are controlled by _tempering_ parameter called $\\beta$. SMC takes this idea from other _tempering_ methods originated from a branch of physics known as _statistical mechanics_. The idea is as follow the number of accessible states a _real physical_ system can reach is controlled by the temperature, if the temperature is the lowest possible ($0$ Kelvin) the system is trapped in a single state, on the contrary if the temperature is $\\infty$ all states are equally accessible! In the _statistical mechanics_ literature $\\beta$ is know as the inverse temperature, the higher the more constrained the system is. Going back to the Bayesian statistics context a _natural_ analogy to these physical systems is given by the following formula:\n", "\n", "$$p(\\theta \\mid y)_{\\beta} \\propto p(y \\mid \\theta)^{\\beta} p(\\theta)$$\n", "\n", "When $\\beta = 0$, the _tempered posterior_ is just the prior and when $\\beta=1$ the _tempered posterior_ is the true posterior. SMC starts with $\\beta = 0$ and progress by always increasing the value of $\\beta$, at each stage, until it reach 1. This is represented in the avobe figure by a narrower Gaussian distribution in the third subplot.\n", "\n", "At each stage SMC will use `chains` independent Markov chains to explore the _tempered posterior_ (the black arrow in the figure). The final samples, _i.e_ those stored in the `trace`, will be taken exclusively from the final stage ($\\beta = 1$), i.e. the true posterior. The final samples are taken from all the `chains`, thus if you used 100 `chains` and want 2000 final `samples`, SMC will use 100 `chains`, by sampling with replacement, to seed 2000 Markov chains. Those chains will runs for `n_steps` steps and the end points will be included in the final trace. \n", "\n", "The successive values of $\\beta$ are determined automatically from the sampling results of the previous intermediate distribution. SMC will try to keep the effective samples size (ESS) constant. Thus, the harder the distribution is to sample the larger the number of stages SMC will take. In other words the _cooling_ will be slow and the successive values of $\\beta$ will change in small steps.\n", "\n", "Two more parameters that are automatically determined are:\n", "* The number of steps each Markov chain takes to explore the _tempered posterior_ (`n_steps`) is determined from the acceptance rate at each stage, SMC use a _tune_interval_ to do this.\n", "* The width of the proposal distribution (`MultivariateProposal`) is also adjusted adaptively based on the acceptance rate at each stage.\n", "\n", "\n", "Even when SMC uses the Metropolis-Hasting algorithm under the hood, it has several advantages over it:\n", "\n", "* It can sample from $n$-dimensional distributions with multiple peaks.\n", "* It does not have a burn-in period, it starts by sampling directly from the prior and then at each stage the starting points are already distributed according to the tempered posterior (due to the re-weighting step).\n", "* It is inherently parallel." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The number of Markov chains and the number of steps each Markov chain is sampling has to be defined, as well as the `tune_interval` and the number of processors to be used in the parallel sampling. In this very simple example using only one processor is faster than forking the interpreter. However, if the calculation cost of the model increases it becomes more efficient to use many processors." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "chains = 500" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Define the number of dimensions for the multivariate gaussians, their weights and the covariance matrix. " ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "n = 4\n", "\n", "mu1 = np.ones(n) * (1. / 2)\n", "mu2 = -mu1\n", "\n", "stdev = 0.1\n", "sigma = np.power(stdev, 2) * np.eye(n)\n", "isigma = np.linalg.inv(sigma)\n", "dsigma = np.linalg.det(sigma)\n", "\n", "w1 = 0.1\n", "w2 = (1 - w1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The PyMC3 model. Note that we are making two gaussians, where one has `w1` (90%) of the mass:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "def two_gaussians(x):\n", " log_like1 = - 0.5 * n * tt.log(2 * np.pi) \\\n", " - 0.5 * tt.log(dsigma) \\\n", " - 0.5 * (x - mu1).T.dot(isigma).dot(x - mu1)\n", " log_like2 = - 0.5 * n * tt.log(2 * np.pi) \\\n", " - 0.5 * tt.log(dsigma) \\\n", " - 0.5 * (x - mu2).T.dot(isigma).dot(x - mu2)\n", " return tt.log(w1 * tt.exp(log_like1) + w2 * tt.exp(log_like2))\n", "\n", "\n", "with pm.Model() as ATMIP_test:\n", " X = pm.Uniform('X',\n", " shape=n,\n", " lower=-2. * np.ones_like(mu1),\n", " upper=2. * np.ones_like(mu1),\n", " testval=-1. * np.ones_like(mu1))\n", " llk = pm.Potential('llk', two_gaussians(X))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note: In contrast to other pymc3 samplers here we have to define a random variable `like` that contains the model likelihood. The likelihood has to be stored in the sampling traces along with the model parameter samples, in order to determine the coefficient of variation [COV] in each transition stage." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we initialise the sampler and execute the sampling:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Adding model likelihood to RVs!\n", "Init new trace!\n", "Sample initial stage: ...\n", "Beta: 0.000000 Stage: 0\n", "Initializing chain traces ...\n", "Sampling ...\n", "100%|██████████| 500/500 [00:00<00:00, 6000.71it/s]\n", "Beta: 0.009674 Stage: 1\n", "Initializing chain traces ...\n", "Sampling ...\n", "100%|██████████| 500/500 [00:01<00:00, 334.09it/s]\n", "Beta: 0.019848 Stage: 2\n", "Initializing chain traces ...\n", "Sampling ...\n", "100%|██████████| 500/500 [00:00<00:00, 1059.23it/s]\n", "Beta: 0.035439 Stage: 3\n", "Initializing chain traces ...\n", "Sampling ...\n", "100%|██████████| 500/500 [00:00<00:00, 624.93it/s]\n", "Beta: 0.065176 Stage: 4\n", "Initializing chain traces ...\n", "Sampling ...\n", "100%|██████████| 500/500 [00:00<00:00, 736.17it/s]\n", "Beta: 0.132725 Stage: 5\n", "Initializing chain traces ...\n", "Sampling ...\n", "100%|██████████| 500/500 [00:01<00:00, 254.47it/s]\n", "Beta: 0.285900 Stage: 6\n", "Initializing chain traces ...\n", "Sampling ...\n", "100%|██████████| 500/500 [00:01<00:00, 256.10it/s]\n", "Beta: 0.593902 Stage: 7\n", "Initializing chain traces ...\n", "Sampling ...\n", "100%|██████████| 500/500 [00:01<00:00, 253.74it/s]\n", "Beta > 1.: 1.189846\n", "Sample final stage\n", "Initializing chain traces ...\n", "Sampling ...\n", "100%|██████████| 5000/5000 [00:15<00:00, 313.25it/s]\n" ] } ], "source": [ "with ATMIP_test:\n", " trace = pm.sample(5000, chains=chains, step=pm.SMC())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note: Complex models run for a long time and might stop for some reason during the sampling. In order to restart the sampling in the stage when the sampler stopped, set the stage argument to the right stage number(`stage=4`). The `rm_flag` determines whether existing results are deleted - there is NO additional warning, so the user should pay attention to that one! " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plotting the results using the traceplot:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pm.traceplot(trace);" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.3" } }, "nbformat": 4, "nbformat_minor": 1 }