More improvements to Bayes' theorem coverage.

Mostly rearranging descriptions from chapter 2 to 3, after I cover
probability distributions. I think some more work needs to be done,
mainly I think I go on for too long on pdfs, using first cars, then
temperatures, to explain the same thing.
This commit is contained in:
Roger Labbe committed 2018-08-29 19:39:14 -07:00
1 parent 3270a5b686
commit 70858d0e34
3 files changed
+198 -109

No files matched your search

+4 -4
View File
@@ -1703,15 +1703,15 @@
"\n",
"We implemented the `update()` function with this probability calculation:\n",
"\n",
"$$ \\mathtt{posterior} = \\frac{\\mathtt{likelihood}\\times \\mathtt{prior}}{\\mathtt{normalization}}$$ \n",
"$$ \\mathtt{posterior} = \\frac{\\mathtt{likelihood}\\times \\mathtt{prior}}{\\mathtt{normalization\\, factor}}$$ \n",
"\n",
"We haven't developed the mathematics to discuss Bayes yet, but this is Bayes' theorem. Every filter in this book is an expression of Bayes theorem. In the next chapter we will develop the mathematics, but in many ways that obscures the simple idea expressed in this equation:\n",
"We haven't developed the mathematics to discuss Bayes yet, but this is Bayes' theorem. Every filter in this book is an expression of Bayes' theorem. In the next chapter we will develop the mathematics, but in many ways that obscures the simple idea expressed in this equation:\n",
"\n",
"$$ updated\\,knowledge = \\big\\|likelihood\\,of\\,new\\,knowledge\\times prior\\, knowledge \\big\\|$$\n",
"\n",
"where $\\| \\cdot\\|$ expresses normalizing the term.\n",
"\n",
"We came to this with simple reasoning about a dog walking down a hallway. Yet, as we will see, the same equation applies to a universe of filtering problems. We will use this equation in every subsequent chapter.\n",
"We came to this with simple reasoning about a dog walking down a hallway. Yet, as we will see the same equation applies to a universe of filtering problems. We will use this equation in every subsequent chapter.\n",
"\n",
"Likewise, the `predict()` step computes the total probability of multiple possible events. This is known as the *Total Probability Theorem* in statistics, and we will also cover this in the next chapter after developing some supporting math.\n",
"\n",
@@ -1792,7 +1792,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
"version": "3.6.4"
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
+190 -99
View File
@@ -11,7 +11,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# Gaussian Probabilities"
"# Probabilities, Gaussians, and Bayes' Theorem"
]
},
{
@@ -36,7 +36,7 @@
" <style>\n",
" .output_wrapper, .output {\n",
" height:auto !important;\n",
" max-height:10000px; \n",
" max-height:100000px; \n",
" }\n",
" .output_scroll {\n",
" box-shadow:none !important;\n",
@@ -77,13 +77,13 @@
"source": [
"## Mean, Variance, and Standard Deviations\n",
"\n",
"Most of you will have had exposure to at least basic statistics, but allow me to cover this material anyway. I ask that you read the material even if you are sure you know it well. I ask for two reasons. First, I want to be sure that we are using terms in the same way. Second, I strive to form an intuitive understanding of statistics that will serve you well in later chapters. It's easy to go through a stats course and only remember the formulas and calculations, and perhaps be fuzzy on the implications of what you have learned.\n",
"Most of you will have had exposure to statistics, but allow me to cover this material anyway. I ask that you read the material even if you are sure you know it well. I ask for two reasons. First, I want to be sure that we are using terms in the same way. Second, I strive to form an intuitive understanding of statistics that will serve you well in later chapters. It's easy to go through a stats course and only remember the formulas and calculations, and perhaps be fuzzy on the implications of what you have learned.\n",
"\n",
"### Random Variables\n",
"\n",
"Each time you roll a die the *outcome* will be between 1 and 6. If we rolled a fair die a million times we'd expect to get a one 1/6 of the time. Thus we say the *probability*, or *odds* of the outcome 1 is 1/6. Likewise, if I asked you the chance of 1 being the result of the next roll you'd reply 1/6. \n",
"\n",
"This combination of values and associated probabilities is called a [*random variable*](https://en.wikipedia.org/wiki/Random_variable). Here *random* does not mean the process is nondeterministic, only that we lack information. The result of a die toss is deterministic, but we lack enough information to compute the result. We don't know what will happen, except probabilistically.\n",
"This combination of values and associated probabilities is called a [*random variable*](https://en.wikipedia.org/wiki/Random_variable). Here *random* does not mean the process is nondeterministic, only that we lack information about the outcome. The result of a die toss is deterministic, but we lack enough information to compute the result. We don't know what will happen, except probabilistically.\n",
"\n",
"While we are defining terms, the range of values is called the [*sample space*](https://en.wikipedia.org/wiki/Sample_space). For a die the sample space is {1, 2, 3, 4, 5, 6}. For a coin the sample space is {H, T}. *Space* is a mathematical term which means a set with structure. The sample space for the die is a subset of the natural numbers in the range of 1 to 6.\n",
"\n",
@@ -93,7 +93,7 @@
"\n",
"Do not confuse the *measurement* of the random variable with the actual value. If we can only measure the height of a person to 0.1 meters we would only record values from 0.1, 0.2, 0.3...2.7, yielding 27 discrete choices. Nonetheless a person's height can vary between any arbitrary real value between those ranges, and so height is a continuous random variable. \n",
"\n",
"In statistics capital letters are used for random variables, usually from the latter half of the alphabet. So, we might say that $X$ is the random variable representing the die toss, or $Y$ are the heights of the students in the freshmen poetry class. Later chapters use linear algebra to solve these problems, and so there we will follow the convention of using lower case for vectors, and upper case for matrices. Unfortunately these conventions clash, and you will have to determine which an author is using from context. "
"In statistics capital letters are used for random variables, usually from the latter half of the alphabet. So, we might say that $X$ is the random variable representing the die toss, or $Y$ are the heights of the students in the freshmen poetry class. Later chapters use linear algebra to solve these problems, and so there we will follow the convention of using lower case for vectors, and upper case for matrices. Unfortunately these conventions clash, and you will have to determine which an author is using from context. I always use bold symbols for vectors and matrices, which helps distinguish between the two."
]
},
{
@@ -118,11 +118,11 @@
"\n",
"$$P(X{=}4) = p(4) = \\frac{1}{6}$$\n",
"\n",
"This states that the probability of the die landing on 4 is $\\frac{1}{6}$. $P(X{=}x_k)$ is notation for \"the probability of $X$ being $x_k$\".\n",
"This states that the probability of the die landing on 4 is $\\frac{1}{6}$. $P(X{=}x_k)$ is notation for \"the probability of $X$ being $x_k$\". Note the subtle notational difference. The capital $P$ denotes the probability of a single event, and the lower case $p$ is the probability distribution function. This can lead you astray if you are not observent. Some texts use $Pr$ instead of $P$ to ameliorate this. \n",
"\n",
"Another example is a fair coin. It has the sample space {H, T}. The coin is fair, so the probability for heads (H) is 50%, and the probability for tails (T) is 50%. We write this as\n",
"\n",
"$$\\begin{gathered}p(X{=}H) = 0.5\\\\p(X{=}T)=0.5\\end{gathered}$$\n",
"$$\\begin{gathered}P(X{=}H) = 0.5\\\\P(X{=}T)=0.5\\end{gathered}$$\n",
"\n",
"Sample spaces are not unique. One sample space for a die is {1, 2, 3, 4, 5, 6}. Another valid sample space would be {even, odd}. Another might be {dots in all corners, not dots in all corners}. A sample space is valid so long as it covers all possibilities, and any single event is described by only one element. {even, 1, 3, 4, 5} is not a valid sample space for a die since a value of 4 is matched both by 'even' and '4'.\n",
"\n",
@@ -146,11 +146,18 @@
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"sum = 1.0\n"
]
},
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<Figure size 800x200 with 1 Axes>"
"<matplotlib.figure.Figure at 0x1d9166773c8>"
]
},
"metadata": {},
@@ -162,8 +169,10 @@
"import kf_book.book_plots as book_plots\n",
"\n",
"belief = np.array([1, 4, 2, 0, 8, 2, 2, 35, 4, 3, 2])\n",
"belief = belief / np.sum(belief)\n",
"with book_plots.figsize(y=2):\n",
" book_plots.bar_plot(belief/sum(belief))"
" book_plots.bar_plot(belief)\n",
"print('sum = ', np.sum(belief))"
]
},
{
@@ -255,7 +264,7 @@
"\n",
"Finally, the *median* of a set of numbers is the middle point of the set so that half the values are below the median and half are above the median. Here, above and below is in relation to the set being sorted. If the set contains an even number of values then the two middle numbers are averaged together.\n",
"\n",
"Numpy provides `numpy.median()` to compute the median. As you can see the median of {1.8, 2.0, 1.7, 1.9, 1.6} is 1.8, because 1.8 is the third element of this set after being sorted."
"Numpy provides `numpy.median()` to compute the median. As you can see the median of {1.8, 2.0, 1.7, 1.9, 1.6} is 1.8, because 1.8 is the third element of this set after being sorted. In this case the median equals the mean, but that is not generally true."
]
},
{
@@ -304,7 +313,7 @@
"\n",
"If $x$ is continuous we substitute the sum for an integral, like so\n",
"\n",
"$$\\mathbb E[X] = \\int_{-\\infty}^\\infty x\\, f(x) \\,dx$$\n",
"$$\\mathbb E[X] = \\int_{a}^b\\, f(x) \\,dx$$\n",
"\n",
"where $f(x)$ is the probability distribution function of $x$. We won't be using this equation yet, but we will be using it in the next chapter.\n",
"\n",
@@ -319,7 +328,7 @@
{
"data": {
"text/plain": [
"1.500732"
"1.500406"
]
},
"execution_count": 7,
@@ -345,6 +354,38 @@
"You can see that the computed value is close to the analytically derived value. It is not exact because getting an exact values requires an infinite sample size."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Exercise\n",
"\n",
"What is the expected value of a die role?\n",
"\n",
"### Solution\n",
"\n",
"Each side is equally likely, so each has a probability of 1/6. Hence\n",
"$$\\begin{aligned}\n",
"\\mathbb E[X] &= 1/6\\times1 + 1/6\\times 2 + 1/6\\times 3 + 1/6\\times 4 + 1/6\\times 5 + 1/6\\times6 \\\\\n",
"&= 1/6(1+2+3+4+5+6)\\\\&= 3\\end{aligned}$$\n",
"\n",
"### Exercise\n",
"\n",
"Given the uniform continuous distribution\n",
"\n",
"$$f(x) = \\frac{1}{b - a}$$\n",
"\n",
"compute the expected value for $a=0$ and $B=20$.\n",
"\n",
"### Solution\n",
"$$\\begin{aligned}\n",
"\\mathbb E[X] &= \\int_0^{20}\\, x\\frac{1}{20} \\,dx \\\\\n",
"&= \\bigg[\\frac{x^2}{40}\\bigg]_0^{20} \\\\\n",
"&= 10 - 0 \\\\\n",
"&= 10\n",
"\\end{aligned}$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
@@ -499,9 +540,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<Figure size 900x400 with 1 Axes>"
"<matplotlib.figure.Figure at 0x1d9169a12b0>"
]
},
"metadata": {},
@@ -531,9 +572,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA18AAAGACAYAAABSsdi6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3Xt4HNV9P/733iRZliXZkmxLWsuS79jYIgm/YicEF5PwcyF8uTRuG0gaAiUpSSiBBBMaMLbJxSFFlFtSSChOk0D5QkPdBEgK5hoSTAuJjGR8QbawbrZlWZIlWZfZnf3+sZ7RzOyZ2Vlp52i1er+ex89ae86cPTPzmc/M2Zmd8cVisRiIiIiIiIjIU/6J7gAREREREdFUwMEXERERERGRBBx8ERERERERScDBFxERERERkQQcfBEREREREUnAwRcREREREZEEwYnugEyqqkJVVdN7Pp8PPp9vgnpERERERESZKBaLwfpULr/fD79/7Oevptzga2BgYKK7QUREREREk9D06dPHNfjiZYdEREREREQScPBFREREREQkAQdfREREREREEkyp33yJbqwx3us2iYiIiIgo+4juFzHeG/VN+cHXeO9YQkREREREU8N4B18cdRAREREREUkwpc58Ecm2f/9+RCIRBINBLFmyZKK7Q1mMsUayMNZIFsYaySIz1jj4IvLQ4OAgFEVBKBSa6K5QlmOskSyMNZKFsUayyIw1XnZI5CGfz6f/I/ISY41kYayRLIw1kkVmrPlisVjM80/JEKqqoq+vz/TejBkzeMMNIiIiIiIy8WLswFEHERERERGRBBx8ERERERERScDBFxERERERkQS82yGRhzo7OxGNRhEIBFBWVjbR3aEsxlgjWRhrJAtjjWSRGWscfBF5qL29Xb91KXcc5CXGGsnCWCNZGGski8xY4+CLiIiIiIiSqqurw8mTJ1FYWIibb755orszKfFW87zVPHmop6cHqqrC7/ejuLh4ortDWYyxRrIw1kgWxlrmCYfDaGtrQ2VlJVpbWye6O2ljF2tejB145ovIQ9xZkCyMNZKFsUayMNZIFpmxxlM+REREREREEnDwRUREREREJAEvOyTyUCQSQSwWg8/nQzDIzY28w1gjWRhrJAtjjWSRGWuMZCIPNTY26rcura2tnejuUBZjrJEsjDWS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 truncated
"text/plain": [
"<Figure size 900x400 with 1 Axes>"
"<matplotlib.figure.Figure at 0x1d9173e5f28>"
]
},
"metadata": {},
@@ -543,8 +584,8 @@
"name": "stdout",
"output_type": "stream",
"text": [
"mean = 1.804\n",
"std = 0.156\n"
"mean = 1.789\n",
"std = 0.137\n"
]
}
],
@@ -573,7 +614,7 @@
{
"data": {
"text/plain": [
"67.0"
"71.0"
]
},
"execution_count": 14,
@@ -681,9 +722,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<Figure size 900x400 with 1 Axes>"
"<matplotlib.figure.Figure at 0x1d91761b4a8>"
]
},
"metadata": {},
@@ -766,9 +807,9 @@
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA1YAAAGACAYAAACupPNwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3Xd8FGX+B/DPbEnvjRaSEBISSCB0QQUROcWK6IHds5yeZ8GudyKgondY8FRE/elZUFFAFAULnFjupKkQEkhCQggJqZDe2+7s/P6IWbPJkj4zO7uf9+uVF5rJPPvdzz55ss/OzDOCJEkSiIiIiIiIqN90ahdARERERESkdZxYERERERERDRAnVkRERERERAPEiRUREREREdEAcWJFREREREQ0QJxYERERERERDZBB7QKUZLFYYLFYbL4nCAIEQVCpIiIiIiIickSSJKHznal0Oh10OvvHplxuYtXQ0KB2GUREREREpEHe3t6nnVjxVEAiIiIiIqIB4sSKiIiIiIhogDixIiIiIiIiGiCXusbK3iIV3Z0nSURERERErsne+gzdLXrn8hOr7lb2ICIiIiIiatfdxIozCiIiIiIiogFyqSNWjuTo0aMwm80wGAwYM2aM2uU4LeYsP2asDOYsP2asDOasDOYsP2asDC3lzImVSpqammAymWA0GtUuxakxZ/kxY2UwZ/kxY2UwZ2UwZ/kxY2VoKWeeCqgSQRCsXyQf5iw/ZqwM5iw/ZqwM5qwM5iw/ZqwMLeUsSJIkqV2EUiwWC+rq6my+5+vry8UriIiIiIjIRl/nDpxREBERERERDRAnVkRERERERAPEiRUREREREdEAcVVAlZSVlUEURej1eoSGhqpdjtNizvJjxspgzvJjxspgzspgzvJjxsrQUs6cWKmkuLjYunSko3cSLWPO8mPGymDOA2cSLSisakJeeQOKqptQUd+K8voW1DSZ0GIWUV5VA5PZAjeDDiGBAfAw6hDg5YYQHzeE+LgjPNALo0K9MczPAzqd469O5ajYl5XBnOXHjJWhpZw5sSIiIqdjEi04UlKL1IJqpBbWILWgGrnlDTBberkQbvHJ025yN+gwZogvkkb6Y0J4ACaODEBMqA8nW0RELo7Lrau03Hp1dTUsFgt0Oh0CAgIUf3xXwZzlx4yVwZx7VlDZiP8eLcN/j5Zhz7FyNLSKXX7Gw6hDVLA3wgO9EOrrjhAfN/h7GuFh1MPc2gy9AIgWQO/ugeZWEZWNraiob0FZXQtOVDaioLIRJrHrn81gbzfMig3BOXGhmBUbihAfdyWesiaxLyuDOcuPGStDzZz7OnfgxIr3sSIi0qyCykZsO1SMrSnFyDxpO74HeBmRFB6ApHB/JI0MwNhhfhg6wNP4zKIFRdVNSCuqRWphNVILqnG4qAaNnSZx06ICcdnEEbh4/DAEebv1+/GIiEg9nFh1gxMrIiLta2oV8UVKETYfKMT+E1XW7+t1AqZEBOKcuFCcMyYU44b5KXJ6nkm0IPlElfVoWXpxrXWbQSdgVmwIrpoWgXljw2DQ8+8NEZFWcGLVDU6siIi060RFAz7YewKb9hegttkMABAEYGZ0MC5LGo75iUMR4KX+0aGSmiZ8mVqCL1KLkFb0+yRruL8HrpsRiaumjeSpgkREGsCJVTccaWJlNpshSRIEQYDBwDVE5MKc5ceMleHKOacV1WDN99n4T8YptP/FigjywnVnRODySSMwxM9jUB5Hjoxzyurx6YFCbPi1AJUNrQAAN70OV04Jx51zRmNkkNegPI6WuHJfVhJzlh8zVoaaOXNi1Q1HmlilpqZal45MSkpS/PFdBXOWHzNWhivmfDC/Cmu+P4bvM0ut35sTF4obZ0binDFh0A/yaX5yZtxsEvH14RKs23sCqQXVANpOXbxi0gjcdW4MokK8B/XxHJkr9mU1MGf5MWNlqJlzX+cOnF4TEZFDySmrx6pvMvFtxikAgE4ALk0ajrvPjUHsEF+Vq+sfD6MeV0wOxxWTw/FLbiXWfJ+Nn7LL8cmBQnyaXIirpkXg/j/EIsx3cI6+ERGR8jixUomfnx/MZjMPHcuMOcuPGSvDFXKuqG/By99lY/3P+RAtEvQ6AQt/O6IzSoEjOkplPH1UED649Qwk51fh1d+OyH38Sz62phThjnNG48+zouHpppe1BjW5Ql92BMxZfsxYGVrKmacCcvEKIiJVmUUL1u09gZe+PYq6lrZFKeaNHYK/XRiPmDAflauT3695lXj6qyPWUwSH+nlg2SXjcNH4oRAE3nSYiEgtvMaqG5xYERE5ltSCajy25bB1ifLEEX5YetE4zBwdrHJlyrJYJHx5uATPfpOJouomAG3Xk61ckOiSC1wQETkCTqy6wYkVEZFjqG8x4/ntmXh/3wlIEuDnYcDfLxqLq6aOVOTeU46q2STitR9z8MaPOWgVLfAw6rDkvFjcPiua98AiIlIYJ1bd4MSKiEh9+45X4KFPUlFY1XZkZuGkEVh68Vje26mDnLJ6LN1yGPuOVwIAksL9sXrxRJc4NZKIyFFwYtUNR5pYHT9+3HohXnR0tOKP7yqYs/yYsTKcIedmk4gXdmTh7d25kCRgRIAnnr1yAs6ODVG7NACOl7EkSfg0uQhPbUtHbbMZ7gYdHp0fj5vOjNL0UT1Hy9lZMWf5MWNlqJkzl1vXiLq6Ouua/CQf5iw/ZqwMreecUVyLJRsO4lhpPQDg6mkj8fgl4+Dj7jh/hhwtY0EQ8Mcp4TgrJhiPbD6En7LL8dSXGfg24xT+ddVEDPXX5tLsjpazs2LO8mPGytBSzjwHjoiIZCNJEtb/fAKXv7Ybx0rrEerrjndumopVV05wqEmVIxvm74n3b5mOpy9PhKdRj73HK3DRKz/hx6zSnncmIiLF8FRAlU4FFEXR+t96vfPer0RtzFl+zFgZWsy5rtmEv392GF8eKgEAnBsXitWLJyLI203lyuzTQsa55Q24a30yMkraVlH865zRePAPYzS1sIUWcnYGzFl+zFgZaubMa6y64UgTKyIiZ5Z1sg5/+WA/8ioaYdAJeGR+HP58drSmrw1yFM0mEc98dQQf7DsBAJgWFYi1101GmK82Tw0kInJUnFh1gxMrIiL5bU87iQc2paCxVcSIAE+8cs0kTIkMVLssp/PVoRL87dNDqGsxY6ifB/7vhilIGhmgdllERE6DE6tucGJFRCQfi0XCK99n46Wd2QCAmdHBWHvdZIc99c8ZHC+rx23v70dOWQPcDDo8e+V4LJwUrnZZREROgROrbjjSxKqqqgoWiwU6nQ6BgfwkVy7MWX7MWBmOnnN9ixkPbEzBfzJOAQBuOjMKSy8eC6OGrv1x9IxPp67ZhPs2pOC7zLbFLG6bNQqPzo932OuutJqz1jBn+TFjZaiZM5db14j8/Hzr0pH8ZZQPc5YfM1aGI+dcUtOEm9/9FZkn6+Cm1+HphYlYPHWk2mX1mSNn3B1fDyPeunEqXvz2KF794Rje+ikX2aX1WHvtZHg74MqLWs1Za5iz/JixMrSUs2N+nEVERJpwpKQWC9fuQebJOoT4uOPj22doclKldTqdgIcuiMPaayfDw6jDj1lluOrNvSita1a7NCIil+F4H2W5iBEjRlgPa5J8mLP8mLEyHDHn3cfKcccHB1DXYkZMmA/eu3kawgO91C6r3xwx4766eMIwjAj0xK3v/Yq0orZJ77pbpiEmzFft0qycIWctYM7yY8bK0FLOvMaKi1cQEfXZZ8mFeGTzIZgtEqaPCsJbN0yFv5dR7bLoNycqGnDTu78it7wB/p5tpwpOHxWkdllERJrS17kDZxRERNQnr/+Ygwc2pcJskXBp0nB8cOt0TqocTGSwNz7965mYHBGAmiYTrv/3z9ieVqJ2WURETo0TKyIi6hVJkvDc9kw8uz0TAPCX2dF4+aqJcDfoVa6M7AnydsNHt83ABQlD0CpacOf6ZHx6oFDtsoiInBYnVkRE1COLRcKKrel47cccAMDfL4zH3y8aC51OULky6o6HUY/XrpuCxVPDYZGABz9Jxft789Qui4jIKXHxCpWkpqZal45MSkpSuxynxZzlx4yVoWbOZtGCRz89jE+TCyEIwNOXJ+K6MyIVrUEJztqX9ToBq66YAG93A97dnYflX6SjvsWMO+fEqFKPs+bsaJiz/JixMrSUs+pHrL7//nvccsstiI+Ph7e3N0aMGIEFCxbgwIEDPe773nvvQRAEu18nT55UoHoiIufWarbgno8P4tPkQuh1Av61eKJTTqqcnU4nYPkl47Bkbttk6rntWXhueyZcaP0qIiLZqX7E6vXXX0dFRQXuvfdejBs3DmVlZVi9ejVmzJiBHTt2YO7cuT228e677yI+Pt7me8HBwXKVPCi8vLxgNpthMKj+Ejg15iw/ZqwMNXJuNbddl7PzyCm46XV49dpJOD9hqGKPrzRn78uCIOCB8+Pg7W7AP7/JxGs/5kC0SPjbhfEQBOVO6XT2nB0Fc5YfM1aGlnJWfbn10tJShIWF2Xyvvr4eMTExSExMxM6dO0+773vvvYebb74Zv/76K6ZOndrjY3G5dSKi3mk1W3DXR8n4NuMU3Aw6/PvGqZg9JlTtsmiQfLA3D8u+SAcA/OWcaPxtvrKTKyIiLdDccuudJ1UA4OPjg3HjxqGgoECFioiIXJtJtOCejzmpcmY3zIzCUwsSAAD/99/jeG5HFk8LJCIaIIc8plZTU4Pk5ORenQYIAJdccgnKysrg7++POXPm4KmnnkJiYmKv9k1PT0dkZCT8/Pys32tpaUFmZttywoGBgYiIiLDZJzs7G42NjQDQ5SK68vJyFBUVAQAiIiIQGBho3SaKItLS0gC0zXajo6Nt9s3NzUVtbS0AICEhweaQZ3V1NU6cOAEAGD58OEJDbd/kHDp0CJIkwdPTE2PGjLHZVlBQgMrKSgBAXFwcPDw8rNvq6+uRk9O2yldYWBiGDRtLine truncated
"image/png": "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 truncated
"text/plain": [
"<Figure size 900x400 with 1 Axes>"
"<matplotlib.figure.Figure at 0x1d917603f98>"
]
},
"metadata": {},
@@ -804,9 +845,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<Figure size 900x400 with 1 Axes>"
"<matplotlib.figure.Figure at 0x1d91745b160>"
]
},
"metadata": {},
@@ -842,9 +883,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA1cAAAGACAYAAABBZphOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3Xd4VGXaBvB7enovpJCEmgQSEmoERSwrYhcUAUUBUVYXUNddse1avlVg3bUAC4rYUKQoxQq6gq6FLiWNJIRAekJCKskkmXa+P2JGJglJhpzMmXL/riuXXnPmffOcmWde5sk55zkyQRAEEBERERERUa/IpQ6AiIiIiIjIGbC4IiIiIiIiEgGLKyIiIiIiIhGwuCIiIiIiIhIBiysiIiIiIiIRsLgiIiIiIiISgVLqAGzNZDLBZDJZPCaTySCTySSKiIiIiIiI7JEgCGh/5yq5XA65vPNjVC5ZXDU2NkodBhEREREROSBPT8+LFlc8LZCIiIiIiEgELK6IiIiIiIhEwOKKiIiIiIhIBC53zVVnjSu6Om+SiIiIiIhcU2f9GrpqhMfiCl13/CAiIiIiImrTVXHFioKIiIiIiEgELnfkiqRz8uRJGAwGKJVKDB06VOpwyAkwp0hszCkSG3OKxMacsm8srshmmpqaoNfroVKppA6FnARzisTGnCKxMadIbMwp+8bTAslmZDKZ+YdIDMwpEhtzisTGnCKxMafsm0wQBEHqIGzJZDLh/PnzFo95e3uzoQUREREREVmwtnZgRUFERERERCQCFldEREREREQiYHFFREREREQkAnYLJJuprKyE0WiEQqFAcHCw1OGQE2BOkdiYUyQ25hSJjTll31hckc2UlpaaW4dyMSAxMKfIWo0tBuRXNSL/nBZn65tR1diCqgYdzrcYoDOYcK66FiZBgFopR3CAH9xVSgR5qRHopUawtwbRgZ4YEOgJf0+11LtCDoLrFImNOWXfWFwREZFTqmvSI624FmnFdUgtqkV6SR3K6pp7PkFJ+UU3+XmokBDuixGRvkjq74fk/n4I9XETIWoiInJkbMUOtmK3ldraWphMJsjlcvj5+UkdDjkB5hRdyGgSkF5Shx9zKvHjyQocL6qFqZN/4QI81YgJ9ECYnzuCPNUI9NLA200JjVIBo64ZAgQYTAIUKjc0tBhQ3ahDVUMLyuubUVClvWiBNjjEC5OGBmPS0GCMGxAAN5Wij/eYHAHXKRIbc8q2rK0dWFyBxRURkaMSBAFHC2vw+fFS7Ewvw7kGncX2qAAPJPX3Q1KkL0ZE+iE21Bu+Hqpe/c4mnRF5lQ1IK65DWnEtjhfV4uTZ8xaFnLtKgT8MC8VtSeG4cmgw1Er+G0NE5IhYXHWDxRURkeMrrW3CpkOF2HGsBMU1TebHvTVKXDEkCJOGBuPKocEI93O3STx1Wj325p377ahZJcrrfz+65euuwo2JYbgnJQoJEb42iYeIiMTB4qobLK6IiByTIAjYn1eFD/cX4L8nys1HijzVClw/vB9uTQ7H5YODoFJIu54LgoC04jp8kVqKL1NLUXG+xbxtdLQ/7hsfjRsSwng0i4jIAbC46gaLK+kYDAYIggCZTAalkr1UqPeYU67BaBKwM70Mq384hezy39fv8QMDcXdKFP4QHwp3tTjXN4mdU0aTgAOnq7D5cBF2pZfB8FtFGOytwR+vHIi7U6LgoWbuOjOuUyQ25pRtsbjqBosr6aSmpppbhyYlJUkdDjkB5pRzMxhN+CK1FP/54RROVzYCADzUCtwxKhL3jo/G0FBv0X9nX+ZURX0zNh0qwscHC8xHswI81Xhg4gDcNz4GXhp+SXJGXKdIbMwp27K2duBKTkREdkUQBOzOqsCyXVnmosrXXYX7Lx+AuRNiet2QQiohPm549A9D8PBVg7DjWDFW/5CHwmotXvkmB+t+Oo1Hrx2Cey6Llvy0RiIiunQsrshmfHx8YDAYeAibRMOccj5pxbV4+essHDxTDQDw91DhgYkDcd/4aHi79X1RZYucUivlmDE2CneMirQ4MvfClyewfn8BnpwSh+uHh0Imk/VZDGQ7XKdIbMwp+8bTAsHTAomIpFbV0IKlO7Ox7WgxAECjlGP+FQPw0FWD4GODokpKBqMJW34twuvfnTS3kh83IAAv356AIX1w6iMREfUcr7nqBosrIiL7YTIJ+PRIEZbtykatVg8AmDYyAn+5PhYRNmqjbi8aWgxY+2Me1v18Gs16E1QKGRZcORCLrxnCGxITEUmExVU3WFwREdmHUxXn8fT2dBzOrwEAxIf54OWpCRgV5S9xZNIqqW3C859nYnfWWQCtN0J+6fYEXDk0WOLIiIhcD4urbrC4IiKSlskk4L29Z/DKtznQGUxwVynw+HVDMe/yGCjZzMHs28xyvPBFJsrqWm9IfHdKFJ69MR6e7CpIRGQzLK66weJKOqdPnzZfgDlw4ECpwyEnwJxyPEXVWvzl01Qc+q1hxaShwVg6LdFuTgG0t5xqaDHg39/m4IN9+QBaj2K9elcSxsYESBsY9Zi95RQ5PuaUbbEVO9mt8+fPm+/LQCQG5pRj2XqkGM9/noFGnREeagX+dtMwzBrX36664tlbTnlplHjh1uGYPCwUT2xNQ2G1Fnet3Y8/XjkIf5k8lG3bHYC95RQ5PuaUfeOqTEREfaqxxYDHPzmOv36aikadEeNiAvDNo1fi7pQouyqs7NmEwUHY9dhETB8dCUEA3voxDzPW7kdJbZPUoRER0QV4WiB4WqCtGI1G8/8rFOx8Rb3HnLJ/2eX1WPjxUeRVNkIuAx6/bigevmowFHL7LKocIae+ySjDE1vTcL7ZAF93Ff49PQnXDQuVOiy6CEfIKXIszCnb4jVX3WBxRURkG9uOFOOZHeloMZgQ6qPBypkjkTIwUOqwnEJRtRaLNh5FanEdAGDBlQOx5PpYNgQhIhIZi6tusLgiIupbBqMJS3dm4729ZwC0Nq147a4kBHppJI7MuegMJizf9fvrPHFIEP4zaxR8PXgdBhGRWFhcdYPFFRFR36lp1GHRpqPYe6oKAPDINYPx2B+GQm6npwE6g6/TyvDXT1PRpDciJtAD6+4bgyGh3lKHRUTkFFhcdYPFlXRqampgMpkgl8vh7+/aNwklcTCn7EtO+Xk8+OGvKKzWwkOtwKvTk3BDYpjUYVnFUXMqs7QOCz48gpLaJniqFXh9RjImD+8ndVgEx80psl/MKdtiK3ayW4WFhebWoVwMSAzMKfvxQ04FFn18FI06IyL93bHuvjGID/OROiyrOWpODQ/3xReLLsfCjUdx4HQ1Fnx0BE/dEIc/XjmQHRkl5qg5RfaLOWXfeLiGiIh6ZfOhQjyw/lc06owYPzAQXyy6wiELK0cX6KXBR/NTcN/4aADA8l3ZeO7zTBhNLnWCChGRpHjkimwmIiLCfBibSAzMKWkJgoDXvzuJld+fAgBMGxWB5dNGQK103PfD0XNKpZDj/25LQFSAB17emYWPDhSgvL4ZK2eOhLuaLZul4Og5RfaHOWXfeM0VeM0VEZG1dAYTnt6ejm1HiwG0Nq7483VDeQqaHdmZXobHthyHzmBCcn8/vDtnDDs2EhFZydragRUFERFZRaszYP76w9h2tBgKuQzLpyXi8cmxLKzszI2JYfj4gRT4eahwvKgW097ch6JqrdRhERE5NRZXRETUY3VNetz77iH8nHsOHmoF3pkzBjPHRUkdFl3E2JgAbHt4AvoHuKOgSovpb+3HqYoGqcMiInJaLK6IiKhHqhpaMOvtAzhSUAMfNyU2PJCCq2NDpA6LujEo2AtbH5qAISFeKK9vxl1r9yOjpE7qsIiInBKvuQKvubKV1NRUc+vQpKQkqcMhJ8Ccsp3yumbc884B5FU2IshLjY/mpzhlR0BnzqnqRh3mvHcI6SV18HZT4oN5YzE6OkDqsJyeM+cUSYM5ZVu85oqIiERVWKXF9LX7kFfZiDBfN2z543inLKycXYCnGh8/mIKxMf4432zA7HcO4Zfcc1KHRUTkVFhckc14eHjA09MTHh4eUodCToI51fcKq7SY+fZ+FFU3ISbQA58+NB6Dgr2kDqvPOHtO+bip8OH9KbhyaDCa9EbMX38YP+dWSh2WU3P2nCLbY07ZN54WCJ4WSETUmbbCqrSuGYOCPbHpwcsQ4uMmdVgkghaDEQs/PobdWWehUcrx7pyxuGJIkNRhERHZHZ4WSEREvVZUrcWsdQdQWteMgSysnI5GqcCae0bhD/EhaDGYMH/9Yew9xVMEiYh6i8UVERFZKKrWYubbB1BS24SBwZ7YzMLKKamVcqy+ZxSujfu9wNrHAouIqFdYXBERkVlJbRNmrfutsApiYeXsNEoF1swehWviQtCsN+H+9YexP69K6rCIiBwWr7kCr7mylcLCQhgMBiiVSkRF8aaj1HvMKXGda2jBXW/tx+lzjRgQ5InNCy5DqIsVVq6aUy0GIx766Ah+yKmEp1qBjQ9ehqT+flKH5RRcNaeo7zCnbIvXXJHdqqmpQXV1NWpqaqQOhZwEc0o8dU163PfuIZw+14gIP3d8/ECKyxVWgOvmlEapwJuzR2PCoEA06oyY8/4hnDx7vvuB1C1XzSnqO8wp+8biiojIxWl1Bsz/4DBOlNUjyEuDDQ+kINzPXeqwyMbcVAq8fd8YJPX3Q61Wj9nvHERhlVbqsIiIHApPCwRPC7SVlpYWCIIAmUwGjUYjdTjkBJhTvaczmPDAh7/ip5OV8HFTuvwNgplTQK1WhxlrDyDn7HlEBXhg60Pjed1dLzCnSGzMKdvq89MCGxoa8NhjjyE8PBxubm5ITk7G5s2bezS2oqICc+fORVBQEDw8PDB+/Hjs2bPH4jn19fV4+eWXcdVVV6Ffv37w8vJCYmIi/vnPf6K5ubnDnHq9Hi+++CJiYmKg0WgQFxeHVatWWbtbZAMajQZubm5cCEg0zKneMZoEPLblGH4Line truncated
"text/plain": [
"<Figure size 900x400 with 1 Axes>"
"<matplotlib.figure.Figure at 0x1d917486630>"
]
},
"metadata": {},
@@ -880,17 +921,50 @@
"\n",
"$\\exp[x]$ is notation for $e^x$.\n",
"\n",
"<p> Don't be dissuaded by the equation if you haven't seen it before; you will not need to memorize or manipulate it. The computation of this function is stored in `stats.py` with the function `gaussian(x, mean, var, normed=True)`.\n",
"<p> Don't be dissuaded by the equation if you haven't seen it before; you will not need to memorize or manipulate it. The computation of this function is stored in `stats.py` with the function `gaussian(x, mean, var, normed=True)`. \n",
" \n",
"Shorn of the constants, you can see it is a simple exponential:\n",
" \n",
"$$f(x)\\propto e^{-x^2}$$\n",
"\n",
"Let's remind ourselves how to look at the code for a function. In a cell, type the function name followed by two question marks and press return. This will open a popup window displaying the source. Uncomment the next cell and try it now."
"which has the familiar bell curve shape"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x1d917414908>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"x = np.arange(-3, 3, .01)\n",
"plt.plot(x, np.exp(-x**2));"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's remind ourselves how to look at the code for a function. In a cell, type the function name followed by two question marks and press CTRL+ENTER. This will open a popup window displaying the source. Uncomment the next cell and try it now."
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"from filterpy.stats import gaussian\n",
"#gaussian??"
]
},
@@ -898,21 +972,21 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"We will plot a Gaussian with a mean of 22 $(\\mu=22)$, with a variance of 4 $(\\sigma^2=4)$, and then discuss what this means. "
"Let's plot a Gaussian with a mean of 22 $(\\mu=22)$, with a variance of 4 $(\\sigma^2=4)$. "
]
},
{
"cell_type": "code",
"execution_count": 23,
"execution_count": 24,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<Figure size 900x400 with 1 Axes>"
"<matplotlib.figure.Figure at 0x1d91756c5f8>"
]
},
"metadata": {},
@@ -927,7 +1001,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"What does this curve *mean*? Assume we have a thermometer which reads 22°C. No thermometer is perfectly accurate, and so we expect that each reading will be slightly off the actual value. However, a theorem called [*Central Limit Theorem*](https://en.wikipedia.org/wiki/Central_limit_theorem) states that if we make many measurements that the measurements will be normally distributed. When we look at this chart we can \"sort of\" think of it as representing the probability of the thermometer reading a particular value given the actual temperature of 22°C. \n",
"What does this curve *mean*? Assume we have a thermometer which reads 22°C. No thermometer is perfectly accurate, and so we expect that each reading will be slightly off the actual value. However, a theorem called [*Central Limit Theorem*](https://en.wikipedia.org/wiki/Central_limit_theorem) states that if we make many measurements that the measurements will be normally distributed. When we look at this chart we can see it is proportional to the probability of the thermometer reading a particular value given the actual temperature of 22°C. \n",
"\n",
"Recall that a Gaussian distribution is *continuous*. Think of an infinitely long straight line - what is the probability that a point you pick randomly is at 2. Clearly 0%, as there is an infinite number of choices to choose from. The same is true for normal distributions; in the graph above the probability of being *exactly* 2°C is 0% because there are an infinite number of values the reading can take.\n",
"\n",
@@ -939,7 +1013,9 @@
"\n",
"We do the same with *probability density*. If you want to know the temperature being between 20°C and 21°C kph you would integrate the curve above from 20 to 21. As you know the integral of a curve gives you the area under the curve. Since this is a curve of the probability density, the integral of the density is the probability. \n",
"\n",
"What is the probability of a the temperature being exactly 22°C? Intuitively, 0. These are real numbers, and the odds of 22°C vs, say, 22.00000000000017°C is infitesimal. Mathematically, what would we get if we integrate from 22 to 22? Zero. \n",
"What is the probability of a the temperature being exactly 22°C? Intuitively, 0. These are real numbers, and the odds of 22°C vs, say, 22.00000000000017°C is infinitesimal. Mathematically, what would we get if we integrate from 22 to 22? Zero. \n",
"\n",
"Thinking back to the rock, what is the weight of an single point on the rock? An infinitesimal point must have no weight. It makes no sense to ask the weight of a single point, and it makes no sense to ask about the probability of a continuous distribution having a single value. The answer for both is obviously zero.\n",
"\n",
"In practice our sensors do not have infinite precision, so a reading of 22°C implies a range, such as 22 $\\pm$ 0.1°C, and we can compute the probability of that range by integrating from 21.9 to 22.1.\n",
"\n",
@@ -956,7 +1032,7 @@
},
{
"cell_type": "code",
"execution_count": 24,
"execution_count": 25,
"metadata": {},
"outputs": [
{
@@ -1002,7 +1078,7 @@
},
{
"cell_type": "code",
"execution_count": 25,
"execution_count": 26,
"metadata": {},
"outputs": [
{
@@ -1028,7 +1104,7 @@
},
{
"cell_type": "code",
"execution_count": 26,
"execution_count": 27,
"metadata": {},
"outputs": [
{
@@ -1056,7 +1132,7 @@
},
{
"cell_type": "code",
"execution_count": 27,
"execution_count": 28,
"metadata": {},
"outputs": [
{
@@ -1080,16 +1156,16 @@
},
{
"cell_type": "code",
"execution_count": 28,
"execution_count": 29,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<Figure size 900x400 with 1 Axes>"
"<matplotlib.figure.Figure at 0x1d917a45160>"
]
},
"metadata": {},
@@ -1132,14 +1208,14 @@
},
{
"cell_type": "code",
"execution_count": 29,
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<Figure size 900x400 with 1 Axes>"
"<matplotlib.figure.Figure at 0x1d9179be128>"
]
},
"metadata": {},
@@ -1162,18 +1238,33 @@
},
{
"cell_type": "code",
"execution_count": 30,
"execution_count": 31,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "a17934eb0c544f588d48c5118ebf748e",
"model_id": "592797026a1346119330de5fe1ef9016",
"version_major": 2,
"version_minor": 0
},
"text/html": [
"<p>Failed to display Jupyter Widget of type <code>interactive</code>.</p>\n",
"<p>\n",
" If you're reading this message in the Jupyter Notebook or JupyterLab Notebook, it may mean\n",
" that the widgets JavaScript is still loading. If this message persists, it\n",
" likely means that the widgets JavaScript library is either not installed or\n",
" not enabled. See the <a href=\"https://ipywidgets.readthedocs.io/en/stable/user_install.html\">Jupyter\n",
" Widgets Documentation</a> for setup instructions.\n",
"</p>\n",
"<p>\n",
" If you're reading this message in another frontend (for example, a static\n",
" rendering on GitHub or <a href=\"https://nbviewer.jupyter.org/\">NBViewer</a>),\n",
" it may mean that your frontend doesn't currently support widgets.\n",
"</p>\n"
],
"text/plain": [
"interactive(children=(FloatSlider(value=5.0, description='mu', max=7.0, min=3.0), FloatSlider(value=0.03, desc…"
"interactive(children=(FloatSlider(value=5.0, description='mu', max=7.0, min=3.0), FloatSlider(value=0.03, description='variance', max=1.0, min=0.01), Output()), _dom_classes=('widget-interact',))"
]
},
"metadata": {},
@@ -1219,14 +1310,14 @@
},
{
"cell_type": "code",
"execution_count": 31,
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA1cAAAFtCAYAAADrvJASAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3Xl8VNX9//HXZJJMErIQsi8kgQAJEEhQKAJSpCzFqrVgUaD8VMRiEf1+7bfVXy2tdrX0101rwVbtV2gRsC5oXcAC4oYQFtkSSAgh+0IWspA9s/z+GGfMJJNlyNw7M8nn+Xjw0MfcOeee+547J/fMvfdcjclkMiGEEEIIIYQQYlC8XN0AIYQQQgghhBgKZHAlhBBCCCGEEE4ggyshhBBCCCGEcAIZXAkhhBBCCCGEE8jgSgghhBBCCCGcQAZXQgghhBBCCOEEMrgSQgghhBBCCCfwdnUD1GY0GjEajTavaTQaNBqNi1okhBBCCCGEcEcmk4nujwX28vLCy8v+OaphObhqbm52dTOEEEIIIYQQHmjEiBG9Dq4cviywqamJRx55hNjYWPz8/MjIyGDXrl0DKltVVcW9995LeHg4AQEBzJo1iwMHDvR43zvvvMPdd9/NlClT8PHx6fesUlZWFsuXLyciIgKdTkdSUhIPPvigo5smhBBCCCGEENfM4TNXy5Yt49ixY2zatIkJEyawY8cOVq5cidFoZNWqVb2Wa29vZ8GCBdTX1/PMM88QGRnJ5s2bWbJkCfv372fevHnW9+7evZsjR44wbdo0dDodJ06c6LXegwcPcssttzB37lz++te/Eh4eTnFxMSdPnnR004QQQgghhBDimmlM3S8i7MN7773HLbfcYh1QWSxevJjs7GyKi4vRarV2y27ZsoUNGzbw2WefMWvWLAD0ej3p6ekEBgaSmZlpfa/RaLSeanvooYfYvHlzj2sdAVpaWhg3bhzXXXcdb7/99oDum9Lr9XJZoBBCCCGEEOKajBgxAm9v++eoHDpztXv3bgIDA1m+fLnN62vWrGHVqlVkZmYye/bsXsumpKRYB1YA3t7erF69mh//+MeUlZURFxcH0Os1jN29+uqrVFRU8Oijjw54Qgp77+vrukkhhBBCCCHE8GRvvoa+xh0ODa6ysrKYOHFij5Ha1KlTrct7G1xlZWUxd+7cHq9bymZnZ1sHVwP18ccfA2AwGLjxxhs5evQoI0aMYMmSJfzhD38gNja2Rxl7YZw/f57ExESCg4Otr7W3t5OTkwNAaGgoCQkJNmXy8vJoaWkBID093WZZTU0NZWVlACQkJBAaGmpdZjAYyMrKAiAoKIixY8falC0oKKCxsRGAyZMn22RdX19PUVERALGxsURERNiUPXPmDCaTCX9/fyZMmGCzrKSkhCtXrgCQkpKCn5+fdVlTUxP5+fkAREZGEhMTY1P23LlzdHZ24uPjw6RJk2yWVVRUUFVVBUBycjKBgYHWZW1tbeTm5gIwatQoRo8ebVP2woULtLa2otForPuBRXV1NeXl5QAkJiYycuRI6zK9Xk92djYAwcHBjBkzxqbspUuXuHr1KgBpaWk2Z1Pr6uooLi4GIC4ujvDwcJuyp0+fBiAgIIDx48fbLCsuLqaurg6A1NRUdDqddVljYyMFBQUAREVFER0dbVM2OzsbvV6PTqcjNTXVZll5eTnV1dUAjBs3jhEjRliXtbS0kJeXB0BYWBjx8fE2ZXNzc2lra0Or1ZKWlmazrKqqioqKCgCSkpIICQmxLuvo6OD8+fMAhISEkJSUZFM2Pz+fpqYmAKZMmWLz40NtbS2lpaUAxMfHExYWZl1mNBo5e/YsAIGBgSQnJ9vUW1hYSENDAwATJ07E19fXuqyhoYHCwkIAYmJiiIyMtCmblZWFwWDAz8+PlJQUm2WlpaXU1tYCMH78eAICAqzLmpubuXjxIgARERE9+oWcnBza29vx9vZm8uTJNssqKyu5fPkyAGPGjJE+AukjpI8wkz7CTPoIM+kjviR9hNlQ6iMs39OunDa4qq2t7fElBvMOb1neV1nL+xwt2xtLx3PHHXewbt06fvnLX3LhwgU2btzIvHnzOH36tE04vdHr9T0uOzSZTHR2dlqX2ytjWd6d0Wi0Lus+7Tsw4Hq7t6lrvQaDwW69JpMJHx+fHssMBsOg6u1tW7vW231bu2Zor17LttrbQQdar7t8Nv1ta2dnJ3q93u4Z0r4+m4HU29nZaXdZX/VayvZXrz0DzdBe+a5t6q6/be3o6MBoNNq99NgZGdrLaKD1ust+KH1Ez3rd5bORPqJnvdJHSB/RvV7pI6SP6FqvO/URjnB4Qou+Rmr9XZo3mLL2WD6Qu+66i9/+9rcAzJ8/n+joaL71rW+xY8cO7r///n7r8fb27rF+jUZj7VzsXVPp7e1tt/MB82WNlmX2vgTd671w4QJ6vd5ap2V59zZ1rdfejuHj44PJZLLbXq1WO6h6u/63t3q7b2vXDO3Va9lee5/9QOsd6GdjybjrH42BfDa91dvX/tJbhl3f09u2Xku9BoPB7rK+6rWU7avea9m/8/LyrOvqb1u7629bfX19MRgMimRoNBod/t6o2Ud01dLSYm2L9BHO6yMsvLy8rOurqqrq8cun9BFfLhvM/q3X62ltbeXChQs2Z0ikjzAbTB9hqVev13PhwgV8fHysGUsf0bPewX42XY/hJkyYIH1El2WD3b8t/+2asa+vr0v6CEc4NKHFrFmzMBgMHD161Ob17Oxs0tLS+Nvf/sa6devslo2JiWHu3Ln861//snn93Xff5dZbb+X9999n8eLFPcr1NaHFypUr2bVrF2+88QZLly61vt7W1kZAQADf+9732LJli00Zo9FoPdVrERQU5NJ7rk6fPm09Xd790gDhHJKxOiRn5UnGypOMlScZK08yVofkrDxXZ+zo2MGhEcWUKVM4f/58j1Odlmsju1+r2b2s5X2Olu1N9+tru/OUSSo0Go31n1CGZKwOyVl5krHyJGPlScbKk4zVITkrz9MydujM1Z49e/jGN77Brl27uOuuu6yv33zzzZw5c6bPqdife+45HnzwQY4cOcLMmTMB87WnGRkZBAYGcuTIEbvl+jpzlZOTw6RJk7j//vt5/vnnra/v3r2bZcuW8c9//pPVq1fblHHHM1dCCCGEEEII9+Po2MGhe65uvvlmFi1axPr162lsbGTcuHHs3LmTvXv3sn37duvAau3atWzbto38/HwSExMBuO+++9i8eTPLly9n06ZNREZGsmXLFnJzc9m/f7/NeoqKijh27BiAdfaZ1157DTDPVjJ9+nTAPNPKhg0b2LJlC0FBQdx8881cuHCBn/zkJ0ybNo0777zTkc0TQgghhBBCiGvm8IQWb7zxBhs3buSJJ57gypUrpKamsnPnTlasWGF9j8FgwGAw2Jxt0ul0HDhwgMcee4yHH36YlpYWMjIy2LNnD/PmzbNZx8GDB1mzZo3Na5Zna91zzz1s3brV+vrTTz9NfHw8L774Is8++yzh4eGsWLGCp556ymZ6RiGEEEIIIYRQkkOXBQ4FclmgEEIIIYQQYiAUvSxQKKO6uto6DWb3B/oJ55CM1SE5K08yVp5krDzJWHmSsTokZ+V5WsYyuHID5eXl1ikmPWGn8USSsTokZ+VJxs7R0tlCbVstJpOJhOAEm2WSsfIkY+VJxuqQnJXnaRnLtXBCCCGGnWdPPss33vgGvzjyC5vXDUaDi1okhBBiKJAzV24gMTERo9Eo930pSDJWh+SsPMn42nxc+jFjQ8YSHxQPwNy4ubye9zrXRV5nfU9DewN3vn0nD0x8gJtG3yQZK0j2Y+VJxuqQnJXnaRnLhBbIhBZCCDFUGYwGtpzewvNnnufWsbfym7m/AcBkMvV4IOXL519m09FNANyefDtPznoSH62P6m0WQgjhPhwdO8iIQgghxJBkMBr48ac/5vkz5ofMh+hCrI8I6T6wArgz5U4emPoAXhov3sp/i4cPPkyrvlXVNgshhPBscuYKOXMlhBBDjdFk5Cef/oS3L72Nt8abX8z5Bbcl3zagsp+VfcYjHz5Cq76VmdEzeW7hc3IGSwghhik5c+WB9Ho9nZ2d6PV6VzdlyJKM1SE5K08yHpjNpzbz9qW30Wq0/G7e7wY8sAL4StRX2DJ/CwHeAWRWZvLLI79kmP0OqTjZj5UnGatDclaep2UsE1q4gezsbOsUk+np6a5uzpAkGatDclaeZNy//UX7rZcC/mLOL1iYuNCh8tnZ2dAJDyY8yB8L/sjui7sZN3Icd0++W4nmDkuyHytPMlaH5Kw8T8tYzlwJIYQYMsqaytj46UYAVk9czTeTv3nNdWUEZ/DYjMcA+NPnfyLnSo5T2iiEEGLokjNXbiA4OBi9Xo+3t3wcSpGM1SE5K08y7p3RZOSnh35Ki76FaZHT+J/p/3NN9XTNeFXSKo5WHOWDkg947OPHeOXWV/D39ndyy4cf2Y+VJxmrQ3JWnqdlLBNaIBNaCCHEULDj/A5+c/Q3+Hv78/ptrzM6eLRT6q1rq+OOf99BdWs1a9LW8D/XX9ugTQghhOeRCS2EEEIMO1UtVTzz+TMAfP/67zttYAUQ6hfKE7OeAOCf2f/kYt1Fp9UthBBiaPGM82tCCCFEH549+Swt+hamhk/lrpS7nF7/TaNv4qbRN9Gub0fnrXN6/UIIIYYGGVwJIYTweA9MfYCmjibWTlmLl0aZizJ+O/e3+Hv7230AsRBCCAFyzxXg+nuuLl26ZL1Rb+zYsS5rx1AmGatDclaeZKw8yVh5krHyJGN1SM7Kc3XGjo4d5MyVG7h69ap1/n6hDMlYHZKz8iRjWx2GDny1vk6ts7+Ma1pr+Nvpv5EyKoVvT/i2U9c9XMh+rDzJWB2Ss/I8LWOZ0EIIIYRHMpqMrH5vNT/65EdUt1Srtt59RfvYlbuLv5z8C+2GdtXWK4QQwv3JZYG4/rJLine truncated
"image/png": "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 truncated
"text/plain": [
"<Figure size 900x400 with 1 Axes>"
"<matplotlib.figure.Figure at 0x1d91792c080>"
]
},
"metadata": {},
@@ -1255,14 +1346,14 @@
},
{
"cell_type": "code",
"execution_count": 32,
"execution_count": 33,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<Figure size 900x400 with 1 Axes>"
"<matplotlib.figure.Figure at 0x1d9175e2eb8>"
]
},
"metadata": {},
@@ -1309,14 +1400,14 @@
},
{
"cell_type": "code",
"execution_count": 33,
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<Figure size 900x400 with 1 Axes>"
"<matplotlib.figure.Figure at 0x1d9166a3da0>"
]
},
"metadata": {},
@@ -1347,7 +1438,7 @@
},
{
"cell_type": "code",
"execution_count": 34,
"execution_count": 35,
"metadata": {},
"outputs": [
{
@@ -1359,9 +1450,9 @@
},
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<Figure size 900x400 with 1 Axes>"
"<matplotlib.figure.Figure at 0x1d9166a3e10>"
]
},
"metadata": {},
@@ -1410,7 +1501,7 @@
"source": [
"### Bayes Theorem\n",
"\n",
"We developed the math in this chapter merely by reasoning about the information we have at each moment. In the process we discovered [*Bayes' Theorem*](https://en.wikipedia.org/wiki/Bayes%27_theorem). Bayes theorem tells us how to compute the probability of an event given previous information. \n",
"In the last chapter we developed an algorithm by reasoning about the information we have at each moment, which we expressed as discrete probability distributions. In the process we discovered [*Bayes' Theorem*](https://en.wikipedia.org/wiki/Bayes%27_theorem). Bayes theorem tells us how to compute the probability of an event given prior information. \n",
"\n",
"We implemented the `update()` function with this probability calculation:\n",
"\n",
@@ -1431,8 +1522,6 @@
"\n",
"$$P(A \\mid B) = \\frac{P(B \\mid A)\\, P(A)}{P(B)}$$\n",
"\n",
"If you are not familiar with this notation, let's review. $P(A)$ means the probability of event $A$. If $A$ is the event of a fair coin landing heads, then $P(A) = 0.5$.\n",
"\n",
"$P(A \\mid B)$ is called a [*conditional probability*](https://en.wikipedia.org/wiki/Conditional_probability). That is, it represents the probability of $A$ happening *if* $B$ happened. For example, it is more likely to rain today compared to a typical day if it also rained yesterday because rain systems usually last more than one day. We'd write the probability of it raining today given that it rained yesterday as $P$(rain today $\\mid$ rain yesterday).\n",
"\n",
"\n",
@@ -1440,21 +1529,21 @@
"\n",
"$$p(A \\mid B) = \\frac{p(B \\mid A)\\, p(A)}{p(B)}$$\n",
"\n",
"In the equation above $B$ is the *evidence*, $p(A)$ is the *prior*, $p(B \\mid A)$ is the *likelihood*, and $p(A \\mid B)$ is the *posterior*. By substituting the mathematical terms with the corresponding words you can see that Bayes theorem matches out update equation. Let's rewrite the equation in terms of our problem. We will use $x_i$ for the position at *i*, and $Z$ for the measurement. Hence, we want to know $P(x_i \\mid Z)$, that is, the probability of the dog being at $x_i$ given the measurement $Z$. \n",
"In the equation above $B$ is the *evidence*, $p(A)$ is the *prior*, $p(B \\mid A)$ is the *likelihood*, and $p(A \\mid B)$ is the *posterior*. By substituting the mathematical terms with the corresponding words you can see that Bayes theorem matches out update equation. Let's rewrite the equation in terms of our problem. We will use $x_i$ for the position at *i*, and $z$ for the measurement. Hence, we want to know $P(x_i \\mid z)$, that is, the probability of the dog being at $x_i$ given the measurement $z$. \n",
"\n",
"So, let's plug that into the equation and solve it.\n",
"\n",
"$$p(x_i \\mid Z) = \\frac{p(Z \\mid x_i) p(x_i)}{p(Z)}$$\n",
"$$p(x_i \\mid z) = \\frac{p(z \\mid x_i) p(x_i)}{p(z)}$$\n",
"\n",
"That looks ugly, but it is actually quite simple. Let's figure out what each term on the right means. First is $p(Z \\mid x_i)$. This is the the likelihood, or the probability for the measurement at every cell $x_i$. $p(x_i)$ is the *prior* - our belief before incorporating the measurements. We multiply those together. This is just the unnormalized multiplication in the `update()` function:\n",
"That looks ugly, but it is actually quite simple. Let's figure out what each term on the right means. First is $p(z \\mid x_i)$. This is the the likelihood, or the probability for the measurement at every cell $x_i$. $p(x_i)$ is the *prior* - our belief before incorporating the measurements. We multiply those together. This is just the unnormalized multiplication in the `update()` function:\n",
"\n",
"```python\n",
"def update(likelihood, prior):\n",
" posterior = prior * likelihood # p(Z|x) * p(x)\n",
" posterior = prior * likelihood # p(z|x) * p(x)\n",
" return normalize(posterior)\n",
"```\n",
"\n",
"The last term to consider is the denominator $p(Z)$. This is the probability of getting the measurement $Z$ without taking the location into account. It is often called the *evidence*. We compute that by taking the sum of $x$, or `sum(belief)` in the code. That is how we compute the normalization! So, the `update()` function is doing nothing more than computing Bayes theorem.\n",
"The last term to consider is the denominator $p(z)$. This is the probability of getting the measurement $z$ without taking the location into account. It is often called the *evidence*. We compute that by taking the sum of $x$, or `sum(belief)` in the code. That is how we compute the normalization! So, the `update()` function is doing nothing more than computing Bayes' theorem.\n",
"\n",
"The literature often gives you these equations in the form of integrals. After all, an integral is just a sum over a continuous function. So, you might see Bayes' theorem written as\n",
"\n",
@@ -1464,9 +1553,9 @@
"\n",
"It's probable that the strength of Bayes' theorem is not yet fully apparent to you. We want to compute $p(x_i \\mid Z)$. That is, at step i, what is our probable state given a measurement. That's an extraordinarily difficult problem in general. Bayes' Theorem is general. We may want to know the probability that we have cancer given the results of a cancer test, or the probability of rain given various sensor readings. Stated like that the problems seem unsolvable.\n",
"\n",
"But Bayes' Theorem lets us compute this by using the inverse. \n",
"But Bayes' Theorem lets us compute this by using the inverse $p(Z\\mid x_i)$, which is often straightforward to compute\n",
"\n",
"$$p(A \\mid B) \\propto p(B \\mid A)\\, p(A)$$\n",
"$$p(x_i \\mid Z) \\propto p(Z\\mid x_i)\\, p(x_i)$$\n",
"\n",
"That is, to compute how likely it is to rain given specific sensor readings we only have to compute the likelihood of the sensor readings given that it is raining! That's a ***much*** easier problem! Well, weather prediction is still a difficult problem, but Bayes makes it tractable. \n",
"\n",
@@ -1506,9 +1595,9 @@
},
{
"cell_type": "code",
"execution_count": 35,
"execution_count": 36,
"metadata": {
"scrolled": true
"scrolled": false
},
"outputs": [
{
@@ -1536,7 +1625,7 @@
},
{
"cell_type": "code",
"execution_count": 36,
"execution_count": 37,
"metadata": {},
"outputs": [
{
@@ -1565,16 +1654,16 @@
},
{
"cell_type": "code",
"execution_count": 37,
"execution_count": 38,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 6.306 -1.309 -0.207 5.673 1.932 0.207 1.143\n",
" -1.608 -0.85 -1.997 4.806 4.715 5.264 3.575\n",
" 2.208]\n"
"[ 5.912 -2.009 -2.718 1.266 -1.085 3.941 3.499\n",
" 5.626 -0.137 1.396 4.562 2.127 8.176 1.794\n",
" 1.829]\n"
]
}
],
@@ -1592,7 +1681,7 @@
},
{
"cell_type": "code",
"execution_count": 38,
"execution_count": 39,
"metadata": {},
"outputs": [
{
@@ -1617,7 +1706,7 @@
},
{
"cell_type": "code",
"execution_count": 39,
"execution_count": 40,
"metadata": {
"scrolled": true
},
@@ -1657,14 +1746,14 @@
},
{
"cell_type": "code",
"execution_count": 40,
"execution_count": 41,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<Figure size 900x400 with 1 Axes>"
"<matplotlib.figure.Figure at 0x1d91793a518>"
]
},
"metadata": {},
@@ -1692,7 +1781,7 @@
},
{
"cell_type": "code",
"execution_count": 41,
"execution_count": 42,
"metadata": {},
"outputs": [],
"source": [
@@ -1710,14 +1799,14 @@
},
{
"cell_type": "code",
"execution_count": 42,
"execution_count": 43,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAz0AAAFrCAYAAAD7IOe2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzsnXecHNWV7389QRkFpJFQQBqQBBJK2Gv7ObLYJj3ANvZbvF7Wu2B7Yc06sO/ZlmWvDTIGg8EIMMG2EMEkARJBgBJCOWfNaIIm55xz6FDvj57qrnCr6lbqqm6d7+ejj6Suqlunbp06N517TkAQBAEEQRAEQRAEQRApSprXAhAEQRAEQRAEQbgJDXoIgiAIgiAIgkhpaNBDEARBEARBEERKQ4MegiAIgiAIgiBSGhr0EARBEARBEASR0mR4LQAARCIRRCIR2W+BQACBQMAjiQiCIAiCIAiC8COCIEAZgDotLQ1padrrOb4Z9PT19XktBkEQBEEQBEEQScj48eN1Bz3k3kYQBEEQBEEQREpDgx6CIAiCIAiCIFIaGvQQBEEQBEEQBJHS+GJPDytggZFfHkEQBEEQBEEQ5x+seABGAdB8O+gxisBAEARBEARBEAQBGA96aFRBEARBEARBEERK44uVHr9SXFyMUCiEjIwMXHbZZV6LQyQJpDeEFUhvCKuQ7hBWIL0hrJKsukODHh0GBgYQDAaRmZnptShEEkF6Q1iB9IawCukOYQXSG8Iqyao75N6mQyAQiP0hCF5IbwgrkN4QViHdIaxAekNYJVl1JyAIguC1EJFIBD09PbLfLrjgAgpkQBAEQRAEQRCEDCtjBxpVEARBEARBEASR0tCghyAIgiAIgiCIlIYGPQRBEARBEARBpDQUvU2HlpYWhMNhpKenIysry2txiCSB9IawAukNYRXSHcIKpDeEVZJVd2jQo0N9fX0sJF8yvVTCW0hvCCuQ3hBWId0hrEB6Q1glWXWH3NtSjHBEwPHKdq/FIIiUoqqtDzc8sQ99QyGvRSEIgiAIwgK00qPDvHnzEIlEkip09vMHyvGHLeew82f/iPlZE7wW57wkGfWG0Oe1o9U419iD/PpufOaSC125B+kNYRXSHcIKpDeEVZJVd2jQo8PkyZO9FsE0dR0DAIDeQZqR9opk1BvCe0hvCKuQ7hBWIL0hrJKsupNcQzSCG88zzlogr64Ln7j/I/QP04CNIAiCIAiCcA4a9KQYgUDAaxEs89rRanT0B1HZ2u+1KARBEARBEEQKQe5tOoRCIQiCgEAggIwMqiqCD9IbwgqkN4RVSHcIK5DeEFZJVt1JHkk9ID8/PxaSb8WKFV6LQyQJpDeEFUhvCKuQ7hBWIL0hrJKsukPubSmKICTjrp5klJkgCIIgCMI+jV2D2HWuyWsxUhZa6dFh4sSJCIVCSbV0R3gP6Q1hBdIbwiqkO4QVSG/8x23PHUF5ax8qH77Ja1F0SVbdSS5pE8wll1zitQjnGckbhEEK6U3q4uYKKukNYRXSHcIKpDf+o6VnyGsRuEhW3SH3NoIgCIIgCIIgUhoa9BA+gvb0EP4mmUPCEwRBEP6GekHuYnrQ09PTg5UrV+K6665DVlYWAoEAVq9ezTw3GAxizZo1WLZsGcaOHYvJkyfj85//PA4dOmRXbsKAZP5wqF9JEARBnG889lERfvT6Ka/FIIiUxfSenra2NqxduxYrVqzALbfcgnXr1jHPC4fD+OY3v4kDBw5g5cqV+PznP4++vj6cPHkSfX19tgVPBOXl5bGNWpdeeqnX4nCR3AOGqPBJGXhOQjLqDeE9pDeEVUh3UoOndpUCAJ65LTH3I73xH8nShUtW3TE96Jk3bx46OjoQCATQ2tqqOeh56qmnsHXrVhw8eBCf/exnY7/fdJO/I1JI6enpicUhJxJBko92RiC9ST3EhsjNQAakN4RVSHcIK5DeEFZJVt0xPejh9Wl/8skncdVVV8kGPATBQ3KvVhGpSGoMxwmCIAg/Q22Nu7gSsrqmpgaVlZX42te+hl//+td4/vnn0dbWhssvvxwrV67E7bff7sZtHWfp0qVei2CZZHcRS2aSWW8IfdwMZEB6Q1iFdIewAukNYZVk1R1XBj11dXUAgL///e+YM2cOnn76aUyaNAnPPfcc7rjjDgwPD+POO+/ULSM/Px/z5s3DxIkTY78NDQ3h3LlzAIApU6Zg7ty5smtKSkrQ398PAFixYoXsWGtra0yuuXPnYsqUKbFj4XAYeXl5AIALLrgg5p+Ynp4OAKioqEB3dzcAYMmSJbJkTJ2dnaiqqgIAzJo1C1lZWbL75ubmQhAEjB07FpdddpnsWE1NDdrb2wEAl19+OcaMGRM71tvbi7KyMgDA9OnTMXPmTNm1BQUFsaXFK664IvZ7YMQRp7S0BBmdozF//nxMmDAhdnxwcBBFRUUAgAsvvBAXX3yxrNzi4mIMDAwgEAhg+fLlsmMtLS2or68HEHVznDx5cuxYKBRCfn4+gGjSKmUM9/LycvT09ACIfixi3QJAR0cHqqur0dbWAUA9YMvJyQEAjBs3DgsXLpQdq66uRkdH9LpFixZh9OjRsWPd3d2oqKgAAMyYMQMXXXSR7Nr8/HyEQiGMHj0aixYtkh2rr69HS0sLAGDBggUYP3587Fh/fz9KSkoAAFOnTsWcOXNk15aWlmJwcBDp6ekqw9Dc3IyGhgYAQHZ2NiZNmhQ7Njw8jMLCQgDApEmTkJ2dLbu2rKwMvb29AIBly5YhLS0eh6StrQ21tbUAgDlz5mDq1KmxY5FIBGfPngUATJgwAfPnz5eVW1lZia6uLgDA4sWLMWrUqNixrq4uVFZWAgBmzpyJ6dOny67Ny8tDOBzGmDFjcPnll8uO1dbWoq2tDQCwcOFCjBs3Lnasr68PpaVR//WsrCzMmjVLdu25c+cwNDSEjIwMLFmyRHassbERTU3RjNWXXHJJQmxEJBIBEH2304RpKh/mZLIRANDQ0IDm5mYASCobAQCzZ8/GtGnTZNcmm40oKiqS2Yj+4RBGZ6QjPS1gyUaIdUU2IooXNkKrHyHCayNYuGUjioqKyEYgOWyEFOpHRBG/UzO4MugROwiDg4PYsmUL5s2bBwC49tpr8alPfQr333+/4aAnFAqp/OcFQUAwGIwdZ10jHmfJJB4T5ZPCW65SJmm54XCYWa4gCEy/x3A4bKtcrWeNy5ymelZpHbLKFZ+VNaMtlVevXKvvhvVeAOvvxuhZg8EgQqGQ7KMX0Xs3POUGg0HmMb1yxWuNymXBq9+s66UyKTF61uHhYUQiEVnjwyrXah2y6oi3XKdthHh9KtgI3m/ZbzaCVS6Q/Dbiinu341ufnI01376SbARnuX60EU70I1iQjZCXyyLVbQRvueK1RuWySEYbYRZXBj3i6HDRokWxAQ8QdQ25/vrr8dBDD6G5uVk12pMJlpGh+mACgUDso5fOkkiv0dpUlZaWFjvGUk7ecpUySctlvbDMzEwIgsAsNz093Va50r+1ZFY+q7QOWeWK17GMlVRevXKtvhuxTOWtrb4bo2cVn5Mll9674Sk3HA4zj+mVK16rV65d/TZ6ViVGzzpq1CiEw2FX6jASiZj+btyyEeJ9MjIyUsJG8H7LfrMRrHKB1LARm3MbsObbV5KN4CzXbzZClImnXL1vmQXZCHm5LM4HG8FTrnitXrmpZCPMEhBshCNqbW1FVlYW7rvvPlmunlAohEmTJmHBggWxJUWRX/3qV3j44YfR0tISW36MRCKxJUuRCy64gFnpiaSjowORSARpaWmyZWw/c/8HBXjhYAXevvtz+Id5F3otjil+9U4u1h+rwdZ7voTFMycaX+BTklFvCH3+sKUQa/eV463//Bw+c4k73xXpzflL9qrNGJWRhuIH/rel60l3UoPsVZsBAJUPJybKLemN/1h633b0DoUSpgNW8YPuWBk7uLLSk5GRgW984xvYuHEjKisrYz6FgiBg27ZtmD9/vsrf0o9UV1fH/F2TxSBQ5DPvSUa9IbyH9IawCukOYQXSG8Iqyao7lgY9W7duRV9fX2yEVVBQgI0bNwIAbrzxRowbNw6///3vsXXrVtxwww1YvXo1Jk6ciHXr1iEnJwdvvfWWc09AEARBEARBEAShg6VBz9133y2LNLJhwwZs2LABQDRCSXZ2NubPn4/9+/dj1apVuOuuuxAMBnHllVfi/fffx8033+yM9C4ze/bs2PIdQfBCepN6JCI5KekNYRXSHcIKpDeEVZJVdywNesTQc0YsXboUH374oZVb+IJkcMHTgvL0eEcy6w3hHU7ozba8RmRPG4dFFyXvnjjCPGRzCLN8Z+1hXHvFRfjBFy8xPpkgFCSrzUmuIRphSDJv6aGBGuFXRNV0MzmpE/zw1ZO44Yn9XotBWIHsH5FAjpS34/cfFngtBqHATW8CggY9KQd9LgRBEARBEAQhhwY9hG/w+SQ6cR6TiD09BEEQxPmN370Jkh1XQlanCjk5ObGQfCtWrPBaHC4S9bkMDIdx1aO78eIdn8bS2ZMcKTNV+pPJqDeE95DeEFYh3SGscuLECdIbl2jtHcKpqg5ct+Qir0VxnGS1ObTSk6K4PX6oau9DS88QXj1SZXyySWiigyAIIjXIXrUZf9tb5rUYBJFwfvjKSdz1yklT15A3gbvQoEeHcePGYfz48Rg3bpzXonDjxIChs3+YPjwbJKPeEPokIpAB6c35jWBjqsrvuvPSoUqvRSA08LPeJDutvUMJv+fR8jY8s7vU9fv43eZoQe5tOixcuNBrERJOz2AQV96/A6u/dgXu+EJiQ1mK/clkH2+dj3pD2If0hrAK6Q5hlcWLF3stAuEg/7z2CADgR19e4Op9ktXm0EoPIaNvKAwAOFbZznW+kwOUZB/sEKkLBTIgCIIgzEBBCfwHDXpMcLisDXWdA16LwYVW3+zN49XYnNuQWGFMQnaCsMuhslZPXAsIgiALine truncated
"image/png": "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 truncated
"text/plain": [
"<Figure size 900x400 with 1 Axes>"
"<matplotlib.figure.Figure at 0x1d91740e320>"
]
},
"metadata": {},
@@ -1740,7 +1829,7 @@
},
{
"cell_type": "code",
"execution_count": 43,
"execution_count": 44,
"metadata": {},
"outputs": [],
"source": [
@@ -1759,14 +1848,14 @@
},
{
"cell_type": "code",
"execution_count": 44,
"execution_count": 45,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<Figure size 900x400 with 1 Axes>"
"<matplotlib.figure.Figure at 0x1d9173e6c88>"
]
},
"metadata": {},
@@ -1802,16 +1891,16 @@
},
{
"cell_type": "code",
"execution_count": 45,
"execution_count": 46,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"DescribeResult(nobs=5000, minmax=(0.7521655375313596, 20.12956908425545), mean=10.02056777098, variance=2.715020215603436, skewness=0.08832633839087363, kurtosis=1.5874986019432313)"
"DescribeResult(nobs=5000, minmax=(1.888855071015895, 19.03723274712268), mean=10.01034378048552, variance=2.7776404133106123, skewness=0.009548424333982227, kurtosis=1.4807836826747778)"
]
},
"execution_count": 45,
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
@@ -1830,16 +1919,18 @@
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"execution_count": 47,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"DescribeResult(nobs=10, minmax=(-0.9998998256891874, 0.9895966170353847), mean=-0.20889859670553768, variance=0.415215914064243, skewness=0.6414173152025241, kurtosis=-0.8094358398006518)\n",
"DescribeResult(nobs=10, minmax=(-1.8942931152842175, 0.49750728125905835), mean=-0.10563915941786776, variance=0.4841165908890319, skewness=-1.8464582995970673, kurtosis=2.5452896197893757)\n",
"\n",
"DescribeResult(nobs=300000, minmax=(-4.441381784212609, 5.266318154694646), mean=-0.0007561587947956754, variance=0.9993482527217467, skewness=0.0012861120678718861, kurtosis=-0.013345063233251686)\n"
"DescribeResult(nobs=300000, minmax=(-4.772620736872989, 4.446895068081072), mean=-0.0006837046884366415, variance=0.9995353806594786, skewness=0.002331471754136653, kurtosis=0.007185223820032061)\n"
]
}
],
@@ -2072,7 +2163,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
"version": "3.6.4"
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
+4 -6
View File
@@ -24,7 +24,7 @@
"\n",
"Introduces the discrete Bayes filter. From this you will learn the probabilistic (Bayesian) reasoning that underpins the Kalman filter in an easy to digest form.\n",
"\n",
"[**Chapter 3: Gaussian Probabilities**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/03-Gaussians.ipynb)\n",
"[**Chapter 3: Probabilities, Gaussians, and Bayes' Theorem**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/03-Gaussians.ipynb)\n",
"\n",
"Introduces using Gaussians to represent beliefs in the Bayesian sense. Gaussians allow us to implement the algorithms used in the discrete Bayes filter to work in continuous domains.\n",
"\n",
@@ -149,9 +149,7 @@
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"metadata": {},
"outputs": [
{
"data": {
@@ -417,9 +415,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.1"
"version": "3.6.5"
}
},
"nbformat": 4,
"nbformat_minor": 0
"nbformat_minor": 1
}