Lots of minor layout edits. Generated new PDF of book.
This commit is contained in:
1 parent
2e63fc3fad
commit
9fdb649396
8 files changed
+317
-6968
No files matched your search
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"metadata": {
|
||||
"name": "",
|
||||
"signature": "sha256:47e47ce6c78a985606fd325605b42a0e55e381111a625eb69820fb2771542ce2"
|
||||
"signature": "sha256:6f0219267a66cc62e4a150a277649629939dd335bea9ca5857a6ff6f806acb53"
|
||||
},
|
||||
"nbformat": 3,
|
||||
"nbformat_minor": 0,
|
||||
@@ -282,7 +282,7 @@
|
||||
"source": [
|
||||
"This first attempt at tracking a robot will closely resemble the 1-D dog tracking problem of previous chapters. This will allow us to 'get our feet wet' with Kalman filtering. So, instead of a sensor that outputs position in a hallway, we now have a sensor that supplies a noisy measurement of position in a 2-D space, such as an open field. That is, at each time $T$ it will provide an $(x,y)$ coordinate pair specifying the measurement of the sensor's position in the field.\n",
|
||||
"\n",
|
||||
"Implemention of code to interact with real sensors is beyond the scope of this book, so as before we will program simple simuations in Python to represent the sensors. We will develop several of these sensors as we go, each with more complications, so as I program them I will just append a number to the function name. *pos_sensor1 ()* is the first sensor we write, and so on. \n",
|
||||
"Implemention of code to interact with real sensors is beyond the scope of this book, so as before we will program simple simuations in Python to represent the sensors. We will develop several of these sensors as we go, each with more complications, so as I program them I will just append a number to the function name. $\\verb,pos_sensor1 (),$ is the first sensor we write, and so on. \n",
|
||||
"\n",
|
||||
"So let's start with a very simple sensor, one that travels in a straight line. It takes as input the last position, velocity, and how much noise we want, and returns the new position. "
|
||||
]
|
||||
@@ -465,7 +465,7 @@
|
||||
"\\end{aligned}\n",
|
||||
"$$\n",
|
||||
"\n",
|
||||
"Perhaps the $\\frac{1}{0.3048}$ caught you off guard. At first I always found $\\small\\mathbf{H}$ a bit counter-intuitive to design because it takes you from the state variables to the measurements, but the Kalman filter is trying to take measurements and produce state variables to them. If you read the math chapter you will understand why $\\small\\mathbf{H}$ is designed to go in this direction. If not, well, you'll have to remember how this works and trust that it is correct.\n",
|
||||
"Perhaps the $\\frac{1}{0.3048}$ caught you off guard. At first I always found $\\mathbf{H}$ a bit counter-intuitive to design because it takes you from the state variables to the measurements, but the Kalman filter is trying to take measurements and produce state variables to them. If you read the math chapter you will understand why $\\mathbf{H}$ is designed to go in this direction. If not, well, you'll have to remember how this works and trust that it is correct.\n",
|
||||
"\n",
|
||||
"So, here is the Python that implements this:"
|
||||
]
|
||||
@@ -684,7 +684,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"I encourage you to play with this, setting $\\small\\mathbf{Q}$ and $\\small\\mathbf{R}$ to various values. However, we did a fair amount of that sort of thing in the last chapters, and we have a lot of material to cover, so I will move on to more complicated cases where we will also have a chance to experience changing these values.\n",
|
||||
"I encourage you to play with this, setting $\\mathbf{Q}$ and $\\mathbf{R}$ to various values. However, we did a fair amount of that sort of thing in the last chapters, and we have a lot of material to cover, so I will move on to more complicated cases where we will also have a chance to experience changing these values.\n",
|
||||
"\n",
|
||||
"Now I will run the same Kalman filter with the same settings, but also plot the covariance ellipse for $x$ and $y$. First, the code without explanation, so we can see the output. I print the last covariance to see what it looks like. But before you scroll down to look at the results, what do you think it will look like? You have enough information to figure this out but this is still new to you, so don't be discouraged if you get it wrong."
|
||||
]
|
||||
@@ -774,7 +774,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Did you correctly predict what the covariance matrix and plots would look like? Perhaps you were expecting a tilted ellipse, as in the last chapters. If so, recall that in those chapters we were not plotting $x$ against $y$, but $x$ against $\\dot{x}$. $x$ *is correlated* to $\\dot{x}$, but $x$ is not correlated or dependent on $y$. Therefore our ellipses are not tilted. Furthermore, the noise for both $x$ and $y$ are modelled to have the same value, 5, in $\\small\\mathbf{R}$. If we were to set R to, for example,\n",
|
||||
"Did you correctly predict what the covariance matrix and plots would look like? Perhaps you were expecting a tilted ellipse, as in the last chapters. If so, recall that in those chapters we were not plotting $x$ against $y$, but $x$ against $\\dot{x}$. $x$ *is correlated* to $\\dot{x}$, but $x$ is not correlated or dependent on $y$. Therefore our ellipses are not tilted. Furthermore, the noise for both $x$ and $y$ are modelled to have the same value, 5, in $\\mathbf{R}$. If we were to set R to, for example,\n",
|
||||
"\n",
|
||||
"$$\\mathbf{R} = \\begin{bmatrix}10&0\\\\0&5\\end{bmatrix}$$\n",
|
||||
"\n",
|
||||
@@ -785,7 +785,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"The final P tells us everything we need to know about the correlation beween the state variables. If we look at the diagonal alone we see the variance for each variable. In other words $P_{0,0}$ is the variance for x, $P_{1,1}$ is the variance for $\\dot{x}$, $P_{2,2}$ is the variance for y, and $P_{3,3}$ is the variance for $\\dot{y}$. We can extract the diagonal of a matrix using *numpy.diag()*."
|
||||
"The final P tells us everything we need to know about the correlation beween the state variables. If we look at the diagonal alone we see the variance for each variable. In other words $\\mathbf{P}_{0,0}$ is the variance for x, $\\mathbf{P}_{1,1}$ is the variance for $\\dot{x}$, $\\mathbf{P}_{2,2}$ is the variance for y, and $\\mathbf{P}_{3,3}$ is the variance for $\\dot{y}$. We can extract the diagonal of a matrix using *numpy.diag()*."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -848,9 +848,9 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"The covariance contains the data for $x$ and $\\dot{x}$ in the upper left because of how it is organized. Recall that entries $\\small\\mathbf{P}_{i,j}$ and $\\small\\mathbf{P}_{j,i}$ contain $p\\sigma_1\\sigma_2$.\n",
|
||||
"The covariance contains the data for $x$ and $\\dot{x}$ in the upper left because of how it is organized. Recall that entries $\\mathbf{P}_{i,j}$ and $\\mathbf{P}_{j,i}$ contain $p\\sigma_1\\sigma_2$.\n",
|
||||
"\n",
|
||||
"Finally, let's look at the lower left side of $\\small\\mathbf{P}$, which is all 0s. Why 0s? Consider $\\small\\mathbf{P}_{3,0}$. That stores the term $p\\sigma_3\\sigma_0$, which is the covariance between $\\dot{y}$ and $x$. These are independent, so the term will be 0. The rest of the terms are for similarly independent variables."
|
||||
"Finally, let's look at the lower left side of $\\mathbf{P}$, which is all 0s. Why 0s? Consider $\\mathbf{P}_{3,0}$. That stores the term $p\\sigma_3\\sigma_0$, which is the covariance between $\\dot{y}$ and $x$. These are independent, so the term will be 0. The rest of the terms are for similarly independent variables."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -920,14 +920,19 @@
|
||||
"The first step is to design our state variables. We will assume that the robot is travelling in a straight direction with constant velocity. This is unlikely to be true for a long period of time, but is acceptable for short periods of time. This does not differ from the previous problem - we will want to track the values for the robot's position and velocity. Hence,\n",
|
||||
"\n",
|
||||
"$$\\mathbf{x} = \n",
|
||||
"\\begin{bmatrix}x\\\\v_x\\\\y\\\\v_y\\end{bmatrix}$$\n",
|
||||
"\n",
|
||||
"\\begin{bmatrix}x\\\\v_x\\\\y\\\\v_y\\end{bmatrix}$$"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"The next step is to design the state transistion function. This also will be the same as the previous problem, so without further ado,\n",
|
||||
"\n",
|
||||
"$$\n",
|
||||
"\\mathbf{x}' = \\begin{bmatrix}1& \\Delta t& 0& 0\\\\0& 1& 0& 0\\\\0& 0& 1& \\Delta t\\\\ 0& 0& 0& 1\\end{bmatrix}\\mathbf{x}$$\n",
|
||||
"\n",
|
||||
"The next step is to design the control inputs. We have none, so we set ${\\small\\mathbf{B}}=0$.\n",
|
||||
"The next step is to design the control inputs. We have none, so we set ${\\mathbf{B}}=0$.\n",
|
||||
"\n",
|
||||
"The next step is to design the measurement function $\\mathbf{z} = \\mathbf{Hx}$. We can model the measurement using the Pythagorean theorem.\n",
|
||||
"\n",
|
||||
@@ -945,7 +950,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Instead of computing $\\small\\mathbf{H}$ we will compute the partial derivative of $\\mathbf{H}$ with respect to the robot's position $\\small\\mathbf{x}$. You are probably familiar with the concept of partial derivative, but if not, it just means how $\\small \\mathbf{H}$ changes with respect to the robot's position.\n",
|
||||
"Instead of computing $\\mathbf{H}$ we will compute the partial derivative of $\\mathbf{H}$ with respect to the robot's position $\\mathbf{x}$. You are probably familiar with the concept of partial derivative, but if not, it just means how $\\mathbf{H}$ changes with respect to the robot's position.\n",
|
||||
"\n",
|
||||
"$$\\frac{\\partial\\mathbf{h}}{\\partial\\mathbf{x}}=\n",
|
||||
"\\small\\begin{bmatrix}\n",
|
||||
@@ -974,12 +979,17 @@
|
||||
"\\end{bmatrix}\n",
|
||||
"$$\n",
|
||||
"\n",
|
||||
"However, this raises a huge problem. We are no longer computing $\\small\\mathbf{H}$, but $\\Delta\\small\\mathbf{H}$, the change of $\\small\\mathbf{H}$. If we passed this into our Kalman filter without altering the rest of the design the output would be nonsense. Recall, for example, that we multiply $\\small\\mathbf{Hx}$ to generate the measurements that would result from the given estimate of $\\small\\mathbf{x}$ But now that $\\small\\mathbf{H}$ is linearized around our position it contains the *change* in the measurement function. \n",
|
||||
"However, this raises a huge problem. We are no longer computing $\\mathbf{H}$, but $\\Delta\\mathbf{H}$, the change of $\\mathbf{H}$. If we passed this into our Kalman filter without altering the rest of the design the output would be nonsense. Recall, for example, that we multiply $\\mathbf{Hx}$ to generate the measurements that would result from the given estimate of $\\mathbf{x}$ But now that $\\mathbf{H}$ is linearized around our position it contains the *change* in the measurement function. \n",
|
||||
"\n",
|
||||
"We are forced, therefore, to use the *change* in $\\small\\mathbf{x}$ for our state variables. So we have to go back and redesign our state variables. \n",
|
||||
"\n",
|
||||
">Please note this is a completely normal occurance in designing Kalman filters. The textbooks present examples like this as *fait accompli*, as if it is trivially obvious that the state variables needed to be velocities, not positions. Perhaps once you do enough of these problems it would be trivially obvious, but at that point why are you reading a textbook? I find myself reading through a presentation multiple times, trying to figure out why they made a choice, finally to realize that it is because of the consequences of something on the next page. My presentation is longer, but it reflects what actually happens when you design a filter. You make what seem reasonable design choices, and as you move forward you discover properties that require you to recast your earlier steps. As a result, I am going to somewhat abandon my **step 1**, **step 2**, etc., approach, since so many real problems are not quite that straightforward.\n",
|
||||
"We are forced, therefore, to use the *change* in $\\mathbf{x}$ for our state variables. So we have to go back and redesign our state variables. \n",
|
||||
"\n",
|
||||
">Please note this is a completely normal occurance in designing Kalman filters. The textbooks present examples like this as *fait accompli*, as if it is trivially obvious that the state variables needed to be velocities, not positions. Perhaps once you do enough of these problems it would be trivially obvious, but at that point why are you reading a textbook? I find myself reading through a presentation multiple times, trying to figure out why they made a choice, finally to realize that it is because of the consequences of something on the next page. My presentation is longer, but it reflects what actually happens when you design a filter. You make what seem reasonable design choices, and as you move forward you discover properties that require you to recast your earlier steps. As a result, I am going to somewhat abandon my **step 1**, **step 2**, etc., approach, since so many real problems are not quite that straightforward."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"If our state variables contain the velocities of the robot and not the position then how do we track where the robot is? We can't. Kalman filters that are linearized in this fashion use what is called a *nominal trajectory* - i.e. you assume a position and track direction, and then apply the changes in velocity and acceleration to compute the changes in that trajectory. How could it be otherwise? Recall the graphic showing the intersection of the two range circles - there are two areas of intersection. Think of what this would look like if the two transmitters were very close to each other - the intersections would be two very long cresent shapes. This Kalman filter, as designed, has no way of knowing your true position from only distance measurements to the transmitters. Perhaps your mind is already leaping to ways of working around this problem. If so, stay engaged, as later sections and chapters will provide you with these techniques. Presenting the full solution all at once leads to more confusion than insight, in my opinion. \n",
|
||||
"\n",
|
||||
"So let's redesign our *state transition function*. We are assuming constant velocity and no acceleration, giving state equations of\n",
|
||||
@@ -994,7 +1004,7 @@
|
||||
"$$\n",
|
||||
"\\mathbf{F} = \\begin{bmatrix}0 &1 & 0& 0\\\\0& 0& 0& 0\\\\0& 0& 0& 1\\\\ 0& 0& 0& 0\\end{bmatrix}$$\n",
|
||||
"\n",
|
||||
"A final complication comes from the measurements that we pass in. $\\small\\mathbf{Hx}$ is now computing the *change* in the measurement from our nominal position, so the measurement that we pass in needs to be not the range to A and B, but the *change* in range from our measured range to our nomimal position. \n",
|
||||
"A final complication comes from the measurements that we pass in. $\\mathbf{Hx}$ is now computing the *change* in the measurement from our nominal position, so the measurement that we pass in needs to be not the range to A and B, but the *change* in range from our measured range to our nomimal position. \n",
|
||||
"\n",
|
||||
"There is a lot here to take in, so let's work through the code bit by bit. First we will define a function to compute $\\frac{\\partial\\mathbf{h}}{\\partial\\mathbf{x}}$ for each time step."
|
||||
]
|
||||
@@ -1059,7 +1069,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Now let's write the code to compute $\\small\\frac{\\partial\\mathbf{h}}{\\partial\\mathbf{x}}$."
|
||||
"Now let's write the code to compute $\\frac{\\partial\\mathbf{h}}{\\partial\\mathbf{x}}$."
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
+170
-216
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"metadata": {
|
||||
"name": "",
|
||||
"signature": "sha256:3b30412bf2631dd597e1e619df3837d5c18dcb65903323a2b7bc4a1c899a076a"
|
||||
"signature": "sha256:7bcd692a8ae1a36e1bb14d78bc58a3b8d1234f768fb0d0c6c00dee4155fa0676"
|
||||
},
|
||||
"nbformat": 3,
|
||||
"nbformat_minor": 0,
|
||||
@@ -53,7 +53,7 @@
|
||||
"\n",
|
||||
" .text_cell_render h1 {\n",
|
||||
" font-weight: 200;\n",
|
||||
" font-size: 36pt;\n",
|
||||
" font-size: 30pt;\n",
|
||||
" line-height: 100%;\n",
|
||||
" color:#c76c0c;\n",
|
||||
" margin-bottom: 0.5em;\n",
|
||||
@@ -70,8 +70,8 @@
|
||||
" font-style: italic;\n",
|
||||
" line-height: 100%;\n",
|
||||
" color:#c76c0c;\n",
|
||||
" margin-bottom: 1.5em;\n",
|
||||
" margin-top: 0.5em;\n",
|
||||
" margin-bottom: 0.5em;\n",
|
||||
" margin-top: 1.5em;\n",
|
||||
" display: block;\n",
|
||||
" white-space: nowrap;\n",
|
||||
" } \n",
|
||||
@@ -242,13 +242,13 @@
|
||||
],
|
||||
"metadata": {},
|
||||
"output_type": "pyout",
|
||||
"prompt_number": 1,
|
||||
"prompt_number": 2,
|
||||
"text": [
|
||||
"<IPython.core.display.HTML at 0x10d8850>"
|
||||
"<IPython.core.display.HTML at 0x197d410>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 1
|
||||
"prompt_number": 2
|
||||
},
|
||||
{
|
||||
"cell_type": "heading",
|
||||
@@ -311,13 +311,13 @@
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 2
|
||||
"prompt_number": 3
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"The constructor *\\_\\_init()\\_\\_* initializes the DogSensor class with an initial position (x0), velocity (vel), and an noise scaling factor. The *sense()* function has the dog move by the set velocity and returns its new position, with noise added. If you look at the code for *sense()* you will see a call to *numpy.random.randn()*. This returns a number sampled from a normal distribution with a mean of 0.0. Let's look at some example output for that.\n",
|
||||
"The constructor $\\verb,__init()__,$ initializes the DogSensor class with an initial position (x0), velocity (vel), and an noise scaling factor. The $\\verb,sense(),$ function has the dog move by the set velocity and returns its new position, with noise added. If you look at the code for $\\verb,sense(),$ you will see a call to $\\verb,numpy.random.randn(),$. This returns a number sampled from a normal distribution with a mean of 0.0. Let's look at some example output for that.\n",
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
@@ -335,11 +335,11 @@
|
||||
"output_type": "stream",
|
||||
"stream": "stdout",
|
||||
"text": [
|
||||
"-0.6891\t0.0651\t-1.3072\t-0.3641\t-0.9836\t-0.6302\t-0.1925\t-2.5600\t-0.2098\t0.4368\t0.1303\t-0.5265\t-1.1345\t-1.3365\t-0.1951\t0.6675\t2.3115\t-0.4293\t1.0739\t-2.2391\t"
|
||||
"-0.8025\t0.4440\t1.6176\t-0.7325\t0.0304\t0.3592\t-0.1916\t1.3645\t0.2563\t-0.4732\t-0.3872\t0.2693\t0.4122\t0.1272\t0.7263\t-0.5945\t0.4633\t-1.5166\t0.5133\t1.1987\t"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 3
|
||||
"prompt_number": 4
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -347,7 +347,7 @@
|
||||
"source": [
|
||||
"You should see a sequence of numbers near 0, some negative and some positive. Most are probably between -1 and 1, but a few might lie somewhat outside that range. This is what we expect from a normal distribution - values are clustered around the mean, and there are fewer values the further you get from the mean.\n",
|
||||
"\n",
|
||||
"Okay, so lets look at the output of the *DogSensor* class. We will start by setting the noise to 0 to check that the class does what we think it does"
|
||||
"Okay, so lets look at the output of the $\\verb,DogSensor,$ class. We will start by setting the noise to 0 to check that the class does what we think it does"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -381,11 +381,11 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3591c90>"
|
||||
"<matplotlib.figure.Figure at 0x28b10d0>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 4
|
||||
"prompt_number": 5
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -424,20 +424,20 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x36182d0>"
|
||||
"<matplotlib.figure.Figure at 0x28e3f90>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 5
|
||||
"prompt_number": 6
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"\n",
|
||||
"> **Note**: numpy uses a random number generator to generate the normal distribution samples. The numbers I see as I write this are unlikely to be the ones that you see. If you run the cell above multiple times, you should get a slightly different result each time. I could use *numpy.random.seed(some_value)* to force the results to be the same each time. This would simplify my explanations in some cases, but would ruin the interactive nature of this chapter. To get a real feel for how normal distributions and Kalman filters work you will probably want to run cells several times, observing what changes, and what stays roughly the same.\n",
|
||||
"> **Note**: numpy uses a random number generator to generate the normal distribution samples. The numbers I see as I write this are unlikely to be the ones that you see. If you run the cell above multiple times, you should get a slightly different result each time. I could use $\\verb,numpy.random.seed(some_value),$ to force the results to be the same each time. This would simplify my explanations in some cases, but would ruin the interactive nature of this chapter. To get a real feel for how normal distributions and Kalman filters work you will probably want to run cells several times, observing what changes, and what stays roughly the same.\n",
|
||||
"\n",
|
||||
"So the output of the sensor should be a wavering blue line drawn over a dotted red line. The dotted red line shows the actual position of the dog, and the blue line is the noise signal produced by the simulated RFID sensor. Please note that the red dotted line was manually plotted - we do not yet have a filter that recovers that information! \n",
|
||||
"\n",
|
||||
@@ -458,13 +458,13 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x35fb510>"
|
||||
"<matplotlib.figure.Figure at 0x28c0410>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 6
|
||||
"prompt_number": 7
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
@@ -478,19 +478,19 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAtoAAAGPCAYAAABiRXfqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmcjXX/x/HXOWf21b4MM4gfspal7lB2ZSna7IaiUrpj\ntOluIy1I0UJJipREKdKNutEyyDIHtzU7xYzd7DNnzpzz+8NtSq40ODPXOWfez8djHtN11s94vDs+\n8/W5vpfF7Xa7ERERERERj7KaXYCIiIiIiD9Soy0iIiIiUgTUaIuIiIiIFAE12iIiIiIiRUCNtoiI\niIhIEVCjLSIiIiJSBNRoi4iYzGq18tFHH5ldhoiIeJgabRERk6WkpNCzZ0+zy7hir7zyClWqVCEs\nLIz27duzZ8+eS3r+999/j9VqPe/LZrPhcDiKqGIRkaKlRltExGQVKlQgJCTE7DKuyPvvv8+YMWOY\nOHEia9euJTAwkK5du+J0Oi/5tY4ePUpKSgopKSkkJycTFBRUBBWLiBQ9NdoiIpdo0KBBxMfHM3z4\ncEqXLk2VKlV49913z3vM4cOHuf3224mKiiIqKoo777yTlJSU8x4TEhJSsHI7a9asC94nLy+P4cOH\nU6VKFUJDQ6lduzaTJk264H169epFmTJlKFeuHHfeeSeHDx/2/A/9N6ZMmcKgQYPo06cPDRs2ZPr0\n6ezevZulS5de8muVL1+eChUqFHyJiPgqNdoiIpdhwYIFVK9enaSkJHr16sUjjzzCkSNHCu7v27cv\nhw8f5vvvv2flypUcOHCAfv36nfcav/76K8nJyQBYLJYL3uPtt9/mo48+Yvbs2ezatYtp06YRHR1d\ncH9mZiZt2rTB7Xbz448/kpiYCMBtt92G2+0u1M8xdOhQIiMjDb+6du1aqNfIzc1ly5Yt3HjjjQW3\nxcbGUqNGDdavX1+o1/ijWrVqUaVKFTp37syGDRsu+fkiIt4iwOwCRER8UYMGDUhISADgmWeeYfLk\nyWzcuJGYmBi2bdvGTz/9xKpVq2jSpAkAkydPpnXr1uzcuZO6desCZ1duL2b//v3ExMTQrl074Gzz\n2rZt24L7P/30U06ePMknn3xCYGAgcHZlOSYmhvXr13Pdddf97c8xduxYnnjiCcP7QkND//b5ACdP\nnsTlclGuXDnefPNNXnrpJZKSkihfvjzHjh0r1GsAxMTEMGPGDJo0aUJGRgZvvPEGN954I5s2baJO\nnTqFfh0REW+hRltE5DLUrl274L/LlCkDwKlTpwDYvXs3AI0bNy54zDXXXFNw37lG++8MGDCA2bNn\nU6dOHdq2bcuNN97I3XffXTCzbLfbSUtLK3j/cywWC/v27StUo12+fPm/bfgvRdmyZalevTrBwcGF\nXlU/p3bt2uf9ud5www3Uq1ePt99+m7feestjNYqIFBc12iIil8hisWCz2S64/VIby7/TvHlzDh06\nxPLly/nhhx94+OGHef/991m5cmXBY+rWrcuiRYsueG5hZ5uHDh3KJ598YnjfTTfdxDfffPO3r1G2\nbFmsVisnTpygX79+BSMyx48fv6IZa6vVSqNGjThw4MBlv4aIiJnUaIuIeFitWrUA2LRpEy1atABg\n48aN591XWJGRkfTo0YMePXpwww030Lt3b06fPk3p0qVp0qQJH330EdHR0ZQtW/ayavXE6EhwcDCN\nGjXixx9/LGiyDx06xIEDBwxX1Q8cOEBoaCgVK1a86Ou63W527Nhx3riMiIgvUaMtInKJ3G634cmL\n5zRo0IBWrVoxfPhw3n33XdxuNyNGjKBNmzZcffXVwNkTGdPT0wuec+bMGVJSUrDZbAWjHJMnT6Z8\n+fI0bdoUt9vNp59+SlxcHKVLlwbOnnA5btw47rjjDl5++WUqVarEjh07mD17NjNnzixUo+yp0ZFh\nw4YxbNgw2rRpQ4MGDXj88cepXbs2t9xyywWPveqqq2jduvV5K/MAr732GtWrV6dhw4bk5uYydepU\n9u7dy7x58664PhERM2jXERGRS2SxWC7aaAPMmTOHKlWq0KZNG9q2bUv16tXPG9F49dVXiYmJISYm\nBovFwogRI4iJieH6668veExUVBSvv/461113HS1atCArK4vFixcX3B8WFsaPP/5IbGwsPXr0oEGD\nBowcOZLKlSsX+97TgwcPZvTo0Tz22GNcd911OJ1OvvnmG8MRGzDeZcXpdPLYY4/RuHFj2rRpw+7d\nu1mxYkXBLyciIr7G4vb0UKGBxx57jI8//pjy5cuzZcsWAObNm8czzzyDxWLhtddeo1u3bhe9XURE\nRETElxRLo71mzRqCgoIYNGgQW7ZsweFwULduXdauXUtOTg5t27Zlz549f3m7iIiIiIivKZYZ7Rtu\nuOG8s8bXrl1L/fr1C+YCY2Nj2bx5M2lpaYa3/3GLLBERERERX2DKyZApKSlUrlyZadOmUaZMGSpV\n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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x36059d0>"
|
||||
"<matplotlib.figure.Figure at 0x28b1250>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 7
|
||||
"prompt_number": 8
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"You may not have a full understanding of the exact *meaning* of a noise value of 100.0, but as it turns out if you multiply *randn()* with a number $n$, the result is just a normal distribution with $\\sigma = \\sqrt{n}$. So the example with noise = 100 is using the normal distribution $\\mathcal{N}(0,100)$. Recall the notation for a normal distribution is $\\mathcal{N}(\\mu,\\sigma^2)$. If the square root is confusing, recall that normal distributions use $\\sigma^2$ for the variance, and $\\sigma$ is the standard deviation, which we do not use in this book. DogSensor.<code><code>\\_\\_init__()</code> takes the square root of the noise setting so that the *noise * randn()* call properly computes the normal distribution."
|
||||
"You may not have a full understanding of the exact *meaning* of a noise value of 100.0, but as it turns out if you multiply $\\verb,randn(),$ with a number $n$, the result is just a normal distribution with $\\sigma = \\sqrt{n}$. So the example with noise = 100 is using the normal distribution $\\mathcal{N}(0,100)$. Recall the notation for a normal distribution is $\\mathcal{N}(\\mu,\\sigma^2)$. If the square root is confusing, recall that normal distributions use $\\sigma^2$ for the variance, and $\\sigma$ is the standard deviation, which we do not use in this book. DogSensor.$\\verb,__init__(),$ takes the square root of the noise setting so that the $\\verb,noise * randn(),$ call properly computes the normal distribution."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -523,11 +523,11 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3614cd0>"
|
||||
"<matplotlib.figure.Figure at 0x28cfb50>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 8
|
||||
"prompt_number": 9
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -559,13 +559,13 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3837850>"
|
||||
"<matplotlib.figure.Figure at 0x28b1110>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 9
|
||||
"prompt_number": 10
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -658,11 +658,11 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3b15190>"
|
||||
"<matplotlib.figure.Figure at 0x2dffb90>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 10
|
||||
"prompt_number": 11
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -674,7 +674,7 @@
|
||||
"\n",
|
||||
"\"Measure twice, cut once\" is a useful saying and practice due to this fact! The Gaussian is just a mathematical model of this physical fact, so we should expect the math to follow our physical process. \n",
|
||||
"\n",
|
||||
"Now let's multiply two gaussians (or equivelently, two measurements) that are partially separated. In other words, their means will be different, but their variances will be the same. What do you think the result will be? Think about it, and then look at the graph."
|
||||
"Now let's multiply two gaussians (or equivalently, two measurements) that are partially separated. In other words, their means will be different, but their variances will be the same. What do you think the result will be? Think about it, and then look at the graph."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -706,11 +706,11 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3837550>"
|
||||
"<matplotlib.figure.Figure at 0x2e0ba50>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 11
|
||||
"prompt_number": 12
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -756,11 +756,11 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3623250>"
|
||||
"<matplotlib.figure.Figure at 0x2c29cd0>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 12
|
||||
"prompt_number": 13
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -831,7 +831,7 @@
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 13
|
||||
"prompt_number": 14
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -850,15 +850,15 @@
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 14
|
||||
"prompt_number": 15
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"That is less abstract, which perhaps helps with comprehension, but it is poor coding practice. We are writing a Kalman filter that works for any problem, not just tracking dogs in a hallway, so we don't use variable names with 'dog' in them. Still, the *sense_dog()* function should make what we are doing very clear. \n",
|
||||
"That is less abstract, which perhaps helps with comprehension, but it is poor coding practice. We are writing a Kalman filter that works for any problem, not just tracking dogs in a hallway, so we don't use variable names with 'dog' in them. Still, the $\\verb,sense_dog(),$ function should make what we are doing very clear. \n",
|
||||
"\n",
|
||||
"Let's look at an example. We will suppose that our current belief for the dog's position is $N(2,5)$. Don't worry about where that number came from. It may appear that we have a chicken and egg problem, in that how do we know the position before we sense it, but we will resolve that shortly. We will create a *DogSensor* object initialized to be at position 0.0, and with no velocity, and modest noise. This corresponds to the dog standing still at the far left side of the hallway. Note that we mistakenly believe the dog is at postion 2.0, not 0.0."
|
||||
"Let's look at an example. We will suppose that our current belief for the dog's position is $N(2,5)$. Don't worry about where that number came from. It may appear that we have a chicken and egg problem, in that how do we know the position before we sense it, but we will resolve that shortly. We will create a $\\verb,DogSensor,$ object initialized to be at position 0.0, and with no velocity, and modest noise. This corresponds to the dog standing still at the far left side of the hallway. Note that we mistakenly believe the dog is at postion 2.0, not 0.0."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -879,30 +879,30 @@
|
||||
"output_type": "stream",
|
||||
"stream": "stdout",
|
||||
"text": [
|
||||
"time: 0 \tposition = 0.260 \tvariance = 2.500\n",
|
||||
"time: 1 \tposition = 0.381 \tvariance = 1.667\n",
|
||||
"time: 2 \tposition = 0.401 \tvariance = 1.250\n",
|
||||
"time: 3 \tposition = 0.308 \tvariance = 1.000\n",
|
||||
"time: 4 \tposition = 0.626 \tvariance = 0.833\n",
|
||||
"time: 5 \tposition = 0.456 \tvariance = 0.714\n",
|
||||
"time: 6 \tposition = 0.540 \tvariance = 0.625\n",
|
||||
"time: 7 \tposition = 0.225 \tvariance = 0.556\n",
|
||||
"time: 8 \tposition = 0.043 \tvariance = 0.500\n",
|
||||
"time: 9 \tposition = -0.006 \tvariance = 0.455\n",
|
||||
"time: 10 \tposition = -0.087 \tvariance = 0.417\n",
|
||||
"time: 11 \tposition = 0.044 \tvariance = 0.385\n",
|
||||
"time: 12 \tposition = 0.027 \tvariance = 0.357\n",
|
||||
"time: 13 \tposition = 0.051 \tvariance = 0.333\n",
|
||||
"time: 14 \tposition = 0.059 \tvariance = 0.312\n",
|
||||
"time: 15 \tposition = 0.023 \tvariance = 0.294\n",
|
||||
"time: 16 \tposition = 0.068 \tvariance = 0.278\n",
|
||||
"time: 17 \tposition = 0.096 \tvariance = 0.263\n",
|
||||
"time: 18 \tposition = 0.054 \tvariance = 0.250\n",
|
||||
"time: 19 \tposition = 0.065 \tvariance = 0.238\n"
|
||||
"time: 0 \tposition = 0.793 \tvariance = 2.500\n",
|
||||
"time: 1 \tposition = 0.575 \tvariance = 1.667\n",
|
||||
"time: 2 \tposition = 0.277 \tvariance = 1.250\n",
|
||||
"time: 3 \tposition = 0.348 \tvariance = 1.000\n",
|
||||
"time: 4 \tposition = 0.401 \tvariance = 0.833\n",
|
||||
"time: 5 \tposition = 0.231 \tvariance = 0.714\n",
|
||||
"time: 6 \tposition = 0.386 \tvariance = 0.625\n",
|
||||
"time: 7 \tposition = 0.517 \tvariance = 0.556\n",
|
||||
"time: 8 \tposition = 0.452 \tvariance = 0.500\n",
|
||||
"time: 9 \tposition = 0.332 \tvariance = 0.455\n",
|
||||
"time: 10 \tposition = 0.298 \tvariance = 0.417\n",
|
||||
"time: 11 \tposition = 0.280 \tvariance = 0.385\n",
|
||||
"time: 12 \tposition = 0.197 \tvariance = 0.357\n",
|
||||
"time: 13 \tposition = 0.132 \tvariance = 0.333\n",
|
||||
"time: 14 \tposition = 0.116 \tvariance = 0.312\n",
|
||||
"time: 15 \tposition = 0.076 \tvariance = 0.294\n",
|
||||
"time: 16 \tposition = 0.135 \tvariance = 0.278\n",
|
||||
"time: 17 \tposition = 0.040 \tvariance = 0.263\n",
|
||||
"time: 18 \tposition = 0.003 \tvariance = 0.250\n",
|
||||
"time: 19 \tposition = 0.006 \tvariance = 0.238\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 15
|
||||
"prompt_number": 16
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -910,7 +910,7 @@
|
||||
"source": [
|
||||
"Because of the random numbers I do not know the exact values that you see, but the position should have converged very quickly to almost 0 despite the initial error of believing that the position was 2.0. Furthermore, the variance should have quickly converged from the intial value of 5.0 to 0.238.\n",
|
||||
"\n",
|
||||
"By now the fact that we converged to a position of 0.0 should not be terribly suprising. All we are doing is computing $new\\_position = old\\_position * measurement$, and the measurement is a normal distribution around 0, so we should get very close to 0 after 20 iterations. But the truly amazing part of this code is how the variance became 0.238 despite every measurement having a variance of 5.0. \n",
|
||||
"By now the fact that we converged to a position of 0.0 should not be terribly suprising. All we are doing is computing $\\verb,new_pos = old_pos * measurement,$ and the measurement is a normal distribution around 0, so we should get very close to 0 after 20 iterations. But the truly amazing part of this code is how the variance became 0.238 despite every measurement having a variance of 5.0. \n",
|
||||
"\n",
|
||||
"If we think about the physical interpretation of this is should be clear that this is what should happen. If you sent 20 people into the hall with a tape measure to physically measure the position of the dog you would be very confident in the result after 20 measurements - more confident than after 1 or 2 measurements. So it makes sense that as we make more measurements the variance gets smaller.\n",
|
||||
"\n",
|
||||
@@ -946,13 +946,13 @@
|
||||
" \n",
|
||||
"In a nutshell, we shift the probability vector by the amount we believe the animal moved, and adjust the probability. How do we do that with gaussians?\n",
|
||||
"\n",
|
||||
"It turns out that we just add gaussians. Think of the case without gaussians. I think my dog is at 7.3m, and he moves 2.6m to right, where is he now? Obviously, $7.3+2.6=9.9$. He is at 9.9m. Abstractly, the algorithm is $new\\_pos = old\\_pos + dist\\_moved$. It does not matter if we use floating point numbers or gaussians for these values, the algorithm must be the same. \n",
|
||||
"It turns out that we just add gaussians. Think of the case without gaussians. I think my dog is at 7.3m, and he moves 2.6m to right, where is he now? Obviously, $7.3+2.6=9.9$. He is at 9.9m. Abstractly, the algorithm is $\\verb,new_pos = old_pos + dist_moved,$. It does not matter if we use floating point numbers or gaussians for these values, the algorithm must be the same. \n",
|
||||
"\n",
|
||||
"How is addition for gaussians performed? It turns out to be very simple:\n",
|
||||
"$$ N({\\mu}_1, {{\\sigma}_1}^2)+N({\\mu}_2, {{\\sigma}_2}^2) = N({\\mu}_1 + {\\mu}_2, {{\\sigma}_1}^2 + {{\\sigma}_2}^2)$$\n",
|
||||
"\n",
|
||||
"All we do is add the means and the variance separately! Does that make sense? Think of the physical representation of this abstract equation.\n",
|
||||
"${\\mu}_1$ is the old position, and ${\\mu}_2$ is the distance moved. Surely it makes sense that our new position is ${\\mu}_1 + {\\mu}_2$. What about the variance? It is perhaps harder to form an intuition about this. However, recall that with the *update()* function for the histogram filter we always lost information - our confidence after the update was lower than our confidence before the update. Perhaps this makes sense - we don't really know where the dog is moving, so perhaps the confidence should get smaller (variance gets larger). I assure you that the equation for gaussian addition is correct, and derived by basic algebra. Therefore it is reasonable to expect that if we are using gaussians to model physical events, the results must correctly describe those events.\n",
|
||||
"${\\mu}_1$ is the old position, and ${\\mu}_2$ is the distance moved. Surely it makes sense that our new position is ${\\mu}_1 + {\\mu}_2$. What about the variance? It is perhaps harder to form an intuition about this. However, recall that with the $\\verb,update(),$ function for the histogram filter we always lost information - our confidence after the update was lower than our confidence before the update. Perhaps this makes sense - we don't really know where the dog is moving, so perhaps the confidence should get smaller (variance gets larger). I assure you that the equation for gaussian addition is correct, and derived by basic algebra. Therefore it is reasonable to expect that if we are using gaussians to model physical events, the results must correctly describe those events.\n",
|
||||
"\n",
|
||||
"I recognize the amount of hand waving in that argument. Now is a good time to either work through the algebra to convince yourself of the mathematical correctness of the algorithm, or to work through some examples and see that it behaves reasonably. This book will do the latter.\n",
|
||||
"\n",
|
||||
@@ -969,13 +969,13 @@
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 16
|
||||
"prompt_number": 17
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"What is left? Just calling these functions. The histogram did nothing more than loop over the *sense()* and *update()* functions, so let's do the same. "
|
||||
"What is left? Just calling these functions. The histogram did nothing more than loop over the $\\verb,sense(),$ and $\\verb,update(),$ functions, so let's do the same. "
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1019,47 +1019,47 @@
|
||||
"stream": "stdout",
|
||||
"text": [
|
||||
"UPDATE: 1.0000,\t502.0000\n",
|
||||
"SENSE: -4.7569,\t9.8047\n",
|
||||
"SENSE: -0.9237,\t9.8047\n",
|
||||
"\n",
|
||||
"UPDATE: -3.7569,\t11.8047\n",
|
||||
"SENSE: -0.2966,\t5.4138\n",
|
||||
"UPDATE: 0.0763,\t11.8047\n",
|
||||
"SENSE: 0.1727,\t5.4138\n",
|
||||
"\n",
|
||||
"UPDATE: 0.7034,\t7.4138\n",
|
||||
"SENSE: 3.9704,\t4.2574\n",
|
||||
"UPDATE: 1.1727,\t7.4138\n",
|
||||
"SENSE: 3.2003,\t4.2574\n",
|
||||
"\n",
|
||||
"UPDATE: 4.9704,\t6.2574\n",
|
||||
"SENSE: 5.5456,\t3.8490\n",
|
||||
"UPDATE: 4.2003,\t6.2574\n",
|
||||
"SENSE: 6.5697,\t3.8490\n",
|
||||
"\n",
|
||||
"UPDATE: 6.5456,\t5.8490\n",
|
||||
"SENSE: 6.3932,\t3.6904\n",
|
||||
"UPDATE: 7.5697,\t5.8490\n",
|
||||
"SENSE: 7.6101,\t3.6904\n",
|
||||
"\n",
|
||||
"UPDATE: 7.3932,\t5.6904\n",
|
||||
"SENSE: 6.2941,\t3.6267\n",
|
||||
"UPDATE: 8.6101,\t5.6904\n",
|
||||
"SENSE: 8.2152,\t3.6267\n",
|
||||
"\n",
|
||||
"UPDATE: 7.2941,\t5.6267\n",
|
||||
"SENSE: 7.2177,\t3.6007\n",
|
||||
"UPDATE: 9.2152,\t5.6267\n",
|
||||
"SENSE: 6.5868,\t3.6007\n",
|
||||
"\n",
|
||||
"UPDATE: 8.2177,\t5.6007\n",
|
||||
"SENSE: 7.4951,\t3.5900\n",
|
||||
"UPDATE: 7.5868,\t5.6007\n",
|
||||
"SENSE: 6.4438,\t3.5900\n",
|
||||
"\n",
|
||||
"UPDATE: 8.4951,\t5.5900\n",
|
||||
"SENSE: 7.8431,\t3.5856\n",
|
||||
"UPDATE: 7.4438,\t5.5900\n",
|
||||
"SENSE: 7.7971,\t3.5856\n",
|
||||
"\n",
|
||||
"UPDATE: 8.8431,\t5.5856\n",
|
||||
"SENSE: 8.2236,\t3.5838\n",
|
||||
"UPDATE: 8.7971,\t5.5856\n",
|
||||
"SENSE: 7.7203,\t3.5838\n",
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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\nU71EREREWqPJptc2ZgwuXrhQ7I9tzBih+5d2P1/JsoxatWph1apVOHLkCI4cOYJjx45h586dAIAJ\nEyZAr9dj586dOHLkCF5//XV4PJ7Cx7do0QLLli3DwYMHUb9+fbz77ruFt5nN5sIG+do54GvpdMW/\nTLVr18bIkSML6zly5AhOnjyJuLi4G34utWrVgsViweHDhwsfl56ejunTpwvnodbloznbJIY5iWNW\nYpiTOGYlhjmJYU7K0mTTqyUFqxQ888wzePfdd5GRkQFZlvHHH3/gu+++AwDk5uYiIiICVqsVx44d\nw8KFC4s8fsWKFcjJySlsFitVqlR4+2233Ybdu3cDAL788kvhup566il88skn+PHHHyHLMs6ePYvV\nq1cXq/t6NWrUQJs2bfDWW28hNzcXTqcTO3fuLDKOUVoG1+7jl19+Ea6ViIiISG1seq9x/UllBduS\nJGHw4MFo3bo1unbtirp166JPnz44f/48AGD06NHYt28f6tati759++LBBx8s3I8sy1i5ciUSExNR\nv359ZGZmFlnxYNSoUVixYgXuu+8+ZGZmlngUtaSPNW/eHO+88w5eeukl1K1bF/feey9+/PHHEmu/\n3ty5c3Hu3Dk0b94cDRo0wNtvvw23213q812/PW7cOIwePRoJCQl45513bpipkjjbJIY5iWNWYpiT\nOGYlhjmJYU7K4sUpSHH8GhMREVFF4sUpKKhwtkkMcxLHrMQwJ3HMSgxzEsOclMWml4iIiIiCHscb\nSHH8GhMREVFF4ngDERERERHY9FIA4WyTGOYkjlmJYU7imJUY5iSGOSmLTS8RERERBT3O9JLi+DUm\nIiKiisSZXiIiIiIisOkt0bx581C/fn3Ex8djy5YthR9/+eWX8f777xe57+jRoxEfH4+qVati8+bN\nFV1qSOFskxjmJI5ZiWFO4piVGOYkhjkpi03vdZxOJ958802sWbMG6enpaN++feFtU6dOxciRI4vc\nf8qUKUhPT0ft2rVLvOQvAPTo0QNLlizxa91EREREVDo2vdfJzMyEzWbDHXfcodg+S2uGqWx4DXIx\nzEkcsxLDnMQxKzHMSQxzUhab3mu0bt0arVu3BgDUq1evcLzh22+/RXx8PGrUqIGJEycK7++f//wn\n4uPjsX37drzyyiuIj48vMmR98eJF9O/fH3feeSeSkpKwePHiIo8fPHgwxo4di2effRbx8fFo3Lgx\ncnJylPlkA4whLQ3Gr78G/HPeJREREQU5Nr3X2L59O7Zt2wYAOHr0aOF4Q5cuXZCeno7HHnusTEdt\nR4wYgfT0dLRu3bpwDGLTpk2Ftw8YMAAmkwn79+/H6tWrMXnyZOzbt6/IPlasWIHevXvj2LFj+PTT\nT2EwGJT5ZAOIdOkSwvv1gzx2LCLvvx/6XbvULknTOAMmjlmJYU7imJUY5iSGOSkr9Dqom7jZCm6+\nrvB2/eMyMjKwadMm/PnnnzCbzahbty569OiBr776Ck2aNCm8X7t27dClSxcAQKNGjXx67kAX9vbb\ncHTrhv899BA6ZWRAd/o03GoXRURERAFFk01vdPQt5d7HhQsXFahEOdcfIT558iQAFGlw3W43evbs\nWeR+t912m/+L0zKXC1JWFvLffx/JUVFwqF1PAOAMmDhmJYY5iWNWYpiTGOZUOo8HOHtWwqlTOpw+\nrUPNmjd/jM9N7/jx47FixQoAQK9evfDGG2/4uqtitNawXqu08QaTyQS3u+Tjjzpd8SmSWrVqwWKx\n4PDhwzccmSjpsSHFYEDuxx/f/H4OB6ScHMjR0f6viYiIiPzGZgMyMrzN7KlTVxvba/8+c0ZCVJSM\nmBgPYmI8GD365vv1qek9cuQIlixZgt9//x1utxt33nkn+vTpgzp16viyu4BS2njD7bffjm3btqFj\nx47FbqtevTp++eWXIh+rWbMm2rRpg7feegujR4+GyWTCnj17EBERgYSEBL/UHuhSU1NL/a3X8P33\nCO/TB/ZBg2Dr3x8ID6/g6rTjRjlRUcxKDHMSx6zEMCcxwZaTLANZWRJOnZKKNbGnT19tbrOyJNSo\n4UFs7NWmNjbWg2bNXKhVy4OYGBk1a3pgNl/d9549N39+n5reSpUqwWg0Ij8/H263GyaTCVFRUb7s\nSpOuP/Las2dP/PDDD7Db7ZAkCXPnzsVDDz2EDz/8sPA+r732Gvr27Ys5c+bg+eefx4QJEwpvGzx4\nMAYOHIiEhATcfvvtWLNmDQBg7ty5GDduHJo3b478/HwkJCTg3XffvWEtVDJX27bIXr8eYRMnIqpF\nC+SPGgXHM88ARqPapREREQU9t9s7blC0mfVuX/sxSUJhExsb621oGzVyo0uXq81t1aoy/PFGtyT7\neGbWnDlz8Oqrr8Lj8WDq1Kno27dvkds3bdqEpk2bFnvcqVOnEBsb61u1FBDU/hrr9+5F2PLine truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x38347d0>"
|
||||
"<matplotlib.figure.Figure at 0x2c57890>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 17
|
||||
"prompt_number": 18
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -1070,7 +1070,7 @@
|
||||
" movement = 1 \n",
|
||||
" movement_error = 2\n",
|
||||
" \n",
|
||||
"For the moment we are assuming that we have some other sensor that detects how the dog is moving. For example, there could be an inertial sensor clipped onto the dog's collar, and it reports how far the dog moved each time it is triggered. The details don't matter. The upshot is that we have a sensor, it has noise, and so we represent it with a Gaussian. Later we will learn what to do if we do not have a sensor for the *update()* step.\n",
|
||||
"For the moment we are assuming that we have some other sensor that detects how the dog is moving. For example, there could be an inertial sensor clipped onto the dog's collar, and it reports how far the dog moved each time it is triggered. The details don't matter. The upshot is that we have a sensor, it has noise, and so we represent it with a Gaussian. Later we will learn what to do if we do not have a sensor for the $\\verb,update(),$ step.\n",
|
||||
"\n",
|
||||
"For now let's walk through the code and output bit by bit.\n",
|
||||
"\n",
|
||||
@@ -1080,9 +1080,15 @@
|
||||
" pos = (0, 500) # gaussian N(0,500)\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"The first lines just set up the initial conditions for our filter. We are assuming that the dog moves steadily to the right 1m at a time. We have a relatively low error of 2 for the movement sensor, and a higher error of 10 for the RFID position sensor. Finally, we set our belief of the dog's initial position as $N(0,500)$. Why those numbers. Well, 0 is as good as any number if we don't know where the dog is. But we set the variance to 500 to denote that we have no confidence in this value at all. 100m is almost as likely as 0 with this value for the variance. \n",
|
||||
"\n",
|
||||
"The first lines just set up the initial conditions for our filter. We are assuming that the dog moves steadily to the right 1m at a time. We have a relatively low error of 2 for the movement sensor, and a higher error of 10 for the RFID position sensor. Finally, we set our belief of the dog's initial position as $N(0,500)$. Why those numbers. Well, 0 is as good as any number if we don't know where the dog is. But we set the variance to 500 to denote that we have no confidence in this value at all. 100m is almost as likely as 0 with this value for the variance. "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Next we initialize the RFID simulator with\n",
|
||||
"\n",
|
||||
" dog = DogSensor(pos[0], velocity=movement, noise=sensor_error)\n",
|
||||
"\n",
|
||||
"It may seem very 'convienent' to set the simulator to the same position as our guess, and it is. Do not fret. In the next example we will see the effect of a wildly inaccurate guess for the dog's initial position.\n",
|
||||
@@ -1092,16 +1098,20 @@
|
||||
" zs = []\n",
|
||||
" ps = []\n",
|
||||
" \n",
|
||||
"This is the first time that I am introducing standard nomenclature used by the Kalman filtering literature. It is traditional to call our measurement $Z$, and so I follow that convention here. As an aside, I find the nomenclature used by the literature very obscure. However, if you wish to read the literature you will have to become used to it, so I will not use a much more readable variable name such as $m$ or $measure$.\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"Now we just enter our *sense()->update()* loop.\n",
|
||||
"This is the first time that I am introducing standard nomenclature used by the Kalman filtering literature. It is traditional to call our measurement $Z$, and so I follow that convention here. As an aside, I find the nomenclature used by the literature very obscure. However, if you wish to read the literature you will have to become used to it, so I will not use a much more readable variable name such as $m$ or $measure$."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Now we just enter our $\\verb,sense() - >update(),$ loop.\n",
|
||||
"\n",
|
||||
" for i in range(10):\n",
|
||||
" pos = update(pos[0], pos[1], movement, sensor_error)\n",
|
||||
" print 'UPDATE:', \"%.4f\" %pos[0], \", %.4f\" %pos[1]\n",
|
||||
"\n",
|
||||
"Wait, why *update()* before sense? It turns out the order does not matter once, but the first call to DogSensor.sense() assumes that the dog has already moved, so we start with the update step. In practice you will order these calls based on the details of your sensor, and you will very typically do the *sense()* first.\n",
|
||||
"Wait, why $\\verb,update(),$ before sense? It turns out the order does not matter once, but the first call to $\\verb,DogSensor.sense(),$ assumes that the dog has already moved, so we start with the update step. In practice you will order these calls based on the details of your sensor, and you will very typically do the $\\verb,sense(),$ first.\n",
|
||||
"\n",
|
||||
"So we call the update function with the gaussian representing our current belief about our position, the another gaussian representing our belief as to where the dog is moving, and then print the output. Your output will differ, but when writing this I get this as output:\n",
|
||||
"\n",
|
||||
@@ -1126,7 +1136,7 @@
|
||||
" \n",
|
||||
"as the result. What is happening? Well, at this point the dog is really at 1.0, however the predicted position is 1.6279. What is happening is the RFID sensor has a fair amount of noise, and so we compute the position as 1.6279. That is pretty far off from 1, but this is just are first time through the loop. Intuition tells us that the results will get better as we make more measurements, so let's hope that this is true for our filter as well. Now look at the variance: 9.8047. It has dropped tremendously from 502.0. Why? Well, the RFID has a reasonably small variance of 2.0, so we trust it far more than our previous belief. At this point there is no way to know for sure that the RFID is outputting reliable data, so the variance is not 2.0, but is has gotten much better.\n",
|
||||
"\n",
|
||||
"Now the software just loops, calling *update()* and *sense()* in turn. Because of the random sampling I do not know exactly what numbers you are seeing, but the final position is probably between 9 and 11, and the final variance is probably around 3.5. After several runs I did see the final position nearer 7, which would have been the result of several measurements with relatively large errors.\n",
|
||||
"Now the software just loops, calling $\\verb,update(),$ and $\\verb,sense(),$ in turn. Because of the random sampling I do not know exactly what numbers you are seeing, but the final position is probably between 9 and 11, and the final variance is probably around 3.5. After several runs I did see the final position nearer 7, which would have been the result of several measurements with relatively large errors.\n",
|
||||
"\n",
|
||||
"Now look at the plot. The noisy measurements are plotted in with a dotted red line, and the filter results are in the solid blue line. Both are quite noisy, but notice how much noisier the measurements (red line) are. This is your first Kalman filter shown to work!"
|
||||
]
|
||||
@@ -1181,9 +1191,9 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAsYAAAFyCAYAAAD22xxLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4FOXax/HvlvSG9BpRhAAhdBAQEIhwLGBBjYJYEBQF\n9IgCohwVO/KqJ9ijKBbgKChIU0AiIAEMTZFiQw5ESuiyaZtt8/6RQxQYhIRNskl+n+vKRZ7Zmdl7\n8Xa48+SeZyyGYRiIiIiIiFRy1rIOQEREREQkEKgwFhERERFBhbGIiIiICKDCWEREREQEUGEsIiIi\nIgKoMBYRERERAc6hME5PT6dly5Y0b96cm2++GYCZM2fSpEkT4uLiWLBggd+CFBEREREpaZbirGPs\n8/lo1qwZU6dOpUuXLhw+fJioqCiaNm1Keno6TqeTnj17sn379pKIWURERETE74o1Y7xhwwZq1KhB\nly5dAKhWrRrp6enEx8dTo0YNGjRoQIMGDdi0aZNfgxURERERKSn24hyUkZFBTEwMV1xxBfv37+eu\nu+6iRo0a1KlTh5SUFKpWrUrt2rXZt28frVq18nfMIiIiIiJ+V6zC2Ol0smrVKrZs2UJMTAzt27dn\nyJAhAAwbNgyA2bNnY7FY/BepiIiIiEgJKlZhXLt2bZo3b079+vUBaNeuHfn5+ezbt69wn8zMTOrU\nqXPKsZ988gnVq1cvZrgiIiIiImfH6XRy1VVXnfX+xSqM27dvT0ZGBkePHiUiIoLNmzfzyCOPMHXq\nVA4ePIjT6WT37t20bNnylGOrV69O27Zti/O2UoHNnz+ffv36lXUYEmCUF2JGeSFmlBdiZuPGjUXa\nv1iFcUxMDMnJyfTq1Qu3280tt9xCQkICEydO5JJLLgEgOTm5OKeWSiojI6OsQ5AApLwQM8oLMaO8\nEH8oVmEMcMMNN3DDDTecsC0pKYmkpKRzDkpEREREpLTpyXcSEC677LKyDkECkPJCzCgvxIzyQvxB\nhbEEhLi4uLIOQQKQ8kLMKC/EjPJC/KHYrRT+ZhgGBw4cwOv1lnUoUgJsNhs1a9Y87RJ+aWlpdO3a\ntZSjkkCnvBAzygsxo7wQfwiYwvjAgQNERUURHh5e1qFICcjNzeXAgQPUqlWrrEMRERERMRUwrRRe\nr1dFcQUWHh7+t78N0E/5YkZ5IWaUF2JGeSH+EDCFsYiIiIhIWVJhLAEhLS2trEOQAKS8EDPKCzGj\nvBB/UGEsIiIiIoIKY/GTatWqsXPnzmIfr94wMaO8EDPKCzGjvBB/UGEs58wwjBP+FBERESmPVBif\nwYwZM+jVqxfx8fHceeedDBgwgGbNmrFt2zZ8Ph8vvPACrVu3pmnTpowbNw6PxwPArl27uOaaa7jw\nwgs5//zzGTx4MA6Ho/C8ixcvpmPHjsTGxtKhQwe+/vrrwtdatWrFihUrCscnz8aOGDGCRx55hNtu\nu43Y2FhatWpFdnY2APPnz6dLly5ceOGF3HTTTezfv7/wmH79+tGkSRMef/xxLr74Ynr16kVeXh4A\nR48eZdiwYTRt2pQ2bdrw4YcfnvB+9913H1deeSWxsbHcd999ha/deOONnH/++QB0796d2NhYxo8f\nX+S/Z/WGiRnlhZhRXogZ5YX4gwrjsxASEsKaNWtYtGgRQ4YMYdCgQcyZM4fXXnuNxYsXs2jRItav\nX8/PP/9MSkoKAC6Xi9tvv50tW7awZcsWjh49ygsvvFB4zgceeIBHH32UjIwMZs+eTZ06dQpfs1gs\np30QxnEzZ85k0KBB7Nq1i+nTp2O329mwYQP//Oc/ef3119m+fTstW7Zk1KhRhcdcfPHFvPXWW7zz\nzjssWbKE0NBQ1q5dC8A999xDcHAwmzZtYs6cObzwwgt8//33hccuX76cd955h9WrVzN37lw2btwI\nwKxZs8jIyABg5cqVZGRk8Oyzz57j37iIiIhI6VNhfBYuuOACoqOjqVq1KhdddBGxsbEcPHiQ6dOn\nM2bMGGrXrk1kZCRDhgxhwYIFADRu3Jj+/fsTHh5OVFQUV199NVu3bi08p9Vq5b///S8Oh4MGDRrQ\nrFmzIsXUrVs3+vTpg8VioUWLFoSGhjJt2jQGDBhAmzZtsFqtjBgxgiVLluByuQo/R8OGDalevTox\nMTHExsZy6NAhMjMzSU1N5ZlnniEkJISGDRvSr18/Fi5cWPh+V1xxBfXq1aN+/fo0b96c3377zQ9/\ns39Sb5iYUV6IGeWFmFFeiD8EzJPvziR04kTCJk06ZXve2LE4x407q/1Pt++ZHJ+9tdvt2Gw27HY7\nHo+HPXv2cM8992C1Fvx84fP5qF27NgAHDx5k3LhxfPvtt+Tm5uJ2u2ndunXhOadOnUpycjKvvPIK\njRs3ZvLkyUUqjhs1anTKtj179rB69WpmzJhRuC0kJKSwneJ47DabrXDsdrvZu3cvwAnxeb1e+vfv\nXziOiYkp/D44OJj8/PyzjlVERESkPCg3hbFz3LgiFbVF3b+oDMOgXr16vP7667Rv3/6U15966ils\nNhvp6elERkaSkpLC3LlzC1/v2LEjM2bMwOVyMWrUKJ577jk++ugjoKCYPd6r/Ne+5L86Xoz/Vf36\n9Rk9ejQPPPBAkT5LvXr1CA0NZceOHWds4Tid4h53nJ5xL2aUF2JGeSFmlBfiD2qlKIbjqy/ccsst\nPPfcc2RmZmIYBtu3b2fZsmUA5OTkEBkZSXh4OLt27eL9998/4fiZM2eSnZ1dWFBGR0cXvt6oUSM2\nbNgAwLx58846rgEDBjB16lR++OEHDMPg4MGDzJkz55S4T1arVi26dOnChAkTyMnJwe12k56efkLr\nx+n+Dv56jm3btp11rCIiIiKBRoXxGZx8I9zxscViYcSIEXTu3Jkrr7yShg0bcvvtt3P48GEAxo4d\ny/fff0/Dhg0ZMmQIV1xxReF5DMNg1qxZJCQk0LhxY/bv33/CSg5jxoxh5syZXHbZZezfv990NtZs\nW4cOHXjmmWcYOXIkDRs2JDExkR9++ME09pOlpKRw6NAhOnToQJMmTXj66afxer2nfb+Tx//6178Y\nO3Ys8fHxPPPMM3/7d2pGP+WLGeWFmFFeiBnlhfiDxSjlxWdTU1Np27btKdv37t1L3bp1SzMUKWX6\nbywiIiKlaePGjSQmJp71/poxloCg9SfFjPJCzCgvxIzyQvxBhbGIiIiICCqMJUCoN0zMKC/EjPJC\nzCgvxB9UGIuIiIiIoMJYAoR6w8SM8kLMKC/EjPJC/EGFsYiIiIgIKowlQKg3TMwoL8SM8kLMKC/E\nH1QYi4iIiIigwvisTZkyhcaNGxMbG8s333xTuP2hhx7ixRdfPGHfsWPHEhsbS/Xq1VmxYkVph1ou\nqTdMzCgvxIzyQswoL8QfVBifBbfbzRNPPMHcuXPJyMige/fuha+99NJLjB49+oT9J02aREZGBvXr\n1zd9/DJAv379+Oijj0o0bhERERE5eyqMz8L+/ftxOp3ExcX57ZynK5grK/WGiRnlhZhRXogZ5YX4\ngwrjM+jcuTOdO3cG4IILLihspViyZAmxsbHUqlWLZ5999qzP9/LLLxMbG8uaNWt4+OGHiY2NPeEZ\n3kePHmXYsGE0bdqUNm3a8OGHH55w/IgRI3jkkUe47bbbiI2NpVWrVmRnZ/vnw4qIiIhUYiqMz2DN\nmjWsXr0agJ07dxa2UvTp04eMjAxuuOGGIs3+Pvjgg2RkZNC5c+fClovU1NTC1++55x6Cg4PZtGkT\nc+bM4YUXXuD7778/4RwzZ85k0KBB7Nq1i+nTp2O32/3zYcuQesPEjPJCzCgvxIzyQvyh/FdUpcAw\njHN6/WyPy8zMJDU1ld9++42QkBAaNmxIv379WLhwIa1bty7cr1u3bvTp0weAFi1aFOu9RURERORE\n5aYwrlr1PL+c58iRo345jz+cPNO8Z88egBOKYK/XS//+/U/Yr1GjRiUfXClTb5iYUV6IGeWFmFFe\niD+Um8I4kArak52ulSI4OBiv12v6mtV6ahdLvXr1CA0NZceOHX/bnmF2rIiIiIicG1VYfnC6VoqL\nLrqosD/5ZDVr1mTbtm0nbKtduzZdunRhwoQJ5OTk4Ha7SU9PZ+vWrX6POdCoN0zMKC/EjPJCzCgv\nxB9UGJ+lk2dw+/fvT2xsLJ9++imvvvoqsbGxjBw58oR9xo8fz/z582nQoAGPP/74Ca+NGDGC5cuX\nEx8fzzXXXFO4PSUlhUOHDtGhQweaNGnC008/fcqss5Z6ExEREfE/i1HcO8eKKTU1lbZt256yfe/e\nvdStW7c0Q5FSpv/GIiIiUpo2btx4wrK4Z6IZYxERERERVBhLgFBvmJhRXogZ5YWYUV6IPxS7MLbZ\nbLRp04Y2bdrwwAMPAAUPnmjSpAlxcXEsWLDAb0GKiIiIiJS0YvcYR0VFkZWVVTh2uVw0bdqU9PR0\nnE4nPXv2ZPv27accpx7jykv/jUVERKQ0lVmPcXp6OvHx8dSoUYMGDRrQoEEDNm3a5K/Ti4iIiIiU\nqGIXxk6nk3bt2tG1a1dWrlzJ/v37qVOnDikpKcyaNYvatWuzb9++sz6fYRjFfrSyBL4z/fdVb5iY\nUV6IGeWFmFFeiD8UuzDes2cPGzZsIDk5mYEDB+J0OgEYNmwYN954I1C09XZjYmI4cuRIccORAHfk\nyBFiYmLKOgwREREpZ+xff41t/frSea/iHlizZk0A2rdvT926dWnYsCGffPJJ4euZmZnUqVPH9Njh\nw4cTGxsLFBTECQkJdO3alfz8fLZt24bFYiksoo4dO1a4n8blc2wYBrVq1SIyMrLwJ/rjz7TXWOO/\nGx/fFijxaKyxxoE7Pr4tUOLR2D/j7vXqEXHPPaweM4ajTucZ9z/+fUZGBgBDhw6lKIp189Line truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3614810>"
|
||||
"<matplotlib.figure.Figure at 0x2e129d0>"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1191,7 +1201,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3d9b150>"
|
||||
"<matplotlib.figure.Figure at 0x3246b10>"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1202,7 +1212,7 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 18
|
||||
"prompt_number": 19
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -1299,7 +1309,7 @@
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"#####Excercise:\n",
|
||||
"Modify the values of *movement_error* and *sensor_error* and note the effect on the filter and on the variance. Which has a larger effect on the value that variance converges to. For example, which results in a smaller variance:\n",
|
||||
"Modify the values of mov$\\verb,ement_error,$ and $\\verb,sensor_error,$ and note the effect on the filter and on the variance. Which has a larger effect on the value that variance converges to. For example, which results in a smaller variance:\n",
|
||||
"\n",
|
||||
" movement_error = 40\n",
|
||||
" sensor_error = 2\n",
|
||||
@@ -1338,20 +1348,25 @@
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 19
|
||||
"prompt_number": 20
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"We generate white noise with a given variance using the equation *random.randn() * variance*. The specification gives us the standard deviation of the noise, not the variance, but recall that variance is just the square of the standard deviation. Hence we raise 2.13 to the second power.\n",
|
||||
"> **Sidebar**: spec sheets are just what they sound like - specificiations. Any individual sensor will exhibit different performance based on normal manufacturing variations. Numbers given are often maximums - the spec is a guarantee that the performace will be at least that good. So, our sensor might have standard deviation of 1.8. If you buy an expensive piece of equipment it often comes with a sheet of paper displaying the test results of your specific item; this is usually very trustworthy. On the other hand, if this is a cheap sensor it is likely it received little to no testing prior to being sold. Manufacturers typically test a small subset of their output to verify that everything falls within the desired performance range. If you have a critical application you will need to read the specification sheet carefully to figure out exactly what they mean by their ranges. Do they guarantee their number is a maximum, or is it, say, the $3\\sigma$ error rate? Is every item tested? Is the variance normal, or some other distribution. Finally, manufacturing is not perfect. Your part might be defective and not match the performance on the sheet.\n",
|
||||
"We generate white noise with a given variance using the equation $\\verb,random.randn() * variance,$. The specification gives us the standard deviation of the noise, not the variance, but recall that variance is just the square of the standard deviation. Hence we raise 2.13 to the second power.\n",
|
||||
"> **Sidebar**: spec sheets are just what they sound like - specifications. Any individual sensor will exhibit different performance based on normal manufacturing variations. Numbers given are often maximums - the spec is a guarantee that the performace will be at least that good. So, our sensor might have standard deviation of 1.8. If you buy an expensive piece of equipment it often comes with a sheet of paper displaying the test results of your specific item; this is usually very trustworthy. On the other hand, if this is a cheap sensor it is likely it received little to no testing prior to being sold. Manufacturers typically test a small subset of their output to verify that everything falls within the desired performance range. If you have a critical application you will need to read the specification sheet carefully to figure out exactly what they mean by their ranges. Do they guarantee their number is a maximum, or is it, say, the $3\\sigma$ error rate? Is every item tested? Is the variance normal, or some other distribution. Finally, manufacturing is not perfect. Your part might be defective and not match the performance on the sheet.\n",
|
||||
"\n",
|
||||
"> For example, I just randomly looked up a data sheet for an airflow sensor. There is a field \"Repeatability\", with the value \"$\\pm0.50\\%$ Reading\". Is this a Gaussian? Is there a bias? For example, perhaps the repeatibility is nearly $0.0\\%$ at low temperatures, and always nearly $+0.50$ at high temperatures. Data sheets for electrical components often contain a section of \"Typical Performance Characteristics\". These are used to capture information that cannot be easily conveyed in a table. For example, I am looking at a chart showing output voltage vs current for a LM555 timer. There are three curves showing the performance at different temperatures. The response is ideally linear, but all three lines are curved. This clarifies that errors in voltage outputs are probably not Gaussian - in this chip's case higher temperatures leads to lower voltage output, and the voltage output is quite nonlinear if the input current is very high. \n",
|
||||
"\n",
|
||||
"> As you might guess, modeling the performance of your sensors is one of the harder parts of creating good Kalman filter. \n",
|
||||
"\n",
|
||||
"Now we need to write the Kalman filter processing loop. As with our previous problem, we need to perform a cycle of sensing and updating. The sensing step probably seems clear - call *volt()* to get the measurement, pass the result into *sense()* function, but what about the update step? We do not have a sensor to detect 'movement' in the voltage, and for any small duration we expect the voltage to remain constant. How shall we handle this?\n",
|
||||
"> As you might guess, modeling the performance of your sensors is one of the harder parts of creating good Kalman filter. "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Now we need to write the Kalman filter processing loop. As with our previous problem, we need to perform a cycle of sensing and updating. The sensing step probably seems clear - call $\\verb,volt(),$ to get the measurement, pass the result into $\\verb,sense(),$ function, but what about the update step? We do not have a sensor to detect 'movement' in the voltage, and for any small duration we expect the voltage to remain constant. How shall we handle this?\n",
|
||||
"\n",
|
||||
"As always, we will trust in the math. We have no movement, and no error associated with them, so we will just set both to zero. Let's see what happens. "
|
||||
]
|
||||
@@ -1397,9 +1412,9 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3844bd0>"
|
||||
"<matplotlib.figure.Figure at 0x3214710>"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1407,7 +1422,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAroAAAF9CAYAAADr+MuIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmYVPWd7/HPqbX3BZqWbmwUiIALCI1MRImJA4mOoo7x\n8QaduCSYMaI3Y5Q7yTzeTDTXeJ15QvRmMjqJyY0ToxN1TJxociWuUYJBTQuisis2As3e9Fpd27l/\n1EI1/KC74VSdWt6v5+mn6lSdOvWDfJ7Oh+O3Tlm2bdsCAAAAiozH7QUAAAAA2UDRBQAAQFGi6AIA\nAKAoUXQBAABQlCi6AAAAKEoUXQAAABQlii4AZNHDDz8sj4dftQDgBn77Aigp9913n8rLyxUKhQY9\n/uijj8rr9aqjo8PR91u4cKHjxwQADA9FF0BJueyyyzQwMKBXXnll0OPLli3T7NmzNXbsWEffr6ys\nTI2NjY4eEwAwPBRdACVl4sSJOv3007Vs2bL0Y7Zt6/e//70uu+wySdLtt9+uU089VRUVFWpsbNQN\nN9ygAwcODDrOK6+8Io/Ho1deeUXz5s1TZWWlxo4dq+eee06S9Mtf/lIejyf9c6hwOKwvf/nLmjRp\nksrKynTiiSdqyZIlCofD6X3uvPNOnX/++brnnnt0wgknqLGxUf/4j/942LFee+01feYzn1FVVZUa\nGhp05ZVXau/evenn33//fV100UWqrq5WU1OTFi1apM7OzuP7iwSAAkDRBVByLr300kFFd/Xq1dq1\na5cuvfRSSVJ/f79+8IMf6P3339fTTz+tFStW6KabbjIe6+/+7u90/fXX691339W///u/q6qqSpJ0\n+eWXq6OjQ/fff7/xdeFwWMFgUD/72c+0YcMGPfzww3r00Ud15513DtrvzTffVGdnp1asWKG///u/\n191336033ngj/XxbW5vmz5+vKVOm6PXXX9fLL7+smTNnavfu3ZKk7du367zzztPEiRP15z//Wb/7\n3e+0ceNGXX/99cf61wcAhcMGgBKzcuVK27Ise+vWrbZt2/a9995rT5o06Yj7/+AHP7BramoGPfby\nyy/blmXZ//Iv/3LU9/rZz35mW5Y1rHXddttt9vTp09Pb3/72t+3m5mY7Ho+nH6utrbV/+MMfprev\nuuoqe9asWUc85h133GGffvrpgx57/fXXbcuy7F27dg1rXQBQqHxuF20AyLXULO6yZcu0aNEiLVu2\nLH02V5J+/etf67777tOmTZvU3d2taDSqSCRiPNanPvWpY17HQw89pIceekgfffSR+vr6FA6H1dLS\nMmifiRMnyrKs9HZ9fb327duX3l61apUuvPDCI75HW1ub1q9fr+rq6vRjtm3Lsixt3rxZY8aMOeb1\nA0C+Y3QBQMmxLEsLFizQc889p76+Pq1YsSJddFeuXKmFCxfq0ksv1XPPPafVq1frjjvuUDweNx6r\nvr7+mNbw5JNP6rbbbtONN96ol156SatXr9aXvvQlxWKxQfv5fIefj7Bte9CfJXP7UJZlaf78+Vq9\nenX655133tHGjRs1Y8aMY1o7ABQKzugCKEmXXXaZrrnmGj3//POqrKzUeeedJ0lavny5pk2bpiVL\nlqT33bp166Czqk549dVXdcEFF2jRokXpxz788MMRv8+MGTP06quvHvH5mTNn6pFHHlFLS4v8fv8x\nrxcAChFndAGUpPnz5yscDuvuu+/WRRddlL4ywtSpU7V27Vo9++yz+uCDD/TAAw/oqaeeOupZU5Pd\nu3ero6MjfbWGnTt3qqOjQ729ven3Wb58uV599VVt3LhR3/nOd/T6668P+T6HPr9kyRK99957+upX\nv6o1a9bovffe0z333KP169dLkhYvXqze3l4tXLhQf/7zn7Vx40Y9+eST+uIXvziiPw8AFCKKLoCS\nFAwG9bnPfU5tbW2D5nMvvvhi3X777frKV76i6dOn66WXXtK3vvUt45nWo519nT17tpqbm/X1r39d\nlmWpqalJzc3NWrp0qSTpxhtv1F//9V/r85//vGbPnq2tW7fqa1/72qBjWpZ12Hscuj1z5ky98MIL\nWr9+vebMmaO5c+fqzTffTM/eNjc367XXXlM0GtW8efM0Y8YM3XXXXZo8efLI/9IAoMBY9jBOU3i9\nXk2fPl2S9OlPf/qIl8sBAAAA8sWwim51dbW6u7tzsR4AAADAEYwuAAAAoCgNq+iGQiHNmjVLc+fO\n1WuvvZbtNQEAAADHbVijC7t27VJjY6PeeustXX755dq0aZOCwWAu1gcAAAAck2FdR7exsVGSdNZZ\nZ6m5uVlbtmzRlClTJEmPP/64GhoasrdCAAAAQIkpg4svvnjY+w9ZdPfv36+ysjKVl5dry5Yt2rZt\nm8aPH59+vqGhQa2trce2WhStZ555Rpdcconby0CeIRcwIRcwIRcwaWtrG9H+QxbddevW6Utf+pKC\n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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3d94510>"
|
||||
"<matplotlib.figure.Figure at 0x2e2bcd0>"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1415,17 +1430,17 @@
|
||||
"stream": "stdout",
|
||||
"text": [
|
||||
"Variance converges to 0.0907297673624\n",
|
||||
"Last voltage is 16.2989678826\n"
|
||||
"Last voltage is 15.6491261618\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 20
|
||||
"prompt_number": 21
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"The first plot shows the individual sensor measurements marked with '+'s vs the filter output. Despite a lot of noise in the sensor we quickly discover the approximate voltage of the sensor. In the run I just completed at the time of authorship, the last voltage output from the filter is $16.213$, which is quite close to the $16.4$ used by the *volt()* function. On other runs I have gotten up to around $16.9$ as an output and also as low as 15.5 or so.\n",
|
||||
"The first plot shows the individual sensor measurements marked with '+'s vs the filter output. Despite a lot of noise in the sensor we quickly discover the approximate voltage of the sensor. In the run I just completed at the time of authorship, the last voltage output from the filter is $16.213$, which is quite close to the $16.4$ used by the $\\verb,volt(),$ function. On other runs I have gotten up to around $16.9$ as an output and also as low as 15.5 or so.\n",
|
||||
"\n",
|
||||
"The second plot shows how the variance converges over time. Compare this plot to the variance plot for the dog sensor. While this does converge to a very small value, it is much slower than the dog problem. The next section **Explaining the Results - Multi-Sensor Fusion** explains why this happens.\n",
|
||||
"\n",
|
||||
@@ -1444,7 +1459,7 @@
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 21
|
||||
"prompt_number": 22
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -1478,13 +1493,13 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3849610>"
|
||||
"<matplotlib.figure.Figure at 0x2bdaa50>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 22
|
||||
"prompt_number": 23
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -1547,9 +1562,9 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAsgAAAFyCAYAAADoEiz4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XdgE3X/B/D3XXaapozSMgsyi4hsZRREUBQVmcoQWQ6W\naP2JCPi4UFBw8YAoPOjDkCVTwAWCMgqIDyBbkFUqIC2lI212cvf7IzQ07aXNuCSX9vP6RzPu8m35\n9vK5733u82F4nudBCCGEEEIIAQCwkR4AIYQQQgghUkIBMiGEEEIIIcVQgEwIIYQQQkgxFCATQggh\nhBBSDAXIhBBCCCGEFEMBMiGEEEIIIcUEHCBPnjwZNWvWRMuWLd3PyWQytGnTBm3atEFqaqooAySE\nEEIIISScmEDrIB84cABKpRKjRo3CiRMnAACxsbEoKCgQdYCEEEIIIYSEU8AryJ06dUL16tXFHAsh\nhBBCCCERJ2oOssViQbt27ZCSkoK9e/eKuWtCCCGEEELCQi7mzq5evYqEhAQcOnQI/fv3x/nz56FS\nqcT8CEIIIYQQQkJK1AA5ISEBANC+fXvUrl0b6enpaNasmcd7vvnmG8THx4v5sYQQQgghhJRisVjw\n6KOP+r2daAFyTk4ONBoNNBoN0tPTcfXqVSQlJZV6X3x8PNq2bSvWx5IKYuvWrejTp0+kh0EkhuYF\nEULzggiheUGEHDlyJKDtAg6QJ06ciE2bNuHmzZuoV68enn/+eaxcuRIqlQoymQxfffUVNBpNoLsn\nlUxGRkakh0AkiOYFEULzggiheUHEFHCAvGDBAixYsMDjuTfeeCPoARFCCCGEEBJJ1EmPSMIDDzwQ\n6SEQCaJ5QYTQvCBCaF4QMVGATCSh5M2chAA0L4gwmhdECM0LIiZRq1gEg+d5ZGVlwel0RnooJARk\nMhkSEhLAMIzg62lpaUhJSQnzqIjU0bwgQmheECE0L4iYJBMgZ2VlITY2FlqtNtJDISFgMpmQlZWF\nxMTESA+FEEIIIaRMkkmxcDqdFBxXYFqttsyrA3TWT4TQvCBCaF4QITQviJgkEyATQgghhBAiBRQg\nE0lIS0uL9BCIBNG8IEJoXhAhNC+ImChAJoQQQgghpBgKkIkoqlevjvT09IC3p9wxIoTmBRFC84II\noXlBxEQBMgkaz/Me/yWEEEIIiWYUIJdj1apV6NGjB1q0aIExY8Zg6NChaN68OU6fPg2O4zB79my0\nbt0aycnJmDp1KhwOBwDg8uXL6Nu3Lxo2bIj69etj9OjRMBgM7v1u27YN99xzD5KSktChQwf88ssv\n7tdatWqF3bt3ux+XXJ2dOHEipk2bhhEjRiApKQmtWrVCYWEhAGDr1q3o3LkzGjZsiMGDByMzM9O9\nTZ8+fdC0aVO8+eabuPfee9GjRw+YzWYAQG5uLsaOHYvk5GS0adMGy5cv9/i8SZMm4ZFHHkFSUhIm\nTZrkfu2JJ55A/fr1AQDdunVDUlISXn/9db9/z5Q7RoTQvCBCaF4QITQviJgoQPaBSqXCgQMH8NNP\nP+GZZ57B8OHDsWnTJnz22WfYtm0bfvrpJxw6dAhnz57FokWLAAA2mw0jR47EyZMncfLkSeTm5mL2\n7NnufaampmL69OnIyMjAxo0bUatWLfdrDMN4bahRZO3atRg+fDguX76MlStXQi6X4/Dhw3jppZew\nYMECnD9/HnfffTdefvll9zb33nsvFi5ciMWLF2P79u1Qq9X4/fffAQDjxo2DUqnEsWPHsGnTJsye\nPRtHjx51b7tr1y4sXrwY+/fvx+bNm3HkyBEAwLp165CRkQEA2Lt3LzIyMjBz5swgf+OEEEIIIZFD\nAbIP7rjjDuj1elSrVg2NGzdGUlISbty4gZUrV+LVV19FzZo1odPp8Mwzz+C7774DADRp0gQDBgyA\nVqtFbGwsHn/8cZw6dcq9T5ZlcenSJRgMBtSrVw/Nmzf3a0xdu3ZFr169wDAM7rrrLqjVaqxYsQJD\nhw5FmzZtwLIsJk6ciO3bt8Nms7l/jgYNGiA+Ph5xcXFISkpCdnY2rl+/jp07d+K9996DSqVCgwYN\n0KdPH3z//ffuz+vduzfq1KmDunXr4s4778SFCxdE+M3eRrljRAjNCyKE5gURQvOCiEkynfTKo/7g\nA2jmzCn1vHnKFFimTvXp/d7eW56i1Vy5XA6ZTAa5XA6Hw4GrV69i3LhxYFnXeQbHcahZsyYA4MaN\nG5g6dSp+++03mEwm2O12tG7d2r3PJUuWYO7cuZg3bx6aNGmCf//7334FyY0aNSr13NWrV7F//36s\nWrXK/ZxKpXKnWRSNXSaTuR/b7XZcu3YNADzG53Q6MWDAAPfjuLg49/8rlUpYrVafx0oIIYQQEk2i\nJkC2TJ3qV3Dr7/v9xfM86tSpgwULFqB9+/alXp8xYwZkMhkOHjwInU6HRYsWYfPmze7X77nnHqxa\ntQo2mw0vv/wyZs2aha+//hqAK6gtymUunrdcXFFQXlzdunUxefJkpKam+vWz1KlTB2q1GhcvXiw3\ntcObQLcrkpaWRmf/pBSaF0QIzQsihOYFEROlWASgqFrDU089hVmzZuH69evgeR7nz5/Hr7/+CgAw\nGo3Q6XTQarW4fPkyli5d6rH92rVrUVhY6A4s9Xq9+/VGjRrh8OHDAIAtW7b4PK6hQ4diyZIlOH78\nOHiex40bN7Bp06ZS4y4pMTERnTt3xttvvw2j0Qi73Y6DBw96pIR4+x0U38fp06d9HishhBBCiFRR\ngFyOkjfMFT1mGAYTJ05Ep06d8Mgjj6BBgwYYOXIkbt68CQCYMmUKjh49igYNGuCZZ55B79693fvh\neR7r1q1Dy5Yt0aRJE2RmZnpUfnj11Vexdu1aPPDAA8jMzBRcnRV6rkOHDnjvvffwwgsvoEGDBujZ\nsyeOHz8uOPaSFi1ahOzsbHTo0AFNmzbFu+++C6fT6fXzSj7+17/+hSlTpqBFixZ47733yvydCqGz\nfiKE5gURIuq8sNmAYsc6Er3oeEHExPBhLl67c+dOtG3bttTz165dQ+3atcM5FBJm9G9MCJEa7aRJ\ncNxzD2xPPx3poRBCQuDIkSPo2bOn39vRCjKRBKpfSYTQvCBCRJ0XViugVou3PxIxdLwgYqIAmRBC\nSKXFWCzgVapID4MQIjEUIBNJoNwxIoTmBREi5rxgLBbwtIJcIdDxgoiJAmRCCCGVl9UK0AoyIaQE\nCpCJJFDuGBFC84IIEXNeMEYjGJNJtP2RyKHjBRETBciEEEIqLcv48VCuXx/pYRBCJIYCZCIJlDtG\nhNC8IEJEnRcaDWCxiLc/EjF0vCBiogCZEEJIpcWr1ZRiQQgphQJkH3355Zdo0qQJkpKSsGfPHvfz\nr7zyCj766COP906ZMgVJSUmIj4/H7t27wz3UqES5Y0QIzQsiRMx5wWu1YGgFuUKg4wUREwXIPrDb\n7XjrrbewefNmZGRkoFu3bu7XPv74Y0yePNnj/XPmzEFGRgbq1q0r2NYZAPr06YOvv/46pOMmhBBS\nDo0GMJsjPQpCiMRQgOyDzMxMWCwWNGvWTLR9egucKyvKHSNCaF4QIaLOC7kcfJUq4u2PRAwdL4iY\nKEAuR6dOndCpUycAwB133OFOsdi+fTuSkpKQmJiImTNn+ry/Tz75BElJSThw4ABee+01JCUlefQI\nz83NxdixY5GcnIw2bdpg+fLlHttPnDgR06ZNw4gRI5CUlIRWrVqhsLBQnB+WEEIqE55HbLduKNy4\nMdIjIYRIDAXI5Thw4AD2798PAEhPT3enWPTq1QsZGRkYNGiQX6vB//d//4eMjAx06tTJnYqxc+dO\n9+vjxo2DUqnEsWPHsGnTJsyePRtHjx712MfatWsxfPhwXL58GStXroRcLhfnh40gyh0jQmheECGi\nzQu7HVAoAJa+CisCOl4QMUV/ZBUGPM8H9bqv212/fh07d+7EhQsXoFKp0KBBA/Tp0wfff/89Wrdu\n7X5f165d0atXLwDAXXfdFdBnE0JIpWexUBc9QoigqAmQq1WrKsp+cnJyRdmPGEquPF+9ehUAPIJh\np9OJAQMGeLyvUaNGoR9cmFHuGBFC84IIEWteMBYLeLValH2RyKPjBRFT1ATIUgpsS/KWYqFUKuF0\nOgVfYwUu6dWpUwdqtRoXL14sM21DaFtCCCH+YaxW8LSCTAgRQJGWCLylWDRu3Nidv1xSQkICTp8+\n7fFczZo10blzZ7z99tswGo2w2+04ePAgTp06JfqYpYZyx4gQmhdEiGjzwmYDr9eDuXIFcDjE2SeJ\nGDpeEDFRgOyjkiu6AwYMQFJSEtavX4/58+cjKSkJL7zwgsd7Xn/9dWzduhX16tXDm2++6fHaxIkT\nsWvXLrRo0QJ9+/Z1P79o0SJkZ2ejQ4cOaNq0Kd59991Sq9BUIo4QQoLHNWqEgrQ06Hv1ApOVFenh\nEEIkhOEDvcMsQDt37kTbtm1LPX/t2jXUrl07nEMhYUb/xoQQKdK3a4fCtWvBVcD7Owip7I4cOeJR\nTtdXtIJMCCGkUuM1Gmo3TQjxQAEykQTKHSNCaF4QIaLPC7UaMJnE3ScJOzpeEDFRgEwIIaRS47Va\nMGZzpIdBCJGQqCnzRio2ql9JhNC8IEJEmxc2G8Dz4OrVA+jm56hHxwsiJgqQCSGEVErK9esh37cP\npgULIj0UQojESCbFguf5gFs2E+kr79+XcseIEJoXRIho88JqpVbTFQgdL4iYJBMgx8XFIScnJ9LD\nICGSk5ODuLi4SA+DEELcGIuFOukRQgRJJsVCp9PBarXi2rVrkR4KCQGVSgWdTuf1dcodI0JoXhAh\nYs0LxmJxVbAgFQIdL4iYJBMgA0D16tUjPQRCCCGVBa0gE0K8kEyKBancKHeMCKF5QYSINiLine truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3852ed0>"
|
||||
"<matplotlib.figure.Figure at 0x2e1db10>"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1557,11 +1572,11 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x411c610>"
|
||||
"<matplotlib.figure.Figure at 0x2e22e50>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 23
|
||||
"prompt_number": 24
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -1633,13 +1648,13 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3852810>"
|
||||
"<matplotlib.figure.Figure at 0x2e1d850>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 24
|
||||
"prompt_number": 25
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -1698,13 +1713,13 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAsgAAAFyCAYAAADoEiz4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlcVPX+P/DXmZWdUlFcwKUAN1TccksT1KtetU3pVl5t\nsSy10jTTW6nlklb2w8qvmpVlaYWlmVpaYXnFBW/ibppLihvuyjrMdn5/TCDIB2SGM5wDvJ6PR488\nw5xzPuDL4T2feZ/PkWRZlkFERERERAAAndoDICIiIiLSEhbIRERERESFsEAmIiIiIiqEBTIRERER\nUSEskImIiIiICmGBTERERERUiMcFckpKClq1aoXmzZvjX//6FwAgMTERkZGRiIqKwtq1axUbJBER\nERFRRZE8WQfZ6XSiWbNmWLJkCbp06YLLly8jMDAQTZs2RUpKCiwWC3r27ImjR496Y8xERERERF7j\n0Qzyzp07ERISgi5dugAAatasiZSUFLRo0QIhISEICwtDWFgY9uzZo+hgiYiIiIi8zeDJTmlpaQgO\nDka/fv1w/vx5PPXUUwgJCUHdunWxaNEi1KhRA6GhoTh37hxat26t9JiJiIiIiLzGowLZYrFgy5Yt\n2L9/P4KDg9G+fXs8+eSTAICRI0cCAFauXAlJkpQbKRERERFRBfCoQA4NDUXz5s3RoEEDAEC7du2Q\nl5eHc+fOFTwnPT0ddevWLbbv119/jVq1ank4XCIiIiKisrFYLPjnP//p9n4eFcjt27dHWloarl69\nCn9/f+zbtw+TJ0/GkiVLcPHiRVgsFpw+fRqtWrUqtm+tWrXQtm1bT05LVdiaNWswcOBAtYdBGsNc\nkAhzQSLMBYmkpqZ6tJ9HBXJwcDASEhIQGxsLm82GRx99FNHR0Zg9eza6du0KAEhISPBoQFQ9paWl\nqT0E0iDmgkSYCxJhLkhJHhXIADB48GAMHjy4yGPx8fGIj48v96CIiIiIiNTCO+mRJvTq1UvtIZAG\nMRckwlyQCHNBSmKBTJoQFRWl9hBIg5gLEmEuSIS5ICV53GKhNFmWceHCBTgcDrWHQl6g1+tRu3bt\nEpf+S05ORrdu3Sp4VKR1zAWJMBckwlyQkjRTIF+4cAGBgYHw8/NTeyjkBTk5Obhw4QLq1Kmj9lCI\niIiISqWZFguHw8HiuArz8/Mr9dMBvusnEeaCRJgLEmEuSEmaKZCJiIiIiLSABTJpQnJystpDIA1i\nLkiEuSAR5oKUxAKZiIiIiKgQFsikiJo1a+LEiRMe78/eMRJhLkiEuSAR5oKUxAKZyk2W5SL/JyIi\nIqrMWCDfwvLlyxEbG4sWLVrgiSeewMMPP4xmzZrh4MGDcDqdmDNnDtq0aYOmTZti0qRJsNvtAICT\nJ0/i3nvvRZMmTdCwYUM8/vjjyMjIKDjuhg0b0LFjR4SHh6NDhw7YuHFjwddat26NTZs2FWzfPDs7\nevRoTJ48GcOGDUN4eDhat26NrKwsAMCaNWvQpUsXNGnSBA899BDOnz9fsM/AgQMRGRmJKVOm4K67\n7kJsbCxyc3MBAFevXsXIkSPRtGlTxMTEYOnSpUXO99xzz6F///4IDw/Hc889V/C1IUOGoGHDhgCA\n7t27Izw8HK+88orbP2f2jpEIc0EizAWJMBekJBbIZWA2m7Ft2zasX78eTz75JIYOHYpVq1bhgw8+\nwIYNG7B+/Xr8/vvvOHz4MBYtWgQAsFqtGD58OPbv34/9+/fj6tWrmDNnTsExx44di//85z9IS0vD\nypUrUbdu3YKvSZJU4g018iUmJmLo0KE4efIkli1bBoPBgJ07d+KFF17A/PnzcfToUbRq1Qrjxo0r\n2Oeuu+7CwoULsXjxYvz000/w8fHBjh07AADPPPMMTCYT9uzZg1WrVmHOnDnYvXt3wb6//fYbFi9e\njK1bt2L16tVITU0FAKxYsQJpaWkAgM2bNyMtLQ0zZ84s50+ciIiISD2qFMiV7ZP4xo0bIygoCDVq\n1MCdd96J8PBwXLx4EcuWLcNLL72E0NBQBAQE4Mknn8TatWsBABEREXjggQfg5+eHwMBADBo0CAcO\nHCg4pk6nw19//YWMjAyEhYWhWbNmbo3p7rvvRp8+fSBJElq2bAkfHx988cUXePjhhxETEwOdTofR\no0fjp59+gtVqLfg+GjVqhFq1aiE4OBjh4eG4dOkS0tPTkZSUhBkzZsBsNqNRo0YYOHAg1q1bV3C+\nfv36oX79+mjQoAGaN2+OY8eOKfCTvYG9YyTCXJAIc0EizAUpSZU76VksgK+ve/v4zJ4N37feKvZ4\n7sSJsEyaVKbnl/TcW8mfzTUYDNDr9TAYDLDb7Thz5gyeeeYZ6HSu9xlOpxOhoaEAgIsXL2LSpEnY\nvn07cnJyYLPZ0KZNm4JjLlmyBAkJCXjvvfcQERGBefPmuVUk33HHHcUeO3PmDLZu3Yrly5cXPGY2\nmwvaLPLHrtfrC7ZtNhvOnj0LAEXG53A48MADDxRsBwcHF/zZZDIhLy+vzGMlIiIiqkxUKZAzMyX4\n+ro3jWyZNMmt4tbd57tLlmXUr18f8+fPR/v27Yt9/Y033oBer0dKSgoCAgKwaNEirF69uuDrHTt2\nxPLly2G1WjFu3DjMmjULn3/+OQBXUZvfy1y4b7mw/KK8sAYNGmDChAkYO3asW99L/fr14ePjg+PH\nj9+ytaMknu6XLzk5me/+qRjmgkSYCxJhLkhJqrRYZGaWr5hSW/5qDY8++ihmzZqF9PR0yLKMo0eP\n4tdffwUAZGdnIyAgAH5+fjh58iQ+/fTTIvsnJiYiKyuroLAMCgoq+Podd9yBnTt3AgC+//77Mo/r\n4YcfxpIlS7B3717IsoyLFy9i1apVxcZ9szp16qBLly6YNm0asrOzYbPZkJKSUqQlpKSfQeFjHDx4\nsMxjJSIiItIqVQrkrKzKUyDffMFc/rYkSRg9ejQ6d+6M/v37o1GjRhg+fDguX74MAJg4cSJ2796N\nRo0a4cknn0S/fv0KjiPLMlasWIHo6GhERETg/PnzRVZ+eOmll5CYmIhevXrh/PnzwtlZ0WMdOnTA\njBkzMGbMGDRq1AhxcXHYu3evcOw3W7RoES5duoQOHTogMjIS06dPh8PhKPF8N2+/+uqrmDhxIlq0\naIEZM2aU+jMV4bt+EmEuSIS5IBHmgpQkyRW8eG1SUhJycjqiWzd7kcfPnj2LevXqVeRQqILx75iI\niIgqUmpqKuLi4tzejy0WpAlcv5JEmAsSYS5IhLkgJbFAJiIiIiIqRKUeZDXOSlrG3jESYS5IhLkg\nEeaClMQZZCIiIiKiQlggkyawd4xEmAsSYS5IhLkgJXGZNyIiIiKiQjiDTJrA3jESYS5IhLkgEeaC\nlMQCmYiIiIioEBbIZfTRRx8hIiIC4eHh+O9//1vw+Pjx4/HOO+8Uee7EiRMRHh6OWrVqYdOmTRU9\n1EqJvWMkwlyQCHNBIswFKYkFchnYbDZMnToVq1evRlpaGrp3717wtblz52LChAlFnv/WW28hLS0N\nDRo0EN7WGQAGDhyIzz//3KvjJiIiIiL3sUAug/Pnz8NisSAqKkqxY5ZUOFdX7B0jEeaCRJgLEmEu\nSElcxeIWOnfujM6dOwMAGjduXNBi8dNPPyE8PBx16tTBzJkzy3y8d999F+Hh4di2bRtefvllhIeH\nF7lH+NWrVzFy5Eg0bdoUMTExWLp0aZH9R48ejcmTJ2PYsGEIDw9H69atkcU7rxAREREphjPIt7Bt\n2zZs3boVAHDixImCFos+ffogLS0NgwcPdms2+MUXX0RaWho6d+5c0IqRlJRU8PVnnnkGJpMJe/bs\nwapVqzBnzhzs3r27yDESExMxdOhQnDx5EsuWLYPBYFDmm1URe8dIhLkgEeaCRJgLUpIqlVVODuB0\nAjpVynP3ybJcrq+Xdb/09HQkJSXh2LFjMJvNaNSoEQYOHIh169ahTZs2Bc+7++670adPHwBAy5Yt\nPTo3EREREYmpUiD7+QFZWUBQUNn3qVHjdkXOfeXKVUWOo4SbZ57PnDkDAEWKYYfDgQceeKDI8+64\n4w7vD66CsXeMRJgLEmEuSIS5ICV5XCDr9Xq0atUKANCjRw8kJCQgMTERr776KiRJwty5czFgwADh\nvoGBMjIzJQQFlX3mVUuF7c1KarEwmUxwOBzCr+kE0+f169eHj48Pjh8/XmrbhmhfIiIiIlKGx5WW\nn58fdu3ahV27diEhIQFWqxWTJk3Cli1b8Msvv2Ds2LEl7hsQIFeqC/VupaQWizvvvLOgf/lmtWvX\nxsGDB4s8Fhoaii5dumDatGnIzs6GzWZDSkoKDhw4oPiYtYa9YyTCXJAIc0EizAUpSbGpyJSUFLRo\n0QIhISEICwtDWFgY9uzZI3xu/gxyZXLzjO4DDzyA8PBwfPPNN3j//fcRHh6OMWPGFHnOK6+8gjVr\n1iAsLAxTpkwp8rXRo0fjt99+Q4sWLXDvvfcWPL5o0SJcunQJHTp0QGRkJKZPn15sFppLxBERERF5\njyR7eIWZ0WhEq1at4OvrizfffBPnz5/HTz/9hHbt2qFGjRpYuXIlhg8fjr59+xbZLykpCdOnd8fz\nz1vQs6e94PGzZ8+iXr165ftuSNP4d0xEREQVKTU1tchyumXl8QzymTNnsHPnTiQkJOCRRx6BxWIB\nAIwcORJDhgwBUPJMZ2WcQSYiIiKi6sHji/Rq164NAGjfvj3q1auHRo0a4euvvy74enp6OurWrSvc\nd//+bXA4zuPgwZ0IDg5GdHQ0mjRp4ulQqBLJ7xHLv9q4cM9Yt27dSvw6t6vn9oIFCxAdHa2Z8XBb\nG9v5j2llPNzWxjZfL7idLzk5GWlpaQCAESNGwBMetVhcvXoVPj4+8PX1xYkTJ3D33XfjwILine truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3b34890>"
|
||||
"<matplotlib.figure.Figure at 0x3234790>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 25
|
||||
"prompt_number": 26
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -1762,13 +1777,13 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3849290>"
|
||||
"<matplotlib.figure.Figure at 0x2dffbd0>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 26
|
||||
"prompt_number": 27
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -1814,13 +1829,13 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAtEAAAFyCAYAAAAzqYbaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd4VFX6x7+3TEknIbRAQpAqEDoiSBFQVBQroCishVWU\nYi+grhX7qsDquqz+1LWwigsoZVGQlRJAUJBmUASESEkIJCFt2i2/P+7MZObOnZl779xp4Xyeh4fc\nds47M+ee8573vOd9KVEURRAIBAKBQCAQCATV0PEWgEAgEAgEAoFASDaIEk0gEAgEAoFAIGiEKNEE\nAoFAIBAIBIJGiBJNIBAIBAKBQCBohCjRBAKBQCAQCASCRogSTSAQCAQCgUAgaES3Er1t2zb06tUL\n3bt3x0033QQAWLx4Mbp06YKuXbti5cqV3nuDnScQCAQCgUAgEJIRSk+caEEQcP755+ODDz7AkCFD\ncObMGWRkZKBbt27Ytm0b7HY7Ro4ciYMHD8LpdCqeJxAIBAKBQCAQkhVWz0M7duxAixYtMGTIEABA\n8+bNsWnTJvTo0QMtWrQAAOTn52P37t2oqalRPN+7d2+DPgKBQCAQCAQCgRBbdCnRpaWlyMrKwhVX\nXIHy8nLceeedaNGiBdq0aYOFCxciJycHrVu3xsmTJ1FXV6d4nijRBAKBQCAQCIRkRZcSbbfbsXnz\nZuzbtw9ZWVkYMGAApk6dCgCYNm0aAGDp0qV+z/iepygqEpkJBAKBQCAQCIS4okuJbt26Nbp37452\n7doBAPr37w+Hw4GTJ0967ykrK0NeXh5qa2sDzrdp0yagzM8//xy5ubl6xCEQCAQCgUAgEFRjt9tx\n5ZVXRlSGLiV6wIABKC0tRVVVFdLS0rB3717MmTMHH3zwASoqKmC323Hs2DH06tULTqcTP//8c8B5\nObm5uejXr19EH4bQ9FixYgXGjRsXbzEICQZpFwQlSLsgKEHaBUGJnTt3RlyGLiU6KysL8+bNw6hR\no+ByuXDLLbegqKgIL7/8Mi666CIAwLx58wAAZrNZ8TyBoIbS0tJ4i0BIQEi7IChB2gVBCdIuCNFC\nlxINAOPHj8f48eP9zk2cOBETJ04MuDfYeQKBQCAQCAQCIRkhGQsJCc0ll1wSbxEICQhpFwQlSLsg\nKEHaBSFaECWakNB07do13iIQEhDSLghKkHZBUIK0C0K00O3OEStEUcSpU6fA83y8RSFEAYZh0LJl\ny6BhD4uLizF06NAYS0VIdEi7IChB2gVBCdIuCNEi4ZXoU6dOISMjA6mpqfEWhRAFGhoacOrUKbRq\n1SreohAIBAKBQCCoJuHdOXieJwp0EyY1NTXkKgOxHhCUIO2CoARpFwQlSLsgRIuEV6IJBAKBQCAQ\nCIREgyjRhISmuLg43iIQEhDSLghKkHZBUIK0C0K0IEo0gUAgEAgEAoGgEaJEE6JK8+bNceTIEd3P\nE182ghKkXRCUIO2CoARpF4RoQZRoQtQQRdHvf5UPgTp2LEoSEQgEAoFAIBgDUaJ1smjRIowaNQo9\nevTAHXfcgUmTJuH8889HSUkJBEHAK6+8gj59+qBbt26YPXs2OI4DABw9ehTXXHMNzjvvPLRv3x63\n3347ampqvOV+8803uOCCC1BQUICBAwfif//7n/da7969sWHDBu+x3Mo7Y8YMzJkzB3/6059QUFCA\n3r17o66uDgCwYsUKDBkyBOeddx5uvPFGlJeXe58ZN24cunTpgqeeegqDBg3CqFGjYLPZAABVVVWY\nNm0aunXrhr59++Kjjz7yq2/WrFkYO3YsCgoKMGvWLO+1CRMmoH379gCA4cOHo6CgAE888UTY75XZ\nuxfpU6Z4j4kvG0EJ0i4ISpB2QVCCtAtCtCBKdARYLBZs3boVX3/9NaZOnYrJkydj2bJleOutt/DN\nN9/g66+/xo8//ohff/0VCxcuBAA4nU7ceuut2LdvH/bt24eqqiq88sor3jLvv/9+PP744ygtLcXS\npUvRpk0b7zWKooImJfGwePFiTJ48GUePHsWnn34KlmWxY8cO3HfffXj77bdx8OBB9OrVCw888ID3\nmUGDBuEf//gH3n33XaxZswZWqxXbt28HANx9990wm83YvXs3li1bhldeeQW7du3yPrt+/Xq8++67\n2LJlC7766ivs3LkTAPDFF1+gtLQUALBp0yaUlpbihRdeCP+lchwQ5jMSCAQCoWmT1bkz6MOH4y0G\ngRASokRHQIcOHZCZmYmcnBx06tQJBQUFqKiowKeffopHHnkErVu3Rnp6OqZOnYqVK1cCADp37ozr\nr78eqampyMjIwNVXX42ff/7ZWyZN0/j9999RU1OD/Px8nH/++ZpkGjZsGMaMGQOKotCzZ09YrVZ8\n8sknmDRpEvr27QuapjFjxgysWbMGTqfT+zkKCwuRm5uLrKwsFBQU4PTp0ygrK8O6deswd+5cWCwW\nFBYWYty4cVi1apW3viuuuAJt27ZFu3bt0L17dxw6dCiyL1UU/ZRo4stGUIK0C4ISpF00HegzZ8CU\nlBhSFmkXhGiR8BkLw2F9+WWkvPpqwHnbo4/CPnu2qvuD3RsOj1WYZVkwDAOWZcFxHI4fP467774b\nNC3NUQRBQOvWrQEAFRUVmD17Nr7//ns0NDTA5XKhT58+3jI/+OADzJs3DwsWLEDnzp0xf/58TYp0\nx44dA84dP34cW7ZswaJFi7znLBaL16XDIzvDMN5jl8uFEydOAICffDzP4/rrr/ceZ2Vlef82m81w\nOByqZVVEpkQTCAQCgUAgJCJJr0TbZ8/WpABrvV8roiiibdu2ePvttzFgwICA68899xwYhsG2bduQ\nnp6OhQsX4quvvvJev+CCC7Bo0SI4nU488MADePHFF/Hxxx8DkBRfj2+1rx+1Lx7F3Zd27drh4Ycf\nxv3336/ps7Rt2xZWqxWHDx8O60YSDL3PeSguLiZWBEIApF0QlCDtomkh5OcbUg5pF4RoQdw5DMQT\nheKWW27Biy++iLKyMoiiiIMHD+K7774DANTX1yM9PR2pqak4evQoPvzwQ7/nFy9ejLq6Oq/ymZmZ\n6b3esWNH7NixAwCwfPly1XJNmjQJH3zwAfbs2QNRFFFRUYFly5YFyC2nVatWGDJkCJ555hnU19fD\n5XJh27Ztfu4nwb4D3zJKtCzJaYnkQSAQCIQmSVVlJfjeveMtBiFSeF7a69REIUq0TuSb/DzHFEVh\nxowZGDx4MMaOHYvCwkLceuutOHPmDADg0Ucfxa5du1BYWIipU6fiiiuu8JYjiiK++OILFBUVoXPn\nzigvL/eLaPHII49g8eLFuOSSS1BeXq5o5VU6N3DgQMydOxczZ85EYWEhRo8ejT179ijKLmfhwoU4\nffo0Bg4ciC5duuD5558Hz/NB65MfP/nkk3j00UfRo0cPzJ07N+R3CgBITQV8rOnEekBQgrQLghKk\nXRCUIO0ifpiXLEHq9OnxFiNqUKKmIL7RY926dejXr1/A+RMnTiAvLy8OEhFihe9vzPz8M9Luugs1\nmzfHWSoCgUAgEAiRYH39dVjefx9nQ6xgx4udO3di9OjREZVBLNGEhEKkKD+XDhLfk6AEaRcEJUi7\nIChB2kX8YH76CfTJk/EWI2oQJZqQeCTG4giBQCAQCARCUIgSTUgsZD7VxJeNoARpFwQlSLtoOqTe\nf79hyVZIuyBEC6JEExIPYokmEAiEcxrLRx+B2bcv3mIQIkUh7G5Toml/OkLSQZ09C9Fk8h4TXzaC\nEqRdEJQg7YKgRJNrF6IIuFzxlkIVzptvhnPMmHiLETWIEk1IKCieh+gTG5tAIBAIBEIjTEkJMi++\nON5iqEJo2xZcE3anSfqMhYQmhiztN/FlIyhB2gVBCdIuCEo0tXYh0rSUxCQJ4IuKwBcVxVuMqEEs\n0YTEQqZEEwgEAoFA8IFhAEGItxQEECU6Yt577z107twZBQUF2Lhxo/f8Qw89hL/+9a9+9z766KMo\nKChAbm4uNmzYEGtRkwcfJbrJ+bIRDIG0C4ISpF00LfhOnQwpp8m1C4ZJGkt0U4e4c0SAy+XC008/\njbVr16J79+5+115//fWA+1999VW8+uqr6NOnj2KKbQAYN24cJk6ciClTpkRF5oSHROYgEAiEc56q\nysp4i5Cw0IcOgfn993iLoQ6el8Z1tmmqm8QSHQHl5eWw2+3o2rWrYWUGU67PFYTWrUHV1XmPm5ov\nG8EYSLsgKEHaBUGJptYu6IoKfQ86HDAvWmSsMGGwvP8+UubMiWmdsYQo0ToZPHgwBg8eDADo0KGD\n151jzZo1KCgoQKtWrfDCCy+oLu+NN95AQUEBtm7disceewwFBQV+Od2rqqowbdo0dOvWDX379sVH\nH33k9/yMGTMwZ84c/OlPf0JBQQF69+6NOh9lNGkwmUBVVcVbCgKBQCAQEhIhLw+uESM0P8du2YK0\nmTOjIFFwqLIymJqw+ypRonWydetWbNmyBQBw5MgRlJaWYvjw4RgzZgxKS0sxfvx4TVblBx98EKWl\npRg8eDBeffVVlJaWYt26dd7rd999N8xmM3bv3o1ly5bhlVdewa5du/zKWLx4MSZPnoyjR4/i008/\nBZuMyycU5efS0eR82QiGQNoFQQnSLghKNLl2wfP6kpjEwV2SKSkBc/BgzOuNFUmoZSUOYpgGGe66\n2ufKysqwbt06HDp0CBaLBYWFhRg3bhxWrVqFPn36eO8bNmwYxriDmvfs2VNX3XFHpkQTCAQCgUDw\nQRSlzYVaMZuNl+UcJ+mV6JycbEPKqaxMHBcCuQX7+PHjAOCnMPM8j+uvv97vvo4dO0ZfuGgj++xN\nzZeNYAykXRCUIO2i6ZDy2GNw3HYbhPPPj7isptYuKJ6XYkVrhBs0CNX790dBonOXpFeiE0Line truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3844e50>"
|
||||
"<matplotlib.figure.Figure at 0x2c2bd10>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 27
|
||||
"prompt_number": 28
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -1843,7 +1858,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Implement the Kalman filter using IPython Notebook's animation features to allow you to modify the various constants in real time using sliders. Refer to the section **Interactive Gaussians** in the Gaussian chapter to see how to do this. You will use the *interact()* function to call a calculation and plotting function. Each parameter passed into *interact()* automatically gets a slider created for it. I have built the boilerplate for this; just fill in the required code."
|
||||
"Implement the Kalman filter using IPython Notebook's animation features to allow you to modify the various constants in real time using sliders. Refer to the section **Interactive Gaussians** in the Gaussian chapter to see how to do this. You will use the $\\verb,interact(),$ function to call a calculation and plotting function. Each parameter passed into $\\verb,interact(),$ automatically gets a slider created for it. I have built the boilerplate for this; just fill in the required code."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1869,13 +1884,13 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "pyout",
|
||||
"prompt_number": 28,
|
||||
"prompt_number": 29,
|
||||
"text": [
|
||||
"<function __main__.plot_kalman_filter>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 28
|
||||
"prompt_number": 29
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -1926,19 +1941,19 @@
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAsgAAAFyCAYAAADoEiz4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmczvX+//HHtc4+FMNYZlBZOpK9BcWMclJUhJOtEh2O\nJS0qLVpIUUiLSstBpHCyS5wGZSLCLynppGK+dkpmvfbP74/JRD7DLNfMXGOe99vNbXw+12d5GS+X\n17yv1+f9thiGYSAiIiIiIgBYyzoAEREREZFQogJZREREROQUKpBFRERERE6hAllERERE5BQqkEVE\nRERETqECWURERETkFOcskEeNGkV8fDxNmjQBYP/+/bRr147LLruMli1b8umnn+YdO3/+fBo0aEDD\nhg1Zvnx5yUUtIiIiIlJCLOeaB3njxo04nU7uuusuduzYwZEjRzh8+DBNmjQhLS2NNm3asG/fPjwe\nD40aNWLTpk24XC6SkpLYvXt3af05RERERESC4pwjyFdffTVVqlTJ265WrVreaHJiYiIejwev18um\nTZto3LgxcXFxJCQkkJCQwPbt20suchERERGREmAvzsmrVq2iZcuWOBwODh06RI0aNZg+fToXXngh\n8fHxHDx4kKZNmwYrVhERERGRElfkAvnQoUOMGjWKpUuXAmCxWAAYPHgwAAsXLszbJyIiIiJSXhSp\nQHa5XPTs2ZPJkydTr149AGrUqMHBgwfzjjk5ovxX8+bNo2rVqkUMV0RERESkYFwuFzfddFOhzyt0\ngWwYBgMGDKBPnz506tQpb3/r1q357rvvOHr0KC6Xi3379nH55ZefcX7VqlVp0aJFoQOV89uyZcvo\n2rVrWYchIUZ5IWaUF2JGeSFmtm3bVqTzzlkgDxs2jEWLFvHrr7+SkJDAP//5Tz766CN27drFW2+9\nBcDKlSuJj49nwoQJtG3bFoCpU6cWKSCpmNLS0so6BAlBygsxo7wQM8oLCaZzFsjTpk1j2rRpp+0b\nM2aM6bG9evWiV69ewYlMRERERKQMaCU9CQnXXXddWYcgIUh5IWaUF2JGeSHBpAJZQkLDhg3LOgQJ\nQcoLMaO8EDPKCwmmYs2DHEyGYXDkyBH8fn9ZhyIlwGazUa1atXyn/ktNTaVdu3alHJWEOuWFmFFe\niBnlhQRTyBTIR44cISYmhsjIyLIORUpAdnY2R44coXr16mUdioiIiMhZhUyLhd/vV3F8HouMjDzr\npwP6qV/MKC/EjPJCzCgvJJhCpkAWEREREQkFKpAlJKSmppZ1CBKClBdiRnkhZpQXEkwqkEVERERE\nTqECWYKiSpUq7Nmzp8jnq3dMzCgvxIzyQswoLySYVCBLsRmGcdpXERERkfJMBfI5zJ07l+TkZBo3\nbszdd99N7969ufTSS9m5cyeBQICJEyfSrFkzGjVqxOjRo/H5fADs3buXW265hYsuuog6deowYMAA\n0tPT8667atUqrrjiChITE2ndujVr1qzJe61p06Z89tlnedt/HZ0dNmwYjz76KHfccQeJiYk0bdqU\nzMxMAJYtW0abNm246KKL+Mc//sHhw4fzzunatSsNGjTgySef5MorryQ5OZmcnBwAjh8/zuDBg2nU\nqBHNmzfnvffeO+1+I0aM4MYbbyQxMZERI0bkvdazZ0/q1KkDwLXXXktiYiKPP/54ob/P6h0TM8oL\nMaO8EDPKCwkmFcgFEBYWxsaNG/nkk08YOHAg/fr1Y9GiRbz22musWrWKTz75hC1btvDDDz8wffp0\nADweD3feeSfffvst3377LcePH2fixIl517zvvvt47LHHSEtLY+HChdSoUSPvNYvFku+CGifNnz+f\nfv36sXfvXt5//33sdjtbt25l5MiRTJs2jd27d3P55Zdz//33551z5ZVX8uabb/L222+zevVqwsPD\n2bx5MwBDhgzB6XSyfft2Fi1axMSJE/n666/zzl23bh1vv/02GzZsYMmSJWzbtg2ABQsWkJaWBsD6\n9etJS0tj/PjxxfyOi4iIiJQdFcgFUK9ePWJjY7nwwgu55JJLSExM5OjRo7z//vs89NBDxMfHEx0d\nzcCBA1m+fDkA9evXp3v37kRGRhITE8PNN9/Md999l3dNq9XKL7/8Qnp6OgkJCVx66aWFiumaa66h\nU6dOWCwWLrvsMsLDw5kzZw69e/emefPmWK1Whg0bxurVq/F4PHl/jrp161K1alUqVapEYmIix44d\n49ChQ6SkpPDss88SFhZG3bp16dq1KytWrMi7X+fOnalVqxa1a9fmb3/7Gz/99FMQvrN/Uu+YmFFe\niBnlhZhRXkgwhcxKeucSPmECES+8cMb+nIcfxjV6dIGOz+/Yczk5mmu327HZbNjtdnw+H/v372fI\nkCFYrbk/ZwQCAeLj4wE4evQoo0eP5ssvvyQ7Oxuv10uzZs3yrjljxgymTp3KK6+8Qv369Xn55ZcL\n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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3da1a90>"
|
||||
"<matplotlib.figure.Figure at 0x324e950>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "pyout",
|
||||
"prompt_number": 29,
|
||||
"prompt_number": 30,
|
||||
"text": [
|
||||
"<function __main__.plot_kalman_filter>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 29
|
||||
"prompt_number": 30
|
||||
},
|
||||
{
|
||||
"cell_type": "heading",
|
||||
@@ -1958,7 +1973,7 @@
|
||||
"\n",
|
||||
"Do you suppose that this filter works well or poorly with nonlinear systems?\n",
|
||||
"\n",
|
||||
"Implement a Kalman filter that uses the following *sin()* to generate the measurement value for i in range(100):\n",
|
||||
"Implement a Kalman filter that uses the following equation to generate the measurement value for i in range(100):\n",
|
||||
"\n",
|
||||
" Z = math.sin(i/3.) * 2\n",
|
||||
" \n",
|
||||
@@ -1974,7 +1989,7 @@
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 30
|
||||
"prompt_number": 31
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -2007,7 +2022,7 @@
|
||||
"\n",
|
||||
"p1, = plt.plot(zs,c='r', linestyle='dashed')\n",
|
||||
"p2, = plt.plot(ps, c='b')\n",
|
||||
"plt.legend([p1,p2], ['measurement', 'filter'], 2)\n",
|
||||
"plt.legend([p1,p2], ['input', 'filter'], 2)\n",
|
||||
"plt.show()"
|
||||
],
|
||||
"language": "python",
|
||||
@@ -2016,13 +2031,13 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3d9fdd0>"
|
||||
"<matplotlib.figure.Figure at 0x2e17990>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 31
|
||||
"prompt_number": 32
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -2030,10 +2045,11 @@
|
||||
"source": [
|
||||
"######Discussion\n",
|
||||
"\n",
|
||||
"Here we set a bad initial guess of 100. We can see that the filter never 'acquires' the signal. Note now the peak of the filter output always lags the peak of the signal by a small amount. More clearely we can see the large gap in height between the measurement and filter. \n",
|
||||
"**REWriTE - not seeing heigh gap now**\n",
|
||||
"Here we set a bad initial guess of 100. We can see that the filter never 'acquires' the signal. Note now the peak of the filter output always lags the peak of the signal by a small amount, and how the filtered signal does not come very close to capturing the high and low peaks of the input signal.\n",
|
||||
"\n",
|
||||
"Maybe we just didn't adjust things 'quite right'. After all, the output looks like a sin wave, it is just offset in $x$ and $y$. Let's test this assumption."
|
||||
"If we recall the g-h filter chapter we can understand what is happening here. The structure of the g-h filter requires that the filter output chooses a value part way between the predition and measurement. A varying signal like this one is always accelerating, whereas our process model assumes constant velocity, so the filter is mathematically guaranteed to always lag the input signal. \n",
|
||||
"\n",
|
||||
"Maybe we just didn't adjust things 'quite right'. After all, the output looks like a sin wave, it is just offset some. Let's test this assumption."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -2060,7 +2076,7 @@
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 32
|
||||
"prompt_number": 33
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -2104,11 +2120,11 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x412fc10>"
|
||||
"<matplotlib.figure.Figure at 0x2e27990>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 33
|
||||
"prompt_number": 34
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -2117,7 +2133,7 @@
|
||||
"###### Discussion\n",
|
||||
"This is terrible! The output is not at all like a sin wave, except in the grossest way. With linear systems we could add extreme amounts of noise to our signal and still extract a very accurate result, but here even modest noise creates a very bad result.\n",
|
||||
"\n",
|
||||
"Very shortly after practioners began implementing Kalman filters they realized the poor performance of them for nonlinear systems and began devising ways of dealing with it. Much of this book is devoted to this problem and its various solutions."
|
||||
"Very shortly after practioners began implementing Kalman filters they recognized the poor performance of them for nonlinear systems and began devising ways of dealing with it. Much of this book is devoted to this problem and its various solutions."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -2144,68 +2160,6 @@
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 33
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"collapsed": false,
|
||||
"input": [
|
||||
"def volt():\n",
|
||||
" return random.randn()*4. + 14.4\n",
|
||||
"\n",
|
||||
"sensor_error = 30\n",
|
||||
"movement_error = 2\n",
|
||||
"pos = (12,500)\n",
|
||||
"\n",
|
||||
"zs = []\n",
|
||||
"ps = []\n",
|
||||
"vs = []\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"for i in range(100):\n",
|
||||
" Z = volt()\n",
|
||||
" zs.append(Z)\n",
|
||||
" \n",
|
||||
" pos = sense(pos[0], pos[1], Z, sensor_error)\n",
|
||||
" ps.append(pos[0])\n",
|
||||
" vs.append(pos[1])\n",
|
||||
" #pos = update(pos[0], pos[1], 0, movement_error)\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"p1, = plt.plot(zs,c='r', linestyle='dashed')\n",
|
||||
"p2, = plt.plot(ps, c='b')\n",
|
||||
"plt.legend([p1,p2], ['measurement', 'filter'], 3)\n",
|
||||
"plt.show()\n",
|
||||
"plt.plot(vs)"
|
||||
],
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3852c90>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "pyout",
|
||||
"prompt_number": 34,
|
||||
"text": [
|
||||
"[<matplotlib.lines.Line2D at 0x3b43c10>]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f5615de6e90>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 34
|
||||
},
|
||||
{
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"metadata": {
|
||||
"name": "",
|
||||
"signature": "sha256:00dc5e666bed6e6a433a1c086c374cef621d05ba381473abe5a36db5a5cd4ef7"
|
||||
"signature": "sha256:df1d770cec87d6a479373130e0f54d7645b1762707c5d4ae14ccfc6562a26688"
|
||||
},
|
||||
"nbformat": 3,
|
||||
"nbformat_minor": 0,
|
||||
@@ -328,16 +328,16 @@
|
||||
"\n",
|
||||
"If you are reasonably well-versed in linear algebra this equation should look quite managable; if not, don't worry! If you want to learn the math we will cover it in detail in the next optional chapter. If you choose to skip that chapter the rest of this book should still be managable for you\n",
|
||||
"\n",
|
||||
"I have programmed it and saved it in the file *stats.py* with the function name *multivariate_gaussian*. I am not showing the code here because I have taken advantage of the linear algebra solving apparatus of numpy to efficiently compute a solution - the code does not correspond to the equation in a one to one manner. If you wish to view the code, I urge you to either load it in an editor, or load it into this worksheet by putting *%load -s multivariate_gaussian stats.py* in the next cell and executing it with ctrl-enter. "
|
||||
"I have programmed it and saved it in the file *stats.py* with the function name *multivariate_gaussian*. I am not showing the code here because I have taken advantage of the linear algebra solving apparatus of numpy to efficiently compute a solution - the code does not correspond to the equation in a one to one manner. If you wish to view the code, I urge you to either load it in an editor, or load it into this worksheet by putting $\\verb,%load -s multivariate_gaussian stats.py,$ in the next cell and executing it with ctrl-enter. "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
">As of version 0.14 scipy.stats has implemented the multivariate normal equation with the function **multivariate_normal()**. It is superior to my function in several ways. First, it is implemented in Fortran, and is therefore faster than mine. Second, 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. This is much more efficient then recomputing everything in each call. So, if you have version 0.14 or later you may want to substitute my function for the built in version. Use **scipy.version.version** to get the version number. I deliberately named my function **multivariate_gaussian()** to ensure it is never confused with the built in version.\n",
|
||||
">As of version 0.14 scipy.stats has implemented the multivariate normal equation with the function $\\verb,multivariate_normal(),$. It is superior to my function in several ways. First, it is implemented in Fortran, and is therefore faster than mine. Second, 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. This is much more efficient then recomputing everything in each call. So, if you have version 0.14 or later you may want to substitute my function for the built in version. Use $\\verb,scipy.version.version,$ to get the version number. I deliberately named my function $\\verb,multivariate_gaussian(),$ to ensure it is never confused with the built in version.\n",
|
||||
"\n",
|
||||
"> If you intend to use Python for Kalman filters, you will want to read the <a href=\"http://docs.scipy.org/doc/scipy/reference/tutorial/stats.html\">tutorial</a> for the scipy.stats module, which explains 'freezing' distributions and other very useful features. As of this date, it includes an example of using the multivariate_normal function, which does work a bit differently from my function."
|
||||
"> If you intend to use Python for Kalman filters, you will want to read the <a href=\"http://docs.scipy.org/doc/scipy/reference/tutorial/stats.html\">tutorial</a> for the $\\verb,scipy.stats,$ module, which explains 'freezing' distributions and other very useful features. As of this date, it includes an example of using the multivariate_normal function, which does work a bit differently from my function."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -396,7 +396,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Finally, we have to define our covariance matrix. In the problem statement we did not mention any correlation between $x$ and $y$, and we will assume there is none. This makes sense; a dog can choose to independently wander in either the $x$ direction or $y$ direction without affecting the other. If there is no correlation between the values you just fill in the diagonal of the covariance matrix with the variances. I will use the seemingly arbitrary name $P$ for the covariance matrix. The Kalman filters use the name $P$ for this matrix, so I will introduce the terminology now to avoid explaining why I change the name later. "
|
||||
"Finally, we have to define our covariance matrix. In the problem statement we did not mention any correlation between $x$ and $y$, and we will assume there is none. This makes sense; a dog can choose to independently wander in either the $x$ direction or $y$ direction without affecting the other. If there is no correlation between the values you just fill in the diagonal of the covariance matrix with the variances. I will use the seemingly arbitrary name $\\textbf{P}$ for the covariance matrix. The Kalman filters use the name $\\textbf{P}$ for this matrix, so I will introduce the terminology now to avoid explaining why I change the name later. "
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -534,7 +534,7 @@
|
||||
"source": [
|
||||
"The result is clearly a 3D bell shaped curve. We can see that the gaussian is centered around (2,7), and that the probability quickly drops away in all directions. On the sides of the plot I have drawn the Gaussians for $x$ in greens and for $y$ in orange.\n",
|
||||
"\n",
|
||||
"As beautiful as this is, it is perhaps a bit hard to get useful information. For example, it is not easy to tell if $x$ and $y$ both have the same variance or not. So for most of the rest of this book we will display multidimensional Gaussian using contour plots. I will use some helper functions in *gaussian.py* to plot them. If you are interested in linear algebra go ahead and look at the code used to produce these contours, otherwise feel free to ignore it."
|
||||
"As beautiful as this is, it is perhaps a bit hard to get useful information. For example, it is not easy to tell if $x$ and $y$ both have the same variance or not. So for most of the rest of this book we will display multidimensional Gaussian using contour plots. I will use some helper functions in $\\verb,gaussian.py,$ to plot them. If you are interested in linear algebra go ahead and look at the code used to produce these contours, otherwise feel free to ignore it."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -581,10 +581,10 @@
|
||||
"The first plot uses the mean and covariance matrices of\n",
|
||||
"$$\n",
|
||||
"\\begin{aligned}\n",
|
||||
"\\mu &= \\begin{bmatrix}2\\\\7\\end{bmatrix} \\\\\n",
|
||||
"\\sigma^2 &= \\begin{bmatrix}2&0\\\\0&2\\end{bmatrix}\n",
|
||||
"\\mathbf{\\mu} &= \\begin{bmatrix}2\\\\7\\end{bmatrix} \\\\\n",
|
||||
"\\mathbf{\\sigma}^2 &= \\begin{bmatrix}2&0\\\\0&2\\end{bmatrix}\n",
|
||||
"\\end{aligned}\n",
|
||||
"$$\n",
|
||||
"$$ \n",
|
||||
"\n",
|
||||
"Let this be our current belief about the position of our dog in a field. In other words, we believe that he is positioned at (2,7) with a variance of $\\sigma^2=2$ for both x and y. The contour plot shows where we believe the dog is located with the '+' in the center of the ellipse. The ellipse shows the boundary for the $1\\sigma^2$ probability - points where the dog is quite likely to be based on our current knowledge. Of course, the dog might be very far from this point, as Gaussians allow the mean to be any value. For example, the dog could be at (3234.76,189989.62), but that has vanishing low probability of being true. Generally speaking displaying the $1\\sigma^2$ to $2\\sigma^2$ contour captures the most likely values for the distribution. An equivelent way of thinking about this is the circle/ellipse shows us the amount of error in our belief. A tiny circle would indicate that we have a very small error, and a very large circle indicates a lot of error in our belief. We will use this throughout the rest of the book to display and evaluate the accuracy of our filters at any point in time. "
|
||||
]
|
||||
@@ -768,11 +768,11 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"So in general terms we can show how a multidimensional Kalman filter works. In the example above, we compute velocity from the previous position measurements using something called the **measurement function**. Then we predict the next position by using the current estimate and something called the **state transition function**. In our example above,\n",
|
||||
"So in general terms we can show how a multidimensional Kalman filter works. In the example above, we compute velocity from the previous position measurements using something called the *measurement function*. Then we predict the next position by using the current estimate and something called the *state transition function*. In our example above,\n",
|
||||
"\n",
|
||||
"$$new\\_position = old\\_position + velocity*time$$ \n",
|
||||
"\n",
|
||||
"Next, we take the measurement from the sensor, and compare it to the prediction we just made. In a world with perfect sensors and perfect airplanes the prediction will always match the measured value. In the real world they will always be at least slightly different. We call the difference between the two the **residual**. Finally, we use something called the **Kalman gain** to update our estimate to be somewhere between the measured position and the predicted position. I will not describe how the gain is set, but suppose we had perfect confidence in our measurement - no error is possible. Then, clearly, we would set the gain so that 100% of the position came from the measurement, and 0% from the prediction. At the other extreme, if he have no confidence at all in the sensor (maybe it reported a hardware fault), we would set the gain so that 100% of the position came from the prediction, and 0% from the measurement. In normal cases, we will take a ratio of the two: maybe 53% of the measurement, and 47% of the prediction. The gain is updated on every cycle based on the variance of the variables (in a way yet to be explained). It should be clear that if the variance of the measurement is low, and the variance of the prediction is high we will favor the measurement, and vice versa. \n",
|
||||
"Next, we take the measurement from the sensor, and compare it to the prediction we just made. In a world with perfect sensors and perfect airplanes the prediction will always match the measured value. In the real world they will always be at least slightly different. We call the difference between the two the *residual*. Finally, we use something called the *Kalman gain* to update our estimate to be somewhere between the measured position and the predicted position. I will not describe how the gain is set, but suppose we had perfect confidence in our measurement - no error is possible. Then, clearly, we would set the gain so that 100% of the position came from the measurement, and 0% from the prediction. At the other extreme, if he have no confidence at all in the sensor (maybe it reported a hardware fault), we would set the gain so that 100% of the position came from the prediction, and 0% from the measurement. In normal cases, we will take a ratio of the two: maybe 53% of the measurement, and 47% of the prediction. The gain is updated on every cycle based on the variance of the variables (in a way yet to be explained). It should be clear that if the variance of the measurement is low, and the variance of the prediction is high we will favor the measurement, and vice versa. \n",
|
||||
"\n",
|
||||
"The chart shows a prior estimate of $x=1$ and $\\dot{x}=1$ ($\\dot{x}$ is the shorthand for the derivative of x, which is velocity). Therefore we predict $\\hat{x}=2$. However, the new measurement $x^{'}=1.3$, giving a residual $r=0.7$. Finally, Kalman filter gain $k$ gives us a new estimate of $\\hat{x^{'}}=1.8$.\n",
|
||||
"\n",
|
||||
@@ -1144,30 +1144,30 @@
|
||||
"\n",
|
||||
"**1**: We just assign the initial value for our state. Here we just initialize both the position and velocity to zero. \n",
|
||||
"\n",
|
||||
"**2**: We set $\\small\\mathbf{F}=(\\begin{smallmatrix}1&1\\\\0&1\\end{smallmatrix})$, as in design step 2 above. \n",
|
||||
"**2**: We set $\\textbf{F}=(\\begin{smallmatrix}1&1\\\\0&1\\end{smallmatrix})$, as in design step 2 above. \n",
|
||||
"\n",
|
||||
"**3**: We set $H=(\\begin{smallmatrix}1&0\\end{smallmatrix})$, as in design step 3 above.\n",
|
||||
"**3**: We set $\\textbf{H}=(\\begin{smallmatrix}1&0\\end{smallmatrix})$, as in design step 3 above.\n",
|
||||
"\n",
|
||||
"**4**: We set $\\small\\mathbf{R} = 5$ and $\\small\\mathbf{Q}=0$ as in steps 5 and 6.\n",
|
||||
"**4**: We set $\\textbf{R} = 5$ and $\\mathbf{Q}=0$ as in steps 5 and 6.\n",
|
||||
"\n",
|
||||
"**5**: Recall in the last chapter we set our initial belief to $\\mathcal{N}(\\mu,\\sigma^2)=\\mathcal{N}(0,500)$ to signify our lack of knowledge about the initial conditions. We implemented this in Python with a list that contained both $\\mu$ and $\\sigma^2$ in the variable $pos$:\n",
|
||||
"\n",
|
||||
" pos = (0,500)\n",
|
||||
" \n",
|
||||
"Multidimensional Kalman filters stores the state variables in $\\mathbf{x}$ and their *covariance* in $\\small\\mathbf{P}$. These are $f.x$ and $f.P$ in the code above. Notionally, this is similar as the one dimension case, but instead of having a mean and variance we have a mean and covariance. For the multidimensional case, we have\n",
|
||||
"Multidimensional Kalman filters stores the state variables in $\\mathbf{x}$ and their *covariance* in $\\mathbf{P}$. These are $\\verb,f.x,$ and $\\verb,f.P,$ in the code above. Notionally, this is similar as the one dimension case, but instead of having a mean and variance we have a mean and covariance. For the multidimensional case, we have\n",
|
||||
"\n",
|
||||
"$$\\mathcal{N}(\\mu,\\sigma^2)=\\mathcal{N}(\\mathbf{x},\\mathbf{P})$$\n",
|
||||
"\n",
|
||||
"$\\small\\mathbf{P}$ is initialized to the identity matrix of size $n{\\times}n$, so multiplying by 500 assigns a variance of 500 to $x$ and $\\dot{x}$. So $f.P$ contains\n",
|
||||
"$\\mathbf{P}$ is initialized to the identity matrix of size $n{\\times}n$, so multiplying by 500 assigns a variance of 500 to $x$ and $\\dot{x}$. So $\\verb,f.P,$ contains\n",
|
||||
"\n",
|
||||
"$$\\begin{bmatrix} 500&0\\\\0&500\\end{bmatrix}$$\n",
|
||||
"\n",
|
||||
"This will become much clearer once we look at the covariance matrix in detail in later sessions. For now recognize that each diagonal element $e_{ii}$ is the variance for the $ith$ state variable. \n",
|
||||
"\n",
|
||||
"> Summary: For our dog tracking problem, in the 1-D case $\\mu$ was the position, and $\\sigma^2$ was the variance. In the 2-D case $\\small\\mathbf{x}$ is our position and velocity, and $\\small\\mathbf{P}$ is the *covariance* of the position and velocity. It is the same thing, just in higher dimensions!\n",
|
||||
"> Summary: For our dog tracking problem, in the 1-D case $\\mu$ was the position, and $\\sigma^2$ was the variance. In the 2-D case $\\mathbf{x}$ is our position and velocity, and $\\mathbf{P}$ is the *covariance* of the position and velocity. It is the same thing, just in higher dimensions!\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"All that is left is to run the code! The *DogSensor* class from the previous chapter has been placed in *DogSensor.py*."
|
||||
"All that is left is to run the code! The $\\tt DogSensor$ class from the previous chapter has been placed in $\\verb,DogSensor.py,$."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1217,9 +1217,9 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"This is the complete code for the filter, and most of it is just boilerplate. The first function *dog_tracking_filter()* is a helper function that creates a *KalmamFilter* object with specified $\\small\\mathbf{R}$, $\\small\\mathbf{Q}$ and $\\small\\mathbf{P}$ matrices. We've shown this code already, so I will not discuss it more here. \n",
|
||||
"This is the complete code for the filter, and most of it is just boilerplate. The first function $\\verb,dog_tracking_filter(),$ is a helper function that creates a $\\verb,KalmanFilter,$ object with specified $\\mathbf{R}$, $\\mathbf{Q}$ and $\\mathbf{P}$ matrices. We've shown this code already, so I will not discuss it more here. \n",
|
||||
"\n",
|
||||
"The function *filter_dog()* implements the filter itself. Lets work through it line by line. The first line creates the simulation of the DogSensor, as we have seen in the previous chapter.\n",
|
||||
"The function $\\verb,filter_dog(),$ implements the filter itself. Lets work through it line by line. The first line creates the simulation of the DogSensor, as we have seen in the previous chapter.\n",
|
||||
"\n",
|
||||
" dog = DogSensor(velocity=1, noise=noise)\n",
|
||||
"\n",
|
||||
@@ -1233,7 +1233,7 @@
|
||||
" zs = [None] * count\n",
|
||||
" cov = [None] * count\n",
|
||||
" \n",
|
||||
"Finally we get to the filter. All we need to do is perform the update and predict steps of the Kalman filter for each measurement. The *KalmanFilter* class provides the two functions *update()* and *predict()* for this purpose. *update()* performs the measurement update step of the Kalman filter, and so it takes a variable containing the sensor measurement. \n",
|
||||
"Finally we get to the filter. All we need to do is perform the update and predict steps of the Kalman filter for each measurement. The $\\verb,KalmanFilter,$ class provides the two functions $\\verb,update(),$ and $\\verb,predict(),$ for this purpose. $\\verb,update(),$ performs the measurement update step of the Kalman filter, and so it takes a variable containing the sensor measurement. \n",
|
||||
"\n",
|
||||
"Absent the bookkeeping work of storing the filter's data, the for loop reads:\n",
|
||||
"\n",
|
||||
@@ -1242,9 +1242,9 @@
|
||||
" dog_filter.update (z)\n",
|
||||
" dog_filter.predict()\n",
|
||||
" \n",
|
||||
"It really cannot get much simpler than that. As we tackle more complicated problems this code will remain largely the same; all of the work goes into setting up the $KalmanFilter$ variables; executing the filter is trivial.\n",
|
||||
"It really cannot get much simpler than that. As we tackle more complicated problems this code will remain largely the same; all of the work goes into setting up the $\\verb,KalmanFilter,$ variables; executing the filter is trivial.\n",
|
||||
"\n",
|
||||
"Now let's look at the result. Here is some code that calls *filter_track()* and then plots the result. It is fairly uninteresting code, so I will not walk through it."
|
||||
"Now let's look at the result. Here is some code that calls $\\verb,filter_track(),$ and then plots the result. It is fairly uninteresting code, so I will not walk through it."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1285,7 +1285,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Finally, call it. We will start by filtering 100 measurements with a noise factor of 30, $\\small\\mathbf{R}=5$ and $\\small\\mathbf{Q}=0$."
|
||||
"Finally, call it. We will start by filtering 100 measurements with a noise factor of 30, $\\mathbf{R}=5$ and $\\mathbf{Q}=0$."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1324,7 +1324,7 @@
|
||||
"\n",
|
||||
"The first plot plots the output of the Kalman filter against the measurements and the actual position of our dog (drawn in green). After the initial settling in period the filter should track the dog's position very closely.\n",
|
||||
"\n",
|
||||
"The next two plots show the variance of $x$ and of $\\dot{x}$. If you look at the code, you will see that I have plotted the diagonals of $\\small\\mathbf{P}$ over time. Recall that the diagonal of a covariance matrix contains the variance of each state variable. So $\\small\\mathbf{P}[0,0]$ is the variance of $x$, and $\\small\\mathbf{P}[1,1]$ is the variance of $\\dot{x}$. You can see that despite initializing $\\small\\mathbf{P}=(\\begin{smallmatrix}500&0\\\\0&500\\end{smallmatrix})$ we quickly converge to small variances for both the position and velocity. We will spend a lot of time on the covariance matrix later, so for now I will leave it at that.\n",
|
||||
"The next two plots show the variance of $x$ and of $\\dot{x}$. If you look at the code, you will see that I have plotted the diagonals of $\\mathbf{P}$ over time. Recall that the diagonal of a covariance matrix contains the variance of each state variable. So $\\mathbf{P}[0,0]$ is the variance of $x$, and $\\mathbf{P}[1,1]$ is the variance of $\\dot{x}$. You can see that despite initializing $\\mathbf{P}=(\\begin{smallmatrix}500&0\\\\0&500\\end{smallmatrix})$ we quickly converge to small variances for both the position and velocity. We will spend a lot of time on the covariance matrix later, so for now I will leave it at that.\n",
|
||||
"\n",
|
||||
"In the previous chapter we filtered very noisy signals with much simpler code than the code above. However, realize that right now we are working with a very simple example - an object moving through 1-D space and one sensor. That is about the limit of what we can compute with the code in the last chapter. In contrast, we can implement very complicated, multidimensional filter with this code merely by altering are assignments to the filter's variables. Perhaps we want to track 100 dimensions in financial models. Or we have an aircraft with a GPS, INS, TACAN, radar altimeter, baro altimeter, and airspeed indicator, and we want to integrate all those sensors into a model that predicts position, velocity, and accelerations in 3D (which requires 9 state variables). We can do that with the code in this chapter."
|
||||
]
|
||||
@@ -1341,9 +1341,9 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"The code in the $KalmanFilter$ is a nearly verbatim transcription of the linear algebra equations. I take advantage of numpy matrices to implement the linear algebra. It is worth looking at this code if for no other reason than to realize how easy it is to implement linear algebra with Python and numpy. For most of this book you will only really need to know how to call this class, not how to implement it from scratch.\n",
|
||||
"The code in the $\\verb,KalmanFilter,$ is a nearly verbatim transcription of the linear algebra equations. I take advantage of numpy matrices to implement the linear algebra. It is worth looking at this code if for no other reason than to realize how easy it is to implement linear algebra with Python and numpy. For most of this book you will only really need to know how to call this class, not how to implement it from scratch.\n",
|
||||
"\n",
|
||||
"> **sidebar**: numpy provides two data structures which can be used to perform linear algebra: *numpy.array* and *numpy.matrix*. The usual advice is to use *numpy.array*, not *numpy.matrix*. Ever the contrarian, I have chosen to use *numpy.matrix*, but for what I think are good pedalogical reasons. *numpy.array* is usually recommended because it can be sized to any arbitrary number of dimensions, and *numpy.matrix* is constrained to two dimensions. However, for Kalman filters we only need 2 dimensions. More importantly, *numpy.matrix* allows you to use very natural sytax. Multipying a by b is written *a*b* if using *numpy.matrix*, but *a.dot(b)* if they are *numpy.array*. It is also more natural to mix scalars and matrices using *numpy.matrix*. Finally, the resulting code is extremely close to the equivelent Matlab code; if you are more familiar with Matlab than Python this code should feel very familiar to you.\n",
|
||||
"> **sidebar**: numpy provides two data structures which can be used to perform linear algebra: $\\verb,numpy.array,$ and $\\verb,numpy.matrix,$. The usual advice is to use $\\verb,numpy.array,$, not $\\verb,numpy.matrix,$. Ever the contrarian, I have chosen to use $\\verb,numpy.matrix,$, but for what I think are good pedalogical reasons. $\\verb,numpy.array,$ is usually recommended because it can be sized to any arbitrary number of dimensions, and $\\verb,numpy.matrix,$ is constrained to two dimensions. However, for Kalman filters we only need 2 dimensions. More importantly, $\\verb,numpy.matrix,$ allows you to use very natural sytax. Multipying a by b is written $\\verb,a*b,$ if using $\\verb,numpy.matrix,$, but $\\verb,a.dot(b),$ if they are $\\verb,numpy.array,$. It is also more natural to mix scalars and matrices using $\\verb,numpy.matrix,$. Finally, the resulting code is extremely close to the equivalent Matlab code; if you are more familiar with Matlab than Python this code should feel very familiar to you.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"The constructor of the class creates variables for each of the Kalman filter variables, and assigns them a reasonable default value. This is the code in its entirety:\n",
|
||||
@@ -1361,7 +1361,7 @@
|
||||
" self.R = np.matrix(np.eye(1))\n",
|
||||
" self.I = np.matrix(np.eye(dim))\n",
|
||||
"\n",
|
||||
"The function *predict()* implements the Kalman filter prediction equations.\n",
|
||||
"The function $\\verb,predict(),$ implements the Kalman filter prediction equations.\n",
|
||||
"\n",
|
||||
" def predict(self):\n",
|
||||
" self.x = (self.F*self.x) + (self.B * self.u)\n",
|
||||
@@ -1376,7 +1376,7 @@
|
||||
"\\end{aligned}\n",
|
||||
"$$\n",
|
||||
"\n",
|
||||
"Finally, the *update()* function implements the Kalman filter update equations in an equally straightforward way:\n",
|
||||
"Finally, the $\\verb,update(),$ function implements the Kalman filter update equations in an equally straightforward way:\n",
|
||||
"\n",
|
||||
" def update(self, Z):\n",
|
||||
" \"\"\"\n",
|
||||
@@ -1390,7 +1390,7 @@
|
||||
" self.x = self.x + (K*y)\n",
|
||||
" self.P = (self.I - (K*self.H))*self.P\n",
|
||||
" \n",
|
||||
"Finally, for those reading this online or in a printed form, here is the code in KalmanFilter.py absent the unit testing code that is included in that file."
|
||||
"Finally, for those reading this online or in a printed form, here is the code in $\\verb,KalmanFilter.py,$ absent the unit testing code that is included in that file."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1458,9 +1458,9 @@
|
||||
"source": [
|
||||
"Your results will vary slightly depending on what numbers your random generator creates for the noise componenet of the noise, but the filter in the last section should track the actual position quite well. Typically as the filter starts up the first several predictions are quite bad, and varies a lot. But as the filter builds its state the estimates become much better. \n",
|
||||
"\n",
|
||||
"Let's start varying our parameters to see the effect of various changes. This is a *very normal* thing to be doing with Kalman filters. It is difficult, and often impossible to exactly model our sensors. An imperfect model means imperfect output from our filter. Engineers spend a lot of time tuning Kalman filters so that they perform well with real world sensors. We will spend time now to learn the effect of these changes. As you learn the effect of each change you will develop an intuition for how to design a Kalman filter. As I wrote earlier, designing a Kalman filter is as much art as science. The science is, roughly, designing the $\\small{\\mathbf{H}}$ and $\\small{\\mathbf{F}}$ matrices - they develop in an obvious manner based on the physics of the system we are modelling. The art comes in modelling the sensors and selecting appropriate values for the rest of our variables.\n",
|
||||
"Let's start varying our parameters to see the effect of various changes. This is a *very normal* thing to be doing with Kalman filters. It is difficult, and often impossible to exactly model our sensors. An imperfect model means imperfect output from our filter. Engineers spend a lot of time tuning Kalman filters so that they perform well with real world sensors. We will spend time now to learn the effect of these changes. As you learn the effect of each change you will develop an intuition for how to design a Kalman filter. As I wrote earlier, designing a Kalman filter is as much art as science. The science is, roughly, designing the ${\\mathbf{H}}$ and ${\\mathbf{F}}$ matrices - they develop in an obvious manner based on the physics of the system we are modelling. The art comes in modelling the sensors and selecting appropriate values for the rest of our variables.\n",
|
||||
"\n",
|
||||
"Let's look at the effects of the noise parameters $\\small{\\mathbf{R}}$ and $\\small{\\mathbf{Q}}$. I will only run the filter for twenty steps to ensure we can see see the difference between the measurements and filter output. I will start by holding $\\small{\\mathbf{R}}$ to 5 and vary $\\small{\\mathbf{Q}}$. "
|
||||
"Let's look at the effects of the noise parameters ${\\mathbf{R}}$ and ${\\mathbf{Q}}$. I will only run the filter for twenty steps to ensure we can see see the difference between the measurements and filter output. I will start by holding ${\\mathbf{R}}$ to 5 and vary ${\\mathbf{Q}}$. "
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1498,15 +1498,15 @@
|
||||
"source": [
|
||||
"The filter in the first plot should follow the noisy measurement almost exactly. In the second plot the filter should vary from the measurement quite a bit, and be much closer to a straight line than in the first graph. \n",
|
||||
"\n",
|
||||
"In the Kalman filter $\\small{\\mathbf{R}}$ is the *measurement noise* and $\\small{\\mathbf{Q}}$ is the *process uncertainty*. $\\small{\\mathbf{R}}$ is the same in both plots, so ignore it for the moment. Why does $\\small{\\mathbf{Q}}$ affect the plots this way?\n",
|
||||
"In the Kalman filter ${\\mathbf{R}}$ is the *measurement noise* and ${\\mathbf{Q}}$ is the *process uncertainty*. ${\\mathbf{R}}$ is the same in both plots, so ignore it for the moment. Why does ${\\mathbf{Q}}$ affect the plots this way?\n",
|
||||
"\n",
|
||||
"Let's remind ourselves of what the term *process uncertainty* means. Consider the problem of tracking a ball. We can accurately model its behavior in statid air with math, but if there is any wind our model will diverge from reality. \n",
|
||||
"\n",
|
||||
"In the first case we set $\\small{\\mathbf{Q}}=100$, which is quite large. In physical terms this is telling the filter \"I don't trust my motion prediction step\". Strictly speaking, we are telling the filter there is a lot of external noise that we are not modeling with $\\small{\\mathbf{F}}$, but the upshot of that is to not trust the motion prediction step. So the filter will be computing velocity ($\\dot{x}$), but then mostly ignoring it because we are telling the filter that the computation is extremely suspect. Therefore the filter has nothing to use but the measurements, and thus it follows the measurements closely. \n",
|
||||
"In the first case we set ${\\mathbf{Q}}=100$, which is quite large. In physical terms this is telling the filter \"I don't trust my motion prediction step\". Strictly speaking, we are telling the filter there is a lot of external noise that we are not modeling with $\\small{\\mathbf{F}}$, but the upshot of that is to not trust the motion prediction step. So the filter will be computing velocity ($\\dot{x}$), but then mostly ignoring it because we are telling the filter that the computation is extremely suspect. Therefore the filter has nothing to use but the measurements, and thus it follows the measurements closely. \n",
|
||||
"\n",
|
||||
"In the second case we set $\\small{\\mathbf{Q}}=0.1$, which is quite small. In physical terms we are telling the filter \"trust the motion computation, it is really good!\". Again, more strictly this actually says there is very small amounts of process noise, so the motion computation will be accurate. So the filter ends up ignoring some of the measurement as it jumps up and down, because the variation in the measurement does not match our trustworthy velocity prediction. \n",
|
||||
"In the second case we set ${\\mathbf{Q}}=0.1$, which is quite small. In physical terms we are telling the filter \"trust the motion computation, it is really good!\". Again, more strictly this actually says there is very small amounts of process noise, so the motion computation will be accurate. So the filter ends up ignoring some of the measurement as it jumps up and down, because the variation in the measurement does not match our trustworthy velocity prediction. \n",
|
||||
"\n",
|
||||
"Now let's leave $\\small{\\mathbf{Q}}=0.1$, but bump $\\small{\\mathbf{R}}$ up to $1000$. This is telling the filter that the measurement noise is very large. "
|
||||
"Now let's leave ${\\mathbf{Q}}=0.1$, but bump ${\\mathbf{R}}$ up to $1000$. This is telling the filter that the measurement noise is very large. "
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1537,7 +1537,7 @@
|
||||
"\n",
|
||||
"The filter is strongly preferring the motion update to the measurement, so if the prediction is off it takes a lot of measurements to correct it. It will eventually correct because the velocity is a hidden variable - it is computed from the measurements, but it will take awhile.\n",
|
||||
"\n",
|
||||
"To some extent you can get similar looking output by varying either $\\small{\\mathbf{R}}$ or $\\small{\\mathbf{Q}}$, but I urge you to not 'magically' alter these until you get output that you like. Always think about the physical implications of these assignments, and vary $\\small{\\mathbf{R}}$ and/or $\\small{\\mathbf{Q}}$ based on your knowledge of the system you are filtering."
|
||||
"To some extent you can get similar looking output by varying either ${\\mathbf{R}}$ or ${\\mathbf{Q}}$, but I urge you to not 'magically' alter these until you get output that you like. Always think about the physical implications of these assignments, and vary ${\\mathbf{R}}$ and/or ${\\mathbf{Q}}$ based on your knowledge of the system you are filtering."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1552,7 +1552,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"So far I have not given a lot of coverage of the covariance matrix. $\\small\\mathbf{P}$, the covariance matrix is nothing more than the variance of our state - such as the position of our dog. It has many elements in it, but don't be daunted; we will learn how to interpret a very large $9{\\times}9$ covariance matrix, or even larger.\n",
|
||||
"So far I have not given a lot of coverage of the covariance matrix. $\\mathbf{P}$, the covariance matrix is nothing more than the variance of our state - such as the position of our dog. It has many elements in it, but don't be daunted; we will learn how to interpret a very large $9{\\times}9$ covariance matrix, or even larger.\n",
|
||||
"\n",
|
||||
"Recall the beginning of the chapter, where we provided the equation for the covariance matrix. It read:\n",
|
||||
"\n",
|
||||
@@ -1565,7 +1565,7 @@
|
||||
" \\end{pmatrix}\n",
|
||||
"$$\n",
|
||||
"\n",
|
||||
"(I have subtituted $\\small\\mathbf{P}$ for $\\Sigma$ because of the nomenclature used by the Kalman filter literature).\n",
|
||||
"(I have subtituted $\\mathbf{P}$ for $\\Sigma$ because of the nomenclature used by the Kalman filter literature).\n",
|
||||
"\n",
|
||||
"The diagonal contains the variance of each of our state variables. So, if our state variables are\n",
|
||||
"\n",
|
||||
@@ -1731,13 +1731,13 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"The output on these is a bit messy, but you should be able to see what is happening. In both plots we are drawing the covariance matrix for each point. We start with the covariance $\\small\\mathbf{P}=(\\begin{smallmatrix}50&0\\\\0&50\\end{smallmatrix})$, which signifies a lot of uncertainty about our initial belief. After we receive the first measurement the Kalman filter updates this belief, and so the variance is no longer as large. In the top plot the first ellipse (the one on the far left) should be a slighly squashed ellipse. As the filter continues processing the measurements the covariance ellipse quickly shifts shape until it settles down to being a long, narrow ellipse tilted in the direction of movement.\n",
|
||||
"The output on these is a bit messy, but you should be able to see what is happening. In both plots we are drawing the covariance matrix for each point. We start with the covariance $\\mathbf{P}=(\\begin{smallmatrix}50&0\\\\0&50\\end{smallmatrix})$, which signifies a lot of uncertainty about our initial belief. After we receive the first measurement the Kalman filter updates this belief, and so the variance is no longer as large. In the top plot the first ellipse (the one on the far left) should be a slighly squashed ellipse. As the filter continues processing the measurements the covariance ellipse quickly shifts shape until it settles down to being a long, narrow ellipse tilted in the direction of movement.\n",
|
||||
"\n",
|
||||
"Think about what this means physically. The x-axis of the ellipse denotes our uncertainty in position, and the y-axis our uncertainty in velocity. So, an ellipse that is taller than it is wide signifies that we are more uncertain about the velocity than the position. Conversely, a wide, narrow ellipse shows high uncertainty in position and low uncertainty in velocity. Finally, the amount of tilt shows the amount of correlation between the two variables. \n",
|
||||
"\n",
|
||||
"The first plot, with $\\small\\mathbf{R}=5$, finishes up with an ellipse that is wider than it is tall. If that is not clear I have printed out the variances for the last ellipse in the lower right hand corner. The variance for position is 3.85, and the variance for velocity is 3.0. \n",
|
||||
"The first plot, with $\\mathbf{R}=5$, finishes up with an ellipse that is wider than it is tall. If that is not clear I have printed out the variances for the last ellipse in the lower right hand corner. The variance for position is 3.85, and the variance for velocity is 3.0. \n",
|
||||
"\n",
|
||||
"In contrast, the second plot, with $\\small\\mathbf{R}=0.5$, has a final ellipse that is taller than wide. The ellipses in the second plot are all much smaller than the ellipses in the first plot. This stands to reason because a small $\\small\\mathbf{R}$ implies a small amount of noise in our measurements. Small noise means accurate predictions, and thus a strong belief in our position. "
|
||||
"In contrast, the second plot, with $\\mathbf{R}=0.5$, has a final ellipse that is taller than wide. The ellipses in the second plot are all much smaller than the ellipses in the first plot. This stands to reason because a small $\\small\\mathbf{R}$ implies a small amount of noise in our measurements. Small noise means accurate predictions, and thus a strong belief in our position. "
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1752,7 +1752,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Why are the ellipses for $R=5$ shorter, and more tilted than the ellipses for $\\small\\mathbf{R}=0.5$. Hint: think about this in the context of what these ellipses mean physically, not in terms of the math. If you aren't sure about the answer,change $\\small\\mathbf{R}$ to truly large and small numbers such as 100 and 0.1, observe the changes, and think about what this means. "
|
||||
"Why are the ellipses for $\\mathbf{R}=5$ shorter, and more tilted than the ellipses for $\\mathbf{R}=0.5$. Hint: think about this in the context of what these ellipses mean physically, not in terms of the math. If you aren't sure about the answer,change $\\mathbf{R}$ to truly large and small numbers such as 100 and 0.1, observe the changes, and think about what this means. "
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1767,11 +1767,11 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"The $x$ axis is for position, and $y$ is velocity. An ellipse that is vertical, or nearly so, says there is no correlation between position and velocity, and an ellipse that is diagnal says that there is a lot of correlation. Phrased that way, it sounds unlikely - either they are correlated or not. But this is a measure of the *output of the filter*, not a description of the actual, physical world. When $\\small\\mathbf{R}$ is very large we are telling the filter that there is a lot of noise in the measurements. In that case the Kalman gain $\\small\\mathbf{K}$ is set to favor the prediction over the measurement, and the prediction comes from the velocity state variable. So, there is a large correlation between $x$ and $\\dot{x}$. Conversely, if $\\small\\mathbf{R}$ is small, we are telling the filter that the measurement is very trustworthy, and $\\small\\mathbf{K}$ is set to favor the measurement over the prediction. Why would the filter want to use the prediction if the measurement is nearly perfect? If the filter is not using much from the prediction there will be very little correlation reported. \n",
|
||||
"The $x$ axis is for position, and $y$ is velocity. An ellipse that is vertical, or nearly so, says there is no correlation between position and velocity, and an ellipse that is diagnal says that there is a lot of correlation. Phrased that way, it sounds unlikely - either they are correlated or not. But this is a measure of the *output of the filter*, not a description of the actual, physical world. When $\\mathbf{R}$ is very large we are telling the filter that there is a lot of noise in the measurements. In that case the Kalman gain $\\mathbf{K}$ is set to favor the prediction over the measurement, and the prediction comes from the velocity state variable. So, there is a large correlation between $x$ and $\\dot{x}$. Conversely, if $\\mathbf{R}$ is small, we are telling the filter that the measurement is very trustworthy, and $\\mathbf{K}$ is set to favor the measurement over the prediction. Why would the filter want to use the prediction if the measurement is nearly perfect? If the filter is not using much from the prediction there will be very little correlation reported. \n",
|
||||
"\n",
|
||||
"**This is a critical point to understand!**. The Kalman filter is just a mathematical model for a real world system. A report of little correlation *does not mean* there is no correlation in the physical system, just that there was no correlation in the mathematical model. It's just a report of how much measurement vs prediction was incorporated into the model. \n",
|
||||
"\n",
|
||||
"Let's bring that point home with a truly large measurement error. We will set $\\small\\mathbf{R}=500$. Think about what the plot will look like before scrolling down. To emphasize the issue, I will set the amount of noise injected into the measurements to 0, so the measurement will exactly equal the actual position. "
|
||||
"Let's bring that point home with a truly large measurement error. We will set $\\mathbf{R}=500$. Think about what the plot will look like before scrolling down. To emphasize the issue, I will set the amount of noise injected into the measurements to 0, so the measurement will exactly equal the actual position. "
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1805,7 +1805,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Keep looking at these plots until you grasp how to interpret the covariance matrix $\\small\\mathbf{P}$. When you start dealing with a, say, $9{\\times}9$ matrix it may seem overwhelming - there are 81 numbers to interpret. Just break it down - the diagonal contains the variance for each state variable, and all off diagonal elements are the product of two variances and a scaling factor $p$. You will not be able to plot a $9{\\times}9$ matrix on the screen because it would require living in 10-D space, so you have to develop your intution and understanding in this simple, 2-D case. \n",
|
||||
"Keep looking at these plots until you grasp how to interpret the covariance matrix $\\mathbf{P}$. When you start dealing with a, say, $9{\\times}9$ matrix it may seem overwhelming - there are 81 numbers to interpret. Just break it down - the diagonal contains the variance for each state variable, and all off diagonal elements are the product of two variances and a scaling factor $p$. You will not be able to plot a $9{\\times}9$ matrix on the screen because it would require living in 10-D space, so you have to develop your intution and understanding in this simple, 2-D case. \n",
|
||||
"\n",
|
||||
"> **sidebar**: when plotting covariance ellipses, make sure to always use *plt.axis('equal')* in your code. If the axis use different scales the ellipses will be drawn distorted. For example, the ellipse may be drawn as being taller than it is wide, but it may actually be wider than tall."
|
||||
]
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"metadata": {
|
||||
"name": "",
|
||||
"signature": "sha256:388572360fc3834b2b47f1ac29bc861fe9c4c097c10c029badd3c3aab4674e6c"
|
||||
"signature": "sha256:1512602ec041fd03daea2ab69da5d9ef557e2b0b23bc7eeabfed009bbf2d9fd0"
|
||||
},
|
||||
"nbformat": 3,
|
||||
"nbformat_minor": 0,
|
||||
@@ -242,13 +242,13 @@
|
||||
],
|
||||
"metadata": {},
|
||||
"output_type": "pyout",
|
||||
"prompt_number": 2,
|
||||
"prompt_number": 1,
|
||||
"text": [
|
||||
"<IPython.core.display.HTML at 0x14b4190>"
|
||||
"<IPython.core.display.HTML at 0xece990>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 2
|
||||
"prompt_number": 1
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -281,13 +281,13 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAW4AAAENCAYAAAAvwo97AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl8U1X6P/BP0qR7m+4b3SktCC1ICwiUfVEHnPky4wsQ\nnVrRkR/i8AUEFZFRVBRnBHFBZhBRgXFcBlGWr6IgAmUpOxSkK13oku7pnmY7vz+wsaVblpvce9vn\n/Xr1pTe5efLk5uRw8+SccyWMMQZCCCGiIeU7AUIIIeahjpsQQkSGOm5CCBEZ6rgJIURkqOMmhBCR\noY6bEEJEhjpuQvohvV6Pxx9/HH5+fpBKpVi4cCFvufz8888YNmwYHB0dIZVKUVRUxFsuvXn55ZcR\nFRXFdxrUcfMhMjIS69ats/nzSKVS7Ny50+bPQ4CCggJIpVIcP36c71RMsmfPHuzevRv79u2DUqnE\nO++8w1suTz31FEaMGIH8/HwolUqEhobykocpn5dVq1bh/PnzdsqoezK+E+iPJBKJzZ+jbV4Vza+y\nL7Ec7+zsbAQHB2PcuHG85sEYQ05ODp599lkMGDCA1zza/7c7bm5ucHNzs0dKPWPEZK+99hoLDQ1l\nTk5OLD4+nh04cKDD/RKJhB07dsy4/fHHHzOJRGLcjoiIYBKJpNPfunXrjPtMmjSJzZ07l82bN4+5\nuLiwqKgo9sUXXxjvz8/PZxKJhBUWFhpve+mll1hkZGSHPLr6+/TTTzk9HuS396Orv/ZtgbHb7//a\ntWvZ888/z/z9/Zmrqyv7y1/+whhjLDMzk/3+979nQUFBzMnJiQ0ePJh9+OGHHR4/adIktmrVKvbw\nww8zd3d3FhUVxb755psO+2RkZLCpU6cyT09PplAo2Pjx49nly5eN97/00ktd5vrYY48Z92ltbWWr\nVq1iAwYMYG5ubmzs2LHs1KlTXb7uPXv2sDlz5jB3d3fm4+PDPvroI5OPXXfHra1tf/zxxx3addsx\nSE1NNeuYMMbYhx9+yIYOHcqcnJxYWFgYW7lyZa95tP+8vPHGG8bb78ypTVpaGhs9ejRzdnZmgYGB\n7JlnnmFardZ4/6OPPsr+/Oc/s6VLlzIvLy8WEhLCtm7davLxao86bhPt2LGDubi4sN27d7OcnBz2\n3HPPMUdHR5aXl2fcp7eOu6qqiimVShYWFsZWrVrFysvLWXl5OWtsbDTuM2nSJCaTydi6detYdnY2\ne/XVV5lMJmPZ2dmMse477qioKON2eXk5UyqVTCKRsHfffdf4PC0tLTY5Nv2ZXq9n5eXl7Ny5c0wi\nkbC9e/caj7dGo+mwb2RkJAsPD2eLFy9mGRkZ7OrVq8aO7sSJE2z9+vXs3LlzrKCggH344YdMKpWy\nQ4cOGR8/adIk5uXlxXbt2sVyc3PZ/Pnzma+vb4f3NSEhgc2aNYvduHGDZWdns507d7Jz584Z729s\nbGTl5eVs5cqVLCwszJhrXV2dcZ+HHnqIJSQksGPHjrGbN2+yV199lbm5ubHi4mLjPm3tcNCgQezd\nd99lOTk57Pjx451OZnrSXTvV6/WMsa477smTJ3f4R8aUY/Lee+8xJycn9vbbb7OcnBx26tQptmzZ\nsl7zaB+jqanJeNzaf9ba1NTUMIVCwRYuXMgyMzPZ/v37ma+vL3vllVeM+zz66KPMzc2Nbdq0ieXl\n5bHly5czuVzOSkpKTD5mbajjNlFSUhJ78sknO9wWExPDnn32WeN2bx13m8jIyA5n2e1NmjSJDRky\npMNtgwcPZqtWrWKMmXbG3T4fOsu2j7b35c6z7PYiIiJYYmKiyTETExPZ0qVLjduTJk1i8+bNM25f\nuHCBSSQSdu3aNeNtHh4ebMOGDb3G7q7NZGdnM4lE0qGzZ+x2G3zzzTeN222v95lnnjH59XSnu3Zq\nasfd2zEJDg5mK1assDiP9ro7bu+//z5TKBRMrVYbb3vllVdYQECAcfvRRx9lY8aMMW5XV1cziURi\n1j92bejHSRPl5uZi+PDhHW4bPnw4cnJyOH+uYcOGddrOzc3l/HmIfUkkEkyYMKHL+5qbm7F69WoM\nGzYMPj4+8PDwwOXLl9HU1NTh8bGxscZtHx8fAEBNTY3xtqeffhovvvgipk+fjjVr1iA9Pd2sHC9d\nugQAmDJlCjw8PIx/ubm5uHnzZqf9u3s99tLbMamoqIBSqcSkSZNsmkdOTg5iY2Ph5ORkvG3EiBGo\nrKxEQ0OD8bbe3j9T0Y+TVmCM9fhDo8Fg4Ox52nT1fFw9D7E9b2/vLm9ftWoVjhw5grfeeguxsbFw\ncHDAgw8+2Om9lck6f2Tbt4/XX38dCxcuxE8//YQDBw7gjTfewI4dO5CammpWnidPnoS7u3uH2zw9\nPU1+PVzoqq3r9fpOt/V2TOylt+eUSCRwcHAw+3FdoTNuE8XExODy5cvGbcYYrly5gpiYGONtXl5e\nqK+vN24XFhZ2GcvR0RFarbbb58rIyOiwfe3aNePzeHl5AUCHf8ULCwu7bORyuRw6na6nl0U44ujo\nCAAWH+8TJ07gr3/9K2bPno3Y2FgEBwejoKDAolgxMTF48sknsW/fPtx///34+uuvTX7siBEjAACl\npaWIjo7u8Ofn52dRPpby8vLq0M4BmD3GOyAgAMHBwfj555973deaz8ugQYOQk5MDtVptvO3SpUvw\n9/eHh4eHRTF7Qh23iRYvXozdu3dj9+7dyM7OxvPPP49bt25h0aJFxn1GjRqFzz77DIwxFBYW4tNP\nP+0yVmxsLH788UeUlJRArVZ3OovIzc3Fq6++iuzsbLz22mvIy8vDE088AQBQKBQYNGgQdu3aBQC4\ncuUKvv32226fZ9++faiqqoJaraYzcxsKCgqCh4cH/vvf/0KlUkGtVnc6k+rpzCouLg5ffPEFrl+/\njqtXr+LPf/5zp3bBbv8m1W0MrVaLxYsX4+eff0ZBQQEOHz6MCxcu4O677zb5dcTGxmLu3LlYtGgR\n9u7di5s3b+LEiRNYvnw5Tpw4YXIcLtx9992oq6vD999/DwDYsWMHSkpKOuzT2zEBgBdeeAFbt27F\nO++8g5ycHJw7dw7Lli3rtF9PnxelUgmlUonGxkbo9XqUl5dDqVQaO+oFCxYAuD0mPTMzE/v378e7\n776LJUuWdMiVK9Rxm2jhwoVYvXo1Vq9ejfj4eHz33Xf473//i+joaOM+mzZtwo0bN+Dv74/U1FSk\npKR0eSb8+uuvQyqVIi4uDq6urli/fr3xPolEgjlz5uDKlSsYMWIEduzYgV27dnWojW3btg179+5F\nQEAA1q5di0ceeaTLnN977z0UFBQgLCwMrq6u2L17N4dHhLQnlUqxfft2HDlyBIGBgXB1de3U0fVU\nVnv77bfh5uaGe+65B7NmzcL48eMxZsyYTo+/M0b7balUioaGBqSmpmLw4MF47LHHsGDBArz44oud\nnq+rWG127tyJhx9+GMuXL8eQIUPw0EMPoby8HOHh4Sa/Hi6Eh4fjrbfeQmpqKsLCwnDt2rVO4857\nOyYAsGTJErz//vvYvn074uPj8Yc//KHLkkVPn5eQkBCEhIRg06ZNKCkpQXBwMEJCQvDll18CuF0y\n2r9/P65fv44RI0bgiSeeQEpKCl544YUec7WUhFnxz0BDQwPi4uLwzDPP4JlnnuEkof5uypQpiIqK\nwo4dO/hOpV+jtk2EzKoz7vXr1yMpKckuMwH7C1O++hHbo7ZNhMzijjsrKwuVlZVITEykjoZDXH6d\nIpahtk2EzuKOe/Xq1Xj55Zc5TIUAwNGjR6lMwjNq20ToLOq49+/fj9jYWISFhdEZCelTqG0TMbBo\nAs7Zs2exZ88efPvtt6iqqoJUKkVISAgeeugh4z67du1CSEgIZ4kS0p5arcasWbM4j0ttm/DNlLZt\n1agSAFi3bh08PDywYsWKDrcfOXIEI0eOBAAYGMNnl5RwdJBi7vBAa54OW7Zs6TA2kiu2iCumXMUW\n9+LFi5g2bRqnMe9kStu2lrnH5tMLZShWqbFmWufF/Lk8zhSLv1imtG27jOOWSiR4ZGQwlI0aGKz8\n+nnnWFKu2CKumHIVY9y+wNxjM294IDIrm3G5tKHTfVweZ4rFXyxTWL1WyUsvvWTSfvVqHbIqm8AY\nABo0QUTA1LZtT84yKRaNGYAtp4uxdc5gyKT0YeqP7DZz0tNZhjCFM4pU6t537kFraytHGdk+rphy\nFWPcvsCSYzM+UgE/Vzm+uV5pdazuUCz+YpnCrlPel08Ixweni1HZpLE4RlBQEIcZ2TaumHIVY9y+\nwJJjI5FIsGRcKD6/rOzwWeLyOFMs/mKZwuIfJ6urq3HfffdBq9WCMYY1a9Zg7ty5xvu7+wFn0/Hb\nq3utmEh1T2I5W/042Vu7Brj9cdIan14owy2VGi928UMlES9T2rbFNW6FQoFjx47B1dUV1dXVGDJk\nCB588EFIpT2fxA8OcEVuVUuva1kTwgdL2zUf5g8PxKKvb+DsrTqMDlPwnQ6xI4tbo0wmg6urKwCg\ntra2w5UfevK7wX4I8XTEphNFFk1wSEtLM/sxfMUVU65ijGsLlrZrS1lzbJxkUvx1XBjeO1mMFq2e\n0+NMsfiLZQqrTiMaGxsRHx+PhIQEvPfeeyaflTyYEAhHBynSb9X3vjMhdmZpu+ZDYqgnEoLd8fH5\nMr5TIXZk9QQcAMjMzMTs2bNx5coVuLm5ATCtDrjpeBHiAlwxa7B9r6xBxM8eE3C6ateAcGrcberV\nOjz59Q2snRaFoYHuvT+ACJpNa9ztDR48GBEREbhx4waSkpKMtz/11FPGgekKhQLx8fFITk4GcPur\nxWgpcKo8DPfG+uLMqZMA0OF+2qbttu2tW7ciIyPD2J5mzpwJW+uuXQO9t+2eXgvX21fPn8Line truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x2524fd0>"
|
||||
"<matplotlib.figure.Figure at 0x1f3af90>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 3
|
||||
"prompt_number": 2
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -297,7 +297,7 @@
|
||||
"\n",
|
||||
"It has perhaps occured to you that this sampling process constitutes a solution to our problem. This is called a 'monte carlo' approach, and it used by some Kalman filter designs, such as the *Ensemble filter*. Sampling requires no specialized knowledge programming, and does not require a closed form solution. No matter how nonlinear or poorly behaved the tranfer function is, as long as we sample with enough points we will build an accurate output distribution.\n",
|
||||
"\n",
|
||||
"\"Enought points\" is the rub. The graph above was created with 500,000 points, and the output is still not smooth. You wouldn't need to use that many points to get a reasonable estimate of the mean and variance, but it will require many points. What's worse, this is only for 1 dimension. In general, the number of points required increases by the power of the number of dimensions. If you need 50 points for 1 dimension, you need 50^2 for two dimensions, 50^3 for three dimensions, and so on. So while this approach does work, it is very computationally expensive. The Unscented Kalman filter, the topic of this chapter, uses a somewhat similar technique but reduces the amount of computation needed by a drastic amount. \n",
|
||||
"\"Enought points\" is the rub. The graph above was created with 500,000 points, and the output is still not smooth. You wouldn't need to use that many points to get a reasonable estimate of the mean and variance, but it will require many points. What's worse, this is only for 1 dimension. In general, the number of points required increases by the power of the number of dimensions. If you need $50$ points for 1 dimension, you need $50^2$ for two dimensions, $50^3$ for three dimensions, and so on. So while this approach does work, it is very computationally expensive. The Unscented Kalman filter, the topic of this chapter, uses a somewhat similar technique but reduces the amount of computation needed by a drastic amount. \n",
|
||||
"\n",
|
||||
"It is somewhat hard to understand some aspects of this problem by looking at the histogram, so consider this alternative representation, this time for 2 variables/dimensions."
|
||||
]
|
||||
@@ -315,13 +315,13 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAqwAAAFdCAYAAADG5D8RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xdc1PfhP/DX7QHHsfcQEQe4UYyiuEVAjTZpVlNrmrRJ\nfxnNbNMmaUab0aZpkrbfjoy2SfNr+s1q01TRiFGc4EBQhogKsjfHATe49fsD5ScxEEXuPjdez8eD\nhxHed/ci6vG6970/77fI4XA4QERERETkpsRCByAiIiIiGg0LKxERERG5NRZWIiIiInJrLKxERERE\n5NZYWImIiIjIrbGwEhEREZFbk472xcLCQvT397sqCxERERH5qMDAQKSlpX3l10YtrP39/Zg7d65T\nQhERERERXVRcXDzi17gkgIiIiIjcGgsrEREREbk1FlYiIiIicmssrERERETk1lhYiYiIiMitsbAS\nERERkVtjYSUiIiIit8bCSkRERERujYWViIiIiNwaCysRERERuTUWViIiIiJyayysREREROTWWFiJ\niIiIyK2xsBIRERGRW2NhJSIiIiK3xsJKRERERG6NhZWIiIiI3BoLKxERERG5NRZWIiIiInJrLKxE\nRERE5NZYWImIiIjIrbGwEhEREZFbY2ElIiIiIrfGwkpEREREbo2FlYiIiIjcGgsrEREREbk1FlYi\nIiIicmssrERERETk1lhYiYiIiMitsbASERERkVtjYSUiIiIit8bCSkRERERujYWViIiIiNwaCysR\nERERuTUWViIiIiJyayysREREROTWWFiJiIiIyK2xsBIRERGRW2NhJSIiIiK3xsJKRERERG6NhZWI\niIiI3BoLKxERERG5NRZWIiIiInJrLKxERERE5NZYWImIiIjIrbGwEhEREZFbY2ElIiIiIrfGwkpE\nREREbk0qdAAiIiJyLbvdDrPZDLPZDKvVCrFYDIlEctmHWCyGSCQSOi4RCysREZE3MhgM0Ol00Ov1\n6Dea0Wc0wmA0o99ohGnACrFUBpFUBolECofDAYfdBofDDtjtcNjtg7+326FWKRAWpEV4cCC0Wi0C\nAgKgVquF/vbIx7CwEhEReTibzQa9Xg+dToeW9i40d3TCZLFDotJAqvKDTK6AXKWBXCuHn0IBmUx+\nxfdtNpnQ29+LtrZe2M63w2rqh1RkR1igFpFhwYiJjkZAQIATvzsiFlYiIiKPpNfr0djUhIbWDnTo\n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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x14b8410>"
|
||||
"<matplotlib.figure.Figure at 0x1fbd4d0>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 4
|
||||
"prompt_number": 3
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -348,7 +348,7 @@
|
||||
"\n",
|
||||
"The fewest number of points that we can use is one per dimension. This is the number that the linear Kalman filter uses. The input to a Kalman filter for the distribution $\\mathcal{N}(\\mu,\\sigma^2)$ is just $\\mu$ itself. So while this works for the linear case, it is not a good answer for the nonlinear case.\n",
|
||||
"\n",
|
||||
"If we were to pass some value $\\mu+\\Delta$ instead, the *identity* system would not converge, so this is not a possible algorithm. Since we cannot set our one point sample to $\\mu$, or any value that is not $\\mu$, we must conclude that a one point sample will not work.\n",
|
||||
"If we were to pass some value $\\mu+\\Delta$ instead, the identity system would not converge, so this is not a possible algorithm. Since we cannot set our one point sample to $\\mu$, or any value that is not $\\mu$, we must conclude that a one point sample will not work.\n",
|
||||
"\n",
|
||||
"So, what is the next lowest number we can choose? Consider the fact that Gaussians are symmetric, and that we probably want to always have one of our sample points be the mean of the input. Two points would require us to select the mean, and then one other point. That one other point would introduce an asymmetry in our input that we probably don't want. I recognize that this is rather vague, but I don't want to spend a lot of time on a scheme that doesn't work. \n",
|
||||
"\n",
|
||||
@@ -367,19 +367,19 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x2781810>"
|
||||
"<matplotlib.figure.Figure at 0x24d7a10>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 5
|
||||
"prompt_number": 4
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"For this to work for all *identity* cases we will want the sums of the weights to equal one. We can always come up with counterexamples, but in general if the sum is greater or less than one the sampling will not yield the correct output. Given that, we then have to select *sigma points* $\\mathcal{X}$ and their corresponding weights so that they compute to the mean and variance of the input Gaussian. So we can write\n",
|
||||
"For this to work for identity we will want the sums of the weights to equal one. We can always come up with counterexamples, but in general if the sum is greater or less than one the sampling will not yield the correct output. Given that, we then have to select *sigma points* $\\mathcal{X}$ and their corresponding weights so that they compute to the mean and variance of the input Gaussian. So we can write\n",
|
||||
"\n",
|
||||
"$$\\begin{aligned}\n",
|
||||
"1 &= \\sum_i{w_i}\\;\\;\\;&(1) \\\\\n",
|
||||
@@ -407,13 +407,13 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAqwAAAFdCAYAAADG5D8RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XdzXOeBJvqnc0CjM9DIGSBBEsyZokRKonKiLUs2pVvW\neGZqZ6e2dm/4AvMJ9t6qe6t29t4dT413LFuWLZOyLImkEoOYwACSICGAyDl0BtC5+9w/GESRINWI\n7+k+z+8/Ny3xIYXT5znveYNKkiQJREREREQypRYdgIiIiIjocVhYiYiIiEjWWFiJiIiISNZYWImI\niIhI1lhYiYiIiEjWWFiJiIiISNa0j/vFc+fOYXZ2dqWyEBEREZFC2e12bNmyZc5fe2xhnZ2dxebN\nm5clFBERERHRXZcvX37kr3FKABERERHJGgsrEREREckaCysRERERyRoLKxERERHJGgsrEREREcka\nCysRERERyRoLKxERERHJGgsrEREREckaCysRERERyRoLKxERERHJGgsrEREREckaCysRERERyRoL\nKxERERHJGgsrEREREckaCysRERERyRoLKxERERHJGgsrEREREckaCysRERERyRoLKxERERHJGgsr\nEREREckaCysRERERyRoLKxERERHJGgsrEREREckaCysRERERyRoLKxERERHJGgsrEREREckaCysR\nERERyRoLKxERERHJGgsrEREREckaCysRERERyRoLKxERERHJGgsrEREREckaCysRERERyRoLKxER\nERHJGgsrEREREckaCysRERERyRoLKxERERHJGgsrEREREckaCysRERERyRoLKxERERHJGgsrERER\nEckaCysRERERyRoLKxERERHJGgsrEREREckaCysRERERyRoLKxERERHJGgsrEREREckaCysRERER\nyRoLKxERERHJGgsrEREREckaCysRERERyRoLKxERERHJGgsrEREREckaCysRERERyRoLKxERERHJ\nGgsrEREREckaCysRERERyRoLKxERERHJGgsrEREREckaCysRERERyRoLKxERERHJGgsrEREREcka\nCysRERERyRoLKxERERHJmlZ0AJKnTCaD6elp+P1++P1+JBIJpNNpJJJJAIBWo4FWq4VWq4XdbofT\n6YTdbodWyx8pUoZMJoNQKASfz4dAIIBkMolUKoVUOg3g+2tEp9PB4XDA5XLBZrNBreY4ASlDKpVC\n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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x25bcb90>"
|
||||
"<matplotlib.figure.Figure at 0x22fdad0>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 6
|
||||
"prompt_number": 5
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -497,13 +497,13 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAECCAYAAAASDQdFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtcVHX++PHXcBWQiyDIqCB4AS+hIZIp1C7hZbvZZt/Y\nVsutfluWbWWbu6Wbte1uLblrq+7Wru36dbMNS9OtpDbT2ky8UHhB8goqIpdBBOQiDAMz8/uDr0wk\nyMwIc87MvJ+PR49H58yZcz7z9sObw3s+5/PRmM1mM0IIIdyCh9INEEII4TiS9IUQwo1I0hdCCDci\nSV8IIdyIJH0hhHAjkvSFEMKN2J30N2zYQFxcHPHx8WRnZ3d7XHV1NcnJyVx77bVMmDCBDRs22HwO\nIYQQvUNjzzh9g8HA6NGjyc3NRa/Xk5aWRlFRUZfHtrW1YTAY8Pf3p7q6mjFjxqDT6Whra7P6HEII\nIXqHXXf6ubm5jBs3jvDwcKKiooiKiiI/P7/LY728vPD39wegtrYWX19fm88hhBCid3jZ86bKykq0\nWi2rV68mNDSUyMhIKioqmDBhQpfHNzY2MmXKFE6ePElWVhYeHh42n0MIIcTVu6ovcufPn8/dd98N\ngEaj6fa4/v37U1BQwP79+1m0aBEXL17kUlXJ2nMIIYS4enbd6Wu1WioqKjq2dTodWq22x/eNHj2a\nYcOGceTIEQYPHmzVOf79738TFBRkTzOFEMKtpaenX7bPrqSfnJzM4cOHqaqqQq/XU1payvjx4wFY\nvHgxGo2Gl19+GYDy8nJ8fX0JCwtDp9Nx/Phxhg8fTmBgYLfn+LagoCAmTpxoTzN7zZYtW7j99tsV\nbYNaSCwsJBYWEgsLtcRi//79Xe63K+n7+PiQmZlJSkoKACtWrOh4TafTdSrTlJSU8PDDDwNgNptZ\nvnw5YWFhAN2eQ21KSkqUboJqSCwsJBYWEgsLtcfCrqQPkJGRQUZGxmX7165d22n7+uuv59ChQzad\nQwghRN+QJ3KtMG3aNKWboBoSCwuJhYXEwkLtsZCkb4X4+Hilm6AaEgsLiYWFxMJC7bGwu7zjTnJy\nckhNTVW6GaogsbCQWFhcTSwaGxupq6tzmSHbdXV1BAcH9/l1zGYzwcHB9O/f36b3SdIXQiimuroa\ngMGDB7tM0h88eLBDrmM2m6mpqaGlpaVjcIw1pLxjBbmbs5BYWEgsLOyNxaWE5SoJ35E0Gg1hYWG0\ntLTY9D5J+kII4UYk6VshJydH6SaohsTCQmJhIbFwHlLTF0I4pQMHDrBu3TpaW1u5+eabufnmm/Hw\nkPvYnkiErCC1WwuJhYXEwqK3Y2E0Gtm8eTPPPvssf/zjH6mqqup4rba2llmzZjF79mzefPNNsrKy\neOihh0hLS+PIkSO92o6r8fHHHzNjxgy0Wi2PPfaYze/fs2cPYWFhvPXWW73aLrnTF0KoyrZt2/j1\nr3/NyZMnMRgMALz55pvcdNNNLF++nLlz57J3795O79Hr9RQUFHD//fezdetWvLy8WL58OV9++SUX\nL14kICCAG2+8kaeffprAwECb27R69WrOnTvH0qVLrX5PcHAwTzzxBDt27KCpqcmm67W1tfHiiy8S\nFxfX619yy52+FaReaSGxsJBYWPRWLA4dOsRTTz3F0aNHOxI+QFlZGevXr2fu3LndTusCUFRUxLJl\ny5g1axarVq3i4MGDFBYWcvDgQVatWsWsWbO4cOGCze16+OGHef/99zl37pzV70lJSeG2224jJCTE\n5uu98cYbzJw5k/DwcJvf2xNJ+kII1cjMzKS8vLzL19ra2sjJyenxrnnjxo3drsKXn5/PwoULbW6X\nRqPhrrvu4t133wXaJ4iMjY297L85c+bYfO7vqqysZP369SxYsOCqz9UVKe9YQWq3FhILqKy8yK9/\nfYzycl+++qqAhQuvwcPDvceZ90a/MJvNnDhx4orHNDc393iexsbGK76en59PfX29zet0zJkzhzlz\n5vD444+zcOFCu355WOP555/n5z//ecfSsr1N7vSFsJLJZGb69DwSEtp4992b2LlzBr/7XRJDh1ay\natVhpZvn9MxmM62trVd9nra2tiu+XllZycmTJ20+7/nz52lubmbfvn32Nq1He/fu5cyZM9x5550d\n+y6tMthbJOlbQWq3Fu4ci1tu2c++fVNpa4vB8qMTgF4/ht/+NoZNm2xPJK6iN/qFh4dHj9MJ+Pv7\nExkZ2e3rgYGB+Pn5XfEcPj4++Pv729S27du3s3//fp5++mmysrL405/+RHR09GX//ehHP7LpvN91\n8OBBvv76a8LCwggLC2PXrl0sXLiQX/3qV1d13m+TpC+EFaqrm9m/fwQQ0OXrRuNQliy58h2m6NnM\nmTPx9PTs9vVRo0bxu9/9rsulVYOCgnjwwQcZOXLkFa8RGxtLXFyc1W1677332LlzJw8//DB33HEH\n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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x2783310>"
|
||||
"<matplotlib.figure.Figure at 0x2189250>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 7
|
||||
"prompt_number": 6
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -511,7 +511,7 @@
|
||||
"source": [
|
||||
"Here I have plotted two different choices for lambda - 05 and 1.4 - to show how lambd affects the distribution of the points. \n",
|
||||
"\n",
|
||||
"Perhaps the reason for calling these *sigma points* is clear. While we are not selecting exactly $1\\sigma$ for the position of our points, we are scaling by some factor of $\\sigma$.\n",
|
||||
"Perhaps the reason for calling these sigma points is clear. While we are not selecting exactly $1\\sigma$ for the position of our points, we are scaling by some factor of $\\sigma$.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"On to larger dimensions ($n>1$). The term $(\\sqrt{(n+\\lambda)\\Sigma})_i$ has to be a matrix because $\\Sigma$ is a matrix. The subscript $i$ is choosing the column vector of the matrix. And thus the square root is not the square root of a scalar, but of a matrix.\n",
|
||||
@@ -533,7 +533,7 @@
|
||||
"\n",
|
||||
"If this makes you uncomfortable, I advise not worrying about it. We are just defining an algorithm for choosing our sigma points; if the 'square' root in method of computation ($SS$) is slightly different than the other case ($SS^T), it shouldn't really matter. Plus, this still works for the one dimensional case, as the transpose of a scalar is just the scalar. \n",
|
||||
"\n",
|
||||
"I will derive the math for computing this in a later section in this chapter. For now I will say that this is a well worn area of linear algebra, and performing this 'square root' uses something called the Cholesky decomposition. This is a library procedure that is available in any linear algebra library. For example, numpy provides it in $\\verb ,numpy.linalg.cholesky(),$, and we will be using that function in our code. If your language of choice is Fortran, C, C++, or the like the standard libraries like LAPACK also provide this routine. And, of course, matlab provides $\\tt chol()$, which does the same thing."
|
||||
"I will derive the math for computing this in a later section in this chapter. For now I will say that this is a well worn area of linear algebra, and performing this 'square root' uses something called the Cholesky decomposition. This is a library procedure that is available in any linear algebra library. For example, numpy provides it in $\\verb,numpy.linalg.cholesky(),$, and we will be using that function in our code. If your language of choice is Fortran, C, C++, or the like the standard libraries like LAPACK also provide this routine. And, of course, matlab provides $\\verb,chol(),$, which does the same thing."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -601,7 +601,7 @@
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 8
|
||||
"prompt_number": 7
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -708,7 +708,7 @@
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 10
|
||||
"prompt_number": 8
|
||||
}
|
||||
],
|
||||
"metadata": {}
|
||||
|
||||
-6615
File diff suppressed because it is too large.
Load diff
+2
-1
@@ -1,5 +1,6 @@
|
||||
|
||||
python merge_book.py Preface.ipynb Signals_and_Noise.ipynb g-h_filter.ipynb discrete_bayes.ipynb Gaussians.ipynb Kalman_Filters.ipynb Multidimensional_Kalman_Filters.ipynb Kalman_Filter_Math.ipynb Designing_Kalman_Filters.ipynb Extended_Kalman_Filters.ipynb Unscented_Kalman_Filter.ipynb > book.ipynb
|
||||
python merge_book.py Preface.ipynb Signals_and_Noise.ipynb g-h_filter.ipynb discrete_bayes.ipynb Gaussians.ipynb Kalman_Filters.ipynb Multidimensional_Kalman_Filters.ipynb Kalman_Filter_Math.ipynb Designing_Kalman_Filters.ipynb Extended_Kalman_Filters.ipynb Unscented_Kalman_Filter.ipynb >Kalman_and_Bayesian_Filters_in_Python.ipynb
|
||||
|
||||
ipython nbconvert --to latex --template book --post PDF Kalman_and_Bayesian_Filters_in_Python.ipynb
|
||||
|
||||
|
||||
+9
-10
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"metadata": {
|
||||
"name": "",
|
||||
"signature": "sha256:1556bb7a2a15e47b34d1f079dab4a85d78afe50dc20aeb56325b4990232aeebd"
|
||||
"signature": "sha256:266729b27e2d51ad90c675d939766430799e16551541a85150394b3f7eead92e"
|
||||
},
|
||||
"nbformat": 3,
|
||||
"nbformat_minor": 0,
|
||||
@@ -53,7 +53,7 @@
|
||||
"\n",
|
||||
" .text_cell_render h1 {\n",
|
||||
" font-weight: 200;\n",
|
||||
" font-size: 36pt;\n",
|
||||
" font-size: 30pt;\n",
|
||||
" line-height: 100%;\n",
|
||||
" color:#c76c0c;\n",
|
||||
" margin-bottom: 0.5em;\n",
|
||||
@@ -63,7 +63,6 @@
|
||||
" } \n",
|
||||
" h2 {\n",
|
||||
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
|
||||
" text-indent:1em;\n",
|
||||
" }\n",
|
||||
" .text_cell_render h2 {\n",
|
||||
" font-weight: 200;\n",
|
||||
@@ -71,8 +70,8 @@
|
||||
" font-style: italic;\n",
|
||||
" line-height: 100%;\n",
|
||||
" color:#c76c0c;\n",
|
||||
" margin-bottom: 1.5em;\n",
|
||||
" margin-top: 0.5em;\n",
|
||||
" margin-bottom: 0.5em;\n",
|
||||
" margin-top: 1.5em;\n",
|
||||
" display: block;\n",
|
||||
" white-space: nowrap;\n",
|
||||
" } \n",
|
||||
@@ -243,13 +242,13 @@
|
||||
],
|
||||
"metadata": {},
|
||||
"output_type": "pyout",
|
||||
"prompt_number": 3,
|
||||
"prompt_number": 1,
|
||||
"text": [
|
||||
"<IPython.core.display.HTML at 0x247b650>"
|
||||
"<IPython.core.display.HTML at 0xf9c990>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 3
|
||||
"prompt_number": 1
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -300,7 +299,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Now let's create a map of the hallway in another list. Suppose rehere are first two doors close together, and then another door quite a bit further down the hallway. We will use 1 to denote a door, and 0 to denote a wall:"
|
||||
"Now let's create a map of the hallway in another list. Suppose there are first two doors close together, and then another door quite a bit further down the hallway. We will use 1 to denote a door, and 0 to denote a wall:"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1069,7 +1068,7 @@
|
||||
"level": 2,
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Drawbacks and Limitations to the Discrete Bayesian Filter"
|
||||
"Drawbacks and Limitations"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
+36
-36
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"metadata": {
|
||||
"name": "",
|
||||
"signature": "sha256:bfe3bacdc2d7cc23284f14dd3891819fd6c39a8b8ad0a092f81df050553181c4"
|
||||
"signature": "sha256:d6a065bada82f52a1594d059481391c11dc03d589aca8e9e3b225011088ca167"
|
||||
},
|
||||
"nbformat": 3,
|
||||
"nbformat_minor": 0,
|
||||
@@ -53,7 +53,7 @@
|
||||
"\n",
|
||||
" .text_cell_render h1 {\n",
|
||||
" font-weight: 200;\n",
|
||||
" font-size: 36pt;\n",
|
||||
" font-size: 30pt;\n",
|
||||
" line-height: 100%;\n",
|
||||
" color:#c76c0c;\n",
|
||||
" margin-bottom: 0.5em;\n",
|
||||
@@ -70,8 +70,8 @@
|
||||
" font-style: italic;\n",
|
||||
" line-height: 100%;\n",
|
||||
" color:#c76c0c;\n",
|
||||
" margin-bottom: 1.5em;\n",
|
||||
" margin-top: 0.5em;\n",
|
||||
" margin-bottom: 0.5em;\n",
|
||||
" margin-top: 1.5em;\n",
|
||||
" display: block;\n",
|
||||
" white-space: nowrap;\n",
|
||||
" } \n",
|
||||
@@ -244,7 +244,7 @@
|
||||
"output_type": "pyout",
|
||||
"prompt_number": 1,
|
||||
"text": [
|
||||
"<IPython.core.display.HTML at 0x2327950>"
|
||||
"<IPython.core.display.HTML at 0xdf8890>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -345,7 +345,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x2a7ef50>"
|
||||
"<matplotlib.figure.Figure at 0x1552f10>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -378,7 +378,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAsIAAAFyCAYAAAD/MLwxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlYlOX+BvB7dmaGGcotPAlmi+aCpWglkikuyVFsMZfs\naFSWCVqpqJSZph230sjELcut1CyXFE1NXDGPedQKy8z6iWS5pHkEZmHW3x8cOC6ADzDLOzP357q6\nznlfYObh9gW+88z3fR6Z2+12g4iIiIgoxMj9PQAiIiIiIn9gIUxEREREIYmFMBERERGFJBbCRERE\nRBSSWAgTERERUUhiIUxEREREIanSQjgtLQ2RkZGIiYkBAGzduhWtWrUq+0+j0eD777/H77//jvj4\neLRo0QKxsbHYvn27TwZPRERERFRdssrWEd6/fz/UajWSk5ORm5t71cfOnj2LDh064Oeff8b58+dx\n7tw5xMTEID8/H3FxcTh9+rTXB09EREREVF3Kyj7Yrl075OXllfuxlStXok+fPgCAevXqoV69egCA\n6Oho2Gw22O12qFQqz46WiIiIiMhDqt0jvGLFCvTv3/+681u3bkVsbCyLYCIiIiKStEpnhCty/Phx\nmM3mst7hUmfPnkVaWho2bNjgkcEREREREXlLtQrh8maDrVYr+vTpg5kzZ6JRo0blft2nn36KOnXq\nVOcpiYiIiIiEWa1W9OjRo9LPqVYhvHLlSmzatKns2O1245lnnsGAAQPQrVu3Cr+uTp06aN26dXWe\nMuRs3LgRSUlJ/h6G5DEnccxKDHMSw5zEMSsxzEkcsxJz+PDhG35OpT3CqampiIuLw/HjxxEVFYWs\nrCwcOHAABoMBd911V9nn7du3D2vWrMHChQvLllY7e/Zszb+DEJafn+/vIQQE5iSOWYlhTmKYkzhm\nJYY5iWNWnlPpjHBmZiYyMzOvO3/o0KGrjuPj42Gz2Tw7MiIiIiIiL+LOchLVpUsXfw8hIDAnccxK\nDHMSw5zEMSsxzEkcs/KcSjfU8LTs7Gz2CBMRERGR1x0+fBidO3eu9HM4IyxROTk5/h5CQGBO4piV\nGOYkhjmJY1ZimJM4ZuU5LISJiIiIKCSxNYKIiIiIgg5bI4iIiIiIKsBCWKLY/yOGOYljVmKYkxjm\nJI5ZiWFO4piV57AQJiIiIqKQxB5hIiIiIgo67BEmIiIiIqoAC2GJYv+PGOYkjlmJYU5imJM4ZiWG\n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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x341f0d0>"
|
||||
"<matplotlib.figure.Figure at 0x1ef2050>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -412,7 +412,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3397090>"
|
||||
"<matplotlib.figure.Figure at 0x1ee33d0>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -446,7 +446,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x341fa90>"
|
||||
"<matplotlib.figure.Figure at 0x1e6bbd0>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -473,7 +473,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3434610>"
|
||||
"<matplotlib.figure.Figure at 0x1ef0450>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -509,7 +509,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3440350>"
|
||||
"<matplotlib.figure.Figure at 0x1f10190>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -560,7 +560,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3391f50>"
|
||||
"<matplotlib.figure.Figure at 0x1f14410>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -615,7 +615,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x34406d0>"
|
||||
"<matplotlib.figure.Figure at 0x1f0f350>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -680,7 +680,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAq0AAAH8CAYAAAD7ZpZkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8VGW+P/DPmclMGkkgBQIpBIKQQIJIL9JLKEsVuYgV\njahXivoTr7roApZFsbuXveKuoiAL67qEovQSelEJvSehJSG9Z2aSmef3BzfnMswkpMzkTPm8X695\nyTznzDnfGeGZ7zznOd9HEkIIEBERERE5MJXSARARERER3QuTViIiIiJyeExaiYiIiMjhKZq0rlix\nAiqVCsnJyTY97lNPPQWVqvFvbc2aNVCpVPKjXbt2NoiOiIiIiOqr1sxuz549Zknb3Q9bkCQJkiTV\nuk9SUhIWLVpk02PWRf/+/bFq1SqsXLkSMTExNjkmEREREdWfVFv1gOzsbOzYsQMAsHHjRqxduxZ/\n/OMfERsbCwCYMWNGo05uMplQVVUFjUZTa0L41FNP4fvvv4fJZKrTcY1GI4xGI7RabaPiu9OQIUNw\n7do1pKam2uyYRERERFQ3HrVtbNmypZyYXrt2DWvXrsXIkSMxaNAgm5xcpVLVObGszyinWq2GWq1u\naFhERERE5GBsco2/em7q5s2bMXv2bISEhCAoKAgzZsxAcXGxxf7BwcFm0wyszWm9c2rC999/DyGE\n2Wtmzpxptv/p06frPH1hzZo1GD9+PCIjI+Hl5YXQ0FA8+uijHEUlIiIiclC1jrTW1yuvvILOnTvj\n3XffxZEjR7BixQoAwOrVq832++qrr6DX67F3714sX77c6ihq586dsWrVKnn/ffv2yc8BIDo62mz/\nyMhIs/33799fY5xffPEFPDw88OKLL6JVq1ZIT0/HX//6V+zYsQNnz55FUFBQg94/EREREdmHTZPW\n++67Dz/99BMA4LnnnkNaWhqSkpJgMpnMRj4feughAIDBYMDy5cutHuvOqQnbtm3Dvn37ap1D6+/v\nb7F/TX788UeEhYWZtQ0ZMgTDhg3D999/j5dffrkO75aIiIiImopNS15Nnz7d7HnPnj2h0+mQnZ1t\ny9M0WnXCKoRAUVERcnNzcd999wEALl++rGRoRERERGSFTZPW1q1bmz339fUFcHtE1ZEcP34cY8eO\nhZ+fH1q0aIGWLVsiIiICAKDT6RSOjoiIiIjuZtPpAc5wx/61a9cwaNAgBAQE4E9/+hNiY2Ph4+OD\nqqoqjB49GrVUACMiIiIihdg0abUXWy0WAADr1q1DWVkZNmzYgKFDh8rt95oWoNVqUVVVZZMYiIiI\niKh+FF3Gta78/PwghEBWVladX1NTkls9Gnz3qPCnn35a6/EiIyORlZWFoqKiOsdARERERLZR60hr\ndnY2tm3bBgBISUkBcPvO/GvXrgEAHnvssXqf8NChQ7hy5Yr857uPOWDAALRr187sNQMHDsRf/vIX\nJCYm4umnn4aPjw/Cw8MRFxcn75OUlITS0lIAQGpqKoQQ+OGHH+TL/VOmTIGPjw/Gjh2L119/HU8+\n+SRmz54NT09PbNmyBVevXq21tuuMGTPwzTffYNq0aZg+fTo0Gg2GDh1qUYWAiIiIiOxA1GL37t1C\nkiT5oVKpzP5c7dtvvxUqlUokJyebvX7hwoVCpVKJq1evym1PPfVUrcf87rvvrMby1ltviYiICKFW\nq4UkSWLmzJlm26OiosyOc/dx74xh79694sEHHxR+fn4iKChIPProoyIzM1N4eHhYHPdOX331lejQ\noYN8/PXr19f28RERERGRjUhC8M4jIiIiInJsTjGnlYiIiIjcG5NWIiIiInJ4TFqJiIiIyOExaSUi\nIiIih8eklYiIiIgcHpNWIiIiInJ4TFqJiIiIyOExaSUiIiIih+fUSeuKFSugUqmwd+9eq9vT09Oh\nUqmwaNEim57XXsd1BDqdDlFRUViwYIHdzzV58mQMGzbM7uchIiIi51evpPXq1atITExEREQEvLy8\nEBkZiUceeQRnz561V3w2IUlSrdvT09OxcOFCnDhxwqbHdUaffPIJioqKMH/+fLufa9GiRUhOTsb6\n9evtfi4iIiJybh513TElJQXDhg2DEALPP/88OnXqhJs3b2LNmjXYsWMHOnfubM84GyQqKgo6nQ5q\ntbrW/dLT07F48WK0b98e999/v82O62wqKiqwdOlSPPnkkwgICLD7+bp27YrBgwdj0aJFmDhxot3P\nR0RERM6rTkmr0WjEjBkzUFlZiaNHjyI2Nlbe9uabb+LmzZt2C7CxtFptnfcVQtjluM5i9erVKCoq\nwuOPP95k53z88cfxzDPP4OjRo+jdu3eTnZeIiIicS52mB2zduhXnz5/H008/bZawArcvkYeHh8vP\ni4qKMHfuXERERMDT0xNRUVF49dVXUV5ebva6PXv2QKVS4ZtvvsHbb7+NsLAwBAQEYNy4ccjIyLCI\n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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x37b7610>"
|
||||
"<matplotlib.figure.Figure at 0x228b650>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -793,7 +793,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3421490>"
|
||||
"<matplotlib.figure.Figure at 0x1f1cf90>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -886,9 +886,9 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAsAAAAFyCAYAAAD7xWwMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmcjXX/x/HX2c/slRLdobqzhyxlm0JFZSspaVHE3aK7\ncgspqV93CwqJpLrJkqVsla2EFIOU3ElSqCS7O8ucmTn7uX5/iJLBzDhnzlxz3s/Hw6O5zrmu63ym\nt8NnLp/zvSyGYRiIiIiIiCQIa7wLEBEREREpTmqARURERCShqAEWERERkYSiBlhEREREEooaYBER\nERFJKGqARURERCShnLQB/u2337jsssu49NJLqVOnDtOnTwdg+vTpVKlShapVqzJv3rxiKVRERERE\nJBosJ1sHOBQKEQgESE5O5rfffqN69ers2LGDqlWrsnr1anw+Hy1atGDLli3FWbOIiIiISJGd9Aqw\n3W4nOTkZgIMHD+JyuVi9ejU1a9bknHPOoUKFClSoUIF169YVS7EiIiIiIqfLfqodcnJyaNy4MT/+\n+CNTpkxh9+7dlC9fnjfeeIOzzjqLcuXKsWvXLurUqVMc9YqIiIiInJZTfgguNTWV9evXs3btWvr2\n7YvP5wPgvvvu45ZbbgHAYrHEtkoRERERkSg55RXgI6pVq0alSpWoVKkSu3btOvr4kSvCf/Xuu+9y\n9tlnR6dKEREREZET8Pl8tGnTpsD7n7QB3rlzJy6XizJlyrB7925++OEHqlatyoYNG9i3bx8+n4/t\n27dTu3bt4449++yzqVevXuG/AykR5s6dS7t27eJdhhSBsjM35Wdeys7clJ+5rV27tlD7n7QB3rZt\nG/feey8AhmEwbNgwypYty+DBg2natCkAI0aMKGKpUpJt27Yt3iVIESk7c1N+5qXszE35JZaTNsCN\nGjXim2++Oe7xTp060alTp5gVJSIiIiISK7oTnOTrmmuuiXcJUkTKztyUn3kpO3NTfolFDbDkq2rV\nqvEuQYpI2Zmb8jMvZWduyi+xqAGWfGVlZcW7BCkiZWduys+8lJ25Kb/EogZYRERERBKKxTAMIxYn\nXrJkiZZBExEREZGYW7t2LVdffXWB99cVYBERERGJGsOAr7+2MWiQm1Ao3tXkTw2w5EuzUOal7MxN\n+ZmXsjM35Xd6IhH44gsbAwcmUbduOt27pxAIWMjLi3dl+SvwrZBFRERERPJz330prF9vo337AJMn\n51KzZhiLJd5VnZhmgEVERETktOTkQGpq/F6/sDPAugIsIiIiIifk98OyZXbmzHGSkWHw3HPe4/aJ\nZ/NbFJoBlnxpFsq8lJ25KT/zUnbmpvyO5ffD/PkO7rsvmWrVMhg+PIkaNcLcf78v3qVFha4Ai4iI\niMSCYYDXC8nJ8a6k0LxeC2PHumjTJsj//Z+X8uVjMjEbN5oBFhEREYkB57RpJD35JDlTphBu1Cje\n5RSI9ddfsf78M0ZyMkZKCqSk/PG1201J/WSbZoBFRERE4s3vxz14MP6ePUm96y7yhgwh2KFDvKs6\nyjBgzRob48a5uOmmAK1ahbAvWkRKz56Eq1XD4vViyc2F3FwseXmHvw4G4fdm+GhTfGT798f+3DAf\n3f7968j55xMuIRdH1QBLvrKyssjMzIx3GVIEys7clJ95KTtzi3Z+rsmTiVSpgu/RRwleey2pnTvj\n+/VX/A89FNerqF4vzJ7tZNw4FwcPWrjnHj+XNQjhGjMG98iR5Lz99omvVodC8HszbMnLw5KXd7hB\n/nOTnJeHJScHS14e1v/9D8svvxw9JlytmhpgERERkVIpLw/38OHkTJ4MQPiSS8heuJDUW2/F+uuv\neAcNAnvxt2DffGOjY8dU6tUL8/jjXq6+OoQ1FCC5Xz9sa9bgWbiQSMWKJz6B3Q7p6Rjp6Zh9Ilgz\nwCIiIiJR5Hr1VexffEHupEnHPpGdTerdd2O43eSOHQspKcVal98PO3daufDCCACW/ftJ6doVIyWF\n3DffhLS0Yq0nmgo7A6xl0ERERESixePBPWoU3v79j38uPZ2c6dMxzjqLtPbtsezZE5MSDh604D1+\nqV5cLo42v9ZNm0hr2ZJw3brkTp5s6ua3KNQAS760HqJ5KTtzU37mpezMLVr5ud94g2CzZkRq1Mh/\nB4eDvFdfJXjttaRddx3WH36IyusCfPutjUceSaZu3XS+/PLEIxb2Tz4hrW1bfP/6F95nngGbLWo1\nmIVmgEVERESiwHLwIK7XX8ezcOEpdrTg69ePSIUKpLVvT+748YSaNCnSawYCMHeug3HjXPzyi41u\n3fysXp1N2bL5T7i6/vMf3MOGkTthQpFfszTQDLCIiIhIFLifew7r3r3kjRxZ4GPsn35Kyr33kjdo\nEMGOHQv9mkuX2hkxwk337n5atw6e+LN1wSBJjz+OY8UKcqZNI3LBBYV+rZJM6wCLiIiIFDPLvn24\nxo/H8+mnhTou1Lw5nvffJ+3WW/Ft347/4YcLtUxaixYhWrTIOXltBw+S0q0bOBxkL1wI6emFqrE0\n0gyw5EuzbOal7MxN+ZmXsjO3083PPWIEgZtvJlKhQqGPjdSoQfbChThnzSL50UcPr7f7u+3bLbz2\nmovWrVPZu7fw6wdbt2whrVUrwtWrkzNtmprf36kBFhERETkNlh07cE6bhu9f/yryOYzzzsMzbx7W\nbduw3nQnY14Kcs01aTRvns7GjTb+9S8fZ5xRuKlV+2efkdamDb4HH8T7wgsJ+WG3E9EMsIiIiMhp\nSH70UYyUFLz//vfpnywYZNM1/Th35zd89+J0GrQtg8NR+NM4J0wgafBgcseOJZQAdyjUDLCIiIhI\nMbH+8guO998n+4svCnWcYYDHk89EgsNBlU+H4x42jArPXE1O9XeIVKtW8BOHQiQ9+SSOpUvxLFhA\n5KKLClVXotAIhORLs2zmpezMTfmZl7Izt6Lm537xRfzdu2OUKXPKfQ0D1q+38fzzbho1Suef/zzB\nneAsFnx9+uDr35+0G27AvmJFgWqxHDpE6q23Ytu8Gc/HH6v5PQk1wCIiIiJFYN20CcfHH+N/8MGT\n7pebC888k0SDBuncfXcKwaCF117LZeLE3JMeF+jcmdw33ySlWzccM2eevJaffjr8YbeLLybn3Xcx\nMjIK/f0kEs0Ai4iIiBRByj33EK5V65QffotEYPhwN61aBalVK1yYVc4AsH73HamdOxPo1g1fr17H\nLZNmX7GClO7d8fbrR+Ceewr7bZQKmgEWERERiTHbt99iX7mS3FGjTrmv1Qp9+viK/FqRGjXwLFxI\naufOWH/5hbyhQzlyxwvn22+T9Nxz5L7xBqHmzYv8GolGIxCSL82ymZeyMzflZ17KztwKm5/7hRfw\nPfIIpPwxx3vokIVly2JzbdEoX/7wMmk7dpB6++2QnU3SgAG4R47EM2+emt9CUgMsIiIiUgi2NWuw\nf/MN/m7dgMMfbpsxw0njxul89FER1iwrqLQ0cqZOJVK+PGdccgm2DRsOf9itcuXYvWYppRlgERER\nkUJI7dCBwA03EOjalR9+sNK3bzKHDlkYOjSPyy4Lx74Aw8D+2WeEmjalSIsEl0KFnQHWFWARERGR\nArJnZWH95RcCd9zBlClO2rZNo02bIEuWeIqn+QWwWA6PPKj5LTI1wJIvzbKZl7IzN+VnXsrO3AqU\nn2GQ9Pzz+Pr1A4eDpk1DLF+ezX33+Y98Jk1MQnGJiIiIFIB9yRIs+/cTuOUWAC64IBLniqSoNAMs\nIiIichJ+P+TlQsWbr8L38MMEb7wx3iXJX2gGWERERCRKPv3UzhVXpPPlkwshHCbYvn28S5IoUAMs\n+dIsm3kpO3NTfual7Mztr/nt2mWhe/cUevVK5t9P53Dz18/ge+KJw3e1ENM7aYo7duwgMzOTSy65\nhPr167N48WIAbDYbdevWpW7duvTq1atYChUREREpDmPHurjyynQuuijMypXZtPNOx0hNJdiqVbxL\nkyg56Qzw3r172bNnD7Vq1WLbtm00adKE7du3k5aWhsfjOemJNQMsIiIiZjR5spOGDUNUrhyBYJD0\nxo3JGzaMULNm8S5NTqCwM8AnXQWibNmylC1bFoCKFSsSCAQIBAKnV6GIiIhICXbnnX/0Os533iHy\nt7+p+S1lCjzIsnDhQurXr4/T6cTn81G/fn0yMzNZvnx5LOuTONEsm3kpO3NTfual7MzDMGDdOhtj\nxrg48u/g+ebn9+N+6SW8TzxRvAVKzBVoHeDdu3fTp08f5syZAxyeDS5btixr1qyhQ4cObNmyBZfL\nFdNCRURERIrK44FPP3WwaJGDxYsdpKYatGwZJBCAE7UwrkmTiFSvTrhhw+ItVmLulOsA+3w+WrZs\nycCBA2mVz/B3w4YNmTRpElWrVj3m8SVLljB27FgqVqwIQEZGBrVq1SIzMxP44yctbWtb29rWtra1\nre1Yb7/wwnW43XDxxT/QoMEeOnWqd/Lj69Ujo0EDsvr149DFF8e9fm0fu33k623btgHQo0ePQs0A\nn7QBNgyD22+/nSuvvJIHHngAgAMHDuB2u0lKSmLr1q1kZmayefNmkpKSjjlWH4ITERGR4uT3g89n\nISPj+NYmEincCmaukSOxr1lD7qRJUaxQYiWqN8JYsWIFs2bN4s0336Ru3brUq1eP77//nrp161Kn\nTh1uuukmxo0bd1zzK+b355+wxFyUnbkpP/NSdvGxe7eFt9920qVLClWqnMH06c589ztV83tMftnZ\nuF99Fe/jj0exUilJ7Cd7MjMzM99VH77//vuYFSQiIiJyKl9+aaNfv2S2brXSokWINm2CvPxyHmef\nfdLJzgJxv/46wRYtiFSvHoVKpSQ65QxwUWkEQkRERGJlzx4LW7bYuPzyEA5H9M5rOXCA9MLine truncated
|
||||
"png": "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\nuf9+HEuXkjd7NqHmzY/fZRiQnW2JqL17K5JmgEVERESijOXwYeKGDQMgd9kyjDPOAIoa38WLHTz2\nmJuGDUO89lp+OMuMGJoBlhJVt1moaKLszE35mZeyMzcz52f9+msSunYleOGF5M2bh3HGGYRC8O67\nDjp1SuD//s/NP//pYc4cNb/HaAVYRERExKQc771H7NixFP7nP/iuv/747SNHxrJjh4177vHQrZsf\niyWMRUYgzQCLiIiImI1h4J40CdfMmeS98grBNm1OuPunnyzUqmVETeOrGWARERGR6igUwrp9O/aN\nG3G8/TbWgwfJWb4co379YqfWrl09X+xWUTQDLCUy8yxUtFN25qb8zEvZmVvE5WcYWLOycLz1FjEP\nPEB8797UaNqU+EGDcKxYga9TZ165cQlXDz2f3NxwF2s+WgEWERERCTPLgQPYNm7EnpmJPTMT2+ef\ng81GoHVrgikpeG69lWBKCkdstZg718lLL7moXdvgrrsKiY8Pd/XmoxlgERERkaqUk4N90yZsx5rd\njRux5OYSbNXqeMMbSEnBaNCAXw/xvvyyk3//O4YuXQIMG+albdtA1Mz4nopmgEVEREQihceDbfNm\n7Bs3Hl/hte7ZQ7BFCwIpKfh79qRwwgRCZ58N1pNPpnbqFOCTT3I480zN954uzQBLiSJuFkpKTdmZ\nm/IzL2VnbpWRnyM9nRrnnkvsHXdg++orAm3bkv/SSxz57jty33+fwkcfxTdgAKFzzz2h+T10qORl\n3aZNQ2p+K4hWgEVEREQqmC0zk9i77iJn6VJCF154yvNDIVixws6MGS4+/9xOZuZRYmKqoNAopRlg\nERERkQpk2buXxK5dKfi//8PfvftJzz140MKcOU5mznRRo4bBsGFe+vb1ERtbRcVWE5oBFhEREQmX\nwkLib7gB7003nbL5BXjySTeHDll48cV8WrcO6kVtVUQzwFIizbKZl7IzN+VnXsrO3CokP8Mg9rbb\nCJ11Fp5x40r1kIceKuTZZwtITVXzW5VO2gBnZ2eTlpbGRRddRGpqKsuXLwfAZrORkpJCSkoKt912\nW5UUKiIiIhLJXE89hW3HDvKffvqE7ct27rQyfborjJXJb510BvjHH39k//79JCcnk5WVRfv27dm9\nezcJCQnknuKyI5oBFhERkWjhWLKE2HHjyFm6FKNhQwwDli+389xzbrZssTFkiJf77vOcaqczKacK\nnQGuW7cudevWBaBJkyb4fD58Pt/pVSgiIiJSjVi//prYW24hb84cjIYNefttB489FoPVajBmjJe5\nc324tAAcUUr9e8iSJUtITU3F6XTi8XhITU0lLS2N1atXV2Z9EiaaZTMvZWduys+8lJ25lTc/y6FD\nxA8ZQuG//03wkksA8Pks/Oc/Baxalct116n5jUSl2gVi37593HHHHbzzzjtA0Wxw3bp1Wb9+PX36\n9GHnzp24lK6IiIhEE7+fuJ93e/D9+c/Hbx4wQH8tj3SnbIA9Hg8DBgxg0qRJNG3aFOD4WESbNm1o\n0KABu3btolmzZsUeO2rUKJo0aQJAUlISycnJpKWlAb/8pqXjyDw+dluk1KPj0h+npaVFVD06Vn46\n1nF1PK5duyOhUfdzri2fT7t25di/npFSX3U/PvZxVlYWAMOHD6csTvoiOMMwGDRoEB07dmTkyJEA\nHD58GLfbTUxMDLt27SItLY0dO3YQ85vLlehFcCIiIlKdGAZ88omdp55ycdHHL/FPx2SMT5biqJ0Y\n7tKiXllfBHfSGeA1a9aQnp7OCy+8QEpKCq1bt2br1q2kpKTQsmVL+vbty0svvVSs+RXz+/VvWGIu\nys7clJ95KTtzO1V+H35o5+qrExg7NpabzvmA/7oewLlkjppfk7Kf7M60tLQSd33YunVrpRUkIiIi\nEmkKCy2MHeuhZ4ud1Oj+V/KnPU/onHPCXZaU00lHIE6HRiBERESkWsnNJeGaa/ANGYL3738PdzXy\nKxU6AiEiIiISLbKyrPznP25KvORBKETcqFEEW7fGO2JEldcmFUsNsJRIs2zmpezMTfmZl7Izp0AA\n1q6186c/5dO5cwLBoAWvt/h57kcfxfrTTxT83/+dcJljMaeTzgCLiIiIVFfPPONi0iQ3Z50VIjU1\ni1mz4kgs4TVtjgULcL7+OrkrVqCrWlQPmgEWERGRqPTNN1bi4w3OPPP3WyHbpk3E9+9P3oIFBJOT\nq7A6KYuyzgBrBVhERESqne++s7JihYMVK+zUrm3w9NMFxc4555zQST+HZf9+4ocMoWDSJDW/1Yxm\ngKVEmmUzL2VnbsrPvJRd+P30k4V//jOGNm0S6d49gY0bbQwY4OPBBwtP+dhi+Xm9xN9wA94hQ/D3\n7l1JFUu4aAVYREREqoWYGIP69UO8/HI+LVoEy/9aNcMgdtw4QvXr4xk/vkJrlMigGWARERLine truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x378a550>"
|
||||
"<matplotlib.figure.Figure at 0x1efa490>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -942,9 +942,9 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3434850>"
|
||||
"<matplotlib.figure.Figure at 0x227dfd0>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -1005,9 +1005,9 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAs4AAAFyCAYAAADlDFy/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8VPW9P/7X55yZyb6QhJAgYScJQthFEFFZ9LaKttVC\ncWmrt7ZYrLbV9n6h9rZqrWKv9lrtItZf7UKtxLqCvbWKFglCUMCAbAZIwpaNbJPMZNZzfn+cmWEy\nOTNzzsyZmTMz7+fj0UfNmeUc4JPkPe/z/rzfTBRFEYQQQgghhJCQuERfACGEEEIIIcmAAmdCCCGE\nEEIUoMCZEEIIIYQQBShwJoQQQgghRAEKnAkhhBBCCFGAAmdCCCGEEEIUiDhw5nkes2fPxuzZs/G9\n730PAFBbW4vKykpUVVVh69atvucGO04IIYQQQkiyYJH2cc7Ly0N/f7/va4fDgerqatTX18Nms2HJ\nkiU4fvx40OOEEEIIIYQkE4NWb1RfX49p06Zh5MiRAICKigo0NDTAbDbLHp85c6ZWpyaEEEIIISTm\nIg6cbTYb5s6di6ysLDz22GNob29HeXk5Nm7ciKKiIpSVlaG1tRUDAwOyxylwJoQQQgghySTiGuez\nZ89i7969eOqpp3DLLbfAZrMBANasWYOVK1cOe77/ccZYpKclhBBCCCEkISLOOJeWlgIA5s2bh9Gj\nR2P8+PHYvHmz7/G2tjaMHj0a/f39aG1tHXK8vLx82Ptt3rwZJSUlkV4OIYQQQgghithsNlx33XWq\nXxdR4NzT04PMzExkZWWhubkZ586dw4wZM3Do0CF0dnbCZrPhzJkzmDFjBhwOh+zxQCUlJZgzZ04k\nl0NS2JYtW3D99dcn+jKIztC6IHJoXRA5tC6InH379kX0uogC56NHj+KOO+5ARkYGeJ7H888/j/z8\nfGzYsAGLFi0CADz11FMAAJPJJHucECVOnTqV6EsgOkTrgsihdUHk0LogWooocF64cCGOHj067Piq\nVauwatUqxccJIYQQQghJFjQ5kOja8uXLE30JRIdoXRA5tC6IHFoXREsUOBNdq6qqSvQlEB2idUHk\n0LogcmhdEC1R4Ex0ra6uLtGXQHSI1gWRQ+uCyKF1QbREgTMhhBBCCCEKMFEUxURfBABs27aN2tER\nQgghhJCY27dvH5YtW6b6dZRxJoQQQgghRAEKnImuUW0akUPrgsihdUHk0LogWqLAmRBCCCGEEAWo\nxpkQQgghhKQVqnEmhBBCCCEkhihwJrpGtWlEDq0LIofWBZFD64JoiQJnQgghhBBCFKAaZ0IIIYQQ\nklaoxpkQQgghhJAYosCZ6BrVphE5tC6IHFoXRA6tC6IlCpwJIYQQQghRgAJnomuXX355oi+B6BCt\nCyKH1gWRQ+siPWU88wxMmzdr/r4UOBNCCCGEkNQhCMh4/nm4p07V/K0pcCa6RrVpRA6tCyKH1gWR\nQ+si/Ri2b4c4YgTcM2Zo/t4UOBNCCCGEkJSRsWkTHF/9akzem/o4E0IIIYSQlMC6u5E/Zw7MDQ0Q\nCwqCPo/6OBNCCCGEkLRmqq2F8z/+I2TQHA0KnImuUW0akUPrgsihdUHk0LpII6II06ZNcNx2W8xO\nQYEzIYQQQghJevz+/WCDg3AtWhSzc1DgTHSN+m8SObQuiBxaF0QOrYv0kfGXv8Bx660AF7vw1hCz\ndyaEEEIIISQeLBYY33gD5hiX5lDGmega1aYRObQuiBxaF0QOrYv0YHrzTbguvRTi6NExPQ8FzoQQ\nQgghJKmZ/vKXmG4K9KLAmega1aYRObQuiBxaF0QOrYvUxzU2gj95Es5rron9uWJ+BkIIIYQQQmIk\n469/heMrXwGMxpifiwJnomtUm0bk0LogcmhdEDm0LlKc0wnT5s2wx6FMA6DAmRBCCCGEJCnjv/4F\n94QJEKZMicv5KHAmuka1aUQOrQsih9YFkUPrIrXFelJgIAqcCSGEEEJI0mFtbTDU18PxhS/E7ZwU\nOBNdo9o0IofWBZFD64LIoXWRuvjPPoN7+nQgJydu56TAmRBCCCGEJB1msUDMzY3rOSlwJrpGtWlE\nDq0LIofWBZFD6yKFWa1AdnZcT0mBMyGEEEIISTpsYABiHMs0AAqcic5RbRqRQ+uCyKF1QeTQukhd\nzGqFmEwZ5/7+fowePRpPPvkkAKC2thaVlZWoqqrC1q1bfc8LdpwQQgghhJBIJKLG2RDNi3/+859j\n3rx5YIzB4XBg3bp1qK+vh81mw5IlS7BixYqgxwlRgmrTiBxaF0QOrQsih9ZFCrNagby8uJ4y4sD5\n2LFj6OzsxNy5cyGKIvbs2YNp06Zh5MiRAICKigo0NDTAbDbLHp85c6Y2fwJCCCGEEJJ2mMUCoaws\nrueMuFRj/fr1ePDBB31ft7W1oby8HBs3bsTLL7+MsrIytLa2or29XfY4IUpQbRqRQ+uCyKF1QeTQ\nuogzQUDGr34Vl1MxiyU5apy3bNmCyspKVFRUQBTFIY+tWbMGK1euHPYa/+OMsUhOSwghhBBCdIy1\ntiL7oYcAhyP257JY4t5VI6JSjT179uCVV17BG2+8gfPnz4PjONx9991DMsltbW0YPXo0+vv7hx0v\nLy+Xfd+1a9di7NixAICCggLU1NT4apO8nxjpa/qavqavvcf0cj30NX1NX+v3a+8xvVxPqn99eMsW\nXAaA9fZCLC2N6fmY1YpDzc3oUPDv6/3vU6dOAQDuvPNORIKJgSljlR566CHk5eXhnnvuQVVVlW8T\n4NKlS9HY2AiHw4Hq6uphxwNt27YNc+bMieZSCCGEEEJIApk2bULOvfeib/duCJWVMT1X7ooVsK1f\nD9eiRapfu2/fPixbtkz16zTr42w0GrFhwwYsWrQIy5Ytw1NPPQUAMJlMsscJUcL/kyIhXrQuiBxa\nF0QOrYv44pqbAUgZ51hjVmtylGr4++lPf+r771WrVmHVqlXDnhPsOCGEEEIISR18UxMAgPX1xfxc\nSbM5kJB48a9RI8SL1gWRQ+uCyKF1EV9cUxPc48bFJ3CmkduEEEIIISRZcU1NcM+aBS4OpRqwWgEK\nnAm5gGrTiBxaFxLDe+/56gkJrQsij9ZF/LCeHjC3G+5Jk+JT40ylGoQQQpTK2LQJhvffT/RlEEII\nAE+2ecIEiAUFsQ+cHQ6AMcBkiu15AlDgTHSNatOIHFoXHnY7uPPnE30VukHrgsihdRE/XFMThAkT\nIBYWxjxwTsTwE4ACZ0IISVrMZgPr6kr0ZRBCCACAb26+EDjHenOgxQLEuUwDoMCZ6BzVphE5tC48\nHA5wFDj70LogcmhdxA/X1AT3+PFxKdWgjDMhhBBVmM0GRqUahBCd4OKYcU7E8BNAgwEohMQS1aYR\nObQuPOx2MIcj0VehG7QuiBxaF/HDe2qcIYopm3GmwJkQQpIUs9vBBgYSfRmEEAIMDoJ1d0MYPRqw\nWGLfx9lqpRpnQgJRbRqRQ+vCw24H6+4GRDHRV6ILtC6IHFoX8cG1tECoqAB4HsjNBQYHAZcrZudL\nxNRAgAJnQghJWsxuB7PbAco6E0ISjG9uhjB+vPQFx0HMz49pnTOzWuM+/ASgwJnoHNWmETm0Ljzs\ndoi5udRZw4PWBZFD6yI+vMNPvGLdy5lZLBBzc2P2/sFQ4EwIIUmK2e0QRo+mXs6EkITj/DPOQMxb\n0lE7OkJkUG0akUPrAlJds81GgbMfWhdEjp7XBXf6NFhPT6IvQxO+jhoeMe/lTJsDCSGEKOZyATwP\nobSUSjUISVJZP/kJTH/7W6IvQxNcczPc/hnnGPdyps2BhMig2jQih9YFAJsNyMyEWFxMQ1A8aF0Q\nOXpeF/yBA6lxx8jtBnf6NIRx43yHYh440+ZAQgghSjG7HWJGBsSSEso4E5KEWF8f+KYmcCnwwZc7\ndw5iURGQleU7JhYWxrSXM9U4EyJDz7VpJHFoXUDKOJtMEIqKUiNjpQFaF0SOXtcFf/AgAEi92JNc\nYEcNABBi3FUDVitAgTMhhBAlmMMBMTMTYkkJBc6EJCH+k0/gmj49NTLOTU1DOmoA1FWDkITQc20a\nSRxaF5AyzhkZEIqLqVTDg9YFkaPXdcEfOADXsmUp8cGXb24e0lEDiEMfZ6pxJoQQopSvxrm4OCV+\n8RKSbgwNDXAuXZoS379cU9OQjhqAJ+NMXTUIiS+91qaRxKJ1AcBuBzybA6mrhoTWBZGjy3XR3w/u\n7Fm45s8HM5ul9pJJjAuWcY5h4Ew1zoQQQhRjdrtU41xQAGaxAE5noi+JEKIQf+gQ3NXV0offwsLk\nHoIiisOGnwBxGrlNgTMhQ+m1No0kFq0LSBlnkwngOIjUWQMArQsiT4/rwtDQAPfMmQAgff8m8V0j\n1t0NkeMgjhgx5DjVOBNCCNENb8YZgFTnnAItrQgJanAQppdeSvRVaIY/cAAuT+AsJHkvdk4m2wwA\nYn4+2MAAIAjan9TplMpbMjK0f+8wKHAmuqbL2jSScLQu4KtxBiB11kjijJVWaF2kLr6xEVkPPhjR\na/W4LgyffHIh45zkG3y55uZhregAADwPMSdHquHWGLNapTINxjR/73AocCaEkCTEbDaInsCZxm6T\nVMf6+sA6O1Ojlt9qBdfcLNU4I/kDZ15m+IlXzMo1LJaEbAwEKHAmOqfH2jSSeLQuADgcvoyzWFwM\njko1aF2kMGY2g4kiWEeH6tfqbV3whw/DXVl54Y5RspdqBMs4I3ZDUBK1MRCgwJkQQpKSf8ZZoIwz\nSXHetmZcW1uCryR6hoYGuGfM8H2d7Jt7g9U4A7HLOCdqYyBAgTPROT3WppHEo3URsDmwpIQ2B4LW\nRSqLJnDW27rgGxp8GwMB6fs3mTPOfHPzsOEnXrEagkIZZ0IIIerYbFI7OtDmQJL6UinjzBLine truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3421890>"
|
||||
"<matplotlib.figure.Figure at 0x227bd90>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -1081,7 +1081,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3449890>"
|
||||
"<matplotlib.figure.Figure at 0x1ef1e90>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -1154,25 +1154,25 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x37b78d0>"
|
||||
"<matplotlib.figure.Figure at 0x1ee0910>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3441390>"
|
||||
"<matplotlib.figure.Figure at 0x228b990>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3bb7ed0>"
|
||||
"<matplotlib.figure.Figure at 0x2796f10>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -1211,7 +1211,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAsIAAAF9CAYAAAAOZg7kAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xd4VHXaxvF7JpMCpNCEUBI6KCGUhCIBqYqLGhUFu6gr\nvBZcZZG161pZdJeVXdeCutaVXQs2ll0bkiiKICAQBaRIiHSCkFASJpM57x9IVkiAZDKTM7853891\n5YIzc+bMk9wpT06e+R2XZVmWAAAAAIdx210AAAAAYAcaYQAAADgSjTAAAAAciUYYAAAAjkQjDAAA\nAEeiEQYAAIAj0QgDAADAkWiEAcAAa9as0bBhw1S/fn2lpKToscceq/Ex3n33XY0cOVJNmzaV2+1W\nbm5uCCoFAHPQCANAmPN6vRo5cqTq1aunRYsWaerUqbr33nv18ssv1+g4xcXF6t+/v6ZOnSpJcrlc\noSgXAIxBIwwAx+D1evV///d/SkxMVKtWrfTyyy/L7XbXuAGtrf/+97/asGGDnn/+eXXr1k2XX365\nrrjiCj3xxBM1Os7YsWN133336fTTTw9RpQBgFhphADiGRx55RO+++67efPNNffDBB3rxxRclVf9M\nakFBgeLj45WQkFDl2xdffFGt43z99dfq0KGDWrRoUXHb4MGDtXz5cvl8vpq/YwAASZLH7gIAIFw9\n/fTTmjRpks4880xJ0tSpU5WVlVXtx7dq1UorVqw45v0tW7as1nF27Nihpk2bqqSkRF27dtVFF12k\noUOHqry8XLt27VLz5s2rXRMA4H9ohAGgCnv27FFhYaG6d+9ecVu3bt1qdIyoqCi1b98+aDVFRUUp\nNTVVzZs3l2VZQTsuADgVjTAAhEhBQYG6du16zFGKDz74QAMGDDjhcZo1a6adO3cqJiamYqWHV155\nRVFRUWrSpElQawYAJ6ERBoAqNGzYUCeddJKWLVums846S5KUl5dXo2MEazSib9++mjJlirZs2VLx\nmJycHPXs2VMez5HfxouKirR79261aNFCsbGxNaoXAJyGRhgAjuGGG27Q9OnTlZGRoVatWumee+6p\n0eODNRoxcuRItW/fXuPHj9ejjz6q5cuX67XXXtNzzz1Xad/HH39cDz74oHJycjRo0KAj7tu9e7c2\nbtyoLVu2SJLWrl2rxMREtWnTRo0aNap1nQBgGlaNAIBjuOuuu3T++edrzJgxGjlypK655hpJqvMz\nrdHR0frPf/6jkpIS9enTR7fffrseeughjR07ttK+LpfrmKMY7733njIyMnTOOefI5XJp/PjxyszM\n1OzZs0P9LgBAWHJZx3nFxebNm3XxxRdrz549io2N1aOPPqrTTz9db7zxhu655x65XC5NmzZN55xz\nTl3WDAC22LBhgzp06KCvvvpKffv2tbscAEAtHbcR3rFjh7Zv36709HQVFBQoKytLGzZsUJcuXbRw\n4UKVlpZq6NChWrduXV3WDAB1Ys2aNfr44481bNgw+f1+3XXXXVq/fr1WrFght5s/qAGA6Y77nbxZ\ns2ZKT0+XJKWmpsrr9WrBggVKS0vTSSedpJSUFKWkpGj58uV1UiwA1KXDV5Hr27evBg0aJMuyNHv2\nbJpgAIgQ1X6x3IcffqjMzEzt2LFDLVq00IwZM9S4cWMlJydr69at6tGjRyjrBIA617FjRy1atMju\nMgAAIVKt0xrbtm3T5MmT9dRTT1Xcdt1112nMmDGSqn+5UQAAACBcnPCMcGlpqcaMGaNp06apXbt2\n2rJli7Zu3Vpx/7Zt29SiRYtKj3v99dfVtGnT4FYLAAAA/EJpaanOPvvsgB573EbYsixdc801uuyy\nyzRixAhJUp8+ffTdd99p586dKi0t1aZNm464BOlhTZs2VUZGRkBFwV6zZ89Wdna23WUgQORnNvIz\nF9mZjfzMtXTp0oAfe9xG+IsvvtCsWbO0evVqPfvss3K5XJozZ46mTp1acVnQ6dOnB/zkCE8FBQV2\nl4BaID+zkZ+5yM5s5OdMx22EBw4cKK/XW+n2iy66SBdddFHIigIAAABCjTWAUMnpp59udwmoBfIz\nG/mZi+zMRn7ORCOMSrp06WJ3CagF8jMb+ZmL7MxGfs5EI4xK5s+fb3cJqAXyMxv5mYvszEZ+zkQj\nDAAAAEdyWZZlheLAc+fOZfk0AAAAhNTSpUs1fPjwgB7LGWEAAAA4Eo0wKmFOymzkZzbyMxfZmY38\nnIlGGAAAAI7EjDAAAACMxYwwAAAAUEM0wqiEOSmzkZ/ZyM9cZGc28nMmGmEAAAA4EjPCAAAAMBYz\nwgAAAEAN0QijEuakzEZ+ZiM/c5Gd2cjPmWiEAQAA4EjMCOO4tmxxacUKj/bvlxITLXXo4Fdqql8e\nj92VAQAA1G5GmHbG4SxLWrvWrcJCt7KyfJXuX7s2Si+9FKP69aWiIpfWr3dr+3a3rrvuoO6/v8SG\nigEAAIKD0QiH+uEHtyZOrK+0tCSNHh2vefP+9zvRL+ekBg/26V//2q8XXtivWbP2admyYm3YsEc3\n31xa5XE3b3bp4MGQl4/jYM7NbORnLrIzG/k5E42ww5SXS9dfX19nnpmg5GS//vOfvVq+vFh33111\nY1uVuDipceOqJ2qeey5OXbok6aab6uv77/n0AgAA4YsZYQd6991oDRtWpsTE0Bx/+3aXXn01Vs89\nF6t+/Xy65ZZSZWaWh+bJAACAo7GOMGrk/PND1wRLUvPmliZPLtU33xTptNN8uvvu+iorC93zAQAA\nBIJGOIIVFwf2uGDNSdWvL40ff1AffLBX0dFBOSSqgTk3s5GfucjObOTnTDTCEeqtt6LVt2+Sduxw\n2V0KAABAWGJGOMIcOCDdcUd9ffWVR3//+36lp4fnbK7PJ114YbyuvfagsrPL5KJfBwAAAWBGGJKk\nnTtdOvPMBHm90ty5xWHbBEuSxyPddluppk6tp4svjte2bXTCAACgbtEIR5Dx4xto5MgyPf30ASUk\nBH6cupqTGjDAp9zcYvXq5dOQIYn6738ZJA4G5tzMRn7mIjuzkZ8zcWW5CDJjxn41a2YZNWYQHS3d\neWephg4t0w03NFCrVn517x6+Z7IBAEDkYEYYYaO09NDFOgAAAKqLGWFEBJpgAABQl2iEDRXKC1SE\n25xUaP5mEbnCLT/UDPmZi+zMRn7ORCNsIL9fuuKKeM2bF/kj3mvXupWdHa8tWwwafAYAAEagETbQ\n44/HqbjYpYEDfSE5/sCBA0Ny3EB07OjXsGE+nXFGohYujLK7HCOEU36oOfIzF9mZjfyc6YSN8OTJ\nk5WcnKz09PSK2x544AGlpaUpLS1NDz74YEgLxJFycz16/vlY/f3v+xxx2WKXS5o0qVSPP75fV14Z\nr5dfjrG7JAAAECFO2AhfeOGFmjNnTsX2hg0b9OqrryovL0/Lli3Tyy+/rI0bN4a0SByyZYtL11/f\nQM88s18tW4ZucDYc56RGjPDpP//ZqyefjNPUqbyq7njCMT9UH/mZi+zMRn7OdMIh0/79+ys/P79i\nOzExUdHR0SopKVF5ebliYmKUlJQUyhrxs7vuqq9rrz2owYNDMxIR7jp29OuDD/Zq1SpGJAAAQO3V\n+NVWTZo00S233KKUlBT5/X5NmzZNDRs2DEVtOMq0aQfUqFHol1AI5zmpxo0tDRjgzF8Eqiuc88OJ\nkZ+5yM5s5OdMNW6E8/Pz9cwzz2jjxo3yer0aMGCAzj77bCUnJ4eiPvxCkyasIwYAABAsNW6EFy5c\nqD59+ighIUGS1KtXL33zzTcaOXJkpX1vvPFGpaamSpKSkpKUnp5e8RvX4VkctsNv+5dzUuFQT3W2\nP/lkgeLiysOmHvJjO9Bt8jN3+/Bt4VIP2+QXqdt5eXkqKiqSJBUUFGjcuHEKVLUusZyfn6/s7Gzl\n5eXp66+/1vjx47Vo0SKVl5erZ8+eev/999WlS5cjHsMlls01f/78ik84ExQWujRkSKJefHGf+vQp\nt7sc25mWH45EfuYiO7ORn7lCeonlCRMmKCsrS99//71SUlK0bds2jRo1Sr169VLv3r01fvz4Sk0w\nguOHH9whvYLcsZj2jaBpU0uPP75fl18er9xcj93l2M60/HAk8jMX2ZmN/JypWmeEA8EZ4do5cEAa\nMCBRTzxxQKG6cEak+fJLj66+uoGmTz+gs86y4TcIAABQ50J6Rhj2mDYtThkZ5bY0wb+clzJJVpZP\nr7++T5Mm1desWQ642sgxmJofDiE/c5Gd2cjPmfg7chhatcqtV16J1eefF9tdinF69SrXu+/u1e7d\n/I4HAACOj9GIMGNZ0jnnxGvUqDKNG3fQ7nIAAADCGqMREeSjj6JVWurSNdfQBAMAAIQSjXCYGTGi\nTG++uU9RNl5FmDkps5Gf2cjPXGRnNvJzJhrhMONyHbqMMILrgw+iNW1anN1lAACAMMKMMBxh+3aX\nzjsvQeef79Xtt5fK5bK7IgAAEAzMCAMn0Ly5pfff36v334/RlClxCs2vfwAAwCQ0wqgkUuekmjU7\n1AzPmROjRx+N3DGJSM3PKcjPXGRnNvJzJhrhMHDLLfW1YAFLOteFpk0tvfvuXn36abQ2b2Y+AgAA\nJ2NG2Gbffhul0aPjtWRJkRo0sLsa57AsMScMAEAEYEbYYFOnxumWW0ppgusYTTAAAKARttHSpVH6\n5htP2F08gzkps5Gf2cjPXGRnNvJzJhphG02ZUk+33lqiuMh93ZZR1q/nywEAACfhJ79NSkqkFi38\nuuIKr92lVDJw4EC7S6hzJSXS6NHxevnlGLtLqTUn5hdJyM9cZGc28nMmliqwSb160hNPHLC7DPys\nXj1p1qx9ys5OUGysdMkl4fcLCgAACC7OCKMSp85JtW/v19tv79WDD9bT229H211OwJyaX6Line truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x37b7250>"
|
||||
"<matplotlib.figure.Figure at 0x2262990>"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1219,7 +1219,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x34273d0>"
|
||||
"<matplotlib.figure.Figure at 0x2797cd0>"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1227,7 +1227,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3ba4150>"
|
||||
"<matplotlib.figure.Figure at 0x2783110>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -1262,7 +1262,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x392be90>"
|
||||
"<matplotlib.figure.Figure at 0x23dfc50>"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1270,7 +1270,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAr8AAAF9CAYAAAAN0QDMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8U2XaxvErSZuuoUJZytIqiIAsyiIooIgoSMGiDioO\nMIiII4IOvoC4IriAjIKiyIjKICgoi7KK4DiiKAwWUMQKA7hQCkIREGi6t8l5/6jtWHta2pImafP7\nfqYfPMmT5G65Jtw9ufPEYhiGIQAAACAAWH1dAAAAAOAtNL8AAAAIGDS/AAAACBg0vwAAAAgYNL8A\nAAAIGDS/AAAACBg0vwBQDfXs2VNPPvmkr8sAgGqH5hdAjbB//3716tVL4eHhio2N1XPPPVfh++jZ\ns6esVmuxr0cffdR07Q8//CCHw6GmTZuWuO6jjz7S5ZdfrvDwcNWtW1d/+ctfKlzL2VgsFlksFo/f\nb2UkJiaqc+fOCgsLU/PmzbVw4cIK3f706dMaM2aMLrroIoWHh+v888/Xfffdp9OnTxdbt27dOrVp\n00ahoaFq27atNmzYUOz64cOHl/j7Gzx48Dl/fwBqFppfANVebm6u4uPjFRYWpm3btmn69OmaNGlS\nhZswi8WiCRMmKDU1tejrscceK7EuLy9PQ4YMUadOnUo0oJ9//rkGDBig6667Ttu3b9fWrVt16623\nntP3589OnDihvn37ql27dtq5c6fuu+8+jRgxQp999lm57+PYsWM6duyYZs2apd27d2v+/Plau3at\nBg0aVLRmz549uvnmm3XTTTdp165d6t+/v2666Sbt37+/aI3FYtGgQYOK/f299tprnvx2AdQEBgBU\nUk5OjnH33XcbDofDaNSokbFgwQLDYrEYCxYs8Godq1atMiwWi3HkyJGiy0aMGGF06tSpQvfTs2dP\nY8qUKWdd9/DDDxv33XefMWXKFOOCCy4odl2vXr2M22+/vUKPWxk9e/Y0HnzwQWPIkCFGZGSk0bRp\nU2PVqlVV/rh/NGvWLKNWrVpGbm5u0WW9evUyBg4ceE73++KLLxpWq9VIS0szDMMwHnjgAaNly5bF\n1lx44YXG+PHji47vuOMOY/jw4ef0uABqPs78Aqi0qVOnatWqVVq+fLk2bNigN998U5LK/XJ8SkqK\nIiMj5XA4TL+2bNlSrvvZvn27LrzwQjVs2LDosquvvlq7du1Sfn5+hb6nuXPnqm7durrkkks0ZcoU\n5eTkFLv+008/1YoVK/Tcc8/J+MOnw+fl5WnLli269NJL1adPHzVo0EDdu3fXxo0bK1RDeRiGoTfe\neEN9+/bVN998o8svv1x33XWXsrOzy3X7L774osyf/eHDh8t1P9u3b1eXLl0UHBxcdNnVV1+tbdu2\nVer7KnTq1CmFh4crJCSk6HGuuuqqYmv++DgWi0UffPCB6tevr4svvlhjx45VWlraOdUBoOYJ8nUB\nAKqvV199VePGjdP1118vSZo+fbq6detW7ts3btxY3377banXN2rUqFz388svv6hu3brKyspS69at\nddttt+maa66Ry+XSyZMn1aBBg3Ldz9ChQ9WsWTPVr19f27Zt08SJE5WcnKwFCxZIkn799VcNHz5c\n77zzjsLCwkrc/sSJE8rNzdWMGTP01FNP6fnnn9fChQvVr18/7dmzR82aNStXHeV1/fXXa+jQoZKk\nBx98UEuXLtWPP/6oNm3anPW2nTt3LvNn//tfJMpS+LM/fPiwOnTooClTpqhevXr65ZdfyvdNmDh0\n6JBmz56tcePGyW63S5KOHz+uq666Stu2bVOfPn301ltvqW7dusV+QerXr58GDRqk2NhY7dmzRw89\n9JCSkpKq5JcPANUXzS+ASjl9+rROnDihSy65pOiytm3bVug+bDabRxtCm82muLg4NWjQoMRZ2fK4\n6667iv67TZs2Cg4O1rBhw/TCCy+oTp06+utf/6qBAweqe/fuprd3u92SpOuuu06jR4+WJM2cOVNL\nly7VkiVLSn3zXGVYLBa1aNGi6LhOnTqSChr08ggNDfXIz77wLL/dbtcFF1yg6OhonTp1qtL3d/r0\naSUkJKhHjx6aMmVKiesjIyPVtGlTnXfeeSWu+/1sdZs2bdSwYUP16NFDX331lTp16lTpmgDULIw9\nAPAZT4091K9fX8ePH5fdbtemTZs0btw4HT9+XDabTdHR0ZWur2PHjpKkAwcOSJI++eQT/eMf/1BY\nWJjCwsI0depUHTx4UGFhYdq0aZOio6NLNKUWi0Xnn3++jhw5Uuk6ShMUVPL8RXmbfk+NPRT+7OvX\nr6/t27fr9ttv1/Hjx8t9tv33zpw5oz59+qhx48Zavnx5sfGZwsdp3bq1du7cqR49epz1cQr//pKT\nkytcC4CaizO/ACrlvPPOU7169fTNN9+oX79+kqSkpKQK3Yenxh66dOmiadOm6ciRI0W3+eyzz9S+\n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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3902cd0>"
|
||||
"<matplotlib.figure.Figure at 0x2798150>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -1318,7 +1318,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAsYAAAF9CAYAAAAHja6eAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl4k2X69vEzaZMUurFDkRaBgaIsZUcWZRVFFsUBHGVx\noWVzHBlERvy5jsqAiuI4iDSl7CggIFpEUBQYtoKCFTdkESvYsgndaJo2zfuHA+8wPEBb0iZNv5/j\n4Dh4kqdPruhpvHL3yh2T2+12CwAAAKjgzN4uAAAAAPAFNMYAAACAaIwBAAAASTTGAAAAgCQaYwAA\nAEASjTEAAAAgicYYgJ8xm81auHCht8sokeuvv14LFizwdhkAUGHRGAPAVRQUFGjixImqVauWQkJC\ndPfdd+vEiRMefxyTySSTyeTx65bE2rVr1axZMwUFBal58+b6+OOPi32NH3/8UT179lTlypUVGRmp\nl19++aL758+fL7PZfNGfunXreuopAECx0RgDwFU899xzmj9/vhYuXKgtW7bo559/1j333OPtskrN\nd999p0GDBumuu+5SSkqK+vXrp7vuuks//vhjka/hdDrVt29fVapUSbt27dK0adP09NNPX7IiXq9e\nPaWnp1/4s2/fPk8/HQAoMhpjAOWWw+FQbGyswsLCVLduXc2dO/ei+5OTk1W5cmVt3779wm3Lli1T\nWFiYDh48WKTHKCws1Ntvv63Jkyfr9ttvV5s2bTRz5kxt3rxZ33zzjUefjySlp6frjjvuUHBwsJo1\na6YdO3Z4/DGuxm63q2HDhnrppZcUHR2t6dOnq169eoqPjy/yNdatW6effvpJCQkJat68uYYNG6bh\nw4frzTffvOi8gIAA1apV68Kf6tWre/rpAECR0RgDKLdeeOEFrV27VmvWrNG6deuUmJh40f0dO3bU\n888/r2HDhikjI0OpqakaN26cZs+erT/84Q9KTU1VSEiIQkNDDf9s27ZNhw8f1m+//aabb775wnU7\nd+6swMBA7d6926PPx+1265///KfGjx+vPXv2qGbNmho1alSRf37JkiWXfS6hoaFFvs7u3bsver6S\n1K1bN+3atatY12jUqJEiIiIuukZKSooKCgou3Jaenq6oqCjVr19fgwcP1oEDB4r8GADgaYHeLgAA\nSmrOnDmaPHmyevToIUl65ZVX1LVr14vOefzxx/XZZ58pLi5Ox48f15133qlhw4ZJkq677jp9/fXX\nl71+3bp1tWfPHklS9erVNWnSJK1evVrffPONqlWr5vE5Y5PJpOHDh6t///6SpL/85S8aPHiwcnJy\nFBwcfNWfv/POO9WpU6drruPkyZO6+eabtWvXLvXp00cLFy5UjRo1tG3btiJf48SJE6pRo4Zyc3N1\n4403aujQoerRo4dcLpdOnz6t2rVr64YbbtC8efPUvHlznThxQi+++KK6dOmi7777TjVq1Ljm5wEA\nxUVjDKBcOnPmjH777Te1aNHiwm0tW7Y0PHfhwoVq2rSpqlSponXr1l24PSAgQA0bNizyY9aqVUv1\n69dXYGDpvXQ2adLkwt+rVasmSfrtt9+K1BiHhIQoJCTEY7WEhISoQYMGqlKlSomvERAQoKioKNWu\nXVtut/ui+zp27KiOHTteOO7QoYOioqK0YMECPfbYYyV+TAAoKUYpAJRLxdm9Yd++fcrNzdWJEycu\nmi0uyihFrVq1JEmnT5/W5MmT9dlnn8lsNuu33367cJ8nGTXd/9tQXs6VRinCwsKKXEOtWrV08uRJ\n3Xjjjdq7d69uueUWnTx5UrVr1y72NaxWqzZv3qyJEyfq5MmTCggIuOwccUhIiBo3bqwjR44U+XEA\nwJNYMQZQLlWpUkU1atTQ119/rb59+0qS4VjEiRMnNGzYME2dOlW//vqr7rnnHn3xxRcKDg4u0iiF\n1WpVtWrVtGXLFnXp0kWStG3bNhUUFKhDhw6l8+RKyFOjFO3bt9fatWsvum3z5s26++67Lzk3PT1d\nDodD119//UW3d+jQ4cI/8/NbsG3atEmtWrW67Iq7w+HQoUOH/HrHDwC+jcYYQLk1duxYzZw5U+3b\nt1f16tU1efLki+53u90aMWKEWrVqpQkTJig/P1+fffaZxo8frwULFhR5lGLcuHF65ZVX1Lp1a9Ws\nWVMTJkxQ9+7d1axZs0vONZvN6tatmz7//HOPPc+i8tQoRVxcnGbNmqUnn3xSI0aM0Pz58/Xrr79q\n9OjRl5z7pz/9SVu2bFFhYeFFt/ft21cNGzZUXFycpk+frpSUFC1ZskR2u/3COc8884xuuukmRUdH\n6+zZs5o6darMZrNGjBhxzc8BAEqCxhhAufXUU08pLS1Nd911l0JCQvTCCy9ctL3ZtGnTlJKScmFV\n2GKxaOnSpWrbtq169uyp+++/v0iP89xzz+ncuXMaMWKEcnNzddttt+ntt9++5Lzs7GxJumgnhmvl\njS/8uOGGG7Rq1SpNnjxZM2bMUOPGjbV69Wo1btzYsD6jGi0Wiz766CONHTv2whuXF154QSNHjrxw\nTmZmpkaPHq1Tp04pPDxcnTp10pYtW1SzZs1SfX4AcDkm91WG1yZNmqTFixerZs2aV9x4/dixY7rn\nnnt09uxZ2Ww2TZ8+Xb179/Z4wQDgq9auXauBAwcqJSVFzZs393Y5AIBiumpjvGPHDlmtVj3wwANX\nbIxPnDih48ePq0WLFkpNTVXnzp119OhRjxcMAL7qscceU3p6upYsWeLtUgAAJXDVxliSjhw5ogED\nBhTrqzpr1aqlY8eOyWKxXFOBAAAAQFkole3a1q9fr7Zt29IUAwAAoNzw+Ifv0tPTNWnSJH3wwQee\nvjQAAABQajzaGDscDg0ZMkQzZsxQgwYNDM9ZtmwZX/UJAACAUudwONSvX78in1/ixnjKlCkymUya\nOnWqpN/3C33wwQd13333qU+fPpf9uRo1aqhNmzYlfVj4qQ8//FADBgzwdhnwMeQCRsgFjJALGNmz\nZ0+xzr/qjPHDDz+szp07a//+/YqMjFRSUpKk30cm0tPTL5y3bds2rVy5UvHx8WrdurVat2590f3A\nlaSmpnq7BPggcgEj5AJGyAU84aorxrNmzdKsWbMuuX3evHkXHXft2lVOp9NzlQEAAABlqFR2pQCK\niy+DgRFyASPkAkbIBTyBxhg+ITo62tslwAeRCxghFzBCLuAJNMbwCVu3bvV2CfBB5AJGyAWMkAt4\nAo0xAAAAoCJ+JbQnbdy4ke3aAAAAUOr27NmjXr16Ffl8VowBAAAA0RjDRzAbBiPkAkbIBYyQC3gC\njTEAAAAgZowBAADgp5gxBgAAAEqAxhg+gdkwGCEXMEIuYIRcwBNojAEAAAAxYwwAAAA/xYwxAAAA\nUAI0xvAJzIbBCLmAEXIBI+QCnkBjDAAAAIgZYwAAAPgpZowBAACAEqAxhk9gNgxGyAWMkAsYIRfw\nBBpjAAAAQMwYAwAAwE8xYwwAAACUAI0xfAKzYTBCLmCEXMAIuYAn0BgDAAAAYsYYAAAAfooZYwAA\nAKAEaIzhE5gNgxFyASPkAkbIBTyBxhgAAAAQM8YAAADwU8wYAwAAACVAYwyfwGwYjJALGCEXMEIu\n4Ak0xgAAAICYMQYAAICfYsYYAAAAKAEaY/gEZsNghFzACLmAEXIBT6AxBgAAAMSMMQAAAPwUM8YA\nAABACdAYwycwGwYj5AJGyAWMkAt4Ao0xAAAAIGaMAQAA4KeYMQYAAABKgMYYPoHZMBghFzBCLmCE\nXMATaIwBAAAAMWMMAAAAP8WMMQAAAFACNMbwCcyGwQi5gBFyASPkAp5w1cZ40qRJqlOnjlq0aHHV\niy1fvlxNmjRRdHS0kpKSPFIgAAAAUBauOmO8Y8cOWa1WPfDAA9q3b99lz3M6nWratKmSk5PlcDjU\no0cPHTx48JLzmDEGAABAWfD4jHGnTp1UvXr1q14oOTlZzZo1U82aNRUZGanIyEilpKQUuRAAAADA\nmzw2Y3z8+HFFRERozpw5WrFiherUqaO0tDRPXR5+jtkwGCEXMEIuYIRcwBMCPX3BMWPGSJJWrVol\nk8nk6csDAACggkj7LkPV1ixReOEZOf7v/0r98TzWGEdERFy0Qpyenq6IiAjDc8ePH6+oqChJUnh4\nuFq0aKGuXbtK+v/v+DjmmGOOz9/mK/VwzDHHvnt8/jZfqYfjkh+73dLK55NUc9l6dT+xVqc79tGB\nP7bX2SL8+z3/99TUVElSbGysiqNIX/Bx5MgRDRgw4KIP302ZMkUmk0lTp06VdOmH73r27KkDBw5c\nci0+fAcAAID/lZtVoD3PfaJay+JVP+9HHeg5StdPHabgRrVLfE2Pf/ju4YcfVufOnbV//35FRkZe\n2IYtPT1d6enpF86zWq2aNm2aunTpol69emnmzJklKB8V1X+/0wPOIxcwQi5ghFyUX6bTp2WbOVM1\nbmqjBu/PksbcL8vRvWq2bOI1NcUlEXi1E2bNmqVZs2Zdcvu8efMuuW3o0KEaOnSoZyoDAACA3wpI\nSZEtPl6Wjz5Sfr9+cixdpLoxMV6t6aqNMVAW/ntGDDiPXMAIuYARclE+ZJ/JV8ozH6nr3rcVknFU\njlGjlPvFF3IXYWvgskBjDAAAgFKVuuukUp9arLZfzlVUtcb6dcKf5R5zmxToW62ox/YxBq4Fs2Ew\nQi5ghFzACLnwQW63TiV9qb03jlf9vh1VzZGmrBXvKfLAakU83M/nmmKJFWMAAAB4ksMh6/vvy2a3\nK+T0GaV3GqvcF6fqxogq3q7sqoq0XZsnsV0bAACA/zEdOybbvHmyLVokV4sWcowerYLevSWz9wYU\nirtdGyvGAAAAKJFCl1tf/XOXAt+266Zzn8s9bIiykpJU2Lixt0srEWaM4ROYDYMRcgEj5ALine truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x341e810>"
|
||||
"<matplotlib.figure.Figure at 0x1f1c3d0>"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1326,7 +1326,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3445350>"
|
||||
"<matplotlib.figure.Figure at 0x1ee34d0>"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1334,7 +1334,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAsAAAAF9CAYAAAAKk97ZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl4VOX5xvF7JpN9g2QSIEBYZEf2naKoCBaV4lIX3NBq\nFUH9qXVBRauiFltRW1sVtS5UadWqRcQqFjcWAS2ClEUEhSgQshASEjKZTOb8/ggJCTkJWc5sme/n\nunLJmeXMm/AYnnnnPu9rMwzDEAAAABAm7IEeAAAAAOBPNMAAAAAIKzTAAAAACCs0wAAAAAgrNMAA\nAAAIKzTAAAAACCs0wABaBbvdroULFwZ6GM3StWtXvfLKK4EeBgCEDRpgAKjH7373Ow0ZMkRJSUlK\nT0/X1KlTtXXrVstfx2azyWazWX7e5li6dKn69++vmJgYnXjiifrggw+afA673V7na9myZT4YLQA0\nDw0wANRj1apVuvXWW7Vu3Tp99NFHKikp0YQJE1RQUBDoofnEli1bdO655+qcc87Rxo0bddZZZ+mc\nc87R9u3bm3yut99+W9nZ2dVfp556qg9GDADNQwMMIOS4XC5dc801SkpKUkZGhv7617/Wun/t2rWK\ni4vT6tWrq297/fXXlZSUpB07djT6dd577z1dfvnl6tOnjwYNGqTHHntM2dnZWrVqlWXfS5Xs7Gyd\neeaZio+PV//+/fXFF19Y/hrH8/zzz6t79+56+OGH1bt3bz366KPq1KmTnnvuuSafq23btkpPT6/+\nioyM9MGIAaB5aIABhJy5c+dq6dKlWrx4sf7973/rxRdfrHX/qFGj9MADD+jSSy9VYWGhsrKydP31\n1+uZZ55Rjx49lJWVpYSEBCUmJpp+1dfgVs38tm3b1tLvxzAM/elPf9LMmTO1fv16paWl6eqrr270\n81977bV6v5fExMRGn+fLL7/USSedVOu28ePHa926dY0+R5UrrrhCaWlpGj16tBYtWtTk5wOAL9kM\nwzACPQgAaAqn06k77rhDd9xxhyRp9erVGjdunF5++WVdccUV1Y+bPHmyEhMTtX//fnXv3l0vvfSS\nJKmiokK7d++u9/wZGRmKiYmpdVt5ebnGjx+vqKgoffrpp5Z+P926ddNFF12kefPmSaqMD/zyl7/U\noUOHFB8ff9znFxcXKycnp977u3fv3qhx9O7dW+edd57OPfdcTZo0SQsXLtSqVau0ePFibdu2rXHf\njKR58+bp1FNPVXR0tBYvXqy5c+fqhRde0JVXXtnocwCALzkCPQAAaIqCggIdOHBAAwYMqL5t4MCB\npo9duHCh+vTpozZt2ujf//539e0RERGNbgqlyhnaa6+9Vrm5uT6JP0hSr169qv+ckpIiSTpw4ECj\nGuCEhAQlJCRYNpaEhAR169ZNbdq0adbzZ8+eXf3nwYMH68cff9T8+fNpgAEEDSIQAEJKU1ZL2LRp\nk0pLS5WTk1Mr+9uUCIRhGLr++uv1+eef6+OPP1Z6erql308Vh6PufERjP6BrKAKRlJTU6DGkp6cr\nNzdX/fr109dff62TTz5Zubm5ateuXaPPYWbo0KH64YcfWnQOALASM8AAQkqbNm3kdDr1zTffaPLk\nyZKkb775ps7jcnJydOmll+qRRx7R3r17ddFFF+mrr75SfHy8OnbsaPqcKhkZGdV/vuGGG/Sf//xH\nn376qTp37mz9N2SBqVOnasyYMS0+z4gRI7R06dJat3322Wc677zz6jw2OztbLpdLXbt2Pe55t2zZ\n0qQZdwDwNRpgACFnxowZevLJJzVixAilpqZWZ4GrGIahyy+/XIMHD9bNN9+s8vJyffzxx5o5c6Ze\neeWVRkcgZs6cqX/961969913FRkZqezsbEmVTfixGWG73a7x48frk08+se4bbSSrIhC//vWv9Ze/\n/EV33323Lr/8cr388svau3evrr322jqPvfjii/X555/L6/XWun3x4sXas2ePxo0bp7i4OH3wwQd6\n4YUX9Mwzz7R4fABgFRpgACFnzpw52rdvn8455xwlJCRo7ty5tZYNmzdvnjZu3Fg9yxsZGalFixZp\n2LBhOu200zR9+vRGvc6zzz4rm82mkSNH1rr92IvtiouLJUkdOnRo6bdWLRAbY/Tt21dvv/227rjj\nDs2fP189e/bUO++8o549e5qOz2yMMTExeuaZZ3TnnXfKMAz16tVLzz33XK2fFwAEWotWgYiIiKi+\n+GT8+PF68sknLRsYAISKpUuX6he/+IU2btyoE088MdDDAQAcR4tmgOPi4vT1119bNRYACEkff/yx\nLr74YppfAAgRLZoBTkxM1KFDh6wcDwAAAOBTLVoGzeVyadiwYRo3bpxWrFhh1ZgAAAAAn2nRDHBO\nTo7S09P11Vdf6dxzz9WOHTsUHR1t5fgAAAAAS7UoA1y1IPzw4cOVkZGhXbt2qXfv3pKk119/XU6n\ns+UjBAAAABrgcrl01llnNfrxzW6ACwoKFBMTo9jYWO3atUt79uxRZmZm9f1Op1NDhw5t7unRSi1Z\nskRTpkwJ9DAQZKgLmKEuYIa6gJn169c36fHNboC3bdumq666StHR0YqIiNBf//pXxcbGNvd0CBNZ\nWVmBHgKCEHUBM9QFzFAXsEKzG+AxY8Zo27ZtVo4FAAAA8LkWrQIBNNXpp58e6CEgCFEXMENdwAx1\nASvQAMOvqi6SBGqiLmCGuoAZ6gJWoAGGX61cuTLQQ0AQoi5ghrqAGeoCVqABBgAAQFhp0UYYDVm+\nfDnLoAEAAMDn1q9frwkTJjT68cwAAwAAIKzQAMOvyG7BDHUBM9QFzFAXsAINMAAAAMIKGWAAAACE\nNDLAAAAAQANogOFXZLdghrqAGeoCZqgLWIEGGAAAAGGFDDAAAABCGhlgAAAAoAE0wPArslswQ13A\nDHUBM9QFrEADDAAAgLBCBhgAAAAhjQwwAAAA0AAaYPgV2S2YoS5ghrqAGeoCVqABBgAAQFghAwwA\nAICQRgYYAAAAaAANMPyK7BbMUBcwQ13ADHUBK9AAAwAAIKyQAQYAAEBIIwMMAAAANIAGGH5Fdgtm\nqAuYoS5ghrqAFWiAAQAAEFbIAAMAACCkkQEGAAAAGkADDL8iuwUz1AXMUBcwQ13ACjTAAAAACCtk\ngAEAABDSyAADAAAADaABhl+R3YIZ6gJmqAuYoS5gBRpgAAAAhBUywAAAAAhpZIABAACABtAAw6/I\nbsEMdQEz1AXMUBewAg0wAAAAwgoZYAAAAIQ0MsAAAABAA2iA4Vdkt2CGuoAZ6gJmqAtYgQYYAAAA\nYYUMMAAAAEIaGWAAAACgATTA8CuyWzBDXcAMdQEz1AWs0KIG+NChQ8rIyND8+fOtGg8AAADgUy1q\ngB9++GENHz5cNpvNqvGglRs3blygh4AgRF3ADHUBM9QFrNDsBvjbb79Vbm6uhg0bJh9dRwcAAABY\nrtkN8F133aX777/fwqEgHJDdghnqAmaoC5ihLmCFZjXAS5YsUa9evdS5c2dmfwEAABBSHM150rp1\n6/TWW29p8eLFysvLk91uV0ZGhqZNm1brcTNnzlRmZqYkKTk5WQMGDKjO7lS9g+OYY445rrotWMbD\nMcccB+9x1W3BMh6OA3Nc9eesrCxJ0jXXXKOmaPFGGA888IASExN166231rqdjTAAAADgD2yEgaBW\n850bUIW6gBnqAmaoC1jB0dIT/Pa3v7ViHAAAAIBftDgCUR8iEAAAAPAHIhAAAABAA2iA4Vdkt2CG\nuoAZ6gJmqAtYgQYYAAAAYYUMMAAAAEIaGWAAAACgATTA8CuyWzBDXcAMdQEz1AWsQAMMAACAsEIG\nGAAAACGNDDAAAADQABpg+BXZLZihLmCGuoAZ6gJWoAEGAABAWCEDDAAAgJBGBhgAAABoAA0w/Irs\nFsxQFzBDXcAMdQEr0AADAAAgrJABBgAAQEgjAwwAAAA0gAYYfkV2C2aoC5ihLmCGuoAVaIABAAAQ\nVsgAAwAAIKSRAQYAAAAaQAMMvyK7BTPUBcxQFzBDXcAKNMAAAAAIK2SAAQAAENLIAAMAAAANoAGG\nX5HdghnqAmaoC5ihLmAFGmAAAACEFTLAAAAACGlkgAEAAIAG0ADDr8huwQx1ATPUBcxQF7ACDTAA\nAADCChlgAAAAhDQywAAAAEADaIDhV2S3YIa6gBnqAmaoC1iBBhgAAABhhQwwAAAAQhoZYAAAAKAB\nNMDwK7JbMENdwAx1ATPUBaxAAwwAAICwQgYYAAAAIY0MMAAAANAAGmD4FdktmKEuYIa6gBnqAlag\nAQYAAEBYIQMMAACAkEYGGAAAAGgADTD8iuwWzFAXMENdwAx1ASs0qwHOz8/XiBEjNHjwYA0aNEhv\nvPGG1eMCAAAAfKJZGWCPxyO32624uDjl5+erb9++ys7Olt1+tJ8mAwwAAAB/aGoG2NGcF3E4HHI4\nKp9aUFCg6Ojo5pwGAAAA8LtmZ4CLi4s1YMAADRw4UE899VSt2V+gPmS3YIa6gBnqAmaoC1ih2V1r\nQkKCNm3apPXr1+u2225TSUmJleMCAAAAfKJZEYia+vTpoy5dumjr1q0aPnx4rftmzpypzMxMSVJy\ncrIGDBigcePGSTr6Do5jjjnmuOq2YBkPxxxzHLzHVbcFy3g4Dsxx1Z+zsrIkSddcc42aolkXwe3d\nu1fR0dFKTU1Vdna2hg8fro0bNyo1NbX6MVwEBwAAAH/wy0YYWVlZOvXUUzVw4EBNnDhR8+fPr9X8\nAvWp+c4NqEJdwAx1ATPUBazgaM6TRo8erW+++cbqsQAAAAA+16wIRGMQgQAAAIA/+CUCAQAAAIQq\nGmD4FdktmKEuYIa6gBnqAlagAQYAAEBYIQMMAACAkEYGGAAAAGgADTD8iuwWzFAXMENdwALine truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3bae550>"
|
||||
"<matplotlib.figure.Figure at 0x27a1490>"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
Reference in new issue
Block a user