{ "cells": [ { "cell_type": "markdown", "id": "3c7LoF_1GtSH", "metadata": { "id": "3c7LoF_1GtSH" }, "source": [ "# SW13 InClass - Repetition and Programming\n", "\n", "This file is intended for interactive repetition in the first lesson in class. You write directly into the lines of code.\n", "\n", "***" ] }, { "cell_type": "markdown", "id": "c875f42f", "metadata": { "id": "c875f42f" }, "source": [ "# Expected value and variance of a continuous random variable\n", "\n", "In the case of a continuous RV, the expected value (if it exists) is calculated by means of integration:\n", "$$\n", "{\\rm E}(X)=\\int_{-\\infty}^\\infty x\\cdot f(x)\\ {\\rm d}x.\n", "$$\n", "\n", "Accordingly the variance:\n", "$$\n", "{\\rm Var}(X)=\\int_{-\\infty}^\\infty(x-{\\rm E}(X))^2\\cdot f(x)\\ {\\rm d}x.\n", "$$" ] }, { "cell_type": "markdown", "id": "f7941960", "metadata": { "id": "f7941960" }, "source": [ "### Example: Uniform distribution\n", "\n", "The probability density of a RV $X$ with uniform distribution in the interval $[-\\frac12,\\frac12]$ is\n", "$$\n", "f(x)=\\left\\{\\begin{array}{ll}1, & |x|\\le\\frac12 \\\\ 0, & |x|\\gt\\frac12\\end{array}\\right...\n", "$$\n", "\n", "The expected value of $X$ is obviously zero.\n", "\n", "Numerical calculation of the variance of $X$:" ] }, { "cell_type": "code", "execution_count": null, "id": "zOulugHIDBGV", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 516, "status": "ok", "timestamp": 1723188767618, "user": { "displayName": "Tommy Hunziker", "userId": "15630146278306291522" }, "user_tz": -420 }, "id": "zOulugHIDBGV", "outputId": "98e65048-47e3-47f6-f634-e438b73a9975" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.08333333335016667\n" ] } ], "source": [ "import numpy as np\n", "\n", "dx = 0.00001\n", "x = np.arange(-0.5,0.5,dx)\n", "Var_X = np.sum(x**2)*dx\n", "print(Var_X)" ] }, { "cell_type": "markdown", "id": "BbXx2xxEDkYC", "metadata": { "id": "BbXx2xxEDkYC" }, "source": [ "### Problems\n", "* What is the cumulative distribution function of $X$?\n", "* Calculate the probability $P(X>0.3)$." ] }, { "cell_type": "markdown", "id": "E2eiXuvn0a3J", "metadata": { "id": "E2eiXuvn0a3J" }, "source": [ "### Example: Exponential distribution\n", "\n", "The probability density of a RV $X$ with exponential distribution with rate $\\lambda$ is\n", "$$\n", "f(x)=\\left\\{\\begin{array}{ll}\\lambda e^{-\\lambda x}, & x\\ge0 \\\\ 0, & x\\lt0\\end{array}\\right...\n", "$$\n", "\n", "Numerical calculation of expected value and variance of $X$:" ] }, { "cell_type": "code", "execution_count": null, "id": "Z6M6ZSlS1rDu", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 405, "status": "ok", "timestamp": 1724057754938, "user": { "displayName": "Tommy Hunziker", "userId": "15630146278306291522" }, "user_tz": -420 }, "id": "Z6M6ZSlS1rDu", "outputId": "ab24365a-934b-42a8-adca-f2e55f2ed363" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.5000307430159483 0.24910515846543757\n" ] } ], "source": [ "import numpy as np\n", "\n", "lam = 2\n", "x = np.random.exponential(scale=1/lam, size=100000)\n", "print(np.mean(x),np.var(x))\n" ] }, { "cell_type": "markdown", "id": "DBFUDq1MWar-", "metadata": { "id": "DBFUDq1MWar-" }, "source": [ "In general, the following applies to the exponential distribution: ${\\rm E}(X)=\\frac{1}{\\lambda}$ and ${\\rm Var}(X)=\\frac{1}{\\lambda^2}$." ] }, { "cell_type": "markdown", "id": "S-W3oPXHFaoA", "metadata": { "id": "S-W3oPXHFaoA" }, "source": [ "### Problems\n", "* What is the cumulative distribution function of $X$?\n", "* Calculate the probability $P(X>0.3)$ for $\\lambda=1$." ] }, { "cell_type": "markdown", "id": "REKDx46ZrZvu", "metadata": { "id": "REKDx46ZrZvu" }, "source": [ "### Properties of expected value and variance\n", "If $X$ and $Y$ are two RVs, the following applies:\n", "* ${\\rm E}(X+Y)={\\rm E}(X)+{\\rm E}(Y)$\n", "* if $X$ and $Y$ are independent, then ${\\rm E}(X\\cdot Y)={\\rm E}(X)\\cdot{\\rm E}(Y)$\n", "* If $X$ and $Y$ are independent, then ${\\rm Var}(X+Y)={\\rm Var}(X)+{\\rm Var}(Y)$" ] }, { "cell_type": "markdown", "id": "eFRsbZ-msDvz", "metadata": { "id": "eFRsbZ-msDvz" }, "source": [ "### Problem\n", "Given two independent random variables $X$ and $Y$, both with a uniform distribution in the interval $[0,1]$. What is the expected value and variance for the random variable $Z=X+Y$?" ] }, { "cell_type": "markdown", "id": "IkuL52xlici7", "metadata": { "id": "IkuL52xlici7" }, "source": [ "## Sum of independent random variables\n", "Physical phenomena are often the result of the superposition of many individual variables. For example, thermal noise in resistors, which is caused by the thermal movement of charge carriers, or the results of surveys in general.\n", "We consider the sum of $n$ independent identically distributed ZV $X_1,X_2,\\dots,X_n$ with expectation value 0:\n", "$$\n", "Z_n=\\frac{X_1+X_2+\\dots+X_n}{\\sqrt{n}}.\n", "$$" ] }, { "cell_type": "markdown", "id": "73yduxTTjSXx", "metadata": { "id": "73yduxTTjSXx" }, "source": [ "### Example of uniform distribution\n", "Let $X_1,X_2,\\dots,X_n$ be independent RVs with uniform distribution in the interval $[-\\frac12,\\frac12]$. Below we numerically find the distribution of\n", "$$\n", "Z_n=\\frac{X_1+X_2+\\cdots+X_n}{\\sqrt{n}}.\n", "$$\n", "What do we find?" ] }, { "cell_type": "code", "execution_count": 1, "id": "1tc9kyBDdcy0", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 448 }, "executionInfo": { "elapsed": 1748, "status": "ok", "timestamp": 1724726388901, "user": { "displayName": "Tommy Hunziker", "userId": "15630146278306291522" }, "user_tz": -420 }, "id": "1tc9kyBDdcy0", "outputId": "d5800e8a-d515-4812-b03a-8336fad68f76" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-0.0006249565311940759 0.08428012969375974\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGdCAYAAADAAnMpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAApOklEQVR4nO3dfXSU1YHH8V8SyAQKE2BjEkKDAUW0BZIITRpaS63RgCzV091TBI9EqrhasNS01sSXpGg1WJGyR2OpLC/17CKoB9HdIKhRDqtGWQK0qECNgkmpiSDrTAg2SHL3DzcjY16YJ5mZm5l8P+fMOcwz95m5N8+8/LgvzxNjjDECAACwJNZ2BQAAQP9GGAEAAFYRRgAAgFWEEQAAYBVhBAAAWEUYAQAAVhFGAACAVYQRAABg1QDbFQhEW1ub/va3v2no0KGKiYmxXR0AABAAY4yampqUlpam2Niu+z8iIoz87W9/U3p6uu1qAACAHqivr9fXv/71Lh+PiDAydOhQSV80xu12W64NAAAIhNfrVXp6uu93vCsREUbah2bcbjdhBACACHO2KRZMYAUAAFYRRgAAgFWEEQAAYBVhBAAAWEUYAQAAVhFGAACAVYQRAABgFWEEAABYRRgBAABWEUYAAIBVhBEAAGAVYQQAAFhFGAEAAFYRRgAAgFWEEQARI6O4UhnFlbarASDICCMAAMAqwggAALCKMAIAAKwijAAAAKsch5EdO3Zo1qxZSktLU0xMjDZv3hzwvq+//roGDBigrKwspy8LAACilOMw0tzcrMzMTFVUVDja79NPP9W8efN02WWXOX1JAAAQxQY43WHGjBmaMWOG4xe6+eabNXfuXMXFxTnqTQEAANEtLHNG1q5dqw8++EBlZWUBlW9paZHX6/W7AQCA6BTyMPLee++puLhY//7v/64BAwLriCkvL1diYqLvlp6eHuJaAgAAW0IaRlpbWzV37lwtWbJEF1xwQcD7lZSUyOPx+G719fUhrCUAALDJ8ZwRJ5qamrRr1y7t2bNHixYtkiS1tbXJGKMBAwboxRdf1A9+8IMO+7lcLrlcrlBWDQAA9BEhDSNut1v79u3z2/bYY4/plVde0TPPPKMxY8aE8uUBAEAEcBxGTpw4odraWt/9Q4cOae/evRoxYoRGjx6tkpISHTlyRE888YRiY2M1YcIEv/2Tk5OVkJDQYTsAAOifHIeRXbt26dJLL/XdLyoqkiQVFhZq3bp1+uijj1RXVxe8GgIAgKgWY4wxtitxNl6vV4mJifJ4PHK73barA8CSjOJKSdLhpTMt1wRAIAL9/ebaNAD6hIziSl/YANC/hHQCKwB05szQQS8HAHpGAACAVfSMAAiKYM/noPcE6D8IIwBCzklQYd4I0P8wTAMAAKwijAAAAKsIIwAAwCrCCAAAsIowAgAArGI1DYCwYaUMgM4QRgBYRUABwDANgIBx/RgAoUDPCICIxVlagehAGAEQVAQEAE4RRgD0CsM2AHqLOSMAAMAqwggAALCKYRoAjjE0AyCY6BkBEFVYfgxEHsIIAACwijACAACsYs4IgJBhuARAIAgjACIOIQeILgzTAAAAqwgjAADAKoZpAPiJ1GvLfHXoJlLbAfRH9IwAAACrCCMAAMAqwggAALCKMAIg6nGKeKBvI4wAAACrWE0D4KyirVehvT2ssgH6BsIIgD4v2sIQAH8M0wAAAKvoGQH6uf40ZEEPC9A3EUYAdIkfbwDhwDANAACwynEY2bFjh2bNmqW0tDTFxMRo8+bN3ZbftGmTLr/8cp1zzjlyu93Ky8vTtm3belpfAAAQZRyHkebmZmVmZqqioiKg8jt27NDll1+uLVu2qKamRpdeeqlmzZqlPXv2OK4sAIRb+wnTGLICQsfxnJEZM2ZoxowZAZdfsWKF3/0HHnhAzz33nP7zP/9T2dnZTl8eAABEmbBPYG1ra1NTU5NGjBjRZZmWlha1tLT47nu93nBUDQAAWBD2CazLli3TiRMn9OMf/7jLMuXl5UpMTPTd0tPTw1hDAAAQTmENI+vXr9eSJUv01FNPKTk5uctyJSUl8ng8vlt9fX0Yawn0T8yLAGBL2IZpNmzYoBtvvFFPP/208vPzuy3rcrnkcrnCVDMAAGBTWHpGnnzySc2fP19PPvmkZs6M/rM8AgCAwDnuGTlx4oRqa2t99w8dOqS9e/dqxIgRGj16tEpKSnTkyBE98cQTkr4YmiksLNS//uu/Kjc3Vw0NDZKkQYMGKTExMUjNABCIM4dh+sPp3wFEBsc9I7t27VJ2drZvWW5RUZGys7NVWloqSfroo49UV1fnK//444/r9OnTWrhwoUaOHOm7LV68OEhNAAAAkcxxz8j3v/99GWO6fHzdunV+97dv3+70JQAg7PrTBQOBvoZr0wAAAKu4ai/QT7GMF0BfQc8IAJyB860A4UfPCIB+i9AB9A30jAAAAKvoGQGATnTWa8KKGyA06BkBohjzHwBEAsIIAACwijACAACsIowAAACrCCMAAMAqVtMA/QCTWAH0ZfSMAAAAqwgjAADAKsIIAACwijACAACsIowAAACrCCMAAMAqlvYCUYilvAAiCT0jAADAKsIIADjE1ZCB4GKYBgB66cxgcnjpTIs1ASITPSMAAMAqwggAALCKMAIAAKwijAAAAKsIIwAAwCrCCAAAsIowAgAArCKMAAAAqzjpGQD0EGdhBYKDMAJECX4YAUQqwggQ4QghACIdc0YAAIBVhBEAAGAVwzRAhGJ4BkC0oGcEAABYRRgBAABWOQ4jO3bs0KxZs5SWlqaYmBht3rz5rPts375dF198sVwul84//3ytW7euB1UFAADRyHEYaW5uVmZmpioqKgIqf+jQIc2cOVOXXnqp9u7dq5///Oe68cYbtW3bNseVBQAA0cfxBNYZM2ZoxowZAZdfuXKlxowZo4cffliSdNFFF+m1117T7373OxUUFDh9eaBfY9Jq5Gg/VoeXzrRcE6DvC/mckerqauXn5/ttKygoUHV1dZf7tLS0yOv1+t0AAEB0CnkYaWhoUEpKit+2lJQUeb1effbZZ53uU15ersTERN8tPT091NUEAACW9MnVNCUlJfJ4PL5bfX297SoBAIAQCflJz1JTU9XY2Oi3rbGxUW63W4MGDep0H5fLJZfLFeqqAQCAPiDkPSN5eXmqqqry2/bSSy8pLy8v1C8NAAAigOOekRMnTqi2ttZ3/9ChQ9q7d69GjBih0aNHq6SkREeOHNETTzwhSbr55pv16KOP6le/+pV+8pOf6JVXXtFTTz2lykpWBQCIPqx4Apxz3DOya9cuZWdnKzs7W5JUVFSk7OxslZaWSpI++ugj1dXV+cqPGTNGlZWVeumll5SZmamHH35Y//Zv/8ayXgAAIEmKMcYY25U4G6/Xq8TERHk8HrndbtvVAcKO/21HLs4zgv4s0N/vPrmaBgAA9B+EEQAAYBVhBAAAWEUYAQAAVoX8pGcA0J+dOfmYyaxA5+gZAQAAVhFGAACAVYQRoA/KKK7k3CIA+g3CCACECSET6BxhBAAAWEUYAQAAVhFGAACAVYQRAABgFWEEAABYRRgBAEtYXQN8gTACAACsIowAAACrCCMAAMAqwggA9CHMI0F/RBgBAABWEUYAAIBVhBEAAGAVYQQAAFhFGAEAAFYRRgAAgFWEEQAAYBVhBAAAWDXAdgUAfKGzE11x8isA/QE9IwAAwCp6RgBL2ns9Di+dabkmCDd6vAB/9IwAAACrCCMAAMAqwggAALCKMAIAAKxiAisQZl+dvMhkRgD9HWEEACwjkKK/Y5gGAABYRRgBAABW9SiMVFRUKCMjQwkJCcrNzdXOnTu7Lb9ixQqNHz9egwYNUnp6um677Tb9/e9/71GFAQBAdHEcRjZu3KiioiKVlZVp9+7dyszMVEFBgT7++ONOy69fv17FxcUqKyvT/v37tXr1am3cuFF33nlnrysPANEuo7iSOSWIeo4nsC5fvlwLFizQ/PnzJUkrV65UZWWl1qxZo+Li4g7l33jjDX3nO9/R3LlzJUkZGRmaM2eO3nrrrV5WHYgc/JgAQNcc9YycOnVKNTU1ys/P//IJYmOVn5+v6urqTveZOnWqampqfEM5H3zwgbZs2aIrr7yyy9dpaWmR1+v1uwEAgOjkqGfk2LFjam1tVUpKit/2lJQUHThwoNN95s6dq2PHjum73/2ujDE6ffq0br755m6HacrLy7VkyRInVQMAABEq5Ktptm/frgceeECPPfaYdu/erU2bNqmyslL33Xdfl/uUlJTI4/H4bvX19aGuJgAAsMRRz0hSUpLi4uLU2Njot72xsVGpqamd7nPPPffouuuu04033ihJmjhxopqbm3XTTTfprrvuUmxsxzzkcrnkcrmcVA0AAEQoRz0j8fHxmjx5sqqqqnzb2traVFVVpby8vE73OXnyZIfAERcXJ0kyxjitLwD0C6yiQX/ieDVNUVGRCgsLNWXKFOXk5GjFihVqbm72ra6ZN2+eRo0apfLycknSrFmztHz5cmVnZys3N1e1tbW65557NGvWLF8oAQB078xgcnjpTIs1AYLPcRiZPXu2jh49qtLSUjU0NCgrK0tbt271TWqtq6vz6wm5++67FRMTo7vvvltHjhzROeeco1mzZun+++8PXisAAEDEijERMFbi9XqVmJgoj8cjt9ttuzqAY3S3I5joGUGkCPT3m2vTAAAAqwgjAADAKsIIAACwijACAACsIowAAACrCCMAAMAqwggQApw9EwAC5/ikZwACRyABgLOjZwQAAFhFGAEAAFYRRgAAgFWEEQAAYBVhBAAAWMVqGqCXzlwxw9VUAcA5ekYAAIBVhBEAAGAVYQQAAFhFGAEAAFYRRgAAgFWEEQAAYBVhBAAAWMV5RoAg4iq9CIf29xnntUG0oGcEAABYRRgBgAiXUVxJrxwiGmEEAABYRRgBAABWEUYAAIBVrKYBgAjFPBFEC3pGAACAVYQRAABgFWEEAABYxZwRAIgSZ84h4eysiCT0jAAAAKsIIwAAwCrCCABEIU4Rj0hCGAEAAFYxgRXoIf7XCQDBQc8IAACwqkdhpKKiQhkZGUpISFBubq527tzZbflPP/1UCxcu1MiRI+VyuXTBBRdoy5YtPaowAACILo6HaTZu3KiioiKtXLlSubm5WrFihQoKCnTw4EElJyd3KH/q1CldfvnlSk5O1jPPPKNRo0bpww8/1LBhw4JRfwAAEOEch5Hly5drwYIFmj9/viRp5cqVqqys1Jo1a1RcXNyh/Jo1a3T8+HG98cYbGjhwoCQpIyOjd7UGAABRw9EwzalTp1RTU6P8/PwvnyA2Vvn5+aquru50n+eff155eXlauHChUlJSNGHCBD3wwANqbW3t8nVaWlrk9Xr9bgAAIDo56hk5duyYWltblZKS4rc9JSVFBw4c6HSfDz74QK+88oquvfZabdmyRbW1tfrpT3+qzz//XGVlZZ3uU15eriVLljipGhBSnGYbAEIn5Ktp2tralJycrMcff1yTJ0/W7Nmzddddd2nlypVd7lNSUiKPx+O71dfXh7qaAADAEkc9I0lJSYqLi1NjY6Pf9sbGRqWmpna6z8iRIzVw4EDFxcX5tl100UVqaGjQqVOnFB8f32Efl8sll8vlpGoAACBCOeoZiY+P1+TJk1VVVeXb1tbWpqqqKuXl5XW6z3e+8x3V1taqra3Nt+0vf/mLRo4c2WkQAQAA/YvjYZqioiKtWrVKf/zjH7V//37dcsstam5u9q2umTdvnkpKSnzlb7nlFh0/flyLFy/WX/7yF1VWVuqBBx7QwoULg9cKAAAQsRwv7Z09e7aOHj2q0tJSNTQ0KCsrS1u3bvVNaq2rq1Ns7JcZJz09Xdu2bdNtt92mSZMmadSoUVq8eLHuuOOO4LUCAABErB5dm2bRokVatGhRp49t3769w7a8vDy9+eabPXkpAAAQ5bg2DQBEsYziSi7qiD6PMAIA/QChBH0ZYQQAAFjVozkjQH/G/y4BILjoGQEAAFYRRgAAgFWEEQAAYBVhBAD6KVbYoK8gjAAAAKsII8AZ+J8iAIQfS3sBoB8hbKMvomcEAABYRRgBAABWEUYAAIBVhBGgE0xkBYDwIYwAAACrCCMAAMAqlvYC3WCoBgBCjzCCfqs9aBxeOtNyTYC+4czwzecC4UQYAYB+jh5A2EYYQb/HFzEA2MUEVgAAYBVhBAAAWEUYAQAAVhFGAACAVYQRAABgFWEEAABYRRgBAABWEUYAAIBVnPQM/Q4nOQOAvoWeEQAAYBVhBAAAWEUYAQAAVhFGAACAVYQRAABgFWEEAABYRRgBAHQpo7iS5fAIOcIIAACwqkdhpKKiQhkZGUpISFBubq527twZ0H4bNmxQTEyMrr766p68LNAr/A8PAPomx2dg3bhxo4qKirRy5Url5uZqxYoVKigo0MGDB5WcnNzlfocPH9Yvf/lLXXLJJb2qMOAE4QMA+j7HPSPLly/XggULNH/+fH3jG9/QypUrNXjwYK1Zs6bLfVpbW3XttddqyZIlGjt2bK8qDAAAooujMHLq1CnV1NQoPz//yyeIjVV+fr6qq6u73O/ee+9VcnKybrjhhoBep6WlRV6v1+8GAAifrw5rMsyJUHIURo4dO6bW1lalpKT4bU9JSVFDQ0On+7z22mtavXq1Vq1aFfDrlJeXKzEx0XdLT093Uk0AABBBQrqapqmpSdddd51WrVqlpKSkgPcrKSmRx+Px3err60NYSwAAYJOjCaxJSUmKi4tTY2Oj3/bGxkalpqZ2KP/+++/r8OHDmjVrlm9bW1vbFy88YIAOHjyo8847r8N+LpdLLpfLSdUAAECEctQzEh8fr8mTJ6uqqsq3ra2tTVVVVcrLy+tQ/sILL9S+ffu0d+9e3+2HP/yhLr30Uu3du5fhFwAA4Hxpb1FRkQoLCzVlyhTl5ORoxYoVam5u1vz58yVJ8+bN06hRo1ReXq6EhARNmDDBb/9hw4ZJUoftAACgf3IcRmbPnq2jR4+qtLRUDQ0NysrK0tatW32TWuvq6hQby4ldAQBAYGKMMcZ2Jc7G6/UqMTFRHo9HbrfbdnUQQViKCATX4aUzbVcBESTQ32+6MAAAgFWOh2mASECPCBAaZ3626CVBsBBGEFUIIQAQeRimAQAAVhFGAACAVYQRAABgFWEEAABYRRgBAABWEUYAAIBVhBEAAGAVYQQAAFhFGAEAAFZxBlZEBc68CtjX2eeQU8YjEPSMAAAAq+gZAQD0CD2SCBZ6RgAAgFWEEQAAYBVhBAAAWEUYAQAAVhFGAACAVYQRRJyM4kpm8QNAFGFpLyIWgQQAogM9IwAAwCp6RtAncVppAOg/6BkBAABWEUYAAIBVDNOgT2FSKhDd2j/jDLviTPSMAAAAq+gZQcSg1wQAohM9IwCAkOEkhQgEYQQAAFhFGAEAAFYxZwQAEHIM1aA79IwAAACrCCMAAMAqwggAALCKMAIAAKwijAAAAKt6FEYqKiqUkZGhhIQE5ebmaufOnV2WXbVqlS655BINHz5cw4cPV35+frflAQDRr/1kaKyygdSDMLJx40YVFRWprKxMu3fvVmZmpgoKCvTxxx93Wn779u2aM2eOXn31VVVXVys9PV1XXHGFjhw50uvKAwCAyBdjjDFOdsjNzdW3vvUtPfroo5KktrY2paen69Zbb1VxcfFZ929tbdXw4cP16KOPat68eQG9ptfrVWJiojwej9xut5PqIkLwvyOg/+IKvtEr0N9vRz0jp06dUk1NjfLz8798gthY5efnq7q6OqDnOHnypD7//HONGDGiyzItLS3yer1+NwAAEJ0chZFjx46ptbVVKSkpfttTUlLU0NAQ0HPccccdSktL8ws0X1VeXq7ExETfLT093Uk1AQARiDkk/VdYV9MsXbpUGzZs0LPPPquEhIQuy5WUlMjj8fhu9fX1YawlAAAIJ0fXpklKSlJcXJwaGxv9tjc2Nio1NbXbfZctW6alS5fq5Zdf1qRJk7ot63K55HK5nFQNABCh6A2BozASHx+vyZMnq6qqSldffbWkLyawVlVVadGiRV3u99vf/lb333+/tm3bpilTpvSqwogefAEBAKQeXLW3qKhIhYWFmjJlinJycrRixQo1Nzdr/vz5kqR58+Zp1KhRKi8vlyQ9+OCDKi0t1fr165WRkeGbWzJkyBANGTIkiE0BAACRyHEYmT17to4eParS0lI1NDQoKytLW7du9U1qraurU2zsl1NRfv/73+vUqVP653/+Z7/nKSsr069//eve1R4RiR4RAMCZHJ9nxAbOMxJdCCMAAsU5SCJboL/fjntGgJ4ihABwqv17g1AS3bhQHgAAsIowAgAArGKYBiFx5pAM3asAgO4QRhByzBUBAHSHYRoAAGAVPSMAgD7vqz2sDP9GF8IIgoohGQCAUwzTAAAAqwgjAADAKoZpAAARh9MHRBd6RgAAgFWEEfRKRnElk1YBWMX3UORjmAaOdfah54sAANBT9IwAAACrCCMAAMAqwggAICowdyRyMWcEAeNDDgAIBcIIzooQAgAIJcIIACCqdPcfKE6Q1jcxZwQA0G8wr6RvomcEfjjFMgAg3OgZAQAAVtEzgi7RlQkg2tEb3DfQMwIAAKwijAAAAKsYpgEA9DsMQ/cthJF+jg8kAHyh/fuQuSPhRxjphwggANC1zr4jCSihxZwRAABgFWEEAABYxTBNlOlszTzjoAAQHHyfhgZhJEowDwQAQqer79juTppGcAkcYSSKEVAAIDT4fg0uwkgE6e2bnw8PAIQOPSE9xwRWAADCJKO4kv8YdoKeEQAAgoiw4RxhpA/jDQ0A0YkhHX89CiMVFRV66KGH1NDQoMzMTD3yyCPKycnpsvzTTz+te+65R4cPH9a4ceP04IMP6sorr+xxpaMJb0gAiG7d/ceyu8f60++C4zkjGzduVFFRkcrKyrR7925lZmaqoKBAH3/8cafl33jjDc2ZM0c33HCD9uzZo6uvvlpXX3213n777V5XPpq0jyPSGwIAOFN/+H2IMcYYJzvk5ubqW9/6lh599FFJUltbm9LT03XrrbequLi4Q/nZs2erublZ//Vf/+Xb9u1vf1tZWVlauXJlQK/p9XqVmJgoj8cjt9vtpLoh113PRjS/cQAA4deb3pLuzokSKoH+fjsapjl16pRqampUUlLi2xYbG6v8/HxVV1d3uk91dbWKior8thUUFGjz5s1dvk5LS4taWlp89z0ej6QvGhVKE8q2SZLeXlJw1jJfdWbduioDAEBvjL7t6YDLfvW3rK3lZJfP093vXm+0/zaerd/DURg5duyYWltblZKS4rc9JSVFBw4c6HSfhoaGTss3NDR0+Trl5eVasmRJh+3p6elOqttjiSvCsw8AAKHi5Hcp1L9hTU1NSkxM7PLxPrmapqSkxK83pa2tTcePH9c//MM/KCYmJmiv4/V6lZ6ervr6+j43/BMstDHyRXv7JNoYDaK9fVL0tzEU7TPGqKmpSWlpad2WcxRGkpKSFBcXp8bGRr/tjY2NSk1N7XSf1NRUR+UlyeVyyeVy+W0bNmyYk6o64na7o/KNdSbaGPmivX0SbYwG0d4+KfrbGOz2ddcj0s7Rapr4+HhNnjxZVVVVvm1tbW2qqqpSXl5ep/vk5eX5lZekl156qcvyAACgf3E8TFNUVKTCwkJNmTJFOTk5WrFihZqbmzV//nxJ0rx58zRq1CiVl5dLkhYvXqxp06bp4Ycf1syZM7Vhwwbt2rVLjz/+eHBbAgAAIpLjMDJ79mwdPXpUpaWlamhoUFZWlrZu3eqbpFpXV6fY2C87XKZOnar169fr7rvv1p133qlx48Zp8+bNmjBhQvBa0UMul0tlZWUdhoSiCW2MfNHePok2RoNob58U/W202T7H5xkBAAAIJq7aCwAArCKMAAAAqwgjAADAKsIIAACwKurDyP3336+pU6dq8ODBAZ84zRij0tJSjRw5UoMGDVJ+fr7ee+89vzLHjx/XtddeK7fbrWHDhumGG27QiRMnQtCC7jmtx+HDhxUTE9Pp7emnv7xWQWePb9iwIRxN6qAnf+vvf//7Hep/8803+5Wpq6vTzJkzNXjwYCUnJ+v222/X6dOnQ9mULjlt4/Hjx3Xrrbdq/PjxGjRokEaPHq2f/exnvus4tbN1HCsqKpSRkaGEhATl5uZq586d3ZZ/+umndeGFFyohIUETJ07Uli1b/B4P5DMZbk7auGrVKl1yySUaPny4hg8frvz8/A7lr7/++g7Havr06aFuRrectHHdunUd6p+QkOBXpq8dRyft6+w7JSYmRjNnfnnBub52DHfs2KFZs2YpLS1NMTEx3V4Trt327dt18cUXy+Vy6fzzz9e6des6lHH6+Q6IiXKlpaVm+fLlpqioyCQmJga0z9KlS01iYqLZvHmz+dOf/mR++MMfmjFjxpjPPvvMV2b69OkmMzPTvPnmm+a///u/zfnnn2/mzJkTolZ0zWk9Tp8+bT766CO/25IlS8yQIUNMU1OTr5wks3btWr9yZ7Y/nHryt542bZpZsGCBX/09Ho/v8dOnT5sJEyaY/Px8s2fPHrNlyxaTlJRkSkpKQt2cTjlt4759+8yPfvQj8/zzz5va2lpTVVVlxo0bZ/7pn/7Jr5yN47hhwwYTHx9v1qxZY9555x2zYMECM2zYMNPY2Nhp+ddff93ExcWZ3/72t+bdd981d999txk4cKDZt2+fr0wgn8lwctrGuXPnmoqKCrNnzx6zf/9+c/3115vExETz17/+1VemsLDQTJ8+3e9YHT9+PFxN6sBpG9euXWvcbrdf/RsaGvzK9KXj6LR9n3zyiV/b3n77bRMXF2fWrl3rK9PXjuGWLVvMXXfdZTZt2mQkmWeffbbb8h988IEZPHiwKSoqMu+++6555JFHTFxcnNm6dauvjNO/W6CiPoy0W7t2bUBhpK2tzaSmppqHHnrIt+3TTz81LpfLPPnkk8YYY959910jyfzP//yPr8wLL7xgYmJizJEjR4Je964Eqx5ZWVnmJz/5id+2QN644dDTNk6bNs0sXry4y8e3bNliYmNj/b4sf//73xu3221aWlqCUvdABes4PvXUUyY+Pt58/vnnvm02jmNOTo5ZuHCh735ra6tJS0sz5eXlnZb/8Y9/bGbOnOm3LTc31/zLv/yLMSawz2S4OW3jV50+fdoMHTrU/PGPf/RtKywsNFdddVWwq9pjTtt4tu/YvnYce3sMf/e735mhQ4eaEydO+Lb1tWN4pkC+C371q1+Zb37zm37bZs+ebQoKCnz3e/t360rUD9M4dejQITU0NCg/P9+3LTExUbm5uaqurpYkVVdXa9iwYZoyZYqvTH5+vmJjY/XWW2+Fra7BqEdNTY327t2rG264ocNjCxcuVFJSknJycrRmzZqzXgI6FHrTxv/4j/9QUlKSJkyYoJKSEp08+eXls6urqzVx4kS/K0oXFBTI6/XqnXfeCX5DuhGs95PH45Hb7daAAf7nMgzncTx16pRqamr8Pj+xsbHKz8/3fX6+qrq62q+89MWxaC8fyGcynHrSxq86efKkPv/8c40YMcJv+/bt25WcnKzx48frlltu0SeffBLUugeqp208ceKEzj33XKWnp+uqq67y+yz1peMYjGO4evVqXXPNNfra177mt72vHMOeONtnMRh/t670yav22tTQ0CBJfj9S7ffbH2toaFBycrLf4wMGDNCIESN8ZcIhGPVYvXq1LrroIk2dOtVv+7333qsf/OAHGjx4sF588UX99Kc/1YkTJ/Szn/0saPUPRE/bOHfuXJ177rlKS0vTn//8Z91xxx06ePCgNm3a5Hvezo5x+2PhFIzjeOzYMd1333266aab/LaH+zgeO3ZMra2tnf5tDxw40Ok+XR2LMz9v7du6KhNOPWnjV91xxx1KS0vz+1KfPn26fvSjH2nMmDF6//33deedd2rGjBmqrq5WXFxcUNtwNj1p4/jx47VmzRpNmjRJHo9Hy5Yt09SpU/XOO+/o61//ep86jr09hjt37tTbb7+t1atX+23vS8ewJ7r6LHq9Xn322Wf63//9316/97sSkWGkuLhYDz74YLdl9u/frwsvvDBMNQquQNvXW5999pnWr1+ve+65p8NjZ27Lzs5Wc3OzHnrooaD9iIW6jWf+KE+cOFEjR47UZZddpvfff1/nnXdej5/XiXAdR6/Xq5kzZ+ob3/iGfv3rX/s9FurjCOeWLl2qDRs2aPv27X4TPK+55hrfvydOnKhJkybpvPPO0/bt23XZZZfZqKojeXl5fhdAnTp1qi666CL94Q9/0H333WexZsG3evVqTZw4UTk5OX7bI/0Y2hSRYeQXv/iFrr/++m7LjB07tkfPnZqaKklqbGzUyJEjfdsbGxuVlZXlK/Pxxx/77Xf69GkdP37ct39vBNq+3tbjmWee0cmTJzVv3ryzls3NzdV9992nlpaWoFy3IFxtbJebmytJqq2t1XnnnafU1NQOM8AbGxslKSjHUApPG5uamjR9+nQNHTpUzz77rAYOHNht+WAfx69KSkpSXFyc72/ZrrGxscu2pKamdls+kM9kOPWkje2WLVumpUuX6uWXX9akSZO6LTt27FglJSWptrY27D9kvWlju4EDByo7O1u1tbWS+tZx7E37mpubtWHDBt17771nfR2bx7Anuvosut1uDRo0SHFxcb1+X3SpVzNOIojTCazLli3zbfN4PJ1OYN21a5evzLZt26xNYO1pPaZNm9Zh9UVXfvOb35jhw4f3uK49Fay/9WuvvWYkmT/96U/GmC8nsJ45A/wPf/iDcbvd5u9//3vwGhCAnrbR4/GYb3/722batGmmubk5oNcKx3HMyckxixYt8t1vbW01o0aN6nYC6z/+4z/6bcvLy+swgbW7z2S4OW2jMcY8+OCDxu12m+rq6oBeo76+3sTExJjnnnuu1/XtiZ608UynT58248ePN7fddpsxpu8dx562b+3atcblcpljx46d9TVsH8MzKcAJrBMmTPDbNmfOnA4TWHvzvuiyfr3aOwJ8+OGHZs+ePb7lq3v27DF79uzxW8Y6fvx4s2nTJt/9pUuXmmHDhpnnnnvO/PnPfzZXXXVVp0t7s7OzzVtvvWVee+01M27cOGtLe7urx1//+lczfvx489Zbb/nt995775mYmBjzwgsvdHjO559/3qxatcrs27fPvPfee+axxx4zgwcPNqWlpSFvT2ectrG2ttbce++9ZteuXebQoUPmueeeM2PHjjXf+973fPu0L+294oorzN69e83WrVvNOeecY3Vpr5M2ejwek5ubayZOnGhqa2v9lhKePn3aGGPvOG7YsMG4XC6zbt068+6775qbbrrJDBs2zLdy6brrrjPFxcW+8q+//roZMGCAWbZsmdm/f78pKyvrdGnv2T6T4eS0jUuXLjXx8fHmmWee8TtW7d9DTU1N5pe//KWprq42hw4dMi+//LK5+OKLzbhx48IejnvaxiVLlpht27aZ999/39TU1JhrrrnGJCQkmHfeecdXpi8dR6fta/fd737XzJ49u8P2vngMm5qafL95kszy5cvNnj17zIcffmiMMaa4uNhcd911vvLtS3tvv/12s3//flNRUdHp0t7u/m49FfVhpLCw0EjqcHv11Vd9ZfT/52Jo19bWZu655x6TkpJiXC6Xueyyy8zBgwf9nveTTz4xc+bMMUOGDDFut9vMnz/fL+CEy9nqcejQoQ7tNcaYkpISk56eblpbWzs85wsvvGCysrLMkCFDzNe+9jWTmZlpVq5c2WnZcHDaxrq6OvO9733PjBgxwrhcLnP++eeb22+/3e88I8YYc/jwYTNjxgwzaNAgk5SUZH7xi1/4LYsNJ6dtfPXVVzt9X0syhw4dMsbYPY6PPPKIGT16tImPjzc5OTnmzTff9D02bdo0U1hY6Ff+qaeeMhdccIGJj4833/zmN01lZaXf44F8JsPNSRvPPffcTo9VWVmZMcaYkydPmiuuuMKcc845ZuDAgebcc881CxYs6PUXfG85aePPf/5zX9mUlBRz5ZVXmt27d/s9X187jk7fpwcOHDCSzIsvvtjhufriMezqe6K9XYWFhWbatGkd9snKyjLx8fFm7Nixfr+N7br7u/VUjDEW1msCAAD8P84zAgAArCKMAAAAqwgjAADAKsIIAACwijACAACsIowAAACrCCMAAMAqwggAALCKMAIAAKwijAAAAKsIIwAAwCrCCAAAsOr/AAlPxG6USIttAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "n = 10\n", "\n", "x = np.sum(np.random.random(size=(100000,n))-0.5,axis=1)/np.sqrt(n)\n", "plt.hist(x, bins=np.arange(-1,1,0.01), range=None, density=True),\n", "print(np.mean(x),np.var(x))" ] }, { "cell_type": "markdown", "id": "syL0IW55kQO6", "metadata": { "id": "syL0IW55kQO6" }, "source": [ "# Central limit theorem\n", "The distribution of the sum of independent RVs converges (under certain conditions) to the normal distribution.\n", "\n", "Let $X_1,X_2,\\dots,X_n$ be a sequence of independent and identically distributed random variables with expected value $\\mu$ and standard deviation $\\sigma$ and\n", "$$\n", "Z_n=\\frac{X_1+X_2+\\dots+X_n-n\\mu}{\\sqrt{n}\\cdot\\sigma}.\n", "$$\n", "For $n\\to \\infty$ the distribution function of $Z_n$ converges to the distribution function of the standard normal distribution.\n", "\n" ] }, { "cell_type": "markdown", "id": "zub0mXIzhQkm", "metadata": { "id": "zub0mXIzhQkm" }, "source": [ "### Problem\n", "In an experiment, the number of “heads” results is determined over 100 tosses of a coin. If the RV $Y$ represents this number, then\n", "$$\n", "{\\rm E}(Y)=50.\n", "$$\n", "* Determine the variance ${\\rm Var}(Y)$.\n", "* In the following program, the experiment is carried out 10000 times and the corresponding values of $Z_n$ (see above) are stored in z. Plot the distribution of z in a histogram and compare it with the probability density of the standard normal distribution.\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "id": "8OChyZEe-r7M", "metadata": { "id": "8OChyZEe-r7M" }, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "z = (np.sum(np.random.randint(2,size=(10000,100)),axis=1)-50)/5\n", "..." ] } ], "metadata": { "colab": { "provenance": [ { "file_id": "1BrSITwQF7uiywp46TZu26daBwgHMO9BK", "timestamp": 1730795071355 } ] }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.5" } }, "nbformat": 4, "nbformat_minor": 5 }