{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "tags": [ "remove_cell" ] }, "outputs": [], "source": [ "# HIDDEN\n", "import warnings\n", "warnings.filterwarnings(\"ignore\")\n", "\n", "from datascience import *\n", "from prob140 import *\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "plt.style.use('fivethirtyeight')\n", "import numpy as np\n", "\n", "from itertools import product\n", "from myst_nb import glue" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "tags": [ "remove_cell" ] }, "outputs": [], "source": [ "# HIDDEN \n", "die = np.arange(1, 7, 1)\n", "\n", "five_rolls = list(product(die, repeat=5))\n", "\n", "five_rolls_probs = (1/6**5)**np.ones(6**5)\n", "\n", "five_rolls_space = Table().with_columns(\n", " 'omega', five_rolls,\n", " 'P(omega)', five_rolls_probs\n", ")\n", "\n", "five_rolls_sum = five_rolls_space.with_columns(\n", " 'S(omega)', five_rolls_space.apply(sum, 'omega')\n", ").move_to_end('P(omega)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Distributions ##" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "Our space is the outcomes of five rolls of a die, and our random variable $S$ is the total number of spots on the five rolls." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
omega S(omega) P(omega)
[1 1 1 1 1] 5 0.000128601
[1 1 1 1 2] 6 0.000128601
[1 1 1 1 3] 7 0.000128601
[1 1 1 1 4] 8 0.000128601
[1 1 1 1 5] 9 0.000128601
[1 1 1 1 6] 10 0.000128601
[1 1 1 2 1] 6 0.000128601
[1 1 1 2 2] 7 0.000128601
[1 1 1 2 3] 8 0.000128601
[1 1 1 2 4] 9 0.000128601
\n", "

... (7766 rows omitted)

" ], "text/plain": [ "omega | S(omega) | P(omega)\n", "[1 1 1 1 1] | 5 | 0.000128601\n", "[1 1 1 1 2] | 6 | 0.000128601\n", "[1 1 1 1 3] | 7 | 0.000128601\n", "[1 1 1 1 4] | 8 | 0.000128601\n", "[1 1 1 1 5] | 9 | 0.000128601\n", "[1 1 1 1 6] | 10 | 0.000128601\n", "[1 1 1 2 1] | 6 | 0.000128601\n", "[1 1 1 2 2] | 7 | 0.000128601\n", "[1 1 1 2 3] | 8 | 0.000128601\n", "[1 1 1 2 4] | 9 | 0.000128601\n", "... (7766 rows omitted)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "five_rolls_sum" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "tags": [ "remove-cell" ] }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# VIDEO: Distribution of a Random Variable\n", "from IPython.display import YouTubeVideo\n", "\n", "vid_dist_rv = YouTubeVideo(\"7ZznCAYa48Q\")\n", "glue(\"vid_dist_rv\", vid_dist_rv)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "```{dropdown} See More\n", ":icon: video\n", "{glue:}`vid_dist_rv`\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the last section we found $P(S = 10)$. We could use that same process to find $P(S = s)$ for each possible value of $s$. The `group` method allows us to do this for all $s$ at the same time." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To do this, we will start by dropping the `omega` column. Then we will `group` the table by the distinct values of `S(omega)`, and use `sum` to add up all the probabilities in each group." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
S(omega) P(omega) sum
5 0.000128601
6 0.000643004
7 0.00192901
8 0.00450103
9 0.00900206
10 0.0162037
11 0.0263632
12 0.0392233
13 0.0540123
14 0.0694444
\n", "

... (16 rows omitted)

" ], "text/plain": [ "S(omega) | P(omega) sum\n", "5 | 0.000128601\n", "6 | 0.000643004\n", "7 | 0.00192901\n", "8 | 0.00450103\n", "9 | 0.00900206\n", "10 | 0.0162037\n", "11 | 0.0263632\n", "12 | 0.0392233\n", "13 | 0.0540123\n", "14 | 0.0694444\n", "... (16 rows omitted)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dist_S = five_rolls_sum.drop('omega').group('S(omega)', sum)\n", "dist_S" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This table shows all the possible values of $S$ along with all their probabilities. It is called a *probability distribution table* for $S$. \n", "\n", "The contents of the table — all the possible values of the random variable, along with all their probabilities — are called the *probability distribution of $S$*, or just *distribution of $S$* for short. The distribution shows how the total probability of 100% is distributed over all the possible values of $S$.\n", "\n", "Let's check this, to make sure that all the $\\omega$'s in the outcome space have been accounted for in the column of probabilities." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9999999999999991" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dist_S.column(1).sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That's 1 in a computing environment. This is a feature of any probability distribution:\n", "\n", "**Probabilities in a distribution are non-negative and sum to 1**." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "```{admonition} Quick Check\n", "A random variable $Y$ has the distribution given below, for some constant $c$. Find $c$.\n", "\n", "|$y$| 1 | 2 | 3 |\n", "|:---:|:---:|:---:|:---:|\n", "|$P(Y=y)$|$c$|$3c$|$c$|\n", "\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "```{admonition} Answer\n", ":class: dropdown\n", "$1/5$\n", "\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Probability Histogram ###\n", "In Data 8 you used the `datascience` library to work with distributions of data. The `prob140` library builds on `datascience` to provide some convenient tools for working with probability distributions and events. It is largely a library for the display of tables and graphs.\n", "\n", "First, we will construct a probability distribution object which, while it looks very much like the table above, expects a probability distribution in the second column and complains if it finds anything else.\n", "\n", "To keep the code easily readable, let's extract the possible values and probabilities separately as arrays:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "s = dist_S.column(0)\n", "p_s = dist_S.column(1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To turn these into a probability distribution object, start with an empty table and use the `values` and `probabilities` Table methods. The argument of `values` is a list or an array of possible values, and the argument of `probabilities` is a list or an array of the corresponding probabilities. " ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Value Probability
5 0.000128601
6 0.000643004
7 0.00192901
8 0.00450103
9 0.00900206
10 0.0162037
11 0.0263632
12 0.0392233
13 0.0540123
14 0.0694444
\n", "

... (16 rows omitted)

" ], "text/plain": [ "Value | Probability\n", "5 | 0.000128601\n", "6 | 0.000643004\n", "7 | 0.00192901\n", "8 | 0.00450103\n", "9 | 0.00900206\n", "10 | 0.0162037\n", "11 | 0.0263632\n", "12 | 0.0392233\n", "13 | 0.0540123\n", "14 | 0.0694444\n", "... (16 rows omitted)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dist_S = Table().values(s).probabilities(p_s)\n", "dist_S" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That looks exactly like the table we had before except that it has more readable column labels. But now for the benefit: to visualize the distribution in a histogram, just use the `prob140` method `Plot` as follows. The resulting histogram is called the *probability histogram* of $S$." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Plot(dist_S)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Notes on `Plot`**\n", "\n", "- Recall that `hist` in the `datascience` library displays a histogram of raw data contained in a column of a table. `Plot` in the `prob140` library displays a probability histogram based on a probability distribution as the input.\n", "\n", "- `Plot` only works on probability distribution objects created using the `values` and `probabilities` methods. It won't work on a general member of the `Table` class.\n", "\n", "- `Plot` works well with random variables that have integer values. Many of the random variables you will encounter in the next few chapters will be integer-valued. For displaying the distributions of other random variables, binning decisions are more complicated." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Notes on the Distribution of $S$**\n", "\n", "Here we have the bell shaped curve appearing as the distribution of the sum of five rolls of a die. Notice two differences between this histogram and the bell shaped distributions you saw in Data 8.\n", "- This one displays an exact distribution. It was computed based on *all* the possible outcomes of the experiment. It is not an approximation nor an empirical histogram.\n", "- The statement of the Central Limit Theorem in Data 8 said that the distribution of the sum of a *large* random sample is roughly normal. But here you're seeing a bell shaped distribution for the sum of only five rolls. If you start out with a uniform distribution (which is the distribution of a single roll), then you don't need a large sample before the probability distribution of the sum starts to look normal." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "tags": [ "remove-cell" ] }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# VIDEO: Probability Histogram\n", "#from IPython.display import YouTubeVideo\n", "\n", "vid_prob_hist = YouTubeVideo(\"jOLQGfccbhs\")\n", "glue(\"vid_prob_hist\", vid_prob_hist)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "```{dropdown} See More\n", ":icon: video\n", "{glue:}`vid_prob_hist`\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Visualizing Probabilities of Events ###\n", "As you know from Data 8, the interval between the points of inflection of the bell curve contains about 68% of the area of the curve. Though the histogram above isn't exactly a bell curve – it is a discrete histogram with only 26 bars – it's pretty close. If you imagine a smoothe curve over it, the points of inflection appear to be at 14 and 21, roughly.\n", "\n", "The `event` argument of `Plot` lets you visualize the probability of the event, as follows." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Plot(dist_S, event = np.arange(14, 22, 1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The gold area is the equal to $P(14 \\le S \\le 21)$.\n", "\n", "The `event` method takes one argument specifying the event. It displays the rows of the distribution table corresponding to `event` and also the probability of the event.\n", "\n", "To find $P(14 \\le S \\le 21)$, use `event` as follows." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "P(Event) = 0.6959876543209863\n" ] }, { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Outcome Probability
14 0.0694444
15 0.0837191
16 0.0945216
17 0.100309
18 0.100309
19 0.0945216
20 0.0837191
21 0.0694444
" ], "text/plain": [ "Outcome | Probability\n", "14 | 0.0694444\n", "15 | 0.0837191\n", "16 | 0.0945216\n", "17 | 0.100309\n", "18 | 0.100309\n", "19 | 0.0945216\n", "20 | 0.0837191\n", "21 | 0.0694444" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dist_S.event(np.arange(14, 22, 1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The chance is 69.6%, not very far from our estimate of around 68%.\n", "\n", "To find the numerical value of the probability without displaying all the outcomes in the event, use `event` as above and put a semi-colon at the end of the line. This suppresses the table display." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "P(Event) = 0.6959876543209863\n" ] } ], "source": [ "dist_S.event(np.arange(14, 22, 1));" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "tags": [ "remove-cell" ] }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# VIDEO: Notation and Calculation\n", "#from IPython.display import YouTubeVideo\n", "\n", "vid_notation_calc = YouTubeVideo(\"QiTc-HKnlFc\")\n", "glue(\"vid_notation_calc\", vid_notation_calc)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "```{dropdown} See More\n", ":icon: video\n", "{glue:}`vid_notation_calc`\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Math and Code Correspondence ###\n", "$P(14 \\le S \\le 21)$ can be found by partitioning the event $\\{ 14 \\le S \\le 21 \\}$ as the union of the mutually exclusive events $\\{S = s\\}$ for $14 \\le s \\le 21$, and then using the addition rule.\n", "\n", "$$\n", "\\{14 \\le S \\le 21\\} ~ = ~ \\bigcup_{s = 14}^{21} \\{S = s \\}, ~~~ \\text{ so } ~~~\n", "P(14 \\le S \\le 21) ~ = ~ \\sum_{s = 14}^{21} P(S = s)\n", "$$\n", "\n", "Note carefully the use of lower case $s$ for the generic possible value, in contrast with upper case $S$ for the random variable. Not doing so leads to endless confusion about what the formulas mean.\n", "\n", "This one means:\n", "- First extract the event $\\{ S = s\\}$ for each value $s$ in the range 14 through 21:" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Value Probability
14 0.0694444
15 0.0837191
16 0.0945216
17 0.100309
18 0.100309
19 0.0945216
20 0.0837191
21 0.0694444
" ], "text/plain": [ "Value | Probability\n", "14 | 0.0694444\n", "15 | 0.0837191\n", "16 | 0.0945216\n", "17 | 0.100309\n", "18 | 0.100309\n", "19 | 0.0945216\n", "20 | 0.0837191\n", "21 | 0.0694444" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "event_table = dist_S.where(0, are.between(14, 22))\n", "event_table" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Then add the probabilities of all those events:" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.6959876543209863" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "event_table.column('Probability').sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `event` method does all this in one step. Here it is again, for comparison." ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "P(Event) = 0.6959876543209863\n" ] }, { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Outcome Probability
14 0.0694444
15 0.0837191
16 0.0945216
17 0.100309
18 0.100309
19 0.0945216
20 0.0837191
21 0.0694444
" ], "text/plain": [ "Outcome | Probability\n", "14 | 0.0694444\n", "15 | 0.0837191\n", "16 | 0.0945216\n", "17 | 0.100309\n", "18 | 0.100309\n", "19 | 0.0945216\n", "20 | 0.0837191\n", "21 | 0.0694444" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dist_S.event(np.arange(14, 22, 1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can use the same basic method in various ways to find the probability of any event determined by $S$. Here are two examples.\n", "\n", "**Example 1.**\n", "\n", "$$\n", "P(S^2 = 400) = P(S = 20) = 8.37\\%\n", "$$\n", "\n", "from the table above.\n", "\n", "**Example 2.**\n", "\n", "$$\n", "P(S \\ge 20) = \\sum_{s=20}^{30} P(S = s)\n", "$$" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "P(Event) = 0.30516975308642047\n" ] } ], "source": [ "dist_S.event(np.arange(20, 31, 1));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Example 3.**\n", "Remember the math fact that for numbers $x$, $a$, and $b > 0$, saying that $\\vert x - a \\vert \\le b$ is the same as saying that $x$ is in the range $a \\pm b$.\n", "\n", "$$\n", "P(\\big{\\vert} S - 10 \\big{|} \\le 6) ~ = ~ P(4 \\le S \\le 16) ~ = ~ \\sum_{s=4}^{16} P(S=s)\n", "$$" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "P(Event) = 0.3996913580246917\n" ] } ], "source": [ "dist_S.event(np.arange(4, 17, 1));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Named Distributions ###\n", "Some distributions are used so often that they have special names. Usually they also have *parameters*, which are constants associated with the distribution.\n", "\n", "**Bernoulli $(p)$:** This is the distribution of a Boolean random variable, that is, a random variable that has possible values $0$ and $1$. The parameter $p$ is the chance of $1$, as in the distribution table below.\n", "\n", "|value|$0$|$1$|\n", "|:---:|:---:|:---:|\n", "**probability**|$1-p$|$p$|\n", "\n", "Examples of random variables that have this distribution:\n", "\n", "- The number of heads in one toss of a coin that lands heads with chance $p$\n", "- The *indicator* of an event that has chance $p$, that is, a random variable that has value $1$ if the event occurs and $0$ otherwise.\n", "\n", "The distribution is named after [Jacob Bernoulli](https://en.wikipedia.org/wiki/Jacob_Bernoulli), the Swiss mathematician who discovered the constant $e$ and wrote the book [Ars Conjectandi](https://en.wikipedia.org/wiki/Ars_Conjectandi) (The Art of Conjecturing) on combinatorics and probability in which he analyzed \"success-failure\" or $\\text{1/0}$ trials.\n", "\n", "**Uniform** on a finite set: This is the distribution that makes all elements of the set of outcomes equally likely. \n", "For example, the number of spots on one roll of a die has the uniform distribution on $\\{ 1, 2, 3, 4, 5, 6 \\}$." ] }, { "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.3" } }, "nbformat": 4, "nbformat_minor": 1 }