Wording changes.
This commit is contained in:
1 parent
55d73b21de
commit
83f6795f72
13 files changed
+4176
-553
No files matched your search
+1630
-63
File diff suppressed because it is too large.
Load diff
+111
-107
@@ -16,7 +16,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 33,
|
||||
"execution_count": 1,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -289,7 +289,7 @@
|
||||
"<IPython.core.display.HTML object>"
|
||||
]
|
||||
},
|
||||
"execution_count": 33,
|
||||
"execution_count": 1,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
@@ -310,7 +310,7 @@
|
||||
"\n",
|
||||
"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. And, of course, multiple position estimates makes navigating impossible.\n",
|
||||
"\n",
|
||||
"We desire a unimodal, continuous way to represent probabilities that models how the real world works, and that is computationally efficient to calculate. As you might guess from the chapter name, Gaussian distributions provide all of these features."
|
||||
"We desire a unimodal, continuous way to represent probabilities that models how the real world works, and that is computationally efficient to calculate. Gaussian distributions provide all of these features."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -324,7 +324,7 @@
|
||||
"\n",
|
||||
"Each time you roll a die the *outcome* will be between 1 and 6. If we rolled a fair die a million times we'd expect to get 1 1/6 of the time. Thus we say the *probability*, or *odds* of the outcome 1 is 1/6. Likewise, if I asked you the chance of 1 being the result of the next roll you'd reply 1/6. \n",
|
||||
"\n",
|
||||
"This combination of values and associated probabilities is called a [*random variable*](https://en.wikipedia.org/wiki/Random_variable). *Random* does not mean the process is nondeterministic, only that we lack information. The result of a die toss is deterministic, but we lack enough information to compute the result. We don't know what will happen, except probabilistically.\n",
|
||||
"This combination of values and associated probabilities is called a [*random variable*](https://en.wikipedia.org/wiki/Random_variable). Here *random* does not mean the process is nondeterministic, only that we lack information. The result of a die toss is deterministic, but we lack enough information to compute the result. We don't know what will happen, except probabilistically.\n",
|
||||
"\n",
|
||||
"While we are defining things, the range of values is called the [*sample space*](https://en.wikipedia.org/wiki/Sample_space). For a die the sample space is {1, 2, 3, 4, 5, 6}. For a coin the sample space is {H, T}. *Space* is a mathematical term which means a set with structure. The sample space for the die is a subset of the natural numbers in the range of 1 to 6.\n",
|
||||
"\n",
|
||||
@@ -334,7 +334,7 @@
|
||||
"\n",
|
||||
"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. \n",
|
||||
"\n",
|
||||
"In statistics capital letters are used for random variables, usually from the latter half of the alphabet. So, we might say that $X$ is the random variable representing the die toss, or $Y$ are the heights of the students in the freshmen poetry class. In later chapters we will follow the convention of using lower case for vectors, and upper case for matrices. Unfortunately these conventions clash, and you will have to determine which an author is using from context. "
|
||||
"In statistics capital letters are used for random variables, usually from the latter half of the alphabet. So, we might say that $X$ is the random variable representing the die toss, or $Y$ are the heights of the students in the freshmen poetry class. Later chapters use linear algebra to solve these problems, and so there we will follow the convention of using lower case for vectors, and upper case for matrices. Unfortunately these conventions clash, and you will have to determine which an author is using from context. "
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -376,7 +376,7 @@
|
||||
"\n",
|
||||
"for discrete distributions, and as \n",
|
||||
"\n",
|
||||
"$$\\int P(X{=}u) \\,du= 1$$\n",
|
||||
"$$\\int\\limits_u P(X{=}u) \\,du= 1$$\n",
|
||||
"\n",
|
||||
"for continuous distributions."
|
||||
]
|
||||
@@ -387,7 +387,7 @@
|
||||
"source": [
|
||||
"### The Mean, Median, and Mode of a Random Variable\n",
|
||||
"\n",
|
||||
"Given a set of data we often want to know a representative or average value for that set. There are many measures for this, and the concept is called a [*measure of central tendency*](https://en.wikipedia.org/wiki/Central_tendency). For example we will 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. If the heights of the students in meters is \n",
|
||||
"Given a set of data we often want to know a representative or average value for that set. There are many measures for this, and the concept is called a [*measure of central tendency*](https://en.wikipedia.org/wiki/Central_tendency). For example we might want to know the *average* height of the students in a class. 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. If the heights of the students in meters is \n",
|
||||
"\n",
|
||||
"$$X = \\{1.8, 2.0, 1.7, 1.9, 1.6\\}$$\n",
|
||||
"\n",
|
||||
@@ -406,7 +406,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 34,
|
||||
"execution_count": 2,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -429,7 +429,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"The *mode* of a set of numbers is the number that occurs most often. If only one number occurs most often we say it is a *unimodal* set, and if two or more numbers occur the most with equal frequency than te set is *multimodal*. For example the set {1, 2, 2, 2, 3, 4, 4, 4} has modes 2 and 4, which is multimodal, and the set {5, 7, 7, 13} has the mode 7, and so it is unimodal. We will not be computing the mode in this manner in this book, but we do use the concepts of unimodal and multimodal in a more general sense. For example, in the **Discrete Bayes** chapter we talked about our belief in the dog's position as a *multimodal distribution* because we assigned different probabilities to different positions.\n",
|
||||
"The *mode* of a set of numbers is the number that occurs most often. If only one number occurs most often we say it is a *unimodal* set, and if two or more numbers occur the most with equal frequency than the set is *multimodal*. For example the set {1, 2, 2, 2, 3, 4, 4, 4} has modes 2 and 4, which is multimodal, and the set {5, 7, 7, 13} has the mode 7, and so it is unimodal. We will not be computing the mode in this manner in this book, but we do use the concepts of unimodal and multimodal in a more general sense. For example, in the **Discrete Bayes** chapter we talked about our belief in the dog's position as a *multimodal distribution* because we assigned different probabilities to different positions.\n",
|
||||
"\n",
|
||||
"Finally, the *median* of a set of numbers is the middle point of the set so that half the values are below the median and half are above the median. Here, above and below is in relation to the set being sorted. If the set contains an even number of values then the two middle numbers are averaged together.\n",
|
||||
"\n",
|
||||
@@ -438,7 +438,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 35,
|
||||
"execution_count": 3,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -461,7 +461,7 @@
|
||||
"source": [
|
||||
"## Expected Value of a Random Variable\n",
|
||||
"\n",
|
||||
"The [*expected value*](https://en.wikipedia.org/wiki/Expected_value) of a random variable is the average value it would have if we took an infinite number of samples of it and then averaged those samples together. Let's say we have $x=[1,3,5]$ and each value is equally probable. What would we *expect* $x$ to have, on average?\n",
|
||||
"The [*expected value*](https://en.wikipedia.org/wiki/Expected_value) of a random variable is the average value it would have if we took an infinite number of samples of it and then averaged those samples together. Let's say we have $x=[1,3,5]$ and each value is equally probable. What value would we *expect* $x$ to have, on average?\n",
|
||||
"\n",
|
||||
"It would be the average of 1, 3, and 5, of course, which is 3. That should make sense; we would expect equal numbers of 1, 3, and 5 to occur, so $(1+3+5)/3=3$ is clearly the average of that infinite series of samples. In other words, here the expected value is the *mean* of the sample space.\n",
|
||||
"\n",
|
||||
@@ -497,7 +497,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 36,
|
||||
"execution_count": 4,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
@@ -517,7 +517,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 37,
|
||||
"execution_count": 5,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -550,7 +550,7 @@
|
||||
"\n",
|
||||
"$$\\mathit{VAR}(X) = E[(X - \\mu)^2]$$\n",
|
||||
"\n",
|
||||
"Ignoring the squared terms for a moment, you can see that the variance is the *expected value* for how much the sample space ($X$) varies from the mean (squared, of course). We have the formula for the expected value $E[X] = \\sum\\limits_{i=1}^n p_ix_i$, and we will assume that any height is equally probable, so we can substitute that into the equation above to get\n",
|
||||
"Ignoring the squared terms for a moment, you can see that the variance is the *expected value* for how much the sample space ($X$) varies from the mean. I will explain the purpose of the squared term later. We have the formula for the expected value $E[X] = \\sum\\limits_{i=1}^n p_ix_i$, and we will assume that any height is equally probable, so we can substitute that into the equation above to get\n",
|
||||
"\n",
|
||||
"$$\\mathit{VAR}(X) = \\frac{1}{n}\\sum_{i=1}^n (x_i - \\mu)^2$$\n",
|
||||
" \n",
|
||||
@@ -570,7 +570,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 38,
|
||||
"execution_count": 6,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -611,7 +611,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 39,
|
||||
"execution_count": 7,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -643,7 +643,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 40,
|
||||
"execution_count": 8,
|
||||
"metadata": {
|
||||
"collapsed": false,
|
||||
"scrolled": true
|
||||
@@ -651,9 +651,9 @@
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAncAAAEtCAYAAABqN0ZuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xt01PWd//HXd4YAIZFsgE24JIFguQeBEAgQ0YgiC3bF\nrQLBPRsCxdaDUoIr3WalYkDExbWsIETrKoKsLaysYHeLhrQBAcEDqVKRi1DuC5OUNIRAi5fk+/vD\nn7OMuTATMvlMvvN8nDPnON95f4d33pPxvPK9WrZt2wIAAIAjuEw3AAAAgKZDuAMAAHAQwh0AAICD\nEO4AAAAchHAHAADgIIQ7AAAAByHcAQAAOIjRcLdkyRINHz5cMTExiouL07333qtPP/30uusdOHBA\nmZmZateunRITE7Vo0aJm6BYAACD0GQ1377//vh599FHt3r1bxcXFatWqle666y5dvHix3nWqqqo0\nduxYdenSRSUlJXrhhRf03HPPadmyZc3YOQAAQGiyQukOFVeuXFFMTIw2b96se+65p86agoIC5eXl\nqaysTK1bt5YkLV68WC+99JLOnDnTnO0CAACEnJA65u7SpUuqqalRbGxsvTV79uzR6NGjvcFOksaN\nG6dz587p1KlTzdEmAABAyAqpcDdnzhylpqZq5MiR9dZ4PB7Fx8f7LIuPj5dt2/J4PMFuEQAAIKS1\nMt3ANx577DF98MEH2rVrlyzLapL3rKysbJL3AQAACAUxMTHXrQmJcDd37lxt2LBB27ZtU/fu3Rus\n7dy5s0pLS32WlZaWyrIsde7cOZhtAgAAhDzju2XnzJmj9evXq7i4WL169bpu/ciRI7Vjxw598cUX\n3mWFhYXq2rXrdYMhAACA0xk9W/aRRx7RunXrtHnzZvXr18+7PDo6WlFRUZKkvLw87d27V0VFRZK+\nPumib9++yszM1BNPPKEjR45o+vTpys/PV25urs/7X7tb1p/NmGga+/btkySlpaUZ7sTZ/D18IYRO\niHckft/NYO5mMHczAs0zRrfcFRQU6PLly7rzzjvVtWtX7+P555/31ng8Hp04ccL7vH379tq6davO\nnTunYcOGafbs2Zo3b16tYAcAABCOjB5zV1NTc92a1atX11o2YMAAbdu2LQgdAQAAtGzGj7kDAABA\n0wmbcGdZvo+nnqq77qmnatdST30o1kv2NY8Fda+gBSHbv1Pqhw1L089/3jVk+gmX+mHD0jRsWFrI\n9BMu9dfOPRT6Caf6QITEpVBMqKkpU3V1WR3L4yTFUX8D9TEx5yRJ1dUHQqKfcKgPVKj139Lr27Sp\nUnX1gZDph3rqqXdafWKtuoaEbbhzuc7I7S6pY/lQ1TVs6v2vj4g4KUlyuz0h0U841Acq1Ppv6fVu\n91m53X8ImX6op556p9VPqVXXEKOXQgk231OH1xvsJLycPHlSktSjRw+jfTidZf3QrzrbfjnInYQ3\nft/NYO5mMHczKiv/L9yF/KVQAAAA0LQIdwAAAA4StsfcAQBaDg5DAPzHljsAAAAHIdwBAAA4COEO\nAADAQQh3AAAADkK4AwAAcBDCHQAAgIMQ7gAAAByEcAcAAOAghDsAAAAHIdwBAAA4COEOAADAQbi3\nLG4Y93wEACB0sOUOAADAQQh3AAAADkK4AwAAcBDCHQAAgIMQ7gAAAByEcAcAAOAghDsAAAAHIdwB\nAAA4COEOAADAQQh3AAAADkK4AwAAcBDuLQsAAeBeygBCHVvuAAAAHIRwBwAA4CCEOwAAAAcJm3Bn\nWT/weTz11NA66556amitWuobrpdsSQvqrP96uS3JDtn+W2r9N3O93vxDtf+WWu8794bnH4r9t+T6\na/9/wvzN1CcnP6Pk5GdCpp9wqg9E2J5QUVOTqOrqNnUsj6O+EfWBCrX+W3p9oEKt/5ZeX5fq6lEt\npv+WUu+P6upRzdYP9dQ3Z30gwjbcuVxxcrtrD9ZVz7ZM6huuD1So9d/S6wMVav239Pq6uN0pLab/\nllLvD7c7pdn6oZ765quvrLu4HpZt23ZAa7QglZX/N4yYmBiDnTibZVl+1Tn4V80I5m4GczeDuYeG\nffv2SZLS0tIMdxJeAs0zYXPMHQAAQDgg3AEAADgI4Q4AAMBBCHcAAAAOErZnywIAgIZxIkvLxJY7\nAAAAByHcAQAAOAjhDgAAwEEIdwAAAA5CuAMAAHAQ4+Fux44dmjhxohISEuRyubR27doG60+dOiWX\ny+XzcLvdKiwsbKaOAQAAQpfxS6FcvnxZAwcO1LRp05Sdne3XOpZl6b333tMtt9ziXdahQ4dgtQgA\nANBiGA9348eP1/jx4yVJ06ZN82sd27bVoUMHxcXFBbM1AACAFsf4btnG+t73vqf4+Hjdeuut2rhx\no+l2AAAAQkKLC3fR0dF6/vnntWHDBm3ZskV33nmnpkyZojfffNN0awAAAMYZ3y0bqI4dO2ru3Lne\n56mpqSovL9fSpUv14IMP1rvevn37mqM9NIDPwAzmbgZzN4O5m8Hcg6tXr14B1be4LXd1GT58uI4e\nPWq6DQAAAONa3Ja7unz00Ufq0qVLgzVpaWnN1A3qw2dgBnM3g7mbwdzNYO7BVVlZGVC98XB35coV\nHTt2TLZtq6amRqdPn9b+/fvVoUMHJSYmKi8vT3v37lVRUZEkae3atYqIiNCQIUPkcrn0zjvvqKCg\nQEuXLjX8kwAAAJhnPNzt27dPd9xxhyzLkiQtWLBACxYs0LRp0/Taa6/J4/HoxIkTPus8/fTTOn36\ntNxut3r37q3Vq1dr6tSpJtoHAAAIKZZt27bpJoLl2s2YMTExBjtxtm+C+fU4+FfNCOZuBnM3g7mb\nwdxDQ6B5xhEnVAAAAOBrhDsAAAAHIdwBAAA4COEOAADAQQh3AAAADkK4AwAAcBDCHQAAgIMQ7gAA\nAByEcAcAAOAghDsAAAAHIdwBAAA4COEOAADAQQh3AAAADtLK30LbtvXJJ5/o4MGDunDhgizLUqdO\nndSvXz8NHDhQlmUFs08AAAD44brhrri4WKtXr9Y777yjqqoq2bbt87plWYqOjta9996r6dOna8yY\nMUFrFgAAAA2rN9y9++67+ulPf6qSkhKlpKTo+9//voYOHaqePXsqNjZWtm2roqJCJ06cUElJibZu\n3aq77rpLqampWrx4scaNG9ecPwcAAAAkWfa3N8X9f1FRUZo5c6Yefvhh9evXz683O3TokAoKCvTa\na6/p8uXLTdpoY1RWVnr/OyYmxmAnzubvLvl6ftXQSMzdDOZuBnM3g7mHhkDzTL3h7sKFC+rUqVOj\nmriRdZsS4a558OU3g7mbwdzNYO5mMPfQEGieqfds2RsJZ6EQ7AAAAMIRl0IBAABwkIDC3euvv67b\nbrtNCQkJioqKUrt27XweUVFRweoTAAAAfvD7OnePP/64li1bpm7dumn48OEcwwYAABCC6j2h4ts6\ndOig0aNH6+2335bL1TL25nJCRfPggFszmLsZzN0M5m4Gcw8NTXZCRV0mTJjQYoIdAABAOPI7qd17\n7716//33g9kLAAAAbpDfu2UvXbqkiRMnqk+fPpoxY4YSExPldrtr1cXFxTV5k43FbtnmwWZ7M5i7\nGczdDOZuBnMPDYHmGb9PqIiMjFRaWpp+9rOf6ZVXXqm3rrq62t+3BAAAQBPzO9zNmjVLr732mkaM\nGKH09HS2hAEAAIQgv3fLxsbGauLEiXr99deD3FLTYbds82CzvRnM3QzmbgZzN4O5h4agnS0bERGh\n9PT0xnUFAACAZuF3uMvKytI777wTzF4AAABwg/w+5u7+++9Xbm6u/uZv/kbTp09XUlJSnWfLDh8+\nvEkbBAAAgP/8Pubu2osX17UP3rZtWZYVUmfLcsxd8+CYDDOYuxnM3QzmbgZzDw1BuxTK6tWrG9cR\nAAAAmo3fW+5aIrbcNQ/+sjODuZvB3M1g7mYw99AQ1HvLAgAAILTVG+4WLFigioqKgN+woqJCCxYs\nuKGmAAAA0Dj1hrtNmzYpKSlJM2bM0LvvvqvPP/+83jf5/PPPtWXLFk2fPl3du3fnkikAAACGNHjM\n3Ztvvql//dd/1ccff6xWrVqpf//+6tmzp2JjY2XbtioqKnTixAkdPHhQX331lVJTU/X4448rKyur\nOX+GenHMXfPgmAwzmLsZzN0M5m4Gcw8NgeYZv06o+Oijj7Rp0ybt3r1bhw8fVnl5uSSpU6dO6tev\nnzIyMjRx4kTdcsstN9B60yPcNQ++/GYwdzOYuxnM3QzmHhqCEu5aKsJd8+DLbwZzN4O5m8HczWDu\noYGzZQEAAMIY4Q4AAMBBCHcAAAAOQrgDAABwEMIdAACAgxDuAAAAHMTvcDdmzBj95je/qff14uJi\njRkzpkmaAgAAQOP4He62bdum0tLSel8vKyvT9u3bm6QpAAAANE6T7ZY9e/asoqKiAl5vx44dmjhx\nohISEuRyubR27drrrnPgwAFlZmaqXbt2SkxM1KJFixrTMgAAgOO0aujFzZs3a/Pmzd7nP//5z1VU\nVFSrrqKiQkVFRUpPTw+4gcuXL2vgwIGaNm2asrOzr1tfVVWlsWPHKjMzUyUlJTp06JBycnIUHR2t\nuXPnBvzvAwAAOEmD4e7gwYP6z//8T0lf34Lkww8/VElJiU+NZVmKiopSZmamli1bFnAD48eP1/jx\n4yVJ06ZNu279unXr9Je//EVr1qxR69at1a9fPx06dEg/+9nPCHcAACDsNbhbNi8vT1VVVaqqqpJt\n23r11Ve9z795XLp0SefPn9evfvUrfec73wl6w3v27NHo0aPVunVr77Jx48bp3LlzOnXqVND/fQAA\ngFDW4Ja7a9XU1ASzD795PB4lJib6LIuPj5dt2/J4POrevXud6+3bt6852kMD+AzMYLine truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x1d88796c390>"
|
||||
"<matplotlib.figure.Figure at 0x2100f416390>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -679,7 +679,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 41,
|
||||
"execution_count": 9,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -688,15 +688,15 @@
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"mean = 1.808\n",
|
||||
"std = 0.142\n"
|
||||
"mean = 1.782\n",
|
||||
"std = 0.140\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x1d88e5a1b00>"
|
||||
"<matplotlib.figure.Figure at 0x2100fb2c1d0>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -735,7 +735,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 42,
|
||||
"execution_count": 10,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -770,7 +770,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 43,
|
||||
"execution_count": 11,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -795,7 +795,7 @@
|
||||
"\n",
|
||||
"I suggested we might be performing this analysis to order desks for a school district. For each age group there are likely to be two different means - one clustered around the mean height of the females, and a second mean clustered around the mean heights of the males. The mean of the entire class will be somewhere between the two. If we bought desks for the mean of all students we are likely to end up with desks that fit neither the males or females in the school! \n",
|
||||
"\n",
|
||||
"It's too early to understand why, but we will not normally be faced with these problems in this book. Consult any standard probability text if you need to learn techniques to deal with these issues."
|
||||
"We will not normally be faced with these problems in this book. Consult any standard probability text if you need to learn techniques to deal with these issues."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -809,16 +809,16 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 44,
|
||||
"execution_count": 12,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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\nAAAAAElFTkSuQmCC\n",
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAloAAAELCAYAAAABYSglAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAADd1JREFUeJzt3WuIVIX7wPFn1ku2JcNuZRdyE2mN7miroEFCabVpF4iC\nCg2CLlRk+i7IJEiKMoJetJXQ3RdZUSGkZeGlUqg1CgqKbrBFasjqtLthlDP/F39aslozO4/O7O/z\ngYUzt/McOB757pkzs6VarVYLAAAK13SoNwAAYLgSWgAASYQWAEASoQUAkERoAQAkEVoAAEmEFgBA\nksJD67HHHouzzz47yuVylMvlmDFjRrzxxhtFjwEAqHulor+wdNWqVTF69Ohob2+ParUazzzzTDz4\n4IPx0UcfxRlnnFHkKACAulZ4aP2do446Kh544IG48cYbs0cBANSNkZkrr1arsXLlyhgYGIgZM2Zk\njgIAqDspofXpp5/G9OnTY/fu3TF27Nh49dVX4/TTT88YBQBQt1LeOvztt9+ip6cnKpVKvPzyy/Hk\nk0/Ghg0b4rTTTtvreZVKpejRAACHTLlc3uv2QblGa/bs2TFhwoRYvnz5XvcLLQBgOPlzaB2U79Gq\nVqvxyy+/HIxRAAB1o/BrtO66666YM2dOjB8/Pvr6+mLFihWxYcOGf/wurT8XII2hVCoNLh+Ek6MU\nrLu7OyIiOjo6DvGWcKAcg43Pcdj49vUOXeGhtW3btpg3b15s27YtyuVynHXWWbFmzZqYNWtW0aMA\nAOpa4aH19NNPF71KAICG5G8dAgAkEVoAAEmEFgBAEqEFAJBEaAEAJBFaAABJhBYAQBKhBQCQRGgB\nACQRWgAASYQWAEASoQUAkERoAQAkEVoAAEmEFgBAEqEFAJBEaAEAJBFaAABJhBYAQBKhBQCQRGgB\nACQRWgAASYQWAEASoQUAkERoAQAkEVoAAEmEFgBAEqEFAJBEaAEAJCk8tO6///6YNm1alMvlGDdu\nXFx22WXx2WefFT0GAKDuFR5aGzdujNtvvz02b94c69ati5EjR8asWbNi165dRY8CAKhrI4te4erV\nq/e6/fzzz0e5XI73338/5syZU/Q4AIC6lX6N1k8//RTVajVaWlqyRwEA1JX00FqwYEFMmTIlpk+f\nnj0KAKCuFP7W4R8tWrQoNm3aFO+//36USqV9Pre7uztzUzgI7MPGZd8ND/ZjY7P/Gld7e/uQj6WF\n1sKFC2PlypWxfv36OOmkk7LGAADUrVKtVqsVvdIFCxbESy+9FOvXr49JkyYN+bxKpTK4XC6Xi94M\nDoI/nqlM+KdEst9/g+7o6DjEW8KBcgw2Psdh49tXzxR+Ruu2226LF154IV5//fUol8uxffv2iIg4\n8sgj44gjjih6HABA3Sr8Yviurq7o7++PCy64IE444YTBn4cffrjoUQAAda3wM1rVarXoVQIANCR/\n6xAAIInQAgBIIrQAAJIILQCAJEILACCJ0AIASCK0AACSCC0AgCRCCwAgidACAEgitAAAkggtAIAk\nQgsAIInQAgBIIrQAAJIILQCAJEILACCJ0AIASCK0AACSCC0AgCRCCwAgidACAEgitAAAkggtAIAk\nQgsAIInQAgBIIrQAAJIILQCAJEILACBJSmi9++67cfnll8eJJ54YTU1N8dxzz2WMAQCoaymh1d/f\nH2eeeWY8+uij0dzcnDECAKDujcxYaWdnZ3R2dkZExPXXX58xAgCg7rlGCwAgScoZrQPR3d19qDeB\n/8g+bFz23fBgPzY2+69xtbe3D/mYM1oAAEnq5oxWR0fHod4E/iP7sPH8/hu0fTc82I+NyXHY+CqV\nypCPOaMFAJAk5YzWwMBAfPXVV1Gr1aJarUZPT0988skn0draGuPHj88YCQBQd1LOaHV3d8fkyZPj\nnHPOid27d8eSJUtiypQpsWTJkoxxAAB1KeWM1syZM6NarWasGgCgYbhGCwAgidACAEgitAAAkggt\nAIAkQgsAIInQAgBIIrQAAJIILQCAJEILACCJ0AIASCK0AACSCC0AgCRCCwAgidACAEgitAAAkggt\nAIAkQgsAIInQAgBIIrQAAJIILQCAJEILACCJ0AIASCK0AACSCC0AgCRCCwAgidACAEgitAAAkggt\nAIAkQgsAIElaaD322GMxceLEOPzww6OjoyPee++9rFEAAHUpJbRefPHFuPPOO+Puu++Ojz/+OGbM\nmBGdnZ3x/fffZ4wDAKhLKaH1yCOPxA033BA33HBDnHLKKfHoo4/G8ccfH11dXRnjAADqUuGh9euv\nv8aWLVti9uzZe91/4YUXxqZNm4oeBwBQt0YWvcIdO3bEnj174thjj93r/mOPPTbeeeedIV9XKhW9\nJRwctcEl+7ARdRzqDeA/cww2Psdho9u1a+jHfOoQACBJ4aF19NFHx4gRI2L79u173b99+/Y47rjj\n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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x1d8915ee5c0>"
|
||||
"<matplotlib.figure.Figure at 0x2100fe4ef28>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -845,14 +845,14 @@
|
||||
"\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 have $Y=[6, -2, -3, 1]$? In this case we get $12/4=3$. $Y$ is clearly more spread out than $X$, but the computation yields the same variance. If we use the correct formula we get a variance of 3.5 for $Y$, which reflects its larger variation.\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 have $Y=[6, -2, -3, 1]$? In this case we get $12/4=3$. $Y$ is clearly more spread out than $X$, but the computation yields the same variance. If we use the formula using squares we get a variance of 3.5 for $Y$, which reflects its larger variation.\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": 45,
|
||||
"execution_count": 13,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -874,7 +874,7 @@
|
||||
"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]."
|
||||
"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. Do we want to swamp the computation so we know there is an outlier, or robustly incorporate the outlier and still provide an estimate close to the value absent the outlier? 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]."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -892,16 +892,16 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 46,
|
||||
"execution_count": 14,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAnMAAAEtCAYAAABj3OYUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XdYVGfaBvB7ZijSBaQKYsOGiihiQ0UFe69RY4mriZtY\n4+bbuEnWTaKbYhJLNpqO3aixxIaCBTsqKiiKBUQQKSIivc6c7w+SY4gVBd4p9y8XV3zec85wn7nQ\neTjlPQpJkiQQERERkU5Sig5ARERERC+OzRwRERGRDmMzR0RERKTD2MwRERER6TA2c0REREQ6jM0c\nERERkQ5jM0dERESkw4Q2cytWrIC3tzdsbGxgY2ODzp07Y+/evU/dJiYmBgEBATA3N4e7uzs+/vjj\nGkpLREREpH2MRH5zd3d3fP755/D09IRGo8GqVaswdOhQnD9/Hi1btnxk/dzcXAQFBSEgIADnzp1D\nbGwsJk+eDEtLS8ydO1fAHhARERGJpdC2J0DY29vj008/xbRp0x5ZtnLlSsyfPx93796FiYkJAGDR\nokX49ttvcfv27ZqOSkRERCSc1lwzp9Fo8MsvvyA/Px+dO3d+7DoRERHo2rWr3MgBQJ8+fZCSkoLE\nxMSaikpERESkNYSeZgXKr4Hr1KkTioqKYGVlhe3bt8PLy+ux66alpcHd3b3CmJOTEyRJQlpaGjw8\nPGoiMhEREZHWEN7MNWvWDNHR0cjOzsavv/6KiRMn4siRI2jRosVLv3Z2dnYVJCQiIiLSDjY2No+M\nCW/mjIyM0LBhQwCAj48Pzpw5gyVLluCHH354ZF1nZ2ekp6dXGEtPT4dCoYCzs3ON5CUiIiLSJlpz\nzdwfNBoNiouLH7usU6dOOHbsGEpKSuSx0NBQuLq68hQrERERGSShR+bmz5+PAQMGwN3dHbm5uVi/\nfj2OHDkizzU3f/58nD17FgcOHAAAjBs3Dh999BEmT56M9957D9euXcNnn32GDz/88Jnf63GHJV9W\nZGQkAMDX17fKX1tXGPp7YOj7D/A9MPT9B/geGPr+A3wPqnv/n3XZmNBmLi0tDRMmTEBaWhpsbGzQ\nunVr7Nu3D4GBgfLyhIQEeX1ra2uEhYXhrbfeQvv27WFra4t33nkHc+bMEbULREREREIJbeaCg4Mr\nvdzLywvh4eHVlIiIiIhIt2jdNXNERERE9PzYzBERERHpMDZzRERERDqMzRwRERGRDmMzR0RERKTD\n2MwRERER6TA2c0REREQ6TPizWYmIdEVhcQHu56QjM+cu8gtzUFRSiJtJcVAoFMhCEoyURrA0t4a1\nuS1qW9qjjo0zVCr+M0tE1Yv/yhARPYZaXYabqVdxM+UKktLjkHQ3Htl5mU9cPyrp0TGV0ghOtnXh\n6lAfjVxbwNOtJRxqu0KhUFRjciIyNGzmiIh+V1RSiIvxEbgYH4Frty+iuKTwpV5PrSlDSmYiUjIT\nEXn1CACgtqU9WjfqCO/GndDItTmUSlVVRCciA8ZmjogMmiRJuJF8CSdjQnHp5hmUlpU8cV2Vygj2\n1k6wt3aCtXlt1DI1x/17WQAARydHlJaVIK8wG9l593E/5y6y8u498hoP8jJxNHoPjkbvgY2FHTp6\n9UJHr0DYWztV2z4SkX5jM0dEBqm0rARnYg/jaPQepGY+5hwpADtrRzSr1wYNXJrC3bExnO3cHjmS\nFhkZCQDw9fV9ZPvC4nykZibhVtp1xCXHIP7OZRSWFMjLs/PvY/+ZLQg98yu8Gvgi0HcEGro2q8K9\nJCJDwGaOiAxKaVkpIq4cQOjZXx97DZxrnfpo16QrWjfuCMeXvL7NzNQCDV2bo6Frc/RsOwRqjRpx\nyTGIjjuF6LhTyC3MBgBIkBCTcBYxCWfRyLUF+nV8BU3cW7/w9yUiw8JmjogMgkbS4GzsYeyN+AVZ\nuRkVlpkY10KH5j3RpVVvuNapX20ZVEoVmtbzRtN63hjRfSpiEs7iREworiZekNeJT7mC/237N1p4\ntMVg/4nVmoeI9AObOSLSe0npcdgS/j0S065XGLcyr41e7Yahk1cgzEwtajSTSmUE78ad4N24E9Lu\n38bBcztw9mo4NBo1AOBK4nnEJl5AhxY9Mdh/EizNrGs0HxHpDjZzRKS3CorzsPP4apyKOQAJkjxu\naWaDQN/h8G/VFybGpgITlnO2c8f4oJno3/EVhET8gtNXDkH6/b+IKwdx6eYZDOs2Be2bBXBaEyJ6\nBJs5ItJLV26dx8aD31S4Lk6lMkKvtsMQ5DscpiZmAtM9nq2VA8YFzUSAzyDsPL4GVxLPAwDyi3Kx\nLnQZzsaG45XAN3nnKxFVwGaOiPRKUUkhdhz7GSdjwiqMezXwxfBuf4NDbRdByZ6fa536mD7034i5\neRZbDn8nT3Fy7XY0Pls/F6N7vAHfZt0FpyQibcFmjoj0RnLGTQTv/QIZD1LkMQsza4zuMR0+np0F\nJnsxLRu2h6dbS+w5tQFHovdAkjQoKinAmv1LcCXxPEYFvF7j1/oRkfZhM0dEOk+SJJyMCcXWIz+i\nTF0qj3s37oTRPd6AlXltgelejqmJGYZ3/xt8mvhjzf6vkJmdDgCIvHoECalXMXXAu6jr0EBwSiIS\nSSk6ABHRyygpK8ba/Uux6dBKuZEzNa6FCX3mYkr//9PpRu7PGrg0xT/HLUWH5j3lsczsdHy1+Z/y\no8KIyDDxyBwR6azsvPv4YfcnSEq/IY+51qmP1/q/AyfbugKTVY9aJmYY33sWmtdvi40H/ofi0iKU\nlpVgzf4lSEqPw5Cuk6His16JDA6bOSLSSbfvxuP7Xf+tcLdqR69AjAyYBhMj8dONVKe2TfzhWscD\nP+7+FHez7gAAwqN2IT3rDl7r/w5qaeGdukRUfXialYh0TtSNk1i6Zb7cyCkVSowMeB3jAmfofSP3\nB2c7d8wbsxitG3WQx2ITz2PZr/9Cdt59gcmIqKaxmSMinXIsei+C9y5GaVkJAMDMxBzTh/wb3bz7\nC05W88xMzTFlwD/Rx2+UPHYnIwFfbfo/pNxLFJiMiGoSmzki0gmSJCHk9CZsCf9efpqDg40L3h7z\nOZp5tBGcThylQokBncZjbK+3oFSU/5OelXcPS7fMR/ydy4LTEVFNYDNHRFpPI2mw9ciPCInYKI95\nOHli7pjP4GTnJjCZ9ujUMghvDPkApsa1AABFJQVYseNDXE2MEpyMiKobmzki0mpqjRrrQpfhaPQe\neaxpPW/MGP4RHz7/F809fDBn1CewNrcFAJSWleC7XQtxMf604GREVJ3YzBGR1lJr1Fi3f2mFedR8\nPLvg9UHva+WzVbVBXYcGmDVyEWwt6wAA1Ooy/LznM5y7dlRwMiKqLkKbuU8++QR+fn6wsbGBo6Mj\nBg8ejMuXn36NR2JiIpRKZYUvlUqF0NDQGkpNRDVBrVFj7f6lOHf9mDzWpWUfTOr7NoyNjAUm036O\ntq6YPeq/cLApfw6tRtJgzb4lOMvJhYn0ktBm7ujRo5gxYwZOnTqFw4cPw8jICIGBgXjw4MFTt1Mo\nFAgNDUVaWhrS0tKQmpqKnj17PnUbItIdfzRy5//UyPm37ofRPadDyUlxn4udtSNmjVoEZzt3AIAE\nCetCl+HCjROCkxFRVRM6aXBISEiFeu3atbCxscGJEycwYMCAJ24nSRLs7Ozg6OhY3RGJqIZpfj+1\n+tdGblTA61AoFAKT6R4bCzvMGrkI/9v6AVIyEyFJGqze9xWMVMZo1dBPdDwiqiJadc1cTk4ONBoN\nbG1tn7nu8OHD4eTkBH9/f2zdurUG0hFRdZMkCVvCf6hwapWN3MuxNLPGm8M+hJNt+V2/Go0aP+/9\nHFdunRecjIiqilY1c7Nnz0bbtm3RqVOnJ65jaWmJL7/8Eps3b0ZISAh69eqFMWPGYMOGDTWYlIiq\nw55TG3Di0j657tKqLxu5KmBtURszhn8kX0OnVpfhp92fch46Ij2hkCRJEh0CAN5++21s3rwZJ06c\ngIeHR6W2nTFjBo4fP46oqIrzKWVnZ8t/vnHjxl83IyItcuVOBCJvHZDrBnW84N9kKBu5KpRfnI39\nl9Ygr7j830YTVS30aTURtha8ZIVIm3l6esp/trGxeWS5VhyZmzt3LjZt2oTDhw9XupEDAD8/PzZr\nRDosLj2qQiNX17YxungOZiNXxSxMbRDU8lWYGVsCAErURThwZSPyip5+0xkRaTehN0AA5adWt2zZ\ngvDw8AqdZ2VcuHABLi4uT13H19f3hV77aSIjI6vttXWFob8Hhr7/wMu/B5dunsGpk3vlupFrC/x9\n6AKYGJtWSb7qpos/A55NG2HZr++huKQQhSW5OH5zO+aO+gQWLzgJsy6+B1XJ0Pcf4HtQ3fv/5zON\njyP0yNxbb72FVatWYcOGDbCxsUF6ejrS09ORn58vrzN//nwEBgbK9Zo1a7Bx40ZcvXoV169fxxdf\nfIGVK1di1qxZInaBiF5CUnocVod8CUnSACif8Pb1we/pTCOnq9wcGmLawH9BpSr/ff5u1h18t3MR\nikuLBCcjohchtJlbuXIl8vLy0KtXL7i6uspfX375pbxOWloaEhISKmy3cOFCtG/fHn5+fti8eTOC\ng4PZzBHpmPs5d/H9zkUoKSsGANjbOOHvQxbAzNRCcDLD0MS9FSb2mQsFyk9l30q7htUhX0KjUQtO\nRkSVJfQ0q0ajeeY6wcHBFeqJEydi4sSJ1RWJiGpAYXE+vtu5EDkFWQAAc1NLTB/yb1hb1BaczLD4\neHZBbsAD/Br+AwAgJuEsfju+GsO6TRGcjIgqQytugCAiw1H+rNDPkZqZBABQKY3wt4Hvwsm2ruBk\nhqmb9wD0ajdUrg9f2IkTl/YLTERElcVmjohqjCRJ2HT4W1y7HS2PjQuaCU+3lgJT0Line truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x1d88ffdf3c8>"
|
||||
"<matplotlib.figure.Figure at 0x2100ff2e978>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -919,30 +919,30 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"This curve is a [*probability density function*](https://en.wikipedia.org/wiki/Probability_density_function) or *pdf* for short. It shows the relative likelihood for the random variable to take on a value. In the chart above, a student is somewhat more likely to have a height near 1.8 m than 1.7 m, and far more likely to have a height of 1.9 m vs 1.1 m.\n",
|
||||
"This curve is a [*probability density function*](https://en.wikipedia.org/wiki/Probability_density_function) or *pdf* for short. It shows the relative likelihood for the random variable to take on a value. In the chart above, a student is somewhat more likely to have a height near 1.8 m than 1.7 m, and far more likely to have a height of 1.9 m vs 1.4 m.\n",
|
||||
"\n",
|
||||
"> I explain how to plot Gaussians, and much more, in the Notebook *Computing_and_Plotting_PDFs* in the \n",
|
||||
"Supporting_Notebooks folder. You can 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",
|
||||
"This may be 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 many probability distributions have a similar bell curve shape. Non-mathematical sources might not be as precise, so be judicious in what you conclude when you see the term used without definition.\n",
|
||||
"This may be recognizable to you as a 'bell curve'. This curve is ubiquitous because under real world conditions many observations are distributed in such a manner. I will not use the term 'bell curve' to refer to a Gaussian because many probability distributions have a similar bell curve shape. Non-mathematical sources might not be as 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 has 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!"
|
||||
"To further motivate you, recall the shapes of the probability distributions in the *Discrete Bayes* chapter:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 47,
|
||||
"execution_count": 15,
|
||||
"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 0x1d8916cecf8>"
|
||||
"<matplotlib.figure.Figure at 0x2100ff885f8>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -955,6 +955,13 @@
|
||||
"book_plots.bar_plot(belief)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"They were not perfect Gaussian curves, but they were similar. We will be using Gaussians to replace the discrete probabilities used in that chapter!"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
@@ -966,16 +973,16 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 48,
|
||||
"execution_count": 16,
|
||||
"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 0x1d88ff8a9e8>"
|
||||
"<matplotlib.figure.Figure at 0x21010185240>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -994,7 +1001,7 @@
|
||||
"\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 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 relatively accurate choice. However, even in this book Gaussians will fail to model reality, forcing us to use computationally expensive alternatives. \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, and 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*. "
|
||||
"You will hear 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, and 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*. "
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1032,7 +1039,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 49,
|
||||
"execution_count": 17,
|
||||
"metadata": {
|
||||
"collapsed": false,
|
||||
"scrolled": true
|
||||
@@ -1040,9 +1047,9 @@
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x1d89170b550>"
|
||||
"<matplotlib.figure.Figure at 0x21011868a20>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1076,7 +1083,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 50,
|
||||
"execution_count": 18,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -1123,7 +1130,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 51,
|
||||
"execution_count": 19,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -1151,7 +1158,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 52,
|
||||
"execution_count": 20,
|
||||
"metadata": {
|
||||
"collapsed": false,
|
||||
"scrolled": true
|
||||
@@ -1159,19 +1166,9 @@
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAmUAAAEWCAYAAAAn0eDVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XtcVHX+P/DXzMgdvCACIhcvmVooKaipJeJ6WdRNXZM0\nS8vM3NQy2yzaUvuatRabrvdtK1OrX3QvXTXR0FSswNRExSuKJuAF5SaXgZnfH5/OXOAMDMwV5vV8\nPM6Dc858zjmf+TAc3vP5fM7no9BqtVoQERERkUMpHZ0BIiIiImJQRkREROQUGJQREREROQEGZURE\nREROgEEZERERkRNgUEZERETkBBiUERERETkBs4Kyffv2YezYsQgNDYVSqcSmTZvqPeb777/HwIED\n0bJlS7Rr1w7jxo3DmTNnLM4wERERUXNkVlBWUlKCnj17YuXKlfD29q43/YULFzBu3DjExsbiyJEj\n2L17N8rLyzF69GiLM0xERETUHCkaOqK/n58f1qxZg6lTp5pM8+WXX2LSpEmorKyEQqEAAOzZswd/\n+tOfcO3aNfj7+1uWayIiIqJmxiZ9yvr27Qs3Nze899570Gg0KC4uxocffoh+/foxICMiIiKSYZOg\nLDw8HDt37sTChQvh4eGB1q1b4/jx49iyZYstLkdERETU5LWwxUnz8/PxxBNPYNq0aZg8eTKKi4ux\ncOFCTJw4EampqUZpCwsLbZEFIiIiIodo1apVo46zSVC2Zs0a+Pr64p///Kdu3+bNmxEWFoa0tDQM\nHDjQFpclIiIiarJs0nx5+/ZtqFQq4wspxaU0Go0tLklERETUpJlVU1ZaWoqzZ89Cq9VCo9EgJycH\nR48ehb+/P8LCwpCYmIj09HTs2rULADB69GisWLECS5YsweTJk1FUVISXX34Z4eHhiI6ONnmdxlb3\nNVcZGRkAgJiYGAfnxLmwXExj2chzlnL59VfA8Bb45ZfAX//quPwAzlM2zoblYhrLRp41umOZVVOW\nkZGB3r17Izo6GuXl5Vi0aBH69OmDRYsWAQDy8vKQnZ2tSx8XF4dPPvkE3377Lfr06YNRo0bB09MT\nO3bsgJeXl8WZJiJqimo+68Rnn4jIkFk1ZbGxsXU2O27YsKHWvoSEBCQkJDQ+Z0REzUzNIOx//wOq\nq4EavT2IyEVx7ksiIju4cgU4dMh437VrwC+/OCY/ROR8GJQREdnB1q3y+9mESUQSBmVERHbwx3NQ\nAIC4OP16Sor980JEzskm45QREZGxCxf0608/DUjjaBvuJ+em0WhQWVnp6Gw4XEREBACgvLzcwTmx\nH6VSCTc3N9183rbCoIyIyA5+/12/3ru36NxfXQ1cvw5UVAAeHo7LG9VPq9WioqICnp6eNv/H7Ow8\nPT0dnQW7koYDKy8vt/nvn82XREQ2VlUF5OXpt8PCgOBg/faVK/bPEzVMZWUl3N3dXT4gc0UKhQIq\nlQru7u5Qq9U2vRaDMiIiG8vPB6RRhdq1A9zdgQ4d9K8b1qKRc9JqtbVmqiHXolQqbT4rEYMyIiIb\nMwy6pGCMQRlR02KPWlIGZURENsagjIjMwaCMiMjGLl/WrzMoIyJT+PQlEZGNsaaMmouNGzdCrVZj\n9+7dSEhIwPjx4x2dpWaFNWVERDbGoIyag59//hnt27fHjBkzsGLFCjzyyCO4ceOGVc5dWVmJl156\nCaGhofD29kb//v2xc+dOqx+/d+9eKJXKWotKpcIvTjDnGWvKiIhsjEEZNQenT5/G559/jhEjRiAo\nKAje3t64fPky2rZta/G5p02bhq+++grz5s1D165dsXHjRowePRo//PAD7r//fqsfP2fOHNx7771G\n++644w6L34elGJQREdmYYdAVGip+GgZlV64AWi3AIbDImT366KMYNWoUAODEiRPw9fVFZGSkxef9\n5ZdfkJycjLfeegt///vfddeKjIzECy+8gJ9++snqx993331ISEiwOO/WxuZLIiIb0mrla8p8fYGW\nLcV6RQVgpVYgIptq27YttFotXn31VXz66adWGbvtiy++gEqlwpNPPqnb5+HhgSeeeALp6enIycmx\nyfGlpaWorq62OP/WxKCMiMiGioqA0lKx7uUFtG6tf41NmNQULVu2DImJiejfv7/R/qqqKty4ccOs\npaqqSnfckSNH0KVLF7Rq1crofP369YNWq8Xhw4frzE9jjn/yySfh5+cHT09PxMXFIT09vaHFYBNm\nBWX79u3D2LFjERoaCqVSiU2bNpl18hUrVqBHjx7w9PREhw4d8PLLL1uUWSKipqZmLZlhEyWDMnIm\nRUVFmDVrFtq0aVOrE/zq1asBAMnJyRgzZgxiYmJw+PBhZGVl6Y4/cOAA2rVrV+8SGBiItLQ03XG5\nublo3759rfxI+67UMw9ZQ453d3fHgw8+iH//+9/47rvvsHTpUhw/fhyxsbE4dOhQA0rLNszqU1ZS\n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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.legend.Legend at 0x1d88fd6bda0>"
|
||||
]
|
||||
},
|
||||
"execution_count": 52,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x1d8915bdf60>"
|
||||
"<matplotlib.figure.Figure at 0x21011ae16d8>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1186,7 +1183,7 @@
|
||||
"plt.plot(xs, gaussian(xs, 23, 0.05), label='$\\sigma^2$=0.05', c='b')\n",
|
||||
"plt.plot(xs, gaussian(xs, 23, 1), label='$\\sigma^2$=1', ls=':', c='b')\n",
|
||||
"plt.plot(xs, gaussian(xs, 23, 5), label='$\\sigma^2$=5', ls='--', c='b')\n",
|
||||
"plt.legend()"
|
||||
"plt.legend();"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1217,16 +1214,16 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 53,
|
||||
"execution_count": 21,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAkIAAAEQCAYAAABcCRthAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xd4VGXi9vHvZFJIJwQICYTQQ6T3pigdBKSogJ1VVkGR\nte1a9lVX3f3p7qqrgoqKHZUu0nvvndBbKCGEEFJJT2bm/WPwCALSkpxM5v5cF1fynCm5J46Te+ac\n8zwWh8PhQERERMQNeZgdQERERMQsKkIiIiLitlSERERExG2pCImIiIjbUhESERERt+V5pQsyMjJK\nM4eIiIhIiQoODr5kmz4REhEREbelIiQiIiJu64q7xi50uY+SRERERMq6qx3qo0+ERERExG2pCImI\niIjbUhESERERt6UiJCIiIm5LRUhERETcloqQiIiIuC0VIREREXFbKkIiIiLitlSERERExG2pCImI\niIjbUhESERERt6UiJCIiIm5LRUhERETcloqQiIiIuC0VIREREXFbKkIiIiLitlSERERExG2pCImI\niIjbUhESERERt6UiJCIiIm5LRUhERETcloqQiIiIuC0VIREREXFbnmYHEBH3kZOfxdn006RnpZBf\nmEdBYR52hx0frwr4ePkS5F+RysHVCPANxmKxmB1XRNyAipCIlIgiWyFxp/YTd2ovcaf2EX/mCNl5\n567ptj7evtSoXJvaETHUjYihXvVG+Hj7lnBiEXFHFofD4bjcBRkZGcb3wcHBpRZIRFyXzVbEnmNb\n2Xl4PbvjNpFbkPOH1984f5jxfbs+k654PS+rNzG1WtC0bnua1euAj1eFYsssIuXb1fqMipCI3LT0\nrBTW7V7Eut2LyMxOu+L1vKzeVK5YjZDAKvh6+zH8zueNyz775V+kZ6WQnJFIfkHuFe/D19uPtrd0\n5damfQgLqV6sj0NEyh8VIREpMamZySzePI0Ne5disxddcnmlwCrERLWkTvUYaoc3pFJQVTwsv52j\nceFhQL++EjkcDjKz0ziauJ+4xP0cOLGDxJQTl/35zep1oE+7oURUrlWcD0tEyhEVIREpdtm5mczb\nMIl1uxddUoAC/SrSLqYrzet3JLJq3T886PlyRehyzqQlsOPQOjbuXUZyRuIll7eo34m7Oj1MaHDY\ndT8WESnfVIREpNjY7TbW7V7MnPU/kPO7A59rhUdzR/P+NK3bDk+r1zXd37UWIePnO+wcOLGTVTvn\n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 truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x1d88ffb76d8>"
|
||||
"<matplotlib.figure.Figure at 0x21011c181d0>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1249,16 +1246,16 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 54,
|
||||
"execution_count": 36,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAmAAAADaCAYAAAABpf7qAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XdYVFf+P/D3zNCrCNKbICCCIk1pig2MLTGxp6gxiWsS\nE8uu7pqyu65rYtqamCj+vtmoa1wVE9eYIip2EVSKqCAiShMZRgUDSB1m7u8PzMSJBYwwl/J+PQ8P\nw5lzmc/cB/HNueeeIxEEQQARERER6YxU7AKIiIiIuhsGMCIiIiIdYwAjIiIi0jEGMCIiIiIdYwAj\nIiIi0jEGMCIiIiIdYwAjIiIi0rFWBbDjx4/jqaeegrOzM6RSKTZv3tziMVlZWRg2bBhMTEzg4uKC\nFStWPHaxRERERF1BqwLY7du30b9/f6xZswYmJiYt9q+urkZMTAwcHByQnp6Ozz77DB999BFWr179\n2AUTERERdXaSR10J39zcHGvXrsXMmTMf2CcuLg7Lli3D9evXYWBgAABYuXIl1q9fj6tXrz5exURE\nRESdXLvMATt58iSGDBmiCV8AMHr0aJSWlqKoqKg9XpKIiIio02iXAFZWVgY7OzutNjs7OwiCgLKy\nsvZ4SSIiIqJOQ0/sAiorK8UugYiIiKjNWFpattinXUbA7O3toVAotNoUCgUkEgns7e3b4yWJiIiI\nOo12CWDh4eE4fvw4GhsbNW379++Ho6Mj3Nzc2uMliYiIiDqNVl2CrKmpweXLlyEIAtRqNYqLi3H2\n7Fn07NkTLi4uWLZsGVJTU3HgwAEAwLPPPot//OMfmD17Nt5++23k5ubigw8+wPLlyx/6Oq0ZsqO2\nkZaWBgAICQkRuZLuheddHDzv4uB5FwfPuzgedUpVq0bA0tLSEBgYiODgYNTX1+Nvf/sbgoKC8Le/\n/Q1A86T7goICTX8LCwskJiaitLQUoaGheOONN7BkyRIsXLjwkYojIiIi6opaNQIWHR0NtVr9wOc3\nbtx4T5ufnx+OHDnyuwsjIiIi6qq4FyQRERGRjjGAEREREekYAxgRERGRjjGAEREREekYAxgRERGR\njjGAEREREekYAxgRERGRjjGAEREREekYAxgRERGRjjGAEREREekYAxgRERGRjjGAEREREekYAxgR\nERGRjjGAEREREekYAxgRERGRjjGAEREREekYAxgRERGRjjGAEREREekYAxgRERGRjjGAEREREekY\nAxgRERGRjjGAEREREekYAxgRERGRjjGAEREREekYAxgRERGRjrU6gK1btw4eHh4wNjZGSEgIkpKS\nHtp/3759iIiIgIWFBXr16oWJEyciLy/vsQsmIiIi6uxaFcDi4+OxcOFCvPPOO8jMzERERATGjBmD\nkpKS+/YvLCzExIkTER0djczMTBw8eBD19fUYN25cmxZPRERE1Bm1KoCtXr0ac+bMwZw5c+Dj44M1\na9bAwcEBcXFx9+2fnp6OpqYmvPfee/Dw8MCAAQPwl7/8BVeuXEFFRUWbvgEiIiKizqbFAKZUKpGe\nno6YmBit9tjYWCQnJ9/3mNDQUOjr6+Pf//431Go1qqursWnTJgwaNAg9e/Zsm8qJiIiIOimJIAjC\nwzrI5XI4OTnh2LFjiIqK0rSvWLECW7duRU5Ozn2PS0pKwpQpU3Dz5k2o1WoEBQUhISEBNjY2Wv0q\nKys1jzlHjIiIiDojLy8vzWNLS8sW+7fLXZAKhQIvvfQSZs2ahbS0NBw9ehTm5uaYMmVKe7wcERER\nUaei11IHGxsbyGQyKBQKrXaFQgF7e/v7HrN27VqYmZlh1apVmravv/4aLi4uSE5ORkRExH2PCwkJ\neZTa6TGkpaUB4DnXNZ53cfC8i4PnXRw87+K4+4pea7Q4Aqavr4/g4GAkJiZqtScmJiIyMvK+x9TW\n1kImk2m/kLT5pdRq9SMVSERERNTVtOoS5OLFi7Fp0yZ89dVXuHjxIhYsWAC5XI558+YBAJYtW4ZR\no0Zp+o8bNw4ZGRlYsWIFLl++jIyMDLz44otwdXVFcHBw+7wTIiIiok6ixUuQADB16lRUVFRg5cqV\nkMvl8Pf3R0JCApydnQEAZWVlKCgo0PQfPnw4tm7dig8//BAfffQRTExMEBYWhr1798LY2Lh93gkR\nERFRJ9GqAAYA8+bN04x4/dbGjRvvaZs6dSqmTp36+ysjIiIi6qK4FyQRERGRjjGAEREREekYAxgR\nERGRjjGAEREREekYAxgRERGRjjGAEREREekYAxgRERGRjjGAEREREekYAxgRERGRjjGAEREREekY\nAxgRERGRjjGAEREREekYAxgRERGRjjGAEREREekYAxgRERGRjjGAEREREekYAxgRERGRjjGAERER\nEekYAxgRERGRjjGAEREREekYAxgRERGRjjGAEREREekYAxgRERGRjjGAEREREekYAxgRERGRjrU6\n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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x1d891764940>"
|
||||
"<matplotlib.figure.Figure at 0x2100fb7b630>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1297,9 +1294,22 @@
|
||||
"\n",
|
||||
"A remarkable property of Gaussians is that the product of two independent Gaussians is another Gaussian! The sum is not Gaussian, but proportional to a Gaussian.\n",
|
||||
"\n",
|
||||
"The discrete Bayes filter works by multiplying and adding probabilities. I'm getting ahead of myself, but the Kalman filter uses Gaussians instead of probabilities, but the rest of the algorithm remains the same. This means we will need to multiply and add Gaussians. \n",
|
||||
"The discrete Bayes filter works by multiplying and adding arbitrary probability distributions. The Kalman filter uses Gaussians instead of arbitrary distributions, but the rest of the algorithm remains the same. This means we will need to multiply and add Gaussians. \n",
|
||||
"\n",
|
||||
"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 computationally nice. \n",
|
||||
"The Gaussian is a nonlinear function. Typically, if you multiply a nonlinear equation with itself you end up with a different type of 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 key reason why Kalman filters are computationally feasible. Said another way, Kalman filters use Gaussians *because* they are computationally nice. \n",
|
||||
"\n",
|
||||
"\n",
|
||||
"The product of two independent Gaussians is given by:\n",
|
||||
"\n",
|
||||
"$$\\begin{aligned}\\mu &=\\frac{\\sigma_1^2\\mu_2 + \\sigma_2^2\\mu_1}{\\sigma_1^2+\\sigma_2^2}\\\\\n",
|
||||
"\\sigma^2 &=\\frac{\\sigma_1^2\\sigma_2^2}{\\sigma_1^2+\\sigma_2^2} \n",
|
||||
"\\end{aligned}$$\n",
|
||||
"\n",
|
||||
"The sum of two Gaussians is given by\n",
|
||||
"\n",
|
||||
"$$\\begin{gathered}\\mu = \\mu_1 + \\mu_2 \\\\\n",
|
||||
"\\sigma^2 = \\sigma^2_1 + \\sigma^2_2\n",
|
||||
"\\end{gathered}$$\n",
|
||||
"\n",
|
||||
"The remainder of this section is optional. I will derive the equations for the sum and product of two Gaussians. You will not need to understand this material to understand the rest of the book, so long as you accept the results. "
|
||||
]
|
||||
@@ -1310,12 +1320,6 @@
|
||||
"source": [
|
||||
"### Product of Gaussians\n",
|
||||
"\n",
|
||||
"The product of two independent Gaussians is given by:\n",
|
||||
"\n",
|
||||
"$$\\begin{aligned}\\mu &=\\frac{\\sigma_1^2\\mu_2 + \\sigma_2^2\\mu_1}{\\sigma_1^2+\\sigma_2^2}\\\\\n",
|
||||
"\\sigma^2 &=\\frac{\\sigma_1^2\\sigma_2^2}{\\sigma_1^2+\\sigma_2^2} \n",
|
||||
"\\end{aligned}$$\n",
|
||||
"\n",
|
||||
"You can find this result by multiplying the equation for two Gaussians together and combining terms. The algebra gets messy. I will derive it using Bayes theorem. We can state the problem as: let the prior be $N(\\bar\\mu, \\bar\\sigma^2)$, and measurement be $z \\propto N(z, \\sigma_z^2)$. What is the posterior x given the measurement z?\n",
|
||||
"\n",
|
||||
"Write the posterior as $P(x \\mid z)$. Now we can use Bayes Theorem to state\n",
|
||||
@@ -1437,7 +1441,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 55,
|
||||
"execution_count": 23,
|
||||
"metadata": {
|
||||
"collapsed": false,
|
||||
"scrolled": true
|
||||
@@ -1468,7 +1472,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 56,
|
||||
"execution_count": 24,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -1499,7 +1503,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 57,
|
||||
"execution_count": 25,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -1508,9 +1512,9 @@
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"[-0.308 1.55 4.163 0.148 -2.413 3.39 6.311\n",
|
||||
" 3.682 1.681 3.063 1.402 0.148 -0.208 5.415\n",
|
||||
" -4.221]\n"
|
||||
"[ 1.441 -1.375 1.349 0.612 3.477 4.749 1.203\n",
|
||||
" -2.042 7.189 -0.289 0.525 4.164 -0.256 -0.485\n",
|
||||
" -0.805]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -1528,7 +1532,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 58,
|
||||
"execution_count": 26,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -1555,7 +1559,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 59,
|
||||
"execution_count": 27,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -1586,23 +1590,23 @@
|
||||
"\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 assigns an infinitesimal chance of getting a score of $-10^{300}$ or $10^{32986}$. The *tails* of a Gaussian distribution are infinitely long.\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 assigns an infinitesimal chance of getting a score of $-10^{300}$ or $10^{32986}$. The tails of a Gaussian distribution are infinitely long.\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 range of values using a normal distribution."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 60,
|
||||
"execution_count": 28,
|
||||
"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 0x1d891725dd8>"
|
||||
"<matplotlib.figure.Figure at 0x2100ff4eef0>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1621,16 +1625,16 @@
|
||||
"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 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*](https://en.wikipedia.org/wiki/Fat-tailed_distribution). \n",
|
||||
"The area under the curve cannot equal 1, so it is not a probability distribution. What actually happens is that 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 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*](https://en.wikipedia.org/wiki/Fat-tailed_distribution). \n",
|
||||
"\n",
|
||||
"Kalman filters use sensors to measure the world. The errors in a 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 an 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*](https://en.wikipedia.org/wiki/Student%27s_t-distribution). \n",
|
||||
"Sensors measure the world. The errors in a 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 an 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*](https://en.wikipedia.org/wiki/Student%27s_t-distribution). \n",
|
||||
"\n",
|
||||
"Let's say I want to model a sensor that has some white 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. I can simulate this with:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 61,
|
||||
"execution_count": 29,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -1650,7 +1654,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 62,
|
||||
"execution_count": 30,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -1658,18 +1662,18 @@
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"[<matplotlib.lines.Line2D at 0x1d88fdb49e8>]"
|
||||
"[<matplotlib.lines.Line2D at 0x21011bbddd8>]"
|
||||
]
|
||||
},
|
||||
"execution_count": 62,
|
||||
"execution_count": 30,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x1d88fdd4518>"
|
||||
"<matplotlib.figure.Figure at 0x2100fd8fbe0>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1692,7 +1696,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 63,
|
||||
"execution_count": 31,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -1713,7 +1717,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 64,
|
||||
"execution_count": 32,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -1721,18 +1725,18 @@
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"[<matplotlib.lines.Line2D at 0x1d88feeffd0>]"
|
||||
"[<matplotlib.lines.Line2D at 0x21011b11eb8>]"
|
||||
]
|
||||
},
|
||||
"execution_count": 64,
|
||||
"execution_count": 32,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x1d88fd64f98>"
|
||||
"<matplotlib.figure.Figure at 0x210118d1f98>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1812,7 +1816,7 @@
|
||||
"metadata": {
|
||||
"anaconda-cloud": {},
|
||||
"kernelspec": {
|
||||
"display_name": "Python [default]",
|
||||
"display_name": "Python 3",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
@@ -1826,7 +1830,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.5.1"
|
||||
"version": "3.5.2"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
||||
@@ -340,21 +340,11 @@
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"<matplotlib.axes._subplots.AxesSubplot at 0x21cb2638c50>"
|
||||
]
|
||||
},
|
||||
"execution_count": 2,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x21cb1e63748>"
|
||||
"<matplotlib.figure.Figure at 0x2151389ca90>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -367,7 +357,7 @@
|
||||
"\n",
|
||||
"import filterpy.stats as stats\n",
|
||||
"stats.plot_gaussian_pdf(mean=10, variance=1, \n",
|
||||
" xlim=(4, 16), ylim=(0, .5))"
|
||||
" xlim=(4, 16), ylim=(0, .5));"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -390,14 +380,14 @@
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Mean of readings is 9.982\n"
|
||||
"Mean of readings is 10.043\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x21cb2810a58>"
|
||||
"<matplotlib.figure.Figure at 0x215143909b0>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -437,7 +427,7 @@
|
||||
"\\mathbf x &= \\mathcal L \\cdot \\bar{\\mathbf x}\\, \\, &\\text{Update}\n",
|
||||
"\\end{aligned}$$\n",
|
||||
"\n",
|
||||
"to compute the new probability distributions. Recall that $\\bar{\\mathbf x}$ is the *prior*, $\\mathcal L$ is the *likelihood* of a measurement given the prior $\\bar{\\mathbf x}$, and $f_{\\mathbf x}(\\bullet)$ is the *process model*, and $\\ast$ denotes *convolution*. $\\mathbf x$ is bold to denote that it is a histogram of numbers, or a vector.\n",
|
||||
"to compute the new probability distributions. Recall that $\\bar{\\mathbf x}$ is the *prior*, $\\mathcal L$ is the *likelihood* of a measurement given the prior $\\bar{\\mathbf x}$, $f_{\\mathbf x}(\\bullet)$ is the *process model*, and $\\ast$ denotes *convolution*. $\\mathbf x$ is bold to denote that it is a histogram of numbers, or a vector.\n",
|
||||
"\n",
|
||||
"This method works, but led to histograms that implied the dog could be in multiple places at once. Also, the computations are very slow for large problems.\n",
|
||||
"\n",
|
||||
@@ -456,7 +446,7 @@
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAmUAAAEWCAYAAAAn0eDVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xt8TVf+//FXEglxqVvIBWVca1CjjlHCTFtN1G1KFWlN\ntTKGaEclpjEU8+tl0stDWkqJln7VpSpVSrWRCupeSkZML0G1KG2SNrSRuuXi/P7YceRIJEck2eec\nvJ+Px3mw1tl7r8+24+Rz1l57LQ+r1WpFREREREzlaXYAIiIiIqKkTERERMQpKCkTERERcQJKykRE\nREScgJIyERERESegpExERETECSgpExEREXECDidl8+fPp2XLlvj6+mKxWNi5c6dD+33zzTfUqVOH\nW265pch727Ztw2Kx4OvrS+vWrXnjjTccj1xERETEjTiUlMXHxxMZGcn06dNJSUmhZ8+e9OvXj1On\nTpW4X25uLg899BB33XVXkfeOHz/OgAED6NWrFykpKUyZMoUJEybwwQcflOlERERERFyZhyMz+t95\n55384Q9/YMGCBba6tm3bMmzYMGJiYq67X1RUFGfPnuVPf/oTEyZM4OzZs7b3/vWvf7F27VoOHz5s\nq/v73//O119/za5du8p6PiIiIiIuqdSestzcXJKTkwkJCbGrDw0NZffu3dfd7+OPPyYhIYG5c+cW\n+/6ePXsIDQ21q+vbty/79+8nPz/fkdhFRERE3EapSVlmZib5+fn4+/vb1fv7+5Oenl7sPj/++CNj\nx47lnXfeoWbNmsVuk56eXuwx8/LyyMzMdDR+EREREbdQrSIO+sgjj/D4449jsVgAuNk1z7Oyssoj\nLBERERGnULdu3SJ1pfaU+fn54eXlRUZGhl19RkYGAQEBxe7z6aef8uyzz+Lt7Y23tzdjxozht99+\nw8fHh0WLFgEQEBBQ7DGrVauGn5+fwyclIiIi4g5K7Snz9vama9euJCUlMXToUFt9UlISw4YNK3af\nL7/80q68du1aXnjhBfbt20dQUBAAPXr0YO3atXbbbdy4EYvFgpeX1w2fiIiIiIgrc+j25aRJkxg1\nahTdunUjODiYuLg40tLSiIiIAGDq1Kns27ePTZs2AfD73//ebv99+/bh6elJ+/btbXURERHMmzeP\nqKgoxo0bx86dO1m6dCkrV64sMZbiuvvcwf79+wFst3zFtej6uT5dQ9ena+j63P0aljYcy6GkbPjw\n4Zw5c4aYmBjS0tLo2LEjGzZsoGnTpoAxaP/YsWM3FFiLFi1ISEggKiqKBQsWEBQUxNy5cxk8ePAN\nHUdERETEHTg0T5nZCmeW6ikTZ6Tr5/p0DV2frqHrc/drWFo+o7UvRURERJyAkjIRERERJ6CkTERE\nRMQJKCkTERERcQJKykREREScgJIyERERESegpExERETECSgpExEREXECSspEREREnICSMhEREREn\noKRMRERExAkoKRMRERFxAkrKRERERJyAkjIRERERJ6CkTERERMQJKCkTERERcQJKykREREScgJIy\nERERESegpExERETECVRzdMP58+cTGxtLWloaHTp0YPbs2fTq1avYbVNTU3niiSf4+uuvycrKIigo\niLCwMJ555hm8vb0B2LZtG3fffbfdfh4eHqSmptK2bdubOCURkcqVmpbKiawTldZe87rNaR/YvtLa\nE5HK4VBSFh8fT2RkJAsWLCA4OJh58+bRr18/UlNTadq0aZHtfXx8eOyxx+jSpQv16tXj4MGDjBkz\nhvz8fF566SXbdh4eHnz99dfUr1/fVteoUaNyOC0RkcpzIusE/eL7VVp7G0ZsUFIm4oYcSspmzZpF\neHg44eHhAMyZM4fExETi4uKIiYkpsn2rVq1o1aqVrdysWTNGjhzJjh07imzbqFEjGjRoUNb4RURE\nRNxCqWPKcnNzSU5OJiQkxK4+NDSU3bt3O9TI0aNHSUxM5K677rKrt1qtWCwWgoKCuPfee9m6davD\ngYuIiIi4k1KTsszMTPLz8/H397er9/f3Jz09vcR9g4OD8fX1pV27dvTu3duuVy0wMJAFCxawevVq\nPvjgA9q1a0efPn3YtWtXGU9FRERExHU5PNC/LN577z2ys7M5ePAgTz31FC+99BJTpkwBoG3btnYD\n+rt3787x48eZOXMmwcHB1z3m/v37KzJk07n7+bk7XT/XV5ZrmG3NroBISmgvO1s/ayXQv43rc9dr\n2KZNmxLfLzUp8/Pzw8vLi4yMDLv6jIwMAgICSty3SZMmANx2223k5eUxZswYJk+ejKdn8R103bt3\nJz4+vrSQRERERNxOqUmZt7c3Xbt2JSkpiaFDh9rqk5KSGDZsmMMN5efn217XS8oOHDhAYGBgicex\nWCwOt+lKrnwrcNfzc3e6fq7vZq5h5qHM8g6nRHXq1MFym37WrqX/h67P3a9hVlZWie87dPty0qRJ\njBo1im7duhEcHExcXBxpaWlEREQAMHXqVPbt28emTZsAWL58OTVq1KBTp074+Piwb98+nn76aYYN\nG2abp+y1116jRYsWdOjQgZycHJYtW8aHH37ImjVrbuZ8RURERFySQ0nZ8OHDOXPmDDExMaSlpdGx\nY0c2bNhgm6MsPT2dY8eOXT1otWq8+OKLHD16FKvVSvPmzZkwYQKRkZG2bXJycpg8eTKnTp3C19eX\nDh06kJCQQN++fcv5FEVEREScn8MD/SMiImw9Y9davHixXTksLIywsLASjxcdHU10dLSjzYuIiIi4\nNa19KSIiIuIElJSJiIiIOAElZSIiIiJOQEmZiIiIiBNQUiYiIiLiBJSUiYiIiDgBJWUiIiIiTkBJ\nmYiIiIgTUFImIiIi4gSUlImIiIg4ASVlIiIiIk5ASZmIiIiIE1BSJiIiIuIElJSJiIiIOAElZSIi\nIiJOQEmZiIiIiBNQUiYiIiLiBJSUiYiIiDgBJWUiIiIiTsDhpGz+/Pm0bNkSX19fLBYLO3fuvO62\nqamp3HPPPQQEBODr60urVq2YNm0aubm5dttt27YNi8WCr68vrVu35o033ij7mYiIiIi4MIeSsvj4\neCIjI5k+fTopKSn07NmTfv36cerUqWK39/Hx4bHHHiMpKYkjR47w2muv8dZbbzFjxgzbNsePH2fA\ngAH06tWLlJQUpkyZwoQJE/jggw/K58xEREREXEg1RzaaNWsW4eHhhIeHAzBnzhwSExOJi4sjJiam\nyPatWrWiVatWtnKzZs0YOXIkO3bssNXFxcXRpEkTZs+eDUC7du3Yu3cvsbGxDBky5KZOSkRERMTV\nlNpTlpubS3JyMiEhIXb1oaGh7N6926FGjh49SmJiInfddZetbs+ePYSGhtpt17dvX/bv309+fr5D\nxxURERFxF6UmZZmZmeTn5+Pv729X7+/vT3p6eon7BgcH4+vrS7t27ejdu7ddr1p6enqxx8zLyyMz\nM/NGzkFERETE5Tl0+7Ks3nvvPbKzszl48CBPPfUUL730ElOmTLmpY+7fv7+conNO7n5+7k7Xz/WV\n5RpmW7MrIJIS2svO1s9aCfRv4/rc9Rq2adOmxPdLTcr8/Pzw8vIiIyPDrj4jI4OAgIAS923SpAkA\nt912G3l5eYwZM4bJkyfj6elJQEBAscesVq0afn5+pYUlIiIi4lZKTcq8vb3p2rUrSUlJDB061Faf\nlJTEsGHDHG4oPz/f9vL09KRHjx6sXbvWbpuNGzdisVjw8vK67nEsFovDbbqSK98K3PX83J2un+u7\nmWuYeahyh1zUqVMHy236WbuW/h+6Pne/hllZWSW+79Dty0mTJjFq1Ci6detGcHAwcXFxpKWlERER\nAcDUqVPZt28fmzZtAmD58uXUqFGDTp064ePjw759+3j66acZNmwY3t7eAERERDBv3jyioqIYN24c\nO3fuZOnSpaxcufJmzldERETEJTmUlA0fPpwzZ84QExNDWloaHTt2ZMOGDTRt2hQwBu0fO3bs6kGr\nVePFF1/k6NGjWK1WmjdvzoQJE4iMjLRt06JFCxISEoiKimLBggUEBQUxd+5cBg8eXM6nKCIiIuL8\nHB7oHxERYesZu9bixYvtymFhYYSFhZV6zN69e7vtYD4RERGRG6G1L0VEREScgJIyERERESegpExE\nRETECVTo5LEiIs4sLy+PM2fOcPr0aQ4cOEBubi5eXl40bNiQhg0bUrNmTTw8PMwOU0SqCCVlIuL2\nLl26xIEDB/jss8/47LPPSElJ4aeffip1zqDq1avTsGFDWrduTY8ePWyvxo0bV1LkIlKVKCkTkQqX\nmpbKiawTldZe87rNyf05l3fffZft27eTnJzMpUuXbvg4ly5d4scff+THH39k+/bttvpWrVrRo0cP\n7r//fgYOHFieoYtIFaakTEQq3ImsE/SL71fxDWUDX0LLEy357tB3pW7u4eFB/fr1adiwITVq1MDb\n25vc3FxOnz7N6dOnr5vIffvtt3z77bcsX76cevXq0bNvT6gFNAN0t1NEykhJmYi4NitwGEgGjhrl\n7yiakLVs2dJ2+/HOO++kRYsW1KtXz7as27XLu1itVs6fP09GRobdrc9re91+/fVXEuITjEIDoDPQ\nDahZUScsIu5KSZmIuCYrcAT4FEgv+naNGjUYPHgww4cPJzg4+IbHgXl4eFCrVi1atmxJy5YtbWv/\nXrp0iZSUFBISEli6dCnHjx+/utOZgnh2AT2AOwHfMpybiFRJmhJDRFyLFfgGWAi8S9GErDlEPh9J\neno67777LkOGDCnXgfnVq1ene/fuPPvss3z77bds376d+x68D6oX2igH2AbMLvjzYrk1LyJuTD1l\nIuI6TgKfAKeuqa+Gccvwj0B96PtgX+rWrVvh4Xh6etK7d28mNppIYrtE+BrYAWQWbLine truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x21caffe1fd0>"
|
||||
"<matplotlib.figure.Figure at 0x21511977ac8>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -474,7 +464,7 @@
|
||||
"source": [
|
||||
"I hope you see the power of this. We can replace hundreds to thousands of numbers with a single pair of numbers: $x = \\mathcal N(\\mu, \\sigma^2)$. \n",
|
||||
"\n",
|
||||
"The tails of the Gaussian extend to infinity on both sides, so it incorporates arbitrarily many bars in the histogram. If this represents our belief in the position of the dog in the hallway, this one Gaussian covers the entire hallway (and the entire universe in one direction). We think that it is likely the dog is at 10, but he could be at 8, 14, or, with infinitesimally small probability, at 10$^{80}$. \n",
|
||||
"The tails of the Gaussian extend to infinity on both sides, so it incorporates arbitrarily many bars in the histogram. If this represents our belief in the position of the dog in the hallway, this one Gaussian covers the entire hallway (and the entire universe on that axis). We think that it is likely the dog is at 10, but he could be at 8, 14, or, with infinitesimally small probability, at 10$^{80}$. \n",
|
||||
"\n",
|
||||
"In this chapter we replace histograms with Gaussians:\n",
|
||||
"\n",
|
||||
@@ -550,7 +540,7 @@
|
||||
"\n",
|
||||
"It makes sense that the predicted position is the previous position plus the movement. What about the variance? It is harder to form an intuition about this. However, recall that with the `predict()` function for the discrete Bayes filter we always lost information. We don't really know where the dog is moving, so the confidence should get smaller (variance gets larger). $\\mu_{f_x}^2$ is the amount of uncertainty added to the system due to the imperfect prediction about the movement, and so we would add that to the existing uncertainty. \n",
|
||||
"\n",
|
||||
"Here is our implementation of the predict function, where `pos` and `movement` are Gaussian tuples:"
|
||||
"Here is our implementation of the predict function, where `pos` and `movement` are Gaussian tuples in the form ($\\mu$, $\\sigma^2$):"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -615,7 +605,7 @@
|
||||
"\n",
|
||||
"```python\n",
|
||||
"def update(likelihood, prior):\n",
|
||||
" posterior = prior * likelihood\n",
|
||||
" posterior = likelihood * prior\n",
|
||||
" return normalize(posterior)\n",
|
||||
"```\n",
|
||||
"\n",
|
||||
@@ -715,7 +705,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x21cb2aab860>"
|
||||
"<matplotlib.figure.Figure at 0x21514a2d668>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -746,7 +736,7 @@
|
||||
"source": [
|
||||
"The result of the multiplication is taller and narrow than the original Gaussian but the mean is unchanged. Does this match your intuition?\n",
|
||||
"\n",
|
||||
"Think of the Gaussians as two measurements. If I measure twice and get 10 meters each time, I should conclude that the length is close to 10 meters. Thus the mean should be 10. I am more confident with two measurements than with one, so the variance of the result should be smaller. \n",
|
||||
"Think of the Gaussians as two measurements. If I measure twice and get 10 meters each time, I should conclude that the length is close to 10 meters. Thus the mean should be 10. It would make no sense to conclude the length is actually 11, or 9.5. Aslo, I am more confident with two measurements than with one, so the variance of the result should be smaller. \n",
|
||||
"\n",
|
||||
"\"Measure twice, cut once\" is a well known saying. Gaussian multiplication is a mathematical model of this physical fact. \n",
|
||||
"\n",
|
||||
@@ -764,7 +754,7 @@
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAmUAAAEWCAYAAAAn0eDVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl4jFf7wPHvzGQPEhEidoKg1JJYo2qvreq10x+vxtJU\n1daWUhTltVRtraUL0VJba+kmSKRCokQiofZ9j1hCRESWyfz+GJlkmkQmmYnJcn+uy3U951nOc+cR\n455zznOOQqPRaBBCCCGEEGalNHcAQgghhBBCkjIhhBBCiAJBkjIhhBBCiAJAkjIhhBBCiAJAkjIh\nhBBCiAJAkjIhhBBCiAJAkjIhhBBCiALA4KRs5cqV1KhRA1tbWzw9PQkODs7xmqVLl1K3bl1sbGyo\nWLEiU6dONSpYIYQQQoiiysKQk7Zs2cL48eNZvXo1Xl5erFixgq5du3LmzBkqVaqU5TUTJ05k165d\nLFq0iPr16xMbG0tUVJRJgxdCCCGEKCoUhszo36JFCxo1asTq1at1+2rXrk2/fv2YO3dupvPPnTtH\ngwYNOHnyJLVr1zZtxEIIIYQQRVCO3ZfJycmEh4fTqVMnvf2dO3fm0KFDWV7z22+/4ebmxq5du3Bz\nc6N69eoMGzaMe/fumSZqIYQQQogiJsek7P79+6jValxcXPT2u7i4cOfOnSyvuXz5MlevXmXLli38\n+OOPbNiwgbNnz9KzZ0/TRC2EEEIIUcQYNKYst1JTU0lKSmLDhg24ubkBsH79etzd3Tl69ChNmzbV\nnRsbG5sfIQghhBBCmIWDg0OersuxpczZ2RmVSkV0dLTe/ujoaMqXL5/lNa6urlhYWOgSMoBatWqh\nUqm4fv16ngIVQgghhCjKckzKLC0t8fDwwN/fX2+/v78/Xl5eWV7j5eVFSkoKV65c0e27dOkSarWa\nqlWrGhmyEEIIIUTRY9Dbl1u3bmXo0KGsWLECLy8vVq1aha+vL6dPn6ZSpUpMmTKFo0ePEhAQAIBG\no6FZs2aUKFGCJUuWoNFomDBhAsnJyYSEhOjVnbH7Mq/NfSL3wsLCAPD09DRzJMWLPHfzkOduHvLc\nzUOeu3mYIp8xaExZ//79iYmJYe7cuURFRVG/fn38/Px0c5TduXNHr1VMoVDwxx9/MHbsWF5//XVs\nbW3p3LkzX375ZZ6CFEIIIYQo6gwe6O/j44OPj0+Wx3x9fTPtc3FxYcuWLXmPTAghhBCiGJG1L4UQ\nQgghCgBJyoQQQgghCgBJyoQQQgghCoB8mTxWCCGEKIzSJj8vzNKmnnr27JmZIyk6lEollpaWKBSK\nfL2PJGVCCCEE2umcEhMTsbGxyff/fPOTjY2NuUMoUjQaDampqTx79izffzek+1IIIYQAkpKSsLKy\nKtQJmTA9hUKBSqXCysqK5OTkfL2XJGVCCCEE2hYRlUpl7jBEAaVUKklNTc3fe+Rr7UIIIYQQRcDL\naEGVMWVCiCJp+PDhHD9+HICUlBRKlSrFxx9/zJtvvmnmyIQQImuSlAkhiqTY2FgePHigVx47dizx\n8fEMHDjQjJEJIUTWpPtSCFFslC5dGg8PD3OHIYQQWZKWMiFEkfT999/r3pQ6evQo33//PbNmzaJW\nrVpmjkwIIbImLWVCiEIrJSWFL774grt372Y65ujoSNmyZSlbtizlypVj6tSpNGjQwAxRClF0hIaG\nsn//fnOHUWRJUiaEKLRWr17NypUrGTJkCA8fPjR3OEIUOYGBgcycOZOwsDCuXLnCpk2baNu2rbnD\nMplJkyYRHx9v7jB0JCkTQhRK9+7dY/Xq1QCcP3+ejRs35qmeixcvEhsba8rQhCgUAgMDX3h8zJgx\ndOzYkYULF2JnZ8fkyZOZMWNGpvMOHjxIvXr1sq1n0aJFjB07lhkzZvD2229n2bKdnWfPnjFr1ize\nf/992rZty8CBA7l+/brB1+cU45gxYxg3blyu68svkpQJIQql5cuX677h1q5dm3fffTdX19+9e5ep\nU6fyxhtvsHLlyvwIUYgCa/v27XTs2JHIyMgsj586dYqYmBjOnDnD48ePiYuLw8nJidKlS+vO2bhx\nI97e3ixfvpxz585lWc/q1avZvXs3y5cvZ/bs2bRp04Y+ffoYHOfnn3/O8OHDWbFiBfv378fa2hov\nLy+DW8ZzirFKlSrUqlWL7du3GxxTfpKkTAhR6Fy+fJnNmzfrypMnT8bCInfvLYWGhrJp0yZSU1NZ\nt24dt27dMnWYQhRYZ86cQaFQ8Ouvv2Z5fP369SxevBh3d3csLCxYsWIFw4YN0ztn8ODBrF27lh49\nemR7nwULFuhdN2TIEA4fPsyhQ4dyjDExMZHly5ezdu1a3b5p06Zx69YtfH19c7ze0Bjfffddli5d\nalB9+U2SMiFEobNt2zZSUlIAaNGiBe3atct1Hd27d+fVV18FtGseLl682KQxClGQnT9/np49e/Lz\nzz9neTw6Opry5cvrysHBwbmeTubixYtcu3ZNr9vQzs6OqlWr5th1CqBWq3F2diYhIUG3r2rVqrq6\nTcXR0RFHR0dOnjxpsjrzSpIyIUSh89FHH7Fy5UqqV6/OJ598kqflTxQKBVOmTNGVd+zYwenTp00Z\nphAFVnJyMsOGDeP06dOcOnVK79iVK1dwc3PTlS9fvkyZMmWwtLTM1T0uXryIQqGgVKlSevtLlSrF\ntWvXcrzezs6OK1euMG/ePL1YAL34TKFly5b4+fmZtM68kHnKhBCFjkKhoGvXrnTu3NmoBaRbtGhB\n+/btCQwMRKPRsGTJEr777jsTRiqKsl2HN7H7yJZ8qbtL8wF0azEoX+p+9OgRFSpUoEuXLpQsWZKN\nGzcyd+5c3fHdu3fTpUsXXfnmzZu4uLjk+j5p477s7e319tvb2+f5bemffvqJcuXK4e3tnafrs9Ow\nYUM2bNhg0jrzQlrKhBCFljEJWZrJkydjZWXFwIEDmTNnjgmiEqJgO3jwIJ06dcLa2po+ffqwadMm\nvePh4eF4enrqyvfu3cvU2mWItH+f//53mpKSoht+kBvXr19n1apV+Pr66r1wYApOTk66VjhzkqRM\nCFGs1a5dm+DgYObNm5en1gAhCpugoCDdXGPDhw/n6tWr7N69G9CO4/r3cAC1Wo1Smft0oWzZsgCk\npqbq7Y+Pj8fBwSFXdSUnJ/POO+/w7bff0rVr11zHkhMnJ6cCMTWOdF8KIYq9tP88hMiNbi0G5VsX\nY36KjY3F2toaAC8vL9zd3fn666/p0qULR48e1WslA3B2ds5Td2P16tWBzC8NxMTEUKNGjVzVNWHC\nBCZNmsQbb7wBwKVLl0w6rkytVmNlZWWy+vJKWsqEEIXCnDlz8PX1JSYmxtyhCFFoHTp0CC8vL719\no0ePZvfu3URERLB///5MM/a7urrm6d9dtWrVcHNz05sf7N69e9y+fZsOHToYXM+yZcvo3r27LiFL\nSUnRmxLHFB4+fFggvpxJUiaEKPDu3r2Lr68vs2fPpmXLlty/f9/cIQlRqKRNK7F582b69eund2zE\niBGULVuWyZMnc/bsWdzd3fWO16lTh6ioqEzdkGnUanW29x02bBg//vijrrx27VpatmxJ69atAfjm\nm2+oVq0a0dHRWV6/Y8cOfv/9d06cOMGCBQtYsGABEydO1LXCrVmzhipVquSYNL4oRtAmixUqVHjh\nOS+DdF8KIQq87du36/5DaNy4Mc7Ozvl6vwsXLhAbG5upG0eIwmjnzp2MHTuW1q1bU7t27UxvQ9ra\n2jJ9+nTGjBnDoEGZu2MVCgXNmjUjMjKSJk2a6Pbv2rWLtWvXEhwcDICHhwf16tVj5cqVlCxZEtC+\nSDN16lQ++OADypQpw7lz5/Rmz9doNCQmJmaZ8MXExDBkyBASEhL466+/9I4NHTpU7/rDhw/TrVu3\nTHUYEiNAWFgYTZs2ffGDfAkkKRNCFGgajUZvgst/f8s3pYsXLzJp0iQiIiKoX78+v//+e77dS4iX\nxcHBAUtLS65evcqaNWuyPMfHx4fo6GjeeeedLI97e3uzbds2vaSsW7duWSZCGalUKhYsWJDtcR8f\nH3x8fLI85uTkxJMnT15Y/4gRIxgwYAD79u3L8rghMQKEhITw/fff53hefpPuSyFEgXbs2DHdq+ol\nSpTIlzev0pQrV043gezJkydlMllRJLRr145Lly5x6NAhbG1tszxHqVQya9YsqlWrluXxLl26cOLE\nCb3Z9QuKoKCgXK82kNH169dxcnLK9csH+UGSMiFEgZZxOZYePXpgZ2eXb/cqVaqU3qSZ2S1BI0Rx\nNHPmTGbNmmXuMPQkJydz/PhxKleunOc6li1bxrRp00wYVd4ZnJStXLmSGjVqYGtri6enp65/NivX\nrl1DqVTq/VGpVOzdu9ckQQshio+PPvqIbdu2MWDAAAYMGJDv98vYPbpz504SExPz/Z5CFAYeHh54\nenoWqP/Lb9y4wahRo/J8fWhoKBYWFjRq1MiEUeWdQWPKtmzZwvjx41m9ejVeXl6sWLGCrl27cubM\nGSpVqpTlNQqFgj179ugW/AVt/7AQQuSGQqGgSZMmemNZ8lPLli2pWLEit27d4tGjRwQEBNC9e/eX\ncm8hCrq+ffuaOwQ9xnY5BgYGMn/+fBNFYzyDWsqWLFmCt7c33t7euLu7s3z5clxdXVm1alW212g0\nGpycnChXrpzuj4WFvFcghCjYlEolffv2pUKFCowbN47GjRubOyQhRD755JNPMq1gYE45JmXJycmE\nh4fTqVMnvf2dO3fm0KFDL7y2d+/euLi40Lp1a7Zt22ZcpEII8ZL4+Phw8OBBxo8fXyDmLhJCFA85\nJmX3799HrVZnWhPOxcWFO3fuZHlNiRIl+PLLL9m6dSt+fn506NCBAQMGsHHjRtNELLine truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x21cb4237c50>"
|
||||
"<matplotlib.figure.Figure at 0x215149340b8>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -804,7 +794,7 @@
|
||||
"\n",
|
||||
"This becomes counter-intuitive in more complicated situations, so let's consider it further. Perhaps a more reasonable assumption would be that one person made a mistake, and the true distance is either 10.2 or 9.7, but certainly not 9.95. Surely that is possible. But we know we have noisy measurements, so we have no reason to think one of the measurements has no noise, or that one person made a gross error that allows us to discard their measurement. Given all available information, the best estimate must be 9.95.\n",
|
||||
"\n",
|
||||
"In the update step we are combining two measurements, but one measurement and the prior, our estimate before incorporating the measurement. We went through this logic for the g-h filter. It doesn't matter if we are incorporating information from two measurements, or a measurement and a prediction, the math is the same. \n",
|
||||
"In the update step of the Kalman filter we are not combining two measurements, but one measurement and the prior, our estimate before incorporating the measurement. We went through this logic for the g-h filter. It doesn't matter if we are incorporating information from two measurements, or a measurement and a prediction, the math is the same. \n",
|
||||
"\n",
|
||||
"Let's look at that. I'll create a fairly inaccurate prior of $\\mathcal N(8.5, 1.5)$ and a more accurate measurement of $\\mathcal N(10.2, 0.5).$ By \"accurate\" I mean the sensor variance is smaller than the prior's variance, not that I somehow know that the dog is closer to 10.2 than 8.5. Next I'll plot the reverse relationship: an accurate prior of $\\mathcal N(8.5, 0.5)$ and a inaccurate measurement of $\\mathcal N(10.2, 1.5)$."
|
||||
]
|
||||
@@ -820,7 +810,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x21cb4181c18>"
|
||||
"<matplotlib.figure.Figure at 0x21515cfa2e8>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -830,7 +820,7 @@
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAmUAAAEWCAYAAAAn0eDVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlYlOX6wPHvDDu4ASouKLiBCyoquGGppaamWZlmpWZk\nah33c3JJ7WgnT5mV6Sm1RanMteWkpWIo5k+PmYiigogKCKKAKC6Iss3M74+JgZFtYGYYlvtzXV7N\n+877Ps/DG473PMv9KDQajQYhhBBCCGFRSks3QAghhBBCSFAmhBBCCFElSFAmhBBCCFEFSFAmhBBC\nCFEFSFAmhBBCCFEFSFAmhBBCCFEFSFAmhBBCCFEFGByUrV27ltatW+Pg4ICfnx9Hjhwp8dply5ah\nVCqxsrJCqVTq/lhZWXHjxg2TNFwIIYQQoiZRGJI8dvv27UyYMIH169cTEBDAZ599RlBQENHR0bi7\nuxe5/v79+9y7d0/v3PPPP4+VlRX79+83XeuFEEIIIWoIg4Ky3r174+vry/r163XnvLy8GDNmDMuX\nLy+zkitXrtCqVSs2b97M888/b1yLhRBCCCFqoDKHL3NzcwkPD2fw4MF654cMGcLRo0cNqmTDhg24\nuLjw7LPPVqyVQgghhBA1XJlB2Y0bN1CpVLi5uemdd3NzIyUlpcwK1Go1QUFBTJw4ERsbm4q3VAgh\nhBCiBrM2dwV79+4lKSmJ1157rdj379y5Y+4mCCGEEEJUmvr161fovjJ7yho2bIiVlRWpqal651NT\nU2nSpEmZFXz55Zf07dsXb2/vCjVQCCGEEKI2KDMos7GxoUePHoSEhOidDwkJISAgoNR7k5OT2b17\nN1OmTDGulUIIIYQQNZxBw5dz585l4sSJ+Pv7ExAQwLp160hOTmbatGkALFy4kLCwsCLpLjZs2ECd\nOnUYM2aMQY2paHefKL8TJ04A4OfnZ+GW1C7y3C1DnrtlyHO3DHnulmGK6VgGBWVjx44lPT2d5cuX\nk5ycjI+PD3v37tXlKEtJSSE+Pr7IfRs3bmT8+PHY29sb3VAhhBBCiJrM4In+06ZN0/WMPSwoKKjY\n83FxcRVrlRBCCCFELSN7XwohhBBCVAESlAkhhBBCVAESlAkhhBBCVAFmTx4rhBBCVBa1Wk1OTo6l\nm2FRHh4eAGRlZVm4JTWHUqnExsYGhUJh1nokKBNCCFEjaDQasrOzsbe3N/s/nlWZZDwwLY1Gg1qt\nJisry+y/WzJ8KYQQokbIycnB1ta2VgdkwvQUCgVWVlbY2tqSm5tr1rokKBNCCFEjaDQarKysLN0M\nUUMplUrUarV56zBr6UIIIYQQNUBl9MBKUCaEEEIIUQVIUCaEEEIIUQVIUCaEKCIoKAg/Pz/efPNN\nSzdFCCFqDUmJIYTQ0Wg0rFy5knXr1gHQsmVLC7dICCFqDwnKhBCANunm22+/zebNm3Xn2rdvb8EW\nCSFM7fjx49y/f58BAwZYuimiGDJ8KYQgNzeXuXPn6gVk/v7+PPLII8Vef+vWrcpqmhDCCKGhoSxd\nupQTJ04QHx/P1q1bTRaQFbdzQnZ2tknKNlX98+bNIzMzs7KaZDTpKRNCoFAoePDgge541KhRrFy5\nEhsbG73rsrKyWL16Nd9++y2//PILrVu3ruymCiH+EhoaymOPPVbi+9OnT2ft2rXY29szduxY5s+f\nz+eff653zerVq7l27RpKpZK0tDQWLFhA27ZtDap/27ZtvPPOOzz66KPUr1+f+Ph47O3t2bZtm8E/\nw4cffkhiYiINGjQgNjaWVatW0bhxY5PVP336dGbNmsVXX31lcJssSXrKhBBYW1uzZs0aAgICGD9+\nPB9//HGRgAzgH//4B+vXr+f+/fssWLDA7IkUhRDF++mnnxg0aBARERHFvh8VFUV6ejrR0dHcvXuX\njIwMXFxccHZ21l2zZs0a2rdvz4oVK3jvvfdYtGgRY8aMMbi3S6PRkJuby44dO9i1axf+/v589913\nBv8M69evJzg4mDVr1uiCq9GjRxt8vyH1t2zZknbt2vHTTz8ZXK4lSVAmhADAzs6ODRs28M4776BU\nFv/R8MYbb2Btre1gDwsLY8uWLZXZRCHEX6Kjo1EoFOzcubPY9zdt2sTHH3+Mt7c31tbWfPbZZ0ya\nNEnvmq+//ppevXrpjlu1aoWXlxeRkZEGt2PTpk3cu3eP2NhYFi1apPt8MMSKFSv02jRhwgSOHTvG\n0aNHTVr/1KlT+eSTTwwu05IkKBNC6NjZ2ZWatbpjx45MnTpVd/z+++9z9erVymiaEKKQCxcu8NRT\nT/H9998X+35qaipNmjTRHR85coQePXroXWNra8v06dP15mYlJiZWyrSES5cukZCQQMeOHXXnHB0d\n8fDwIDQ01KR1NWjQgAYNGpQr2LQUCcqEEOUyY8YM2rRpA0BmZibvv/++hVskRO2Tm5vLpEmTOHfu\nHFFRUXrvxcfH6/6OAsTFxeHq6lpkSsKMGTPYsmUL3bt3JywsjEWLFrFw4UK9Ic6yhISE8K9//Yvl\ny5fz4osvkpiYaNB9ly5dQqFQUK9ePb3z9erVIyEhweT19+nTh7179xpcrqXIRH8haqnz58/TsmVL\nHB0dy3WfnZ0d77//PmPHjmXIkCEsWbLETC0Uwrz2HNtK8J/bzVL20F7PM7z3C2Yp+/bt2zRr1oyh\nQ4dSt25dtmzZwvLly3XvBwcHM3ToUN1xUlISbm5uRcp56aWXyMrKYurUqfTq1YuJEycybNgwg9uh\nVCpp3LgxM2bMAOCHH37giSee4OzZs2UOY+av4HZyctI77+TkZPDq7vLU37Vr13LNd7MU6SkTohbK\ny8tj6tSp9OvXjzVr1nDv3r1y3e/n58evv/7K+vXrDV4pJYQwjcOHDzN48GDs7OwYPXo0W7du1Xs/\nPDwcPz8/3XFaWlqRHimAq1evEhoayv79+xkxYgSbNm3ikUceISsry6B2TJgwQRcQAQwfPpyYmBh+\n/PHHMu+1srLS+2++vLw88vLyTF6/i4sLcXFxBpVrSRKUCVEL7dmzh8TERG7dukVQUFCp88hKUngu\niBCi8hw6dEiXa+zVV1/l8uXLBAcHA6BSqYr8fVapVMUu3hk/fjzvvvsuAwYMYNeuXWzZsoXo6Gg+\n/vjjCrUrv9fdkIn6jRo1AiiygjszM5P69eubvH4XFxfu3LlToXIrkwxfClHLaDQa3TZKAC+//HKR\nIQQhaoPhvV8w2xCjOd25cwc7OzsAAgIC8Pb25tNPP2Xo0KGEhYXp9ZIBNGzYsMiQYFRUFM7OzrRq\n1Up37vnnnyc3N9egPGP37t3Dx8eHWbNmMWfOHN05wKAVmPn1PrwgIT093aCFBuWtX6VSYWtrW2a5\nlmZwT9natWtp3bo1Dg4O+Pn5ceTIkTLv+eSTT+jQoQP29vY0b96ct956y6jGCiGMd/DgQc6fPw9o\nv1m+/PLLFm6REMJQR48eJSAgQO/cG2+8QXBwMKdOneL3338vkrG/adOmpKen651TKpXcv3+/SPk+\nPj60aNGizHYolUoUCoXegoKLFy8CMHDgwDLv9/T0pE2bNsTExOjOpaWlce3aNR5//HGT13/r1i1d\n71xVZlBQtn37dmbPns3ixYuJiIigb9++DBs2jKSkpBLvmTt3LuvXr2flypWcP3+ePXv28Oijj5qs\n4UKI8tNoNKxdu1Z3/MILL5RrpVVprl27Vq5VU0IIw+XvuLFt2zbGjBmj997kyZNp1KgR8+fP5/z5\n83h7e+u93759e5KTk/WGCjt06IBareaHH37QnVOr1Xz++efMnj1bd+7zzz/H09OT1NRUvTIdHR15\n9dVX9QLELVu2MGjQIEaMGKE7t2HDBlq2bFkkKASYNGkS3377re5448aN9OnTh379+pms/nxpaWk0\na9asyPmqxqDhy1WrVhEYGEhgYCCgzQIcHBzMunXr9FZ85IuJieHTTz8lMjISLy8v3fmuXbuaqNlC\niIr6+9//ztq1azl+/DiTJ082uryzZ8+ycuVKjhw5wlNPPVVtkjQKUV38/PPPzJw5k379+uHl5VVk\nuoGDgwNLlixh+vTpvPBC0eFYhUJBz549iYiIoHv37rrzP/30E2+//Ta//fYbDg4OZGVlMWXKFL2g\nTqPRkJ2dXezuHXPnzmX58uVkZGSQnZ1NnTp12LVrl941+fcfO3aM4cOH6703f/583nrrLWbMmIGr\nqysxMTFFMu8bW3++EydO4O/vX+x7VYlCo9FoSrsgNzcXR0dHtm3bprf9wfTp04mKiuLgwYNF7lm5\nciUbN25k6tSp/Oc//0GtVtO/f39WrlxZpPuw8MS7ik7uE+V34sQJgCJzD4R5VaXnfvXqVZo3b250\nOVFRUbpvpnZ2dhw/frzYlV6WVJWee21S2c89KysLe3v7SqmrMh08eJDJkyfj5ubGgQMHcHBwKHKN\nWq1m2bJlvPLKK3h6ehZ5Pzg4mMOHDxfbkWJuGRkZHDhwgKeffrrS68732GOP8dVXXxmdGLe03zFT\nxDNlDl/euHEDlUpVJMeJm5sbKSkpxd4TFxfH5cuX2b59O99++y3fffcd58+f56mnnqpQI4UQpmeK\ngAygU6dOdOjQAYDs7Gx2795tknKFEFoDBw4kNjaWo0ePFhuQgXaO1bJly4oNyACGDh3KmTNndMOg\nlenQoUNFdhOoTImJibi4uFTKTgXGMsvqS7VaTU5ODt99951uEt6mTZvw9vYmLCysxC7E/G9VovLI\nM7eMmvbce/XqRXR0NKDdT69du3YWblHxatpzry4q67l7eHjUyJ4yU1m6dCnLli2r1F04cnNzOX36\ndLHzvCrL6tWrWbx4sUnKysjIKHG7JlN87pXZU9awYUOsrKyKTLJ7eBlrYU2bNsXa2Line truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x21cb4181eb8>"
|
||||
"<matplotlib.figure.Figure at 0x21515cfafd0>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -874,7 +864,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x21cb41e50f0>"
|
||||
"<matplotlib.figure.Figure at 0x21514b8a898>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -937,14 +927,19 @@
|
||||
"process_var = 1. # variance in the dog's movement\n",
|
||||
"sensor_var = 2. # variance in the sensor\n",
|
||||
"\n",
|
||||
"x = (0., 400.) # dog's position, N(0, 400)\n",
|
||||
"x = (0., 400.) # dog's position, N(0, 20**2)\n",
|
||||
"velocity = 1\n",
|
||||
"dt = 1. # time step in seconds\n",
|
||||
"process_model = (velocity*dt, process_var) \n",
|
||||
" \n",
|
||||
"# simulate dog and get measurements\n",
|
||||
"dog = DogSimulation(x[0], process_model[0], \n",
|
||||
" sensor_var, process_model[1])\n",
|
||||
"dog = DogSimulation(\n",
|
||||
" x0=x[0], \n",
|
||||
" velocity=process_model[0], \n",
|
||||
" measurement_var=sensor_var, \n",
|
||||
" process_var=process_model[1])\n",
|
||||
"\n",
|
||||
"# create list of measurements\n",
|
||||
"zs = [dog.move_and_sense() for _ in range(10)]\n",
|
||||
"\n",
|
||||
"print('PREDICT\\t\\t\\tUPDATE')\n",
|
||||
@@ -953,8 +948,8 @@
|
||||
"# run the filter\n",
|
||||
"xs, predictions = [], []\n",
|
||||
"for z in zs:\n",
|
||||
" # perform Kalman filter on measurement z\n",
|
||||
" prior = predict(x, process_model)\n",
|
||||
" #print(prior)\n",
|
||||
" likelihood = (z, sensor_var)\n",
|
||||
" x = update(prior, likelihood)\n",
|
||||
"\n",
|
||||
@@ -962,6 +957,7 @@
|
||||
" predictions.append(prior[0])\n",
|
||||
" xs.append(x[0])\n",
|
||||
" kf_internal.print_gh(prior, x, z)\n",
|
||||
"\n",
|
||||
"print()\n",
|
||||
"print('final estimate: {:10.3f}'.format(x[0]))\n",
|
||||
"print('actual final position: {:10.3f}'.format(dog.x))"
|
||||
@@ -985,7 +981,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x21cb42dc940>"
|
||||
"<matplotlib.figure.Figure at 0x215149c1e80>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1045,7 +1041,7 @@
|
||||
"source": [
|
||||
"## Kalman Gain\n",
|
||||
"\n",
|
||||
"We see that the filter works. Now let's go back to the math to understand what is happening. The posterior $x$ is computed as the likelihood times the prior ($\\mathcal L\\cdot \\bar x$), where both are Gaussians.\n",
|
||||
"We see that the filter works. Now let's go back to the math to understand what is happening. The posterior $x$ is computed as the likelihood times the prior ($\\mathcal L \\bar x$), where both are Gaussians.\n",
|
||||
"\n",
|
||||
"Therefore the mean of the posterior is given by:\n",
|
||||
"\n",
|
||||
@@ -1053,7 +1049,7 @@
|
||||
"\\mu=\\frac{\\bar\\sigma^2\\, \\mu_z + \\sigma_z^2 \\, \\bar\\mu} {\\bar\\sigma^2 + \\sigma_z^2}\n",
|
||||
"$$\n",
|
||||
"\n",
|
||||
"I use the subsript $z$ to denote the measurement. We can rewrite this as:\n",
|
||||
"I use the subscript $z$ to denote the measurement. We can rewrite this as:\n",
|
||||
"\n",
|
||||
"$$\\mu = \\left( \\frac{\\bar\\sigma^2}{\\bar\\sigma^2 + \\sigma_z^2}\\right) \\mu_z + \\left(\\frac{\\sigma_z^2}{\\bar\\sigma^2 + \\sigma_z^2}\\right)\\bar\\mu$$\n",
|
||||
"\n",
|
||||
@@ -1073,8 +1069,6 @@
|
||||
"\n",
|
||||
"$$K = \\frac {\\bar\\sigma^2}{\\bar\\sigma^2 + \\sigma_z^2}$$\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"$K$ is the *Kalman gain*. It's the crux of the Kalman filter. It is a scaling term that chooses a value partway between $\\mu_z$ and $\\bar\\mu$.\n",
|
||||
"\n",
|
||||
"Let's work a few examples. If the measurement is nine times more accurate than the prior, then $\\bar\\sigma^2 = 9\\sigma_z^2$, and\n",
|
||||
@@ -1096,6 +1090,14 @@
|
||||
"\n",
|
||||
"which is the average of the two means. It makes intuitive sense to take the average of two equally accurate values.\n",
|
||||
"\n",
|
||||
"We can also express the variance in terms of the Kalman gain:\n",
|
||||
"\n",
|
||||
"$$\\begin{aligned}\n",
|
||||
"\\sigma^2 &= \\frac{\\bar\\sigma^2 \\sigma_z^2 } {\\bar\\sigma^2 + \\sigma_z^2} \\\\\n",
|
||||
"&= K\\sigma_z^2 \\\\\n",
|
||||
"&= (1-K)\\bar\\sigma^2 \n",
|
||||
"\\end{aligned}$$\n",
|
||||
"\n",
|
||||
"We can understand this by looking at this chart:"
|
||||
]
|
||||
},
|
||||
@@ -1110,7 +1112,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x21cb4259eb8>"
|
||||
"<matplotlib.figure.Figure at 0x215148ab7f0>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1126,7 +1128,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"The Kalman gain $K$ is a scale factor that chooses a value along the residual. This leads to an alternative but equivalent implementation for `update`:"
|
||||
"The Kalman gain $K$ is a scale factor that chooses a value along the residual. This leads to an alternative but equivalent implementation for `update()` and `predict()`:"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1144,8 +1146,15 @@
|
||||
" y = z - x # residual\n",
|
||||
" K = P / (P + R) # Kalman gain\n",
|
||||
"\n",
|
||||
" x = x + K*y # posterior\n",
|
||||
" P = (P * R) / (P + R) # posterior variance\n",
|
||||
" x = x + K*y # posterior\n",
|
||||
" P = (1 - K) * P # posterior variance\n",
|
||||
" return x, P\n",
|
||||
"\n",
|
||||
"def predict(posterior, movement):\n",
|
||||
" x, P = posterior # mean and variance of posterior\n",
|
||||
" dx, Q = movement # mean and variance of movement\n",
|
||||
" x = x + dx\n",
|
||||
" P = P + Q\n",
|
||||
" return x, P"
|
||||
]
|
||||
},
|
||||
@@ -1153,9 +1162,9 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Why have I written it in this form, and why have I chosen these terrible variable names? A few related reasons. A majority of books and papers present the Kalman filter in this form. My derivation of the filter from Bayesian principles is not unknown, but it is not used nearly as often. Also, the equations for the multivariate Kalman filter look almost exactly like these equations. So, you need to learn and understand them. \n",
|
||||
"Why have I written it in this form, and why have I chosen these terrible variable names? A few related reasons. A majority of books and papers present the Kalman filter in this form. My derivation of the filter from Bayesian principles is not unknown, but it is not used nearly as often. Alternative derivations naturally lead to this form of the equations. Also, the equations for the multivariate Kalman filter look almost exactly like these equations. So, you need to learn and understand them. \n",
|
||||
"\n",
|
||||
"Where do the names `P` and `R` come from? You will see them used in the rest of this book. $R$ is nearly universally used for the measurement noise, and $P$ for the variance of the process. Almost every book and paper you read will use these variable names.\n",
|
||||
"Where do the names `P`, `Q`, and `R` come from? You will see them used in the rest of this book. In the literature $R$ is nearly universally used for the measurement noise, $Q$ for the process noise and $P$ for the variance of the state. Almost every book and paper you read will use these variable names. Get used to them.\n",
|
||||
"\n",
|
||||
"This is also a powerful way to think about filtering. This is the way we reasoned about the g-h filter. It emphasizes taking the residual $y = \\mu_z - \\bar\\mu$, finding the Kalman gain as a ratio of our uncertainty in the prior and measurement $K = P/(P+R)$, and computing the posterior by adding $Ky$ to the prior. \n",
|
||||
"\n",
|
||||
@@ -1175,10 +1184,10 @@
|
||||
"sensor_var = 2.\n",
|
||||
"```\n",
|
||||
" \n",
|
||||
"These are the variances for the process model and sensor. The meaning of sensor variance should be clear - it is how much variance there is in each measurement. The process variance is how much error there is in the process model. We are predicting that at each time step the dog moves forward one meter. Dogs rarely do what we expect, and of course things like hills or the whiff of a squirrel will change his progress. If this was a robot responding to digital commands the performance would be much better, and perhaps the variance would be $\\sigma^2=.05$. These are not 'magic' numbers; the square root of the variance is the distance error in meters. It is easy to get a Kalman filter working by just plugging in numbers, but if the numbers do not reflect reality the performance of the filter will be poor.\n",
|
||||
"These are the variances for the process model and sensor. The meaning of sensor variance should be clear - it is how much variance there is in each measurement. The process variance is how much error there is in the process model. We are predicting that at each time step the dog moves forward one meter. Dogs rarely do what we expect, and things like hills or the whiff of a squirrel will change his progress. If this was a robot responding to digital commands the performance would be much better, and perhaps the variance would be $\\sigma^2=.05$. These are not 'magic' numbers; the square root of the variance is the distance error in meters. It is easy to get a Kalman filter working by just plugging in numbers, but if the numbers do not reflect reality the performance of the filter will be poor.\n",
|
||||
"\n",
|
||||
"```python\n",
|
||||
"x = (0., 400.) # Gaussian N(0, 400)\n",
|
||||
"x = (0., 400.) # Gaussian N(0, 20**2)\n",
|
||||
"```\n",
|
||||
"\n",
|
||||
"This is the dog's initial position expressed as a Gaussian. The position is 0 meters, and the variance to 400 m$^2$, which is a standard deviation of 20 meters. You can think of this as saying \"I believe with 99.7% accuracy the position is 0 plus or minus 60 meters\". This is because with Gaussians ~99.7% of values fall within $\\pm3\\sigma$ of the mean.\n",
|
||||
@@ -1220,7 +1229,7 @@
|
||||
"\n",
|
||||
"Now look at the plot. The noisy measurements are plotted with black circles, and the filter results are drawn with a solid blue line. Both are quite noisy, but notice how much noisier the measurements are. I plotted the prediction (prior) with red triangles. The estimate always lies between the prior and the measurement. This is your first Kalman filter and it seems to work!\n",
|
||||
"\n",
|
||||
"The filtering is implemented in only a few lines of code. Most of the code is either initialization, storing of data, simulating the dog movement, and printing results. The code that performs the filtering is the very succinct. \n",
|
||||
"The filtering is implemented in only a few lines of code. Most of the code is either initialization, storing of data, simulating the dog movement, and printing results. The code that performs the filtering is very succinct:\n",
|
||||
"\n",
|
||||
"```python\n",
|
||||
"prior = predict(x, process_model)\n",
|
||||
@@ -1269,7 +1278,7 @@
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAyQAAAESCAYAAAAMthGdAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8Tff/wPHXOfdmLxISIyFi7wSl9lZqVEutn1F7tmYH\nVdpqBaW0aL+t1ixq04GiVu29JWILMgSRndx7zu+PG5c0MRI0wfv5eNyH8znnc85933vbm/s+n6Xo\nuq4jhBBCCCGEENlAze4AhBBCCCGEEC8vSUiEEEIIIYQQ2UYSEiGEEEIIIUS2kYRECCGEEEIIkW0k\nIRFCCCGEEEJkG0lIhBBCCCGEENlGEhIhhBBCCCFEtnnqCcl3331HxYoVcXNzw83NjRo1arB27do0\ndT799FMKFiyIo6Mj9evX59SpU087DCGEEEIIIcRzQHnaCyP+/vvv2NraUrx4cTRNY+7cuUyaNIlD\nhw5Rrlw5Jk6cyPjx45k3bx4lSpTgs88+Y8eOHZw5cwYnJ6d014uOjn6a4QkhhBBCZBs3N7fsDkGI\nHOepJyQZ8fDwYMKECfTu3ZsCBQrw3nvv8dFHHwGQmJiIp6cnU6ZMoXfv3unOlYRECCGEEC8KSUiE\nSO+ZjiHRNI1ff/2VuLg4atasyYULFwgLC6Nx48bWOvb29tSpU4ddu3Y9y1CEEEIIIYQQOZDxWVz0\nxIkTVK9encTERFxcXFi1ahVlypRh9+7dKIqCl5dXmvpeXl5cu3btkdf9L+4qHDhwAIAqVao88+cS\nWSefU84nn9HzQT6n54N8Tjnfwz4j6e0hxMM9ky5bJpOJy5cvEx0dzfLly/nxxx/Ztm0b0dHR1KpV\ni0uXLuHt7W2t37NnT65du8a6devSXev+/4lDQkKedqhCCCGEEM9U8eLFrdvSZUuI9J5Jly2j0Yif\nnx8BAQF8+eWX+Pv7M3XqVPLly4eu64SHh6epHx4eTr58+Z5FKEIIIYQQQogc7Jl02fo3TdNISkqi\nSJEi5MuXj40bN1K5cmXAMqj9n3/+YcqUKY+8zn/RVC3N4s8H+ZxyPvmMng/yOT0f5HPK+aTLlhBZ\n99QTkpEjR9K8eXN8fHyIiYlh4cKFbNu2zboWyZAhQwgMDKRkyZIUL16cL774AhcXFzp27Pi0QxFC\nCCGEEELkcE89IQkLC6NLly6EhYXh5uZGhQoVWL9+PY0aNQLggw8+IDExkUGDBnHr1i2qVavGhg0b\nMlyDRAghhBDiadqxYwerV69G0zRatWpFvXr1sjskIV56Tz0hmTNnziPrjBkzhjFjxjztpxZCCCGE\neKA5c+bQs2dP7s7nM3XqVGbOnMmAAQOyOTIhXm7PdB0SIYQQQoic4M6dOwwYMABd1+nXrx/vvvsu\nAIMHDyYyMjKboxPi5fafDGoXQgghhMhO586dIzExkWLFivH9998DsG3bNo4dO0ZISAh58+bN5giF\neHlJQiKEEEKIF97d5QXOnz/PsmXLsLW15fTp0wDkz58/O0MT4qUnXbaEEEII8cLLnz8/ffv2RdM0\n2rVrR+vWrUlJSaFLly4UKVIku8MT4qUmLSRCCCGEeCnMnDkTHx8fVqxYgb29HY0bN2H06NHZHZYQ\nLz1JSIQQQgjxwtu8eTN37txh1KhRjBzZBzCjqvmyOywhBNJlSwghhBAvATc3N3r37s2lS7tQlMuA\nlt0hCSFSSUIihBBCiBfS9evXSUxMBCAgoDRr135PoUK2KEo2ByaESEO6bAkhhBDihTR27FiMRiMz\nZnyOooTyyisyeF2InEhaSIQQQgjxQpo0aQKJiVEkJ4egKObsDkcI8QCSkAghhBDihaDrOh07duTs\n2bNoWgKuruHMnv0B9va22R2aEOIhJCERQgghxAtBURRq1KjBgAF9UJRgVDU+u0MSQjwGSUiEEEII\n8dzSNI0NGzYAoOtmBgxoxaJFHz+wi1ZsvErkLRlCK0ROIgmJEEIIIZ5bcXFxDBgwgF9//QVdD8Fg\nuEGePLkyrHvivD1Ve5Wi/SdFMMuQEiFyDElIhBBCCPHcMadmFM7OzixZ8jOurtGoatwD68/9051q\nvUoRdMmerYdd+GyO838VqhDiESQhEUIIIcRz5ciRI9SoUYOEhHh0PZRKlZx5/fVXM6wbn6jQ48vC\n9BjvS0KS5WePo72ZEt7SRCJETiEJiRBCCCGeKxUrVqRQIW/++OMnFCXigQsdBl2y49XepZi71sO6\nr7RvAvt+CqZz04T/KFohxKPIqC4hhBBC5HiHDh3i2rVrNG/eHF2PZvHijzEa9QfWX7QhN30nFSIu\nwWDd16VpFN+NuIKTg4am/RdRCyEehyQkQgghhMjxdF2ne/fu7N69mqJF7TE+4BdMYpLC4G+8mbUm\nr3Wfva3G9GFX6NEi6oGtKUKI7CNdtoQQQgjxVCxbtozt27dby1u3bmXTpk3W8oYNG1i7dq21/Oef\nf7J69WpredWqVSxZssRa/vXXX1mwYAEAAQHlWLZsGt7e6gOTirOhdtToWzJNMlLcJ5E9s4Lp2VKS\nESFyKklIhBBCCJFl2n19nw4dOsS6devQdR1d19mxYwd///03uq6h62b27dvLP/9sR9dT0PUUDh8+\nyN69u9G0JDQtkZMnj3HkyAE0LQFNi+fs2dOcOnUMTbuJogRTr16pB666vnxLLip3L8WREEfrvvYN\nb7L/5yAqFEsAXQezOeOH/uCuX0KIZ0+6bAkhhBAiS9asWcPKlSuZO3cuSUnRtGxZmYsXzwBHAJ26\ndfOTlJSSWobGjQuTnJwCHAegefPiJCcnoygnAGjdujSmmHiUDq3gWiTtEpIw6zrKPxuxNm5UKweT\nh3C3uSMpWeH9mQWZsdzTGpetjcbX74XS/80blmrxieDfCUIuW+ukuSPr6wtHj4Kr69N/k4QQjyQJ\niRBCCCEei8lk4p9//qF+/foA1KlTh759+7B16xwmTvyIyMhIAA4e3Mi4cZ9Tu7Z/6pmWFohq1cqm\nKQcElEhz/XLlisKp87DM0s0r7dFUh4Phq8GgKFy4ZkuHMUXYf9rJerhIgSSWjjtP5VL3zaKlKhAe\ndV9ZRQeUu6074eGZfSuEEE+RdNkSQgiRoy1YsIBatWrh7+/Pe++9R0xMTHaH9NIymUx07NiRU6dO\noGmRuLmFsWvXd4wd+y6RkZHkzZsHGxsjW7du5auvvsrak5Txg7qVLNsdmsA/P1ke/qnpSf+2oKr8\n9o8blXuUSpOMvFnnNgdnB6VNRgDs7WBIJ8t2o6pg3oeeEgotW1r2DRworSNCZCNJSIQQQuRYM2bM\noGvXruzcuZOjR48yffp0mjVrRkpKSnaH9kR0XSch4d6P5pSUFLZs2WItJyQkMGHChDTnLF68mLi4\nB69E/qwEBgayd+9edF3H1lZl7NihREbuR1Uvo6rxHD16mLi4eKpUqcLatWuZP38+ABs3bkTP6tiM\nT/tY/v1rD5QvBo72cOQMONiRMrQrI2YUpPVHRbkdY+noYTTofP3eFZaPP08ul4wXPDzdrAaDbY3o\nm/ahbT+PcugK/P47ODjA++9nLU4hxFMhCYkQQogcSdd1xowZA8CkSZPYtGkTnp6e7Ny5M83MTf+V\n+wdva5rG8ePHrWWz2czChQut5eTkZIYPH24tJyYmUqNGDWs5ISEBD497i/WZTCaaNWtmHQyuKApj\nxoxB08zoegpxcbf43//+h52dnbV+z549MZuf/mrjuq5z+/Zta9nBwYHJkyei65dQlJP079+IunUr\nWI/ffV/s7e1QFAV7e3vrdbKsXhVLK8mtOzD9V/jsRwCu9OxLvc9f5evFXtaqhbyS2P5dMEPaRz50\nFi3fisXZltuN5YAy7keUz7+wHBg4EDw9H3yiEOKZk4RECCFEjpSUlMStW7cAGDp0KA0bNqRBgwYA\nXLt27YmvfX+LhKZpdO3a1fojWtM0/P39rWWz2Yytra21rOs6FStWTJOkdOnSBbPZjK7rGAwGpk2b\nRnJyPJqWgI1NCvv27SMpKQJNu4Gd3R1sbIwkJV1A0y5ha3udunWrkpJyCl0/jZ1dCB9/3BNNOwQc\nR1HOMGRIW1T1DJp2kePH/2HXrh2oqoKu64SFhdG8eXNrLHcTmzQ2boRcucDGJv3D1tbaSrBmzRra\ntm2Lruto2m26d6/LmDHtUdUoFCX9aoJVq1bF1taGHTt20qFDB7p06QpArVq1UZ5knt27rSQT5sFv\n21nn1ZJKIZPYfcLZWqV5jWgOzgni1XLxGV4iKuo2QUEXAbCzy83azRto7eKCsmmTtI4IkYNIQiKE\nECJHsre3x8/PD4COHTsybtw465oVZcqUydS1NE1jxYoVaRKMli1bEhsbi65rKIrGkiVLSEi4jabF\nAbEEBQURH38dTbuBokRha2tDXNx5NC0URblKlSrlSUwMRtPOoihn6datNcnJx4DjqOoxpk//AF0/\njqKcQlXPsH//PIzGi6jqJQyGq0RHb8HO7iaqegOD4RZ//TUVW9tEVDUBZec+xu48jLFRP5T6vak8\nYgajNu5DbdAFtXE7CgbvZvr0IcBRdD2EPXvWYjIlommJ6LrOnj17rMkbQHx8PLcvX4boaDCZ0jwS\nTSb+l5KCfukSAM2aNeHmzQiionajKOdwc9MoX77YA99bHx8fxo8PxNHRgbNnzxEbG0tAgD+jRo3M\n1GeUTmoriSkumVGFvqR50TVExVim/DUYdCYMuMqaiefwcHtwK9HWrQdp2XIot27ZoCglKFCmEjZD\nh96rIK0jQuQIMsuWEEKIHOvHH3+kefPmLF++nOXLlwPQv39/qlev/shzly1bRrNmzXB2dkZRFAYP\nHkz58uUpVswbe/tYevR4m4iIHRQpYvlBOnfuWAyGYBTFBkWB/fvnYW8fiqoaAIiN3Line truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x21cb302dd30>"
|
||||
"<matplotlib.figure.Figure at 0x215149b23c8>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1394,12 +1403,12 @@
|
||||
"\n",
|
||||
"<u>Predict</u>\n",
|
||||
"\n",
|
||||
"$\\begin{array}{|l|l|}\n",
|
||||
"$\\begin{array}{|l|l|l|}\n",
|
||||
"\\hline\n",
|
||||
"\\text{Equation} & \\text{Implementation}\\\\\n",
|
||||
"\\text{Equation} & \\text{Implementation} & \\text{Kalman Form}\\\\\n",
|
||||
"\\hline\n",
|
||||
" \\bar x = x + f_x & \\bar\\mu = \\mu + \\mu_{f_x}\\\\\n",
|
||||
"& \\bar\\sigma^2 = \\sigma^2 + \\sigma_{f_x}^2 \\\\\n",
|
||||
" \\bar x = x + f_x & \\bar\\mu = \\mu + \\mu_{f_x} & \\bar x = x + dx\\\\\n",
|
||||
"& \\bar\\sigma^2 = \\sigma^2 + \\sigma_{f_x}^2 & \\bar P = P + Q\\\\\n",
|
||||
"\\hline\n",
|
||||
"\\end{array}$\n",
|
||||
"\n",
|
||||
@@ -1409,12 +1418,12 @@
|
||||
"\n",
|
||||
"$\\begin{array}{|l|l|}\n",
|
||||
"\\hline\n",
|
||||
"\\text{Equation} & \\text{Implementation}\\\\\n",
|
||||
"\\text{Equation} & \\text{Implementation}& \\text{Kalman Form}\\\\\n",
|
||||
"\\hline\n",
|
||||
" x = \\| \\mathcal L\\bar x\\| & y = z - \\bar\\mu \\\\\n",
|
||||
" & K = \\frac {\\bar\\sigma^2} {\\bar\\sigma^2 + \\sigma_z^2} \\\\\n",
|
||||
" & \\mu = \\bar \\mu + Ky \\\\\n",
|
||||
" & \\sigma^2 = \\frac {\\bar\\sigma^2 \\sigma_z^2} {\\bar\\sigma^2 + \\sigma_z^2} \\\\\n",
|
||||
" x = \\| \\mathcal L\\bar x\\| & y = z - \\bar\\mu & y = z - \\bar x\\\\\n",
|
||||
" & K = \\frac {\\bar\\sigma^2} {\\bar\\sigma^2 + \\sigma_z^2} & K = \\frac {\\bar P}{\\bar P+R}\\\\\n",
|
||||
" & \\mu = \\bar \\mu + Ky & x = \\bar x + Ky\\\\\n",
|
||||
" & \\sigma^2 = \\frac {\\bar\\sigma^2 \\sigma_z^2} {\\bar\\sigma^2 + \\sigma_z^2} & P = (1-K)\\bar P\\\\\n",
|
||||
"\\hline\n",
|
||||
"\\end{array}$\n",
|
||||
"\n",
|
||||
@@ -1441,7 +1450,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x21cb2fd3ba8>"
|
||||
"<matplotlib.figure.Figure at 0x21514a046a0>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1475,7 +1484,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x21cb2a7ec18>"
|
||||
"<matplotlib.figure.Figure at 0x21515ce4e48>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1524,9 +1533,9 @@
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x21cb42a2128>"
|
||||
"<matplotlib.figure.Figure at 0x21515c3ccf8>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1602,9 +1611,9 @@
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAzwAAAEtCAYAAADN42X5AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XdYFFfbBvB7dulIEEREsaCIigWDgiX2iiUKsVdAX3vX\nGBNN1KiIsSUaRaNGDWJDo9FgxUKi8saCXywRC2CkCIKIoDQpe74/CPtmQ5G+uLl/18WlO3vmzDM7\nsDvPniYJIQSIiIiIiIg0kEzdARAREREREZUXJjxERERERKSxmPAQEREREZHGYsJDREREREQaiwkP\nERERERFpLCY8RERERESksZjwEBERERGRxlJ7wnP58mU4Ozujdu3akMlk2LNnj8rzMpkMcrkcMplM\n5WfmzJmF1vvrr7/CwcEB+vr6aNiwIbZt21aep0FERERERJWQ2hOe5ORktGjRAt9++y0MDAzyPP/s\n2TPExMTg2bNnePbsGfz8/CBJEoYPH15gnU+ePEH//v3RsWNH3Lp1C5999hlmzpyJn376qTxPhYiI\niIiIKhlJCCHUHUQuIyMjeHl5wdXVtcAyEydOxJUrV3D//v0Cy3z66ac4duwYHj58qLJfcHAwAgMD\nyzRmIiIiIiKqvNTewlMcKSkp8PX1xaRJkwotd/XqVfTu3Vtlm5OTE4KCgpCdnV2eIRIRERERUSXy\nTiU8+/btQ2ZmZqEtQEBON7gaNWqobKtRowaysrIQHx9fniESEREREVEloqXuAIrj+++/h4uLC6pV\nq1ZmdSYlJZVZXURERETqZmxsrO4QiCqVd6aF59atWwgKCsLEiRPfWtbCwgKxsbEq22JjY6GlpQUz\nM7PyCpGIiIiIiCqZdybh2b59Oxo0aIDu3bu/tWz79u1x7tw5lW3+/v5wcHCAXC4vrxCJiIiIiKiS\nUXuXtpSUFISGhkIIAYVCgYiICNy+fRumpqaoU6cOACAtLQ379+/HZ599lm8drq6ukCQJ3t7eAIAp\nU6bAy8sLc+fOxeTJk3HlyhXs2bMHBw8eLDSW8mwCDgoKAgA4ODiU2zGodHiNKjden8qP16hy4/Wp\n/EpzjdhFn6hgam/hCQoKgr29PVq3bo309HQsXboUrVq1wtKlS5VlfH19kZqaCnd393zriIyMRFRU\nlPKxlZUVTp06hcuXL8Pe3h6rVq3Cpk2b4OLiUt6nQ0RERERElYjaW3i6dOkChUJRaBl3d/cCkx0A\nCAgIyLOtU6dOym9KiIiIiIjo30ntLTxERERERETlhQkPERERERFpLCY8RERERESksZjwEBERERGR\nxmLCQ0REREREGosJDxERERERaSwmPEREREREpLGY8BARERERkcZiwkNERERERBqLCQ8REREREWks\nJjxERERERKSxmPAQEREREZHGYsJDREREREQaiwkPERERERFpLCY8RERERESksZjwEBERERGRxmLC\nQ0REREREGosJDxERERERaSwmPEREREREpLGY8BARERERkcZiwkNERERERBqLCQ8REREREWksJjxE\nRERERKSxmPAQEREREZHGYsJDREREREQaiwkPERERERFpLCY8RERERESksZjwEBERERGRxmLCQ0RE\nREREGosJDxERERERaSwmPEREREREpLGY8BARERERkcZiwkNERERERBqLCQ8REREREWksJjxERERE\nRKSxmPAQEREREZHGYsJDREREREQaS+0Jz+XLl+Hs7IzatWtDJpNhz549eco8evQIgwcPhomJCQwN\nDeHg4ICHDx8WWu/+/fthb28PQ0ND1KxZE2PHjkVsbGx5nQYREREREVVCak94kpOT0aJFC3z77bcw\nMDDI8/yTJ0/QsWNHWFtb45dffsG9e/fg4eGBKlWqFFhnYGAgXF1dMW7cOAQHB+P48eO4f/8+xowZ\nU56nQkRERERElYyWugPo27cv+vbtCwBwc3PL8/znn38OJycnrFmzRrnNysqq0DqvXr2KOnXqYNas\nWQCAevXqYcaMGcrHRERERET076D2Fp7CCCHg5+eHpk2bom/fvjA3N0ebNm1w6NChQvfr0KEDYmJi\ncOLECQBAfHw8Dh48iP79+1dE2EREREREVElU6oQnLi4OycnJ8PT0RJ8+fXD+/HmMHDkSo0ePxunT\npwvcr127djhw4ABGjx4NHR0dmJubAwB++OGHCoqciIiIiIgqA0kIIdQdRC4jIyN4eXnB1dUVABAT\nEwNLS0uMHj0aPj4+ynKjR49GYmIiTp48mW89wcHB6N27N+bNm4fevXsjJiYG8+fPx/vvvw9vb2+V\nsklJScr/h4SElMNZEREREZUvGxsb5f+NjY3VGAlR5VOpW3jMzMygpaUFW1tble22traIiIgocL+v\nvvoKbdu2xbx589C8eXP06tULW7ZsgY+PD6Kjo8s7bCIiIiIiqiTUPmlBYbS1teHo6JhnCupHjx6h\nXr16Be6XmpoKuVyusk0mk0GSJCgUigL3c3BwKF3AhQgKCir3Y1Dp8BpVbrw+lR+vUeXG61P5leYa\n/b3HChGpUnvCk5KSgtDQUAghoFAoEBERgdu3b8PU1BR16tTBggULMHz4cHTs2BHdu3fHxYsX4evr\ni+PHjyvrcHV1hSRJyu5qAwYMwKRJk/Ddd9/ByckJ0dHRmDt3Llq3bo3atWur61SJiIiIiKiCqb1L\nW1BQEOzt7dG6dWukp6dj6dKlaNWqFZYuXQoAcHZ2xvbt27Fu3TrY2dnBy8sLPj4+6NOnj7KOyMhI\nREVFKR+7ubnh66+/hpeXF1q0aIHhw4ejSZMmOHbsWIWfHxERERERqY/aW3i6dOlSaDczIKcFJ3ci\ng/wEBATk2TZ9+nRMnz691PEREREREdG7S+0tPEREREREROWFCQ8REREREWksJjxERERERKSxmPAQ\nEREREZHGYsJDREREREQaiwkPERERERFpLCY8RERERESksZjwEBERERGRxmLCQ0REREREGosJDxER\nERERaSwmPEREREREpLGY8BARERERkcZiwkNERERERBqLCQ8REREREWksJjxERERERKSxmPAQERER\nEZHGYsJDREREREQaiwkPERERERFpLCY8RERERESksZjwEBERERGRxmLCQ0REREREGosJDxERERER\naSwmPEREREREpLGY8BARERERkcZiwkNERERERBqLCQ8REREREWksJjxERERERKSxmPAQEREREZHG\nYsJDREREREQaiwkPERERERFpLCY8RERERESksZjwEBERERGRxmLCQ0REREREGosJDxERERERaSwm\nPEREREREpLGY8BARERERkcZiwkNERERERBpLS90BXL58GevWrcPNmzcRHR2NH374Aa6uriplHj16\nhIULF+LixYvIyMiAra0t9u3bh8aNGxdYb2ZmJlasWIG9e/ciOjoaFhYWmD9/PmbMmFHep0RERERU\nKQkhkJmZCYVCoe5QiMqMTCaDtrY2JEnK93m1JzzJyclo0aIF3Nzc8iQ6APDkyRN07NgR7u7uWLJk\nCYyNjfHgwQNUqVKl0HqHDx+O6OhofP/992jYsCFiY2ORlpZWXqdBREREVKkJIZCeng4dHZ1Cbw6J\n3iVCCCgUCqSnp0NPTy/f32u1Jzx9+/ZF3759AQBubm55nv/888/h5OSENWvWKLdZWVkVWqe/vz8C\nAgIQFhYGU1NTAEDdunXLLmgiIiKid0xmZiZ0dHQgl8vVHQpRmZEkCXK5HDo6Osrf8X+q1GN4hBDw\n8/ND06ZN0bdvX5ibm6NNmzY4dOhQofsdP34cjo6OWL9+PerUqYNGjRph9uzZSElJqaDIiYiIiCoX\nhUIBmaxS3/oRlZhMJiuwq6baW3gKExcXh+TkZHh6esLDwwOrV6/GhQsXMHr0aBgZGSlbhv7p8ePH\nuHz5MnR1dXH06FEkJiZixowZiImJKTRZCgoKKq9TqdBjUOnwGlVuvD6VH69R5cbrU/mV5BrZ2NgU\nqRy7sZGmKux3u1InPLlZmouLC2bPng0AsLOzQ1BQEDZv3lxgwpP7DcaBAweUY302b96MPn364Pnz\n56hevXrFnAAREREREalVpU54zMzMoKWlBVtbW5Xttra28PX1LXC/mjVrwtLSUmViA1tbWwghEBER\nUWDC4+DgUDaB5yP325ryPAaVDq9R5cbrU/nxGlVuvD6VX2muUVJSUlmHQ6QxKnVHTm1tbTg6OuLh\nw4cq2x89eoR69eoVuF+HDh0QHR2N1NRU5baHDx9CkqRC9yMiIiIiIs2i9oQnJSUFt2/fxq1bt6BQ\nKBAREYHbt28jMjISALBgwQL4+vpix44dCAsLw44dO+Dr66uyno6rq6vKDG+jRo1CtWrVMG7cOAQH\nByMwMBBz5szB0KFDYWZmVuHnSERERETqV7t2bUyaNEn5OCwsDDKZDPv371djVFTe1J7wBAUFwd7e\nHq1bt0Z6ejqWLl2KVq1aYenSpQAAZ2dnbN++HevWrYOdnR28vLzg4+ODPn36KOuIjIxEVFSU8rGh\noSHOnz+PpKQktGnTBiNGjEC3bt2wc+fOCj8/IiIiIip/3t7ekMlk+f7MmjULQM5MXm+buCEwMBDL\nli1DcnJyRYRNFUDtY3i6dOny1tV+XV1d812UNFdAQECebTY2Njhz5kyp4yMiIiKid4MkSVi2bBka\nNGigsr1x48YAclp03rYO0ZUrV7B8+XJMnDjxrQvd07tB7QkPEREREVFZ6d27N9q0aZPvc9ra2m/d\nXwhR1iEBAFJTU2FgYFAudVPhyqRL22+//YbTp09zYU8iIiIiqrT+OYbnnxYvXoxFixYpy8pkMsjl\ncvz3v/9Vljl9+jS6dOmCKlWq4L333kO/fv1w9+5dlXrGjBkDIyMj/Pnnn/jwww9hbLine truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x21cb4421c50>"
|
||||
"<matplotlib.figure.Figure at 0x21515e044a8>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1621,7 +1630,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x21cb3190e48>"
|
||||
"<matplotlib.figure.Figure at 0x21515ee7e10>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1654,6 +1663,7 @@
|
||||
"bp.plot_measurements(zs)\n",
|
||||
"bp.plot_filter(estimates, var=np.array(ps))\n",
|
||||
"bp.show_legend()\n",
|
||||
"plt.ylim(16, 17)\n",
|
||||
"bp.set_labels(x='step', y='volts')\n",
|
||||
"plt.show()\n",
|
||||
" \n",
|
||||
@@ -1681,11 +1691,7 @@
|
||||
"source": [
|
||||
"### Animation\n",
|
||||
"\n",
|
||||
"For those reading this in a browser here is an animation showing the filter working. If you are not using a browser you can see this plot at https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/blob/master/animations/05_volt_animate.gif.\n",
|
||||
"\n",
|
||||
"The top plot in the animation draws a green line for the predicted next voltage, then a red '+' for the actual measurement, draws a light red line to show the residual, and then draws a blue line to the filter's output. You can see that when the filter starts the corrections made are quite large, but after only a few updates the filter only adjusts its output by a small amount even when the measurement is far from it. \n",
|
||||
"\n",
|
||||
"The lower plot shows the Gaussian belief as the filter innovates. When the filter starts the Gaussian curve is centered over 25, our initial guess for the voltage, and is very wide and short due to our initial uncertainty. But as the filter innovates, the Gaussian quickly moves to about 16.0 and becomes taller, reflecting the growing confidence that the filter has in it's estimate for the voltage. You will also note that the Gaussian's height bounces up and down a little bit. If you watch closely you will see that the Gaussian becomes a bit shorter and more spread out during the prediction step, and becomes taller and narrower as the filter incorporates another measurement."
|
||||
"For those reading this in a browser here is an animation showing the filter working. If you are not using a browser you can see this plot at https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/blob/master/animations/05_volt_animate.gif."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1699,6 +1705,10 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"The top plot in the animation draws a green line for the predicted next voltage, then a red '+' for the actual measurement, draws a light red line to show the residual, and then draws a blue line to the filter's output. You can see that when the filter starts the corrections made are quite large, but after only a few updates the filter only adjusts its output by a small amount even when the measurement is far from it. \n",
|
||||
"\n",
|
||||
"The lower plot shows the Gaussian belief as the filter innovates. When the filter starts the Gaussian curve is centered over 25, our initial guess for the voltage, and is very wide and short due to our initial uncertainty. But as the filter innovates, the Gaussian quickly moves to about 16.0 and becomes taller, reflecting the growing confidence that the filter has in it's estimate for the voltage. You will also note that the Gaussian's height bounces up and down a little bit. If you watch closely you will see that the Gaussian becomes a bit shorter and more spread out during the prediction step, and becomes taller and narrower as the filter incorporates another measurement.\n",
|
||||
"\n",
|
||||
"Think of this animation in terms of the g-h filter. At each step the g-h filter makes a prediction, takes a measurement, computes the residual (the difference between the prediction and the measurement), and then selects a point on the residual line based on the scaling factor $g$. The Kalman filter is doing exactly the same thing, except that the scaling factor $g$ varies with time. As the filter becomes more confident in its state the scaling factor favors the filter's prediction over the measurement. "
|
||||
]
|
||||
},
|
||||
@@ -1722,7 +1732,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x21cb302d828>"
|
||||
"<matplotlib.figure.Figure at 0x215149b2a58>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1780,7 +1790,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x21cb4451a58>"
|
||||
"<matplotlib.figure.Figure at 0x21515fcbbe0>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1837,7 +1847,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x21cb44510b8>"
|
||||
"<matplotlib.figure.Figure at 0x21515fda4e0>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1891,7 +1901,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x21cb2824dd8>"
|
||||
"<matplotlib.figure.Figure at 0x21514b7ca58>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1939,7 +1949,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x21cb2f83208>"
|
||||
"<matplotlib.figure.Figure at 0x21514c49748>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1994,7 +2004,7 @@
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x21cb3033438>"
|
||||
"<matplotlib.figure.Figure at 0x21515f59898>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -2040,7 +2050,7 @@
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAmAAAAEWCAYAAADB+CuRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl4k1WiP/Bv0i1NW9KWtmnTFkgXutGKUMsqslVERwUX\nlLEjyoh6hTsyOKMj3EixKuiMMnpVdK5yRYFRwPHiT4GxIktZCpR9K3RJQRqS7vuevL8/SgOhO83a\nfj/P08fmvCfve1pew5dzznuOSBAEAURERERkNWJbN4CIiIhooGEAIyIiIrIyBjAiIiIiK2MAIyIi\nIrIyBjAiIiIiK2MAIyIiIrIyBjAiIiIiK+s2gK1cuRJJSUmQyWQICAjAAw88gLNnz5rUefrppyEW\ni02+xo8fb7FGExERETmybgPY3r17sWjRIhw8eBC7du2Cs7Mzpk+fjoqKCpN6ycnJ0Ol00Gq10Gq1\n2LZtm8UaTUREROTInLursH37dpPXX331FWQyGfbv34/77rvPWO7m5gZ/f3/zt5CIiIion+n1HLCq\nqioYDAb4+PiYlO/btw9yuRxRUVF49tlnUVxcbLZGEhEREfUnot7uBTlnzhzk5+fjyJEjEIlEAIBN\nmzZBKpVCqVSioKAAy5Ytg8FgwNGjR+Hi4mKRhhMRERE5ql4FsCVLlmDTpk3Yv38/hg4d2mm9q1ev\nYujQodi0aRNmzZplcqyysvLWW0tERERkZ2QyWa/f0+0csDZ//OMfsWnTJuzevbvL8AUAQUFBCAkJ\nQU5OTq8bRERERNTf9SiAvfjii9i8eTN2796NyMjIbusXFxejsLAQQUFBfW4gERERUX/TbQBbuHAh\n1q9fj61bt0Imk0Gn0wEAPD094eHhgdraWqSmpuLhhx9GUFAQ1Go1li5disDAQMyePbvLc99Klx0N\nPFlZWQCAxMREG7eEHAXvGeot3jPUW32dUtXtU5Br1qxBTU0Npk2bBoVCYfx69913AQBOTk44ffo0\nZs2ahaioKDz99NOIiYnBgQMH4OHh0afGEREREfVH3faAGQyGLo9LJBLs2LHDbA0iIiIi6u+4FyQR\nERGRlTGAEREREVkZAxgRERGRlTGAEREREVkZAxgRERGRlTGAEREREVkZAxgRERGRlTGAEREREVkZ\nAxgRERGRlTGAEREREVkZAxgRERGRlTGAEREREVkZAxgRERGRlTGAEREREVkZAxgRERGRlTGAERER\nEVkZAxgRERGRlTGAEREREVkZAxgRERGRlTGAEREREVkZAxgRERGRlTGAEREREVkZAxgRERGRlTGA\nEREREVkZAxgRERGRlTGAEREREVkZAxgRERGRlTGAEREREVkZAxgRERGRlTGAEREREVkZAxgRERGR\nlTGAEREREVkZAxgRERGRlTGAEREREVkZAxgRERGRlTGAEREREVkZAxgRERGRlXUbwFauXImkpCTI\nZDIEBATggQcewNmzZ9vVS01NRXBwMKRSKaZMmYJz585ZpMFEREREN1Kr1UhJScGUKVOQkpICtVpt\n6yZ1q9sAtnfvXixatAgHDx7Erl274OzsjOnTp6OiosJY5+2338bq1avx0UcfISsrCwEBAUhOTkZt\nba1FG09EREQDm1qtRnJyMjZs2IDdu3djw4YNSE5OtvsQ1m0A2759O5588knExsYiLi4OX331FYqL\ni7F//35jnffffx+vvvoqZs2ahdjYWKxbtw7V1dXYuHGjRRtPREREA5tKpUJeXp5JWV5eHlQqlY1a\n1DO9ngNWVVUFg8EAHx8fAK3JU6vVIjk52VhHIpFg0qRJOHDggPlaSkRERHSTwsLCDss1Go2VW9I7\nvQ5gL774IkaNGoVx48YBALRaLUQiEeRyuUk9uVwOrVZrnlYSERERdSA4OLjDcoVCYeWW9I5zbyov\nWbIEBw4cwP79+yESifp88aysrD6fgwYO3i/UW7xnqLd4zzieRx99FHv27MGVK1eMZSEhIXj00Uct\n+ucZGRnZp/f3OID98Y9/xKZNm7B7924MHTrUWB4YGAhBEKDT6RASEmIs1+l0CAwM7FPjiIiIiLoS\nHByMDz/8EJ988gmKi4vh7++P559/vtOeMXvRowD24osvYvPmzdi9e3e7xKdUKhEYGIj09HSMHj0a\nANDQ0ICMjAy8++67XZ43MTHxFptNA0nbv2B4v1BP8Z6h3uI949gSExPx4IMPWvWalZWVfXp/twFs\n4cKFWL9+PbZu3QqZTAadTgcA8PT0hIeHBwBg8eLFWLlyJaKiohAZGYk33ngDXl5emDt3bp8aR0RE\nRNQfdRvA1qxZA5FIhGnTppmUL1++HK+99hoA4OWXX0ZDQwMWLVqE8vJyjBkzBj/99JMxoBERERHR\ndd0GMIPB0KMTvfbaa8ZARkRERESd416QRERERFbGAEZERERkZQxgRERERFbGAEZERNSPqdVqpKSk\n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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x21cb2f831d0>"
|
||||
"<matplotlib.figure.Figure at 0x215149eaa20>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -2099,7 +2109,7 @@
|
||||
"\n",
|
||||
"```python\n",
|
||||
"for i in range(100):\n",
|
||||
" Z = math.sin(i/3.) * 2\n",
|
||||
" z = math.sin(i/3.) * 2\n",
|
||||
"```\n",
|
||||
" \n",
|
||||
"Adjust the variance and initial positions to see the effect. What is, for example, the result of a very bad initial guess?"
|
||||
@@ -2135,7 +2145,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x21cb426ee80>"
|
||||
"<matplotlib.figure.Figure at 0x21515cb03c8>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -2185,9 +2195,22 @@
|
||||
"source": [
|
||||
"## Fixed Gain Filters\n",
|
||||
"\n",
|
||||
"Embedded computers usually have extremely limited processors. Many do not have floating point circuitry. These simple equations can impose a heavy burden on the chip. This is less true as technology advances, but do not underestimate the value of spending 10 cents less on a processor when millions will be used.\n",
|
||||
"Embedded computers usually have extremely limited processors. Many do not have floating point circuitry. These simple equations can impose a heavy burden on the chip. This is less true as technology advances, but do not underestimate the value of spending one dollar less on a processor when you will be buying millions of them.\n",
|
||||
"\n",
|
||||
"In the example above the variance of the filter converged to a fixed value. This will always happen if the variance of the measurement and process is a constant. You can take advantage of this fact by running simulations to determine what the variance converges to. Then you can hard code this value into your filter. So long as you initialize the filter to a good starting guess (I recommend using the first measurement as your initial value) the filter will perform very well. "
|
||||
"In the example above the variance of the filter converged to a fixed value. This will always happen if the variance of the measurement and process is a constant. You can take advantage of this fact by running simulations to determine what the variance converges to. Then you can hard code this value into your filter. So long as you initialize the filter to a good starting guess (I recommend using the first measurement as your initial value) the filter will perform very well. For example, the dog tracking filter can be reduced to this:\n",
|
||||
"\n",
|
||||
"```python\n",
|
||||
"def update(x, z):\n",
|
||||
" K = .13232 # experimentally derived Kalman gain\n",
|
||||
" y = z - x # residual\n",
|
||||
" x = x + K*y # posterior\n",
|
||||
" return x\n",
|
||||
" \n",
|
||||
"def predict(x):\n",
|
||||
" return x + vel*dt\n",
|
||||
"```\n",
|
||||
"\n",
|
||||
"I used the Kalman gain form of the update function to emphasize that we do not need to consider the variances at all. If the variances converge to a single value so does the Kalman gain. "
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -2196,19 +2219,19 @@
|
||||
"source": [
|
||||
"## FilterPy's Implementation\n",
|
||||
"\n",
|
||||
"FilterPy implements `predict` and `update`. They work not only for the univariate case, but the more general multivariate case that we learn in subsequent chapters. Because of this their interface is slightly different. They do not take Gaussians as tuples, but as two separately named variables.\n",
|
||||
"FilterPy implements `predict()` and `update()`. They work not only for the univariate case developed in this chapter, but the more general multivariate case that we learn in subsequent chapters. Because of this their interface is slightly different. They do not take Gaussians as tuples, but as two separately named variables.\n",
|
||||
"\n",
|
||||
"Predict takes several arguments, but we will only need to use these four:\n",
|
||||
"`predict()` takes several arguments, but we will only need to use these four:\n",
|
||||
"\n",
|
||||
"```python\n",
|
||||
"predict(x, P, u, Q)\n",
|
||||
"```\n",
|
||||
"\n",
|
||||
"`x` is the state of the system. `P` is the variance of the system. `u` is the movement due to the process, and `Q` is the noise in the process. You will need to used named arguments when you call `predict` because most of the arguments to `predict` are optional. The third argument to `predict` is **not** `u`.\n",
|
||||
"`x` is the state of the system. `P` is the variance of the system. `u` is the movement due to the process, and `Q` is the noise in the process. You will need to used named arguments when you call `predict()` because most of the arguments are optional. The third argument to `predict()` is **not** `u`.\n",
|
||||
"\n",
|
||||
"These may strike you as terrible names. They are, but as I already mentioned they come from a long history of control theory, and every paper or book you read will use these names. So, we just have to get used to it. Refusing to memorize these means you will never be able to read the literature.\n",
|
||||
"These may strike you as terrible names. They are! As I already mentioned they come from a long history of control theory, and every paper or book you read will use these names. So, we just have to get used to it. Refusing to memorize them means you will never be able to read the literature.\n",
|
||||
"\n",
|
||||
"Let's try it for the state $\\mathcal N(10, 3)$ and the movement $\\mathcal N(1, 4)$. We'd expect a final position of 11 with a variance of 7."
|
||||
"Let's try it for the state $\\mathcal N(10, 3)$ and the movement $\\mathcal N(1, 4)$. We'd expect a final position of 11 (10+1) with a variance of 7 (3+4)."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -2257,7 +2280,7 @@
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"(11.350, 4.550)"
|
||||
"(11.364, 4.455)"
|
||||
]
|
||||
},
|
||||
"execution_count": 32,
|
||||
@@ -2266,8 +2289,8 @@
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"x, P = kf.predict(x=10, P=3., u=1, Q=4)\n",
|
||||
"x, P = kf.update(x=x, P=P, z=12, R=13)\n",
|
||||
"x, P = kf.predict(x=10, P=3., u=1, Q=2**2)\n",
|
||||
"x, P = kf.update(x=x, P=P, z=12, R=3.5**2)\n",
|
||||
"x, P"
|
||||
]
|
||||
},
|
||||
@@ -2296,7 +2319,7 @@
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python [default]",
|
||||
"display_name": "Python 3",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
@@ -2310,7 +2333,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.5.1"
|
||||
"version": "3.5.2"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "raw",
|
||||
"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)"
|
||||
@@ -326,7 +326,7 @@
|
||||
"\n",
|
||||
"We've been using Gaussians for a scalar random variable, expressed as $\\mathcal{N}(\\mu, \\sigma^2)$. A more formal term for this is *univariate normal*, where univariate means 'one variable'. The probability distribution of the Gaussian is known as the *univariate normal distribution*.\n",
|
||||
"\n",
|
||||
"What might a *multivariate normal distribution* be? *Multivariate* means multiple variables. Our goal is to be able to represent a normal distribution with multiple dimensions. I don't necessarily mean spatial dimensions - it could be position, velocity, and acceleration. Consider a two dimensional case. It might be the *x* and *y* coordinates of a robot, it might be the position and velocity of a dog on the x-axis, or milk production and feed rate at a dairy. It doesn't really matter. We can see that for $N$ dimensions, we need $N$ means, which we will arrange in a column matrix (vector) like so:\n",
|
||||
"What might a *multivariate normal distribution* be? *Multivariate* means multiple variables. Our goal is to be able to represent a normal distribution with multiple dimensions. I don't necessarily mean spatial dimensions - if we track the position, velocity, and acceleration of an aircraft in (x, y, z) that gives us a nine dimensional problem. Consider a two dimensional case. It might be the *x* and *y* coordinates of a robot, it might be the position and velocity of a dog on the x-axis, or milk production and feed rate at a dairy. It doesn't really matter. We can see that for $N$ dimensions, we need $N$ means, which we will arrange in a column matrix (vector) like so:\n",
|
||||
"\n",
|
||||
"$$\n",
|
||||
"\\mu = \\begin{bmatrix}\\mu_1\\\\\\mu_2\\\\ \\vdots \\\\\\mu_n\\end{bmatrix}\n",
|
||||
@@ -357,7 +357,7 @@
|
||||
"\n",
|
||||
"*Covariance* describes how much two variables vary together. Covariance is short for *correlated variances*. In other words, *variance* is a measure for how a population vary amongst themselves, and *covariance* is a measure for how much two variables change in relation to each other. For example, as height increases weight also generally increases. These variables are *correlated*. They are *positively correlated* because as one variable gets larger so does the other. As the outdoor temperature decreases home heating bills increase. These are *inversely correlated* or *negatively correlated* because as one variable gets larger the other variable lowers. The price of tea and the number of tail wags my dog makes have no relation to each other, and we say they are *uncorrelated* or *independent*- each can change independent of the other.\n",
|
||||
"\n",
|
||||
"Correlation allows prediction. If you are significantly taller than me I can predict that you also weigh more than me. As winter comes I predict that I will be spending more to heat my house. If my dog wags his tail more I don't conclude that tea prices will be increasing.\n",
|
||||
"Correlation allows prediction. If you are significantly taller than me I can predict that you also weigh more than me. As winter comes I predict that I will be spending more to heat my house. If my dog wags his tail more I don't conclude that tea prices will be changing.\n",
|
||||
"\n",
|
||||
"For example, here is a plot of height and weight of students on the school's track team. If a student is 68 inches tall I can predict they weigh roughly 160 pounds. Since the correlation is not perfect neither is my prediction. "
|
||||
]
|
||||
@@ -373,7 +373,7 @@
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAEtCAYAAACYp9GOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XtclHX6N/DPwIwgIATKgIqiFCp4IvEIiKngiifUPKCo\naMrMtuma2c+yfortulmbbdGu+TAqSpSJWaB4DPIs1IaWmoeUUBEJPCEogg4z9/OHD/fjNIOiDMzp\n83699g/me8/MdQV7+5lr7oNEEAQBRERERGQz7ExdABERERE1LQZAIiIiIhvDAEhERERkYxgAiYiI\niGwMAyARERGRjWEAJCIiIrIxDIBERERENsakAXDFihXo27cv3NzcIJfLMWbMGJw6dUpcr6mpwRtv\nvIGePXvCxcUFbdq0QWxsLC5fvqzzOvfv38e8efPg6ekJFxcXREdH48qVK03dDhEREZFFMGkAPHjw\nIObOnYvc3Fzs27cPUqkUERERuHXrFgDg7t27+Pnnn7FkyRL89NNP2LZtGy5fvoyoqChotVrxdebP\nn4/09HSkpaXh8OHDqKiowKhRo8BrXBMRERHpk5jTnUAqKyvh5uaGrVu3YuTIkQa3OXPmDLp27YqT\nJ0+ia9euqKiogKenJ1JSUhATEwMAKCoqgq+vL3bv3o3IyMimbIGIiIjI7JnVMYAVFRXQarVwd3ev\nc5vy8nJIJBJxm6NHj6KmpkYn6Pn4+CAgIAA5OTmNXjMRERGRpTGrADh//nz06tULAwYMMLiuVqux\ncOFCjBkzBm3atAEAlJSUwN7eHi1bttTZ1svLCyUlJY1eMxEREZGlkZq6gFqvvfYacnJycOTIEUgk\nEr11jUaD2NhYVFRUYPv27U/9PuXl5Q0pk4iIiMisuLm5PfFzzGICuGDBAqSlpWHfvn3w9fXVW9do\nNIiJicEvv/yCvXv36nxF7O3tDY1Ggxs3bug8p7S0FN7e3o1eOxEREZGlMXkAnD9/vhj+/P399dZr\namowadIk/PLLL9i/fz88PT111oODgyGVSpGVlSU+VlRUhDNnziA0NLTR6yciIiKyNCb9CviVV17B\n559/jq1bt8LNzQ2lpaUAABcXFzg7O0Oj0WDChAk4evQoMjMzIQiCuI2bmxscHR3h6uqK2bNnY9Gi\nRfD09ISHhwcWLlyIoKAgDB069JHv/zQjU0uVl5cHAOjdu7eJK2l67N32erfVvgH2Dthe77baN2Db\nvTf0kDaTBsDVq1dDIpHoBbWEhAQsXboURUVFyMzMBPBg0vew9evXY8aMGQCAxMREyGQyxMTEoKqq\nChEREUhNTTV4LCERERGRrTNpAHz4Ys6G+Pr6QqPRPPZ1ZDIZEhMTkZiYaKzSiIiIiKyWyY8BJCIi\nIqKmxQBIREREZGMYAImIiIhsDAMgERERkY1hACQiIiKyMQyARERERDaGAZCIiIjIxjAAEhEREdkY\nBkAiIiIiG8MASERERGRjTHorOCIiIqKnoVZrce2aLy5dkuHu3SqEhDhAKuVcq74YAImIiMji5Obe\nQ3R0K6jVEshkArKzqxEe3tzUZVkMRmUiIiKyOAUFEqjVEgCAWi1BQYHExBVZFgZAIiIisjh+fgJk\nMgEAIJMJ8PMTTFyRZeFXwERERGRxQkIckJFxHYWFMgQGOiAkxMHUJVkUBkAiIiKyOFKpHeTyS5DL\ngd69e5u6HIvDr4CJiIiIbAwDIBEREZGNYQAkIiIisjEMgEREREQ2hgGQiIiIyMYwABIRERHZGAZA\nIiIiIhtj0gC4YsUK9O3bF25ubpDL5RgzZgxOnTqlt92yZcvQtm1bODk5YfDgwTh9+rTO+v379zFv\n3jx4enrCxcUF0dHRuHLlSlO1QURERGRRTBoADx48iLlz5yI3Nxf79u2DVCpFREQEbt26JW7z/vvv\n46OPPsKqVauQl5cHuVyOyMhIVFZWitvMnz8f6enpSEtLw+HDh1FRUYFRo0ZBEHhbGCIiImskCAKq\nqqpMXYbFMmkA3LVrF2bMmIHAwEB07doVqampuHbtGo4cOSJuk5iYiMWLF2Ps2LEIDAxESkoKbt++\njY0bNwIAKioqkJycjJUrV2LIkCEICgpCamoqTpw4gezsbFO1RkRERI2gvLwcn376KZ5//nksX77c\n1OVYLLM6BrCiogJarRbu7u4AgAsXLqCkpASRkZHiNo6OjggPD0dOTg4AIC8vDzU1NTrb+Pj4ICAg\nQNyGiIiILJcgCPjhhx8we/ZstGnTBq+88gqOHz+Offv2oayszNTlWSSzuhfw/Pnz0atXLwwYMAAA\nUFJSAolEAi8vL53tvLy8UFxcDAAoLS2Fvb09WrZsqbdNSUlJ0xRORERERldeXo4vvvgCSUlJOHHi\nhN66nZ0dTp8+rTMEovoxmwD42muvIScnB0eOHIFEImmS98zLy2uS9zEntthzLfZue2y1b4C92yJr\n6VsQBPzyyy9IT0/Ht99+i3v37ult89xzz2HcuHGIiopCixYtrKb3J+Hv79+g55tFAFywYAE2b96M\n/fv3w9fXV3zc29sbgiCgtLQUPj4+4uOlpaXw9vYWt9FoNLhx44bOFLC0tBTh4eFN1wQRERE9tdu3\nb2PXrl3IyMjA+fPn9dYdHBwwbNgwjBs3Dt26dWuyYZG1MnkAnD9/Pr766ivs379fL8127NgR3t7e\nyMrKQnBwMACguroahw4dwocffggACA4OhlQqRVZWFmJiYgAARUVFOHPmDEJDQx/53r17926EjsxT\n7acjW+q5Fnu3vd5ttW+AvQO217sl9y0IAr7//nuoVCqkpaUZPKu3R48eUCqViI2NhZubm86aJffe\nUOXl5Q16vkkD4CuvvILPP/8cW7duhZubG0pLSwEALi4ucHZ2BgC8+uqrWLFiBTp37gx/f38sX74c\nLVq0wJQpUwAArq6umD17NhYtWgRPT094eHhg4cKFCAoKwtChQ03WGxERERl269YtfP7551CpVDh5\n8qTeupOTE2JiYqBUKtGnTx9O+xqBSQPg6tWrIZFI9IJaQkICli5dCgBYtGgRqqurMXfuXJSVlaFf\nv3749ttvxYAIPLhUjEwmQ0xMDKqqqhAREYHU1FT+wRAREZmJ2mlfUlISNm/ebHDa17NnTyiVSkyd\nOlVv2kfGZdIAqNVq67Xd0qVLxUBoiEwmQ2JiIhITE41VGhERERlBWVmZOO375Zdf9NadnJwwZcoU\nKBQKTvuakMmPASQiIiLrIggCcnNzxWP7qqur9bYJCgoSp32urq4mqNK2MQASERGRUZSVlSE1NRUq\nlQqnTp3SW3d2dhanfb179+a0z4QYAImIiOipCYKAnJwcqFQqbN682eC07/nnn4dSqcSUKVM47TMT\nDIBERET0xOoz7Zs6dSoUCgWCg4M57TMzDIBERERUL4Ig4MiRI1CpVPjqq68eOe2bOnUqWrRoYYIq\nqT4YAImIiOiRbt68KU77Tp8+rbfu4uKiM+0j88cASERERHoEQcDhw4fFaZ+he/IGBwdDoVBgypQp\nnPZZGAZAIiIiEt28eROfffYZVCoVzpw5o7fOaZ91YAAkIiKycbXTvqSkJGzZssXgtK93795QKBSI\niYnhtM8KMAASERHZqBs3bojTvrNnz+qtu7i4IDY2FgqFAr169TJBhdRYGACJiIhsiCAIOHToEFQq\n1SOnfUqlEjExMXBxcTFBldTYGACJiIhswI0bN5CSkgKVSoVff/1Vb71FixaIjY1FfHw8p302gAGQ\niIjISgmCgIMHD4rTvvv37+tt06dPHyiVSkyePJnTPhvCAEhERGRlrl+/Lk77zp07p7feokULTJs2\nDfHx8Xj++edNUCGZGgMgERGRFRAEAQcOHIBKpcLXX39tcNrXt29fKBQKTvuIAZCIiMiS3bp1C9u3\nb0dsbKzBaZ+rq6s47QsKCjJBhWSOGACJiIgsjCAI2L9/vzjtU6vVetv069dPnPY5OzuboEoyZwyA\nREREFuLatWvisX3nz5/XW6+d9ikUCvTs2dMEFZKlYAAkIiIyY4IgYN++fVCpVPjmm28MTvu6deuG\n1157DZMmTeK0j+qFAZCIiMgMXb16VZz25efn6627urpi+vTpCAkJQadOndC7d28TVEmWigGQiIjI\nTGi1WnHal56ebnDa179/fyiVSkycOBHOzs7Iy8szQaVk6RgAiYiITOzq1avYsGED1qxZY3Da5+bm\nhunTpyM+Ph49evQwQYVkbRgAiYiITKB22peUlISMjAyD074BAwaI0z4nJycTVEnWys7UBRw6dAjR\n0dHw8fGBnZ0dPvvsM531yspKzJs3D+3atYOTkxO6dOmCjz/+WGeb+/fvY968efD09ISLiwuio6Nx\n5cqVpmyDiIioXkpLS/H++++jU6dOiIiIwFdffaUT/tzc3DBv3jycOHECOTk5iIuLY/gjozP5BPDO\nnTvo3r074uLiMGPGDL31BQsWYO/evfjiiy/QoUMHHDx4EHPmzIGnpydiY2MBAPPnz0dmZibS0tLg\n4eGBBQsWYNSoUTh27BgkEklTt0RERKRDq9Vi7969UKlUdU77QkJCoFAoOO2jJmHyABgVFYWoqCgA\nQFxcnN56bm4upk+fjvDwcADAtGnTsHbtWvzwww+IjY1FRUUFkpOTkZKSgiFDhgAAUlNT4evri+zs\nbERGRjZdM0RERA8pLS3F+vXrsWbNGhQUFOitP/PMM5gxYwbi4+PRrVs3E1RItsrkXwE/TlhYGDIz\nM1FUVAQAyMnJwfHjx8XQePToUdTU1OgEPR8fHwQEBCAnJ8ckNRMRke3SarXIysrCxIkT4ePjg8WL\nF+uFv9DQUKSkpODKlStITExk+KMmZ/IJ4ON88sknUCqVaN++PaRSKSQSCf7973+LALine truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x2298f4a3a58>"
|
||||
"<matplotlib.figure.Figure at 0x1df2ea2eeb8>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -401,9 +401,9 @@
|
||||
"\n",
|
||||
"Where $\\mathbb E[X]$ is the *expected value* of X, defined as\n",
|
||||
"\n",
|
||||
"$$\\mathbb E[X] = \\begin{cases} \\sum_{i=1}^n p_ix_i & \\mbox{discrete}\\\\ \\int_{-\\infty}^\\infty x\\, f(x) & \\mbox{continuous}\\end{cases}$$\n",
|
||||
"$$\\mathbb E[X] = \\begin{cases} \\sum_{i=1}^n p_ix_i & \\mbox{discrete}\\\\ \\int_{-\\infty}^\\infty f(x)\\, x & \\mbox{continuous}\\end{cases}$$\n",
|
||||
"\n",
|
||||
"We assume each data point is equally likely, so the probability of each is $\\frac{1}{N}$, yielding:\n",
|
||||
"We assume each data point is equally likely, so the probability of each is $\\frac{1}{N}$, giving\n",
|
||||
"\n",
|
||||
"$$\\mathbb E[X] = \\frac{1}{N}\\sum_{i=1}^n x_i$$\n",
|
||||
"\n",
|
||||
@@ -411,7 +411,10 @@
|
||||
"\n",
|
||||
"Compare the covariance equation to the equation for the variance. As you can see they are very similar:\n",
|
||||
"\n",
|
||||
"$$VAR(X) = \\sigma_x^2 = \\mathbb E[(X - \\mu)^2]$$"
|
||||
"$$\\begin{aligned}VAR(X) = \\sigma_x^2 &= \\mathbb E[(X - \\mu)^2]\\\\\n",
|
||||
"COV(X, Y) = \\sigma_{xy} &= \\mathbb E\\big[(X-\\mu_x)(Y-\\mu_y)\\big]\\end{aligned}$$\n",
|
||||
"\n",
|
||||
"In particular, if you compute $COV(X, X)$ you get the equation for $VAR(X)$, which supports my statement that the variance computes how a random variable varies amongst itself."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -428,7 +431,7 @@
|
||||
" \\end{bmatrix}\n",
|
||||
"$$\n",
|
||||
"\n",
|
||||
"The diagonal contains the variance for each variable, and that all off-diagonal elements contain the covariance between the $i^{th}$ and $j^{th}$ variables. So $\\sigma_3^2$ is the variance of the third variable, and $\\sigma_{13}$ is the covariance between the first and third variables.\n",
|
||||
"The diagonal contains the variance for each variable, and the off-diagonal elements contain the covariance between the $i^{th}$ and $j^{th}$ variables. So $\\sigma_3^2$ is the variance of the third variable, and $\\sigma_{13}$ is the covariance between the first and third variables.\n",
|
||||
"\n",
|
||||
"A covariance of 0 indicates no correlation. If the variance for $x$ is 10, the variance for $y$ is 4, and there is no linear correlation between $x$ and $y$, then we would write\n",
|
||||
"\n",
|
||||
@@ -525,7 +528,7 @@
|
||||
"\n",
|
||||
"This is a bit beyond the scope of this book. Briefly, suppose the actual class size is 200 students, and we took a sample of 5 students to perform this computation because we couldn't afford to measure and weigh all 200 students. It is nearly certain that there will be some error in our estimator because the sample is unlikely to perfectly represent the class. As our sample size approaches 200 the error will approach 0. We say there is no *bias* in the latter, and that we have an *unbiased estimator*. In contrast, when we take a small sample there is bias (error is nonzero), and we have a *biased estimator*.\n",
|
||||
"\n",
|
||||
"If the error is zero it makes sense to divide by $N$. I will not prove why, but for biased estimators we use $\\frac{1}{N-1}$ to correct for the small sample size. NumPy does this by default because in practice we are almost always working from data samples. If you want the unbiased estimator, which we computed above, use `bias=1` in the call to `np.cov'."
|
||||
"If the error is zero it makes sense to divide by $N$. I will not prove why, but for biased estimators we use $\\frac{1}{N-1}$ to correct for the small sample size. NumPy does this by default because in practice we are almost always working from data samples from a larger collection. If you want the unbiased estimator, which we computed above, use `bias=1` in the call to `np.cov'."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -604,7 +607,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x22990565320>"
|
||||
"<matplotlib.figure.Figure at 0x1df2ea2ec50>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -644,9 +647,9 @@
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x229905c01d0>"
|
||||
"<matplotlib.figure.Figure at 0x1df2faa4dd8>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -656,8 +659,8 @@
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"[[ 10.3599 2.9076]\n",
|
||||
" [ 2.9076 2.4082]]\n"
|
||||
"[[ 10.9154 2.9862]\n",
|
||||
" [ 2.9862 2.3052]]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -687,9 +690,9 @@
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x2298f4a3908>"
|
||||
"<matplotlib.figure.Figure at 0x1df2ea2eac8>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -699,8 +702,8 @@
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"[[ 1.0005 -0.008 ]\n",
|
||||
" [-0.008 0.9965]]\n"
|
||||
"[[ 1.003 -0.0008]\n",
|
||||
" [-0.0008 1.0014]]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -736,7 +739,7 @@
|
||||
"f(x, \\mu, \\sigma) = \\frac{1}{\\sqrt{2\\pi\\sigma^2}} \\exp \\Big [{-\\frac{1}{2}}{(x-\\mu)^2}/\\sigma^2 \\Big ]\n",
|
||||
"$$\n",
|
||||
"\n",
|
||||
"The multivariate version merely replaces the scalars of the univariate equations with matrices. If you are reasonably well-versed in linear algebra this equation should look quite manageable; if not, don't worry, we have code to compute it for us! Let's plot it and see what it looks like. This plot is interactive: use your mouse to spin the plot and view it from different angles."
|
||||
"The multivariate version merely replaces the scalars of the univariate equations with matrices. If you are reasonably well-versed in linear algebra this equation should look quite manageable; if not, don't worry, we have code to compute it for us! Let's plot it and see what it looks like."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -748,9 +751,9 @@
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x22990660208>"
|
||||
"<matplotlib.figure.Figure at 0x1df30e7f908>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -773,7 +776,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"This is a plot of multivariate Gaussian with a mean of $\\mu=[\\begin{smallmatrix}2\\\\17\\end{smallmatrix}]$ and a covariance of $\\Sigma=[\\begin{smallmatrix}10&0\\\\0&4\\end{smallmatrix}]$. The three dimensional shape shows the probability density for any value of ($X, Y$) in the z-axis. I have projected the variance for x and y onto the walls of the chart - you can see that they take on the Gaussian bell curve shape. The curve for $X$ is wider than the curve for $Y$, which is explained by $\\sigma_x^2=10$ and $\\sigma_y^2=4$. The highest point of the 3D surface is at the the means for $X$ and $Y$. \n",
|
||||
"This is a plot of multivariate Gaussian with a mean of $\\mu=[\\begin{smallmatrix}2\\\\17\\end{smallmatrix}]$ and a covariance of $\\Sigma=[\\begin{smallmatrix}10&0\\\\0&4\\end{smallmatrix}]$. The three dimensional shape shows the probability density for any value of $(X, Y)$ in the z-axis. I have projected the variance for x and y onto the walls of the chart - you can see that they take on the Gaussian bell curve shape. The curve for $X$ is wider than the curve for $Y$, which is explained by $\\sigma_x^2=10$ and $\\sigma_y^2=4$. The highest point of the 3D surface is at the the means for $X$ and $Y$. \n",
|
||||
"\n",
|
||||
"All multivariate Gaussians have this shape. If we think of this as the Gaussian for the position of a dog, the z-value at each point of ($X, Y$) is the probability density of the dog being at that position. Strictly speaking this is the *joint probability density function*, which I will define soon. So, the dog has the highest probability of being near (2, 17), a modest probability of being near (5, 14), and a very low probability of being near (10, 10). As with the univariate case this is a *probability density*, not a *probability*. Continuous distributions have an infinite range, and so the probability of being exactly at (2, 17), or any other point, is 0%. We can compute the probability of being within a given range by computing the area under the curve with an integral."
|
||||
]
|
||||
@@ -782,7 +785,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"FilterPy [2] implements the equation with the function `multivariate_gaussian` in the `filterpy.stats.` module. SciPy's `stats` module implements the multivariate normal equation with `multivariate_normal()`. It implements a 'frozen' form where you set the mean and covariance once, and then calculate the probability for any number of values for x over any arbitrary number of calls. I named my function `multivariate_gaussian()` to ensure it is never confused with the SciPy version.\n",
|
||||
"FilterPy [2] implements the equation with the function `multivariate_gaussian()` in the `filterpy.stats.` module. SciPy's `stats` module implements the multivariate normal equation with `multivariate_normal()`. It implements a 'frozen' form where you set the mean and covariance once, and then calculate the probability for any number of values for x over any arbitrary number of calls. I named my function `multivariate_gaussian()` to ensure it is never confused with the SciPy version.\n",
|
||||
"\n",
|
||||
"> The <a href=\"http://docs.scipy.org/doc/scipy/reference/tutorial/stats.html\">tutorial</a>[1] for the `scipy.stats` module explains 'freezing' distributions and other very useful features."
|
||||
]
|
||||
@@ -892,7 +895,7 @@
|
||||
"source": [
|
||||
"It's time to define some terms. The *joint probability*, denoted $P(x,y)$, is the probability of both $x$ and $y$ happening. For example, if you roll two die $P(2,5)$ is the probability of the first die rolling a 2 and the second die rolling a 5. Assuming the die are six sided and fair, the probability $P(2,5) = \\frac{1}{6}\\times \\frac{1}{6}=\\frac{1}{36}$. The 3D chart above shows the *joint probability density function*.\n",
|
||||
"\n",
|
||||
"The *marginal probability* is the probability of an event happening without regard of any other event. In the chart above the Gaussian curve drawn to the left is the marginal for $Y$. This is the probability for the dog being at any position in $Y$ disregarding the value for $X$. Earlier I wrote \"I have projected the variance for x and y onto the walls of the chart\"; these are the marginal probabilities for $x$ and $y$. "
|
||||
"The *marginal probability* is the probability of an event happening without regard of any other event. In the chart above the Gaussian curve drawn to the left is the marginal for $Y$. This is the probability for the dog being at any position in $Y$ disregarding the value for $X$. Earlier I wrote \"I have projected the variance for x and y onto the walls of the chart\"; these are the marginal probabilities for $x$ and $y$. Another computational benefit of Gaussians is that the marginal of a multivariate Gaussian is another Gaussian!"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -912,9 +915,9 @@
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x229900469b0>"
|
||||
"<matplotlib.figure.Figure at 0x1df31226f60>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -937,9 +940,9 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"As beautiful as these plots are, it is hard to get useful information from them. For example, it is not easy to tell if $X$ and $Y$ both have the same variance. In most of the book I'll display Gaussians as contour plots.\n",
|
||||
"As beautiful as these plots are, it is hard to get useful information from them. For example, it is not easy to tell if $X$ and $Y$ both have the same variance, and how much they are correlated. In most of the book I'll display Gaussians as contour plots.\n",
|
||||
"\n",
|
||||
"The contour plots display the range of values that the multivariate Gaussian takes for a specific standard deviation. This is like taking a horizontal slice out of the 3D plot. "
|
||||
"The contour plots display the range of values that the multivariate Gaussian takes for a specific standard deviation. This is like taking a horizontal slice out of the 3D plot. These plots show the shape of the slice for 3 standard deviations."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -952,9 +955,9 @@
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAkMAAAERCAYAAAB4l6P6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmUXFd94PHv22rfelWrJdmSF5yYeLCT4TCHYbDkxAES\njAmBg4EE2WQyPoaBM4bMkDPgsYFgYpYsNj6EbAZzcmJCgjOY8SEM2HhMIBD2YINtYUndrV5re/X2\nff4otbBQS+7uetVd3X0/5yg41aVXt7r0q/t79/7uvVKSJAmCIAiCIAg7lLzZDRAEQRAEQdhMIhkS\nBEEQBGFHE8mQIAiCIAg7mkiGBEEQBEHY0UQyJAiCIAjCjiaSIUEQBEEQdjSRDAmCIAiCsKOJZOgs\nbrvtNmRZZmpqarObcgZZlnnTm9602c0QhHMSMSQIKxvk2EjT/v37ueqqqza7GasikqGzkCQJSZLO\nePwHP/gB73nPe3jxi1/M3r17yWazTE5O8pu/+Zs8+uij63qtr3/96/z6r/86IyMjFAoFnve85/Gn\nf/qnxHHc69sQhE0jYkgQVrYRsRGGIX/6p3/Km970Jq644gqy2SyyLPPnf/7na27v7OwsH/3oR3n5\ny1/OhRdeSD6fZ3h4mIMHD3Lvvfee831uFepmN2CrufHGG/nmN7/J5ZdfzrXXXku1WuVHP/oRn/vc\n57j//vv56Ec/ypvf/OZVX+9//+//zatf/Wry+Tyvfe1rGR4e5oEHHuDmm2/ma1/7Gp/+9Kf7+G4E\nYeOJGBKElaUZG5ZlcfPNNyNJErt27WL37t1MT0+vq1133XUXd9xxB+effz4HDx5kz549zM7O8tnP\nfpbrr7+eBx98kPvuu29d1x4YibCi2267LZFlOTl+/Phpj991113Jk08+ecbzH3744UTTtCSXyyUL\nCwureo1Op5OMjY0luVwu+c53vnPqcc/zkhe+8IWJLMvJpz/96TP+niRJyQ033LDGdyQIG0vEkCCs\nbCNiw/f95Atf+EIyPz9/2mt+/OMfX3N777///uQrX/nKGY/Pzc0l+/btS2RZTu6///4zfr5///7k\n0KFDa369zSCmydbov/7X/8rFF198xuMHDx7k0KFD+L7PP//zP6/qWp/5zGeo1+u87nWv44orrjj1\neCaT4Q/+4A9IkoSPfexjqbVdEAaBiCFBWFmasaFpGi95yUvYtWtXz+165StfyZVXXnnG4xMTE9x0\n000kScLDDz/c8+tsJpEMpUjTNABUdXWzjw8//DCSJPGSl7zkjJ+9+MUvplAo8LWvfY0gCFJtpyAM\nKhFDgrCytcbGRhnUdq2VSIZScvz4cb785S9TKBR48YtfvKq/88QTTwDwnOc854yfKYrCgQMHCMOQ\np59+OtW2CsIgEjEkCCtbT2xshCiK+OQnP4kkSbz0pS/d7Ob0ZGuncgPCdV2uu+46fN/n9ttvp1qt\nrurv6boOcNbnLz/ebrfTaaggDCgRQ4KwsvXGxkZ4xzvewWOPPcY111zD1VdfvdnN6YkYGepREAS8\n5jWv4Zvf/CZveMMbuPnmmze7SYKwpYgYEoSVDXJsfOADH+DOO+/ksssuO+fy+q1CJEM98H2fV73q\nVTz44IP89m//Np/85CfX9PeXM/zlu9uftfx4rVbrraGCMKBEDAnCynqNjX56//vfz7ve9S4uv/xy\nHnrooYEarVovkQytk+M4vPzlL+fBBx/kd37nd/jEJz6x5g2mLrnkEgCefPLJM34WRRFHjx5FVVUu\nuOCCVNosCINExJAgrCyN2OiXd7/73dxyyy08//nP56GHHmJkZGSzm5QKkQytg2mavPSlL+XLX/4y\nb3nLW9a1oyfAVVddRZIkfOELXzjjZ4888gi2bfMf/+N/PFWtLwjbhYghQVhZWrHRD29/+9u5/fbb\neeELX8iXvvSlbTXiKpKhNdJ1nV/5lV/hq1/9Ku94xzu48847132tV7/61YyOjnLffffx7W9/+9Tj\nnufx7ne/G0mSuOmmm9JotiAMDBFDgrCyNGNjPTqdDk888cSKO1XfdNNN/Mmf/AkHDx7ki1/8IuVy\neUPb1m9iNdkavfKVr+Sb3/wm+/bto1gs8p73vOeM5xw8eHDFDap+Vrlc5i//8i959atfzcGDB7nu\nuusYHh7mc5/7HE8++SSvec1reM1rXtOPtyEIm0bEkCCsLM3YALjjjjv48Y9/DMD3vvc9kiThE5/4\nBF//+tcB+Lmf+zne+c53nnr+/fffzw033MDBgwd56KGHTj3+nve8h49//ONks1me//zn86EPfeiM\n19q/fz+HDx9e0/sdJCIZWqNjx44hSRIzMzO8973vXfE5kiSt+h/rK17xCh599FHe97738dnPfhbX\ndbnooov44z/+Y9761rem2XRBGAgihgRhZWnHxhe+8AX+3//7f6f93W984xt84xvfAODKK688LRla\nfs7P1ictt8v3fT784Q+v+FpXXnmlSIZ2kqNHj6Z+zRe84AV8/vOfT/26gjCIRAwJwsrSjo21HpFx\n+PDhFROae+65h3vuuSetZg0kUTMkCIIgCMKOJpIhQRAEQRB2NJEMCYIgCIKwo4maobM4ePAgkiQN\n5D4Kt912G5dffvlmN0MQzknEkCCsbJBjI00333zzlnmPUpIkyWY3QhAEQRAEYbOIaTJBEARBEHY0\nkQydxW233YYsy0xNTW12U84gyzJvetObNrsZgnBOIoYEYWWDHBtp2r9/P1ddddVmN2NVRDJ0Fitt\nPPVM/+f//B8OHTpErVajXC7zH/7Df+Dee+9d02scOXKED37wg1x99dWcf/75ZLNZxsfHednLXsYD\nDzzQ61sQhE21ETG0LI5j/vIv/5Irr7yS4eFhCoUCF154Iddddx1HjhxZ71sQhL44W2zous6HPvQh\nfuu3fovnPve5aJqGLMt88YtfXPNrpNm/zM7O8tGPfpSXv/zlXHjhheTzeYaHhzl48OA5Y3ZQDpdd\nDVFAvQ533303b33rWxkdHeW3f/u3yWQy/P3f/z3XX389P/zhD/ngBz+4quvccsst/N3f/R2XXHIJ\nL3nJSxgbG+Po0aPcf//9/NM//RP//b//d+64444+vxtB2HhpxRCAZVm84hWv4OGHH+aKK67g+uuv\nJ5fLceLECR599FGefPJJLrrooj6+G0FIx7Fjx3jnO9+JJEns3buXsbExFhYW1nWtNPuXu+66izvu\nuIPzzz+fgwcPsmfPHmZnZ/nsZz/L9ddfz4MPPsh99923rnYOjERY0W233ZbIspwcP378tMePHTuW\n5HK5ZHR0NJmamjr1eLvdTi666KJEluXkX/7lX1b1Gp/4xCeSb3/722c8/thjjyXVajWRZTn57ne/\ne8bPJUlKbrjhhjW+I0HYWBsRQ0mSJK9//esTWZaTv/iLv1jx52EYnvGYiCFhM50tNlqtVvLQQw8l\nrVYrSZIkuf766xNZlpN/+qd/WvNrrLd/Wcn999+ffOUrXznj8bm5uWTfvn2JLMvJ/ffff8bP9+/f\nnxw6dGjNbd8MYppsjf7qr/4K3/d561vfyr59+049Xq1W+Z//83+SJAl/9md/tqprHT58mF/8xV88\n4/FLL72U1772tcDat1MXhEGXZgx997vf5W//9m+57rrr+M//+T+v+BxFUVJptyD0W61WOzV13Ks0\n+5dXvvKVK56HNjExwU033USSJFu+rxLTZGu0/IG/5CUvOeNnL3vZywBOO+13vTRNA0BVxUckbC9p\nxtDf/M3fIEkS1113Hbqu88ADDzAzM8PIyAhXXXUVF154YXoNF4RtIs3+Zbv0VVu79ZvgiSeeAOA5\nz3nOGT+bmJigWCwyMzOD67rkcrl1vUan0+Ef/uEfkGWZX/3VX+2pvYIwaNKMoW9961tAt9bihhtu\noNVqnfbzm266ibvuumtLFXIKQj+l2b9EUcQnP/lJJEnipS99aUot3BximmyNdF0HukP6K1l+fPl5\na5UkCddffz2Li4u8+c1v5pJLLllfQwVhQKUZQ4uLiyRJwtvf/nZ++Zd/mR//+McYhsGXvvQlLrro\nIj72sY/xvve9L73GC8IWlnb/8o53vIPHHnuMl7/85Vx99dUptXJziGRowNx000384z/+I4cOHeIj\nH/nIZjdHEAZaHMcA/PzP/zz33XcfF198MYVCgUOHDvGZz3wGSZL4oz/6I8Iw3OSWCsLmS7N/+cAH\nPsCdd97JZZddtu4tMQaJSIbW6NnuWp/trvdcbrzxRv78z/+cq6++ms9//vNbfg5WEFaSZgzVajUk\nSeKaa645Yyrs3/27f8eBAwcwDIMf/ehHPbZaELa2NPuX97///bzrXe/i8ssv56GHHlpXfzdoRDK0\nRsvDik8++eQZP5ufn8eyLPbu3bumeqE4jjl8+DB/8Rd/wa/92q/xwAMPrLveSBAGXZoxtHyts62+\nGRoaAsBxnPU2VxC2tLT7l3e/+93ccsstPP/5z+ehhx5iZGQkxdZuHpEMrdFVV11FkiR84QtfOONn\nDz74IAC//Mu/vOrrhWHI6173Oj71qU/xG7/xG/zjP/4jmUwmtfYKwqBJM4Z+5Vd+hSRJ+OEPf3jG\nz3zf56mnngK6xwIIwk6Tdv/y9re/ndtvv50XvvCFfOlLX9oyJ9KvhkiG1uiGG24gm83y0Y9+lOPH\nj596vNVqcfvttyNJEjfeeOOqruX7Pq961av4zGc+w3XXXcdnPvMZMTUmbHtpxtBv/uZvMjk5yac/\n/Wn+9V//9bSfvfe970XXda666irGx8dTfQ+CMCgajQZPPPEE8/Pzpz2edv9y00038Sd/8iccPHiQ\nL37xi5TL5V6bPlBEz7tG+/fv58Mf/jBve9vb+Pf//t/z2te+9tRRAidOnOD3fu/3eLine truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x22990670f28>"
|
||||
"<matplotlib.figure.Figure at 0x1df30dc9f98>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -981,7 +984,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"By default the function displays one standard deviation, but you can use either the `variance` or `std` parameter to control what is displayed. For example, `variance=3**2` or `std=3` would display the 3rd standard deviation, and `variance=[1,4,9]` or `std=[1,2,3]` would display the 1st, 2nd, and 3rd standard deviations. "
|
||||
"This code uses the function `plot_covariance_ellipse()` from `filterpy.stats`. By default the function displays one standard deviation, but you can use either the `variance` or `std` parameter to control what is displayed. For example, `variance=3**2` or `std=3` would display the 3rd standard deviation, and `variance=[1,4,9]` or `std=[1,2,3]` would display the 1st, 2nd, and 3rd standard deviations. "
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -995,7 +998,7 @@
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAloAAAE5CAYAAABI046DAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmUZGV9PvDn7kutXb1MT88MzAAjASSIIiYHfmziMjGA\nERCUKGiiRMEF9aCRjKAiiMflqCA5YqJgEkE9SRBjPEbAySgqgopRkZFl9umlumu/dff7+6OmR3CG\nYWbqvV1V3c/nHI5jVfd7355z+s5T7/u931dKkiQBEREREQkn93oCRERERIsVgxYRERFRShi0iIiI\niFLCoEVERESUEgYtIiIiopQwaBERERGlhEGLiIiIKCUMWkTUV6677jrIsoytW7f2eip7kWUZb37z\nm3s9DSIaIAxaRNRXJEmCJEl7vf6rX/0KH/7wh3Haaadh5cqVMAwDExMTOP/887Fx48ZDutaPf/xj\nvOpVr8Lw8DBs28YJJ5yAz372s4jjuNsfg4gIAKD2egJERAfi8ssvx4MPPogXvOAFOO+881AoFPDo\no4/iW9/6Fv7jP/4DN998M97+9rcf8Hh33303LrjgAliWhYsuugilUgn33HMPrrrqKjzwwAO46667\nUvxpiGipYNAiooFwySWX4I477sDatWuf8foPfvADvPzlL8d73/teXHDBBRgbG3vOsRqNBt7ylrdA\nVVVs2LABJ554IgDgox/9KM4880x885vfxNe//nW89rWvTeVnIaKlg1uHRDQQrrzyyr1CFgCcccYZ\nOPPMM+H7Pn70ox8d0Fjf+MY3UC6X8brXvW5PyAIAXddx/fXXI0kS3HrrrcLmTkRLF4MWEQ08TdMA\nAKp6YIv0999/PyRJwite8Yq93jvttNNg2zYeeOABBEEgdJ5EtPQwaBHRQNuyZQvuvfde2LaN0047\n7YC+57HHHgMAPO95z9vrPUVRsGbNGoRhiCeffFLoXIlo6WGNFhENLNd1cfHFF8P3fdxwww0oFAoH\n9H21Wg0AnvXr51+vVqtiJkpESxZXtIhoIAVBgAsvvBAPPvggLrnkElx11VW9nhIR0V4YtIho4Pi+\nj9e85jX4zne+gze84Q24/fbbD+r751es5le2/tj868VisbuJEtGSx6BFRAOl3W7jL//yL/Gd73wH\nf/M3f4OvfOUr+2xwuj9HH300AGDTpk17vRdFEZ566imoqoojjjhCyJyJaOli0CKigdFsNvHKV74S\n9957L6644gp88YtfPKRxzjrrLCRJgu9+97t7vbdhwwY4joNTTjllz9OMRESHikGLiAZCrVbD2Wef\njR/+8Id473vfi8997nOHPNYFF1yAkZER3HnnnXj44Yf3vO55Hv7hH/4BkiThbW97m4hpE9ESx6cO\niWggvPrVr8aDDz6IVatWIZPJ4MMf/vBeX3PGGWfg9NNPf86xcrkcvvSlL+GCCy7AGWecgYsvvhil\nUgnf+ta3sGnTJlx44YW48MIL0/gxiGiJYdAiooGwefNmSJKE7du34yMf+cg+v0aSpAMKWgBw7rnn\nYuPGjfjoRz+Kf//3f4frujjqqKPwmc98Bu94xztETp2IljAGLSIaCE899ZTwMV/ykpfg29/+tvBx\niYjmsUaLiIiIKCUMWkREREQpYdAiIiIiSglrtIior5xxxhmQJKkvu7Jfd911eMELXtDraRDRAJGS\nJEl6PQkiIiKixYhbh0REREQpYdAior5y3XXXQZZlbN26tddT2Yssy3jzm9/c62kQ0QBh0CKiviJJ\n0n4Pif6v//ovnHnmmSgWi8jlcvizP/sz3HHHHYd0rTiO8aUvfQmnn346SqUSbNvGkUceiYsvvhiP\nP/74of4IRER7sBieiAbGLbfcgne84x0YGRnBG97wBui6jm9+85u47LLL8Otf/xqf+MQnDnisVquF\nc889F/fffz9OPPFEXHbZZTBNEzt27MDGjRuxadMmHHXUUSn+NES0FDBoEdFA2LJlC973vvdheHgY\nDz/8MFatWgUA+NCHPoSTTjoJn/rUp3D++efjJS95yQGN99a3vhU/+MEP8MUvfhF/+7d/u9f7URQJ\nnT8RLU3cOiSigfBP//RP8H0f73jHO/aELAAoFAr44Ac/iCRJ8I//+I8HNNYvfvELfO1rX8PFF1+8\nz5AFAIqiCJk3ES1tXNEiooFw//33AwBe8YpX7PXeunXrAAD33XffAY31r//6r5AkCRdffDFqtRru\nuecebN++HcPDwzjrrLNw5JFHips4ES1pDFpENBAee+wxAMDznve8vd4bHx9HJpPB9u3b4bouTNPc\n71gPPfQQAGDz5s1405vehEql8oz33/a2t+Hzn//8fovyiYgOBLcOiWgg1Go1AJ2twn2Zf33+6/Zn\nenoaSZLgPe95D1760pfid7/7HRqNBr7//e/jqKOOwq233oqPfvSj4iZPREsWgxYRLTlxHAMAjjnm\nGNx5551Yu3YtbNvGmWeeiW984xuQJAmf/vSnEYZhj2dKRIOOQYuIBsJzrVg914rX0xWLRUiShHPO\nOWev7cE//dM/xZo1a9BoNPDoo492OWsiWuoYtIhoIBx99NEAgE2bNu313uTkJFqtFlauXPmc9VlP\nH+vZDq4eGhoCALTb7UOdLhERAAYtIhoQZ511FpIkwXe/+9293vvOd74DAHjpS196QGOdffbZSJIE\nv/71r/d6z/d9/P73vwcArF69+tAnTEQEBi0iGhBvetObYBgGbr75ZmzZsmXP65VKBTfccAMkScLl\nl19+QGOdf/75mJiYwF133YWf/exnz3jvIx/5CGq1Gs466yyMjY0J/RmIaOlhewciGgirV6/GJz/5\nSbzzne/ESSedhIsuumjPETw7duzA+973vgPuCm/bNr7yla/gnHPOwf/7f/8Pr3nNa7BixQr89Kc/\nxQ9/+EOMj48fcPNTIqL9OegVrY0bN+K8887DypUrIcvyPg9z3bRpE84//3wMDQ0hk8ngpJNO2tMD\nh4joUF1xxRX49re/jec///n46le/ittuuw3Lly/H7bffjptuuumgxjr77LPx4IMP4txzz8W9996L\nz3/+89i6dSve/va34+c//zmblhKREAe9otVsNnH88cfj0ksvxRvf+Ma93t+8eTNOPfVUXHbZZfjQ\nhz6EQqGA3/3ud8hms0ImTERL27p16/Z0gu/W8ccfj69//etCxiIi2peDDlpPv8ldeumle71/zTXX\n4BWveAU+8YlP7HmNBaVERES0FAkthk+SBPfccw+OPfZYrFu3DmNjYzj55JP5iZGIiIiWJKHF8NPT\n02g2m7jhhhtw/fXX46abbsK9996LSy65BLlcbq/l/gM5KoOIlhbXdQEA9Xq9L+8Rvu/35byIqD/8\ncdNkoUFr/liLV7/61XjXu94FoNNl+aGHHsLNN98srK6CiBavU089FZIkHVCH94X2gQ98AMcff3yv\np0FEA0Ro0BoZGYGqqjjmmGOe8foxxxyDu+66S+SliGiROvXUU3Hqqaf2ehr79P73v7/XUyCiASM0\naGmahhe/+MV7tXLYtGkTDj/88P1+bz9+eiUiIiJ6LvsrJzjooNVqtfD4448jSRLEcYytW7fikUce\nQalUwqpVq3D11VfjoosuwqmnnoqzzjoL9913H+666y7cfffdXf0QRERERINGSpIkOZhv2LBhA848\n88y9Try/9NJL8c///M8AgDvuuAMf+9jHsH37dqxduxYf/OAH8drXvnavsZ6eALmiRURERINof3nm\noIOWSAxaRERENOj2l2d4qDQRERFRShi0iIiIiFLCoEVERESUEgYtIiIiopQwaBERERGlhEGLiIiI\nKCUMWkREREQpYdAiIiIiSgmDFhEREVFKGLSIiIiIUsKgRURERJQSBi0iIiKilDBoEREREaWEQYuI\niIgoJWqvJ0BEJFKSJHD9EGEUI0k6/x8AZFmCLEkwdBWqws+YRLQwDjpobdy4EZ/85Cfx8MMPY+fO\nnfjKV76CN77xjfv82ssvvxy33XYbPvnJT+I973lP15MlInq6KIrRaPtoewHaXoi2F8D1Q3iRjzAO\nkSABdgctSZIhSxJ0xYCpabAMFaauwjI0ZEwNlqH1+KchosXooINWs9nE8ccfj0svvfRZAxYAfPOb\n38TPfvYzrFixoqsJEhE9XRwnqDZdVBptVJpttPwW3MiDF3rwIg9+6EFVJaiKDFkGJEhIkCBJOt/r\nBTFUSYWuGDBUA4ZiIKPbyFs2hnImSjkLhs7FfiIS46DvJuvWrcO6desAAJdeeuk+v2bLli246qqr\n8P3vfx+vfOUru5shERGAesvDbN1BpdFGw2+h7tXR8BowdAmWoSBjKRjWNeiaAVmW9juWH0Twgxiu\n30LLb2C6GkKvm8jX8sjrORQyNko5C8N5Cwq3GYmoC8I/tkVRhNe//vVYv349jj76aNHDE9ES02z7\n2DFTR7nRQNWtoO41oOtAPqNhbDQDVT34IKRrCnRNQdbubBcmSYJWO0StOYeZ6jSsho1CtYBhu4jx\nUhajxcxzhjcion0RHrQ+9KEPYWxsDG9961tFD01ES4jjBtg528BMrYFyu4ymX0cpr2P1iAVdU4Re\nS5IkZG0NWVtDHCdotgPM1aZQdsqotEcxVSliYiSH4bwFSWLgIqIDJzRo/eAHP8Dtt9+ORx55ROSw\nRLSEBGGE7TN1TFcbKDtl1PwaSnkdRy7LQVmAVSVZlpDP6MhndDSdADOVXZh1ZlFpj2I4U8Cq0TwK\nWTP1eRDR4iC0+GDDhg2YnJzE+Pg4NE2DpmnYsmULrr76ahx22GEiL0VEi1Ct6eK3m2ewaWo7nqg8\nAUl3cOTKLEaHzAUJWX8sa2tYsyKHUknClLMDv595Co9um8LWqRriOFnw+RDR4BG6oLine truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x22994fe3828>"
|
||||
"<matplotlib.figure.Figure at 0x1df30dfccc0>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1031,7 +1034,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x22991a736a0>"
|
||||
"<matplotlib.figure.Figure at 0x1df30dfc128>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1066,7 +1069,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x2299055a0f0>"
|
||||
"<matplotlib.figure.Figure at 0x1df30d92f28>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1111,7 +1114,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x22994fe2be0>"
|
||||
"<matplotlib.figure.Figure at 0x1df30ecf630>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1156,7 +1159,7 @@
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlwAAAE5CAYAAABFzf7EAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xt0VOW9PvBnz/2WmczkMpM7hEINUBUFvICaukSkyqm1\nUoEeIbbr1CocS+RQ5SC1lItCPdTjpdTaNiVyrK1LFOuSAlaoegoqVk5/QESUEJJMJte5Ze4ze//+\nQKKRwOQ2zO35rMVy5p29J9/tZoYn7/vudwuSJEkgIiIiooSRJbsAIiIiokzHwEVERESUYAxcRERE\nRAnGwEVERESUYAxcRERERAnGwEVERESUYAxcRERERAnGwEVEF9RPf/pTyGQynDp1KtmlJNSYMWNw\n/fXXJ7sMIkoRDFxEdEEJggBBEM5q/+c//4k1a9bg2muvRWlpKdRqNYqLi/Htb38bb7/99pB+RjQa\nxX//93/je9/7HqZMmQK1Wg2ZTIZf//rXQ67Xbrfjqaeewi233IJx48ZBq9XCYrGguroa9fX15z1O\nIqIzFMkugIgIAO6++2689957uPTSS/HNb34TJpMJDQ0NePXVV/Hyyy/jqaeewr333juo9/L5fKit\nrYUgCLBarSgqKkJzc/Ow6nryySexceNGVFRUoLq6GiUlJbDb7di+fTtqamrw+uuv44UXXhjWexNR\n9mDgIqKU8N3vfhf19fUYP358v/Z9+/bhxhtvxPLly3H77bejsLAw7nvpdDrs3LkTl156KaxWK9as\nWYOf/exnw6rriiuuwN69e3Hdddf1a9+wYQOmT5+OF198EfPnz8ett946rPcnouzAIUUiSglLly49\nK2wBQHV1Nb7+9a8jHA7jf//3fwf1XkqlErNnz4bVah1xXbfeeutZYQsAbDYb7rnnHkiShL179474\n5xBRZmPgIqKUp1QqAQAKRWp1yqdqXUSUehi4iCilNTU14a9//St0Oh2uvfbaZJfTJxaLYevWrRAE\nATfddFOyyyGiFMdfy4goZQWDQcyfPx/hcBgbNmyAyWRKdkl9li9fjiNHjmDu3LmYNWtWssshohTH\nHi4iSkmRSATz5s3De++9h+9+97uora1Ndkl9HnnkETzxxBP42te+dt6lIYiIzmDgIqKUEw6Hcdtt\nt+H111/HnXfeia1btya7pD7r16/HqlWrcOmll+LNN99MqV43IkpdDFxElFICgQBuueUWvP766/j+\n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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x22990675fd0>"
|
||||
"<matplotlib.figure.Figure at 0x1df30f09c88>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1216,7 +1219,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x22991a8d470>"
|
||||
"<matplotlib.figure.Figure at 0x1df30fff080>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1249,7 +1252,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x22991689eb8>"
|
||||
"<matplotlib.figure.Figure at 0x1df31127940>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1286,7 +1289,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x22991664550>"
|
||||
"<matplotlib.figure.Figure at 0x1df311536d8>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1410,7 +1413,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x22991729ac8>"
|
||||
"<matplotlib.figure.Figure at 0x1df3107add8>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1443,7 +1446,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x229916d75f8>"
|
||||
"<matplotlib.figure.Figure at 0x1df30e1feb8>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1488,7 +1491,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x229918a66a0>"
|
||||
"<matplotlib.figure.Figure at 0x1df31150d68>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1548,7 +1551,7 @@
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlcAAAEWCAYAAABL17LQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xt0VOWhPv5n77lkbskkE5LJZciVJJAQwiXgBeSmqKiI\ntSIoVnCdVr+/6mmt/VVPvx6kZy1b9ay2rmNBa+1pD9hjradHq1ZRUC5GBSUgAXIPkDu5J5PMTOa6\n9/cPhBoBCWSHPZN5PmtlJcxM9jzslZk8ed937y3IsiyDiIiIiBQhqh2AiIiIaCJhuSIiIiJSEMsV\nERERkYJYroiIiIgUxHJFREREpCCWKyIiIiIFsVwRERERKWhU5aqsrAwrV66Ew+GAKIrYunXriPuf\neOIJTJs2DRaLBTabDddddx327t07LoGJiIiIwtmoypXL5UJxcTGee+45mEyms+6fOnUqnn/+eRw9\nehSffPIJsrOzceONN6K7u1vxwEREREThTLjYM7THxsZi8+bNuPfee8/7mKGhIVitVrz//vtYtmzZ\nmEMSERERRQrF11wFAgG8+OKLsFqtmDlzptKbJyIiIgprWqU29M4772DNmjXweDxIS0vDjh07kJSU\npNTmiYiIiCKCYuVq6dKlqKioQE9PD1566SWsWrUK+/btg91uH/E4p9Op1FMSERERqc5qtY74t2LT\ngkajETk5OZg3bx5eeukl6HQ6/P73v1dq80REREQRYdzOcyVJEnw+33htnoiIiCgsjWpa0O12o6Gh\nAbIsQ5IkNDc3o6KiAjabDfHx8fj3f/93rFixAqmpqeju7samTZvQ1taGO++88xu3+/VhtHBTXl4O\nACgtLVU5SeThvhsb7r+x4f4bG+6/S8d9NzaRtP++aZnTqEauysvLMWvWLMyZMwderxcbN27E7Nmz\nsXHjRmi1WlRWVuL2229Hfn4+br31VvT396OsrAzTp09X7D9BREREFAlGNXK1aNEiSJJ03vtff/11\nxQIRERERRTJeW5CIiIhIQSxXRERERApiuSIiIiJSEMsVERERkYJYroiIiIgUxHJFREREpCCWKyIi\nIiIFsVwRERERKYjlioiIiEhBLFdERERECmK5IiIiIlIQyxURERGRgliuiIiIiBTEckVERESkIJYr\nIiIiIgVp1Q5ARHQpZFmGa9iPAZcXXn8QkiQjJMmQZBl17YMQABhPdEEUBWhEERpRgMWoh9ViQIxO\n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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x2299182f860>"
|
||||
"<matplotlib.figure.Figure at 0x1df3108aac8>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1579,7 +1582,7 @@
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlcAAAEWCAYAAABL17LQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8XPWd7//XmV410siyqmVLsmRb7hUb25hmwHQILSSL\nSdlk75KbzSW7yc3NBW/J3pQlyYYfhBCy2QUSlpAE05sBxxZgwHKRi2RLLrK6rDIaTW/n/P4QdnDA\nINszmhnp83w8/EB4pHM+OtaM3vP9fs/nq2iapiGEEEIIIZJCl+4ChBBCCCHGEwlXQgghhBBJJOFK\nCCGEECKJJFwJIYQQQiSRhCshhBBCiCSScCWEEEIIkUQSroQQQgghkmhU4aquro7rrruOsrIydDod\njz322CmP33vvvcyaNQuHw4Hb7ebSSy9l27ZtKSlYCCGEECKTjSpc+f1+5s6dy/3334/NZvvI4zNn\nzuTnP/85+/bt4+2336aiooIrrriCvr6+pBcshBBCCJHJlDPt0O50OnnwwQe54447Tvs5Pp8Pl8vF\nq6++ytq1a8+5SCGEEEKIbJH0NVexWIyHH34Yl8vFggULkn14IYQQQoiMZkjWgV588UVuu+02gsEg\nJSUlbNq0iYKCgmQdXgghhBAiKyQtXF188cU0NDTQ39/PI488ws0338y7775LYWHhKZ/n9XqTdUoh\nhBBCiLRzuVyn/H/SpgWtViuVlZUsW7aMRx55BKPRyK9+9atkHV4IIYQQIiukrM+VqqpEIpFUHV4I\nIYQQIiONalowEAhw6NAhNE1DVVXa2tpoaGjA7XaTm5vLj370I6655hqKi4vp6+vjgQceoLOzk1tu\nueUTj/uXw2iZpr6+HoAlS5akuZLsI9fu3Mj1Ozdy/c6NXL+zJ9fu3GTT9fukZU6jGrmqr69n4cKF\nLF68mHA4zIYNG1i0aBEbNmzAYDCwf/9+brzxRmpqarj22mvxeDzU1dUxZ86cpH0TQgghhBDZYFQj\nV2vWrEFV1dM+/vTTTyetICGEEEKIbCZ7CwohhBBCJJGEKyGEEEKIJJJwJYQQQgiRRBKuhBBCCCGS\nSMKVEEIIIUQSSbgSQgghhEgiCVdCCCGEEEkk4UoIIYQQIokkXAkhhBBCJJGEKyGEEEKIJJJwJYQQ\nQgiRRBKuhBBCCCGSSMKVEEIIIUQSSbgSQgghhEgiCVdCCCGEEElkSHcBQghxNjRNwx+KMuQPE47G\nUVWNhKqhahrNXcMogPXocXQ6Bb1Oh16n4LCacDksmI16FEVJ97cghBinJFwJITKOpml4fGG6BnwM\n+cMM+cN4/WG8gQjewAf/H4iQUKNoahRNSwAaGhpoGh7PIACbmjoABQUFFB2KYkSnmLCYTLgcZlx2\nCy67mVyH5eTH7hwrUya7sJjk5VEIcXbk1UMIkVYngtSx3iHaer0c6/VyrHeI4aCfRCKApkZRtSia\nGkE9+XEUTYtiMak4rSoWI+h0GnodKArkGn1oGtjsTlQVEiqomkIgrDAc0DGs6ukfNKHoTCiKCZ1i\nQqczoejM6HQW9Do7Re4cygtdTC10MbUwl/JCCVxCiNGRVwohxJiKxRMcbB/gcOfgqUEq7ieROPHH\nh9kYoTgvgcuu4rRqOKwj/82xqjisKg6rhlH/8efo6xsAoKDgo8tKNQ0iMfCFdB/8UfCFdPhDCsNB\nHYN+HceH9Bzy2zna6UCvd6A3ONDrHCcD17SiXGaWT6J0klOmF4UQHyHhSgiRcr5ghL1HjrPnSC/7\nW48TDHmIx4dOCVIl7sTIn/wEJe44uXaNVOQWRQGLCSwmlQKX+rGfE0/Aca+froF+ugf1dA7qTwlc\nb+kdGIxuCnLzmF9VxPyqQqrL8jHo5R4hIYSEKyFECmiaRs+gnz2He2k43Mvhrn5iscGRP/EBinIj\nVE2NU5riIHW2DHpOhr0TPhy4Ogb0NHcaOdZpp/N4Ppvq3ditbuZWTGZeZSFzKiZjt5rS+B0IIdJJ\nwpUQImn6hgLU7Wlj16FuegY8xGIDxOMDaOoQ0wpjzCyLMaM0hsuupbvUM/bhwLWkGjQtROdAgIMd\nHg50Gjjeb2Gr1822ffmYTG6qyyaxbGYpy2aWYpa1WkJMKPKMF0KcE1XV2Hf0OH/a3cq+o11Eoz1E\no32YDD5qSmPMLIszvTiG2ZjuSpNLUaBsUoKySQkuWQAef5CDHcMc7OzkaK+JXf489h8p5PdbCjl/\n9hTWzJ9Kcb4z3WULIcaAhCshxFnxBSO8tbeNuj1t9Hp6iUa60dQ+5kwNs7AySnlBAt0EWoKU51BZ\nPjPK8plRwtEABzv91Lf00t5v5+V3i3hjZzGzyotZM38qC6YXoZf1WUKMWxKuhBCjpmkaR7o8/Gl3\nK/XNnYTDvUSiXbisw6ycE2VhVRSbOfum/JLNYoL5FTHmV8To8YTY3uxjT2sbOw9OYv/Rw+S7Clk9\nr5zV86aS67Cku1whRJJJuBJCjMqBtn421jVxuKubaKSbWKyXmpIQS2uiTC+OZ9SC9ExSlKdyzXkh\nLlsUYveRIO8399LR4+SPg0d5cVsh58+ZxjXn15DntKa7VCFEkki4EkJ8omM9Q2x86wD7jrYTDrdi\n0h3nvOooi6dHyHPIKNVomY1w3owoy2qitB4Psr15iKaOVt7Y0cm7jW1csqiKK5ZNl7sMhRgHJFwJ\nIT7WcU+AZ98+wPsHjhEJH0PRullTG2b5jAimcbY4fSwpClQUJqgoDDIwHOaNhhCN7V08/04PW/cc\n44pl07l4YYXcYShEFpNnrxDiFF5/mBe2NVO35yjBcBuJeCfn1YRYPTsi66mSLD9H5ZbVQToHIry+\nO0jr8Q6e2tzDGzuPcs2KGlbNLZeF70JkoVE9a+vq6rjuuusoKytDp9Px2GOPnXwsHo/z7W9/m/nz\n5+NwOCgpKeFzn/sc7e3tKStaCJF8kWicZ946wP/51ets2v423uH3mF12mL+7ZojLF4UlWKVQaX6C\n9ZcE+KuL+sm17KPr+Hs8+mod//jon9jV0p3u8oQQZ2hUI1d+v5+5c+eyfv167rjjjlMeCwaD7N69\nm3vuuYf58+fj9Xq5++67WbduHXv27EE3ke7FFiJLtXQM8OirDXT2tRIOHWVmmZ+L54eZfJrtYURq\nVBbF+eoVfhrbI7yx28uRjnYe3NjH0plV3H7pXJw2c7pLFEKMwqjC1bp161i3bh0A69evP+WxnJwc\nXn311VP+7uGHH2b27Nk0NTUxe/bsJJUqhEi2E6NVb+xsJhhswe04zudWhZhSkPj0LxYpoSgwu3yk\nm319S4TXd3vZtm+Qgx0D3H7JXJbMKEl3iUKIT5GSNVderxdFUcjLy0vF4YUQSfDn0aqjRMKHWTUr\nwJq5YQz6dFcmAPS6kbsLa0pjPPtuC8f6+vnFs0MyiiVEFkh6uIrFYnzzm9/k2muvpaRE3mEJkWk+\nbrTqjjWhUzYpFpkjz6Gx/pIA9YdivLbTL6NYQmQBRdO0M1ql6nQ6efDBBz+y9gogkUjw2c9+lqam\nJrZu3fqxI1der/fkxy0tLWdRshDibLX1BXhxRweDvh6gg/Ome1heMyyjVVnCG9Tzyu482vvdKMpU\nZpVN5vKFpdgtcuO3EGOturr65Mcul+uUx5L2jEwkEtx2223s37+fLVu2yJSgEBlE0zTebe5n8952\nVLWNfOcAVy4cpDA3lu7SxBlw2RLcsqKfhmMhtuwP0tjhpb0/wE0rp1HqtqW7PCHEB5ISruLxOLfe\neiuNjY1s2bKFgoKCUX3dkiVLknH6lKmvrwcyv85MJNfu3CTz+sXiCR57tYGGziHM5jZW1fq4cK6K\nQZ97zsfOVH19fQCjfi3KNmsnw5JZUZ5+5zhdHoVX9+dyx+WVLK8tS8rx5fl79uTanZtsun4fnon7\nS6MKV4FAgEOHDqFpGqqq0tbWRkNDA263m5KSEm666SZ27NjB888/j6Zp9Pb2AiPDZBaLbEoqRLoM\n+cP8/JnttHS0kIge5NbVfmZNiae7LJEEeQ6NOy8N8PKObnYcCvGrFyN09s3mhtWz0Olko0ch0mlU\nTajq6+tZuHAhixcvJhwOs2HDBhYtWsSGDRvo6Ojgueeeo6uri8WLF1NSUnLyz1NPPZXq+oUQp3Gk\ny8P3Ht/KgWO7MSuNfPmyYQlW44xeB1cvDXHlkgGCgV28+O4OHtj4PsGwTPcKkU6jGrlas2YNqnr6\nZoKf9JgQYuxt29/O46/tYtjXSFn+cW5ZFcRukQ7r49XS6iiTcoZ4qm4vOw8G+YE3yF3XL6XQ7Uh3\naUJMSNI+XYhxRFU1/rClkf946V2GvDtZWNnDHRcHJFhNABWFCb5yxTAuSzNHu3bx/367lf1Hj6e7\nLCEmJAlXQowT8YTKL56r56V3dxAM7OKqJQNcvTSE7Ps7ceQ5NL58mZ/phe30D+7kZ398m7f3tqW7\nLCEmHGmOIsQ4EIsneOjZena3NKLGm1h/sZ9phdIUdCIyGeHW1UE270lQ1xjjv15RiSVULlwwLd2l\nCTFhSLgSIstFonEefGY7e480olMP8oVLfRTlyTrIiUxR4OL5ESymQV7b3cBvNqnEEyqXLq5Md2lC\nTAgSroTIYuFonPv/+B5NrU3otYOsv9TPZJcEKzHi/FlRDHoPL9Xv4ck3R0Y4151X/elfKIQ4JxKu\nhMhS0ViCBza+T2NrIyalmTsv9ZOfI8FKnGpZTRSDbojntzfwx60aRoNeRrCESDEJV0JkoVg8wc+f\n3c7+I00YaeYLl/pxOyVYiY+3aHoUlCGee28vT76pYNDrZA2WECkk4UqILBNPqDz8/A4aDjWh+2Aq\nUIKV+DSLqmLEE0O8tGMvv92kw6jXsXJuebrLEmJcknAlRBbRNI3fbNrDzoNNEG9i/Line truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x22991745208>"
|
||||
"<matplotlib.figure.Figure at 0x1df3104d390>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1613,7 +1616,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x229916675c0>"
|
||||
"<matplotlib.figure.Figure at 0x1df312e9b00>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1652,7 +1655,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x229916710b8>"
|
||||
"<matplotlib.figure.Figure at 0x1df30de36a0>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1683,7 +1686,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x229919a1518>"
|
||||
"<matplotlib.figure.Figure at 0x1df30f096a0>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1717,7 +1720,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x229917331d0>"
|
||||
"<matplotlib.figure.Figure at 0x1df3102d2e8>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1750,7 +1753,7 @@
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlcAAAEWCAYAAABL17LQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xt0XHdh7v3vnpvmftGMNLrblm+xExOcmKRtQlLapOBC\nCKUnEAglOW/PIWe1HF76sl5SDssx6y0UOKeHrKZJKM05nEXaUsrpgbfJ4Q1JKARcSACHxLnY8U2W\ndZdmpLlobprbfv+Q7MSxkyjxyHtGej5r7SVZI+95tG2NHv32b/+2YZqmiYiIiIg0hM3qACIiIiKr\nicqViIiISAOpXImIiIg0kMqViIiISAOpXImIiIg0kMqViIiISAOpXImIiIg00LLK1b59+7jxxhvp\n6+vDZrPxwAMPnPH4nXfeybZt2/D7/bS3t3PdddfxxBNPrEhgERERkWa2rHKVy+XYsWMHd999N16v\n96zHL7roIu677z6ef/55fvrTn7Jhwwbe9a53kUgkGh5YREREpJkZb3SF9kAgwL333stHP/rRV/2c\n+fl5QqEQjzzyCNdff/15hxQRERFpFQ2fc1WpVPja175GKBTirW99a6N3LyIiItLUHI3a0fe+9z1u\nvvlmCoUCPT09PPbYY3R0dDRq9yIiIiItoWHl6rd+67c4cOAAyWSS+++/n5tuuoknn3ySeDx+xudl\nMplGPaWIiIiI5UKh0Bl/bthpQY/Hw+DgIFdccQX3338/TqeT//bf/lujdi8iIiLSElZsnat6vc7C\nwsJK7V5ERESkKS3rtGA+n+fYsWOYpkm9XmdkZIQDBw7Q3t5OOBzmP//n/8wNN9xAd3c3iUSCe+65\nh/HxcT7wgQ+85n5fOYzWbPbv3w/Arl27LE7SenTszo+O3/nR8Ts/On5vno7d+Wml4/da05yWNXK1\nf/9+du7cyeWXX06pVGLv3r1cdtll7N27F4fDwQsvvMD73/9+tmzZwnvf+15SqRT79u3jkksuadgX\nISIiItIKljVyde2111Kv11/18e985zsNCyQiIiLSynRvQREREZEGUrkSERERaSCVKxEREZEGUrkS\nERERaSCVKxEREZEGUrkSERERaSCVKxEREZEGUrkSERERaSCVKxEREZEGUrkSERERaSCVKxEREZEG\nUrkSERERaSCVKxEREZEGUrkSERERaSCVKxEREZEGclgdQETkzapWq5TLZer1OqZpnt7m5+cxDINs\n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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x2299064e860>"
|
||||
"<matplotlib.figure.Figure at 0x1df30da9860>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1783,7 +1786,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x2299501cda0>"
|
||||
"<matplotlib.figure.Figure at 0x1df30fe3978>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1818,7 +1821,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x22991b1a080>"
|
||||
"<matplotlib.figure.Figure at 0x1df31902f98>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1859,7 +1862,7 @@
|
||||
"data": {
|
||||
"image/png": "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\njWrVg8+fPz9qamri/PPPj5NOOunAvzlz5rTqcQCOZMH0S2JU7vDrZQ82Ktc/5k+7+DhNBHR2Rz2V\nOWzYsHjkkUfi9NNPb5ODNzY2tsnrAjRHj24F8cK9ZYfd+T/is9OXo3MDYv60i935HzhujhpmL774\n4vGaAyATPboVxKKffy9q6hriV08sjz3V9XHusBJ/KxPIhD9iDhCfXXP2+X3KfPoSyErb/YVyAABa\nRJgBACRCmAEAJEKYAQAkQpgBHdr48ePj5ptvPuafX7p0aVxwwQXRr1+/6NWrV4waNSqWLVvWihMC\n/B9hBnAU5eXlcf7558dzzz0Xr7/+elx00UVx5ZVXRkVFRdajAR2Q22UAHdbkyZOjvLw8Vq5cGXPn\nzo28vLzYsmVLnHzyyc1+jQceeOCQ72+//fZYvnx5/OlPf4rzzjuvtUcGOjlhBnRYDz74YGzatClK\nSkrirrvuioiIvn37Rs+ePSMvLy+ampoOWf/5XyMZN25cLF++/P993U8++SR69+7ddoMDnZYwAzqs\nXr16RUFBQXTv3j369et34PGqqqojrl+/fn1ERIwcOfL/fc158+bFjh074pprrmndYQFCmAGd0ODB\ng4/4+N69eyMi4sQTTzzi83/84x/j1ltvjcWLF8fAgQPbbD6g8xJmQKdzLKcylyxZEpMmTYonn3wy\nLrroouM2K9C5CDOgQysoKIj9+/cf8lhLT2UuXrw4Jk+eHAsXLowrr7yybQYFCGEGdHCnnHJKrF27\nNrZu3RqFhYXRp0+fFp3KfOqpp6KsrCzmzJkT3/72t2P37t0R8Vnw+QAA0Nrcxwzo0GbMmBEFBQWR\ny+WiX79+sX379hb9/COPPBL79++Pn/70p3HSSScd+Pf973+/jSYGOjM7ZkCHVlxc/KVuBvvSSy+1\n4jQAR2fHDAAgEcIMACARwgwAIBHCDAAgEcIMACARwgwAIBHCDAAgEcIMACARwgwAIBHCDAAgEcIM\nACARwgwAIBHCDAAgEcIMACARwgwAIBHCDAAgEcIMACARwgwAIBHCDAAgEcIMACARwgwAIBHCDAAg\nEcIMACARwgwAIBHCDAAgEcIMACARwgwAIBHCDAAgEcIMACARwgwAIBHCDAAgEZmH2apVq+Lyyy+P\nAQMGRJcuXWLhwoVZj0QHUFPXEMsqt8dvX9gcj//l9aipa8h6JAD4QvlZD1BTUxNDhLine truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x2299181a860>"
|
||||
"<matplotlib.figure.Figure at 0x1df30d7b240>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1886,9 +1889,9 @@
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x229919bf160>"
|
||||
"<matplotlib.figure.Figure at 0x1df31921128>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1924,7 +1927,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x22991a42f98>"
|
||||
"<matplotlib.figure.Figure at 0x1df313bfda0>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1953,7 +1956,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x22994fd5630>"
|
||||
"<matplotlib.figure.Figure at 0x1df30ed4dd8>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -1982,7 +1985,7 @@
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAEtCAYAAACYp9GOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4VGXexvHvzKT3hJIAQQgS6aKCoKIgKgKCgoqyFAVd\nXbGBuvYGLjbcVxGEdRUbiIAsFkQQRAQbFoIKAoJAaAIJJb0nM/P+8cxJoRlCkkm5P9fFNTPnnBme\nnGXHO7+n2dxutxsRERERqTfs3m6AiIiIiFQvBUARERGRekYBUERERKSeUQAUERERqWcUAEVERETq\nGQVAERERkXpGAVBERESknqlVAfC5556jW7duhIeH07hxY6666io2btx41HUTJkygWbNmBAUF0bt3\nbzZt2uSF1oqIiIjUTLUqAH799dfcddddfP/996xcuRIfHx8uu+wy0tLSiq+ZNGkSkydPZvr06SQk\nJNC4cWP69OlDdna2F1suIiIiUnPYavNOINnZ2YSHh7Nw4UIGDBgAQNOmTRk7diwPP/wwAHl5eTRu\n3JgXX3yRW2+91ZvNFREREakRalUF8EgZGRm4XC4iIyMB2LFjB0lJSfTp06f4moCAAHr27Mnq1au9\n1UwRERGRGqVWB8Bx48ZxzjnncP755wOQlJSEzWYjOjq6zHXR0dEkJSV5o4kiIiIiNY6PtxtQUffd\ndx+rV6/mu+++w2azVegz0tPTK7lVIiIiIt4RHh5e7mtrZQXw3nvv5f3332flypW0aNGi+HhMTAxu\nt5vk5OQy1ycnJxMTE1PdzRQRERGpkWpdABw3blxx+IuPjy9zLi4ujpiYGJYvX158LC8vj2+++YYe\nPXpUd1NFREREaqRa1QV85513Mnv2bBYuXEh4eHhxpS8kJITg4GAA7rnnHp577jnatGlDfHw8Tz/9\nNKGhoQwbNuyEn71161YAunbtWrU/RB2UkJAA6N5VlO7fqdH9qzjdu1Oj+3dqdP8qrvS9q+hwtloV\nAF999VVsNhuXXnppmePjx4/nySefBODBBx8kLy+Pu+66i9TUVLp3787nn39eHBBFRERE6rtaFQBd\nLle5rnvyySeLA6GIiIiIlFXrxgCKiIiIyKlRABQRERGpZxQARUREROoZBUARERGRekYBUERERKSe\nUQAUERERqWcUAEVERETqGQVAERERkXpGAVBERESknlEAFBEREalnFABFRERE6hkFQBEREZF6RgFQ\nREREpJ5RABQRERGpZxQARUREROoZBUARERGRekYBUERERKSeUQAUERERqWcUAEVERETqGQVAERER\nkXpGAVBERESknlEAFBEREalnFABFRERE6hkFQBEREZF6RgFQREREpJ5RABQRERGpZxQARUREROoZ\nBUARERGRekYBUERERKSeqXUB8JtvvmHQoEHExsZit9uZNWtWmfM33XQTdru9zJ8LLrjAS60VERER\nqXlqXQDMysqiU6dOTJ06laCgoGNe06dPH5KTk0lKSiIpKYklS5ZUcytFRKTSHDwIr7wCL74IhYXe\nbo1IneDj7QacrP79+9O/f38ARo0adcxr/P39adSoUXU2S0REKpvTCdOmwaOPQk6OOdakCQwf7t12\nidQBta4CWB7ffvst0dHRtGnThn/84x8cPHjQ200SEZGT8fvv0LMn3HNPSfgDaNHCe20SqUPqXADs\n378/s2bN4ssvv+Sll17ip59+4tJLL6VQ3QYiIrXDrFlw9tmwerWp+LVubY6feSZoTLdIpbC53W63\ntxtRUaGhoUyfPp0bb7zxuNfs37+fFi1aMH/+fAYPHlzmXHp6evHzrVu3Vlk7RUSkHIqKiH3lFWLm\nzAHg0IABpPTrR/y4cQD8/tZb5HTo4M0WitQ48fHxxc/Dw8PL/b5aNwbwZDVp0oTY2FgFPBGRGsyR\nkUGrxx4j/IcfcDkc7H7wQVL696fd6NHYXC6SRo5U+BOpRHU+AB48eJC9e/fSpEmTcl3ftWvXKm5R\n3ZOQkADo3lWU7t+p0f2ruBpz737/3Uzs2LoVGjbE/sEHtLzoIloOHQqJiXDGGcS89hoxx1n5wVtq\nzP2rpXT/Kq70vSvdm3kyal0AzM7OZtu2bbjdblwuF7t372bdunVERUURFRXFhAkTuPbaa2nSpAk7\nduzg0UcfJSYmhquvvtrbTRcRkSMtXmzCX0YGdO4MCxeaiR7PPAP/+x+EhsLHH0MNC38itV2tmwSS\nkJDA2WefTZcuXcjLy2P8+PGcc845jB8/HofDwW+//cbgwYNp06YNN910E+3atWP16tUEBwd7u+ki\nImJxu2HSJLjyShP+rrsOvvvOhL9PPoHHHwebDebMgXbtvN1akTqn1lUAe/XqhcvlOu75pUuXVmNr\nRETkpOXkwC23wNy55vXEifDYYybwbdwII0aY4888AwMHeq+dInVYrQuAIiJSi/35JwweDGvXQkgI\n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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x22991a73c18>"
|
||||
"<matplotlib.figure.Figure at 0x1df2fb57160>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -2013,7 +2016,7 @@
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<matplotlib.figure.Figure at 0x229919b8470>"
|
||||
"<matplotlib.figure.Figure at 0x1df30e7f668>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
@@ -2078,7 +2081,7 @@
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python [default]",
|
||||
"display_name": "Python 3",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
@@ -2092,7 +2095,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.5.1"
|
||||
"version": "3.5.2"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -785,15 +785,17 @@
|
||||
"\n",
|
||||
"$$\\mathbf Q = \\int_0^{\\Delta t} \\mathbf F(t)\\mathbf{Q_c}\\mathbf F^\\mathsf{T}(t) dt$$\n",
|
||||
"\n",
|
||||
"where $\\mathbf{Q_c}$ is the continuous noise. This gives us\n",
|
||||
"where $\\mathbf{Q_c}$ is the continuous noise. The general reasoning should be clear. $\\mathbf F(t)\\mathbf{Q_c}\\mathbf F^\\mathsf{T}(t)$ is a projection of the continuous noise based on our process model $\\mathbf F(t)$ at the instant $t$. We want to know how much noise is added to the system over a discrete intervat $\\Delta t$, so we integrate this expression over the interval $[0, \\Delta t]$. \n",
|
||||
"\n",
|
||||
"$$\\Phi = \\begin{bmatrix}1 & \\Delta t & {\\Delta t}^2/2 \\\\ 0 & 1 & \\Delta t\\\\ 0& 0& 1\\end{bmatrix}$$\n",
|
||||
"We know the fundamental matrix for Newtonian systems is\n",
|
||||
"\n",
|
||||
"for the fundamental matrix, and\n",
|
||||
"$$F = \\begin{bmatrix}1 & \\Delta t & {\\Delta t}^2/2 \\\\ 0 & 1 & \\Delta t\\\\ 0& 0& 1\\end{bmatrix}$$\n",
|
||||
"\n",
|
||||
"We define the continuous noise as \n",
|
||||
"\n",
|
||||
"$$\\mathbf{Q_c} = \\begin{bmatrix}0&0&0\\\\0&0&0\\\\0&0&1\\end{bmatrix} \\Phi_s$$\n",
|
||||
"\n",
|
||||
"for the continuous process noise matrix, where $\\Phi_s$ is the spectral density of the white noise.\n",
|
||||
"where $\\Phi_s$ is the spectral density of the white noise. This can be derived, but is beyond the scope of this book. See any standard text on stoochastic processes for the details. In practice we often do not know the spectral density of the noise, and so this turns into an \"engineering\" factor - a number we experimentally tune until our filter performs as we expect. You can see that the matrix that $\\Phi_s$ is multiplied by effectively assigns the power spectral density to the acceleration term. This makes sense; we assume that the system has constant acceleration except for the variations caused by noise. The noise alters the acceleration.\n",
|
||||
"\n",
|
||||
"We could carry out these computations ourselves, but I prefer using SymPy to solve the equation.\n",
|
||||
"\n",
|
||||
@@ -1250,7 +1252,7 @@
|
||||
"\n",
|
||||
"$$\\mathbf Q=\\begin{bmatrix}0&0&0\\\\0&0&0\\\\0&0&\\sigma^2\\end{bmatrix}$$\n",
|
||||
"\n",
|
||||
"while not correct, is often a useful approximation. If you do this you will have to perform quite a few studies to guarantee that your filter works in a variety of situations. \n",
|
||||
"while not correct, is often a useful approximation. If you do this for an important application you will have to perform quite a few studies to guarantee that your filter works in a variety of situations. \n",
|
||||
"\n",
|
||||
"If you do this, 'lower right term' means the most rapidly changing term for each variable. If the state is $x=\\begin{bmatrix}x & \\dot x & \\ddot{x} & y & \\dot{y} & \\ddot{y}\\end{bmatrix}^\\mathsf{T}$ Then Q will be 6x6; the elements for both $\\ddot{x}$ and $\\ddot{y}$ will have to be set to non-zero in $\\mathbf Q$."
|
||||
]
|
||||
@@ -1756,7 +1758,7 @@
|
||||
"metadata": {
|
||||
"anaconda-cloud": {},
|
||||
"kernelspec": {
|
||||
"display_name": "Python [default]",
|
||||
"display_name": "Python 3",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
@@ -1770,7 +1772,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.5.1"
|
||||
"version": "3.5.2"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
||||
@@ -3451,7 +3451,7 @@
|
||||
"metadata": {
|
||||
"anaconda-cloud": {},
|
||||
"kernelspec": {
|
||||
"display_name": "Python [default]",
|
||||
"display_name": "Python 3",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
@@ -3465,7 +3465,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.5.1"
|
||||
"version": "3.5.2"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
||||
@@ -1869,7 +1869,7 @@
|
||||
"metadata": {
|
||||
"anaconda-cloud": {},
|
||||
"kernelspec": {
|
||||
"display_name": "Python [default]",
|
||||
"display_name": "Python 3",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
@@ -1883,7 +1883,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.5.1"
|
||||
"version": "3.5.2"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
||||
@@ -767,7 +767,7 @@
|
||||
"metadata": {
|
||||
"anaconda-cloud": {},
|
||||
"kernelspec": {
|
||||
"display_name": "Python [default]",
|
||||
"display_name": "Python 3",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
@@ -781,7 +781,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.5.1"
|
||||
"version": "3.5.2"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
||||
+12
-11
@@ -374,7 +374,7 @@ def plot_3_covariances():
|
||||
plt.gca().grid(b=False)
|
||||
plt.gca().set_xticks([0,1,2,3,4])
|
||||
plot_covariance_ellipse((2, 7), cov=P, facecolor='g', alpha=0.2,
|
||||
title='|2 0|\n|0 2|', std=[1,2,3], axis_equal=False)
|
||||
title='|2 0|\n|0 2|', std=[3], axis_equal=False)
|
||||
plt.ylim((0, 15))
|
||||
plt.gca().set_aspect('equal', adjustable='box')
|
||||
|
||||
@@ -385,7 +385,7 @@ def plot_3_covariances():
|
||||
plt.ylim((0, 15))
|
||||
plt.gca().set_aspect('equal', adjustable='box')
|
||||
plot_covariance_ellipse((2, 7), P, facecolor='g', alpha=0.2,
|
||||
std=[1,2,3],axis_equal=False, title='|2 0|\n|0 6|')
|
||||
std=[3],axis_equal=False, title='|2 0|\n|0 6|')
|
||||
|
||||
plt.subplot(133)
|
||||
plt.gca().grid(b=False)
|
||||
@@ -394,8 +394,8 @@ def plot_3_covariances():
|
||||
plt.ylim((0, 15))
|
||||
plt.gca().set_aspect('equal', adjustable='box')
|
||||
plot_covariance_ellipse((2, 7), P, facecolor='g', alpha=0.2,
|
||||
axis_equal=False,std=[1,2,3],
|
||||
title='|2 1.2|\n|1.2 2|')
|
||||
axis_equal=False,std=[3],
|
||||
title='|2.0 1.2|\n|1.2 2.0|')
|
||||
|
||||
plt.tight_layout()
|
||||
plt.show()
|
||||
@@ -450,15 +450,16 @@ def plot_track(ps, actual, zs, cov, std_scale=1,
|
||||
|
||||
plt.xlim((0,count))
|
||||
plt.title(title)
|
||||
plt.show()
|
||||
|
||||
if plot_P:
|
||||
with interactive_plot():
|
||||
ax = plt.subplot(121)
|
||||
ax.set_title("$\sigma^2_x$ (pos variance)")
|
||||
plot_covariance(cov, (0, 0))
|
||||
ax = plt.subplot(122)
|
||||
ax.set_title("$\sigma^2_\dot{x}$ (vel variance)")
|
||||
plot_covariance(cov, (1, 1))
|
||||
ax = plt.subplot(121)
|
||||
ax.set_title("$\sigma^2_x$ (pos variance)")
|
||||
plot_covariance(cov, (0, 0))
|
||||
ax = plt.subplot(122)
|
||||
ax.set_title("$\sigma^2_\dot{x}$ (vel variance)")
|
||||
plot_covariance(cov, (1, 1))
|
||||
plt.show()
|
||||
|
||||
|
||||
def plot_covariance(P, index=(0, 0)):
|
||||
|
||||
@@ -0,0 +1,179 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Created on Mon Oct 3 07:59:40 2016
|
||||
|
||||
@author: rlabbe
|
||||
"""
|
||||
|
||||
from filterpy.kalman import UnscentedKalmanFilter as UKF, MerweScaledSigmaPoints
|
||||
from math import tan, sin, cos, sqrt, atan2
|
||||
import numpy as np
|
||||
from numpy.random import randn
|
||||
import matplotlib.pyplot as plt
|
||||
from filterpy.stats import plot_covariance_ellipse
|
||||
|
||||
|
||||
|
||||
def move(x, u, dt, wheelbase):
|
||||
hdg = x[2]
|
||||
vel = u[0]
|
||||
steering_angle = u[1]
|
||||
dist = vel * dt
|
||||
|
||||
if abs(steering_angle) > 0.001: # is robot turning?
|
||||
beta = (dist / wheelbase) * tan(steering_angle)
|
||||
r = wheelbase / tan(steering_angle) # radius
|
||||
|
||||
sinh, sinhb = sin(hdg), sin(hdg + beta)
|
||||
cosh, coshb = cos(hdg), cos(hdg + beta)
|
||||
return x + np.array([-r*sinh + r*sinhb,
|
||||
r*cosh - r*coshb, beta])
|
||||
else: # moving in straight line
|
||||
return x + np.array([dist*cos(hdg), dist*sin(hdg), 0])
|
||||
|
||||
|
||||
def fx(x, dt, u):
|
||||
return move(x, u, dt, wheelbase)
|
||||
|
||||
|
||||
def normalize_angle(x):
|
||||
x = x % (2 * np.pi) # force in range [0, 2 pi)
|
||||
if x > np.pi: # move to [-pi, pi)
|
||||
x -= 2 * np.pi
|
||||
return x
|
||||
|
||||
|
||||
def residual_h(a, b):
|
||||
y = a - b
|
||||
# data in format [dist_1, bearing_1, dist_2, bearing_2,...]
|
||||
for i in range(0, len(y), 2):
|
||||
y[i + 1] = normalize_angle(y[i + 1])
|
||||
return y
|
||||
|
||||
|
||||
def residual_x(a, b):
|
||||
y = a - b
|
||||
y[2] = normalize_angle(y[2])
|
||||
return y
|
||||
|
||||
|
||||
def aa(x, y):
|
||||
if y is not None:
|
||||
return x % y
|
||||
else:
|
||||
return x
|
||||
|
||||
def bb(x,y):
|
||||
try:
|
||||
return x % y
|
||||
except:
|
||||
return x
|
||||
|
||||
|
||||
|
||||
def Hx(x, landmarks):
|
||||
""" takes a state variable and returns the measurement
|
||||
that would correspond to that state. """
|
||||
hx = []
|
||||
for lmark in landmarks:
|
||||
px, py = lmark
|
||||
dist = sqrt((px - x[0])**2 + (py - x[1])**2)
|
||||
angle = atan2(py - x[1], px - x[0])
|
||||
hx.extend([dist, normalize_angle(angle - x[2])])
|
||||
return np.array(hx)
|
||||
|
||||
|
||||
def state_mean(sigmas, Wm):
|
||||
x = np.zeros(3)
|
||||
|
||||
sum_sin = np.sum(np.dot(np.sin(sigmas[:, 2]), Wm))
|
||||
sum_cos = np.sum(np.dot(np.cos(sigmas[:, 2]), Wm))
|
||||
x[0] = np.sum(np.dot(sigmas[:, 0], Wm))
|
||||
x[1] = np.sum(np.dot(sigmas[:, 1], Wm))
|
||||
x[2] = atan2(sum_sin, sum_cos)
|
||||
return x
|
||||
|
||||
|
||||
def z_mean(sigmas, Wm):
|
||||
z_count = sigmas.shape[1]
|
||||
x = np.zeros(z_count)
|
||||
|
||||
for z in range(0, z_count, 2):
|
||||
sum_sin = np.sum(np.dot(np.sin(sigmas[:, z+1]), Wm))
|
||||
sum_cos = np.sum(np.dot(np.cos(sigmas[:, z+1]), Wm))
|
||||
|
||||
x[z] = np.sum(np.dot(sigmas[:,z], Wm))
|
||||
x[z+1] = atan2(sum_sin, sum_cos)
|
||||
return x
|
||||
|
||||
|
||||
dt = 1.0
|
||||
wheelbase = 0.5
|
||||
|
||||
def run_localization(
|
||||
cmds, landmarks, sigma_vel, sigma_steer, sigma_range,
|
||||
sigma_bearing, ellipse_step=1, step=10):
|
||||
|
||||
plt.figure()
|
||||
points = MerweScaledSigmaPoints(n=3, alpha=.00001, beta=2, kappa=0,
|
||||
subtract=residual_x)
|
||||
ukf = UKF(dim_x=3, dim_z=2*len(landmarks), fx=fx, hx=Hx,
|
||||
dt=dt, points=points, x_mean_fn=state_mean,
|
||||
z_mean_fn=z_mean, residual_x=residual_x,
|
||||
residual_z=residual_h)
|
||||
|
||||
ukf.x = np.array([2, 6, .3])
|
||||
ukf.P = np.diag([.1, .1, .05])
|
||||
ukf.R = np.diag([sigma_range**2,
|
||||
sigma_bearing**2]*len(landmarks))
|
||||
ukf.Q = np.eye(3)*0.0001
|
||||
|
||||
sim_pos = ukf.x.copy()
|
||||
|
||||
# plot landmarks
|
||||
if len(landmarks) > 0:
|
||||
plt.scatter(landmarks[:, 0], landmarks[:, 1],
|
||||
marker='s', s=60)
|
||||
|
||||
track = []
|
||||
for i, u in enumerate(cmds):
|
||||
sim_pos = move(sim_pos, u, dt/step, wheelbase)
|
||||
track.append(sim_pos)
|
||||
|
||||
if i % step == 0:
|
||||
ukf.predict(fx_args=u)
|
||||
|
||||
if i % ellipse_step == 0:
|
||||
plot_covariance_ellipse(
|
||||
(ukf.x[0], ukf.x[1]), ukf.P[0:2, 0:2], std=6,
|
||||
facecolor='k', alpha=0.3)
|
||||
|
||||
x, y = sim_pos[0], sim_pos[1]
|
||||
z = []
|
||||
for lmark in landmarks:
|
||||
dx, dy = lmark[0] - x, lmark[1] - y
|
||||
d = sqrt(dx**2 + dy**2) + randn()*sigma_range
|
||||
bearing = atan2(lmark[1] - y, lmark[0] - x)
|
||||
a = (normalize_angle(bearing - sim_pos[2] +
|
||||
randn()*sigma_bearing))
|
||||
z.extend([d, a])
|
||||
ukf.update(z, hx_args=(landmarks,))
|
||||
|
||||
if i % ellipse_step == 0:
|
||||
plot_covariance_ellipse(
|
||||
(ukf.x[0], ukf.x[1]), ukf.P[0:2, 0:2], std=6,
|
||||
facecolor='g', alpha=0.8)
|
||||
track = np.array(track)
|
||||
plt.plot(track[:, 0], track[:,1], color='k', lw=2)
|
||||
plt.axis('equal')
|
||||
plt.title("UKF Robot localization")
|
||||
plt.show()
|
||||
return ukf
|
||||
|
||||
|
||||
landmarks = np.array([[5, 10], [10, 5], [15, 15]])
|
||||
cmds = [np.array([1.1, .01])] * 200
|
||||
ukf = run_localization(
|
||||
cmds, landmarks, sigma_vel=0.1, sigma_steer=np.radians(1),
|
||||
sigma_range=0.3, sigma_bearing=0.1)
|
||||
print('Final P:', ukf.P.diagonal())
|
||||
@@ -0,0 +1,125 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Created on Sun Oct 9 08:25:01 2016
|
||||
|
||||
@author: roger
|
||||
"""
|
||||
|
||||
import numpy as np
|
||||
|
||||
|
||||
class WorldMap(object):
|
||||
|
||||
def __init__(self, N=100):
|
||||
|
||||
self.N = N
|
||||
pass
|
||||
|
||||
|
||||
|
||||
|
||||
def measurements(self, x, theta):
|
||||
""" return array of measurements (range, angle) if robot is in position
|
||||
x"""
|
||||
|
||||
N = 10
|
||||
a = np.linspace(-np.pi, np.pi, self.N)
|
||||
return a
|
||||
|
||||
|
||||
|
||||
def get_line(start, end):
|
||||
"""Bresenham's Line Algorithm
|
||||
Produces a list of tuples from start and end
|
||||
|
||||
>>> points1 = get_line((0, 0), (3, 4))
|
||||
>>> points2 = get_line((3, 4), (0, 0))
|
||||
>>> assert(set(points1) == set(points2))
|
||||
>>> print points1
|
||||
[(0, 0), (1, 1), (1, 2), (2, 3), (3, 4)]
|
||||
>>> print points2
|
||||
[(3, 4), (2, 3), (1, 2), (1, 1), (0, 0)]
|
||||
|
||||
source:
|
||||
http://www.roguebasin.com/index.php?title=Bresenham%27s_Line_Algorithm
|
||||
"""
|
||||
# Setup initial conditions
|
||||
x1, y1 = int(round(start[0])), int(round(start[1]))
|
||||
x2, y2 = int(round(end[0])), int(round(end[1]))
|
||||
dx = x2 - x1
|
||||
dy = y2 - y1
|
||||
|
||||
# Determine how steep the line is
|
||||
is_steep = abs(dy) > abs(dx)
|
||||
|
||||
# Rotate line
|
||||
if is_steep:
|
||||
x1, y1 = y1, x1
|
||||
x2, y2 = y2, x2
|
||||
|
||||
# Swap start and end points if necessary and store swap state
|
||||
swapped = False
|
||||
if x1 > x2:
|
||||
x1, x2 = x2, x1
|
||||
y1, y2 = y2, y1
|
||||
swapped = True
|
||||
# Recalculate differentials
|
||||
dx = x2 - x1
|
||||
dy = y2 - y1
|
||||
|
||||
# Calculate error
|
||||
error = int(dx / 2.0)
|
||||
ystep = 1 if y1 < y2 else -1
|
||||
|
||||
# Iterate over bounding box generating points between start and end
|
||||
y = y1
|
||||
points = []
|
||||
for x in range(x1, x2 + 1):
|
||||
coord = (y, x) if is_steep else (x, y)
|
||||
points.append(coord)
|
||||
error -= abs(dy)
|
||||
if error < 0:
|
||||
y += ystep
|
||||
error += dx
|
||||
|
||||
# Reverse the list if the coordinates were swapped
|
||||
if swapped:
|
||||
points.reverse()
|
||||
return points
|
||||
|
||||
|
||||
world = np.zeros((1000,1000), dtype=bool)
|
||||
|
||||
|
||||
def add_line(p0, p1):
|
||||
pts = get_line(p0, p1)
|
||||
for p in pts:
|
||||
try:
|
||||
world[p[0], p[1]] = True
|
||||
except:
|
||||
pass # ignore out of range
|
||||
|
||||
|
||||
add_line((0,0), (1000, 0))
|
||||
|
||||
def measure(x, theta):
|
||||
|
||||
dx,dy = world.shape
|
||||
h = np.sqrt(2*(dx*dx + dy+dy))
|
||||
p1 = [h*np.cos(theta), h*np.sin(theta)]
|
||||
|
||||
|
||||
hits = get_line(x, p1)
|
||||
|
||||
try:
|
||||
for pt in hits:
|
||||
if world[pt[0], pt[1]]:
|
||||
return pt
|
||||
except:
|
||||
return -1
|
||||
return -2
|
||||
|
||||
|
||||
|
||||
|
||||
measure([100,100], -np.pi/2)
|
||||
+1617
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user