{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Probability\n", "\n", "\n", "\n", "Probability is a way to quantify the uncertainty associated with events chosen from a some universe of events. \n", "\n", "> The laws of probability, so true in general, so fallacious in particular.\n", "—Edward Gibbon\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "\n", "\n", "P(E) means “the probability of the event E.”\n", "\n", "We’ll use probability theory to build and evaluate models. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Dependence and Independence\n", "Roughly speaking, we say that two events E and F are dependent if knowing something about whether E happens gives us information about whether F happens (and vice versa). Otherwise they are independent." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "When two events E and F are independent, then by definition we have:\n", "\n", "$$P(E,F) =P(E)P(F)$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Conditional Probability" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "we define the probability of E conditional on F as:\n", "\n", "$$ P(E \\mid F) = \\frac{P(E,F)} {P(F)} $$\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "We often rewrite this as:\n", "\n", "$$ P(E,F) = P(E \\mid F) P(F) $$\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "When E and F are independent:\n", "\n", "$$ P(E \\mid F)=P(E)$$\n", "\n", "F occurred gives us no additional information about whether E occurred." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "- Each child is equally likely to be a boy or a girl.\n", "- The gender of the second child is independent of the gender of the first child" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "- the event “no girls” has probability 1/4, \n", "- the event “one girl, one boy” has probability 1/2, \n", "- the event “two girls” has probability 1/4." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "$$P(B, G) = P(B)$$\n", "\n", "The event B and G (“both children are girls and the older child is a girl”) is just the event B. \n", "\n", "- Once you know that both children are girls, it’s necessarily true that the older child is a girl.\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "The probability of the event “both children are girls” (B) conditional on the event “the older child is a girl” (G)\n", "\n", "$$P(B \\mid G) =\\frac{P(B,G)}{P(G)} =\\frac{P(B)}{P(G)} =1/2$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "The probability of the event “both children are girls” conditional on the event “at least one of the children is a girl” (L). \n", "\n", "$$P(B \\mid L) =\\frac{P(B,L)}{P(L)} =\\frac{P(B)}{P(L)} =1/3$$" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2019-06-08T13:42:48.671645Z", "start_time": "2019-06-08T13:42:48.252847Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "from collections import Counter\n", "import math, random\n", "import matplotlib.pyplot as plt # pyplot\n", "\n", "def random_kid():\n", " return random.choice([\"boy\", \"girl\"])" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2019-06-08T13:42:49.384392Z", "start_time": "2019-06-08T13:42:49.378557Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "'girl'" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "random_kid()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2018-11-06T12:55:50.323518Z", "start_time": "2018-11-06T12:55:50.245413Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "P(both | older): 0.4906832298136646\n", "P(both | either): 0.33271913661489866\n" ] } ], "source": [ "both_girls = 0\n", "older_girl = 0\n", "either_girl = 0\n", "\n", "random.seed(100)\n", "for _ in range(10000):\n", " younger = random_kid()\n", " older = random_kid()\n", " if older == \"girl\":\n", " older_girl += 1\n", " if older == \"girl\" and younger == \"girl\":\n", " both_girls += 1\n", " if older == \"girl\" or younger == \"girl\":\n", " either_girl += 1\n", "\n", "print(\"P(both | older):\", both_girls / older_girl) # 0.514 ~ 1/2\n", "print(\"P(both | either): \", both_girls / either_girl) # 0.342 ~ 1/3\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Bayes’s Theorem" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Using the definition of conditional probability twice tells us that:\n", "\n", "$$P(E \\mid F) =\\frac{P(E,F)}{P(F)} =\\frac{P(F \\mid E)P(E)}{P(F)}$$" ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2018-09-18T05:36:44.679119Z", "start_time": "2018-09-18T05:36:44.673586Z" }, "slideshow": { "slide_type": "subslide" } }, "source": [ "The complement of an event is the \"opposite\" of that event. \n", "- We write $E{}'$ for “not E” (i.e., “E doesn’t happen”)," ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "The event F can be split into the two mutually exclusive events:\n", "- “F and E”\n", "- “F and not E.” " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "$$P(F) =P(F,E) +P(F,E{}')$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "\n", "\n", "**Bayes’s Theorem** \n", "\n", "$ P(E \\mid F) = \\frac{P(F \\mid E) P(E)}{ P(F \\mid E) P(E) + P(F E{}') P(E{}') }$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "** Why data scientists are smarter than doctors. **\n", "\n", "- **What does a positive test mean? ** 检查结果为阳性究竟意味着什么?\n", "- **How many people who test positive actually have the disease?** 检查结果为阳性的人真的得病的概率有多大?\n", "\n", "\n", "\n", "Imagine a certain disease that affects 1 in every 10,000 people. \n", "\n", "And imagine that there is a test for this disease that gives the correct result (“diseased” if you have the disease, “nondiseased” if you don’t) **99% of the time**.\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Let’s use \n", "- T for the event “your test is positive” and \n", "- D for the event “you have the disease.” \n", "\n", "Then Bayes’s Theorem says that the probability that you have the disease, conditional on testing positive, is:\n", "\n", "$$ P(D \\mid T) = \\frac{P(T \\mid D) P(D)}{ P(T \\mid D) P(D) + P(T D{}') P(D{}') }$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Here we know that \n", "\n", "- the probability that someone with the disease tests positive, $P(T \\mid D) = 0.99$. \n", "- the probability that any given person has the disease, $P(D) = 1/10,000 = 0.0001$. \n", "- the probability that someone without the disease tests positive, $P(T \\mid D{}') = 0.01$. \n", "- the probability that any given person doesn’t have the disease, $P(D{}')= 0.9999$. \n", "\n", "Question: Can you compute the probability of $P(D \\mid T)$?\n", "\n", "Joke: most doctors will guess that $P(D \\mid T)$ is approximately 2." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "If you substitute these numbers into Bayes’s Theorem, you find\n", "$P(D \\mid T) =0.98 \\% $\n", "\n", "\n", "\n", "That is, the people who test positive actually have the disease is less than 1% !!!\n", "\n", "> This assumes that people take the test more or less at random. If only people with certain symptoms take the test we would instead have to condition on the event “positive test and symptoms” and the number would likely be a lot higher." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "A more intuitive way to see this is to imagine a population of 1 million people. \n", "- You’d expect 100 of them to have the disease, and 99 of those 100 to test positive. \n", "- On the other hand, you’d expect 999,900 of them not to have the disease, and 9,999 of those to test positive. \n", "- Which means that you’d expect only 99 out of (99 + 9999) positive testers to actually have the disease." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Random Variables\n", "\n", "A random variable is a variable whose possible values have an **associated probability distribution**. \n", "- The associated distribution gives the probabilities that the variable realizes each of its possible values. \n", "\n", " - The coin flip variable equals 0 with probability 0.5 and 1 with probability 0.5. \n", " - The range(10) variable has a distribution that assigns probability 0.1 to each of the numbers from 0 to 9." ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2018-09-19T05:44:01.159416Z", "start_time": "2018-09-19T05:44:01.154946Z" }, "slideshow": { "slide_type": "subslide" } }, "source": [ "**The expected value of a random variable** is the average of its values weighted by their probabilities. \n", "- the range(10) variable has an expected value of 4.5." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Continuous Distributions\n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "**Discrete distribution** associates positive probability with discrete outcomes. \n", "- A coin flip\n", "\n", "Often we’ll want to model distributions across `a continuum of outcomes`. \n", "- **The uniform distribution** puts equal weight on `all the numbers between 0 and 1`." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "> Because there are infinitely many numbers between 0 and 1, this means that the weight it assigns to individual points must necessarily be zero. \n", "\n", "The continuous distribution can be described with a **probability density function** (pdf)\n", "- the probability of seeing a value in a certain interval equals the integral of the density function over the interval." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2018-11-06T12:55:50.637034Z", "start_time": "2018-11-06T12:55:50.631283Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "1" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def uniform_pdf(x):\n", " return 1 if x >= 0 and x < 1 else 0\n", "\n", "uniform_pdf(0.5)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "The probability that a random variable following that distribution is between 0.2 and 0.3 is 1/10" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "**The cumulative distribution function (cdf)** gives the probability that a random variable is less than or equal to a certain value." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2018-11-06T12:55:50.812280Z", "start_time": "2018-11-06T12:55:50.804074Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "0.8" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def uniform_cdf(x):\n", " \"returns the probability that a uniform random variable is less than x\"\n", " if x < 0: return 0 # uniform random is never less than 0\n", " elif x < 1: return x # e.g. P(X < 0.4) = 0.4\n", " else: return 1 # uniform random is always less than 1\n", "\n", " \n", "uniform_cdf(0.8)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2018-11-06T12:55:50.820414Z", "start_time": "2018-11-06T12:55:50.815127Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "0.09999999999999998" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "uniform_cdf(0.3) - uniform_cdf(0.2)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2018-11-06T12:55:51.460759Z", "start_time": "2018-11-06T12:55:50.824076Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = [(i-10)*10/100 for i in range(31)]\n", "y = [uniform_cdf(i) for i in x]\n", "\n", "plt.plot(x, y)\n", "plt.title('The uniform cdf')\n", "plt.xlabel('$x$')\n", "plt.ylabel('$CDF$')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# The Normal Distribution\n", "The normal distribution is the king of distributions. \n", "\n", "- It is the classic bell curve–shaped distribution\n", "- It is completely determined by two parameters: its mean **μ** (mu) and its standard deviation **σ** (sigma). \n", " - The mean indicates where the bell is centered\n", " - the standard deviation how “wide” it is." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "The probability density of the normal distribution is\n", "\n", "$$\n", "f(x \\mid \\mu, \\sigma^2) = \\frac{1}{\\sqrt{2\\pi\\sigma^2} } e^{ -\\frac{(x-\\mu)^2}{2\\sigma^2} }\n", "$$\n", "\n", "where\n", "* $\\mu$ is the mean or expectation of the distribution (and also its median and mode),\n", "* $\\sigma$ is the standard deviation, and\n", "* $\\sigma^2$ is the variance." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "\n", "\n", "Image source: http://www.moserware.com/2010/03/computing-your-skill.html" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2018-11-06T12:55:51.470256Z", "start_time": "2018-11-06T12:55:51.462890Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "1.4867195147342979e-06" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def normal_pdf(x, mu=0, sigma=1):\n", " sqrt_two_pi = math.sqrt(2 * math.pi)\n", " return (math.exp(-(x-mu) ** 2 / 2 / sigma ** 2) / (sqrt_two_pi * sigma))\n", "\n", "normal_pdf(5)" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "ExecuteTime": { "end_time": "2018-11-06T13:06:23.157384Z", "start_time": "2018-11-06T13:06:22.898250Z" }, "code_folding": [], "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def plot_normal_pdfs(plt):\n", " xs = [x / 10.0 for x in range(-50, 50)]\n", " plt.plot(xs,[normal_pdf(x,sigma=1) for x in xs],'-',label='mu=0,sigma=1')\n", " plt.plot(xs,[normal_pdf(x,sigma=2) for x in xs],'--',label='mu=0,sigma=2')\n", " plt.plot(xs,[normal_pdf(x,sigma=0.5) for x in xs],':',label='mu=0,sigma=0.5')\n", " plt.plot(xs,[normal_pdf(x,mu=-1) for x in xs],'-.',label='mu=-1,sigma=1')\n", " plt.xlabel('Z', fontsize = 20)\n", " plt.ylabel('Probability', fontsize = 20)\n", " plt.legend()\n", " plt.show()\n", "\n", "plot_normal_pdfs(plt) " ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "ExecuteTime": { "end_time": "2018-11-06T12:55:51.719006Z", "start_time": "2018-11-06T12:55:51.715398Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "def normal_cdf(x, mu=0,sigma=1):\n", " return (1 + math.erf((x - mu) / math.sqrt(2) / sigma)) / 2" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "ExecuteTime": { "end_time": "2018-11-06T13:06:09.752801Z", "start_time": "2018-11-06T13:06:09.521900Z" }, "code_folding": [], "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def plot_normal_cdfs(plt):\n", " xs = [x / 10.0 for x in range(-50, 50)]\n", " plt.plot(xs,[normal_cdf(x,sigma=1) for x in xs],'-',label='mu=0,sigma=1')\n", " plt.plot(xs,[normal_cdf(x,sigma=2) for x in xs],'--',label='mu=0,sigma=2')\n", " plt.plot(xs,[normal_cdf(x,sigma=0.5) for x in xs],':',label='mu=0,sigma=0.5')\n", " plt.plot(xs,[normal_cdf(x,mu=-1) for x in xs],'-.',label='mu=-1,sigma=1')\n", " plt.xlabel('Z', fontsize = 20)\n", " plt.ylabel('Probability', fontsize = 20)\n", " plt.legend(loc=4) # bottom right\n", " plt.show()\n", " \n", "plot_normal_cdfs(plt) " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "## Inverse Normal CDF\n", "\n", "\n", "\n", "To invert normal_cdf to find the Z value corresponding to a specified probability. \n", "\n", "to find the Z value corresponding to a specified probability\n", "\n", "\n", "- There’s no simple way to compute its inverse, \n", "- but normal_cdf is continuous and strictly increasing, \n", " - so we can use a binary search:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "ExecuteTime": { "end_time": "2018-11-06T12:59:18.407060Z", "start_time": "2018-11-06T12:59:18.383426Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "def inverse_normal_cdf(p, mu=0, sigma=1, tolerance=0.00001):\n", " \"\"\"find approximate inverse using binary search\"\"\"\n", "\n", " # if not standard, compute standard and rescale\n", " if mu != 0 or sigma != 1:\n", " return mu + sigma * inverse_normal_cdf(p, tolerance=tolerance)\n", "\n", " low_z, low_p = -10.0, 0 # normal_cdf(-10) is (very close to) 0\n", " hi_z, hi_p = 10.0, 1 # normal_cdf(10) is (very close to) 1\n", " while hi_z - low_z > tolerance:\n", " mid_z = (low_z + hi_z) / 2 # consider the midpoint\n", " mid_p = normal_cdf(mid_z) # and the cdf's value there\n", " if mid_p < p:\n", " # midpoint is still too low, search above it\n", " low_z, low_p = mid_z, mid_p\n", " elif mid_p > p:\n", " # midpoint is still too high, search below it\n", " hi_z, hi_p = mid_z, mid_p\n", " else:\n", " break\n", "\n", " return mid_z" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "ExecuteTime": { "end_time": "2018-11-06T12:55:51.961760Z", "start_time": "2018-11-06T12:55:51.957565Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [ { "data": { "text/plain": [ "-8.75" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "inverse_normal_cdf(p = 0)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "ExecuteTime": { "end_time": "2018-11-06T13:05:16.276999Z", "start_time": "2018-11-06T13:05:16.042172Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ps = [p/ 100.0 for p in range(101)]\n", "plt.plot([inverse_normal_cdf(p,mu=0, sigma=1) for p in ps], ps, '-',label='mu=0, sigma=1')\n", "plt.plot([inverse_normal_cdf(p,mu=3, sigma=1) for p in ps],ps, '-',label='mu=3, sigma=1')\n", "plt.plot([inverse_normal_cdf(p,mu=6, sigma=1) for p in ps],ps, '-',label='mu=6, sigma=1')\n", "plt.xlabel('Z', fontsize = 20)\n", "plt.ylabel('Probability', fontsize = 20)\n", "plt.legend(loc=0) # bottom right\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# The Central Limit Theorem\n", "\n", "One reason the normal distribution is so useful is the central limit theorem\n", "\n", "> A random variable defined as the **average** of a large number of _independent and identically distributed (IID)_ random variables is itself approximately normally distributed." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "In particular, if $x_1$, ..., $x_n$ are random variables with mean μ and standard deviation σ, and if n is large, \n", "\n", "- The sum $X_1+ …+ X_n$ will approach that of the normal distribution $N(n\\mu, n\\sigma ^2)$,\n", "- **The sample average** $S_n = \\frac{1}{n}(x_1 +... +x_n)$ is approximately normally distributed with mean $\\mu$ and deviation $\\sigma/\\sqrt n$ , and variance $\\sigma ^2/ n$.\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "$ \\frac{(x_1 +... +x_n) - \\mu n}{\\sigma \\sqrt{n}} = \\frac{ \\frac{x_1 +... +x_n}{n} - \\mu }{\\sigma / \\sqrt{n}}$ is approximately normally distributed with mean 0 and standard deviation 1.\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "> In probability theory, the central limit theorem (CLT) establishes that, in some situations, when independent random variables are added, their properly normalized sum tends toward a normal distribution (informally a \"bell curve\") **even if the original variables themselves are not normally distributed**. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "$$\\sigma = \\sqrt{\\frac{\\sum_{i=1}^N (x_i - \\overline{x})^2}{N-1} }$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "\n", "#### The example of binomial random variables\n", "\n", "Binomial random variables (二项式随机变量) have two parameters n and p. \n", "\n", "A **Binomial(n,p)** random variable is simply the sum of n independent Bernoulli(p) random variables, each of which equals 1 with probability p and 0 with probability 1 − p." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "The mean of a Bernoulli($p$) variable is $p$, and its variance is\n", "$p(1-p)$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Central limit theorem says that as $n$ gets large, \n", "\n", "a Binomial(n,p) variable is approximately a normal random variable \n", " \n", "- with mean $\\mu=np$ \n", "- with variance $\\sigma ^2= np(1-p)$\n" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "ExecuteTime": { "end_time": "2018-11-06T12:55:52.181094Z", "start_time": "2018-11-06T12:55:52.176050Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "def bernoulli_trial(p):\n", " return 1 if random.random() < p else 0\n", "\n", "\n", "def binomial(p, n):\n", " return sum(bernoulli_trial(p) for _ in range(n))" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "ExecuteTime": { "end_time": "2018-11-06T12:55:52.203214Z", "start_time": "2018-11-06T12:55:52.183028Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "def make_hist(p, n, num_points):\n", "\n", " data = [binomial(p, n) for _ in range(num_points)]\n", "\n", " # use a bar chart to show the actual binomial samples\n", " histogram = Counter(data)\n", " plt.bar([x - 0.4 for x in histogram.keys()],\n", " [v / num_points for v in histogram.values()],\n", " 0.8, color='0.75')\n", "\n", " mu = p * n\n", " sigma = math.sqrt(n * p * (1 - p))\n", "\n", " # use a line chart to show the normal approximation\n", " xs = range(min(data), max(data) + 1)\n", " ys = [normal_cdf(i + 0.5, mu, sigma) - normal_cdf(i - 0.5, mu, sigma)\n", " for i in xs]\n", " plt.plot(xs,ys)\n", " plt.show()\n" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "ExecuteTime": { "end_time": "2018-11-06T12:55:52.853223Z", "start_time": "2018-11-06T12:55:52.204882Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "make_hist(0.75, 100, 10000)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "scipy.stats contains pdf and cdf functions for most of the popular probability distributions." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "# Proof of classical CLT\n", "\n", "\n", "Suppose $X_1, …, X_n$ are independent and identically distributed random variables, each with mean $\\mu$ and finite variance $\\sigma^2$. \n", "\n", "The sum $X_1+ …+ X_n$ has Linearity of expectation $n\\mu$ and Variance $n\\sigma^2$\n", "\n", "Consider the random variable\n", "\n", "$$Z_n \\ =\\ \\frac{X_1+\\cdots+X_n - n \\mu}{\\sqrt{n \\sigma^2}} \\ =\\ \\sum_{i=1}^n \\frac{X_i - \\mu}{\\sqrt{n \\sigma^2}} \\ =\\ \\sum_{i=1}^n \\frac{1}{\\sqrt{n}} Y_i,$$\n", "\n", "\n", "where in the last step we defined the new random variables $Y_i = \\frac{X_i - \\mu}{\\sigma}$, each with zero mean and unit variance (var(Y) = 1). \n", "\n", "https://en.wikipedia.org/wiki/Central_limit_theorem#Proof_of_classical_CLT" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "The characteristic function of $Z_n$ is given by\n", "\n", "$$\\varphi_{Z_n}\\!(t) \\ =\\ \\varphi_{\\sum_{i=1}^n {\\frac{1}{\\sqrt{n}}Y_i}}\\!(t) \\ =\\ \\varphi_{Y_1}\\!\\!\\left(\\frac{t}{\\sqrt{n}}\\right) \\varphi_{Y_2}\\!\\! \\left(\\frac{t}{\\sqrt{n}}\\right)\\cdots \\varphi_{Y_n}\\!\\! \\left(\\frac{t}{\\sqrt{n}}\\right) \\ =\\ \\left[\\varphi_{Y_1}\\!\\!\\left(\\frac{t}{\\sqrt{n}}\\right)\\right]^n,\n", "$$\n", "\n", "where in the last step we used the fact that all of the $Y_i$ are identically distributed. The characteristic function of $Y_1$ is, by Taylor's theorem,\n", "\n", "$$\\varphi_{Y_1}\\!\\!\\left(\\frac{t}{\\sqrt{n}}\\right) \\ =\\ 1 - \\frac{t^2}{2n} + o\\!\\!\\left(\\frac{t^2}{n}\\right), \\quad \\bigg(\\frac{t}{\\sqrt{n}}\\bigg) \\rightarrow 0$$\n", "\n", "where $o(t^2)$ is Little-o notation for some function of $t$ that goes to zero more rapidly than $t^2$. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "By the limit of the exponential function ( $ e^2 = lim(1 + \\frac{x}{n})^n)$, the characteristic function of $Z_n$ equals\n", "\n", "$$\\varphi_{Z_n}(t) = \\left(1 - \\frac{t^2}{2n} + o\\left(\\frac{t^2}{n}\\right) \\right)^n \\rightarrow e^{-\\frac12 t^2}, \\quad n \\rightarrow \\infty.$$\n", "\n", "Note that all of the higher order terms vanish in the limit $ n \\rightarrow \\infty$. \n", "\n", "The right hand side equals the characteristic function of a standard normal distribution N(0,1), which implies through Lévy's continuity theorem that the distribution of $Z_n$ will approach N(0,1) as $ n \\rightarrow \\infty$. \n", "\n", "Therefore, the sum $X_1+ …+ X_n$ will approach that of the normal distribution $N(n\\mu, n\\sigma ^2)$, and the sample average $S_n = \\frac{X_1+\\cdots+X_n}{n}$\n", "\n", "converges to the normal distribution $N(\\mu, \\frac{\\sigma^2}{n})$, from which the central limit theorem follows." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "celltoolbar": "Slideshow", "kernelspec": { "display_name": "Python [default]", "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.5.4" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autoclose": false, "autocomplete": true, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 1, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": false, "sideBar": false, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": { "height": "47px", "left": "646px", "top": "20.5625px", "width": "159px" }, "toc_section_display": false, "toc_window_display": true } }, "nbformat": 4, "nbformat_minor": 2 }