Added reference to computing PDF notebook.

This commit is contained in:
Roger Labbe committed 2015-06-16 22:07:09 -07:00
1 parent d280a9f344
commit 41673aab60
2 files changed
+65 -53

No files matched your search

+8 -3
View File
@@ -768,6 +768,9 @@
"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 bell curve for the student heights given earlier. \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 that we do not yet recognize we need.\n",
@@ -1245,7 +1248,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"If we look at the documentation for `scipy.stats.norm` <a href=\"http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.norm.html#scipy.stats.normfor\">here</a>[1] we see that there are many other functions that norm provides.\n",
"If we look at the documentation for `scipy.stats.norm` <a href=\"http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.norm.html#scipy.stats.normfor\">here</a>[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."
]
@@ -1332,7 +1335,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"There are many other functions available, and if you are interested I urge you to peruse the documentation. I find the documentation to be excessively 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 <a href=\"http://docs.scipy.org/doc/scipy/reference/tutorial/stats.html\">SciPy tutorial</a> [2] is quite approachable, and I suggest starting there. "
"There are many other functions available, and if you are interested I urge you to peruse the documentation. I find the documentation to be excessively 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 <a href=\"http://docs.scipy.org/doc/scipy/reference/tutorial/stats.html\">SciPy tutorial</a> [3] is quite approachable, and I suggest starting there. "
]
},
{
@@ -1539,6 +1542,8 @@
"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"
@@ -1561,7 +1566,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.4.3"
"version": "3.4.1"
}
},
"nbformat": 4,
+57 -50
View File
@@ -16,19 +16,11 @@
},
{
"cell_type": "code",
"execution_count": 2,
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The autoreload extension is already loaded. To reload it, use:\n",
" %reload_ext autoreload\n"
]
},
{
"data": {
"text/html": [
@@ -38,7 +30,7 @@
"@import url('http://fonts.googleapis.com/css?family=Arimo');\n",
"\n",
" div.cell{\n",
" width: 850px;\n",
" width: 900px;\n",
" margin-left: 0% !important;\n",
" margin-right: auto;\n",
" }\n",
@@ -245,7 +237,10 @@
" },\n",
" displayAlign: 'center', // Change this to 'center' to center equations.\n",
" \"HTML-CSS\": {\n",
" scale:85,\n",
" scale:100,\n",
" availableFonts: [\"Neo-Euler\"],\n",
" preferredFont: \"Neo-Euler\",\n",
" webFont: \"Neo-Euler\",\n",
" styles: {'.MathJax_Display': {\"margin\": 4}}\n",
" }\n",
" });\n",
@@ -255,7 +250,7 @@
"<IPython.core.display.HTML object>"
]
},
"execution_count": 2,
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
@@ -375,9 +370,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7c708d0>"
"<matplotlib.figure.Figure at 0x6eae978>"
]
},
"metadata": {},
@@ -428,16 +423,16 @@
},
{
"cell_type": "code",
"execution_count": 3,
"execution_count": 18,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAuwAAAFSCAYAAACpCIpkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X+MHPV9x//XzO7d7d35F+fc+vwDiKOYYJmEgt2Ar4Hw\nwzimIVgotBSrJqSoEJWSOG5qCSmqXQVR0SLkuAQSKlEsECWVihpFSbETpSoYrvryo/42AVPwF8Ni\n393OeffY3dsftzuz8/3j2OH2fvjOvr2b2d3nQ7JuPTO79157d+a9n31/3h/DdV1XAAAAAALJ9DsA\nAAAAANMjYQcAAAACjIQdAAAACDASdgAAACDASNgBAACAACNhBwAAAAKMhB0AAAAIsDMm7H/3d3+n\n3//939fSpUsVjUZ18803680335x03L59+7R69Wp1dHTo2muv1VtvvVW1f3R0VPfdd5+6u7u1aNEi\nbd++XadOnao6Znh4WDt37tSyZcu0bNky3XHHHUqlUjV4igAAAED9OmPC/l//9V/6y7/8S/X19ek3\nv/mNwuGwtmzZouHhYe+Yhx56SI888ogeffRRvfrqq4pGo7rhhhs0MjLiHbNr1y49//zzeu655/TS\nSy8pnU7rpptuUrlc9o7ZsWOHjh49qkOHDumFF17QG2+8oZ07d87DUwYAAADqh3E2K51ms1ktXbpU\nP/vZz/TVr35Vrutq1apV+va3v637779fklQoFBSNRvXwww/r7rvvViqVUjQa1VNPPaXbb79dknTy\n5EldeOGF+o//+A9t3bpVx44d04YNG/Tyyy9r8+bNkqSXX35ZV111ld5++21ddNFF8/DUAQAAgOA7\nqxr2dDqtcrms8847T5J04sQJxeNxbd261TsmEono6quv1iuvvCJJev3111UqlaqOWbNmjdavX6++\nvj5JUl9fnxYtWuQl65LU29urzs5O7xgAAACgGZ1Vwv6d73xHl112mZdYDw4OSpJWrFhRdVw0GvX2\nDQ4OKhQKafny5VXHrFixouqY7u7uqv2GYVQ9DgAAANCMwrM9cPfu3XrllVd05MgRGYYx4/EzHXMW\nlThVmIgKAACAerZ06dKzOn5WI+zf/e539dOf/lS/+c1v9OlPf9rb3tPTI0mKx+NVx8fjcW9fT0+P\nHMdRIpE44zFDQ0NV+13XlWVZ3jEAAABAM5oxYf/Od77jJesTJ3+uXbtWPT09Onz4sLetUCjoyJEj\n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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7c58b70>"
"<matplotlib.figure.Figure at 0x7893eb8>"
]
},
"metadata": {},
@@ -460,22 +455,30 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"This is an unsurprising result. The result of passing the Gaussian through $f(x)=2x+1$ is another Gaussian centered around 1. Let's look at the input, transfer function, and output at once."
"This is an unsurprising result. The result of passing the Gaussian through $f(x)=2x+1$ is another Gaussian centered around 1. Let's look at the input, nonlinear function, and output at once."
]
},
{
"cell_type": "code",
"execution_count": 4,
"execution_count": 39,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"6069\n",
"0.398942280401\n"
]
},
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7c58940>"
"<matplotlib.figure.Figure at 0x9bc2f60>"
]
},
"metadata": {},
@@ -483,19 +486,22 @@
}
],
"source": [
"from nonlinear_plots import plot_transfer_func\n",
"from nonlinear_plots import plot_nonlinear_func\n",
"\n",
"def g1(x):\n",
" return 2*x+1\n",
"\n",
"with book_format.figsize(y=5):\n",
" plot_transfer_func(data, g1, gaussian)"
" plot_nonlinear_func(data, g1, gaussian)"
]
},
{
"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",
"The plot labeled 'input' is the histogram of the original data. This is passed through the transfer function $f(x)=2x+1$ which is displayed in the chart on the bottom lweft\n",
". The red lines shows how one value, $x=0$ is passed through the function. Each value from input is passed through in the same way to the output function on the left. For the output I computed the mean by taking the average of all the points, and drew the results with the dotted blue line. A solid blue line shows the actual mean for the point $x=0$. The output looks like a Gaussian, and is in fact a Gaussian. We can see that it is altered -the variance in the output is larger than the variance in the input, and the mean has been shifted from 0 to 1, which is what we would expect given the transfer function $f(x)=2x+1$ The $2x$ affects the variance, and the $+1$ shifts the mean The computed mean, represented by the dotted blue line, is nearly equal to the actual mean. If we used more points in our computation we could get arbitrarily close to the actual value.\n",
"\n",
@@ -504,16 +510,16 @@
},
{
"cell_type": "code",
"execution_count": 5,
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0xab83d68>"
"<matplotlib.figure.Figure at 0x9ac2ac8>"
]
},
"metadata": {},
@@ -521,13 +527,11 @@
}
],
"source": [
"from nonlinear_plots import plot_transfer_func\n",
"\n",
"def g2(x):\n",
" return (np.cos(3*(x/2 + 0.7))) * np.sin(0.3*x) - 1.6*x\n",
"\n",
"with book_format.figsize(y=5):\n",
" plot_transfer_func(data, g2, gaussian)"
" plot_nonlinear_func(data, g2, gaussian)"
]
},
{
@@ -548,16 +552,16 @@
},
{
"cell_type": "code",
"execution_count": 6,
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0xab811d0>"
"<matplotlib.figure.Figure at 0x9a514e0>"
]
},
"metadata": {},
@@ -568,7 +572,7 @@
"y = g2(data)\n",
"gaussian2 = (np.mean(y), np.var(y))\n",
"with book_format.figsize(y=5):\n",
" plot_transfer_func(y, g2, gaussian2)"
" plot_nonlinear_func(y, g2, gaussian2)"
]
},
{
@@ -580,7 +584,7 @@
},
{
"cell_type": "code",
"execution_count": 7,
"execution_count": 10,
"metadata": {
"collapsed": false
},
@@ -589,8 +593,8 @@
"name": "stdout",
"output_type": "stream",
"text": [
"input mean, variance: 0.0003, 0.9966\n",
"output mean, variance: -0.1254, 2.3964\n"
"input mean, variance: 0.0036, 0.9998\n",
"output mean, variance: -0.1305, 2.4019\n"
]
}
],
@@ -610,16 +614,16 @@
},
{
"cell_type": "code",
"execution_count": 8,
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0xac89748>"
"<matplotlib.figure.Figure at 0x9bc5a90>"
]
},
"metadata": {},
@@ -629,7 +633,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"output mean, variance: -0.0005, 2.2424\n"
"output mean, variance: -0.0055, 2.2496\n"
]
}
],
@@ -638,7 +642,7 @@
" return -1.5 * x\n",
"\n",
"with book_format.figsize(y=5):\n",
" plot_transfer_func(data, g3, gaussian)\n",
" plot_nonlinear_func(data, g3, gaussian)\n",
"out = g3(data)\n",
"print ('output mean, variance: %.4f, %.4f'% (np.average(out), np.std(out)**2))"
]
@@ -652,7 +656,7 @@
},
{
"cell_type": "code",
"execution_count": 9,
"execution_count": 13,
"metadata": {
"collapsed": false
},
@@ -661,8 +665,8 @@
"name": "stdout",
"output_type": "stream",
"text": [
"linear output mean, variance: -0.0268, 7456.6635\n",
"nonlinear output mean, variance: -9.2020, 30349.1465\n"
"linear output mean, variance: -0.3155, 7480.4651\n",
"nonlinear output mean, variance: -9.7978, 30473.9682\n"
]
}
],
@@ -690,16 +694,16 @@
},
{
"cell_type": "code",
"execution_count": 10,
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nCR+EAxk7deoFpblYs+N9/OW+l2W7awkRERGZFod/kElpJA1WbFmi11B7uHjhiVGvWE1Dfc3d/R6E\nk72LXv337N+wbNNClFeWypCKiIiITI1NNZnU72d/w9m8kzo1UVTgkbtnwdHeWaZUpuPp5ov5U5fj\n0btn6U3Luvg7PklahIbGBhmSERERkSmxqSaTkSQJO1PX69Qc7Jzw7LiFbea2eS3h7OiG/t3vwsLp\nK+Dm7KEzLa/kAlJPJaO0oghmvvEOERERmRCbajKJhsYGrN+9AjmXz+jUZz+4BGEB7eMx3h3cvPHS\nw+/A1yNAp/7dL8uxcOWTWL5pIarrKmVKR0RERMbEppqMTlVdjvfXvYK9x7fp1CNDY9HJO1ieUDJR\nunTAE6NeMTjtdG46Pt74OqpqVWZORURERMbGppqMqryqFB9ueA25l8/q1EVRgXtiJ8qUSl6+HQIQ\nHtjL4LSLl7Px3c/LzJyIiIiIjI1NNRlFUVk+zl46ieWbFqKw9KLONCcHV0y990UE+XaRKZ38hvRK\nbHJa+tlDyC/JMWMaIiIiMjbep5paLSV9GzbsXgEJ+hfedQ3sjWkj/w/ODq4yJLMckaGx6BESgxPn\n0gxO33U4CY+OeM7MqYiIiMhY2FRTq9Q31mHrgTUGG+qIzn3wxKhXYGtjJ0MyyyKKCjwx6lUUlOTA\nzdkD2Xl/4PMf/qmd/usfuzCw5wiE+pvmqZJERERkWoJk5vt6Xf/43qysLHNumkzgXFEG9mYm6dWV\njl5I7DUddjb2MqSyfBpJg81HPoGq9oq2phBtMDh8LDp7srFu68LCwrTfK5VKGZMQEZG5cEw1tcqZ\ny8f1ah2cO+LO7g+xoW6GKIjoGRCnU1NrGpFyeiNySzJlSkVEREQtJevwj5iYGDk3bzRpaVfHyba3\n/TlxLg35Zdk6tb898i4CvENNlq0lLPXn01fqC7sUAXuObdXWJEmD3afXY1jUKNzbf6LBR55b6v60\nlLXtD6D7iRwREbUPPFNNLZJ8dAs+2/KGTi3AO9TiGmpLJggCxg97Ag/f9SwECNq6JGmw++gWvPX1\nHORezm5mDURERGQp2FTTbTudk46klJV69UGR98iQpu2L63k3Hrrrab16qaoI7699Bdl5p2RIRURE\nRLeDTTXdloqqMnz503t6d/uI6zkCcT1HyJSq7YvrOQKPj/wbPFy8dOoN6nqsS/4UZLine truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7cdd978>"
"<matplotlib.figure.Figure at 0x9c05080>"
]
},
"metadata": {},
@@ -712,9 +716,8 @@
"x0 = (1, 1)\n",
"data = normal(loc=x0[0], scale=x0[1], size=500000)\n",
"\n",
"\n",
"with book_format.figsize(y=5):\n",
" plot_transfer_func(data, g3, gaussian=x0)"
" plot_nonlinear_func(data, g3, gaussian=x0)"
]
},
{
@@ -932,7 +935,11 @@
"\n",
"On the other hand the UKF works spectacularly! I use it at work for real world applications. I mostly haven't even tried to implement an EKF for these applications because I can verify that the UKF is working fine. Is it possible that I might eke out another 0.2% of performance from the EKF in certain situations? Sure! Do I care? No! I completely understand the UKF implementation, it is easy to test and verify, I can pass the code to others and be confident that they can understand and modify it, and I am not a masochist that wants to battle difficult equations when I already have a working solution. If the UKF or particle filters start to perform poorly for some problem then I will turn other techniques, but not before then. And realistically, the UKF usually provides substantially better performance than the EKF over a wide range of problems and conditions. If \"really good\" is good enough I'm going to spend my time working on other problems. \n",
"\n",
"I'm belaboring this point because in most textbooks the EKF is given center stage, and the UKF is either not mentioned at all or just given a 2 page gloss that leaves you completely unprepared to use the filter. This is not due to ignorance on the writer's part. The UKF is still relatively new, and it takes time to write new editions of books. At the time many books were written the UKF was either not discovered yet, or it was just an unproven but promising curiosity. But I am writing this now, the UKF has had enormous success, and it needs to be in your toolkit. That is what I will spend most of my effort trying to teach you. "
"I'm belaboring this point because in most textbooks the EKF is given center stage, and the UKF is either not mentioned at all or just given a 2 page gloss that leaves you completely unprepared to use the filter. This is not due to ignorance on the writer's part. The UKF is still relatively new, and it takes time to write new editions of books. At the time many books were written the UKF was either not discovered yet, or it was just an unproven but promising curiosity. But I am writing this now, the UKF has had enormous success, and it needs to be in your toolkit. That is what I will spend most of my effort trying to teach you. \n",
"\n",
"## References\n",
"\n",
"[1] https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/blob/master/Supporting_Notebooks/Computing_and_plotting_PDFs.ipynb"
]
}
],