{ "metadata": { "name": "", "signature": "sha256:3b5a32f702ff3ac66d4bd95867ce6cdcd2be34795b2bfd5d79068c563ce48332" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "[<-Back to the algorithms_in_ipython_notebooks repository](https://github.com/rasbt/algorithms_in_ipython_notebooks)." ] }, { "cell_type": "code", "collapsed": false, "input": [ "%load_ext watermark" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "watermark -d -v -a \"Sebastian Raschka\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Sebastian Raschka 09/09/2014 \n", "\n", "CPython 3.4.1\n", "IPython 2.2.0\n" ] } ], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "[More information](https://github.com/rasbt/watermark) about the `watermark` magic command extension." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "I would be happy to hear your comments and suggestions. \n", "Please feel free to drop me a note via\n", "[twitter](https://twitter.com/rasbt), [email](mailto:bluewoodtree@gmail.com), or [google+](https://plus.google.com/+SebastianRaschka).\n", "
" ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Rejection Sampling" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "While I was listening to the recent episode of the [Programming Throwdown](http://www.programmingthrowdown.com/2014/09/episode-36-swift.html) podcast on my way home, I heard about this interesting concept of rejection sampling. This is one of those simple ideas combined with the powerful principles of statistics that I find quite fascinating. \n", "\n", "At its core, rejection sampling is similar to the popular Monte Carlo sampling with the difference of an additional bound. \n", "The goal of rejection sampling is to simplify the task of drawing random samples from a complex probability distribution by using a uniform distribution instead; random samples drawn from the uniform distribution that lie outside certain boundary criteria are rejected, and all samples within the boundary are accepted, respectively.\n", "\n", "A mathematical proof can be found [here](http://www.programmingthrowdown.com/2014/09/episode-36-swift.html)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's use a simple example to illustrate this concept: Our task is to draw random samples from a geometrically-bounded distribution in form a circle in a cartesian coordinate system with a radius of 2 centered at the coordinates x=4 and y=4." ] }, { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "center = (4,4)\n", "radius = 2\n", "\n", "def plot_circle(center, radius):\n", " \"\"\" Function to plot a circle. \"\"\"\n", " fig = plt.figure(figsize=(6,6))\n", " circle = plt.Circle(center, radius, fill=False, color='b')\n", " plt.ylim([0,8])\n", " plt.xlim([0,8])\n", " fgca = fig.gca()\n", " fgca.add_artist(circle)\n", " return fgca\n", "\n", "plot_circle(center, radius)\n", "plt.show()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nh0l6090XuvtaSf8r6fiOL6vwSuU/jToLizoLqxTqLIUa89VWQPeVtLjJ50tyXwMAdLC2AtqLUgUA\nYBPm3nIGm9lwSTXufkzu80slNbj7z5vchxAHgM3g7tba7W0FdLWk1yUdJeldSS9JOtnd5xSySADA\npqpbu9Hd683se5IelVQl6RbCGQCKo9UWNAAgni1aSVgKi1jM7FYzW2Zmr8aupTVmtouZPWVms83s\nr2Z2fuyammNm25jZi2Y208xeM7P/il1TS8ysysxeNrMHY9fSEjNbaGazcnW+FLuelphZDzO718zm\n5P7fh8euaWNm1j/3e2y8rEz47+jS3N/6q2Z2p5lt3ez9NrcFnVvE8rqkUZLekTRNCfZPm9lhkj6W\ndLu7D4pdT0vMbCdJO7n7TDPrJqlO0rjUfp+SZGZd3P2T3BjFVEkXufvU2HVtzMwulDREUnd3Hxu7\nnuaY2VuShrj7B7FraY2Z/V7S0+5+a+7/vau7r4xdV0vMbCuFXBrm7ovbun8xmVk/SVMk7ePuq83s\nj5Iedvffb3zfLWlBl8QiFnd/VtKHsetoi7u/5+4zcx9/LGmOpD5xq2qeu3+S+7CzwthEcuFiZjtL\nOlbSzZJaHSlPQNL1mdl2kg5z91ulMDaVcjjnjJI0P7Vwzlklaa2kLrkXuy4KLyab2JKAZhFLB8m9\nwh4o6cW4lTTPzLYys5mSlkl6yt1fi11TM34p6YeSGmIX0gaX9ISZTTezs2IX04LdJf3NzG4zsxlm\ndpOZdYldVBtOknRn7CKak3u3dK2ktxVmx61w9yeau++WBDSjix0g171xr6QLci3p5Lh7g7v/g6Sd\nJf2jmWUil7QBMztO0nJ3f1mJt04lHeruB0r6qqRzc11yqamWNFjSBHcfLOnvki6JW1LLzKyzpDGS\n7oldS3PMbA9J35fUT+Fdcjcz+2Zz992SgH5H0i5NPt9FoRWNzWRmnSTdJ+kOd38gdj1tyb3NnSxp\naOxaNjJC0thc/+5dko40s9sj19Qsd1+au/6bpEkKXYepWSJpibtPy31+r0Jgp+qrkupyv9MUDZX0\nF3d/393rJd2v8JzdxJYE9HRJe5lZv9wr1jck1W7B41U0MzNJt0h6zd1/FbuelpjZDmbWI/fxtpK+\nIunluFVtyN0vc/dd3H13hbe6U9z9tNh1bczMuphZ99zHXSWNlpTcbCN3f0/SYjPbO/elUZJmRyyp\nLScrvDCnaq6k4Wa2be7vfpSkZrsJW12o0ppSWcRiZndJOlzS9ma2WNKV7n5b5LKac6ikUyTNMrPG\nwLvU3R/f4I4CAAAAgElEQVSJWFNzekv6fW6UfCtJf3D3JyPX1JZUu+N2lDQp/I2qWtJEd38sbkkt\nOk/SxFxjbL6kMyLX06zcC90oSan258vdX8m9o5uuMEYyQ9Jvm7svC1UAIFEceQUAiSKgASBRBDQA\nJIqABoBEEdAAkCgCGgASRUADQKIIaABI1P8Dic4svBP73IkAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, we can draw a simple square around the circle that will represent our uniform distribution." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from matplotlib.patches import Rectangle\n", "\n", "def plot_square(center, radius):\n", " \"\"\" Function to plot a square. \"\"\"\n", " fgca = plot_circle(center, radius)\n", " fgca.add_patch(Rectangle((center[0] - radius, center[1] - radius), \n", " 2*radius, 2*radius, alpha=0.1))\n", " return fgca\n", " \n", "plot_square(center, radius)\n", "plt.show()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nSUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, we will define a function that generates pseudo-random X and Y coordinates that fall inside the square." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import random\n", "random.seed(567)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "def gen_points(n, center, radius):\n", " \"\"\" \n", " Function that generates \n", " n x,y coordinates in a square of length radius*2.\n", " \n", " \"\"\"\n", " x_coords = []\n", " y_coords = []\n", " for i in range(n):\n", " x_coords.append(random.random()*center[0]+radius)\n", " y_coords.append(random.random()*center[1]+radius)\n", " return x_coords, y_coords" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "x, y = gen_points(1, center, radius)\n", "fgca = plot_square(center, radius)\n", "fgca.plot(x, y, linestyle=\"\", marker=\"x\", color=\"red\")\n", "plt.show()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nSUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us generate 1000 random points and check if our function works correctly." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
" ] }, { "cell_type": "code", "collapsed": false, "input": [ "x, y = gen_points(1000, center, radius)\n", "fgca = plot_square(center, radius)\n", "fgca.plot(x, y, linestyle=\"\", marker=\"x\", color=\"red\")\n", "plt.show()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nARNQXPyjUZY5grhyP9o8MQP7R4xCRs5c7HtwEuqsqmkhJBe+h0MXXxawTIvPPkb7W2/CzsVLkbb8\nrbDrONb3aszvBceZXPgeqs4+B82/3Y7KzN72ehM2foId512L0tJ4tPzgfXyZ1h0lBzJw+LDgyBEg\n3bcTt2/8M+Z0z0F1UjpSj/gw7LNsJCQoPu83Hn/47CkU/8dktOqUilat6hAfDyTsKkHnXlfCP2gw\nSqc+jLq0dMSV+/Gbh6ci/e038P37G1B7ZruIn/tkcm7j1nOfggLYN2mqHXubJ2YEbPfg50ItE279\nGTlzUT5pEtpfyDkJj0dhYSEKCwvtx3/7298a3wYNo0jiiwCeCPP6ybgaICevN/AyM/hxNIqLVc8/\nX3XzZuN3i4tDr+N436spYmyMgoLA9/J6VUeMUM3Lazi+nBxjOefzI0YYz7vt0j74M+TlBcZuLVNQ\ncPRx8HYJtUy49Z/s7/AXDk3RBg2gJ4A6AJsAfGH+9FUm6Ng5lp0sFK9XdcCAozd7rB2vuLj+Oo73\nvRobY1NrKJ5wiSj4oOW2BHWit7HbvsNfmGgSNId6/xotX24MNHD2ZfX5fr3tiuG2x5NPHp0Q0Pn8\nr3U7UZPilFdERC7FWhxERKcwJmgiIpdigiYicikmaCIil2KCJiJyKSZoIiKXYoImInIpJmgiIpdi\ngiYicikmaCIil2KCJiJyKSZoIiKXYoImInIpJmgiIpdigiYicikmaCIil2KCJiJyKSZoIiKXYoIm\nInIpJmgiIpdigiYicikmaCIil2KCJiJyKSZoIiKXYoImInIpJmgiIpdigiYicikmaCIil2KCJiJy\nKSZoIiKXYoImInIpJmgiIpeKmKBFZIGI7BGRL09GQEREZIjmDHohgL4nOhAiIgoUMUGrahEA70mI\nhYiIHNgGTUTkUkzQREQuldAUK5k2bZr9/8zMTGRmZjbFaomIfjEKCwtRWFh4TL8jqhp5IZGOAJap\n6gUhXtNo1kFEREeJCFRVGlommm52rwBYD6CLiJSIyJ1NFSAREYUX1Rl0gyvgGTQR0TFrkjNoIiKK\nDSZoIiKXYoImInIpJmgiIpdigiYicikmaCIil2KCJiJyKSZoIiKXYoImInIpJmgiIpdigiYicikm\naCIil2KCJiJyKSZoIiKXYoImInIpJmgiIpdigiYicikmaCIil2KCJiJyKSZoIiKXYoImInIpJmgi\nIpdigiYicikmaCIil2KCJiJyKSZoIiKXYoImInIpJmgiIpdigiYicikmaCIil2KCJiJyKSZoIiKX\nYoImInKpiAlaRPqKyDci8q2ITDoZQRERUYQELSLxAJ4F0BfAuQBuEZGuJyOwplZYWBjrEKLCOJsW\n42xap0Kcp0KM0Yp0Bn05gH+qarGq1gDIA3D9iQ+r6Z0qXxrjbFqMs2mdCnGeCjFGK1KCbgugxPF4\nl/kcERGdYJEStJ6UKIiIqB5RDZ+DReRKANNUta/5+C8A6lR1hmMZJnEiouOgqtLQ65ESdAKA7QB6\nAfgRwEYAt6jq100ZJBER1ZfQ0IuqWisiYwC8CyAeQA6TMxHRydHgGTQREcVOo0YSngqDWERkgYjs\nEZEvYx1LQ0SknYh8KCJbReQrERkX65hCEZEWIvKxiGwSkW0i8lisYwpHROJF5AsRWRbrWMIRkWIR\n2WLGuTHW8YQjIh4ReV1Evja/9ytjHVMwETnH3I7Wj9/F+9FfzH39SxF5WUSah1zueM+gzUEs2wH0\nBrAbwCdwYfu0iPweQAWAF1X1gljHE46InAHgDFXdJCIpAD4DcIPbticAiEiSqh4071F8BGC8qn4U\n67iCicifAVwCIFVVB8U6nlBE5AcAl6jq/ljH0hARWQRgjaouML/3ZFX1xzqucEQkDkZeulxVSyIt\nfzKJSEcAHwDoqqpVIrIEwApVXRS8bGPOoE+JQSyqWgTAG+s4IlHVn1V1k/n/CgBfA/htbKMKTVUP\nmv9NhHFvwnXJRUTOBNAfwP8CaPBOuQu4Oj4RSQfwe1VdABj3ptycnE29AXzntuRsKgdQAyDJPNgl\nwTiY1NOYBM1BLCeIeYS9CMDHsY0kNBGJE5FNAPYA+FBVt8U6phCeADABQF2sA4lAAbwnIp+KyN2x\nDiaMTgBKRWShiHwuIvNFJCnWQUUwDMDLsQ4iFPNq6XEAO2H0jvOp6nuhlm1MgubdxRPAbN54HcD9\n5pm066hqnar+K4AzAVwtIpkxDimAiFwHYK+qfgGXn50CuEpVLwLQD8B9ZpOc2yQAuBjAc6p6MYBK\nAJNjG1J4IpIIYCCA12IdSygi8jsADwDoCOMqOUVEhodatjEJejeAdo7H7WCcRdNxEpFmAN4AkKuq\nb8Y6nkjMy9zlAC6NdSxBegAYZLbvvgLg30TkxRjHFJKq/mT+WwogH0bTodvsArBLVT8xH78OI2G7\nVT8An5nb1I0uBbBeVctUtRbAUhh/s/U0JkF/CuBsEeloHrGGAni7Eev7VRMRAZADYJuqPhnreMIR\nkTYi4jH/3xJAHwBfxDaqQKr6X6raTlU7wbjU/UBV/xTruIKJSJKIpJr/TwZwLQDX9TZS1Z8BlIhI\nF/Op3gC2xjCkSG6BcWB2q28AXCkiLc39vjeAkM2EDQ5UacipMohFRF4BcA2A1iJSAuCvqrowxmGF\nchWALABbRMRKeH9R1XdiGFMo/wJgkXmXPA7AS6r6foxjisStzXGnA8g39lEkAFisqqtiG1JYYwEs\nNk/GvgNwZ4zjCck80PUG4Nb2fKjqZvOK7lMY90g+B/B8qGU5UIWIyKU45RURkUsxQRMRuRQTNBGR\nSzFBExG5FBM0EZFLMUETEbkUEzQRkUsxQRMRudT/A7ETJATyrL79AAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The plot above looks fine. In the last step, we only need to reject those points lie outside the circle, which is pretty straight forward using a Euclidean distance measure, that is \n", "\n", "\\begin{equation} \\sqrt{(x-y)^2} = |x-y|. \\end{equation}\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def reject(radius, center, x_coords, y_coords):\n", " \"\"\" Returns those coordinates that fall within the circle. \"\"\"\n", " x_clean = []\n", " y_clean = []\n", " for x,y in zip(x_coords, y_coords):\n", " if ((x - center[0])**2 + (y-center[1])**2)**0.5 <= radius:\n", " x_clean.append(x)\n", " y_clean.append(y)\n", " return x_clean, y_clean " ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Again, let us do a quick visual check if we correctly removed all points that didn't satisfy the condition $|x-y| \\le \\text{radius}$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
" ] }, { "cell_type": "code", "collapsed": false, "input": [ "x_clean, y_clean = reject(radius, center, x, y)\n", "fgca = plot_square(center, radius)\n", "fgca.plot(x_clean, y_clean, linestyle=\"\", marker=\"x\", color=\"red\")\n", "plt.show()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Okay, it seems that we successfully wrote some code that can generate pseudo-random samples that fall inside a geometric circle. If this isn't exciting enough, let us use this concept to estimate the area of this circle pretending that we don't know π (pi)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\\begin{equation} A_{\\text{rectangle}} = (2 \\times R)^2 \\end{equation}\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\\begin{equation} \\hat{A}_{\\text{est_circle}} = A_{\\text{rectangle}} \\times \\frac{\\text{# points inside circle}}{\\text{# all points}} \\end{equation}" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def estimate_circle_area(n, center, radius):\n", " \"\"\" Returns the estimated circle area via rejection sampling. \"\"\"\n", " rect_area = (2*radius)**2\n", " x, y = gen_points(n, center, radius)\n", " x_clean, y_clean = reject(radius, center, x, y)\n", " est_circle_area = rect_area * (len(x_clean)/len(x))\n", "\n", " return est_circle_area" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 12 }, { "cell_type": "code", "collapsed": false, "input": [ "print('Estimated circle area: %s' %estimate_circle_area(100000, center, radius))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Estimated circle area: 12.56224\n" ] } ], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, let's double-check how close we got using the more accurate equation:\n", "\n", "\\begin{equation} A_{\\text{circle}} = \\pi \\times R^2 \\end{equation}" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from math import pi\n", "\n", "print('Circle area using pi: %s' %(pi*radius**2))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Circle area using pi: 12.566370614359172\n" ] } ], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": {}, "source": [ "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Who would have guessed what comes next: Let us use our rejection sampling method to estimate pi itself:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\\begin{equation} \\hat{\\pi} = \\frac{\\hat{A}_{\\text{est_circle}}}{R^2} \\end{equation}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def approximate_pi(n, center, radius):\n", " \"\"\" Returns an approximation of pi via rejection sampling. \"\"\"\n", " circ_area = estimate_circle_area(n, center, radius)\n", " return circ_area/radius**2\n", "\n", "for i in (10, 10**2, 10**4, 10**7):\n", " pi_est = approximate_pi(i, center, radius)\n", " print('Pi estimate: %s (n=%s)' %(pi_est, i))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Pi estimate: 1.6 (n=10)\n", "Pi estimate: 3.28 (n=100)\n", "Pi estimate: 3.1496 (n=10000)\n", "Pi estimate: 3.1412652 (n=10000000)" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n" ] } ], "prompt_number": 15 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Again, this estimate is pretty accurate up to the 4th digit after the decimal point." ] } ], "metadata": {} } ] }