{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"tags": [
"remove_cell"
]
},
"outputs": [],
"source": [
"# HIDDEN\n",
"import warnings\n",
"warnings.filterwarnings('ignore')\n",
"from datascience import *\n",
"from prob140 import *\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"plt.style.use('fivethirtyeight')\n",
"%matplotlib inline\n",
"from scipy import stats"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"tags": [
"remove_cell"
]
},
"outputs": [],
"source": [
"# HIDDEN\n",
"x = np.arange(0, 1.01, 0.01)\n",
"def f(x):\n",
" return 6*x*(1-x)\n",
"\n",
"def simulate_f(n):\n",
" sim_x = stats.beta.rvs(2, 2, size=n)\n",
" Table().with_column('x', sim_x).hist(bins=np.arange(0, 1.01, 0.05))\n",
" plt.plot(x, f(x), color='darkblue', lw=2)\n",
" plt.title('$f$ and Empirical Distribution of '+str(n)+' Simulated Values');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## The Meaning of Density ##"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"When we work with a discrete random variable $X$, a natural component of our calculations is the chance that $X$ has a particular value $k$. That's the probability we denote by $P(X = k)$.\n",
"\n",
"What is the analog of $P(X = k)$ when $X$ has a density? If your answer is $P(X = x)$ for any number $x$, prepare to be disconcerted by the next paragraph."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### If $X$ Has a Density, Each Individual Value Has Probability 0 ###\n",
"If $X$ has a density, then probabilities are defined as areas under the density curve. The area of a line is zero. So if $X$ has a density, then for every $x$,\n",
"\n",
"$$\n",
"P(X = x) ~ = ~ 0 \n",
"$$\n",
"\n",
"\"But $X$ has to be *some* value!\" is a natural reaction to this. Take a moment now to reflect on the wonders of adding uncountably many zeros. On the real line, each point has length zero but intervals have positive length. On the plane, each line has area zero but rectangles have positive area. Calculus is powerful.\n",
"\n",
"The fact that the chance of any single value is 0 actually reduces some bookkeeping. When we are calculating probabilities involving random variables that have densities, we don't have to worry about whether we should or should not include endpoints of intervals. The chance of each endpoint is 0, so for example,\n",
"\n",
"$$\n",
"F(x) ~ = ~ P(X \\le x) ~ = ~ P(X < x) ~~~ \\text{for all } x\n",
"$$\n",
"\n",
"Being able to drop the equal sign like this is a major departure from calculations involving discrete random variables; $P(X = k)$ has disappeared. But it does have an analog if we think in terms of infinitesimals."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"tags": [
"remove-input",
"hide-output"
]
},
"outputs": [
{
"data": {
"text/html": [
"\n",
" VIDEO"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# VIDEO: Meaning of Density\n",
"from IPython.display import YouTubeVideo\n",
"\n",
"YouTubeVideo('7A7MqighkTA')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### An Infinitesimal Calculation ###\n",
"In the theory of Riemann integration, the area under a curve is calculated by discrete approximation. The interval on the horizontal axis is divided into tiny little segments. Each segment becomes the base of a very narrow rectangle with a height determined by the curve. The total area of all these rectangular slivers is an approximation to the integral. As you make the slivers narrower, the sum approaches the area under the curve.\n",
"\n",
"Let's examine this in the case of the density we used as our example in the previous section:\n",
"\n",
"$$\n",
"f(x) ~ = ~ 6x(1-x), ~~~ 0 < x < 1\n",
"$$\n",
"\n",
"Here is one of those narrow slivers."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"tags": [
"remove_input"
]
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# NO CODE\n",
"\n",
"plt.plot(x, f(x), color='darkblue', lw=2)\n",
"f_08 = f(0.8)\n",
"w = np.arange(0.8-0.005, 0.805, 0.01)\n",
"plt.fill_between(w, f(w), color='gold')\n",
"plt.xticks([0.8], ['$dx$'])\n",
"plt.yticks([0, f_08], ['0', '$f(x)$'])\n",
"plt.title('Gold Area = $P(X \\in dx) \\sim f(x)dx$');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We will now set up some notation that will be used repeatedly in the course.\n",
"\n",
"- $x$ is a point on the horizontal axis\n",
"- $dx$ stands for two things (this considerably simplifies writing):\n",
" - a tiny interval around $x$\n",
" - the length of the tiny interval\n",
"\n",
"Now $\\{X \\in dx \\}$ is notation for \"$X$ is in a tiny interval of length $dx$ around the point $x$\". Don't worry about exactly what \"around\" means. It won't matter as we'll be taking limits as $dx$ goes to 0.\n",
"\n",
"In this notation, the area of the gold sliver is essentially that of a rectangle with height $f(x)$ and width $dx$. We write\n",
"\n",
"$$\n",
"P(X \\in dx) ~ \\sim ~ f(x)dx\n",
"$$\n",
"\n",
"where as usual $\\sim$ means that the ratio of the two sides goes to 1 as $dx$ goes to 0.\n",
"\n",
"We have seen that $f(x)$ is not a probability. But for a tiny $dx$, the product $f(x)dx$ is essentially the probability that \"$X$ is just around $x$\".\n",
"\n",
"This gives us an important analogy. When $X$ is discrete, then\n",
"\n",
"$$\n",
"P(a \\le X \\le b) ~ = ~ \\sum_{k=a}^b P(X = k)\n",
"$$\n",
"\n",
"When $X$ has density $f$, then\n",
"\n",
"$$\n",
"P(a \\le X \\le b) ~ = ~ \\int_a^b f(x)dx\n",
"$$\n",
"\n",
"The calculus notation is clever as well as powerful. It involves two analogies:\n",
"\n",
"- $f(x)dx$ is the chance the chance that $X$ is just around $x$\n",
"- the integral is a continuous version of the sum"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"```{admonition} Quick Check\n",
"A random variable $X$ has density $f$ that is positive on the entire real number line. True or false: \n",
"\n",
"(a) For all $x$, $P(X=x) = f(x)$.\n",
"\n",
"(b) For all $x$, $0 \\le f(x) \\le 1$.\n",
"\n",
"(c) For all $x$, $P(X = x) = 0$.\n",
"\n",
"(d) For all $x$, $P(X \\in dx) \\sim f(x)dx$.\n",
"\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"```{admonition} Answer\n",
":class: dropdown\n",
"False, False, True, True\n",
"\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"```{admonition} Quick Check\n",
"A random variable $X$ has density $f$. Arrange the following from largest to smallest. If two entries are the same, put an $=$ sign between them; it doesn't matter in which order you write them.\n",
"\n",
"$P(a \\le X < b)$, $P(a < X < b)$, $P(a \\le X \\le b)$\n",
"\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"```{admonition} Answer\n",
":class: dropdown\n",
"All three are equal\n",
"\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Probability Density ###\n",
"We can rewrite $P(X \\in dx) \\sim f(x)dx$ as\n",
"\n",
"$$\n",
"f(x) ~ \\sim ~ \\frac{P(X \\in dx)}{dx}\n",
"$$\n",
"\n",
"**The function $f$ represents probability per unit length**. That is why $f$ is called a *probability density function*.\n",
"\n",
"Let's take another look at the graph of $f$."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"tags": [
"remove_input"
]
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# NO CODE\n",
"\n",
"plt.plot(x, f(x), color='darkblue', lw=2)\n",
"plt.xlabel('x')\n",
"plt.ylabel('f(x)', rotation=0);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If you simulate multiple independent copies of a random variable that has this density (exactly how to do that will be the subject of the next lab), then for example the simulated values will be more crowded around 0.5 than around 0.2.\n",
"\n",
"The function `simulate_f` takes the number of copies as its argument and displays a histogram of the simulated values overlaid with the graph of $f$."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"simulate_f(10000)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The distribution of 10,000 simulated values follows $f$ pretty closely. \n",
"\n",
"Compare the vertical scale of the histogram above with the vertical scale of the graph of $f$ that we drew earlier. You can see that they are the same apart from a conversion of proportions to percents.\n",
"\n",
"Now you have a better understanding of why all histograms in Data 8 are drawn *to the density scale*, with heights calculated as\n",
"\n",
"$$\n",
"\\text{height of bar} ~ = ~ \\frac{\\text{percent in bin}}{\\text{width of bin}}\n",
"$$\n",
"\n",
"so that the units of height are \"percent per unit on the horizontal axis\"."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Not only does this way of drawing histograms allow you to account for bins of different widths, as discussed in Data 8, it also leads directly to probability densities of random variables. You can think of the density curve as what the empirical histogram of the simulated values would look like if you had infinitely many simulations and infinitely narrow bins."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"anaconda-cloud": {},
"celltoolbar": "Tags",
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.4"
}
},
"nbformat": 4,
"nbformat_minor": 1
}