{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "[Table of Contents](http://nbviewer.ipython.org/github/rlabbe/Kalman-and-Bayesian-Filters-in-Python/blob/master/table_of_contents.ipynb)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Gaussian Probabilities" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#format the book\n", "%matplotlib inline\n", "%load_ext autoreload\n", "%autoreload 2 \n", "from __future__ import division, print_function\n", "from book_format import load_style, set_figsize, figsize\n", "load_style()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Introduction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The last chapter ended by discussing some of the drawbacks of the Discrete Bayesian filter. For many tracking and filtering problems our desire is to have a filter that is *unimodal* and *continuous*. That is, we want to model our system using floating point math (continuous) and to have only one belief represented (unimodal). For example, we want to say an aircraft is at (12.34, -95.54, 2389.5) where that is latitude, longitude, and altitude. We do not want our filter to tell us \"it *might be* at (1.65, -78.01, 2100.45) or it *might be* at (34.36, -98.23, 2543.79).\" That doesn't match our physical intuition of how the world works, and as we discussed, it can be prohibitively expensive to compute the multimodal case. \n", "\n", "So we desire a unimodal, continuous way to represent probabilities that models how the real world works, and that is very computationally efficient to calculate. As you might guess from the chapter name, Gaussian distributions provide all of these features." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Mean, Variance, and Standard Deviations\n", "\n", "### Random Variables\n", "\n", "To understand Gaussians we first need to understand a few simple mathematical computations. We start with a **random variable** x. A random variable is a variable whose value depends on some random process. If you flip a coin, you could have a variable $c$, and assign it the value 1 for heads, and 0 for tails. That a random value. It can be the height of the students in a class. That may not seem random to you, but chances are you cannot predict the height of the student Reem Nassar because her height is not deterministically determined. For a specific classroom perhaps the heights are\n", "\n", "$$x= [1.8, 2.0, 1.7, 1.9, 1.6]$$\n", "\n", "Another example of a random variable would be the result of rolling a die. A less obvious example would be the position of an aircraft - the aircraft does deterministically respond to the control inputs, but it is also buffeted by random winds and travels through randomly distributed pressure gradients.\n", "\n", "The coin toss and die roll are examples of **discrete random variables**. That is, the outcome of any given event comes from a discrete set of values. The roll of a six sided die can never produce a value of 7 or 3.24, for example. In contrast, the student heights are continuous; they can take on any value within biological limits. For example, heights of 1.7, 1.71, 1.711, 1.7111, 1.71111,.... are all possible. Do not confuse the *measurement* of the random variable with the actual value. If we can only measure the height of a person to 0.1 meters we would only record values from 0.1, 0.2, 0.3...2.7, yielding 27 discrete choices. Nonetheless a person's height can vary between any arbitrary real value between those ranges, and so height is a continuous random variable. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The Mean of a Random Variable\n", "\n", "We want to know the **average** height of the students. We all know how to find the average, but let me belabor the point so I can introduce more formal notation and terminology. Another word for average is the **mean**. We compute the mean by summing the values and dividing by the number of values. In this case we have\n", "\n", "$$\\mathtt{mean} = (1.8 + 2.0 + 1.7 + 1.9 + 1.6)/5 = 1.8$$\n", "\n", "In statistics we use the symbol $\\mu$ (mu) to denote the mean, so we could write \n", "\n", "$$\\mu_{\\mathtt{height}} = 1.8$$\n", "\n", "We can formalize this computation with the equation\n", "\n", "$$ \\mu_{\\mathtt{height}} = \\frac{1}{n}\\sum^n_{i=1} x_i$$\n", "\n", "NumPy provides `numpy.mean()` for computing the mean." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "1.8" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "x = [1.8, 2.0, 1.7, 1.9, 1.6]\n", "np.mean(x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Standard Deviation of a Random Variable\n", "\n", "The computation above tells us the average height of the students, but it doesn't tell us everything we might want to know. For example, suppose a second class has students with these heights:\n", "\n", "$$y = [2.2, 1.5, 2.3, 1.7, 1.3]$$" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "1.8" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y = [2.2, 1.5, 2.3, 1.7, 1.3]\n", "np.mean(y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "the mean of these heights is also 1.8 meters, but notice that there is a much greater amount of variation in the heights in this class. Suppose a third class has heights\n", "\n", "$$ z = [1.8, 1.8, 1.8, 1.8, 1.8]$$\n", "\n", "In this third class the average height is again 1.8 meters, but here there is no variation in the height between students." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "All three classes have the same mean height of 1.8 meters. So the mean tells us something about the data, but it does not tell the whole story. We want to be able to specify how much *variation* there is between the heights of the students. You can imagine a number of reasons for this. Perhaps a school district needs to order 5,000 desks, and they want to be sure they buy sizes that accommodate the range of heights of the students. \n", "\n", "Statistics has formalized this concept of measuring variation into the notion of **standard deviation** and **variance**:\n", "\n", "The **standard deviation** is defined as the square root of the average of the squared differences from the mean.\n", "\n", "That's a mouthful; as an equation this is stated as\n", "\n", "$$\\sigma = \\sqrt{\\frac{1}{N}\\sum_{i=1}^N(x_i - \\mu)^2}$$\n", "\n", "where $\\sigma$ is the notation for the standard deviation and $\\mu$ is the mean.\n", "\n", "If this is the first time you have seen this it may not have a lot of meaning for you. But let's work through that with the data from the three classes to be sure we understand the formula. We subtract the mean of x from each value of x, square it, take the average of those, and then take the square root of the result. The mean of $[1.8, 2.0, 1.7, 1.9, 1.6]$ is 1.8, so we compute the standard deviation as\n", "\n", "$$ \n", "\\begin{aligned}\n", "\\sigma_x &=\\sqrt{\\frac{(1.8-1.8)^2 + (2-1.8)^2 + (1.7-1.8)^2 + (1.9-1.8)^2 + (1.6-1.8)^2} {5}} \\\\\n", "&= \\sqrt{\\frac{0 + 0.04 + 0.01 + 0.01 + 0.04}{5}} \\\\\n", "\\sigma_x&= 0.1414\n", "\\end{aligned}$$\n", "\n", "We can verify this computation with the NumPy method `numpy.std()` which computes the standard deviation. 'std' is a common abbreviation for standard deviation." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.14142135623730948" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.std(x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What does the standard deviation *signify*? It tells us \"how much\" the heights vary amongst themseves. *How much* is not a mathematical term. We will be able to define it much more precisely once we introduce the concept of a Gaussian in the next section. For now I'll say that for many things in nature, including the height of people, 68% of all values lie within one standard deviation of the mean. In other words we can conclude that for a random class 68% of the students will have heights between 1.66 (1.8-0.1414) meters and 1.94 (1.8+0.1414) meters. \n", "\n", "We can look at this in a plot:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "from gaussian_internal import plot_height_std\n", "\n", "with figsize(y=2):\n", " plot_height_std([1.8, 2.0, 1.7, 1.9, 1.6])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For only 5 students we obviously will not get exactly 68% within one standard deviation. We do see that 3 out of 5 students are within $1\\sigma$, or 60%, which is as close as you can get to 68% with only 5 samples. I haven't yet introduced enough math or Python for you to fully understand the next bit of code, but let's look at the results for a class with 100 students.\n", "\n", "> We write one standard deviation as $1\\sigma$, which is pronounced \"one standard deviation\", not \"one sigma\". Two standard deviations is $2\\sigma$, and so on." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n+f922913362dO3dqyJAhCgkJafT3cz0TTp0JAIHC0hoAcKiamhpVVlbW2hYaGqqePXt6t4eEhNS7\nVKVHjx7yeDzas2dPre0ZGRm17nfu3FkDBw7Uli1bdOHCBe/2Xbt26dixY7Vqp06dqpqaGr3wwgt1\nXq+6urrOLw2+uPYLwfnz5/3eFwBMxxF5AHCoCxcuKCoqSpMmTVL//v3Vrl07/e53v9O7776rhQsX\nSpIGDx6sbdu26emnn1ZSUpLcbremTp2q0NBQPfbYY1q/fr1cLpd69eqlX/3qV3XWsUvS6tWrNX78\neA0fPlwpKSmqqKjQj3/8Y8XGxurixYveuhEjRmj+/Plau3atPvroI40dO1atW7fWp59+qrffflsv\nvviiZs2addPv6/qlNfHx8fJ4PFq9erXKy8sVFBSk++67r9bZcgDgjmUBABzp66+/tp599llr0KBB\nVvv27a2QkBArLi7OWrdunVVdXW1ZlmX97//+rzV79mwrPDzccrvdltvt9u5/7tw5a9KkSVZISIgV\nHh5uPfnkk1ZhYaHlcrms7OzsWq/1zjvvWPfee6/Vpk0bq1+/flZOTo6VkpJiRUdH1+lr8+bNVlJS\nkhUcHGy1a9fOiouLs773ve9Zp0+f9tb07NnTGjduXJ19R40aZY0ePbrWtqysLKt3795WixYtLLfb\nXac3ALhTuSyLTxUBAAAATsMaeQAAAMCBCPIAAACAAxHkAQAAAAciyAMAAAAORJAHAAAAHIggDwAA\nADgQQR4AAABwIII8AAAA4EAEeQAAAMCBCPIAAACAA/0/WnjL+KxZJO4AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "mean = 1.800\n", "std = 0.141\n" ] } ], "source": [ "from numpy.random import randn\n", "data = [1.8 + .1414*randn() for i in range(100)]\n", "\n", "with figsize(y=3.):\n", " plot_height_std(x, lw=2)\n", "\n", "print('mean = {:.3f}'.format(np.mean(x)))\n", "print('std = {:.3f}'.format(np.std(x)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can see by eye that roughly 68% of the heights lie within $1\\sigma$ of the mean 1.8." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We'll discuss this in greater depth soon. For now let's compute the standard deviation for \n", "\n", "$$y = [2.2, 1.5, 2.3, 1.7, 1.3]$$\n", "\n", "The mean of y is $\\mu=1.8$ m, so \n", "\n", "$$ \n", "\\begin{aligned}\n", "\\sigma_y &=\\sqrt{\\frac{(2.2-1.8)^2 + (1.5-1.8)^2 + (2.3-1.8)^2 + (1.7-1.8)^2 + (1.3-1.8)^2} {5}} \\\\\n", "&= \\sqrt{0.152} = 0.39 \\ m\n", "\\end{aligned}$$\n", "\n", "We will verify that with NumPy with" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "std of y is 0.3899 m\n" ] } ], "source": [ "print('std of y is {:.4f} m'.format(np.std(y)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This corresponds with what we would expect. There is more variation in the heights for y, and the standard deviation is larger.\n", "\n", "Finally, let's compute the standard deviation for \n", "\n", "$$ z = [1.8, 1.8, 1.8, 1.8, 1.8]$$\n", "\n", "There is no variation in the values, so we would expect the standard deviation to be zero. We show this to be true with\n", "\n", "$$ \n", "\\begin{aligned}\n", "\\sigma_z &=\\sqrt{\\frac{(1.8-1.8)^2 + (1.8-1.8)^2 + (1.8-1.8)^2 + (1.8-1.8)^2 + (1.8-1.8)^2} {5}} \\\\\n", "&= \\sqrt{\\frac{0+0+0+0+0}{5}} \\\\\n", "\\sigma_Z&= 0.0 \\ m\n", "\\end{aligned}$$" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.0" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.std([1.8, 1.8, 1.8, 1.8, 1.8])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Variance of a Random Variable\n", "Finally, the *variance* is defined as the square of the standard deviation. Some texts define this in the opposite way, which gives the definitions\n", "\n", "* **The variance is the average of the squared differences from the mean.**\n", "\n", "* **The standard deviation is the square root of the variance.**\n", "\n", "Both ways of thinking about it are equivalent. We use the notation $\\sigma^2$ for the variance, and the equation for the variance is\n", "\n", "$$\\sigma^2 = \\frac{1}{N}\\sum_{i=1}^N(x_i - \\mu)^2$$\n", "\n", "To make sure we understand this let's compute the variance for $x$:\n", "\n", "$$ \n", "\\begin{aligned}\n", "\\sigma_x^2 &=\\frac{(1.8-1.8)^2 + (2-1.8)^2 + (1.7-1.8)^2 + (1.9-1.8)^2 + (1.6-1.8)^2} {5} \\\\\n", "&= \\frac{0^2 + 0.2^2 + (-0.1)^2 + 0.1^2 + (-0.2)^2}{5} \\\\\n", "&= \\frac{0 + 0.04 + 0.01 + 0.01 + 0.04}{5} \\\\\n", "&=0.02\n", "\\end{aligned}$$\n", "\n", "We previously computed $\\sigma_x=0.1414$, and indeed the square of 0.1414 is 0.02. We can verify this computation with the NumPy function `numpy.var`:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "VAR(x) = 0.02 m\n" ] } ], "source": [ "print('VAR(x) = {:.2f} m'.format(np.var(x)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Many texts alternatively use *VAR(x)* to denote the variance of x." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Why the Square of the Differences\n", "\n", "As an aside, why are we taking the *square* of the difference? I could go into a lot of math, but let's look at this in a simple way. Here is a chart of the values of x plotted against the mean for $x=[3,-3,3,-3]$\n" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nEhkAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "with figsize(y=2.5):\n", " x = [3, -3, 3, -3]\n", " m = np.average(x)\n", " for i in range(len(x)):\n", " plt.plot([i ,i], [m, x[i]], color='k')\n", " plt.axhline(m)\n", " plt.xlim(-1, len(x))\n", " plt.tick_params(axis='x', labelbottom='off')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we didn't take the square of the differences the signs would cancel everything out:\n", "\n", "$$\\frac{(3-0) + (-3-0) + (3-0) + (-3-0)}{4} = 0$$\n", "\n", "This is clearly incorrect, as there is more than 0 variance in the data. \n", "\n", "Maybe we can use the absolute value? We can see by inspection that the result is $12/4=3$ which is certainly correct - each value varies by 3 from the mean. But what if we change $x=[6, -2, -3, 1]$? In this case we get $12/4=3$. $x$ is clearly more spread out than in the last example, but we get the same variance, so this cannot be correct. If we use the correct formula we get a variance of 3.5, which reflects the larger variation in $x$.\n", "\n", "This is not a proof of correctness. Indeed, Carl Friedrich Gauss, the inventor of the technique, recognized that is is somewhat arbitrary. If there are outliers then squaring the difference gives disproportionate weight to that term. For example, let's see what happens if we have $x = [1,-1,1,-2,3,2,100]$." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Variance of x = 1210.69\n" ] } ], "source": [ "x = [1, -1, 1, -2, 3, 2, 100]\n", "print('Variance of x = {:.2f}'.format(np.var(x)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Is this *correct*? You tell me. Without the outlier of 100 we get $\\sigma^2=2.89$, which accurately reflects how $x$ is varying absent the outlier. The one outlier swamps the computation. I will not continue down this path; if you are interested you might want to look at the work that James Berger has done on this problem, in a field called *Bayesian robustness*, or the excellent publications on *robust statistics* by Peter J. Huber [3]. For Kalman filters we can prove that this computation produces optimal results within certain limits. More about that soon." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Gaussians" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We are now ready to learn about Gaussians. Let's remind ourselves of the motivation for this chapter.\n", "\n", " We desire a unimodal, continuous way to represent probabilities that models how the real world works, and that is very computationally efficient to calculate." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's look at a graph of a Gaussian distribution to get a sense of what we are talking about." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from filterpy.stats import plot_gaussian\n", "plot_gaussian(mean=1.8, variance=0.1414**2, xlabel='Student Height')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> I explain how to plot Gaussians, and much more, in the Notebook *Computing_and_Plotting_PDFs* in the \n", "Supporting_Notebooks folder. You can also read it online [here](https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/blob/master/Supporting_Notebooks/Computing_and_plotting_PDFs.ipynb)[1]\n", "\n", "Probably this is immediately recognizable to you as a 'bell curve'. This curve is ubiquitous because under real world conditions many observations are distributed in such a manner. In fact, this is the curve for the student heights given earlier. I will not use the term 'bell curve' to refer to a Gaussian because several probability distributions have a similar bell curve shape. Non-mathematical sources might not be so precise, so be judicious in what you conclude when you see the term used without definition.\n", "\n", "This curve is not unique to heights - a vast amount of natural phenomena exhibits this sort of distribution, including the sensors that we use in filtering problems. As we will see, it also has all the attributes that we are looking for - it represents a unimodal belief or value as a probability, it is continuous, and it is computationally efficient. We will soon discover that it also other desirable qualities which we may not realize we desire.\n", "\n", "To further motivate you, recall the shapes of the probability distributions in the *Discrete Bayes* chapter. They were not perfect Gaussian curves, but they were similar, as in the plot below. We will be using Gaussians to replace the discrete probabilities used in that chapter!" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import book_plots\n", "with figsize(y=1.5):\n", " book_plots.bar_plot([ 0.,0., 0., 0.1, 0.15, 0.5, 0.2, .15, 0, 0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Nomenclature" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A bit of nomenclature before we continue - this chart depicts the *probability density* of of a *random variable* having any value between ($-\\infty..\\infty)$. What does that mean? Imagine we take an infinite number of infinitely precise measurements of the speed of automobiles on a section of highway. We could then plot the results by showing the relative number of cars going at any given speed. If the average was 120 kph, it might look like this:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "with figsize(y=3.):\n", " plot_gaussian(mean=120, variance=17**2, xlabel='speed(kph)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The y-axis depicts the *probability density* - the relative amount of cars that are going the speed at the corresponding x-axis.\n", "\n", "You may object that human heights or automobile speeds cannot be less than zero, let alone $-\\infty$ or $-\\infty$. This is true, but this is a common limitation of mathematical modeling. \"The map is not the territory\" is a common expression, and it is true for Bayesian filtering and statistics. The Gaussian distribution above somewhat closely models the distribution of the measured automobile speeds, but being a model it is necessarily imperfect. The difference between model and reality will come up again and again in these filters. Gaussians are used in many branches of mathematics, not because they perfectly model reality, but because they are easier to use than any other choice. Even in this book Gaussians will fail to model reality, forcing us to computationally expensive alternative. \n", "\n", "You will see these distributions called *Gaussian distributions* or *normal distributions*. *Gaussian* and *normal* both mean the same thing in this context, and are used interchangeably. I will use both throughout this book as different sources will use either term, so I want you to be used to seeing both. Finally, as in this paragraph, it is typical to shorten the name and talk about a *Gaussian* or *normal* - these are both typical shortcut names for the *Gaussian distribution*. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Gaussian Distributions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So let us explore how Gaussians work. A Gaussian is a **continuous probability distribution** that is completely described with two parameters, the mean ($\\mu$) and the variance ($\\sigma^2$). It is defined as:\n", "\n", "$$ \n", "f(x, \\mu, \\sigma) = \\frac{1}{\\sigma\\sqrt{2\\pi}} \\exp\\big [{-\\frac{1}{2}{(x-\\mu)^2}/\\sigma^2 }\\big ]\n", "$$\n", "\n", "$\\exp[x]$ is notation for $e^x$; we avoid using superscripts in print so that the fonts are larger and more readable." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Don't be dissuaded by the equation if you haven't seen it before; you will not need to memorize or manipulate it. The computation of this function is stored in `stats.py` with the function `gaussian(x, mean, var)`.\n", "\n", "> **Optional:** Let's remind ourselves how to look at a function stored in a file by using the *%load* magic. If you type *%load -s gaussian stats.py* into a code cell and then press CTRL-Enter, the notebook will create a new input cell and load the function into it.\n", "\n", " %load -s gaussian stats.py\n", " \n", " def gaussian(x, mean, var):\n", " \"\"\"returns normal distribution for x given a \n", " gaussian with the specified mean and variance. \n", " \"\"\"\n", " return np.exp((-0.5*(x-mean)**2)/var) / \\\n", " np.sqrt(_two_pi*var)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

We will plot a Gaussian with a mean of 22 $(\\mu=22)$, with a variance of 4 $(\\sigma^2=4)$, and then discuss what this means. " ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAuAAAAEtCAYAAABJQNX+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlcVOXiBvBnZlgERBTZF9llEUQFEXFXRAV3c0nLNM3l\npqWWmWW3utfb75ZlZje1xdSs3HFHhVRwwQ0VFVBB2ZVdBFlkmZnfH9RREgEVODPwfD8fP5/ed84M\nD3cu8HA4530lSqVSCSIiIiIiahJSsQMQEREREbUkLOBERERERE2IBZyIiIiIqAmxgBMRERERNSEW\ncCIiIiKiJsQCTkRERETUhFjAiYiIiIiaUL0K+Jo1a2BnZwcdHR14e3vj1KlTTz02PDwco0aNgoWF\nBfT09ODp6YkNGzY8cVxERAS8vLygo6MDBwcHfP/998//WRARERERqYk6C/i2bduwYMECLFu2DNHR\n0fDz88OwYcOQlpZW4/FnzpyBp6cndu3ahdjYWMydOxezZs3Cli1bhGOSkpIQGBiI3r17Izo6GkuX\nLsX8+fMRHBzccJ8ZEREREZEKktS1E2aPHj3QpUuXameoO3bsiJdeegmfffZZvT7IxIkTIZfLsXPn\nTgDAkiVLsGfPHty8eVM45o033kBsbCwiIyOf5/MgIiIiIlILtZ4BLy8vx6VLlxAQEFBtPiAg4JmK\nckFBAQwNDYXxmTNnanzNqKgoyOXyer8uEREREZG60ajtwdzcXMjlcpiamlabNzExQWZmZr0+wIED\nB3Ds2LFqhT0rK+uJ1zQ1NUVlZSVyc3OfeIyIiIiIqLmotYC/qNOnT2PKlCn49ttv4e3t/czPLygo\naIRURERERERNw8DA4Im5Wi9BMTIygkwmQ1ZWVrX5rKwsmJub1/rBTp06hcDAQPz73//G7Nmzqz1m\nZmb2xBn0rKwsaGhowMjIqNbXJSIiIiJSZ7UWcC0tLXh5eSE0NLTafFhYGPz8/J76vBMnTiAwMBCf\nfvop3nrrrSce79mzJ8LCwp54ze7du0Mmkz1LfiIiIiIitVLnJSiLFi3Cq6++Ch8fH/j5+WHdunXI\nzMzEnDlzAABLly7FhQsX8McffwCoWgc8KCgI8+bNw8svvyyc6ZbJZDA2NgYAzJkzB//73/+wcOFC\nzJo1C6dPn8amTZuwdevWp+ao6fT946KiogDguS51IXHxvVNffO+ajlKpRGrWLZy/fhwX40+i5OGD\n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\nUGfADQYD7t27B8D80c3Dhw9RWFiIwMBAREREYOPGjViyZAlmzJiBWbNmITs7G5mZmTh+/LiLKydH\nvXvjjTeQkpICmUyGyMhI5OTk4Oeff8auXbtcXDkBwOrVq3Ho0CEcO3YMCoXCsq5bLpdDKpVCJBIh\nMTERaWlpGDVqFEaMGIHt27dDLpfj/fffd3H1Q5uj3hmNRixevBgFBQU4efIkBEGwzPHz84O3t7cr\nyx/yHPUvKCgIQUFBVsd4eHhArVZjxIgRriiZOjjqHQDmln7MUf9kMlnfsssz25/FCbKzswWRSCSI\nRCJBLBZb7sfHx1vm/PTTT0JMTIwgkUiE8ePHC0eOHHFhxdTJUe8qKyuFjz76SAgPDxckEokwevRo\nbqPVj3TtW+fXtm3brOalpqYKISEhgre3txAbGysUFRW5qGLq5Kh3JSUlPc7pul0oOV9v33tP4jaE\n/UNve8fc0j/1pn99yS68FD0RERERkRMNmjXgREREREQDAQM4EREREZETMYATERERETkRAzgRERER\nkRMxgBMREREROREDOBERERGREzGAExERERE5EQM4EREREZETDahL0RMRUe9dvXoVJ06cgJubG9as\nWQOVSuXwmNOnTyMjIwOtra2Qy+Xw9vbGypUroVarkZaWhn379jmhciKiwY0BnIhoEHrw4AGys7Ox\nY8cOtLS04LPPPsO3337b43ytVovly5cDANLT0xEdHW15bMOGDTh9+jTi4+Ofd9lEREMCl6AQEQ1C\nV69exdtvvw0A8PLywosvvojKykqbc6uqqjB16lQolUqcPn3aKnwDQEpKCu7cuYPZs2c/77KJiIYE\nBnAiokFoypQpyMrKAgC0trbi0aNHNpegCIKAxYsXQywW44cffrD5XEqlEmPGjMGECROea81EREMF\nl6AQEQ1C0dHRmDlzJjZv3gyxWIzk5GSb8w4fPoyLFy/il19+gYeHR4/P9+GHHz6vUomIhhyRIAiC\nq4sgIiLXmD59Ou7du4fy8nKIxfxQlIjIGfjTlohoiGpra0NeXh5mzpzJ8E1E5ET8iUtENERptVoI\ngoDhw4fbnXfhwgXnFERENEQwgBMRDVFKpdLuum8AMBgMuHLlipMqIiIaGhjAiYiGKHd3dyxcuNDu\nGe4vv/wSK1eudF5RRERDAAM4EdEQ9s033+Dx48dIS0uzGq+pqUFKSgqWLFmCwMBAF1VHRDQ4cRcU\nIqIhrrq6Gtu2bUNxcTEiIiIgk8mgUqmwdu1aKBQKV5dHRDToMIATERERETkRl6AQERERETkRAzgR\nERERkRMxgBMREREROREDOBERERGREzGAExERERE5EQM4EREREZETMYATERERETkRAzgRERERkRMx\ngBMREREROREDOBERERGREzGAExERERE50f8DRWIk/aP4f4UAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from filterpy.stats import gaussian, norm_cdf\n", "plot_gaussian(22, 4, mean_line=True, xlabel='$^{\\circ}C$')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So what does this curve *mean*? Assume for a moment that we have a thermometer, which reads 22$\\,^{\\circ}C$. No thermometer is perfectly accurate, and so we normally expect that thermometer will read slightly plus or minus that temperature each time we read it. However, a theorem called **Central Limit Theorem** states that if we make many measurements that the measurements will be normally distributed. So, when we look at this chart we can *sort of* think of it as representing the probability of the thermometer reading a particular value given the actual temperature of 22$^{\\circ}C$. Maybe the probability of it reading 22$\\,^{\\circ}C$ is 20%? That is not quite accurate mathematically. \n", "\n", "Recall that we said that the distribution is *continuous*. Think of an infinitely long straight line - what is the probability that a point you pick randomly is at, say, 2.0. Clearly 0%, as there is an infinite number of choices to choose from. The same is true for normal distributions; in the graph above the probability of being *exactly* 22$^{\\circ}C$ is 0% because there are an infinite number of values the reading can take.\n", "\n", "So what then is this curve? It is something we call the *probability density function.* The area under the curve at any region gives you the probability of those values. So, for example, if you compute the area under the curve between 20 and 22 the resulting area will be the probability of the temperature reading being between those two temperatures. \n", "\n", "We can think of this in Bayesian terms or frequentist terms. As a Bayesian, if the thermometer reads exactly 22$\\,^{\\circ}C$, then our belief is described by the curve - our belief that the actual (system) temperature is near 22 is very high, and our belief that the actual temperature is near 18 is very low. As a frequentist we would say that if we took 1 billion temperature measurements of a system at exactly 22$\\,^{\\circ}C$, then a histogram of the measurements would look like this curve. \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So how do you compute the probability, or area under the curve? Well, you integrate the equation for the Gaussian \n", "\n", "$$ \\int^{x_1}_{x_0} \\frac{1}{\\sigma\\sqrt{2\\pi}} e^{-\\frac{1}{2}{(x-\\mu)^2}/\\sigma^2 } dx$$\n", "\n", "I wrote `filterpy.stats.norm_cdf` which computes the integral for you. So, for example, we can compute" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Probability of value in range 21.5 to 22.5 is 19.74%\n", "Probability of value in range 23.5 to 24.5 is 12.10%\n" ] } ], "source": [ "print('Probability of value in range 21.5 to 22.5 is {:.2f}%'.format(\n", " norm_cdf((21.5, 22.5), 22,4)*100))\n", "print('Probability of value in range 23.5 to 24.5 is {:.2f}%'.format(\n", " norm_cdf((23.5, 24.5), 22,4)*100))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So the mean ($\\mu$) is what it sounds like - the average of all possible probabilities. Because of the symmetric shape of the curve it is also the tallest part of the curve. The thermometer reads $22^{\\circ}C$, so that is what we used for the mean. \n", "\n", "> *Important*: I will repeat what I wrote at the top of this section: \"A Gaussian...is completely described with two parameters\"\n", "\n", "The standard notation for a normal distribution for a random variable $X$ is $X \\sim\\ \\mathcal{N}(\\mu,\\sigma^2)$ where $\\sim$ means *distributed according to*. This means I can express the temperature reading of our thermometer as\n", "\n", "$$temp \\sim \\mathcal{N}(22,4)$$\n", "\n", "This is an **extremely important** result. Gaussians allow me to capture an infinite number of possible values with only two numbers! With the values $\\mu=22$ and $\\sigma^2=4$ I can compute the distribution of measurements for over any range." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Variance" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since this is a probability density distribution it is required that the area under the curve always equals one. This should be intuitively clear - the area under the curve represents all possible outcomes, *something* happened, and the probability of *something happening* is one, so the density must sum to one. We can prove this ourselves with a bit of code. (If you are mathematically inclined, integrate the Gaussian equation from $-\\infty$ to $\\infty$)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1.0\n" ] } ], "source": [ "print(norm_cdf((-1e8, 1e8), mu=0, var=4))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This leads to an important insight. If the variance is small the curve will be narrow. this is because the variance is a measure of *how much* the samples vary from the mean. To keep the area equal to 1, the curve must also be tall. On the other hand if the variance is large the curve will be wide, and thus it will also have to be short to make the area equal to 1.\n", "\n", "Let's look at that graphically:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", " \n", "xs = np.arange(15, 30, 0.05)\n", "plt.plot(xs, gaussian(xs, 23, 0.2), label='var=0.2')\n", "plt.plot(xs, gaussian(xs, 23, 1), label='var=1')\n", "plt.plot(xs, gaussian(xs, 23, 5), label='var=5')\n", "plt.legend();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So what is this telling us? The blue gaussian is very narrow. It is saying that we believe $x=23$, and that we are very sure about that. In contrast, the red gaussian also believes that $x=23$, but we are much less sure about that. Our believe that $x=23$ is lower, and so our belief about the likely possible values for $x$ is spread out - we think it is quite likely that $x=20$ or $x=26$, for example. The blue gaussian has almost completely eliminated $22$ or $24$ as possible value - their probability is almost $0\\%$, whereas the red curve considers them nearly as likely as $23$.\n", "\n", "If we think back to the thermometer, we can consider these three curves as representing the readings from three different thermometers. The blue curve represents a very accurate thermometer, and the black one represents a fairly inaccurate one. Green of course represents one in between the two others. Note the very powerful property the Gaussian distribution affords us - we can entirely represent both the reading and the error of a thermometer with only two numbers - the mean and the variance.\n", "\n", "It is worth spending a few words on standard deviation now. The standard deviation is a measure of how much variation from the mean exists. For Gaussian distributions, 68% of all the data falls within one standard deviation ($1\\sigma$) of the mean, 95% falls within two standard deviations ($2\\sigma$), and 99.7% within three ($3\\sigma$). This is often called the 68-95-99.7 rule. So if you were told that the average test score in a class was 71 with a standard deviation of 9.4, you could conclude that 95% of the students received a score between 52.2 and 89.8 if the distribution is normal (that is calculated with $71 \\pm (2 * 9.4)$). " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following graph depicts the relationship between the standard deviation and the normal distribution. " ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from gaussian_internal import display_stddev_plot\n", "with figsize(y=3):\n", " display_stddev_plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> An equivalent formation for a Gaussian is $\\mathcal{N}(\\mu,1/\\tau)$ where $\\mu$ is the *mean* and $tau$ the *precision*. Here $1/\\tau = \\sigma^2$; it is the reciprocal of the variance. While we do not use this formulation in this book, it underscores that the variance is a measure of how precise our data is. A small variance yields large precision - our measurement is very precise. Conversely, a large variance yields low precision - our belief is spread out across a large area. You should become comfortable with thinking about Gaussians in these equivalent forms. For a Bayesian Gaussians reflect our *belief* about a measurement, they express the *precision* of the measurement, and they express how much *variance* there is in the measurements. These are all different ways of stating the same fact." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Interactive Gaussians" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For those that are reading this in IPython Notebook, here is an interactive version of the Gaussian plots. Use the sliders to modify $\\mu$ and $\\sigma^2$. Adjusting $\\mu$ will move the graph to the left and right because you are adjusting the mean, and adjusting $\\sigma^2$ will make the bell curve thicker and thinner." ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\njjBsExERERHpCMM2EREREZGOMGwTEREREekIwzYRERERkY4wbBMRERER6QjDNhERERGRjjBsExER\nERHpCMM2EREREZGOMGwTEREREelIv8L25s2b4e3tDRMTE0RGRiI1NbXPfT755BMEBATA2NgYLi4u\nWLNmzT0XS0REREQ0khj01WH37t147bXXkJCQgNjYWGzatAlz585Ffn4+3N3de9xn9erV2L9/P/77\nv/8bISEhqKurQ1VV1aAXT0REREQ0nPUZtjdu3IgVK1bghRdeAAB89tlnOHjwIBISErB+/fpu/YuK\nivA///M/OHfuHPz9/TXtoaGhg1g2EREREdHw1+swEqVSiezsbMTHx2u1x8fHIy0trcd9vv32W/j4\n+CApKQk+Pj7w9vbGc889h2vXrg1e1UREREREI0CvZ7ZramqgUqng6Oio1e7g4AC5XN7jPjKZDGVl\nZdizZw/++c9/AgDeeOMNPPzww0hPT4dIJOpxv6ysrLupn4YZHsfRgcdx9OCxHD14LEcPHsuRz9fX\nt999+xxGMlBqtRptbW3YsWMHxo0bBwDYsWMH/P39kZWVhUmTJg32WxIRERERDUu9hm07OztIJBIo\nFAqtdoVCAWdn5x73cXZ2hoGBgSZoA8C4ceMgkUhw5cqVO4btyMjIgdZOw8itv9J5HEc2HsfRg8dy\n9OCxHD14LEePurq6fvftdcy2kZERIiIicOjQIa325ORkxMTE9LhPbGwsOjo6IJPJNG0ymQwqlQqe\nnp79LoyIiIiIaKTrc57t1atXY9u2bfjiiy9QUFCAV199FXK5HC+99BIAYM2aNZg9e7am/+zZsxEe\nHo7nn38eubm5yMnJwfPPP48pU6bwLzkiIiIiuq/0OWZ76dKlqK2txbp161BVVYWQkBAkJSVp5tiW\ny+VaZ7FFIhF++OEH/P73v8f06dNhYmKC+Ph4bNy4UXefgoiIiIhoGOrXDZKrVq3CqlWretyWmJjY\nrc3JyQl79uy5t8qIiIiIiEa4fi3XTkREREREA8ewTURERESkIwzbREREREQ6wrBNRERERKQjDNtE\nRERERDrCsE1EREREpCMM20REREREOtKvebaJiGhkEQQBgqDWdxlERPc9hm0iohGgpa0JlTVlaGi+\niea2JrS0NaK5tVHzuKm1AS2tTWhu62prbYQAAXsypTAxNoep1AymUvOeHxubw1RqDjtrZ9hbO0Ms\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import math\n", "from IPython.html.widgets import interact, interactive, fixed\n", "import IPython.html.widgets as widgets\n", "\n", "set_figsize(y=3)\n", "def plt_g(mu,variance):\n", " xs = np.arange(2, 8, 0.1)\n", " ys = gaussian(xs, mu, variance)\n", " plt.plot(xs, ys)\n", " plt.ylim((0, 1))\n", "\n", "interact (plt_g, mu=(0, 10), \n", " variance=widgets.FloatSliderWidget(value=0.6, min=0.2, max=4));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, if you are reading this in an IPython Notebook, here is an animation of a Gaussian. First, the mean is being shifted to the right. Then the mean is centered at $\\mu=5$ and the variance is modified.\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Computational Properties of the Gaussian" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Recall how our discrete Bayesian filter worked. We had a vector implemented as a NumPy array representing our belief at a certain moment in time. When we integrated another measurement into our belief using the `update()` function we had to multiply probabilities together, and when we performed the motion step using the `predict()` function we had to shift and add probabilities. I've promised you that the Kalman filter uses essentially the same process, and that it uses Gaussians instead of histograms, so you might reasonable expect that we will be multiplying, adding, and shifting Gaussians in the Kalman filter.\n", "\n", "A typical textbook would directly launch into a multi-page proof of the behavior of Gaussians under these operations, but I don't see the value in that right now. I think the math will be much more intuitive and clear if we just start developing a Kalman filter using Gaussians. I will provide the equations for multiplying and shifting Gaussians at the appropriate time. You will then be able to develop a physical intuition for what these operations do, rather than be forced to digest a lot of fairly abstract math.\n", "\n", "The key point, which I will only assert for now, is that all the operations are very simple, and that they preserve the properties of the Gaussian. This is somewhat remarkable, in that the Gaussian is a nonlinear function, and typically if you multiply a nonlinear equation with itself you end up with a different equation. For example, the shape of `sin(x)sin(x)` is very different from `sin(x)`. But the result of multiplying two Gaussians is yet another Gaussian. This is a fundamental property, and a key reason why Kalman filters are computationally feasible. Said another way, Kalman filters use Gaussians *because* they are so computationally nice. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Computing Probabilities with scipy.stats" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this chapter I have used custom code from FilterPy for computing Gaussians, plotting, and so on. I chose to do that to give you a chance to look at the code and see how these functions are implemented. However, Python comes with \"batteries included\" as the saying goes, and it comes with a wide range of statistics functions in the module `scipy.stats`. I find the performance of some of the functions rather slow (the `scipy.stats` documentation contains a warning to this effect), but this is offset by the fact that this is standard code available to everyone, and it is well tested. So let's walk through how to use scipy.stats to compute statistics and probabilities.\n", "\n", "The `scipy.stats` module contains a number of objects which you can use to compute attributes of various probability distributions. The full documentation for this module is here: http://http://docs.scipy.org/doc/scipy/reference/stats.html. However, we will focus on the norm variable, which implements the normal distribution. Let's look at some code that uses `scipy.stats.norm` to compute a Gaussian, and compare its value to the value returned by the `gaussian()` function from FilterPy." ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.131146572034\n", "0.131146572034\n" ] } ], "source": [ "from scipy.stats import norm\n", "import filterpy.stats\n", "print(norm(2, 3).pdf(1.5))\n", "print(filterpy.stats.gaussian(x=1.5, mean=2, var=3*3))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The call `norm(2, 3)` creates what scipy calls a 'frozen' distribution - it creates and returns an object with a mean of 2 and a standard deviation of 3. You can then use this object multiple times to get the probability density of various values, like so:" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "probability density of 1.5 is 0.1311\n", "probability density of 2.5 is also 0.1311\n", "whereas probability density of 2 is 0.1330\n" ] } ], "source": [ "n23 = norm(2, 3)\n", "print('probability density of 1.5 is %.4f' % n23.pdf(1.5))\n", "print('probability density of 2.5 is also %.4f' % n23.pdf(2.5))\n", "print('whereas probability density of 2 is %.4f' % n23.pdf(2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we look at the documentation for `scipy.stats.norm` here[2] we see that there are many other functions that norm provides.\n", "\n", "For example, we can generate $n$ samples from the distribution with the `rvs()` function." ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 4.28918375 0.28515148 6.6813951 -0.90647378 -3.11286229 -0.23009077\n", " 2.70486564 -1.96423111 3.81979672 3.78714347 2.90120567 1.34502476\n", " 1.54753878 3.542725 5.22996079]\n" ] } ], "source": [ "print(n23.rvs(size=15))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can get the *cumulative distribution function (CDF)*, which is the probability that a randomly drawn value from the distribution is less than or equal to $x$." ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.5\n" ] } ], "source": [ "# probability that a random value is less than the mean 2\n", "print(n23.cdf(2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can get various properties of the distribution:" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "variance is 9.0\n", "standard deviation is 3.0\n", "mean is 2.0\n" ] } ], "source": [ "print('variance is', n23.var())\n", "print('standard deviation is', n23.std())\n", "print('mean is', n23.mean())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are many other functions available, and if you are interested I urge you to peruse the documentation. Sometimes the documentation is terse, but with a bit of googling you can find out what a function does and some examples of how to use it. Most of this functionality is not of immediate interest to the book, so I will leave the topic in your hands to explore. The SciPy tutorial [3] is quite approachable, and I suggest starting there. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Fat Tails" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Earlier I spoke very briefly about the **central limit theorem**, which states that under certain conditions the arithmetic sum of **any** independent random variables will be normally distributed, regardless of how the random variables are distributed. This is extremely important for (at least) two reasons. First, nature is full of distributions which are not normal, but when we apply the central limit theorem over large populations we end up with normal distributions. Second, Gaussians are mathematically *tractable*. We will see this more as we develop the Kalman filter theory, but there are very nice closed form solutions for operations on Gaussians that allow us to use them analytically.\n", "\n", "However, a key part of the proof is \"under certain conditions\". These conditions often do not hold for the physical world. The resulting distributions are called **fat tailed**. Tails is a colloquial term for the far left and right side parts of the curve where the probability density is close to zero.\n", "\n", "Let's consider a trivial example. We think of things like test scores as being normally distributed. If you have ever had a professor 'grade on a curve' you have been subject to this assumption. But of course test scores cannot follow a normal distribution. This is because the distribution assigns a nonzero probability distribution for *any* value, no matter how far from the mean. So, for example, say your mean is 90 and the standard deviation is 13. The normal distribution assumes that there is a large chance of somebody getting a 90, and a small chance of somebody getting a 40. However, it also implies that there is a tiny chance of somebody getting a grade of -10, or 150. It assumes that there is a infinitesimal chance of getting a score of -1e300, or 4e50. The *tails* of a Gaussian distribution are infinite because Gaussians are continuous functions.\n", "\n", "But for a test we know this is not true. Ignoring extra credit, you cannot get less than 0, or more than 100. Let's plot this using a normal distribution." ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\niIiIrNj/B+Asp7L/UiflAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "xs = np.arange(10,100, 0.05)\n", "plt.plot(xs, [gaussian(x, 90, 30) for x in xs], label='var=0.2')\n", "plt.xlim((0,120))\n", "plt.ylim(0, 0.09);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The area under the curve cannot equal 1, so it is not a probability distribution. What actually happens is that a more students than predicted by a normal distribution get scores nearer the upper end of the range (for example), and that tail becomes 'fat'. Also, the test is probably not able to perfectly distinguish incredibly minute differences in skill in the students, so the distribution to the left of the mean is also probably a bit bunched up in places. The resulting distribution is called a *fat tail distribution*. \n", "\n", "Kalman filters use sensors to measure the world. The errors in sensor's measurements are rarely truly Gaussian. It is far too early to be talking about the difficulties that this presents to the Kalman filter designer. It is worth keeping in the back of your mind the fact that the Kalman filter math is based on a somewhat idealized model of the world. For now I will present a bit of code that I will be using later in the book to form fat tail distributions to simulate various processes and sensors. This distribution is called the student's t distribution. \n", "\n", "Let's say I want to model a sensor that has some noise in the output. For simplicity, let's say the signal is a constant 10, and the standard deviation of the noise is 2. We can use the function `numpy.random.randn()` to get a random number with a mean of 0 and a standard deviation of 1. So I could simulate this sensor with" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from numpy.random import randn\n", "\n", "def sense():\n", " return 10 + randn()*2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's plot that signal and see what it looks like." ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "zs = [sense() for i in range(5000)]\n", "plt.plot(zs, lw=1);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That looks like I would expect. The signal is centered around 10. A standard deviation of 2 means that 68% of the measurements will be within $\\pm$ 2 of 10, and 99% will be within $\\pm$ 6 of 10, and that looks like what is happening. \n", "\n", "Now let's look at a fat tailed distribution. There are many choices, I will use the Student's T distribution. I will not go into the math, but just give you the source code for it and then plot a distribution using it." ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import random\n", "import math\n", "\n", "def rand_student_t(df, mu=0, std=1):\n", " \"\"\"return random number distributed by student's t distribution with\n", " `df` degrees of freedom with the specified mean and standard deviation.\n", " \"\"\"\n", " x = random.gauss(0, std)\n", " y = 2.0*random.gammavariate(0.5*df, 2.0)\n", " return x / (math.sqrt(y / df)) + mu" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nJyIiIiJSyP8BHNtCDvAd9JQAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def sense_t():\n", " return 10 + rand_student_t(7)*2\n", "\n", "zs = [sense_t() for i in range(5000)]\n", "plt.plot(zs, lw=1);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can see from the plot that while the output is similar to the normal distribution there are outliers that go far more than 3 standard deviations from the mean. This is what causes the 'fat tail'.\n", "\n", "It is unlikely that the Student's T distribution is an accurate model of how your sensor (say, a GPS or Doppler) performs, and this is not a book on how to model physical systems. However, it does produce reasonable data to test your filter's performance when presented with real world noise. We will be using distributions like these throughout the rest of the book in our simulations and tests. \n", "\n", "This is not an idle concern. The Kalman filter equations assume the noise is normally distributed, and perform sub-optimally if this is not true. Designers for mission critical filters, such as the filters on spacecraft, need to master a lot of theory and emperical knowledge about the performance of the sensors on their spacecraft. \n", "\n", "The code for rand_student_t is included in `filterpy.stats`. You may use it with\n", "\n", " from filterpy.stats import rand_student_t" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Summary and Key Points" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following points **must** be understood by you before we continue:\n", "\n", "* Normal distributions occur throughout nature\n", "* They express a continuous probability distribution\n", "* They are completely described by two parameters: the mean ($\\mu$) and variance ($\\sigma^2$)\n", "* $\\mu$ is the average of all possible values\n", "* The variance $\\sigma^2$ represents how much our measurements vary from the mean\n", "* The standard deviation ($\\sigma$) is the square root of the variance ($\\sigma^2$)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## References" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[1] https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/blob/master/Supporting_Notebooks/Computing_and_plotting_PDFs.ipynb\n", "\n", "[1] http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.norm.html#scipy.stats.normfor\n", "\n", "[2] http://docs.scipy.org/doc/scipy/reference/tutorial/stats.html\n", "\n", "[3] Huber, Peter J. *Robust Statistical Procedures*, Second Edition. Society for Industrial and Applied Mathematics, 1996." ] } ], "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.4.3" } }, "nbformat": 4, "nbformat_minor": 0 }