Fixed a few erroneous claims and improved text.

This commit is contained in:
Roger Labbe committed 2015-07-08 16:11:23 -07:00
1 parent 01f2527f29
commit 600e7ca167
1 file changed
+138 -108
+138 -108
View File
@@ -278,8 +278,7 @@
"source": [
"The last chapter ended by discussing some of the drawbacks of the Discrete Bayesian filter. For many tracking and filtering problems our desire is to have a filter that is *unimodal* and *continuous*. That is, we want to model our system using floating point math (continuous) and to have only one belief represented (unimodal). For example, we want to say an aircraft is at (12.34, -95.54, 2389.5) where that is latitude, longitude, and altitude. We do not want our filter to tell us \"it *might be* at (1.65, -78.01, 2100.45) or it *might be* at (34.36, -98.23, 2543.79).\" That doesn't match our physical intuition of how the world works, and as we discussed, it can be prohibitively expensive to compute the multimodal case. \n",
"\n",
"\n",
">So we desire a unimodal, continuous way to represent probabilities that models how the real world works, and that is very computationally efficient to calculate. As you might guess from the chapter name, Gaussian distributions provide all of these features."
"So we desire a unimodal, continuous way to represent probabilities that models how the real world works, and that is very computationally efficient to calculate. As you might guess from the chapter name, Gaussian distributions provide all of these features."
]
},
{
@@ -290,13 +289,13 @@
"\n",
"### Random Variables\n",
"\n",
"To understand Gaussians we first need to understand a few simple mathematical computations. We start with a *random variable* x. Maybe x is the height of the students in a class in meters. We call $x$ *random* because the height of one student does not depend on the height of another student - each is independent. For a specific classrom perhaps the heights are\n",
"To understand Gaussians we first need to understand a few simple mathematical computations. We start with a **random variable** x. A random variable is a variable whose value depends on some random process. If you flip a coin, you could have a variable $c$, and assign it the value 1 for heads, and 0 for tails. That a random value. It can be the height of the students in a class. That may not seem random to you, but chances are you cannot predict the height of the student Reem Nassar because her height is not deterministically determined. For a specific classroom perhaps the heights are\n",
"\n",
"$$x= [1.8, 2.0, 1.7, 1.9, 1.6]$$\n",
"\n",
"Another example of a random variable would be the result of a coin toss. Each coin toss is independent from all other tosses. Rolling a die would be another example of a random variable.\n",
"Another example of a random variable would be the result of rolling a die. A less obvious example would be the position of an aircraft - the aircraft does deterministically respond to the control inputs, but it is also buffeted by random winds and travels through randomly distributed pressure gradients.\n",
"\n",
"The coin toss and die roll are examples of *discrete random variables*. That is, the outcome of any given event comes from a discrete set of values. The roll of a six sided die can never produce a value of 7 or 3.24, for example. In contrast, the student heights are continuous; they can take on any value (within biological limits, naturally). For example, heights of 1.7, 1.71, 1.711, 1.7111, 1.71111,.... are all possible. Do not confuse the *measurement* of the random variable with the actual value. If we can only measure the height of a person to 0.1 meters we would only record values from 0.1, 0.2, 0.3...2.7, or 27 discrete choices. Nonetheless the heights can vary between any arbitrary real value between those ranges, and so it is continuous. "
"The coin toss and die roll are examples of **discrete random variables**. That is, the outcome of any given event comes from a discrete set of values. The roll of a six sided die can never produce a value of 7 or 3.24, for example. In contrast, the student heights are continuous; they can take on any value within biological limits. For example, heights of 1.7, 1.71, 1.711, 1.7111, 1.71111,.... are all possible. Do not confuse the *measurement* of the random variable with the actual value. If we can only measure the height of a person to 0.1 meters we would only record values from 0.1, 0.2, 0.3...2.7, yielding 27 discrete choices. Nonetheless a person's height can vary between any arbitrary real value between those ranges, and so height is a continuous random variable. "
]
},
{
@@ -305,19 +304,19 @@
"source": [
"### The Mean of a Random Variable\n",
"\n",
"We want to know the *average* height of the students. We all know how to find the average, but let me belabor the point so I can introduce more formal notation and terminology. Another word for *average* is the *mean*. We compute the mean by summing the values and dividing by the number of values. In this case we have\n",
"We want to know the **average** height of the students. We all know how to find the average, but let me belabor the point so I can introduce more formal notation and terminology. Another word for average is the **mean**. We compute the mean by summing the values and dividing by the number of values. In this case we have\n",
"\n",
"$$mean = (1.8 + 2.0 + 1.7 + 1.9 + 1.6)/5 = 1.8$$\n",
"$$\\mathtt{mean} = (1.8 + 2.0 + 1.7 + 1.9 + 1.6)/5 = 1.8$$\n",
"\n",
"In statistics we use the symbol $\\mu$ to denote the mean, so we could write \n",
"In statistics we use the symbol $\\mu$ (mu) to denote the mean, so we could write \n",
"\n",
"$$\\mu_x = 1.8$$\n",
"$$\\mu_{\\mathtt{height}} = 1.8$$\n",
"\n",
"where the subscript *x* denotes that this is the mean for the vector $\\mathbf{x}$. We can formalize this computation with the equation\n",
"We can formalize this computation with the equation\n",
"\n",
"$$ \\mu_x = \\frac{1}{n}\\sum^n_{i=1} x_i$$\n",
"$$ \\mu_{\\mathtt{height}} = \\frac{1}{n}\\sum^n_{i=1} x_i$$\n",
"\n",
"NumPy has the function `numpy.mean()` which computes the mean. We will put the heights of the students in the list `x`."
"NumPy provides `numpy.mean()` for computing the mean."
]
},
{
@@ -328,18 +327,20 @@
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1.8\n"
]
"data": {
"text/plain": [
"1.8"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import numpy as np\n",
"\n",
"x = [1.8, 2.0, 1.7, 1.9, 1.6]\n",
"print(np.mean(x))"
"np.mean(x)"
]
},
{
@@ -380,11 +381,11 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"the mean of these heights is also 1.8 m, but notice that there is a much greater amount of variation in the heights in this class. Finally, suppose a third class has heights\n",
"the mean of these heights is also 1.8 meters, but notice that there is a much greater amount of variation in the heights in this class. Suppose a third class has heights\n",
"\n",
"$$ z = [1.8, 1.8, 1.8, 1.8, 1.8]$$\n",
"\n",
"In this third class the average height is again 1.8 m, but here there is no variation in the height between students at all."
"In this third class the average height is again 1.8 meters, but here there is no variation in the height between students."
]
},
{
@@ -393,29 +394,26 @@
"source": [
"All three classes have the same mean height of 1.8 meters. So the mean tells us something about the data, but it does not tell the whole story. We want to be able to specify how much *variation* there is between the heights of the students. You can imagine a number of reasons for this. Perhaps a school district needs to order 5,000 desks, and they want to be sure they buy sizes that accommodate the range of heights of the students. \n",
"\n",
"Statistics has formalized this concept of measuring variation into the notion of *standard deviation* and *variance*:\n",
"Statistics has formalized this concept of measuring variation into the notion of **standard deviation** and **variance**:\n",
"\n",
"**The standard deviation is defined as the square root of the average of the squared differences from the mean.**\n",
"The **standard deviation** is defined as the square root of the average of the squared differences from the mean.\n",
"\n",
"That's a mouthful; as an equation this is stated as\n",
"\n",
"$$\\sigma = \\sqrt{\\frac{1}{N}\\sum_{i=1}^N(x_i - \\mu)^2}$$\n",
"\n",
"where $\\sigma$ is the notation for the standard deviation.\n",
"where $\\sigma$ is the notation for the standard deviation and $\\mu$ is the mean.\n",
"\n",
"\n",
"If this is the first time you have seen this it may not have a lot of meaning for you. But let's just work through that with the data from three classes to be sure we understand the formula. We just subtract the mean of x from each value of x, square it, take the average of those, and then take the square root of the result. The mean of $[1.8, 2.0, 1.7, 1.9, 1.6]$ is 1.8, so we compute the standard deviation as\n",
"If this is the first time you have seen this it may not have a lot of meaning for you. But let's just work through that with the data from the three classes to be sure we understand the formula. We just subtract the mean of x from each value of x, square it, take the average of those, and then take the square root of the result. The mean of $[1.8, 2.0, 1.7, 1.9, 1.6]$ is 1.8, so we compute the standard deviation as\n",
"\n",
"$$ \n",
"\\begin{aligned}\n",
"\\sigma_x &=\\sqrt{\\frac{(1.8-1.8)^2 + (2-1.8)^2 + (1.7-1.8)^2 + (1.9-1.8)^2 + (1.6-1.8)^2} {5}} \\\\\n",
"&= \\sqrt{\\frac{0^2 + 0.2^2 + (-0.1)^2 + 0.1^2 + (-0.2)^2}{5}} \\\\\n",
"&= \\sqrt{\\frac{0 + 0.04 + 0.01 + 0.01 + 0.04}{5}} \\\\\n",
"&= \\sqrt{0.02} \\\\\n",
"\\sigma_x&= 0.1414\n",
"\\end{aligned}$$\n",
"\n",
"We can verify this computation with the NumPy method `std()` which computes the standard deviation."
"We can verify this computation with the NumPy method `numpy.std()` which computes the standard deviation. 'std' is a common abbreviation for standard deviation."
]
},
{
@@ -426,15 +424,18 @@
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.1414\n"
]
"data": {
"text/plain": [
"0.14142135623730948"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"print('{:.4f}'.format(np.std(x)))"
"np.std(x)"
]
},
{
@@ -457,7 +458,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x72c66d8>"
"<matplotlib.figure.Figure at 0x7769668>"
]
},
"metadata": {},
@@ -467,17 +468,18 @@
"source": [
"import matplotlib.pyplot as plt\n",
"from gaussian_internal import plot_height_std\n",
" \n",
"x= [1.8, 2.0, 1.7, 1.9, 1.6]\n",
"\n",
"with figsize(y=2):\n",
" plot_height_std(x)"
" plot_height_std([1.8, 2.0, 1.7, 1.9, 1.6])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For only 5 students we obviously will not get exactly 68% within one standard deviation (denoted as $1\\sigma$), but we do see that 3 out of 5 students are within $1\\sigma$, or 60%, which is as close as you can get to 68% with only 5 samples. I haven't yet introduced enough math or Python for you to fully understand the next bit of code, but let's look at the results for a class with 100 students."
"For only 5 students we obviously will not get exactly 68% within one standard deviation. We do see that 3 out of 5 students are within $1\\sigma$, or 60%, which is as close as you can get to 68% with only 5 samples. I haven't yet introduced enough math or Python for you to fully understand the next bit of code, but let's look at the results for a class with 100 students.\n",
"\n",
"> We write one standard deviation as $1\\sigma$, which is pronounced \"one standard deviation\", not \"one sigma\". Two standard deviations is $2\\sigma$, and so on."
]
},
{
@@ -489,9 +491,9 @@
"outputs": [
{
"data": {
"image/png": "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\npDS/yFNc/CePbf/BbbqbJyTkXKl1zDR/7qvK/P5U78n546y+Vq2apZZ5cvvUU0+9Oervq+jz7YOv\nM+W9frnDZw19SUlJuTWZmZmllrVr1067d+9+qH1brWdls31VxvKuKusHGuj1Ntu+Sm7/rF/kr6p6\nZ8hf8XqbbZ/Htv/gNt3NU7PmF39bp7BS+StT70xltn/fg/fZ3+abWeaPs3qb7XFJMV7bPvXUU2+O\n+vsq+nxbs+bpv61XWO7rlzt8/qZYb3F8Q8F6r+7LYvmFJMkw3vHqfrzFWf7K3i9v/Dw8vU1/3543\nuMrojd91ZbbpL3Pn9OnTkqSoqCiPbK+89QJxPnpDVd5vV3MEYH54hhmeyyr73O5qjly79qL9a1O8\nKRYAAADAw6GhByrAYvmF/S9uAAD8gb+8NpHDdwKuoQ/EXzIAoGyuXhN4vfAtfv6A+wKuoYdv8QQN\nVIwZHjP+ntHf80nmyFhZ1fm+VVf8zsyHhj5A8OCE2TGHAe/jcQaYk9uXrTQMQ998842OHDmiS5cu\nyWKxqFGjRmrdurXat28vPpUQ8A9muCoAAM8w++Pd7PkBf1FuQ79r1y5lZmbqv/7rv/R///d/ZdbU\nq1dP//AP/6AxY8aU+qAoADCb6OgFkmgyAMBf8cegI6cN/SeffKI5c+bowIEDateuncaOHasuXbqo\nZcuWatCggQzD0JUrV3Tq1Cl99dVX2rFjh/r166cuXbpo/vz56t+/f1XeD8BjuCY4UBrzGIGKuQ8z\ncNrQDx48WK+88orWrFmj1q1bO91AfHy8RowYIUk6cuSIVqxYocGDB+vmzZueTwueWAAAD40DFwhU\n1XWuOm3oCwoK9Nhjj1VoY61bt9bSpUs1Z86chw4GBILq+sQCc/KX+egvOQCUxuPTPzlt6CvazHtq\nXQAA/B3vszAfGlFUZ1y2EgBMiMsLAgDuc7uhNwxDmZmZ6tWrl5o2bao6deooODhYwcHB9q/r1Knj\nzaw+VZUvnpXdVyC+wAfifQYAd/D8CHiGGR5Lbl+H/pe//KXS09PVrFkzdevWTSEhIaVquBZ9xfDv\nPwAAzIvXcfgLtxv6VatWaeDAgdq0aZOsVs7UAQAAqCj+CIA3VKgzHzBgAM08TMMM/yIDAAB4WG53\n5wMHDtSePXu8mQVAgOCPLVQWcwdAdRAdvcB+tSxPcLuhX7JkiU6dOqVf/OIX+vLLL3X+/HldvHix\n1A2oLF6oAVQHPJcBqGpun0Nft25dxcfHKz09Xe+++26ZNRaLRcXFxR4LBwQyV+dZcg6mf+L3AsCf\n8DoSQAw3jR071rBYLEZ8fLwxefJkIzU1tdQtLS3N3c153dWrV+03yfjRLdUwjHdK3VJT88qoNf62\nXMa9H5d79RXd/oN19/flrN5ZfinVo/l/vA75nee/t07Z+e8tV6l1fJW/rPnpKn9l53Nl8j+4jqce\nX5X5+Vf28V7Z/JWZP55+vHgzf1U931YmfyA+X7nK72/PV5WZP1VZH4jPt954vatMvTfyO8tT1c+3\nD/aw7nL7CP2HH36okSNHKisry91V/FpxcXypZSUlYWXWlpQ0L3M9V/XFxbUqtP2y65uXUV06x9/9\nP6fbL2s9d/PcX4f8f1d2ftd+vI6v8jurd+Zh53Nl8hcXx3vs8fXjHOXVe+LxXpn85Sk957zzeLm/\nnifzV/XzbeXmT6A9X5Wd39k6/pbf+6+/PN+6ylOeys6fytR7Mr/zet8831aE2w19zZo19eSTTz70\nDv2Fzdau1DJnF/CxWv/+g35wPVf1NlvpX07F653/gsvK72zCPWz+++uQ/+/Kzu/aj9fxVX5n9c48\n7HyuTH6brZ3HHl8/zlFevSce75XJX57Sc847j5f763kyf1U/31Zu/gTa85Xrht5fnq/KylK57Xu7\nPrCeb8tT2flTmXpP5nde75vn24qwGIZhuFP42muv6cSJE/rkk08efq9V4Nq1a/avH/wQrPsffuXm\n3XZrPU9vs7L78vSYv+QwQ0Z/yeGNjK74S0ZP3zd/+Z25GjP779NfcvjLGDk8N4+dqcr56C8/K3/J\nUd6YM4Gaw1kP64rbR+gHDx6syZMn62c/+5l+/vOfKzIyUjabrVRdt27d3N1kQPD0ExJQ1ZjD1Qu/\nTwCoftxu6Pv27Wv/eseOHWXWVPQqN3v27NFvfvMbHThwQOfOnVNmZqZGjx7ttP706dNq2bJlqeWf\nfvqpEhMT3d4vAADAffyhC7Nzu6FftWqVx3d+8+ZNdejQQaNHj9aoUaPsD6jybNu2TR07drR/36BB\nA49nAwB4Dw0UKou5A5TmdkOfnJzs8Z0nJSUpKSmpwttv2LChwsIe/h3BAAAAgNl54H21Ve/5559X\neHi4EhIS9NFHH/k6DgAAAOAzTo/Qp6amatKkSWrYsGGFNnj58mUtWbJE8+bNe+hwPLine truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7c2d2b0>"
"<matplotlib.figure.Figure at 0x80a8ba8>"
]
},
"metadata": {},
@@ -501,20 +503,20 @@
"name": "stdout",
"output_type": "stream",
"text": [
"mean of x = 1.791\n",
"std of x = 0.163\n"
"mean = 1.800\n",
"std = 0.141\n"
]
}
],
"source": [
"from numpy.random import randn\n",
"x = [1.8 + .1414*randn() for i in range(100)]\n",
"data = [1.8 + .1414*randn() for i in range(100)]\n",
"\n",
"set_figsize(y=3.)\n",
"plot_height_std(x, lw=2)\n",
"with figsize(y=3.):\n",
" plot_height_std(x, lw=2)\n",
"\n",
"print('mean of x = {:.3f}'.format(np.mean(x)))\n",
"print('std of x = {:.3f}'.format(np.std(x)))"
"print('mean = {:.3f}'.format(np.mean(x)))\n",
"print('std = {:.3f}'.format(np.std(x)))"
]
},
{
@@ -554,12 +556,12 @@
"name": "stdout",
"output_type": "stream",
"text": [
"0.3899 m\n"
"std of y is 0.3899 m\n"
]
}
],
"source": [
"print('{:.4f} m'.format(np.std(y)))"
"print('std of y is {:.4f} m'.format(np.std(y)))"
]
},
{
@@ -576,12 +578,34 @@
"\n",
"$$ \n",
"\\begin{aligned}\n",
"\\sigma_z &=\\sqrt{\\frac{(1.8-1.8)^2 + (1.8-1.8)^2 + (1.8-1.8)^2 + (1.8-1.8)^2 + (183-1.8)^2} {5}} \\\\\n",
"\\sigma_z &=\\sqrt{\\frac{(1.8-1.8)^2 + (1.8-1.8)^2 + (1.8-1.8)^2 + (1.8-1.8)^2 + (1.8-1.8)^2} {5}} \\\\\n",
"&= \\sqrt{\\frac{0+0+0+0+0}{5}} \\\\\n",
"\\sigma_Z&= 0.0 \\ m\n",
"\\end{aligned}$$"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"0.0"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.std([1.8, 1.8, 1.8, 1.8, 1.8])"
]
},
{
"cell_type": "markdown",
"metadata": {},
@@ -612,7 +636,7 @@
},
{
"cell_type": "code",
"execution_count": 8,
"execution_count": 9,
"metadata": {
"collapsed": false
},
@@ -621,7 +645,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"VAR(x) = 0.03 m\n"
"VAR(x) = 0.02 m\n"
]
}
],
@@ -647,7 +671,7 @@
},
{
"cell_type": "code",
"execution_count": 9,
"execution_count": 10,
"metadata": {
"collapsed": false
},
@@ -656,7 +680,7 @@
"data": {
"image/png": "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\nEhkAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x84c7f28>"
"<matplotlib.figure.Figure at 0x87ab7f0>"
]
},
"metadata": {},
@@ -687,12 +711,12 @@
"\n",
"Maybe we can use the absolute value? We can see by inspection that the result is $12/4=3$ which is certainly correct - each value varies by 3 from the mean. But what if we change $x=[6, -2, -3, 1]$? In this case we get $12/4=3$. $x$ is clearly more spread out than in the last example, but we get the same variance, so this cannot be correct. If we use the correct formula we get a variance of 3.5, which reflects the larger variation in $x$.\n",
"\n",
"This is not a proof of correctness. Indeed, Carl Friedrich Gauss the inventor of the technique recognized that is is somewhat arbitrary. If there are outliers, then squaring the difference gives disproportionate weight to that term. For example, let's see what happens if we have $x = [1,-1,1,-2,3,2,100]$. I'll use NumPy's `var()` method to compute the variance for me."
"This is not a proof of correctness. Indeed, Carl Friedrich Gauss, the inventor of the technique, recognized that is is somewhat arbitrary. If there are outliers then squaring the difference gives disproportionate weight to that term. For example, let's see what happens if we have $x = [1,-1,1,-2,3,2,100]$."
]
},
{
"cell_type": "code",
"execution_count": 10,
"execution_count": 11,
"metadata": {
"collapsed": false
},
@@ -714,7 +738,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Is this *correct*? You tell me. Without the outlier of 100 we get $\\sigma^2=2.89$, which accurately reflects how $x$ is varying absent the outlier. The one outlier swamps the computation. I will not continue down this path; if you are interested you might want to look at the work that James Berger has done on this problem. For Kalman filters, which assume Gaussian distributions, we can prove that this computation produces optimal results. More about that soon."
"Is this *correct*? You tell me. Without the outlier of 100 we get $\\sigma^2=2.89$, which accurately reflects how $x$ is varying absent the outlier. The one outlier swamps the computation. I will not continue down this path; if you are interested you might want to look at the work that James Berger has done on this problem, in a field called *Bayesian robustness*, or the excellent publications on *robust statistics* by Peter J. Huber [3]. For Kalman filters we can prove that this computation produces optimal results within certain limits. More about that soon."
]
},
{
@@ -730,7 +754,7 @@
"source": [
"We are now ready to learn about Gaussians. Let's remind ourselves of the motivation for this chapter.\n",
"\n",
">We desire a unimodal, continuous way to represent probabilities that models how the real world works, and that is very computationally efficient to calculate."
" We desire a unimodal, continuous way to represent probabilities that models how the real world works, and that is very computationally efficient to calculate."
]
},
{
@@ -742,16 +766,16 @@
},
{
"cell_type": "code",
"execution_count": 11,
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x84c7320>"
"<matplotlib.figure.Figure at 0x87b4828>"
]
},
"metadata": {},
@@ -771,16 +795,16 @@
"> I explain how to plot Gaussians, and much more, in the Notebook *Computing_and_Plotting_PDFs* in the \n",
"Supporting_Notebooks folder. You can also read it online [here](https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/blob/master/Supporting_Notebooks/Computing_and_plotting_PDFs.ipynb)[1]\n",
"\n",
"Probably this is immediately recognizable to you as a 'bell curve'. This curve is ubiquitous because under real world conditions many observations are distributed in such a manner. In fact, this is the bell curve for the student heights given earlier. \n",
"Probably this is immediately recognizable to you as a 'bell curve'. This curve is ubiquitous because under real world conditions many observations are distributed in such a manner. In fact, this is the curve for the student heights given earlier. I will not use the term 'bell curve' to refer to a Gaussian because several probability distributions have a similar bell curve shape. Non-mathematical sources might not be so precise, so be judicious in what you conclude when you see the term used without definition.\n",
"\n",
"This curve is not unique to heights - a vast amount of natural phenomena exhibits this sort of distribution, including the sensors that we use in filtering problems. As we will see, it also has all the attributes that we are looking for - it represents a unimodal belief or value as a probability, it is continuous, and it is computationally efficient. We will soon discover that it also other desirable qualities that we do not yet recognize we need.\n",
"This curve is not unique to heights - a vast amount of natural phenomena exhibits this sort of distribution, including the sensors that we use in filtering problems. As we will see, it also has all the attributes that we are looking for - it represents a unimodal belief or value as a probability, it is continuous, and it is computationally efficient. We will soon discover that it also other desirable qualities which we may not realize we desire.\n",
"\n",
"To further motivate you, recall the shapes of the probability distributions in the *Discrete Bayes* chapter. They were not perfect bell curves, but they were shaped somewhat like this, as in the plot below. We will be using Gaussians to replace the discrete probabilities used in that chapter!"
"To further motivate you, recall the shapes of the probability distributions in the *Discrete Bayes* chapter. They were not perfect Gaussian curves, but they were similar, as in the plot below. We will be using Gaussians to replace the discrete probabilities used in that chapter!"
]
},
{
"cell_type": "code",
"execution_count": 12,
"execution_count": 13,
"metadata": {
"collapsed": false
},
@@ -789,7 +813,7 @@
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtcAAACBCAYAAAALxpaeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGTpJREFUeJzt3X9QlWX+//EX4K9DkWUEHoQEysVUYpMTI2jp7NiZtczc\nMVHbtURbV7ZMZdtpKXb7IWrlDrtqQq05SLYV7jTjtso44Kgpq81CSGumrnV2yQbOaXELiQ39eLi/\nf/iV2dNBfugt9znwfMw4A9d9X1yv8w6mNzfXue8QwzAMAQAAALhioVYHAAAAAPoKmmsAAADAJDTX\nAAAAgElorgEAAACT0FwDAAAAJqG5BgAAAExCcw0AAACYpMvmev/+/ZoxY4ZiY2MVGhqqkpKSLr/o\nkSNHNHnyZIWHhys2NlYrV640JSwAAAAQyLpsrltaWnT77bdr3bp1stlsCgkJ6fT8M2fO6J577pHd\nbld1dbXWrVuntWvXqqCgwLTQAAAAQCAK6ckTGiMiIrRx40Y9/PDDlzynqKhIubm58ng8Gjx4sCRp\n1apVKioq0hdffHHliQEAAIAAZfqe60OHDumuu+5qb6wlyel0qr6+XnV1dWYvBwAAAAQM05trt9ut\n6Ohon7GLn7vdbrOXAwAAAALGALO/YFd7sv9XU1OT2csDAAAAvWbo0KE+n5t+5Xr48OF+V6g9Hk/7\nMQAAAKCvMr25Tk9P14EDB3T27Nn2sYqKCo0YMUIjR440ezkAAAAgYHS5LaSlpUUnT56UJLW1tamu\nrk61tbW68cYbFRcXp9zcXFVVVWn37t2SpIceekjPP/+8FixYoLy8PJ04cUIvvfSSnnvuuU7X+e4l\ndbNVV1dLkhwOx1VdJ5hQE3/UxB818UdN/FETf9TEHzXxR018BUs9Otva3OWV66qqKo0fP17jx49X\na2urnn32WY0fP17PPvuspAtvUnS5XO3nX3fddaqoqFB9fb0cDoeWLl2qJ598UitWrDDhpQAAAACB\nq8sr11OmTFFbW9sljxcXF/uNjRs3Tu+///6VJQMAAACCjOl7rgEAAID+iuYaAAAAMAnNNQAAAGAS\nmmsAAADAJDTXAAAAgElorgEAAACT0FwDAAAAJulWc11YWKiEhATZbDY5HA5VVlZ2en5ZWZkmTJig\n6667TjfddJNmzpzZ/pRHAAAAoK/qsrkuLS3V8uXLlZeXp9raWmVkZGjatGk6depUh+d/+umnmjlz\npqZMmaLa2lrt3r1bra2tuvfee00PDwAAAASSLpvrgoICZWVladGiRUpKStL69etlt9tVVFTU4fm1\ntbVqa2vTmjVrlJiYqJSUFD311FP67LPP9J///Mf0FwAAAAAEik6b63PnzqmmpkZOp9Nn3Ol06uDB\ngx3OmThxoq699lpt2rRJXq9Xzc3N2rJli9LS0jRs2DDzkgMAAAABptPmurGxUV6vV9HR0T7jUVFR\ncrvdHc6x2+0qKytTXl6ehgwZouuvv15Hjx7VX/7yF/NSAwAAAAEoxDAM41IH6+vrFRsbq/3792vS\npEnt4y+88ILeeustHT9+3G+Oy+XShAkTlJWVpYceekhnzpzRb37zG0nSnj17FBIS0n5uU1NT+8e8\n4REAAADBYNSoUe0fDx061OfYgM4mRkZGKiwsTB6Px2fc4/HIbrd3OOe1115TXFycXnrppfaxN998\nU3FxcTp06JAyMjJ6/AIAAACAYNBpcz1o0CClpqaqvLxcs2bNah+vqKjQ7NmzO5xjGIZCQ313m1z8\nvK2t7ZJrORyOboe+HNXV1b2yTjChJv6oiT9q4o+a+KMm/qiJP2rij5r4CpZ6/O/ui+/q8m4hOTk5\n2rJlizZv3qxjx45p2bJlcrvdWrJkiSQpNzdXU6dObT9/xowZqqmp0cqVK3Xy5EnV1NQoKytLN998\ns1JTU014OQAAAEBg6vTKtSRlZmbq9OnTys/PV0NDg5KTk1VWVqa4uDhJktvtlsvlaj9/0qRJKi0t\n1YsvvqiXX35Z4eHhSk9P165du2Sz2a7eKwEAAAAs1mVzLUnZ2dnKzs7u8FhxcbHf2IMPPqgHH3zw\nypIBAAAAQaZbjz8HAAAA0DWaawAAAMAkNNcAAACASWiuAQAAAJPQXAMAAAAmobkGAAAATEJzDQAA\nAJikW811YWGhEhISZLPZ5HA4VFlZ2eWc3//+9xo9erSGDBmimJgY5ebmXnFYAAAAIJB1+RCZ0tJS\nLV++XEVFRZo0aZI2btyoadOm6ZNPPml/SuN35eTkaOfOnfrtb3+r5ORkNTU1qaGhwfTwAAAAQCDp\nsrkuKChQVlaWFi1aJElav369du3apaKiIq1evdrv/BMnTuiVV17RkSNHlJSU1D6ekpJiYmwAAAAg\n8HS6LeTcuXOqqamR0+n0GXc6nTp48GCHc/785z8rMTFRZWVlSkxMVEJCghYsWKB///vf5qUGAAAA\nAlCnzXVjY6O8Xq+io6N9xqOiouR2uzuc43K5VFdXp23btumNN97Q1q1bdfz4cd1///0yDMO85AAA\nAECA6XJbSE+1tbXp7Nmz2rp1q2699VZJ0tatW5WUlKTq6mrdeeedHc6rrq42O4ql6wQTauKPmvij\nJv6oiT9q4o+a+KMm/qiJr0Cvx6hRoy55rNMr15GRkQoLC5PH4/EZ93g8stvtHc6x2+0aMGBAe2Mt\nSbfeeqvCwsL0+eef9yQ3AAAAEFQ6vXI9aNAgpaamqry8XLNmzWofr6io0OzZszucM2nSJJ0/f14u\nl0uJiYmSLmwV8Xq9Gjly5CXXcjgcl5O/2y7+BnS11wkm1MQfNfFHTfxRE3/UxB818UdN/FETX8FS\nj6ampkse6/I+1zk5OdqyZYs2b96sY8eOadmyZXK73VqyZIkkKTc3V1OnTm0/f+rUqRo/frwWLlyo\n2tpaHT58WAsXLtSECRMCvlAAAADAlehyz3VmZqZOnz6t/Px8NTQ0KDk5WWVlZe33uHa73XK5XO3n\nh4SEaMeOHXriiSd09913y2azyel0qqCg4Oq9CgAAACAAdOsNjdnZ2crOzu7wWHFxsd/Y8OHDtW3b\ntitLBgAAAASZbj3+HAAAAEDXaK4BAAAAk9BcAwAAACahuQYAAABMYvoTGgEAgcHV2Kz6lvO9slbz\nkChJUmXdV72yXsw1A5QYGdErawFAT9BcA0AfVd9yXkv3N/byqmd7ZZUNd0cqMbJXlgKAHmFbCAAA\nAGCSbjXXhYWFSkhIkM1mk8PhUGVlZbe++MmTJxUREaGICP50BwAAgL6vy+a6tLRUy5cvV15enmpr\na5WRkaFp06bp1KlTnc47d+6c5s6dq8mTJyskJMS0wAAAAECg6rK5LigoUFZWlhYtWqSkpCStX79e\ndrtdRUVFnc576qmn9P3vf1+zZ8+WYRimBQYAAAACVafN9blz51RTUyOn0+kz7nQ6dfDgwUvO27lz\np3bu3KkNGzbQWAMAAKDf6PRuIY2NjfJ6vYqOjvYZj4qKktvt7nBOfX29Fi9erO3btys8PNy8pAAA\nAECAM/1WfPPnz1d2drbuvPPOHs2rrq42O4ql6wQTauKPmvijJv4CvSYX7z3dFzU3N6u6+jOrY3RL\noH+fWIGa+KMmvgK9HqNGjbrksU63hURGRiosLEwej8dn3OPxyG63dzhn7969ev755zVw4EANHDhQ\njz76qFpaWjRw4EC9/vrrlxEfAAAACA6dXrkeNGiQUlNTVV5erlmzZrWPV1RUaPbs2R3O+fjjj30+\n3759u1atWqWqqirFxMRcci2Hw9GT3D128Tegq71OMKEm/qiJP2riL1hqcuFpib3zUJfeFhERIce4\nm62O0alg+T7pTdTEHzXxFSz1aGpquuSxLreF5OTkaP78+UpLS1NGRoZeffVVud1uLVmyRJKUm5ur\nqqoq7d69W5I0ZswYn/l/+9vfFBoa6jcOAAAA9DVdNteZmZk6ffq08vPz1dDQoOTkZJWVlSkuLk6S\n5Ha75XK5Ov0a3OcaAAAA/UG33tCYnZ2t7OzsDo8VFxd3OnfBggVasGBBj4MBAAAAwaZbjz8HAAAA\n0DWaawAAAMAkNNcAAACASWiuAQAAAJPQXAMAAAAmobkGAAAATEJzDQAAAJik2811YWGhEhISZLPZ\n5HA4VFlZeclz9+3bpwceeEAxMTG65pprlJKS0uX9sAEAAIBg163murS0VMuXL1deXp5qa2uVkZGh\nadOm6dSpUx2ef+jQIaWkpOjdd9/V0aNHlZ2drcWLF+vtt982NTwAAAAQSLr1hMaCggJlZWVp0aJF\nkqT169dr165dKioq0urVq/3Oz83N9fl8yZIl2rt3r959913NmzfPhNgAAABA4OnyyvW5c+dUU1Mj\np9PpM+50OnXw4MFuL9TU1KRhw4b1PCEAAAAQJLq8ct3Y2Civ16vo6Gif8aioKLnd7m4tsmPHDu3Z\ns6dHzTgAAAAQbLq1LeRK/PWvf9WPf/xjbdiwQQ6H45LnVVdXX+0ovbpOMKEm/qiJP2riL9Br0jwk\nyuoIV01zc7Oqqz+zOka3BPr3iRWoiT9q4ivQ6zFq1KhLHuuyuY6MjFRYWJg8Ho/PuMfjkd1u73Ru\nZWWl7rvvPq1cuVI/+9nPuhkXAICrw4iIVOP/9c270EYObFNIc6PVMYB+r8vmetCgQUpNTVV5eblm\nzZrVPl5RUaHZs2dfct7+/fs1ffp0vfDCC3riiSe6DNLZVW0zXPwN6GqvE0yoiT9q4o+a+AuWmlTW\nfSXprNUxroqIiAg5xt3c43mVdV/p6b/1zQZ0w92RmpQUb3WMTgXLz05voia+gqUeTU1NlzzWrW0h\nOTk5mj9/vtLS0pSRkaFXX31VbrdbS5YskXTh7iBVVVXavXu3pAv3ub7vvvv0+OOPaLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8321588>"
"<matplotlib.figure.Figure at 0x88f4b00>"
]
},
"metadata": {},
@@ -818,7 +842,7 @@
},
{
"cell_type": "code",
"execution_count": 13,
"execution_count": 14,
"metadata": {
"collapsed": false
},
@@ -827,7 +851,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8337c88>"
"<matplotlib.figure.Figure at 0x88189b0>"
]
},
"metadata": {},
@@ -845,9 +869,9 @@
"source": [
"The y-axis depicts the *probability density* - the relative amount of cars that are going the speed at the corresponding x-axis.\n",
"\n",
"You may object that human heights or automobile speeds cannot be less than zero, let alone $-\\infty$. This is true, but this is a common limitation of mathematical modeling. \"The map is not the territory\" is a common expression, and it is true for Bayesian filtering and statistics. The Gaussian distribution above very closely models the distribution of the measured automobile speeds, but being a model it is necessarily imperfect. The difference between model and reality will come up again and again in these filters. \n",
"You may object that human heights or automobile speeds cannot be less than zero, let alone $-\\infty$ or $-\\infty$. This is true, but this is a common limitation of mathematical modeling. \"The map is not the territory\" is a common expression, and it is true for Bayesian filtering and statistics. The Gaussian distribution above somewhat closely models the distribution of the measured automobile speeds, but being a model it is necessarily imperfect. The difference between model and reality will come up again and again in these filters. Gaussians are used in many branches of mathematics, not because they perfectly model reality, but because they are easier to use than any other choice. Even in this book Gaussians will fail to model reality, forcing us to computationally expensive alternative. \n",
"\n",
"You will see these distributions called *Gaussian distributions*, *normal distributions*, and *bell curves*. Bell curve is ambiguous because there are other distributions which also look bell shaped but are not Gaussian distributions, so we will not use it further in this book. But *Gaussian* and *normal* both mean the same thing, and are used interchangeably. I will use both throughout this book as different sources will use either term, and so I want you to be used to seeing both. Finally, as in this paragraph, it is typical to shorten the name and just talk about a *Gaussian* or *normal* - these are both typical shortcut names for the *Gaussian distribution*. "
"You will see these distributions called *Gaussian distributions* or *normal distributions*. *Gaussian* and *normal* both mean the same thing in this context, and are used interchangeably. I will use both throughout this book as different sources will use either term, so I want you to be used to seeing both. Finally, as in this paragraph, it is typical to shorten the name and just talk about a *Gaussian* or *normal* - these are both typical shortcut names for the *Gaussian distribution*. "
]
},
{
@@ -861,11 +885,13 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"So let us explore how Gaussians work. A Gaussian is a *continuous probability distribution* that is completely described with two parameters, the mean ($\\mu$) and the variance ($\\sigma^2$). It is defined as:\n",
"So let us explore how Gaussians work. A Gaussian is a **continuous probability distribution** that is completely described with two parameters, the mean ($\\mu$) and the variance ($\\sigma^2$). It is defined as:\n",
"\n",
"$$ \n",
"f(x, \\mu, \\sigma) = \\frac{1}{\\sigma\\sqrt{2\\pi}} e^{-\\frac{1}{2}{(x-\\mu)^2}/\\sigma^2 }\n",
"$$"
"f(x, \\mu, \\sigma) = \\frac{1}{\\sigma\\sqrt{2\\pi}} \\exp\\big [{-\\frac{1}{2}{(x-\\mu)^2}/\\sigma^2 }\\big ]\n",
"$$\n",
"\n",
"$\\exp[x]$ is notation for $e^x$; we avoid using superscripts in print so that the fonts are larger and more readable."
]
},
{
@@ -895,7 +921,7 @@
},
{
"cell_type": "code",
"execution_count": 14,
"execution_count": 15,
"metadata": {
"collapsed": false,
"scrolled": true
@@ -903,9 +929,9 @@
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAuAAAADxCAYAAACKywIeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8VGXaxvHfpPdAeiGEGmqooYUuEGmiIGJb14YKKipY\nWfFVV3RXscIKuKurrBUFREFWCSC9l1ASOqEEMiEJIaSXybx/RAezgdACJxOu737yCbnPMyf37DHJ\nlZNnnsdktVqtiIiIiIjINeFgdAMiIiIiItcTBXARERERkWtIAVxERERE5BpSABcRERERuYYUwEVE\nREREriEFcBERERGRa0gBXERERETkGrqoAD59+nQaNmyIu7s7MTExrF69+rxjly9fzs0330xYWBie\nnp60bduWTz/9tNK4FStW0LFjR9zd3WncuDEfffTR5T8LERERERE7ccEAPnv2bJ566ikmTZpEQkIC\nsbGxDBo0iGPHjp1z/Lp162jbti1z584lMTGRsWPH8vDDD/P111/bxiQnJzN48GB69OhBQkICEydO\nZNy4ccybN6/6npmIiIiISA1kutBOmF26dKFdu3YV7lBHRUUxcuRI3njjjYv6JLfffjsWi4U5c+YA\n8PzzzzN//nz27t1rG/PQQw+RmJjI2rVrL+d5iIiIiIjYhSrvgBcXF7N161bi4uIq1OPi4i4pKGdn\nZ+Pn52f7eN26dec85+bNm7FYLBd9XhERERERe+NU1cGMjAwsFgvBwcEV6kFBQZjN5ov6BAsXLmTZ\nsmUVAntaWlqlcwYHB1NaWkpGRkalYyIiIiIitUWVAfxKrVmzhrvvvptp06YRExNzyY/Pzs6+Cl2J\niIiIiFwbvr6+lWpVTkEJCAjA0dGRtLS0CvW0tDRCQ0Or/GSrV69m8ODBvPbaazzyyCMVjoWEhFS6\ng56WloaTkxMBAQFVnldERERExJ5VGcBdXFzo2LEjixcvrlCPj48nNjb2vI9buXIlgwcP5tVXX+WJ\nJ56odLxbt27Ex8dXOmenTp1wdHS8lP5FREREROzKBaegTJgwgXvuuYfOnTsTGxvLzJkzMZvNjBkz\nBoCJEyeyadMmlixZApSvAz5kyBAef/xx7rzzTtudbkdHRwIDAwEYM2YM//jHPxg/fjwPP/wwa9as\nYdasWXzzzTfn7eNct+//aPPmzQCXNdVFjKVrZ7907a6ektJidh/ZxrZ9q9mZvIniksLzjjVhItiv\n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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAuAAAAEtCAYAAABJQNX+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlcVOXiBvBnZlgERBTZF9llEUQFEXFXRAV3c0nLNM3l\npqWWmWW3utfb75ZlZje1xdSs3HFHhVRwwQ0VFVBB2ZVdBFlkmZnfH9RREgEVODPwfD8fP5/ed84M\nD3cu8HA4530lSqVSCSIiIiIiahJSsQMQEREREbUkLOBERERERE2IBZyIiIiIqAmxgBMRERERNSEW\ncCIiIiKiJsQCTkRERETUhFjAiYiIiIiaUL0K+Jo1a2BnZwcdHR14e3vj1KlTTz02PDwco0aNgoWF\nBfT09ODp6YkNGzY8cVxERAS8vLygo6MDBwcHfP/998//WRARERERqYk6C/i2bduwYMECLFu2DNHR\n0fDz88OwYcOQlpZW4/FnzpyBp6cndu3ahdjYWMydOxezZs3Cli1bhGOSkpIQGBiI3r17Izo6GkuX\nLsX8+fMRHBzccJ8ZEREREZEKktS1E2aPHj3QpUuXameoO3bsiJdeegmfffZZvT7IxIkTIZfLsXPn\nTgDAkiVLsGfPHty8eVM45o033kBsbCwiIyOf5/MgIiIiIlILtZ4BLy8vx6VLlxAQEFBtPiAg4JmK\nckFBAQwNDYXxmTNnanzNqKgoyOXyer8uEREREZG60ajtwdzcXMjlcpiamlabNzExQWZmZr0+wIED\nB3Ds2LFqhT0rK+uJ1zQ1NUVlZSVyc3OfeIyIiIiIqLmotYC/qNOnT2PKlCn49ttv4e3t/czPLygo\naIRURERERERNw8DA4Im5Wi9BMTIygkwmQ1ZWVrX5rKwsmJub1/rBTp06hcDAQPz73//G7Nmzqz1m\nZmb2xBn0rKwsaGhowMjIqNbXJSIiIiJSZ7UWcC0tLXh5eSE0NLTafFhYGPz8/J76vBMnTiAwMBCf\nfvop3nrrrSce79mzJ8LCwp54ze7du0Mmkz1LfiIiIiIitVLnJSiLFi3Cq6++Ch8fH/j5+WHdunXI\nzMzEnDlzAABLly7FhQsX8McffwCoWgc8KCgI8+bNw8svvyyc6ZbJZDA2NgYAzJkzB//73/+wcOFC\nzJo1C6dPn8amTZuwdevWp+ao6fT946KiogDguS51IXHxvVNffO+ajlKpRGrWLZy/fhwX40+i5OGD\n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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x83d5b38>"
"<matplotlib.figure.Figure at 0x8065080>"
]
},
"metadata": {},
@@ -921,11 +947,13 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"So what does this curve *mean*? Assume for a moment that we have a thermometer, which reads 22$\\,^{\\circ}C$. No thermometer is perfectly accurate, and so we normally expect that thermometer will read $\\pm$ that temperature by some amount each time we read it. Furthermore, a theorem called **Central Limit Theorem** states that if we make many measurements that the measurements will be normally distributed. So, when we look at this chart we can *sort of* think of it as representing the probability of the thermometer reading a particular value given the actual temperature of 22$^{\\circ}C$. However, that is not quite accurate mathematically. \n",
"So what does this curve *mean*? Assume for a moment that we have a thermometer, which reads 22$\\,^{\\circ}C$. No thermometer is perfectly accurate, and so we normally expect that thermometer will read slightly plus or minus that temperature each time we read it. However, a theorem called **Central Limit Theorem** states that if we make many measurements that the measurements will be normally distributed. So, when we look at this chart we can *sort of* think of it as representing the probability of the thermometer reading a particular value given the actual temperature of 22$^{\\circ}C$. Maybe the probability of it reading 22$\\,^{\\circ}C$ is 20%? That is not quite accurate mathematically. \n",
"\n",
"Recall that we said that the distribution is *continuous*. Think of an infinitely long straight line - what is the probability that a point you pick randomly is at, say, 2.0. Clearly 0%, as there is an infinite number of choices to choose from. The same is true for normal distributions; in the graph above the probability of being *exactly* 22$^{\\circ}C$ is 0% because there are an infinite number of values the reading can take.\n",
"\n",
"So what then is this curve? It is something we call the *probability density function.* Later we will delve into this in greater detail; for now just understand that the area under the curve at any region gives you the probability of those values. So, for example, if you compute the area under the curve between 20 and 22 the result will be the probability of the temperature reading being between those two temperatures."
"So what then is this curve? It is something we call the *probability density function.* The area under the curve at any region gives you the probability of those values. So, for example, if you compute the area under the curve between 20 and 22 the resulting area will be the probability of the temperature reading being between those two temperatures. \n",
"\n",
"We can think of this in Bayesian terms or frequentist terms. As a Bayesian, if the thermometer reads exactly 22$\\,^{\\circ}C$, then our belief is described by the curve - our belief that the actual (system) temperature is near 22 is very high, and our belief that the actual temperature is near 18 is very low. As a frequentist we would say that if we took 1 billion temperature measurements of a system at exactly 22$\\,^{\\circ}C$, then a histogram of the measurements would look like this curve. \n"
]
},
{
@@ -941,7 +969,7 @@
},
{
"cell_type": "code",
"execution_count": 15,
"execution_count": 31,
"metadata": {
"collapsed": false
},
@@ -993,7 +1021,7 @@
},
{
"cell_type": "code",
"execution_count": 16,
"execution_count": 17,
"metadata": {
"collapsed": false
},
@@ -1021,7 +1049,7 @@
},
{
"cell_type": "code",
"execution_count": 17,
"execution_count": 18,
"metadata": {
"collapsed": false,
"scrolled": true
@@ -1029,9 +1057,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8571c88>"
"<matplotlib.figure.Figure at 0x883e240>"
]
},
"metadata": {},
@@ -1070,7 +1098,7 @@
},
{
"cell_type": "code",
"execution_count": 18,
"execution_count": 19,
"metadata": {
"collapsed": false
},
@@ -1079,7 +1107,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7bfc908>"
"<matplotlib.figure.Figure at 0x87f5d30>"
]
},
"metadata": {},
@@ -1115,7 +1143,7 @@
},
{
"cell_type": "code",
"execution_count": 19,
"execution_count": 20,
"metadata": {
"collapsed": false
},
@@ -1124,7 +1152,7 @@
"data": {
"image/png": "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\njjBsExERERHpCMM2EREREZGOMGwTEREREekIwzYRERERkY4wbBMRERER6QjDNhERERGRjjBsExER\nERHpCMM2EREREZGOMGwTEREREelIv8L25s2b4e3tDRMTE0RGRiI1NbXPfT755BMEBATA2NgYLi4u\nWLNmzT0XS0REREQ0khj01WH37t147bXXkJCQgNjYWGzatAlz585Ffn4+3N3de9xn9erV2L9/P/77\nv/8bISEhqKurQ1VV1aAXT0REREQ0nPUZtjdu3IgVK1bghRdeAAB89tlnOHjwIBISErB+/fpu/YuK\nivA///M/OHfuHPz9/TXtoaGhg1g2EREREdHw1+swEqVSiezsbMTHx2u1x8fHIy0trcd9vv32W/j4\n+CApKQk+Pj7w9vbGc889h2vXrg1e1UREREREI0CvZ7ZramqgUqng6Oio1e7g4AC5XN7jPjKZDGVl\nZdizZw/++c9/AgDeeOMNPPzww0hPT4dIJOpxv6ysrLupn4YZHsfRgcdx9OCxHD14LEcPHsuRz9fX\nt999+xxGMlBqtRptbW3YsWMHxo0bBwDYsWMH/P39kZWVhUmTJg32WxIRERERDUu9hm07OztIJBIo\nFAqtdoVCAWdn5x73cXZ2hoGBgSZoA8C4ceMgkUhw5cqVO4btyMjIgdZOw8itv9J5HEc2HsfRg8dy\n9OCxHD14LEePurq6fvftdcy2kZERIiIicOjQIa325ORkxMTE9LhPbGwsOjo6IJPJNG0ymQwqlQqe\nnp79LoyIiIiIaKTrc57t1atXY9u2bfjiiy9QUFCAV199FXK5HC+99BIAYM2aNZg9e7am/+zZsxEe\nHo7nn38eubm5yMnJwfPPP48pU6bwLzkiIiIiuq/0OWZ76dKlqK2txbp161BVVYWQkBAkJSVp5tiW\ny+VaZ7FFIhF++OEH/P73v8f06dNhYmKC+Ph4bNy4UXefgoiIiIhoGOrXDZKrVq3CqlWretyWmJjY\nrc3JyQl79uy5t8qIiIiIiEa4fi3XTkREREREA8ewTURERESkIwzbREREREQ6wrBNRERERKQjDNtE\nRERERDrCsE1EREREpCMM20REREREOtKvebaJiGhkEQQBgqDWdxlERPc9hm0iohGgpa0JlTVlaGi+\niea2JrS0NaK5tVHzuKm1AS2tTWhu62prbYQAAXsypTAxNoep1AymUvOeHxubw1RqDjtrZ9hbO0Ms\n4kVPIqLBwrBNRDTMNLU2oLxahqvVJbhaXYLyahmu1VXd1WspO9qgbGxDXWNtv/pLDY3hZu8Dd4ex\ncHPwgbvDODjauEAsltzV+xMR3e8YtomI9Kihua4rUHcG66vXZLheXz0ory2CCAKEAe3T1t6Kksp8\nlFTma9qMDKRwsfeCh8NYuNmPhbvDWDjZukEi4a8QIqK+8CclEdEQEgQBV6tLcLYkA3klGVBcL+/X\nfmKxBE627hhj6aAZAmJmbA4T6c9DQUyk5l1DQsyQf74IYpEYIaHju4abNKC5tfvwk1uPG1vqUFlT\nhsaWum7vrexoQ2lVEUqrijRtRgZSBHiGIXTcFAR7R8JUaj5o/42IiEYThm0iIh1TqVWQVebjbMkp\nnL2UgRuNNb32l0gM4DLGE+5dwzjc7H3gYucJQwOjfr+npGvYh7GRCYyNTGAL+z73EQQBNxtrUX5N\newhLXdP1bn2VHW04W5KBsyUZEIsl8HUbj9Cx0QgZGwUrM9t+10lENNoxbBMR6UB7hxJFV/KQV5KB\n87LTaGpt6LGfgcQQrvbecNeMkx4L5zHuMJAYDnHFgEgkgo2FHWws7BDiE6Vpr2+60Rm8b4VwRYnW\nHwxqtQpFV/JQdCUPe49ugaezH0LHTsGEsVNgb+085J+DiGg4YdgmIhok7R1KnJOdRu6lNBSUZqOt\nvbXHfiZSM4z3noQJY6cg0DMMRobSIa50YCzNbBDsHYlg70hNm+J6OfJKMnD2UgauVF/StAsQNENO\nvk3dDpcxnpgwdgrC/WPhZOuuj/KJiPSKYZuI6B5dr7+Gk+cOIu1CMppa6nvsY2lmgwk+kxE6Lhrj\nXINH/M2FjrZuiLddjPhJi3Gj4VrnEJmSUyipuAD1bfN7V9aWobK2DAdP74afWwimT5yPYO9JmmEu\nRESj3cj+aU9EpCeCIKC4/BxS8pJwTna6xwVk7K2cMWFc53AKTyffUTt/tY2FPWZMXIAZExegsaUe\n52WZOFuSgcIruehQtWv6XSw/h4vl52BjYY/YkIcQPX4OzE0s9Vg5EZHuMWwTEQ1Am7IFpwuP4URe\nEuTXr3bbbmNuhynBsxE6LhrOYzwgEon0UKX+mJtYYkrwA5gS/ADalC3IL8vGmaIUnJNlav4gudFw\nDd+n7cCBU7sQ4TcN00LnwcNxnJ4rJyLSDYZtIqJ+qL5RgRNnD+BU/hG0Kpu7bfdznLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x964ff60>"
"<matplotlib.figure.Figure at 0x9a1d5c0>"
]
},
"metadata": {},
@@ -1193,7 +1221,7 @@
},
{
"cell_type": "code",
"execution_count": 20,
"execution_count": 21,
"metadata": {
"collapsed": false
},
@@ -1222,7 +1250,7 @@
},
{
"cell_type": "code",
"execution_count": 21,
"execution_count": 22,
"metadata": {
"collapsed": false
},
@@ -1255,7 +1283,7 @@
},
{
"cell_type": "code",
"execution_count": 22,
"execution_count": 23,
"metadata": {
"collapsed": false
},
@@ -1264,9 +1292,9 @@
"name": "stdout",
"output_type": "stream",
"text": [
"[-1.22912539 -4.84958909 -1.68229667 1.12716146 5.44489353 7.99427056\n",
" -0.90505337 5.52221412 4.74347808 2.06231479 0.69584058 3.55335766\n",
" 2.35163106 1.66668531 0.38705606]\n"
"[-0.50612396 -2.0611277 -0.34801741 0.7494353 -0.27528631 3.44204351\n",
" 2.96201651 5.94330752 4.28180156 -1.45836258 3.32654708 5.5268677\n",
" -0.84579705 -2.56359567 -2.45896645]\n"
]
}
],
@@ -1283,7 +1311,7 @@
},
{
"cell_type": "code",
"execution_count": 23,
"execution_count": 24,
"metadata": {
"collapsed": false
},
@@ -1310,7 +1338,7 @@
},
{
"cell_type": "code",
"execution_count": 24,
"execution_count": 25,
"metadata": {
"collapsed": false
},
@@ -1358,7 +1386,7 @@
},
{
"cell_type": "code",
"execution_count": 25,
"execution_count": 26,
"metadata": {
"collapsed": false
},
@@ -1367,7 +1395,7 @@
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAuwAAADaCAYAAAD9nBdlAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlcVNf9P/7XDPvihggMOyiiKKIBFxCiJkiKGlNjolGj\nkZg2UmtR4i+prWnTxqa1yY9GEyV+Uqsm0apJqDGGRHBDEBcQQZTFBUUUZgKobAoDM/f7B/HqBARE\n8M4Mr+fj4cM5Z865876+H8Cb673nyARBEEBERERERHpJLnUARERERET0YCzYiYiIiIj0GAt2IiIi\nIiI9xoKdiIiIiEiPsWAnIiIiItJjLNiJiIiIiPQYC3YiIiIiIj3W4YJ9w4YN8PLygpWVFYKCgpCW\nlvbAsQ0NDVi4cCECAgJgbm6OSZMmtRiTkJCAiIgIODg4oHfv3hg3bhy+/fbbzp0FEREREZGR6lDB\nvnPnTixbtgyrVq1CdnY2QkJCEBkZiZKSklbHazQaWFlZYenSpZg6dSpkMlmLMUeOHEF4eDgSExOR\nnZ2NKVOmYMaMGW3+IkBERERE1NPIOrLT6dixYzFy5Ehs3LhR7Bs8eDBeeOEFvPfee23O/e1vf4tz\n587h0KFD7QYzduxYhIWF4YMPPuhA6ERERERExq/dK+xqtRpZWVmIiIjQ6Y+IiEB6enqXBlNdXQ07\nO7suPSYRERERkSFrt2CvqKiARqOBo6OjTr+DgwOUSmWXBbJ+/XqUlpZi/vz5XXZMIiIiIiJDZyp1\nAADw9ddf480338SuXbvg5uam815VVZVEURERERERPbo+ffo80vx2r7Db29vDxMQEKpVKp1+lUkGh\nUDzShwPAV199hQULFuDzzz/H1KlTH/l4RERERETGpN2C3dzcHIGBgUhKStLpT05ORkhIyCN9+K5d\nu7BgwQJs3boVzz///CMdi4iIiIjIGHXolpjY2FjMnz8fY8aMQUhICD755BMolUosXrwYALBy5Upk\nZGRg//794py8vDyo1WpUVFSgtrYWOTk5EAQBI0eOBADs2LED8+fPR1xcHEJDQ8X74c3NzR/44Omj\n/ncCSSczMxMAEBQUJHEk9KiYS+PBXBoP5tJ4MJfGoytv6+5QwT5r1ixUVlZi9erVKCsrg7+/PxIT\nE8X7zZVKJYqKinTmTJ06FcXFxQAAmUyGUaNGQSaTQaPRAAA2btwIrVaLmJgYxMTEiPMmTpyIgwcP\ndsnJEREREREZug4/dBodHY3o6OhW39u8eXOLvsuXL7d5vI6sy05ERERE1NN1aKdTIiIiIiKSBgt2\nIiIiIiI9xoKdiIiIiEiPsWAnIiIiItJjLNiJiIiIiPQYC3YiIiIiIj3Ggp2IiIiISI91eB12IiIy\nbLdqK3Hm0gnkX8mC8mYJblaXA5Dhf1m2UNh7wEvhiycGPwlFfzepQyUiovuwYCciMnKqG9ewL+NL\nZBWmQitoW7xfc6cKNSVncL7kDPad/BJeiiGYGjwXg91GSBAtERH9HAt2IiIj1dikxr6TX+LAqf9B\no23q8LzLZQX4OOFP8Pceg9lPRaO3Tb9ujJKIiNrDgp2IyAhVVqmw6bs1uFZepNM/0GUYnvAZj4Eu\nw1B86TpkkGHQEC9cVV1E9sV05BadhEbTXNznFp1EUWk+FvwiFkM9RklxGkREBBbsRERG59L1PHy6\n9++4XV8j9nkphmDGk6/C02mw2Fd6pRwAYN/HCfZ9nPDE4FDcqC7H9yd24ETeAQBAXX0NPvnmXcyc\nsAhPBkx9vCdCREQAWLATERmVvCtZ2PTdP9DYpAYAmMhN8cuwhQgLmAK5rP2Fwex6D8C8yUsR5Psk\nvkheh6raSgiCFl8d/hR19bWIHDu7u0+BiIh+hss6EhEZiYLibHz67Xtisd7Lui9+98LfMGHktA4V\n6/fzdQ/Aipfeh4ejj9j3/fH/4vvjO7o0ZiIiah8LdiIiI1CsPI9/f/cP8eFSu14DsOzFv8NL4dvp\nY/axscPSF1ZjiPtIse/7EztwNHffI8dLREQdx4KdiMjA3awpx8Y9f4O6sR4A0Ne2P373wnsY0Ffx\nyMc2N7XAr579A4bc99DprkMbce5y5iMfm4iIOoYFOxGRAWtsUmPTd/9E7Z0qAICNZS8smfEX2PUe\n0GWfYWZqjkVT34K7wyAAgCBosfWHOJTfKuuyzyAiogdjwU5EZKAEQcCXhzbiquoCAEAuN8Giab+H\no51rl3+WhZklfj19Fex6Nf8iUK++jf98twbqpoYu/ywiItLFgp2IyEBlFh7B8Z+WXwSAGWFRGOQy\nrNs+r7dNX7w69S2YmDQvMHa94gq+Ovxpt30eERE161DBvmHDBnh5ecHKygpBQUFIS0t74NiGhgYs\nXLgQAQEBMDc3x6RJk1odl5KSgsDAQFhZWWHgwIHYuHFj586AiKgHulFdjq8O3fu+GTRkwmNZJ93d\ncRBmPvma2D5+bj9yLh7v9s8lIurJ2i3Yd+7ciWXLlmHVqlXIzs5GSEgIIiMjUVJS0up4jUYDKysr\nLF26FFOnToVMJmsx5vLly5gyZQpCQ0ORnZ2NlStXYunSpUhISHj0MyIiMnJaQYttyetwR30bANC/\njyNmTVrc6vfb7jDe/xkEDg4T2zsPxqPmdtVj+Wwiop6o3YI9Li4OUVFRWLRoEXx9fbFu3TooFArE\nx8e3Ot7a2hrx8fF47bXX4OLiAkEQWoz55JNP4OrqirVr18LX1xevvfYaXnnlFXzwwQePfkZEREYu\nNScRF67lAgBkMjnmRyyHpbnVY/t8mUyGFye9jj42dgCA2jtV+PLQxla/3xMR0aNrs2BXq9XIyspC\nRESETn9ERATS09M7/aHHjh1r9ZiZmZnQaDSdPi4RkbG7WVOOvelfiO3JQTPh7TzkscdhbWmLOeFL\nxHb2xXRkXzz22OMgIuoJTNt6s6KiAhqNBo6Ojjr9Dg4OUCqVnf5QlUrV4piOjo5oampCRUVFi/fu\nyszkur+Gjjk0HsylNA7lf4mGn9Zb72NljwGmgx45F48yf5DjSFxUZQMAdu6PR32lADNTi0eKhzqP\nX5fGg7k0fD4+Pu0P6iCuEkNEZCCuVhai5Eah2B43cApM5CYSRgQEeYbD0swGAHBbXYOcklRJ4yEi\nMkZtXmG3t7eHiYkJVCqVTr9KpYJC0fkd9JycnFpcoVepVDA1NYW9vf0D5wUFBXX6M0lad68UMIeG\nj7mURmOTGns/u7cqzLhh4Zj69POPdMyuyqVpn0Z8kbQWAFCgzMD0SXPgbO/xSMekh8OvS+PBXBqP\nqqquexi/zSvs5ubmCAwMRFJSkk5/cnIyQkJCOv2hwcHBSE5ObnHM0aNHw8RE2qtFRET66PDpb3Gj\nphxA826mz41fIHFE94weMhEDf1r/XavVIOHIJj6ASkTUhdq9JSY2NhZbtmzBpk2bkJ+fj5iYGCiV\nSixevBgAsHLlSoSHh+vMycvLQ3Z2NioqKlBbW4ucnBxkZ2eL7y9evBjXr1/H8uXLkZ+fj3//+9/Y\nunUrVqxY0cWnR0Rk+KrrbiEp8yuxPWXcHNhY9ZYwIl0ymQyzJr0Ouaz5R8r5kjPIL86SOCoiIuPR\n5i0xADBr1ixUVlZi9erVKCsrg7+/PxITE+Hm5gYAUCqVKCoq0pkzdepUFBcXA2j+Rj5q1CjIZDJx\nBRhPT08kJiZi+fLliI+Ph4uLCz766CPMmDGjq8+PiMjgfX/8v2hQ3wEAONq5IsT/GYkjaknR3x3B\nwyNwNPcHAMA3aVvh6z5S8nvsiYiMQbsFOwBER0cjOjq61fc2b97cou/y5cvtHvPJJ5/EqVOnOvLx\nREQ9VmlFMdLP3buF8JehC/W2CI4c+xIyCw6jobEeZZVXcSLvIEKGT5Y6LCIig8dVYoiI9Nieo59B\nELQAAF/3APh5Bkoc0YP1tumL8KB7D8ImHtsu/s8AERF1Hgt2IiI9VVRagLwrzf8TKYMMvwyNgkwm\nkziqtk0a9Zy4A2r17Zs4dHqPxBERERk+FuxERHoq8dg28XWg75NwGeApXTAdZG5mgSnBc8X2oaxv\ncLuhVsKIiIgMHwt2IiI9dL4kF+ev5QIA5DI5fjF2tsQRddyYoZMwoK8zAOCO+jYOn/5W4oiIiAwb\nC3YiIj0jCAISj20X22OGToJDP2cJI3o4JnITnV8wDp/+FrfreZWdiKizWLATEemZgqvZKCrLBwCY\nyE3xzNhZEkf08AIHh8KxnysAoF59G4dOfyNxREREhosFOxGRHhEEAd+f2CG2g4eFo39vRwkj6hz5\nz6+yZ+9F3Z1qCSMiIjJcLNiJiPTIxevncKWsEEDz1fXJo1+QOKLOG+UTAie75k32GtR3cDib97IT\nEXUGC3YiIj2SnPm1+HrM0Eno18tewmgezc+vsqfmfI96rstORPTQWLATEemJq6qLKCg+DQCQyeR4\nOnCGxBE9upGDgmHfxwkAcLuhFuln90kcERGR4WHBTkSkJ+6/uj7KZ7xBrQzzIHK5ic4vHoey9qCx\nqVHCiIiIDA8LdiIiPaC6cQ1nLh4X25ODZkoYTdcaM/Qp9LbpBwCoqruBjILD0gZERGRgWLATEemB\n/ZkJECAAAIZ5BRnErqYdZWZqhkmjpovtA6f+B61WI2FERESGhQU7EZHEbtZUIKMwRWxHGPDKMA8S\nMvwZWFnYAADKb5Ui59IJiSMiIjIcLNiJiCSWmpMoXnEe6DIMXoohEkfU9awsrBE2YorY3p/5NQRB\nkDAiIiLDwYKdiEhCDeo7OHrfyilPPfGchNF0rwkjp8LMxBwAUPLjJVwqzZM4IiIiw8CCnYhIQify\nD+JOQx0AYEAfBYZ5BUkcUffpZd0Xo4dOENuHT++RMBoiIsPBgp2ISCJarQaHT9/b/Line truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x9662cc0>"
"<matplotlib.figure.Figure at 0x99f4940>"
]
},
"metadata": {},
@@ -1396,7 +1424,7 @@
},
{
"cell_type": "code",
"execution_count": 26,
"execution_count": 27,
"metadata": {
"collapsed": false
},
@@ -1417,16 +1445,16 @@
},
{
"cell_type": "code",
"execution_count": 27,
"execution_count": 28,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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\nn7O1ZcgqPBFqMSzhYM42HMky75L0bco6fLXvIwsl4nQ3OpUyztLoFVXkqELeZeSloagixyaprCNQ\nn/FwH9UWlGfjTFHXaLxFwq4npQt0Mv+IKu51S1sLsoqO+3MQF3Bac3MejzuAq30yWFm3M/MOU6Mx\nWT3Aeu/r59RleL0oPVtoaTl2Q3sDdg1Kg92mebweFJT7XSFZSg9UGdejsDwby9cnGb6uta3Fsqg9\ni5MXwE36jsO7y2GiqPoMjhXuC6sN84jPOhjw2fWQ0eWU8Wc+ugd707eqjn/r8k0d1jfVajZQpwrS\nqZ10W3srWtvtnFYOONC4NWLYBF+gaidyBVqrji9b/yS+2b/WSJZdjuLKPOp5uxTLvelb8fCbi2zJ\nOzgE//sNdptxLNsl2y2VZTBAm7EtrSpE+pmUgGQ6nnMImfmHUVSRa+i6B16/EbuPbA6obCkejz2z\nU3WNNaioKbElbxa+O/ZxyMrW4t7XFqLW4hk6FngPHTo6lTLO2jC3uVvV13ZUs0ffvgWHTu4mXldW\nRbdUJa97DM+vvl9eVnsr8kpPM8nV2WhqaQi1CGFP2LmpMIizNWUd06BSeW/PfXwfTuSm6iqzdnCm\n+ITu92kVpZUFtuR7pugEGlvqbck7GHSHwbRqt9QA3FTcHjeWrrwLb3+xlHo9rQ2paTiLU4XpAIBn\nPrpbVxYllbWlhq8JNm9t/A/+/cFfLcipa9XPUIQS7cqE++L7sFHGX/rkId0dFR1O8+JKO5KckkxT\neRSWZ6P0rLyj3pH6BV5Y8wAAoLahGrUNVeZlNH2lPTz05s1oaK6zLD+WmY3yukJU1oR/ByJiwxd+\n9MwBw9PL6vT067/Z/wktNyFT2dGC8jN4Y8NT+O+Hiw3JFogSJxXhRG6q6Xxkeeo8G9JgPpS0tbep\nlUROUGCpuXYOUtZtfxsZlHqfV3oaD7/1B9vKDwZNrY2hFoHDCTlU7WjXrl2YP38+Ro4cCafTiRUr\nVmimveOOO+B0OvHii+YiEeQUZ6JZMRLMLzsjcxsx6psnneaRNpg7074kpjfjXyftJJ/7+F48bVBR\nkRGwz7g1SK13wVYCNh95H+9+zRa7O+ys0hbxvy+eNm1B9bup0NO1tjXLriLnpc+T7/5RdxDdlbCy\nzp0qOMqU7tmP78GbG/5tWbnBorah2gK3vmCbKBTl6bTJ63e9F3hEHNrHqlN+bukpNLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x85719b0>"
"<matplotlib.figure.Figure at 0x997e9b0>"
]
},
"metadata": {},
@@ -1450,7 +1478,7 @@
},
{
"cell_type": "code",
"execution_count": 28,
"execution_count": 29,
"metadata": {
"collapsed": false
},
@@ -1470,16 +1498,16 @@
},
{
"cell_type": "code",
"execution_count": 29,
"execution_count": 30,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x83b2208>"
"<matplotlib.figure.Figure at 0x9aea0b8>"
]
},
"metadata": {},
@@ -1546,7 +1574,9 @@
"\n",
"[1] http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.norm.html#scipy.stats.normfor\n",
"\n",
"[2] http://docs.scipy.org/doc/scipy/reference/tutorial/stats.html"
"[2] http://docs.scipy.org/doc/scipy/reference/tutorial/stats.html\n",
"\n",
"[3] Huber, Peter J. *Robust Statistical Procedures*, Second Edition. Society for Industrial and Applied Mathematics, 1996."
]
}
],