{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Thinking probabilistically - Continuous variables\n", "> A Summary of lecture \"Statistical Thinking in Python (Part 1)\", via datacamp\n", "\n", "- toc: true \n", "- badges: true\n", "- comments: true\n", "- author: Chanseok Kang\n", "- categories: [Python, Datacamp, Data_Science, Statistics]\n", "- image: images/std-cdf.png" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Probability density functions\n", "- Continuous variables\n", " - Quantities that can take any value, not just discrete values\n", "- Probability Density function (PDF)\n", " - Continuous analog to the PMF\n", " - Mathematical description of the relative likelihood of observing a value of a continuous variable\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Introduction to the Normal distribution\n", "- Normal distribution\n", " - Describes a continuous variable whose PDF has a single symmetric peak.\n", " \n", " $$ \\begin{align} \\text{mean of a Normal distribution} & \\neq \\text{mean computed from data} \\\\ \\text{st. dev of a Normal distribution} & \\neq \\text{st. dev computed from data} \\end{align} $$\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The Normal PDF\n", "In this exercise, you will explore the Normal PDF and also learn a way to plot a PDF of a known distribution using hacker statistics. Specifically, you will plot a Normal PDF for various values of the variance." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "sns.set()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(-0.01, 0.42)" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD7CAYAAABpJS8eAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3de1xT9/0/8Fe4VSkoiifg3NZucz/7XZU6yyYyfjitglwirbWrxY46lYq0xbKKzUQrYjutVXGr4rx09bsKfehWwWItYuvXdl349it+9/NS7cXvb/biJYSAchEkJOf7BzUSE3ISEpKQ83o+Hn08ei6fk895G1/5+MnJOQpRFEUQEZHfC/B2B4iIyDMY+EREMsHAJyKSCQY+EZFMMPCJiGSCgU9EJBMMfCIimQjydgfsaWpqg8nk+s8EIiPDoNe3uqFH/oM1scaaWGI9rPl6TQICFBg27M5et/t04JtMolsC/+axyBJrYo01scR6WBvINeGUDhGRTDDwiYhkwqendIjI/4miiKYmHTo7OwD49nRJfX0ATCaTt7uBwMAghIVFYPDg3ufrbXEo8KuqqrBt2zZ0dXXhiSeewNy5c23ud+zYMRQXF+Po0aMAgObmZixduhRff/01hg8fjs2bN0MQBKc6SET+rbX1GhQKBaKivguFwrcnHYKCAtDV5d3AF0URBkMnrl7VAYBToS9ZXa1Wi5KSEpSXl6OyshJ79+7F+fPnrfZraGjAyy+/bLFu8+bNiI2NxbvvvotHHnkEL730ksMdIyJ5aG9vRXh4hM+Hva9QKBQICbkDERECWluvOtVWssIajQZxcXGIiIhAaGgokpOTUV1dbbXfihUr8PTTT1usO3bsGFQqFQAgPT0dH374IQwGg1MdJPKE+euOersLsmUyGREYyNllZwUHh8Bo7HKqjWTg19fXW0zDKJVKaLVai33+8pe/4Cc/+Qnuu+++XtsGBQUhLCwMjY2NTnWQiPyfQqHwdhcGnL7UTPJj1WQyWRxYFEWL5c8//xw1NTXYvXs3rly5YvdYoigiIMDxf7ZFRoY5vK8UQQh327H8BWtijTWx5Il61NcHICjoVi789tWP0HCtw+2vM2LoIGx6JqFPbXfu3Iaf/Wwixo+fYNHXS5cuITc3G5WV7/S5X21trcjO/g02bPgDvvOd7zjVNiAgwKk/I8nAj46ORl1dnXlZp9NBqVSal6urq6HT6fDwww/DYDCgvr4emZmZKC8vh1KpRENDA6Kjo9HV1YW2tjZEREQ43Dm9vtUtP3IQhHDodC0uH8efsCa2sSa3eOo9YjKZLL4IbbjWgT+rp7r9deavO9rnL1xPnDiB++67HwAsjmE0mqzWOeOTT85g/foX8dVXX8JoNDl9HJPJZPFnFBCgsDtQlgz8+Ph4vPrqq2hsbMTgwYNRU1ODNWvWmLfn5eUhLy8PAPDNN98gKysL5eXlAIDJkyejsrISOTk5OHToEGJjYxEcHOzUCREReUp9vRbFxSvR3t6OgAAFliwpwNdff4nPPjuHl19+ES+/vBGdnQasW9edgaNH/x+bx/n971fj888/s1iXmflrJCWlWKyrqqrAb3/7PNaseaF/Tug2koEfFRWF/Px8ZGVlwWAwYPbs2YiJiUF2djby8vIwbty4XtsuWbIEarUaaWlpCA8Px4YNG9zaeSJ3WvBiDdYtmuTtbpAXHTx4APHxCcjMzMJ//qcGp079P2Rm/hrvvPM25s9/EqNH/xiZmY/gmWfy8bOfxWH37l347/+uszrO8uWrHHo9tXqlu0/BLoe+GlepVOarbW7auXOn1X7f/e53zdfgA0BERAT+9Kc/udhFIs+ob2r3dhfIy2Jjf47CwmX4/PPPEB+fgIcf/pXF9qtXm9DQ0ICf/SwOAJCSko6DBw9YHcfREb6n8VooIqJvxcSMx549+6DRfIT336/BoUNV2Ly51LxdoVBAFG99r9jb5aSOjvA9jb90ICL6VmnpH3D48LtISUlHfv7z5lF6YGAQjEYjhg6NQHR0NDSajwAAR45Y/ybJlzHwiYi+9fDDj+LYsfcxb14mli9fihUrVgMAJk6chA0b1uLUqZNYuXINXn99B37zm0xcvPiNl3vsHIXY898nPoaXZfYf1uSWglINAEDf3D+XAw5UnnqPXLnyJaKj7zIvF5RqoG92/3X4kUMG4ZXceJeO4Qv30unp9tq5fFkmkb+7GfTq7bUoKNW4HArkGta//3BKh+hbr61I6peRJZGvYOATEckEA5+ISCYY+EREMsHAJyKSCQY+EZFM8LJMIvIpreXPQWzVu/24irBIhGVu7FPb117bjtjYn+P++++3WH/58iU888wi/O1vVX067q5df8KxY+8DUCA9fSbmzHm8T8dxFAOfiHyK2KpH+JO73X7clh3z+tz2n/88gZ/+9H7pHZ085okTx7F795swGrvw+OO/Qnx8Ar7//bvd+jo9MfCJiL7lyfvh//Sn9+PVV7cjKCgIDQ06GI1GDBo0uP9ODgx8IiIzT98PPygoCK+9th1vvvkGpkyZBkFQSjdyAb+0JSL6Vmzsz/Hmm3tQVFSI5uZrDt0P35bf/3415s3LtPivpuZdm/suWLAIBw++h/p6Ld5+u8K9J3QbjvCJiL7lyfvhf/nlBXR23sCPfzwGgwYNQmLiFPzP/3zh+knY4dAIv6qqCqmpqUhKSkJZWZnV9iNHjkClUiEtLQ1qtRqdnZ0AgIqKCiQkJCAjIwMZGRkoKSlxb++JiNzIk/fDv3TpG7z88kvo7OyEwWDARx99gJiY8W45j95IjvC1Wi1KSkqwf/9+hISEYM6cOZg4cSJGjx4NALh+/TqKi4tRUVGBESNGID8/HxUVFXj00Udx5swZqNVqpKfb/mcPEdHtFGGRLl1RY++4Uh5++FGsXr0Chw5VISAgwOp++KtWrcHKlWuwdu1q7NxZinvvjelzfyZNSsDZs59g/vy5CAgIwOTJUzFtWnKfj+cIycDXaDSIi4tDREQEACA5ORnV1dV4+umnAQChoaE4evQogoOD0d7eDr1ejyFDhgAATp8+jQsXLmD79u0YM2YMVq5ciaFDh/bj6RDRQNfXa+XdISoqGqWlu6zWZ2b+GpmZvzbfD3/nzr+45fUWLFiEBQsWueVYjpAM/Pr6egiCYF5WKpU4deqUxT7BwcH44IMPsGzZMiiVSiQkJAAABEHA/PnzMWHCBGzatAnFxcXYuNHxP0x7N/J3liCEu+1Y/oI1uaVnLViXWzxRi/r6AAQFDZzrR3yprwEBAU79GUkGvslkgkKhMC+LomixfNPkyZPx8ccfY9OmTSgqKsLGjRuxdetW8/aFCxdi+vTpDncM4BOv+hNrYkmnazH/xWFdunnqPWIymXzqKVL2+NoTr0wmk8WfkdQTryQ/qqKjo6HT6czLOp0OSuWta0WvXr2Kjz76yLysUqnw2WefoaWlBbt37zavF0URgYGBDp8IERG5l2Tgx8fHo7a2Fo2NjWhvb0dNTQ0SExPN20VRREFBAS5dugQAqK6uxoQJExAaGopdu3bh5MmTAIA9e/Y4PcInIiL3kZzSiYqKQn5+PrKysmAwGDB79mzExMQgOzsbeXl5GDduHNasWYNFixZBoVBg9OjRWL16NQIDA7F582YUFRWho6MDd999N9avX++JcyLqs8ghg/hcW/JbCrHnrwh8DOfw+w9rcsv8dUfxZ/VUc01uLsudp94jV658iejou/r9ddzB1+bwb6+d1Bw+f2lLRD5lpWYtGjua3H7c4YOGYU387/rUtr9ujwwAbW2tyMmZj/XrN2PkyO8AAI4f/xhbtpTgxo0bmDp1Op58MrfPx++JgU9EPqWxowlbp7p/+vepo8v63LY/bo8MAJ98cgbr17+Ir7/+yrzuxo0OrF1bjC1bdkCpjMKyZc+itvYfmDTpFy6/HgOfiOhbnrw9MgBUVVXgt799HmvWvGBed/bsJ/je976P73xnFAAgKSkF//Ef7zHwiYjcydO3R1arV1qta2jQITJyhHk5MnIEdLr6vp9UDwx8krWCUg0ihwzydjfIR8TG/hyFhcvw+eefIT4+waHbIx88eMDqOI6O8G3p/nGrxRooFO75dS8Dn2RN39zBK3LIzJO3R+6NICjR0HDrmb56vR4jRoyw08JxvnNTCCIiL/Pk7ZF785OfjMXXX3+Jb775GkajEUeOHEZcnOvz9wBH+EREZp68PXJv7rjjDixfvgqFhcvQ2XkDkyb9AlOmPOCWYzPwicinDB80zKVLKO0dV4qnb4980+3X8cfG/hz//u9vuvU1AAY+EfmYvv44iqRxDp+ISCYY+EREMsHAJyKv8+F7OPosUTQBsH4YlT0MfCLyqqCgELS1NTP0HSSKIrq6DLh6tQEhIc79aJBf2hKRVw0bJqCpSYfW1qve7oqkgIAAmEzevz1yQEAgBg8OQ1jYUKfaMfCJyKsCA4MwYsRIb3fDIQP9ORIOTelUVVUhNTUVSUlJKCsrs9p+5MgRqFQqpKWlQa1Wo7OzEwBw6dIlzJ07FzNmzMDixYvR1tbm3t4TEZHDJANfq9WipKQE5eXlqKysxN69e3H+/Hnz9uvXr6O4uBivv/463nnnHdy4cQMVFRUAgNWrVyMzMxPV1dUYO3YsSktLe3sZIiLqZ5KBr9FoEBcXh4iICISGhiI5ORnV1bfuHxEaGoqjR49ixIgRaG9vh16vx5AhQ2AwGHD8+HEkJycDAGbNmmXRjoiIPEsy8Ovr6yEIgnlZqVRCq9Va7BMcHIwPPvgAv/zlL9HU1ISEhAQ0NTUhLCwMQUHdXxMIgmDVjoiIPEfyS1uTyQRFj5szd9+r2fraz8mTJ+Pjjz/Gpk2bUFRUhGXLllntZ6udPfYexussQQh327H8BWvSrWcdbv4/a9ONdbA2kGsiGfjR0dGoq7v1RBedTgelUmlevnr1Ks6cOYOEhAQAgEqlQn5+PoYPH46WlhYYjUYEBgZatXOEXt8Kk8n1a3MH+jfr/YE1ueVmHXrWhLXhe8QWX69JQIDC7kBZckonPj4etbW1aGxsRHt7O2pqapCYmGjeLooiCgoKcOnSJQBAdXU1JkyYgODgYMTGxuLQoUMAgMrKSot2RETkWZKBHxUVhfz8fGRlZeHBBx9Eeno6YmJikJ2djdOnT2PYsGFYs2YNFi1ahJkzZ+Jf//oXCgoKAACrVq3Cvn37kJqairq6Ojz77LP9fkJERGSbQz+8UqlUUKlUFut27txp/v9p06Zh2rRpVu1GjRqFN954w8UuEhGRO/BeOkREMsHAJyKSCQY+EZFMMPCJiGSCgU9EJBMMfCIimWDgExHJBAOfiEgmGPhERDLBwCcikgkGPslWQakGkUMGebsbRB7DwCfZ0jd34JXceG93g8hjGPhEt4kcMggFpRpvd4PI7Rj4RLd5JTce+uYOb3eDyO0Y+EREMsHAJyKSCYcCv6qqCqmpqUhKSkJZWZnV9vfeew8ZGRmYOXMmcnNzce3aNQBARUUFEhISkJGRgYyMDJSUlLi390RE5DDJJ15ptVqUlJRg//79CAkJwZw5czBx4kSMHj0aANDa2oqioiK89dZbiIqKwh/+8Ae8+uqrWLFiBc6cOQO1Wo309PR+PxEiIrJPcoSv0WgQFxeHiIgIhIaGIjk5GdXV1ebtBoMBq1atQlRUFABgzJgxuHz5MgDg9OnTqKiogEqlwtKlS80jfyIi8jzJwK+vr4cgCOZlpVIJrVZrXh42bBimT58OAOjo6MCOHTvMz7cVBAG5ubl4++23MXLkSBQXF7u7/0RE5CDJKR2TyQSFQmFeFkXRYvmmlpYWPPXUU7jnnnvw0EMPAQC2bt1q3r5w4ULzB4OjIiPDnNrfHkEId9ux/AVrYl2DnsusD2tgy0CuiWTgR0dHo66uzrys0+mgVCot9qmvr8eCBQsQFxeH5cuXA+j+AHjrrbcwb948AN0fFIGBgU51Tq9vhckkOtXGFkEIh07X4vJx/Alr0q1nDW6vidzrw/eINV+vSUCAwu5AWXJKJz4+HrW1tWhsbER7eztqamqQmJho3m40GpGTk4OUlBQUFhaaR/+hoaHYtWsXTp48CQDYs2eP0yN8IiJyH8kRflRUFPLz85GVlQWDwYDZs2cjJiYG2dnZyMvLw5UrV3D27FkYjUYcPnwYADB27Fi89NJL2Lx5M4qKitDR0YG7774b69ev7/cTIiIi2yQDHwBUKhVUKpXFup07dwIAxo0bh08//dRmu9jYWFRUVLjYRSIicgf+0paISCYY+EREMsHAJyKSCQY+EZFMMPCJiGSCgU9EJBMMfCIimWDgExHJBAOfiEgmGPhERDLBwCcikgkGPhGRTDDwiYhkgoFPRCQTDHySpYJSDSKHDPJ2N4g8ioFPsqRv7sArufHe7gaRRzkU+FVVVUhNTUVSUhLKysqstr/33nvIyMjAzJkzkZubi2vXrgEALl26hLlz52LGjBlYvHgx2tra3Nt7IiJymGTga7ValJSUoLy8HJWVldi7dy/Onz9v3t7a2oqioiLs2LEDb7/9NsaMGYNXX30VALB69WpkZmaiuroaY8eORWlpaf+dCRER2SUZ+BqNBnFxcYiIiEBoaCiSk5NRXV1t3m4wGLBq1SpERUUBAMaMGYPLly/DYDDg+PHjSE5OBgDMmjXLoh0REXmWZODX19dDEATzslKphFarNS8PGzYM06dPBwB0dHRgx44dmDZtGpqamhAWFoagoO7H5gqCYNGOiIg8S/Ih5iaTCQqFwrwsiqLF8k0tLS146qmncM899+Chhx6CVqu12s9WO3siI8Oc2t8eQQh327H8hdxrYuv8e66Te30A1sCWgVwTycCPjo5GXV2deVmn00GpVFrsU19fjwULFiAuLg7Lly8HAAwfPhwtLS0wGo0IDAy02U6KXt8Kk0l0qo0tghAOna7F5eP4E9YEVud/e03kXh++R6z5ek0CAhR2B8qSUzrx8fGora1FY2Mj2tvbUVNTg8TERPN2o9GInJwcpKSkoLCw0DyKDw4ORmxsLA4dOgQAqKystGhHRESeJTnCj4qKQn5+PrKysmAwGDB79mzExMQgOzsbeXl5uHLlCs6ePQuj0YjDhw8DAMaOHYuXXnoJq1atglqtxrZt2zBy5Ehs2rSp30+IyB0ihwxCQamG1+qTX1GIouj6nEk/4ZRO/5F7TeavO4o/q6darLu9Jrb2kRO5v0ds8fWauDylQ0RE/oGBT0QkEwx8IiKZYOATEckEA5+ISCYY+EREMsHAJyKSCQY+EZFMMPCJiGSCgU9EJBMMfCIimWDgExHJBAOfiEgmGPhERDLBwCcikgkGPhGRTDDwiYhkwqHAr6qqQmpqKpKSklBWVtbrfsuWLcP+/fvNyxUVFUhISEBGRgYyMjJQUlLieo+JiKhPJJ9pq9VqUVJSgv379yMkJARz5szBxIkTMXr0aIt9Vq1ahdraWsTFxZnXnzlzBmq1Gunp6f3TeyIicpjkCF+j0SAuLg4REREIDQ1FcnIyqqurLfapqqrCAw88gJSUFIv1p0+fRkVFBVQqFZYuXYpr1665t/dEROQwyRF+fX09BEEwLyuVSpw6dcpin4ULFwIATpw4YbFeEATMnz8fEyZMwKZNm1BcXIyNGzc63Dl7D+N1liCEu+1Y/kLuNbF1/revY43kff62DOSaSAa+yWSCQqEwL4uiaLFsz9atW83/v3DhQkyfPt2pzun1rTCZRKfa2OLrT5r3BtYEVudvqyZyrhHfI9Z8vSYBAQq7A2XJKZ3o6GjodDrzsk6ng1KplHzhlpYW7N6927wsiiICAwMl2xH5isghg1BQqvF2N4jcRjLw4+PjUVtbi8bGRrS3t6OmpgaJiYmSBw4NDcWuXbtw8uRJAMCePXucHuETedMrufHQN3d4uxtEbiM5pRMVFYX8/HxkZWXBYDBg9uzZiImJQXZ2NvLy8jBu3Dib7QIDA7F582YUFRWho6MDd999N9avX+/2EyAiIscoRFF0fZK8n3AOv//IuSY3p2leyY23WG+rJvPXHcWf1VM91jdfIuf3SG98vSYuz+ET+Rt9c4dV2BPJAQOfiEgmGPhERDIh+aUtkT9rLX8OYqseirBICEt2oLX8OQBAWKbjPxAkGig4wifZuhnu4U/uBgD8/5ceBgCIrXpvdYmoX3GET7IlturNYR+WudF8BUbLjnle7RdRf+EIn+g2irBI8+ifyJ8w8IluE5a5kdM65JcY+CRLreXPQREW2et2jvLJHzHwSZbEVr3dK3E4yid/xMAnIpIJBj7JzgtD37I7nXOTIiwSLwx9ywM9IvIMBj7JTmRgm0M/rArL3IjIwDYP9IjIMxj4REQywcAnIpIJBj6RHXrjnbw8k/yGQ4FfVVWF1NRUJCUloaysrNf9li1bhv3795uXL126hLlz52LGjBlYvHgx2to4H0re1Vr+HPTGOx3ev/jaw7w8k/yGZOBrtVqUlJSgvLwclZWV2Lt3L86fP2+1T05ODg4fPmyxfvXq1cjMzER1dTXGjh2L0tJS9/aeyEliqx7F1x72djeIvEIy8DUaDeLi4hAREYHQ0FAkJyejurraYp+qqio88MADSElJMa8zGAw4fvw4kpOTAQCzZs2yakc0EPBXt+QvJAO/vr4egiCYl5VKJbRarcU+CxcuxCOPPGKxrqmpCWFhYQgK6r4hpyAIVu2IBgL+6pb8heTtkU0mExQKhXlZFEWL5d7Y2s+Rdj3ZexivswQh3G3H8hdyq8lXW3IQNFQAGns/d1vrBSEcLb1s83dyPGcpA7kmkoEfHR2Nuro687JOp4NSqZQ88PDhw9HS0gKj0YjAwECH2/Wk17fCZBKdamOLrz9p3hvkWJOua7ru+9+vO2rz3Huryc11cquXHN8jUny9JgEBCrsDZckpnfj4eNTW1qKxsRHt7e2oqalBYmKi5AsHBwcjNjYWhw4dAgBUVlY61I6oP0jdHZNIDiQDPyoqCvn5+cjKysKDDz6I9PR0xMTEIDs7G6dPn7bbdtWqVdi3bx9SU1NRV1eHZ5991m0dJ3KG1N0xpfCLW/IHDj3iUKVSQaVSWazbuXOn1X7r1q2zWB41ahTeeOMNF7pH5BvCMjfy0Yc04PGXtiQrBaUaRA4Z1Ke2HOXTQMfAJ1nRN3fgldx4h/ePHDIIBaUaALw8kwY+Bj75PVe+sH0lNx765g4394jIOxyawycayMRWffflmEQyxxE+EZFMMPDJr7n7+nt+cUsDGQOf/Jqr19/fjl/c0kDGwCcikgkGPpGTOK1DAxUDn/xWf90/h9M6NFDxskzyW7wck8gSR/hEfcBpHRqIGPhEfcBpHRqIGPjkl3j/eyJrDHzyS+6+/t4WTuvQQMPAJ+ojTuvQQONQ4FdVVSE1NRVJSUkoKyuz2n7u3DnMmjULycnJKCwsRFdXFwCgoqICCQkJyMjIQEZGBkpKStzbeyIbOJ1DZJtk4Gu1WpSUlKC8vByVlZXYu3cvzp8/b7FPQUEBXnjhBRw+fBiiKGLfvn0AgDNnzkCtVuPAgQM4cOAA8vPz++csiHpw93ROz3viEw1kkoGv0WgQFxeHiIgIhIaGIjk5GdXV1ebtFy9eREdHB8aPHw8AmDVrlnn76dOnUVFRAZVKhaVLl+LatWv9dBpE/cfePfE5j08DiWTg19fXQxAE87JSqYRWq+11uyAI5u2CICA3Nxdvv/02Ro4cieLiYnf2ncgprjzesDecx6eBRPKXtiaTCQqFwrwsiqLFsr3tW7duNa9fuHAhpk+f7lTnIiPDnNrfHkEId9ux/IU/1uSrLTkIGirYPDd9cweqNmbYbW+vJr1ta5FoN5D563m5YiDXRDLwo6OjUVdXZ17W6XRQKpUW23U6nXm5oaEBSqUSLS0teOuttzBv3jwA3R8EgYGBTnVOr2+FySQ61cYWQQiHTtfi8nH8ib/WpOuaDuFP7u713Oyds1RN+rptoPLX94grfL0mAQEKuwNlySmd+Ph41NbWorGxEe3t7aipqUFiYqJ5+6hRo3DHHXfgxIkTAIADBw4gMTERoaGh2LVrF06ePAkA2LNnj9MjfKKBgPP4NFBIBn5UVBTy8/ORlZWFBx98EOnp6YiJiUF2djZOnz4NANiwYQPWrl2LGTNm4Pr168jKykJgYCA2b96MoqIipKSk4JNPPkFBQUG/nxDJl7cux+Q8Pg0UDt0tU6VSQaVSWazbuXOn+f/vuece/O1vf7NqFxsbi4qKChe7SOQY3h2TyD7eHplka6VmLRo7muzuM3zQMKyJ/53ksW5O6/T37RyIXKEQRdH1b0X7Cb+07T/+VpObc+i3B669UL89zG3VpLf2tj4IWnbM86t/Yfjbe8QdfL0mUl/aMvBlyt9qUnj4OVwNtr4KrGcwz193FH9WT+31GPZqcntbZz4IBip/e4+4g6/XRCrwOaVDA1bP0I0AsHXqeo+9tq1Qby1/DuuERjx1dBkA/wp/8g8MfBpQeob88EHDsHXqep+5JDIscyOe7zGts1KzluFPPoWBTz7J3pTJ7SN5X7o6p+eXtz0DnuFPvoCBTz7D1uhdiqPX3vfHfXRsCcvciJYd86zWM/zJFzDwyav6EvI9OTq61zd32P3CVsrNWyS/khvf52PcxPAnb2Hgk1c1djR59MvWvnolNx7z1x11aF9nrsln+JMnMfDJI+zNyfeVrz7ZqrdpHSkMf+pvDHzyCHeP5Hv7oZWvcPWXtwx/6g8MfHKr/hjJ2+JLV+bY0tdRvi0Mf3IXBj65lSfm5L01lePsF7eKsEi07JgHRVik2/4lwvAnVzDwyWW3X2nT37w1unfmi1vg1nSTu0b6t2P4k7MY+NQnrl5O2Ret5c9BbNU7Pbr31DX43sTwJ0cw8MkuZ37x2t/6OrJ39Rp8V/XH1I49DH/qDQOfrHhj9G5PX0f2vuJmyLeWP+fxe+b3Fv498YNAPhy6PXJVVRW2bduGrq4uPPHEE5g7d67F9nPnzqGwsBBtbW2IjY3F6tWrERQUhEuXLqGgoAB6vR4/+MEPsGHDBtx5550Od463R3Y/dz70wxNcvfyyoFQDAA590erI+8SZ49nii5eTOvPMALnz9Sxx+X74Wq0Wjz32GPbv3+7LmWYAAAe1SURBVI+QkBDMmTMHmzZtwujRo837pKen48UXX8T48eOxfPlyjB07FpmZmVi0aBFmzpyJtLQ0bN26FdevX3fqubYM/L5x5C+wr9ek56jelXCUugd+T47WxJlj2uKuc+tvghCOnAPL/f6+/87w9b83Lt8PX6PRIC4uDhEREQCA5ORkVFdX4+mnnwYAXLx4ER0dHRg/fjwAYNasWfjjH/+IRx55BMePH8fWrVvN6x9//HE+yLwPHBmV9+QL0zB9cTMIge55b1euxCko1UDf3NEvX9a6el+dnlM8N+f2b9/mK3oL9d6mh3oj1w8IXyMZ+PX19RAEwbysVCpx6tSpXrcLggCtVoumpiaEhYUhKCjIYr0z7H1SSdl35iD+9sk7fW7vS4TQ4dj36Db3H1cI73Pbxg/34urf97mxN0DQUAHfL3zLpWOUH/4Ub9Z8BuWwwQCA3auSnWrvSE12r0rGghdrzJdoPpY0BpnJ9zjdV2HJDgDAV1tyzOucuYQz4v/+CsMTH3X6dZ3RWz3+lPF7p47zVFWhUx8Qcjf73jT8amy6248rGfgmkwkKhcK8LIqixXJv22/fD4DVshRXpnSmRE3GlKjJAHz/n2GOcHf/Xa7Jv6Ui/N9S3dehb7l6ntMnjML0CaP6dDxnarJu0SSLZVf6PfjRV/rUzuji60px59+boji1W47jbZ7Mkr68jtSUToDUAaKjo6HT6Xp0QgelUtnr9oaGBiiVSgwfPhwtLS0wGo022xERkWdJBn58fDxqa2vR2NiI9vZ21NTUIDEx0bx91KhRuOOOO3DixAkAwIEDB5CYmIjg4GDExsbi0KFDAIDKykqLdkRE5FkOX5a5fft2GAwGzJ49G9nZ2cjOzkZeXh7GjRuHTz/9FCtWrEBrayvuvfderF27FiEhIbh48SLUajX0ej1GjhyJTZs2YejQoQ53rqmpzS1X6URGhkGvb3X5OP6ENbHGmlhiPaz5ek0CAhQYNqz3S98dCnwiIhr4JKd0iIjIPzDwiYhkgoFPRCQTDHwiIplg4BMRyQQDn4hIJhj4REQywcAnIpIJBj4RkUz4beCfOHECs2fPRkZGBp544glcvHgRANDc3Iwnn3wSKSkpmDt3rsWN3+SgqqoKqampSEpKQllZmbe74zVbtmxBWloa0tLSsH5997MDNBoNVCoVkpKSUFJS4uUeesfLL78Mtbr7zpbnzp3DrFmzkJycjMLCQnR1dXm5d5519OhRzJo1CykpKXjxxRcB+MF7RPRTU6ZMEc+dOyeKoij+9a9/FXNyckRRFMXVq1eL27dvF0VRFCsqKsQlS5Z4rY+eduXKFXHKlCliU1OT2NbWJqpUKvGLL77wdrc87h//+If46KOPijdu3BA7OzvFrKwssaqqSpw8ebL41VdfiQaDQZw/f7547Ngxb3fVozQajThx4kTx+eefF0VRFNPS0sR//vOfoiiK4u9+9zuxrKzMm93zqK+++kpMSEgQL1++LHZ2doqPPfaYeOzYsQH/HvHLEX5nZyeWLFmCe+7pfijFmDFjcPnyZQDAsWPHoFKpAHQ/mvHDDz+EwWDwWl89qefTy0JDQ81PL5MbQRCgVqsREhKC4OBg/OhHP8KFCxdw11134Xvf+x6CgoKgUqlkVZurV6+ipKQEOTndD2Ox9SQ7OdXjyJEjSE1NRXR0NIKDg1FSUoLBgwcP+PeIXwZ+SEgIMjIyAHQ/oGXLli2YNm0aAMsndAUFBSEsLAyNjY1e66sn2Xp6mbNPIfMHP/7xj81BduHCBbz77rtQKBSyrs0LL7yA/Px8DBkyBEDvT7KTiy+//BJGoxE5OTnIyMhAeXm5X/z9kXzila979913sXbtWot1P/zhD7F79250dnZCrVajq6sLixYtstleFEUEBPjl554VqaeXyc0XX3yBRYsWYdmyZQgMDMSFCxfM2+RUm7/+9a8YOXIkJk2ahP379wPge8VoNKKurg5vvPEGQkNDsXjxYgwaNGjA12TAB35KSgpSUlKs1re1tWHx4sWIiIjAtm3bEBwcDKD7U7mhoQHR0dHo6upCW1ub+QHt/i46Ohp1dXXmZTk/hezEiRPIy8vD8uXLkZaWhv/6r/+y+2Q3f3bo0CHodDpkZGTg2rVruH79OhQKhc0n2cnFiBEjMGnSJAwfPhwAMG3aNFRXVyMwMNC8z0B8j/jt0LagoAB33XUXNm/ejJCQEPP6yZMno7KyEkD3Gz02Ntb8YeDvpJ5eJheXL1/GU089hQ0bNiAtLQ0AcN999+Ff//qX+Z/yBw8elE1tXn/9dRw8eBAHDhxAXl4epk6dirVr19p8kp1cTJkyBR999BGam5thNBrx97//HTNmzBjw75EBP8K35ezZs3j//fcxevRoPPTQQwC6R/Y7d+7EkiVLoFarkZaWhvDwcGzYsMHLvfWcqKgo5OfnIysry/z0spiYGG93y+Nee+013LhxA+vWrTOvmzNnDtatW4dnnnkGN27cwOTJkzFjxgwv9tL7NmzYYPEku6ysLG93yWPuu+8+LFy4EJmZmTAYDPjFL36Bxx57DD/84Q8H9HuET7wiIpIJv53SISIiSwx8IiKZYOATEckEA5+ISCYY+EREMsHAJyKSCQY+EZFMMPCJiGTifwFAxGVPhYkxvQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Draw 100000 samples from Normal distribution \n", "# with stds of interest: samples_std1, samples_std3, stamples_std10\n", "samples_std1 = np.random.normal(20, 1, 100000)\n", "samples_std3 = np.random.normal(20, 3, 100000)\n", "samples_std10 = np.random.normal(20, 10, 100000)\n", "\n", "# Make histograms\n", "_ = plt.hist(samples_std1, histtype='step', density=True, bins=100)\n", "_ = plt.hist(samples_std3, histtype='step', density=True, bins=100)\n", "_ = plt.hist(samples_std10, histtype='step', density=True,bins=100)\n", "\n", "# Make a legend, set limits\n", "_ = plt.legend(('std = 1', 'std = 3', 'std = 10'))\n", "plt.ylim(-0.01, 0.42)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The Normal CDF\n", "Now that you have a feel for how the Normal PDF looks, let's consider its CDF. Using the samples you generated in the last exercise (in your namespace as ```samples_std1```, ```samples_std3```, and ```samples_std10```), generate and plot the CDFs." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "def ecdf(data):\n", " \"\"\"Compute ECDF for a one-dimensional array of measurements.\"\"\"\n", " # Number of data points: n\n", " n = len(data)\n", "\n", " # x-data for the ECDF: x\n", " x = np.sort(data)\n", "\n", " # y-data for the ECDF: y\n", " y = np.arange(1, n + 1) / n\n", "\n", " return x, y" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Generate CDFs\n", "x_std1, y_std1 = ecdf(samples_std1)\n", "x_std3, y_std3 = ecdf(samples_std3)\n", "x_std10, y_std10 = ecdf(samples_std10)\n", "\n", "# Plot CDFs\n", "_ = plt.plot(x_std1, y_std1, marker='.', linestyle='none')\n", "_ = plt.plot(x_std3, y_std3, marker='.', linestyle='none')\n", "_ = plt.plot(x_std10, y_std10, marker='.', linestyle='none')\n", "\n", "# Make a legend\n", "_ = plt.legend(('std = 1', 'std = 3', 'std = 10'), loc='lower right')\n", "plt.savefig('../images/std-cdf.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Normal distribution: Properties and warnings" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Are the Belmont Stakes results Normally distributed?\n", "Since 1926, the Belmont Stakes is a 1.5 mile-long race of 3-year old thoroughbred horses. [Secretariat](https://en.wikipedia.org/wiki/Secretariat_(horse) ) ran the fastest Belmont Stakes in history in 1973. While that was the fastest year, 1970 was the slowest because of unusually wet and sloppy conditions. With these two outliers removed from the data set, compute the mean and standard deviation of the Belmont winners' times. Sample out of a Normal distribution with this mean and standard deviation using the ```np.random.normal()``` function and plot a CDF. Overlay the ECDF from the winning Belmont times. Are these close to Normally distributed?\n", "\n", "Note: Justin scraped the data concerning the Belmont Stakes from the [Belmont Wikipedia page](https://en.wikipedia.org/wiki/Belmont_Stakes)." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "df = pd.read_csv('./dataset/belmont.csv')\n", "\n", "belmont_no_outliers = np.array([148.51, 146.65, 148.52, 150.7 , 150.42, 150.88, 151.57, 147.54,\n", " 149.65, 148.74, 147.86, 148.75, 147.5 , 148.26, 149.71, 146.56,\n", " 151.19, 147.88, 149.16, 148.82, 148.96, 152.02, 146.82, 149.97,\n", " 146.13, 148.1 , 147.2 , 146. , 146.4 , 148.2 , 149.8 , 147. ,\n", " 147.2 , 147.8 , 148.2 , 149. , 149.8 , 148.6 , 146.8 , 149.6 ,\n", " 149. , 148.2 , 149.2 , 148. , 150.4 , 148.8 , 147.2 , 148.8 ,\n", " 149.6 , 148.4 , 148.4 , 150.2 , 148.8 , 149.2 , 149.2 , 148.4 ,\n", " 150.2 , 146.6 , 149.8 , 149. , 150.8 , 148.6 , 150.2 , 149. ,\n", " 148.6 , 150.2 , 148.2 , 149.4 , 150.8 , 150.2 , 152.2 , 148.2 ,\n", " 149.2 , 151. , 149.6 , 149.6 , 149.4 , 148.6 , 150. , 150.6 ,\n", " 149.2 , 152.6 , 152.8 , 149.6 , 151.6 , 152.8 , 153.2 , 152.4 ,\n", " 152.2 ])" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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wgRGjBhBYmIis2bNori4uLHKd+lKfleXeOp7hZMhbu3atcs4deqUMWTIEOPw4cOVtu3fv9+YMmWKMXjw4CrbNm/ebMyaNcu47rrrjMLCQjNLrtGV9OnXv/61sWzZMuf32dnZZpVba3XtV15enhETE+Psy0cffWTccccdptddHXd9ctVHwzAMh8NhDBs2zNi1a5dhGIbxyiuvGDNnzjSt3tqqa7++//5748CBA4ZhGIbdbjceeugh4+WXXzat3tqoa58u8eT3iks0kqhGbGxslftwA5SWlvLUU08xd+5cLJbKF8c6c+YML7/8MrNmzTKrzDqpa5++/fZbjhw5wq9+9SvnY+3atTOl1rqoa7+Mi5csu/TpraCggPbt25tTbC2565M7+/btIzAwkNjYWADuueceNmzY0FDlXbG69qtjx4706tULAKvVSu/evTl16lRDlXdF6ton8Pz3ikt87iqwZnjxxRe58847Xd5a9amnnuLBBx8kKCioESq7cu76dPToUSIiInjyySc5ePAg7dq14/HHH+faa69tpErrxl2/QkJCmDdvHqNHj6ZNmzY4HA7+/ve/N1KVdffoo49iGAZ9+vThkUceoXXr1mRkZBAV9cP91kNCQnA4HOTn5xMcHNyI1daeq35drri4mHfffZdHHnmkkSqsO3d98pb3Co0k6mjPnj3s27eP8ePHV9n24Ycf4u/vz5AhQxqhsitXXZ/sdjtfffUVd911F++//z5jxozhN7/5TSNUWXfV9auwsJD/+Z//4d133+WTTz5h5syZ/O53v3OOMDzZypUr+eCDD3j33XcxDIOnnnqqsUuqFzX1q7y8nIcffphbbrmFoUOHNlKVdeOuT970XqGQqKNdu3Zx7Ngxhg4dSnx8PKdPn2bKlCls27aN1NRUdu7cSXx8PPHx8QAkJiZy9OjRRq66etX1KSoqisjISOcUxvDhw8nOziYvL6+Rq65Zdf3atm0bQUFBdO/eHYCRI0dy/Phxzpw508hV1+zStEZAQADjx49n9+7dzscvn4bJy8vDYrF4zSjCXb+g4sPKo48+Sps2bfjDH/7QWCXWmbs+edN7haab6mj69OlMnz7d+X18fDyLFy/muuuuY+DAgcybN8+5rWfPnqSkpNCyZctGqLT2quuTYRi0aNGCr7/+mmuvvZZdu3bRpk0b2rZt24gV1051/dq/fz8H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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Compute mean and standard deviation: mu, sigma\n", "mu = np.mean(belmont_no_outliers)\n", "sigma = np.std(belmont_no_outliers)\n", "\n", "# Sample out of a normal distribution with this mu and sigma: samples\n", "samples = np.random.normal(mu, sigma, size=10000)\n", "\n", "# Get the CDF of the samples and of the data\n", "x_theor, y_theor = ecdf(belmont_no_outliers)\n", "x, y = ecdf(samples)\n", "\n", "# Plot the CDFs\n", "_ = plt.plot(x_theor, y_theor)\n", "_ = plt.plot(x, y, marker='.', linestyle='none')\n", "_ = plt.xlabel('Belmont winning time (sec.)')\n", "_ = plt.ylabel('CDF')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### What are the chances of a horse matching or beating Secretariat's record?\n", "Assume that the Belmont winners' times are Normally distributed (with the 1970 and 1973 years removed), what is the probability that the winner of a given Belmont Stakes will run it as fast or faster than Secretariat?" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Probability of besting Secretariat: 0.00057\n" ] } ], "source": [ "# Take a million samples out of the Normal distribution: samples\n", "samples = np.random.normal(mu, sigma, size=1000000)\n", "\n", "# Compute the fraction that are faster than 144 seconds: prob\n", "prob = np.sum(samples < 144) / len(samples)\n", "\n", "# Print the result\n", "print('Probability of besting Secretariat:', prob)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Exponential distribution\n", "- The waiting time between arrivals of a Poisson process is Exponentially distributed\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### If you have a story, you can simulate it!\n", "Sometimes, the story describing our probability distribution does not have a named distribution to go along with it. In these cases, fear not! You can always simulate it. We'll do that in this and the next exercise.\n", "\n", "In earlier exercises, we looked at the rare event of no-hitters in Major League Baseball. Hitting the cycle is another rare baseball event. When a batter hits the cycle, he gets all four kinds of hits, a single, double, triple, and home run, in a single game. Like no-hitters, this can be modeled as a Poisson process, so the time between hits of the cycle are also Exponentially distributed.\n", "\n", "How long must we wait to see both a no-hitter and then a batter hit the cycle? The idea is that we have to wait some time for the no-hitter, and then after the no-hitter, we have to wait for hitting the cycle. Stated another way, what is the total waiting time for the arrival of two different Poisson processes? The total waiting time is the time waited for the no-hitter, plus the time waited for the hitting the cycle.\n", "\n", "Now, you will write a function to sample out of the distribution described by this story." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "def successive_poisson(tau1, tau2, size=1):\n", " \"\"\"Compute time for arrival of 2 successive Poisson processes.\"\"\"\n", " # Draw samples out of first exponential distribution: t1\n", " t1 = np.random.exponential(tau1, size)\n", "\n", " # Draw samples out of second exponential distribution: t2\n", " t2 = np.random.exponential(tau2, size)\n", "\n", " return t1 + t2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Distribution of no-hitters and cycles\n", "Now, you'll use your sampling function to compute the waiting time to observe a no-hitter and hitting of the cycle. The mean waiting time for a no-hitter is 764 games, and the mean waiting time for hitting the cycle is 715 games.\n", "\n" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Draw samples of waiting times: waiting_times\n", "waiting_times = successive_poisson(764, 715, size=100000)\n", "\n", "# Make the histogram\n", "_ = plt.hist(waiting_times, bins=100, density=True, histtype='step')\n", "\n", "# Label axes\n", "_ = plt.xlabel('waiting times')\n", "_ = plt.ylabel('PDF')" ] } ], "metadata": { "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.7.6" } }, "nbformat": 4, "nbformat_minor": 4 }