{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Introduction to Probability and Statistics\n", "In this notebook, we will play around with some of the concepts we have previously discussed. Many concepts from probability and statistics are well-represented in major libraries for data processing in Python, such as `numpy` and `pandas`." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import random\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Random Variables and Distributions\n", "Let's start with drawing a sample of 30 values from a uniform distribution from 0 to 9. We will also compute mean and variance." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Sample: [4, 1, 7, 0, 5, 4, 9, 3, 2, 7, 1, 7, 10, 0, 10, 10, 8, 6, 10, 5, 8, 5, 8, 8, 10, 5, 5, 3, 1, 4]\n", "Mean = 5.533333333333333\n", "Variance = 9.982222222222218\n" ] } ], "source": [ "sample = [ random.randint(0,10) for _ in range(30) ]\n", "print(f\"Sample: {sample}\")\n", "print(f\"Mean = {np.mean(sample)}\")\n", "print(f\"Variance = {np.var(sample)}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To visually estimate how many different values are there in the sample, we can plot the **histogram**:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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ErMAADXO37EAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgzZDC4oc//GFMmzYtRo8eHbNnz44//vGP2XMBADWo7LC44447YunSpXHVVVfFo48+Gp/4xCdiwYIF8fzzz1diPgCghpQdFjfddFN8+ctfjq985Stx1FFHxc033xwtLS3R1dVVifkAgBoyspyN33zzzdi0aVMsW7Zs0Pr58+fHgw8+uNd9isViFIvFgeW+vr6IiOjv7y931v9qd/Ff6T8TAGpJJd5f//Pnlkqld9yurLB49dVXY9euXXHYYYcNWn/YYYfFyy+/vNd9Ojs7o6OjY4/1LS0t5RwaAHgXxt5c2Z+/Y8eOGDt27D7/vayweFtDQ8Og5VKptMe6ty1fvjza29sHlnfv3h3//Oc/Y/z48fvcZyj6+/ujpaUlent7o6mpKe3nMpjzPHyc6+HhPA8P53l4VPI8l0ql2LFjRzQ3N7/jdmWFxfvf//4YMWLEHlcntm/fvsdVjLcVCoUoFAqD1h166KHlHLYsTU1NfmmHgfM8fJzr4eE8Dw/neXhU6jy/05WKt5V18+aoUaNi9uzZsW7dukHr161bFyeeeGJ50wEAdafsj0La29vjggsuiNbW1pgzZ050d3fH888/HxdffHEl5gMAakjZYfGFL3wh/vGPf8S1114bL730UsycOTN+85vfxNSpUysx37tWKBTi6quv3uNjF3I5z8PHuR4ezvPwcJ6Hx4FwnhtK/+17IwAA75JnhQAAaYQFAJBGWAAAaYQFAJCmbsLCo9wrq7OzM0444YRobGyMCRMmxFlnnRVPPvlktceqe52dndHQ0BBLly6t9ih154UXXojzzz8/xo8fHwcffHAcd9xxsWnTpmqPVVfeeuut+MY3vhHTpk2LMWPGxBFHHBHXXntt7N69u9qj1bwNGzbEokWLorm5ORoaGuLOO+8c9O+lUimuueaaaG5ujjFjxsQpp5wSW7duHZbZ6iIsPMq98tavXx9tbW2xcePGWLduXbz11lsxf/782LlzZ7VHq1s9PT3R3d0ds2bNqvYodee1116LuXPnxnve856455574vHHH4/vfOc7Ff2rwP+Lbrjhhrjlllti5cqV8cQTT8SNN94Y3/72t+P73/9+tUereTt37oxjjz02Vq5cudd/v/HGG+Omm26KlStXRk9PT0ycODHOOOOM2LFjR+WHK9WBj370o6WLL7540Lrp06eXli1bVqWJ6t/27dtLEVFav359tUepSzt27CgdeeSRpXXr1pVOPvnk0pIlS6o9Ul254oorSvPmzav2GHVv4cKFpYsuumjQus985jOl888/v0oT1aeIKK1Zs2Zgeffu3aWJEyeWrr/++oF1b7zxRmns2LGlW265peLz1PwVi7cf5T5//vxB69/pUe7sv76+voiIGDduXJUnqU9tbW2xcOHCOP3006s9Sl1au3ZttLa2xtlnnx0TJkyI448/Pm699dZqj1V35s2bF7/73e/iqaeeioiIv/zlL/HAAw/Epz71qSpPVt+2bdsWL7/88qD3xUKhECeffPKwvC8O6emmB5KhPMqd/VMqlaK9vT3mzZsXM2fOrPY4dWf16tXxyCOPRE9PT7VHqVvPPvtsdHV1RXt7e1x55ZXx0EMPxWWXXRaFQiEuvPDCao9XN6644oro6+uL6dOnx4gRI2LXrl1x3XXXxbnnnlvt0era2+99e3tffO655yp+/JoPi7eV8yh39s8ll1wSjz32WDzwwAPVHqXu9Pb2xpIlS+K+++6L0aNHV3ucurV79+5obW2NFStWRETE8ccfH1u3bo2uri5hkeiOO+6In//857Fq1aqYMWNGbN68OZYuXRrNzc2xePHiao9X96r1vljzYTGUR7kzdJdeemmsXbs2NmzYEJMnT672OHVn06ZNsX379pg9e/bAul27dsWGDRti5cqVUSwWY8SIEVWcsD5MmjQpjj766EHrjjrqqPjlL39ZpYnq09e//vVYtmxZnHPOORERccwxx8Rzzz0XnZ2dwqKCJk6cGBH/vnIxadKkgfXD9b5Y8/dYeJT78CiVSnHJJZfEr371q/j9738f06ZNq/ZIdem0006LLVu2xObNmwdera2tcd5558XmzZtFRZK5c+fu8XXpp556quoPU6w3//rXv+Kggwa/zYwYMcLXTSts2rRpMXHixEHvi2+++WasX79+WN4Xa/6KRYRHuQ+Htra2WLVqVdx1113R2Ng4cIVo7NixMWbMmCpPVz8aGxv3uG/lkEMOifHjx7ufJdHll18eJ554YqxYsSI+//nPx0MPPRTd3d3R3d1d7dHqyqJFi+K6666LKVOmxIwZM+LRRx+Nm266KS666KJqj1bzXn/99XjmmWcGlrdt2xabN2+OcePGxZQpU2Lp0qWxYsWKOPLII+PII4+MFStWxMEHHxxf/OIXKz9cxb93Mkx+8IMflKZOnVoaNWpU6SMf+YivQSaLiL2+brvttmqPVvd83bQyfv3rX5dmzpxZKhQKpenTp5e6u7urPVLd6e/vLy1ZsqQ0ZcqU0ujRo0tHHHFE6aqrrioVi8Vqj1bz/vCHP+z1/+TFixeXSqV/f+X06quvLk2cOLFUKBRKJ510UmnLli3DMpvHpgMAaWr+HgsA4MAhLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANP8PIGbSi0pn/W4AAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.hist(sample)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Analyzing Real Data\n", "\n", "Mean and variance are very important when analyzing real-world data. Let's load the data about baseball players from [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Empty DataFrame\n", "Columns: [Name, Team, Role, Height, Weight, Age]\n", "Index: []\n" ] } ], "source": [ "height_is_null = df['Height'].isnull()\n", "\n", "rows_with_null_height = df[height_is_null]\n", "\n", "print(rows_with_null_height)" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Name Team Role Height Weight Age\n", "0 Adam_Donachie BAL Catcher 74 180.0 22.99\n", "1 Paul_Bako BAL Catcher 74 215.0 34.69\n", "2 Ramon_Hernandez BAL Catcher 72 210.0 30.78\n", "3 Kevin_Millar BAL First_Baseman 72 210.0 35.43\n", "4 Chris_Gomez BAL First_Baseman 73 188.0 35.71\n", "... ... ... ... ... ... ...\n", "1029 Brad_Thompson STL Relief_Pitcher 73 190.0 25.08\n", "1030 Tyler_Johnson STL Relief_Pitcher 74 180.0 25.73\n", "1031 Chris_Narveson STL Relief_Pitcher 75 205.0 25.19\n", "1032 Randy_Keisler STL Relief_Pitcher 75 190.0 31.01\n", "1033 Josh_Kinney STL Relief_Pitcher 73 195.0 27.92\n", "\n", "[1034 rows x 6 columns]\n", "Empty DataFrame\n", "Columns: [Name, Team, Role, Height, Weight, Age]\n", "Index: []\n" ] } ], "source": [ "print(df)\n", "\n", "# Identify rows where 'Height' is null\n", "height_is_null = df['Height'].isnull()\n", "\n", "# Use boolean indexing to display rows where 'Height' is null\n", "rows_with_null_height = df[height_is_null]\n", "\n", "# Print the resulting DataFrame with rows where 'Height' is null\n", "print(rows_with_null_height)" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " ID Name Team Position Height Weight Age\n", "0 640 Kirk_Saarloos CIN Starting_Pitcher 72 None 27.77\n", "Empty DataFrame\n", "Columns: [ID, Name, Team, Position, Height, Weight, Age]\n", "Index: []\n" ] } ], "source": [ "import pandas as pd\n", "\n", "# Sample data\n", "data = {\n", " 'ID': [640],\n", " 'Name': ['Kirk_Saarloos'],\n", " 'Team': ['CIN'],\n", " 'Position': ['Starting_Pitcher'],\n", " 'Height': [72],\n", " 'Weight': [None],\n", " 'Age': [27.77]\n", "}\n", "\n", "# Create DataFrame\n", "df = pd.DataFrame(data)\n", "\n", "# Print the entire dataset (first cell in the section)\n", "print(df)\n", "\n", "# Identify rows where 'Height' is null\n", "height_is_null = df['Height'].isnull()\n", "\n", "# Use boolean indexing to display rows where 'Height' is null\n", "rows_with_null_height = df[height_is_null]\n", "\n", "# Print the resulting DataFrame with rows where 'Height' is null\n", "print(rows_with_null_height)" ] }, { "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", " \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", " \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", " \n", "
NameTeamRoleHeightWeightAge
0Adam_DonachieBALCatcher74180.022.99
1Paul_BakoBALCatcher74215.034.69
2Ramon_HernandezBALCatcher72210.030.78
3Kevin_MillarBALFirst_Baseman72210.035.43
4Chris_GomezBALFirst_Baseman73188.035.71
.....................
1029Brad_ThompsonSTLRelief_Pitcher73190.025.08
1030Tyler_JohnsonSTLRelief_Pitcher74180.025.73
1031Chris_NarvesonSTLRelief_Pitcher75205.025.19
1032Randy_KeislerSTLRelief_Pitcher75190.031.01
1033Josh_KinneySTLRelief_Pitcher73195.027.92
\n", "

1034 rows × 6 columns

\n", "
" ], "text/plain": [ " Name Team Role Height Weight Age\n", "0 Adam_Donachie BAL Catcher 74 180.0 22.99\n", "1 Paul_Bako BAL Catcher 74 215.0 34.69\n", "2 Ramon_Hernandez BAL Catcher 72 210.0 30.78\n", "3 Kevin_Millar BAL First_Baseman 72 210.0 35.43\n", "4 Chris_Gomez BAL First_Baseman 73 188.0 35.71\n", "... ... ... ... ... ... ...\n", "1029 Brad_Thompson STL Relief_Pitcher 73 190.0 25.08\n", "1030 Tyler_Johnson STL Relief_Pitcher 74 180.0 25.73\n", "1031 Chris_Narveson STL Relief_Pitcher 75 205.0 25.19\n", "1032 Randy_Keisler STL Relief_Pitcher 75 190.0 31.01\n", "1033 Josh_Kinney STL Relief_Pitcher 73 195.0 27.92\n", "\n", "[1034 rows x 6 columns]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.read_csv(\"../../data/SOCR_MLB.tsv\",sep='\\t', header=None, names=['Name','Team','Role','Height','Weight','Age'])\n", "df\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> We are using a package called [**Pandas**](https://pandas.pydata.org/) here for data analysis. We will talk more about Pandas and working with data in Python later in this course.\n", "\n", "Let's compute average values for age, height and weight:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Age 28.736712\n", "Height 73.697292\n", "Weight 201.689255\n", "dtype: float64" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[['Age','Height','Weight']].mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's focus on height, and compute standard deviation and variance: " ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[74, 74, 72, 72, 73, 69, 69, 71, 76, 71, 73, 73, 74, 74, 69, 70, 72, 73, 75, 78]\n" ] } ], "source": [ "print(list(df['Height'])[:20])" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mean = 73.6972920696325\n", "Variance = 5.316798081118081\n", "Standard Deviation = 2.305818310517566\n" ] } ], "source": [ "mean = df['Height'].mean()\n", "var = df['Height'].var()\n", "std = df['Height'].std()\n", "print(f\"Mean = {mean}\\nVariance = {var}\\nStandard Deviation = {std}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In addition to mean, it makes sense to look at the median value and quartiles. They can be visualized using a **box plot**:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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PDFqjpzS6bTWrVvHWIoT9PKFXr7Qyxd6+UIvf2jmC718YeMNAAAAAEABMWoOAAAAAECe8tnbxrtoTVnN+/ympqau/tb4RCqV0oYNG3T11VeroqIi7OWgHfTyhV6+0MsXevlCL39o5gu9wte8p+3Ivewu33ifOHFCktS/f/+u/tYAAAAAAHSqEydOqKamJufXdPmoeRAEOnz4sKqrqxWJRLryW+MTTU1N6t+/v959913G/R2gly/08oVevtDLF3r5QzNf6BU+M9OJEydUW1uraDT306d1+R3vaDSqurq6rv62aEPPnj15kDpCL1/o5Qu9fKGXL/Tyh2a+0Ctc7d3pbsazmgMAAAAAUEBsvAEAAAAAKCA23mWoqqpKs2bNUlVVVdhLQQfQyxd6+UIvX+jlC738oZkv9PKly59cDQAAAACAcsIdbwAAAAAACoiNNwAAAAAABcTGGwAAAACAAmLjDQAAAABAAbHxLmENDQ0aP368evfure7du+tLX/qStm3blv3zkydP6q677lJdXZ3OOOMMff7zn9ejjz4a4orL1x/90R8pEomc9vbXf/3XkiQz0z333KPa2lqdccYZuvLKK7Vz586QV12+cvVKpVK6++67NXz4cPXo0UO1tbWaMGGCDh8+HPayy1Z7j69Pmzx5siKRiB566KGuXyiyOtJs9+7duvHGG1VTU6Pq6mqNGjVK77zzToirLl/t9eJ6o7ik02l997vf1TnnnKMzzjhD5557ru677z4FQZD9Gq47ikd7vbjucMRQkt5//30bOHCg3XbbbfaLX/zCDh48aC+++KLt378/+zXf+MY3bNCgQbZx40Y7ePCg/ehHP7JYLGarV68OceXl6dixY3bkyJHs24YNG0ySbdy40czM5syZY9XV1fazn/3M3nrrLbv11lvt7LPPtqampnAXXqZy9frtb39rV111lT399NO2Z88e27Jli11yySU2YsSIsJddttp7fDV77rnn7IILLrDa2lqbP39+KGvFx9prtn//fjvzzDNtxowZVl9fbwcOHLC1a9fa0aNHw114mWqvF9cbxeX++++33r1729q1a+3gwYO2cuVK+9znPmcPPfRQ9mu47ige7fXiusMPNt4l6u6777bRo0fn/Jphw4bZfffd1+JzF110kX33u98t5NLQAd/85jdt0KBBFgSBBUFgffv2tTlz5mT//NSpU1ZTU2OLFy8OcZVo9ulebXnttddMkv33f/93F68MbWmr16FDh6xfv362Y8cOGzhwIBvvItO62a233mrjx48PeVX4LK17cb1RXK6//nq7/fbbW3zu5ptvzj6muO4oLu31agvXHcWJUfMStWbNGo0cOVJf+9rXdNZZZ+nCCy/U0qVLW3zN6NGjtWbNGjU0NMjMtHHjRu3du1djx44NadWQpGQyqRUrVuj2229XJBLRwYMH9d577+maa67Jfk1VVZWuuOIKbd68OcSVQjq9V1saGxsViUTUq1evrl0cTtNWryAI9PWvf10zZszQsGHDQl4hWmvdLAgC/eu//qv++I//WGPHjtVZZ52lSy65RKtXrw57qVDbjzGuN4rL6NGj9R//8R/au3evJOm//uu/9Morr+i6666TJK47ikx7vdrCdUeRCnvnj8Koqqqyqqoq+853vmP19fW2ePFi69atm/34xz/Ofk0ikbAJEyaYJIvH41ZZWWn/9E//FOKqYWb29NNPWywWs4aGBjMze/XVV01S9p+b3XHHHXbNNdeEsUR8SuterX300Uc2YsQI+6u/+qsuXhna0lav2bNn29VXX529O8cd7+LSutmRI0dMknXv3t3mzZtnb775pj3wwAMWiURs06ZNIa8WbT3GuN4oLkEQ2Le//W2LRCIWj8ctEonY7Nmzs3/OdUdxaa9Xa1x3FK94qLt+FEwQBBo5cqRmz54tSbrwwgu1c+dOPfroo5owYYIk6eGHH9bWrVu1Zs0aDRw4UC+99JKmTJmis88+W1dddVWYyy9ry5Yt07XXXqva2toWn299N9XMPvMOK7rOZ/WSPn7Ckz//8z9XEARatGhRCKtDa617bdu2TQsWLFB9fT2PpyLVulnzEwrddNNNmjp1qiTpS1/6kjZv3qzFixfriiuuCG2taPucyPVGcXn66ae1YsUKPfXUUxo2bJi2b9+ub33rW6qtrdXEiROzX8d1R3HoaC+J646iF/bOH4UxYMAAmzRpUovPLVq0yGpra83M7MMPP7SKigpbu3Zti6+ZNGmSjR07tsvWiZZ+/etfWzQabfGEMwcOHDBJVl9f3+Jrb7zxRpswYUJXLxGf0lavZslk0saNG2fnn3++HT9+PITVobW2es2fP98ikYjFYrHsmySLRqM2cODA8BYLM2u7WSKRsHg8bt/73vdafO3MmTPt0ksv7eol4lPa6sX1RvGpq6uzRx55pMXnvve979l5551nZlx3FJv2ejXjuqP48TveJeqyyy7T22+/3eJze/fu1cCBAyV9/BOxVCqlaLTlX4FYLNbi5STQtZ544gmdddZZuv7667OfO+ecc9S3b19t2LAh+7lkMqmf//znuvTSS8NYJj7RVi/p48fXn/3Zn2nfvn168cUX1bt375BWiE9rq9fXv/51/fKXv9T27duzb7W1tZoxY4bWrVsX4mohtd2ssrJSF198cc7/xiEcbfXieqP4fPjhhzl7cN1RXNrrJXHd4UbYO38UxmuvvWbxeNz+4R/+wfbt22c/+clPrHv37rZixYrs11xxxRU2bNgw27hxo/3qV7+yJ554wrp162aLFi0KceXlK5PJ2IABA+zuu+8+7c/mzJljNTU1tmrVKnvrrbfsL/7iL3hZj5B9Vq9UKmU33nij1dXV2fbt21u8xE4ikQhptcj1+GqN3/EuDrmarVq1yioqKmzJkiW2b98+W7hwocViMXv55ZdDWCnMcvfieqO4TJw40fr165d9eapVq1ZZnz59bObMmdmv4bqjeLTXi+sOP9h4l7B/+Zd/sS9+8YtWVVVlQ4cOtSVLlrT48yNHjthtt91mtbW11q1bNzvvvPNs7ty5n/mSSCisdevWmSR7++23T/uzIAhs1qxZ1rdvX6uqqrLLL7/c3nrrrRBWiWaf1evgwYMmqc231q8bja6T6/HVGhvv4tBes2XLltngwYOtW7dudsEFF/Ca0CHL1YvrjeLS1NRk3/zmN23AgAHWrVs3O/fcc+3v//7vW2zSuO4oHu314rrDj4iZWZffZgcAAAAAoEzwO94AAAAAABQQG28AAAAAAAqIjTcAAAAAAAXExhsAAAAAgAJi4w0AAAAAQAGx8QYAAAAAoIDYeAMAAAAAUEBsvAEAAAAAKCA23gAAAAAAFBAbbwAAAAAACoiNNwAAAAAABcTGGwAAAACAAvr/Ww3AAtKLDUcAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10,2))\n", "plt.boxplot(df['Height'], vert=False, showmeans=True)\n", "plt.grid(color='gray', linestyle='dotted')\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also make box plots of subsets of our dataset, for example, grouped by player role." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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3btz1GKz2dSxY0dJ/xcyU1JSbvFO/094eLj279+vgwcPZht+4xW5bye/tWUF2++//z7beCtWrMjztW/3WfXo0UOGYej06dOOIxdu/AkLC5MktWrVSqVKlcrxel9//bVOnjyZ7/e6YcOGbF9SZGRk6JNPPlGdOnVUo0YNx/BSpUrpmWee0eLFizV79mw1bdpUbdq0yfd8btavXz916NBB7733nqPeBx98UBs3bnSE7CxLliyRr6+v45ZjN/P19VXHjh313Xff6e677871c7vVF0AAgBLO0jPKAQBOL+tCaosWLTK2b99ubN++3Vi5cqURFRVlSMp2oa2UlBTj7rvvNvz9/Y3Zs2cb69atMyZMmGB4enoa3bp1c4z33nvv5bhQ1eDBgw1PT89sFxfr37+/4eXlZdSqVcuYPHmysXbtWmPixImGh4eH0bVr12x13nwhtQsXLhjVq1c3qlatarz77rvGl19+aQwdOtSw2WzGoEGDckxbr14948svvzR27NiR7eJbNzt9+rQREBBg1KpVy/jggw+M1atXG08++aQRFBRkSDLi4uIc44aHhxuNGjXK8RoFqa1Tp05G+fLljffee89Yu3at8dJLLxl33XVXrhdSy+9n9cwzzxi+vr7G6NGjjc8//9zYuHGj8dFHHxnPP/98tovj/f3vfzckGQMHDjTWrFljvPfee46683shtZo1axoNGzY0li1bZqxYscLo0qWLIcn4+OOPc4x/6tQpw8PDw5BkLFy48Lavbxj/d9GzGTNm5Hjum2++cdRvGIZx6NAhw9/f36hbt67x4YcfGqtWrTL69etnSDKmT5+e4zVv/HwPHDhglC9f3mjRooWxaNEiY9OmTcaKFSuM2bNnGx07dsxXrQCAkonQDQC4pdyuXl62bFmjadOmxuzZs43U1NRs41+8eNF47rnnjGrVqhkeHh5GUFCQMW7cOMd433//veHj45MtIBuGYaSmphr33nuvERwcbPz222+GYVwPkn5+fsb3339vdOjQwfDx8TEqVKhgPP/888bVq1ezTX9z6DYMwzh58qTRt29fIyAgwPD09DTq1atnzJgxw8jIyMg23vr164177rnH8Pb2NiTleJ2b7d+/3+jUqZNRqlQpo0KFCsbAgQONxYsXG5KMvXv3OsbLK3QXpLazZ88affr0MSpUqGCULVvWeOKJJ4ydO3fmGrrz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5pV0RESE/P39NX36dFbSTmLWrFk6duyYqlSpouDg4Bx7gXbv3m1RZZBYzxUXx44d06JFi3Ts2DG9/vrrqly5stasWaOaNWuqUaNGVpdXom3atMnqEnAbHC3i/F588UU1b95ce/fuVUBAgGN479699de//tXCyiCVnFB9O4RukyxZskTvvvuuHnzwQT333HOO4XfffbcOHTpkYWXIwkra+fXq1cvqEnALrOecX1xcnLp27ao2bdpoy5Ytmjx5sipXrqzvv/9eCxcu1PLly60uEXBq/fv3t7oE3Ma2bdv01VdfycvLK9vwoKAgnT592qKqcLODBw8qISFB165dyza8pNzphNBtktOnT+d6afzMzMxcL8iBosdK2vlNmDDB6hJwC6znnN/YsWM1adIkjRgxQv7+/o7hHTt21Ouvv25hZciyY8cOffrpp7lujHIXDeeQkZGh2NhY/fDDD7LZbGrYsKEefvhhubu7W10adP1vTm7nBZ86dSrbeg/WOH78uHr37q19+/Y5zuWW5LgjTUk5pzvv+73gD2nUqJG2bt2aY/inn36a47YTsAYraeCPYT3n/Pbt26fevXvnGF6pUiVdvHjRgopwo48//lht2rTRwYMH9dlnn8lut+vgwYPauHGjypYta3V5kHT06FE1aNBATz31lGJiYrR8+XI98cQTatSokY4dO2Z1eZAUERGR7TQAm82mq1evasKECerWrZt1hUHS9SNLQ0JCdP78efn6+urAgQPasmWLmjdvrs2bN1tdXpFhT7dJJkyYoCeffFKnT59WZmamYmJidPjwYS1ZskQrV660ujzo/1bS7777riRW0s4oIyNDc+bM0b///e9c9wJx0RprsZ5zfuXKldPZs2cVEhKSbfh3333H7Y6cwJQpUzRnzhy98MIL8vf31+uvv66QkBA9++yzqlatmtXlQdLQoUNVp04dxcfHO+6mcfHiRT3xxBMaOnSovvjiC4srxJw5c9SxY0c1bNhQqamp6tu3r3788UdVrFhRy5Yts7q8Em/79u3auHGjKlWqJDc3N7m5ualt27aaOnWqhg4dqu+++87qEouGAdOsWbPGaN++veHn52f4+PgYbdq0Mb788kury8L/nD592qhbt67RoEEDw8PDw2jVqpUREBBg1KtXzzh//rzV5cEwjPHjxxvVqlUzZsyYYZQqVcr4f//v/xkDBw40AgICjNdff93q8mCwnnN2o0ePNtq2bWucPXvW8Pf3N3788Udj27ZtRu3atY2JEydaXV6J5+vra5w4ccIwDMMICAgwvv/+e8MwDOPgwYNG1apVLawMWXx9fR19udGePXsMPz8/CypCbpKTk43333/feOGFF4znn3/eeO+994zk5GSry4JhGOXKlTOOHTtmGIZh1K5d29i4caNhGIZx9OhRw8fHx8rSihR7uk300EMP6aGHHrK6DOQhMDBQe/bs0ccff6xdu3YpMzNTAwcOVL9+/eTj42N1eZD00Ucf6b333lP37t0VHR2txx9/XHXq1NHdd9+t+Ph4DR061OoSSzzWc85t8uTJGjBggKpXry7DMNSwYUNlZGSob9+++vvf/251eSVehQoV9Pvvv0uSqlevrv379yssLEyXL19WcnKyxdVBkry9vR09utHVq1dzXBMG1vHx8VFUVFS2e0HDOTRu3Fjff/+9ateurZYtW2r69Ony8vLSu+++q9q1a1tdXpHhPt0mu3btmi5cuKDMzMxsw2vVqmVRRciyZcsWtW7d2nHfzSzp6en6+uuv1b59e4sqQxY/Pz/98MMPqlWrlqpVq6YvvvhCzZo10/Hjx3XPPffoypUrVpcIFAvHjh3Td999p8zMTN1zzz266667rC4Jkvr27avmzZtrxIgRmjx5sl5//XX17NlT69atU7NmzbiQmhN46qmntHv3br3//vtq0aKFJOmbb77R3/72N91777364IMPrC0QkqQjR45o8+bNuW5z/+Mf/7CoKkjSl19+qaSkJEVGRur48ePq0aOHDh06pICAAH3yySd64IEHrC6xSBC6TfLjjz8qKipKX3/9dbbhhmHIZrOVmCv1OTN3d3edPXtWlStXzjb84sWLqly5Mj1yAvXq1dOSJUvUsmVLtWvXTt27d9fYsWP1ySefaMiQIbpw4YLVJZY45cuXd1xx9HY45x64tUuXLik1NVWBgYHKzMzUzJkztW3bNoWGhmr8+PEqX7681SWWeJcvX1b//v31+eefy9PTU9L1L+cffvhhLVq0SOXKlbO2QOi9997T888/r4oVK6pq1arZ/kbZbDbt3r3bwuqQm0uXLhVoe8IVELpN0qZNG3l4eGjs2LGqVq1ajl+qJk2aWFQZsri5uen8+fOqVKlStuFHjhxR8+bNlZiYaFFlyDJ27FiVKVNGL7/8spYvX67HH39cwcHBSkhI0PDhwzVt2jSrSyxxFi9e7Pj/xYsXNWnSJD300EO6//77JV2/YMqXX36p8ePHa/jw4VaVif/JyMjQBx98oA0bNuS6B2jjxo0WVQYUL0ePHtUPP/zgOE0jt9slwhpBQUEaNGiQXnrpJatLAfJE6DaJn5+fdu3apfr161tdCm4SGRkpSfrvf/+rLl26yNvb2/FcRkaGvv/+e9WrV09r1qyxqkTkIT4+Xl9//bVCQ0P18MMPW11OiffII4+oY8eOGjx4cLbhb7zxhtavX6/Y2FhrCoPD4MGD9cEHH6h79+65fgE8Z84ciyrDjS5cuJDrlyJ33323RRUhy6uvvqpRo0bJ19c32/CUlBTNmDGDQ5edQJkyZbRnz54SdX5wcZKamqr58+dr06ZNua7nSsqRCIRuk9x3332aM2eO2rZta3UpuMnTTz8t6foeuz//+c/ZLprm5eWl4OBg/e1vf1PFihWtKhEoFkqXLq09e/bk2OPz448/6p577tHVq1ctqgxZKlasqCVLlnAbRCe1a9cu9e/f37EH9UaciuYcOBXN+Q0cOFD33XefnnvuOatLQS769u2rdevWqU+fPqpSpUqOL38nTJhgUWVFi6uX30E3Ho782muvacyYMZoyZYrCwsIc5wFlKVOmTFGXh/9ZtGiRJCk4OFijR4/O8e01nMvp06f11Vdf5frtKFcvt1ZAQIA+++wzjR49Otvw2NhYBQQEWFQVbuTl5cVhsE7s6aefVt26dfX+++/nujEK62Vdi+dme/fuddy3G0Vv3rx5jv9nXQMhPj4+121uthWs9cUXX2jVqlVq06aN1aVYij3dd5Cbm1u2FXNuK2oupOY8HnjgAcXExOS4CEpiYqJ69erFuY5OYNGiRXruuefk5eWlgICAHBdHOX78uIXV4YMPPtDAgQPVpUsXxznd8fHxWrNmjRYuXKgBAwZYWyA0a9YsHT9+XG+88QaBzgn5+/vru+++44sRJ5R1kacrV66oTJky2ZafjIwMXb16Vc8995zefPNNC6ssuUJCQvI1HtsK1mvYsKE+/vjjEn+6DKH7DoqLi8v3uOHh4SZWgvzI65CxCxcuqHr16rLb7RZVhiw1a9bUc889p3HjxsnNzc3qcpCLb775RvPmzct2gaGhQ4eqZcuWVpdWYmVdtyLLxo0bVaFCBTVq1CjHHiBuSWWtXr166cknn9QjjzxidSm4yeLFi2UYhqKiojR37lyVLVvW8VzWqWhZXzYCyNvq1as1b948LViwQEFBQVaXYxkOL7+DCNLFw/fffy/p+lEHBw8e1Llz5xzPZWRkaM2aNapevbpV5eEGycnJeuyxxwjcTqxly5b66KOPrC4DN7gxHEhS7969LaoEt7Nw4UL1799f+/fvV+PGjXN8KcIFI63Tv39/Sdf3qGbdkQZAwTVv3lypqamqXbu2fH19c6znSsrtRdnTbZJFixapdOnSevTRR7MN//TTT5WcnOxYmaPo3XgaQG6//j4+Ppo/f76ioqKKujTcZMyYMapQoYLGjh1rdSn4n4LcSo9rVwC3tmLFCj355JP6/fffczzHqWjOYffu3fL09FRYWJik63c+WbRokRo2bKiJEyfKy8vL4grRp08fNW/ePMe2wowZM/Ttt9/q008/tagySFKnTp2UkJCggQMH5nrtipKSiQjdJqlXr54WLFigjh07ZhseFxenZ555RocPH7aoMpw8eVKGYah27dr69ttvs92n28vLS5UrV5a7u7uFFSJLRkaGevTooZSUlFwvjjJ79myLKiu5br52RW64doXzOHHihNLT03XXXXdlG/7jjz/K09NTwcHB1hQGSdcv6NmjRw+NHz9eVapUsboc5OK+++7T2LFj9cgjj+j48eNq2LChIiMjtWPHDnXv3l1z5861usQSr1KlStq4caPji5Es+/btU6dOnXT+/HmLKoMk+fr6avv27WrSpInVpViKY2VMcvLkyVwv8hAUFKSEhAQLKkKWrPNJbr4SNpzPlClT9OWXX6pevXqSlONCaih6mzZtsroEFMCAAQMUFRWVI3R/8803WrhwoTZv3mxNYZB0/bZTw4cPJ3A7sSNHjqhp06aSrh+tGB4erqVLl+qrr77SY489Ruh2AlevXs31iANPT88CHZ0Fc9SvX18pKSlWl2E5QrdJKleurO+//z7HXoS9e/dyKx0LrVixQl27dpWnp6dWrFhxy3E5l856s2fP1j//+U+ugu1EuHZF8fLdd9/lepuWVq1aafDgwRZUhBtFRkZq06ZNqlOnjtWlIA+GYTi+pF+/fr169Ogh6fqFPn/99VcrS8P/NG7cWJ988on+8Y9/ZBv+8ccfq2HDhhZVhSzTpk3TyJEjNXny5BJ9G2VCt0kee+wxDR06VP7+/mrfvr2k64eWv/jii3rssccsrq7k6tWrl86dO6fKlSurV69eeY7HobHOwdvbu8Tf19HZbd26Ve+8846OHz+uTz/9VNWrV9e//vUvhYSEqG3btlaXV+LZbLZczxe+cuUK6zgnULduXY0bN07btm3j/sJOqnnz5po0aZI6deqkuLg4vf3225Kun7rBEQrOYfz48XrkkUd07NgxPfDAA5KkDRs2aNmyZZzP7QS6dOkiSXrwwQezDS9pp6JxTrdJrl27pieffFKffvqp44qXmZmZeuqpp/T222/L29vb4goB5zd16lSdPXtW8+bNs7oU5OI///mPnnzySfXr10//+te/dPDgQdWuXVtvvfWWVq5cqVWrVlldYonXo0cP+fr6atmyZY5rVWRkZOgvf/mLkpKStHr1aosrLNluda9h7i/sHPbu3asnnnhCCQkJGjFihCZMmCBJGjJkiC5evKilS5daXCEk6YsvvtCUKVO0Z88e+fj46O6779aECRM4OssJ3O6WyiWlR4Ruk/3444+OFUBYWFiJvj8dUFC9e/fWxo0bFRAQwD2GndA999yj4cOH66mnnpK/v7/27t2r2rVra8+ePerSpUu22/HBGgcOHFB4eLjKlSundu3aSbp+dEJiYqI2btyoxo0bW1whUDylpqbKw8ODW4kByBfWFCZ59dVXNWrUKN11113ZLmCTkpKiGTNm5DjvBEUnv3tNOazPeuXKlVNkZKTVZSAPhw8fdpw+c6MyZcro8uXLRV8QcmjUqJG+//57vfHGG9q7d698fHz01FNPafDgwapQoYLV5eF/rl27phMnTqhOnTqEOCdTu3Zt7dixI8f1eFJTU9WsWTOORnACefXo8uXL9MhJcCoae7pN4+7urrNnz6py5crZhl+8eFGVK1cuMecvOKObD+f7+eefVa1atWwbOhzWB9xenTp19M4776hTp07Z9nQvWbJE06ZN08GDB60uscRLSEhQzZo1c73af0JCgmrVqmVBVciSnJysIUOGaPHixZKuXym7du3aGjp0qAIDA3PcdxhFz83NzXEtmBudP39eNWvW1LVr1yyqDFlu1aNatWopLS3NosogcSpaFr5ONUnWxQFutnfvXvYuWOzEiRPZHvv7+ysuLk61a9e2qCLcSnp6ujZv3qxjx46pb9++8vf315kzZ1SmTBmVLl3a6vJKtGeffVYvvvii/vnPf8pms+nMmTPavn27Ro0axdE8TiIkJCTPL4BDQkL4Athi48aN0969e7V582bHxYYkqVOnTpowYQKh20I33uHkyy+/VNmyZR2PMzIytGHDhluekw/z5adHN99FCEVv0qRJWrBggZ566il9/PHHjuGtW7fWq6++amFlRYvQfYeVL19eNptNNptNdevWzRa8MzIydPXqVT333HMWVggUHydPnlSXLl2UkJCgtLQ0RUREyN/fX9OnT1dqaqoWLFhgdYkl2pgxY3TlyhV17NhRqampat++vby9vTVq1ChuR+Uk8voC+OrVqypVqpQFFeFGsbGx+uSTT9SqVatsfWrYsKGOHTtmYWW48Q4n/fv3z/acp6engoODNWvWrCKuCjfK6pHNZqNHToxT0a4jdN9hc+fOlWEYioqKUnR0dLZv3by8vBQcHKz777/fwgqB4uPFF19U8+bNc9zfvnfv3vrrX/9qYWXIMnnyZL3yyis6ePCgMjMz1bBhQ45AcAIjRoyQdH1jdPz48fL19XU8l5GRoW+++UZNmza1qDpk+eWXX3IchSBJSUlJuX5ZgqKTdW/ukJAQ7dy5M8f5wrDejT3asWOHKlasaHFFyE21atV09OjRHEcdbNu2rUQdZUrovsOyvmkLCQlR69atc1xtGUD+bdu2TV999ZW8vLyyDQ8KCtLp06ctqgo38/X1VfPmza0uAzf47rvvJF3f071v375sy5CXl5eaNGmiUaNGWVUe/ue+++7TF198oSFDhkiSI2i/9957fEHvBOx2u4KDg3Xx4kVCtxO7+bRBOBdORbuO0G2SG+85l5KSIrvdnu35MmXKFHVJ+J/ExMRsj202m65evZpjOD2yXmZmZq7nnJ46dUr+/v4WVITIyEh98MEHKlOmzG2vLM8t3ayzadMmSdLTTz+t119/nfWZk5o6daq6dOmigwcPKj09Xa+//roOHDig7du33/betjCfp6en9u/fz1EHTmjevHl65plnVKpUqdvelYa70ViLU9Gu4+rlJklOTtaYMWP073//WxcvXszxPBevsY6bm1u2P6A3n/OY9ZgeWe8vf/mLypYtq3fffVf+/v76/vvvValSJfXs2VO1atXSokWLrC6xxHn66ac1b948+fv7a8CAAbfcGKU/wO3t27dPM2fO1K5du5SZmalmzZrppZdeUlhYmNWlQdLIkSPl6empadOmWV0KbnDjYf+3uqAdd6NxHsnJySX6VDRCt0leeOEFbdq0Sa+++qqeeuopvfnmmzp9+rTeeecdTZs2Tf369bO6xBIrv3sPbjxaAdY4c+aMOnbsKHd3d/34449q3ry5fvzxR1WsWFFbtmzJ9VxImGvFihXq2rUrp844MY5GAO6cIUOGaMmSJQoNDVXz5s3l5+eX7fnZs2dbVBlQPCUmJmrjxo2qV6+eGjRoYHU5RYbDy03y+eefa8mSJerQoYOioqLUrl07hYaGKigoSB999BGh20IFDdPTpk3Tc889p3LlyplTEPIUGBioPXv26OOPP3bsBRo4cKD69esnHx8fq8srkXr37q1z586pUqVKcnd3z/V2VLBW2bJlHUcglClThkNjndju3bvl6enp2Kv93//+V4sWLVLDhg01ceLEHNezQNHbv3+/mjVrJun6fdRvxLJlvW+++UYrVqxQenq6HnzwQXXu3NnqknCTP//5z2rfvr0GDx6slJQU3XfffTpx4oQMw9DHH3+sRx55xOoSiwR7uk1SunRpHThwQEFBQapRo4ZiYmLUokULnThxQmFhYbp69arVJSKfypQpoz179pSoKywCealataree+89/elPf5Kbm5vOnz+vSpUqWV0WUCzdd999Gjt2rB555BEdP35cDRs2VGRkpHbs2KHu3btr7ty5VpcIOK3PPvtMjz76qEqVKiUPDw/9/vvvmjVrloYNG2Z1abhB1apV9eWXX6pJkyZaunSpJkyYoL1792rx4sV69913HRf+dHVuVhfgqmrXrq2ffvpJ0vX7bf773/+WdH0POHtMixe+l7LO4sWL9cUXXzgejxkzRuXKlVPr1q118uRJCysruZ577jn17NlT7u7ustlsqlq1qtzd3XP9gXUMw9CMGTPUpk0btWjRQi+//LJSU1OtLgs3OXLkiOPWbZ9++qnCw8O1dOlSffDBB/rPf/5jbXHI4dSpU9w5w4lMmTJFAwYM0OXLl3X58mVFR0dr0qRJVpeFm1y5ckUVKlSQJK1Zs0aPPPKIfH191b17d/34448WV1d0CN0mefrpp7V3715J0rhx4/TWW2/J29tbw4YN0+jRoy2uDigepkyZ4jiMfPv27XrjjTc0ffp0VaxYUcOHD7e4upJp4sSJOnjwoP773//KMAz985//VExMTK4/sM60adM0duxY+fn5qVq1apo9ezZX8HVChmE47jW8fv16devWTZJUs2ZN/frrr1aWhv/JzMzUq6++qrJlyyooKEi1atVSuXLl9P/+3/9z9A7WOHz4sMaMGSMPj+tny44ePVqXL19m2XEyNWvW1Pbt25WUlKQ1a9Y4TgH47bffVKpUKYurKzqc022SGwNBx44ddejQIe3cuVOhoaG6++67LawMKD5+/vlnhYaGSpJiY2PVp08fPfPMM2rTpo06dOhgbXElWP369VW/fn1NmDBBjz76qHx9fa0uCTf54IMPNH/+fA0aNEjS9b0LvXr10jvvvMN5qE6kefPmmjRpkjp16qS4uDi9/fbbkq7fd7hKlSoWVwdJeuWVV/T+++9r2rRpatOmjQzD0FdffaWJEycqNTVVkydPtrrEEuvq1avZjh719vaWj4+PEhMTVbFiResKQzbDhg1Tv379VLp0aQUFBTm237Zs2VKi7tJA6L7DNm7cqMGDBys+Pj7bfVFr1aqlsmXLqnXr1lqwYIHatWtnYZVA8VC6dGldvHhRtWrV0tq1ax1fZpUqVUopKSkWV4e4uDi9+OKLOUJ3YmKievXqpY0bN1pUGU6ePKkePXo4Hj/00EMyDENnzpxR9erVLawMN5o7d6769eun2NhYvfLKK44vGZcvX67WrVtbXB2k66c5LVy4UA8//LBjWJMmTVS9enUNGjSI0G2xL7/8UmXLlnU8zszM1IYNG7R//37HsBt7h6I3aNAgtWzZUgkJCYqIiJCb2/UDrWvXrl2iTgfgQmp32MMPP6yOHTvmeejrvHnztGnTJn322WdFXBkKy9/fX3v37uVCahbo16+fDh06pHvuuUfLli1TQkKCAgICtGLFCr388svZ/qii6OV19fILFy6oevXqstvtFlWG3C5yx7qs+EhNTZW7uzu35nMCpUqV0vfff6+6detmG3748GE1bdqUL4AtlBXebsVmsykjI6MIqgFujT3dd9jevXv12muv5fl8586dNXPmzCKsCH9Uu3btuD2VRd588039/e9/188//6z//Oc/CggIkCTt2rVLjz/+uMXVlVzff/+9pOvnox48eFDnzp1zPJeRkaE1a9awN9UJjB8/PttRCNeuXdPkyZOz7RXiHsPOqSSd5+jsmjRpojfeeEPz5s3LNvyNN95QkyZNLKoKkjinvhg5deqUVqxYoYSEBF27di3bcyXl7xB7uu+wUqVKaf/+/Y5DxG529OhRhYWF8c2oRRITE/M97o2nBwD4P25ubo7zgnP7E+Lj46P58+crKiqqqEvD/3To0OG2527bbDZOAbBYRkaG5syZo3//+9+5boxeunTJosqQJS4uTt27d1etWrV0//33y2az6euvv9bPP/+sVatWcbpgMdK9e3ctXLhQ1apVs7qUEmXDhg16+OGHFRISosOHD6tx48b66aefZBiGmjVrVmL+DrGn+w6rXr269u3bl2fo/v7771nYLVSuXLl8X0SIw5GcR3Jycq4bpFyU0BonTpyQYRiqXbu2vv3222yHMHt5ealy5crcMsximzdvtroE5EN0dLQWLlyoESNGaPz48XrllVf0008/KTY2Vv/4xz+sLg+SwsPDdeTIEb355ps6dOiQDMNQZGSkBg0apMDAQKvLQwFs2bKFnV4WGDdunEaOHKlXX31V/v7++s9//qPKlSurX79+6tKli9XlFRn2dN9hQ4YM0ebNm7Vjx44ch4elpKSoRYsW6tixY47DlFA04uLiHP//6aefNHbsWA0YMED333+/pOu3pVq8eLGmTp2q/v37W1Um/ueXX37RgAEDtGbNmlyf54sR4M4oU6aM9uzZw/neRaxOnTqaN2+eunfvLn9/f+3Zs8cxLD4+XkuXLrW6RMBlcF0La9y4bitfvry2bdumRo0aae/everZs6d++uknq0ssEuzpvsP+/ve/KyYmRnXr1tXgwYNVr1492Ww2/fDDD3rzzTeVkZGhV155xeoyS6zw8HDH/1999VXNnj0727nBDz/8sMLCwvTuu+8Sup3AsGHDdPnyZcXHx6tjx4767LPPdP78eU2aNEmzZs2yurwSb8mSJbd8/qmnniqiSvBH8f27Nc6dO+e4ZU7p0qV15coVSVKPHj00fvx4K0vDDS5fvqxvv/1WFy5cyHEeMes54Nb8/PyUlpYmSQoMDNSxY8fUqFEjSSpR91QndN9hVapU0ddff63nn39e48aNc2zI2Gw2PfTQQ3rrrbe496aT2L59uxYsWJBjePPmzfXXv/7Vgopws40bN+q///2v7rvvPrm5uSkoKEgREREqU6aMpk6dqu7du1tdYon24osvZntst9uVnJwsLy8v+fr6sjEK3EaNGjV09uxZ1apVS6GhoVq7dq2aNWumHTt2yNvb2+ryIOnzzz9Xv379lJSUJH9/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umXX9t577xmUSuRfVHSLaY0cOZJZs2YRHBxMs2bNsFqt7N27l+TkZKKiojh48CDx8fEsX76czp07Gx3XlDRPS+Tf4+LiwvHjx/H29gagTJky7N69m/r16xucTO6Xl5fHihUrOHToEBaLhaCgICIiInB2djY6mkiREB8fT0REBP7+/qSkpFC/fn0yMjKwWq00btyYzZs3Gx3R9PLz8zl69Cjnzp0jPz/frq1169YGpSpcKrrFtF599VVq1KjB6NGj7c7HxMRw/PhxYmNjiY6OZvXq1ezdu9eglCIiT87Z2ZkzZ85QqVIlAMqVK0dycvIjX2RJ4Tt69CgdO3bk1KlT1KlTB6vVSmpqKj4+PqxevZqaNWsaHVHE4TVr1ozw8HDGjRtHuXLl2L9/P5UrV+aPf/wj4eHh/PWvfzU6oqnt2rWLV155hePHjxfYrcFisZCXl2dQssKloltMy8PDg3379hXY7/no0aM0adKEnJwcDh8+TEhICJcvXzYopYjIk3NycqJDhw6ULFkSgK+++oo2bdoUmKKhrRGN1bFjR6xWK4sWLcLT0xOAixcv0r17d5ycnFi9erXBCUUcX7ly5UhKSqJmzZpUqFCBbdu2Ua9ePfbv30/nzp3JyMgwOqKpNWzYkNq1azN27Fi8vLwKTO308PAwKFnh0kJqYlqlSpVix44dBYruHTt2UKpUKeDucJh7D61SOAYNGsS7775L2bJlf3YBNc3TEnmwnj172h13797doCTyKAkJCezatctWcAM888wzTJw4kWeffdbAZCJFR9myZbl58yYA3t7epKWlUa9ePeDuVolirCNHjrB06dICz9tmo6JbTKt///7069ePffv2ERISgsViYffu3cydO5dRo0YBsH79eho1amRwUnP57rvvOHz4MI0aNeK777576HWP2n5CxOzmz59vdAR5DCVLlnzgSKorV67g6upqQCKRoqdFixZs376doKAgOnXqxODBgzlw4ADLly+nRYsWRsczvebNm3P06FHTF90aXi6mtmjRIj744ANSUlIAqFOnDv379+eVV14B4Pr167bVzKXwODs7k5mZSeXKlQHo2rUr77//PlWqVDE4mYjIL6dHjx4kJiby0Ucf0axZMwC+/fZbXn31VZo0aUJcXJyxAUWKgGPHjnHlyhUaNGjAtWvXGDJkCNu2bSMwMJBp06bh6+trdETTSU5Otn2dlpbG22+/zdChQwkODsbFxcXu2gYNGhR2PEOo6BYRh+Pk5MSZM2dsRbe7uztJSUkEBAQYnExE5JeTnZ1Nz549+eqrr2wPonfu3CEiIoK4uDjTzHUUkeLFyckJi8VSYOG0e+61mWkhNQ0vFxGHp3eDIlIclS9fnpUrV3L06FEOHTqE1WolKCjI9MMwRZ5EQEAAe/bs4ZlnnrE7n52dTePGjbW9qAHS09ONjuBwVHSLqXh6epKamkrFihWpUKHCI+cFZ2VlFWIy+SmLxVLg70ZzuEWkuAoMDFShLfJvysjIeGBv6c2bNzl16pQBicTX15fevXszY8YMypUrZ3Qch6CiW0xl2rRptv/806ZNUyHnoKxWK1FRUbaV42/cuEG/fv203ZGIFCv//d//TdOmTRkxYoTd+cmTJ7N7926++OILg5KJOL5Vq1bZvl6/fr3ddIy8vDzi4+Px8/MzIJkALFiwgIkTJ6ro/ifN6RYRh9OrV6/Huk4rNItIUVapUiU2b95McHCw3fkDBw7Qtm1bzp49a1AyEcfn5OQE8MC5wy4uLvj5+TF16lR+85vfGBHP9O5fn8fs1NMtppWYmIiLi4vtYWflypXMnz+foKAgxowZo+1aDKRiWkTM4GFbg7m4uJCbm2tAIpGiIz8/HwB/f3/27NlDxYoVDU4k99OI0n9xMjqAiFH69u1LamoqcHe7ia5du1KmTBm++OILhg0bZnA6EREp7urXr8+SJUsKnF+8eDFBQUEGJBIpOr799lvWrl1Lenq6reBeuHAh/v7+VK5cmT59+nDz5k2DU5pb7dq18fT0fOQfs1BPt5hWamoqDRs2BOCLL74gNDSUTz/9lO3bt9OtWzemT59uaD4RESneRo8ezUsvvURaWhpt2rQBID4+ns8++0zzuUV+RnR0NGFhYXTo0AG4Oy3jz3/+M1FRUdStW5fJkyfj7e3NmDFjjA1qYmPHjtXWh/+koltMy2q12oYmbdq0yTbnx8fHhwsXLhgZTURETCAiIoIVK1YwYcIEli5dSunSpWnQoAGbNm0iNDTU6HgiDm3//v3ExMTYjhcvXkzz5s2JjY0F7j7PRUdHq+g2ULdu3TSn+59UdItpNW3alJiYGNq2bUtCQgKzZs0C7u4tWKVKFYPTiYiIGXTq1IlOnToZHUOkyLl06ZLd81pCQgLh4eG245CQEE6ePGlENEHzue+nOd1iWtOnTycxMZE33niDt956y7ZH6tKlS2nVqpXB6URExAyys7OZO3cuo0aNIisrC7i70Kf2FxZ5tCpVqpCeng7ArVu3SExMpGXLlrb2y5cv4+LiYlQ809MGWfa0ZZjIfW7cuIGzs7Nu1CIi8lQlJyfTtm1bPDw8yMjIICUlhYCAAEaPHs3x48dZuHCh0RFFHFbfvn05cOAAkyZNYsWKFSxYsIDTp0/bdgRYtGgR06dPZ8+ePQYnFVFPt5jcvR6GkSNH2noYDh48yLlz5wxOJiIixd2gQYOIioriyJEjlCpVyna+Q4cObN261cBkIo4vJiYGZ2dnQkNDiY2NJTY21m4Lvnnz5tGuXTsDE4r8i3q6xbSSk5N54YUXKF++vHoYRESk0Hl4eJCYmEjNmjUpV64c+/fvJyAggOPHj1OnTh1u3LhhdEQRh5eTk4ObmxvOzs5257OysnBzc7MrxEWMop5uMa1BgwbRq1cv9TCIiIghSpUqRW5uboHzKSkpVKpUyYBEIkWPh4dHgYIbwNPTUwW3OAwV3WJae/bsoW/fvgXOV6tWjTNnzhiQSEREzKRz586MGzeO27dvA3dX+z1x4gQjRozgpZdeMjidiIj8UlR0i2mph0FERIw0ZcoUzp8/T+XKlbl+/TqhoaHUrFkTNzc3xo8fb3Q8ERH5hWhOt5hWnz59OH/+PJ9//jmenp4kJyfj7OxMZGQkrVu3Zvr06UZHFBERE9i8eTOJiYnk5+fTpEkTXnjhBaMjiYjIL0hFt5hWbm4uHTt25IcffuDy5ct4e3tz5swZWrZsyZo1ayhbtqzREUVEpBj69ttvycrKokOHDrZzCxYsIDo6mmvXrhEZGcnMmTMpWbKkgSlFROSXoqJbTG/Lli3s27eP/Px8GjduTNu2bY2OJCIixViHDh14/vnnGT58OAAHDhygSZMm9OzZk7p16zJ58mT69u3LmDFjjA0qIiK/iBJGBxAxQn5+PnFxcSxfvpyMjAwsFgv+/v5UrVoVq9WKxWIxOqKIiBRTSUlJvPvuu7bjxYsX06xZM2JjYwHw8fEhOjpaRbeISDGhhdTEdKxWKxEREfzlL3/h1KlTBAcHU69ePY4fP05UVBS/+93vjI4oIiLF2KVLl6hSpYrtOCEhgfDwcNtxSEgIJ0+eNCKaiIg8BerpFtOJi4tj69atxMfHExYWZte2efNmIiMjWbhwIT169DAooYiIFGdVqlQhPT0dHx8fbt26RWJiImPHjrW1X758GRcXFwMTiojIL0k93WI6n332GaNGjSpQcAO0adOGESNGsGjRIgOSiYiIGYSHhzNixAi++eYbRo4cSZkyZfj1r39ta09OTqZmzZoGJhQRkV+Sim4xneTkZLthfPfr0KED+/fvL8REIiJiJjExMTg7OxMaGkpsbCyxsbG4urra2ufNm0e7du0MTCgiIr8krV4upuPq6srx48fx8vJ6YPvp06fx9/fn5s2bhZxMRETMJCcnBzc3N5ydne3OZ2Vl4ebmZleIi4hI0aU53WI6eXl5lCjx8H/6zs7O3LlzpxATiYiIGXl4eDzwvKenZyEnERGRp0lFt5iO1WolKiqKkiVLPrBdPdwiIiIiIvJLUdEtptOzZ8+fvUYrl4uIiIiIyC9Bc7pFREREREREnhKtXi4iIiIiIiLylKjoFhEREREREXlKVHSLiIiIiIiIPCUqukVERERERESeEhXdIiIiJpORkYHFYiEpKcnoKCIiIsWeim4REZEiJioqCovFgsVioUSJEtSoUYO//vWvXLp0yehoIiIich8V3SIiIkVQeHg4mZmZZGRkMHfuXL766itee+01o2OJiIjIfVR0i4iIFEElS5akatWqVK9enXbt2tG1a1c2bNgAQH5+PuPGjaN69eqULFmShg0bsm7dukd+v4MHD9KxY0fc3NyoUqUKf/rTn7hw4UJh/CgiIiLFmopuERGRIu7YsWOsW7cOFxcXAGbMmMHUqVOZMmUKycnJtG/fnoiICI4cOfLAz2dmZhIaGkrDhg3Zu3cv69at4+zZs7z88suF+WOIiIgUSyWMDiAiIiJP7uuvv8bNzY28vDxu3LgBwHvvvQfAlClTGD58ON26dQNg0qRJbNmyhenTp/M///M/Bb7XrFmzaNy4MRMmTLCdmzdvHj4+PqSmplK7du1C+IlERESKJxXdIiIiRVBYWBizZs3i2rVrzJ07l9TUVPr3709ubi6nT5/m2Weftbv+2WefZf/+/Q/8Xvv27WPLli24ubkVaEtLS1PRLSIi8h9Q0S0iIlIElS1blsDAQADef/99wsLCGDt2LEOHDgXAYrHYXW+1Wgucuyc/P5/f/va3TJo0qUCbl5fXL5xcRETEXDSnW0REpBiIjo5mypQpXLlyBW9vb7Zt22bXvmPHDurWrfvAzzZu3JgffvgBPz8/AgMD7f6ULVu2MOKLiIgUWyq6RUREioHnn3+eevXqMWHCBIYOHcqkSZNYsmQJKSkpjBgxgqSkJAYMGPDAz77++utkZWXxhz/8gd27d3Ps2DE2bNhA7969ycvLK+SfREREpHjR8HIREZFiYtCgQfTq1YvU1FRyc3MZPHgw586dIygoiFWrVlGrVq0Hfs7b25vt27czfPhw2rdvz82bN/H19SU8PBwnJ72fFxER+U9YrFar1egQIiIiIiIiIsWRXl+LiIiIiIiIPCUqukVERERERESeEhXdIiIiIiIiIk+Jim4RERERERGRp0RFt4iIiIiIiMhToqJbRERERERE5ClR0S0iIiIiIiLylKjoFhEREREREXlKVHSLiIiIiIiIPCUqukVERERERESeEhXdIiIiIiIiIk+Jim4RERERERGRp+T/AbhjtKE1/Tk9AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df.boxplot(column='Height', by='Role', figsize=(10,8))\n", "plt.xticks(rotation='vertical')\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> **Note**: This diagram suggests, that on average, the heights of first basemen are higher than heights of second basemen. Later we will learn how we can test this hypothesis more formally, and how to demonstrate that our data is statistically significant to show that. \n", "\n", "Age, height and weight are all continuous random variables. What do you think their distribution is? A good way to find out is to plot the histogram of values: " ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJQCAYAAACTlwc0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABPQUlEQVR4nO3deXhU5d3/8c8kmQwEkkCI2UoIiECVUJBFeABNIiTsiGgFcQGLShWoCGhFiwTrSiuiUND2YVMaofoDRPEBAyQsApVFyqJF1AAuQQoCAYLDkJzfH16ZOiQhC7kzi+/Xdc0Fc5/7nPmefDPJfHLOnLFZlmUJAAAAAADUuCBvFwAAAAAAQKAidAMAAAAAYAihGwAAAAAAQwjdAAAAAAAYQugGAAAAAMAQQjcAAAAAAIYQugEAAAAAMITQDQAAAACAIYRuAAAAAAAMIXQDgJe8/fbbstlsWrJkSallbdu2lc1m0+rVq0sta968udq3b1+lxxoxYoSaNm1arTozMzNls9l07NixCuc+++yzWr58ebUep8TBgwdls9m0YMGCUjVURWFhoTIzM5Wbm1ul9cp6rKZNm6p///5V2k5FsrKyNGPGjDKX2Ww2ZWZm1ujj1bS1a9eqY8eOqlevnmw2W7l9L+nnpfbpN7/5jXvOT6Wmpio5OfmSdZT0q+QWFBSk+Ph49e3bVx9++GGl9qVp06Ye26hfv746d+6s119/vVQ9qampldomAAAlCN0A4CWpqamy2WzKycnxGP/++++1Z88e1atXr9Syr7/+Wl9++aXS0tKq9FiTJ0/WsmXLLrvmitRE6C7Lvffeqy1btlRpncLCQk2dOrXKobs6j1UdlwrdW7Zs0b333mu8huqyLEu33Xab7Ha7VqxYoS1btiglJeWS64SHh2vBggUqLi72GD9z5ozeeustRUREXFZNq1at0pYtW7Rp0ya99NJLOnLkiFJTU7Vz585Krd+tWzdt2bJFW7Zs0YIFC2Sz2TR8+HDNmTPnsuoCACDE2wUAwM9VdHS0kpOTS4XC9evXKyQkRCNHjiwVukvuVzV0N2/e/LJq9bbGjRurcePGRh+jsLBQYWFhtfJYFenSpYtXH78i3377rb7//nvdfPPN6tGjR6XWGTJkiP73f/9Xa9euVXp6unt8yZIlKioq0qBBg7Ro0aJq19ShQwdFR0dLkrp27arrrrtOzZs319tvv12pM0MaNGjg8XXv2bOnkpKSNH36dD3wwAPVrqs2lXwPAwB8C0e6AcCL0tLStH//fuXn57vHcnNz1alTJ/Xt21c7duzQ6dOnPZYFBwfr+uuvl/TjEcfZs2erXbt2qlu3rho2bKhbb71VX375pcfjlHV6+cmTJzVy5EhFRUWpfv366tevn7788styTwP+7rvvdPvttysyMlKxsbH6zW9+o1OnTrmX22w2nT17VgsXLnSfplvRqbjffvutbrvtNoWHhysyMlJDhgzRkSNHSs0r65TvdevWKTU1VY0aNVLdunXVpEkT3XLLLSosLNTBgwd1xRVXSJKmTp3qrmfEiBEe29u5c6duvfVWNWzY0P2HiUudyr5s2TL96le/Up06dXTllVfqlVde8VhecoT04MGDHuO5ubmy2WzuP7CkpqZq5cqVOnTokMdpzT/9Wl7cg7179+qmm25Sw4YNVadOHbVr104LFy4s83HefPNNPfHEE0pISFBERIR69uyp/fv3l7lPF9u0aZN69Oih8PBwhYWFqWvXrlq5cqV7eWZmpvuPEr///e9ls9kq9daFVq1aqWvXrpo3b57H+Lx58zR48GBFRkZWqr7KKtme3W6v1voNGjRQq1atdOjQoUvOmzp1qjp37qyoqChFRESoffv2mjt3rizLcs8peZ4VFhaWWv/GG29U69at3fcr+5wuOfV+w4YN6tq1q8LCwvSb3/xG0qWfGwCA2kfoBgAvKjli/dOj3Tk5OUpJSVG3bt1ks9m0ceNGj2Xt27d3B4pRo0Zp3Lhx6tmzp5YvX67Zs2dr37596tq1q7777rtyH7e4uFgDBgxQVlaWfv/732vZsmXq3LmzevfuXe46t9xyi1q2bKn/9//+nx577DFlZWXp4Ycfdi/fsmWL6tatq759+7pP0509e3a52zt37px69uypDz74QM8995zeeustxcXFaciQIRV+3Q4ePKh+/fopNDRU8+bN06pVq/T888+rXr16On/+vOLj47Vq1SpJPwaeknomT57ssZ3Bgwfrqquu0ltvvaVXX331ko+5a9cujRs3Tg8//LCWLVumrl276qGHHtKf//znCuu92OzZs9WtWzfFxcW5a7vUKe379+9X165dtW/fPr3yyitaunSprrnmGo0YMULTpk0rNf/xxx/XoUOH9L//+7/661//qgMHDmjAgAEqKiq6ZF3r16/XjTfeqFOnTmnu3Ll68803FR4ergEDBrivPXDvvfdq6dKlkqSxY8dqy5YtlX7rwsiRI7V8+XKdOHHCvV+bN2/WyJEjK7X+pRQVFenChQs6f/68Pv/8c40ePVoOh0O33nprtbbncrl06NAh9x9vynPw4EGNGjVK//jHP7R06VINHjxYY8eO1R//+Ef3nIceekgnTpxQVlaWx7qffPKJcnJyNHr0aPdYVZ7T+fn5uvPOOzVs2DC9//77evDBByt8bgAAvMACAHjN999/bwUFBVn333+/ZVmWdezYMctms1mrVq2yLMuyrrvuOmvixImWZVnW4cOHLUnWo48+almWZW3ZssWSZL344ose2/zqq6+sunXruudZlmUNHz7cSkpKct9fuXKlJcmaM2eOx7rPPfecJcmaMmWKe2zKlCmWJGvatGkecx988EGrTp06VnFxsXusXr161vDhwyu173PmzLEkWe+8847H+H333WdJsubPn1+qhhJvv/22JcnatWtXudv/z3/+U2pfLt7ek08+We6yn0pKSrJsNlupx0tPT7ciIiKss2fPWpZlWfPnz7ckWXl5eR7zcnJyLElWTk6Oe6xfv34ePfmpi+seOnSo5XA4rMOHD3vM69OnjxUWFmadPHnS43H69u3rMe8f//iHJcnasmVLmY9XokuXLlZMTIx1+vRp99iFCxes5ORkq3Hjxu5e5+XlWZKsP/3pT5fc3sVzT58+bdWvX9+aNWuWZVmW9cgjj1jNmjWziouLrdGjR5f6uqekpFitW7e+5PZL+nXxLSIiwlq6dGmF9VnWj/3t27ev5XK5LJfLZeXl5VnDhw+3JFmPPPKIRz0pKSnlbqeoqMhyuVzWU089ZTVq1MjjuZGSkmK1a9fOY/4DDzxgRUREuL/eVXlOp6SkWJKstWvXesytzHMDAFC7ONINAF7UsGFDtW3b1n2ke/369QoODla3bt0kSSkpKe73cV/8fu733ntPNptNd955py5cuOC+xcXFeWyzLOvXr5ck3XbbbR7jt99+e7nrDBw40OP+r371K/3www86evRo5Xf4J3JychQeHl5qu8OGDatw3Xbt2ik0NFT333+/Fi5cWOrU28q65ZZbKj23devWatu2rcfYsGHDVFBQUOmLdVXXunXr1KNHDyUmJnqMjxgxQoWFhaWOkpfVK0mXPFX67Nmz+uc//6lbb71V9evXd48HBwfrrrvu0tdff13pU9TLU79+ff3617/WvHnzdOHCBb3++uu65557qnxl+rKsWbNG27Zt00cffaT33ntPPXv21NChQyt9FP7999+X3W6X3W5Xs2bN9I9//ENjx47V008/fcn11q1bp549eyoyMlLBwcGy2+168skndfz4cY/nxkMPPaRdu3a5r6heUFCgN954Q8OHD3d/vav6nG7YsKFuvPFGj7Gaem4AAGoOoRsAvCwtLU2fffaZvv32W+Xk5KhDhw7uF+EpKSn6+OOPderUKeXk5CgkJETdu3eX9ON7rC3LUmxsrDsslNy2bt16yY/4On78uEJCQhQVFeUxHhsbW+46jRo18rjvcDgk/XiaeHUcP368zMeLi4urcN3mzZtrzZo1iomJ0ejRo9W8eXM1b95cL7/8cpVqiI+Pr/TcsuoqGTt+/HiVHreqjh8/XmatCQkJZT5+dXp14sQJWZZVpcepjpEjR2rnzp165pln9J///Mf9PvvL1bZtW3Xs2FGdOnVSv3799NZbb+mqq67yOHX7Urp3765t27Zp+/bt+uSTT3Ty5Em98sorCg0NLXedjz76SBkZGZKkv/3tb/rwww+1bds2PfHEE5I8v9433XSTmjZtqr/85S+Sfnz//9mzZz3qq+pzuqxe1dRzAwBQc7h6OQB4WVpamqZPn67c3Fzl5uaqb9++7mUlAXvDhg3uC6yVBPLo6Gj3e75LQtVPlTVWolGjRrpw4YK+//57j+Bd1kXMTGnUqJE++uijUuOVreH666/X9ddfr6KiIm3fvl0zZ87UuHHjFBsbq6FDh1ZqG1U5wlpWXSVjJSG3Tp06kiSn0+kxrzKfcX4pjRo18rjYXolvv/1WktxX7b4cDRs2VFBQkPHH6datm1q1aqWnnnpK6enppY7e15SgoCC1bt1ab731lo4ePaqYmJhLzo+MjFTHjh2r9BiLFy+W3W7Xe++95+69pDI/Ni8oKEijR4/W448/rhdffFGzZ89Wjx491KpVK/ecqj6ny/v+rYnnBgCg5nCkGwC87IYbblBwcLDefvtt7du3z+OK35GRke6rVB88eNDjo8L69+8vy7L0zTffqGPHjqVubdq0KfcxSz5TueTiWCUWL158WfvicDgqfeQ7LS1Np0+f1ooVKzzGL77YVEWCg4PVuXNn9xHEklO9L/dI/MX27dunf/3rXx5jWVlZCg8Pd38kVclVvHfv3u0x7+J9LKmvsrX16NFD69atc4ffEq+//rrCwsJq5CPG6tWrp86dO2vp0qUedRUXF2vRokVq3LixWrZsedmPI0l/+MMfNGDAAE2YMKFGtleWoqIi7dmzRw6H47I/A7w8NptNISEhCg4Odo+dO3dOb7zxRpnz7733XoWGhuqOO+7Q/v37NWbMGI/ll/OcLkt5zw0AQO3iSDcAeFnJxwwtX75cQUFB7vdzl0hJSdGMGTMkeX4+d7du3XT//ffrnnvu0fbt23XDDTeoXr16ys/P16ZNm9SmTZtyP1+4d+/e6tatmyZMmKCCggJ16NBBW7Zs0euvvy7px6Ny1dGmTRvl5ubq3XffVXx8vMLDwz2O5P3U3XffrZdeekl33323nnnmGbVo0ULvv/++Vq9eXeHjvPrqq1q3bp369eunJk2a6IcffnB/FFXPnj0lSeHh4UpKStI777yjHj16KCoqStHR0ZX6eKuyJCQkaODAgcrMzFR8fLwWLVqk7OxsvfDCC+7PRu7UqZNatWqliRMn6sKFC2rYsKGWLVumTZs2lfm1Wrp0qebMmaMOHTooKCio3COtU6ZM0Xvvvae0tDQ9+eSTioqK0t///netXLlS06ZNq7GP23ruueeUnp6utLQ0TZw4UaGhoZo9e7b27t2rN998s0beey1Jd955p+68885KzS0oKNDbb79davyKK65w//FIknbs2OH+Onz33XeaN2+e/v3vf+vhhx/2OApdk/r166fp06dr2LBhuv/++3X8+HH9+c9/LvcskwYNGujuu+/WnDlzlJSUpAEDBngsv5zndInKPDcAALWL0A0APiAtLU3btm3TtddeW+qoXEpKil566SWFhoaqa9euHstee+01denSRa+99ppmz56t4uJiJSQkqFu3brruuuvKfbygoCC9++67mjBhgp5//nmdP39e3bp106JFi9SlSxc1aNCgWvvx8ssva/To0Ro6dKgKCwuVkpJS7gXdwsLCtG7dOj300EN67LHHZLPZlJGRocWLF5faz4u1a9dOH3zwgaZMmaIjR46ofv36Sk5O1ooVK9zvsZWkuXPn6pFHHtHAgQPldDo1fPhwLViwoFr71q5dO91zzz2aMmWKDhw4oISEBE2fPt3jY9OCg4P17rvvasyYMfrtb38rh8OhoUOHatasWerXr5/H9h566CHt27dPjz/+uE6dOiXLsjw+2/mnWrVqpc2bN+vxxx/X6NGjde7cOV199dWaP39+jb0nWvrxe23dunWaMmWKRowYoeLiYrVt21YrVqxQ//79a+xxquKrr77Sr3/961LjF39v/fTj7qKiotSiRQvNmzdPw4cPN1bbjTfeqHnz5umFF17QgAED9Itf/EL33XefYmJiyv0YtCFDhmjOnDl64IEHyvzjVnWf0yUq+9wAANQem1Xeb3gAwM9OVlaW7rjjDn344YcVBl8AVTdhwgTNmTNHX331VakL3gEAAhNHugHgZ+rNN9/UN998ozZt2igoKEhbt27Vn/70J91www0EbqCGbd26VZ999plmz56tUaNGEbgB4GeEI90A8DP13nvvKTMzU59//rnOnj2r+Ph4DRo0SE8//bSxC08BP1c2m01hYWHq27ev5s+f7/FZ6ACAwEboBgAAAADAED4yDAAAAAAAQwjdAAAAAAAYQugGAAAAAMAQQjcAAAAAAIYQugEAAAAAMITQDQAAAACAIYRuAAAAAAAMIXQDAAAAAGAIoRsAAAAAAEMI3QAAAAAAGELoBgAAAADAEEI3AAAAAACGELoBAAAAADCE0A0AAAAAgCGEbgAAAAAADAnxdgG+oLi4WN9++63Cw8Nls9m8XQ4AAAAAwMdZlqXTp08rISFBQUHlH88mdEv69ttvlZiY6O0yAAAAAAB+5quvvlLjxo3LXU7olhQeHi7pxy9WRESEl6uBJLlcLn3wwQfKyMiQ3W73djmoQfQ2MNHXwEVvAxe9DUz0NXDRW99TUFCgxMREd54sD6Fbcp9SHhERQej2ES6XS2FhYYqIiOCHSoCht4GJvgYuehu46G1goq+Bi976roreosyF1AAAAAAAMITQDQAAAACAIYRuAAAAAAAMIXQDAAAAAGAIoRsAAAAAAEO8Grqfe+45derUSeHh4YqJidGgQYO0f/9+jzmWZSkzM1MJCQmqW7euUlNTtW/fPo85TqdTY8eOVXR0tOrVq6eBAwfq66+/rs1dAQAAAACgFK+G7vXr12v06NHaunWrsrOzdeHCBWVkZOjs2bPuOdOmTdP06dM1a9Ysbdu2TXFxcUpPT9fp06fdc8aNG6dly5Zp8eLF2rRpk86cOaP+/furqKjIG7sFAAAAAIAkL39O96pVqzzuz58/XzExMdqxY4duuOEGWZalGTNm6IknntDgwYMlSQsXLlRsbKyysrI0atQonTp1SnPnztUbb7yhnj17SpIWLVqkxMRErVmzRr169ar1/QIAAAAAQPJy6L7YqVOnJElRUVGSpLy8PB05ckQZGRnuOQ6HQykpKdq8ebNGjRqlHTt2yOVyecxJSEhQcnKyNm/eXGbodjqdcjqd7vsFBQWSfvzAeZfLZWTfUDUlfaAfgYfeBib6GrjobeCit4GJvgYueut7KtsLnwndlmVp/Pjx6t69u5KTkyVJR44ckSTFxsZ6zI2NjdWhQ4fcc0JDQ9WwYcNSc0rWv9hzzz2nqVOnlhr/4IMPFBYWdtn7gpqTnZ3t7RJgCL0NTPQ1cNHbwEVvAxN9DVz01ncUFhZWap7PhO4xY8Zo9+7d2rRpU6llNpvN475lWaXGLnapOZMmTdL48ePd9wsKCpSYmKiMjAxFRERUo3rUNJfLpezsbKWnp8tut3u7HNQgehuY6GvgoreBi94GJvoauOit7yk5Y7oiPhG6x44dqxUrVmjDhg1q3LixezwuLk7Sj0ez4+Pj3eNHjx51H/2Oi4vT+fPndeLECY+j3UePHlXXrl3LfDyHwyGHw1Fq3G638w3sY+hJ4KK3gYm+Bi56G7jobWCir4GL3vqOyvbBq1cvtyxLY8aM0dKlS7Vu3To1a9bMY3mzZs0UFxfncQrF+fPntX79eneg7tChg+x2u8ec/Px87d27t9zQDQAAAABAbfDqke7Ro0crKytL77zzjsLDw93vwY6MjFTdunVls9k0btw4Pfvss2rRooVatGihZ599VmFhYRo2bJh77siRIzVhwgQ1atRIUVFRmjhxotq0aeO+mjkAAAAAAN7g1dA9Z84cSVJqaqrH+Pz58zVixAhJ0qOPPqpz587pwQcf1IkTJ9S5c2d98MEHCg8Pd89/6aWXFBISottuu03nzp1Tjx49tGDBAgUHB9fWrgAAAAAAUIpXQ7dlWRXOsdlsyszMVGZmZrlz6tSpo5kzZ2rmzJk1WB0AAAAAAJfHq+/pBgAAAAAgkBG6AQAAAAAwhNANAAAAAIAhhG4AAAAAAAwhdAMAAAAAYIhXr14OAPCepo+trLFtOYItTbtOSs5cLWeRrca2ezkOPt/P2yUAAABwpBsAAAAAAFMI3QAAAAAAGELoBgAAAADAEEI3AAAAAACGELoBAAAAADCE0A0AAAAAgCGEbgAAAAAADCF0AwAAAABgCKEbAAAAAABDCN0AAAAAABhC6AYAAAAAwBBCNwAAAAAAhhC6AQAAAAAwhNANAAAAAIAhhG4AAAAAAAwhdAMAAAAAYAihGwAAAAAAQwjdAAAAAAAYQugGAAAAAMAQQjcAAAAAAIYQugEAAAAAMITQDQAAAACAIYRuAAAAAAAMIXQDAAAAAGAIoRsAAAAAAEMI3QAAAAAAGELoBgAAAADAEEI3AAAAAACGELoBAAAAADCE0A0AAAAAgCGEbgAAAAAADCF0AwAAAABgCKEbAAAAAABDCN0AAAAAABhC6AYAAAAAwBBCNwAAAAAAhhC6AQAAAAAwhNANAAAAAIAhhG4AAAAAAAwhdAMAAAAAYAihGwAAAAAAQwjdAAAAAAAYEuLtAgDAlzV9bKW3SwAAAIAf40g3AAAAAACGeDV0b9iwQQMGDFBCQoJsNpuWL1/usdxms5V5+9Of/uSek5qaWmr50KFDa3lPAAAAAAAozauh++zZs2rbtq1mzZpV5vL8/HyP27x582Sz2XTLLbd4zLvvvvs85r322mu1UT4AAAAAAJfk1fd09+nTR3369Cl3eVxcnMf9d955R2lpabryyis9xsPCwkrNvRSn0ymn0+m+X1BQIElyuVxyuVyV3g7MKekD/Qg8/tZbR7Dl7RL8giPI8vjXF/jL95iv87fnLCqP3gYm+hq46K3vqWwvbJZl+cQrJJvNpmXLlmnQoEFlLv/uu+/UuHFjLVy4UMOGDXOPp6amat++fbIsS7GxserTp4+mTJmi8PDwch8rMzNTU6dOLTWelZWlsLCwy94XAAAAAEBgKyws1LBhw3Tq1ClFRESUO89vrl6+cOFChYeHa/DgwR7jd9xxh5o1a6a4uDjt3btXkyZN0r/+9S9lZ2eXu61JkyZp/Pjx7vsFBQVKTExURkbGJb9YqD0ul0vZ2dlKT0+X3W73djmoQf7W2+TM1d4uwS84giz9sWOxJm8PkrPY5u1yJEl7M3t5u4SA4G/PWVQevQ1M9DVw0VvfU3LGdEX8JnTPmzdPd9xxh+rUqeMxft9997n/n5ycrBYtWqhjx47auXOn2rdvX+a2HA6HHA5HqXG73c43sI+hJ4HLX3rrLPKNAOkvnMU2n/ma+cP3lz/xl+csqo7eBib6Grjore+obB/84iPDNm7cqP379+vee++tcG779u1lt9t14MCBWqgMAAAAAIDy+UXonjt3rjp06KC2bdtWOHffvn1yuVyKj4+vhcoAAAAAACifV08vP3PmjD7//HP3/by8PO3atUtRUVFq0qSJpB/Pk3/rrbf04osvllr/iy++0N///nf17dtX0dHR+uSTTzRhwgRde+216tatW63tBwAAAAAAZfFq6N6+fbvS0tLc90subjZ8+HAtWLBAkrR48WJZlqXbb7+91PqhoaFau3atXn75ZZ05c0aJiYnq16+fpkyZouDg4FrZBwAAAAAAyuPV0J2amqqKPrHs/vvv1/3331/mssTERK1fv95EaQAAAAAAXDa/eE83AAAAAAD+iNANAAAAAIAhhG4AAAAAAAwhdAMAAAAAYAihGwAAAAAAQwjdAAAAAAAYQugGAAAAAMAQQjcAAAAAAIYQugEAAAAAMITQDQAAAACAIYRuAAAAAAAMIXQDAAAAAGAIoRsAAAAAAEMI3QAAAAAAGELoBgAAAADAEEI3AAAAAACGELoBAAAAADCE0A0AAAAAgCGEbgAAAAAADCF0AwAAAABgCKEbAAAAAABDCN0AAAAAABhC6AYAAAAAwBBCNwAAAAAAhhC6AQAAAAAwhNANAAAAAIAhhG4AAAAAAAwhdAMAAAAAYAihGwAAAAAAQwjdAAAAAAAYQugGAAAAAMAQQjcAAAAAAIYQugEAAAAAMITQDQAAAACAIYRuAAAAAAAMIXQDAAAAAGAIoRsAAAAAAEMI3QAAAAAAGELoBgAAAADAEEI3AAAAAACGELoBAAAAADCE0A0AAAAAgCGEbgAAAAAADCF0AwAAAABgCKEbAAAAAABDCN0AAAAAABhC6AYAAAAAwBBCNwAAAAAAhoR4uwAAAExo+thKb5dgzMHn+3m7BAAAUElePdK9YcMGDRgwQAkJCbLZbFq+fLnH8hEjRshms3ncunTp4jHH6XRq7Nixio6OVr169TRw4EB9/fXXtbgXAAAAAACUzauh++zZs2rbtq1mzZpV7pzevXsrPz/ffXv//fc9lo8bN07Lli3T4sWLtWnTJp05c0b9+/dXUVGR6fIBAAAAALgkr55e3qdPH/Xp0+eScxwOh+Li4spcdurUKc2dO1dvvPGGevbsKUlatGiREhMTtWbNGvXq1avGawYAAAAAoLJ8/j3dubm5iomJUYMGDZSSkqJnnnlGMTExkqQdO3bI5XIpIyPDPT8hIUHJycnavHlzuaHb6XTK6XS67xcUFEiSXC6XXC6Xwb1BZZX0gX4EHn/rrSPY8nYJfsERZHn8C7Nq8/njb89ZVB69DUz0NXDRW99T2V7YLMvyiVdINptNy5Yt06BBg9xjS5YsUf369ZWUlKS8vDxNnjxZFy5c0I4dO+RwOJSVlaV77rnHI0BLUkZGhpo1a6bXXnutzMfKzMzU1KlTS41nZWUpLCysRvcLAAAAABB4CgsLNWzYMJ06dUoRERHlzvPpI91Dhgxx/z85OVkdO3ZUUlKSVq5cqcGDB5e7nmVZstls5S6fNGmSxo8f775fUFCgxMREZWRkXPKLhdrjcrmUnZ2t9PR02e12b5eDGuRvvU3OXO3tEvyCI8jSHzsWa/L2IDmLy//5i5qxN7P23j7lb89ZVB69DUz0NXDRW99TcsZ0RXw6dF8sPj5eSUlJOnDggCQpLi5O58+f14kTJ9SwYUP3vKNHj6pr167lbsfhcMjhcJQat9vtfAP7GHriH6ry0UyOYEvTrpOufWadnEX+EM78oUbf4Sy2+Ulf/Zs3fi7y8zhw0dvARF8DF731HZXtg1evXl5Vx48f11dffaX4+HhJUocOHWS325Wdne2ek5+fr717914ydAMAAAAAUBu8eqT7zJkz+vzzz9338/LytGvXLkVFRSkqKkqZmZm65ZZbFB8fr4MHD+rxxx9XdHS0br75ZklSZGSkRo4cqQkTJqhRo0aKiorSxIkT1aZNG/fVzAEAAAAA8Bavhu7t27crLS3Nfb/kfdbDhw/XnDlztGfPHr3++us6efKk4uPjlZaWpiVLlig8PNy9zksvvaSQkBDddtttOnfunHr06KEFCxYoODi41vcHAAAAAICf8mroTk1N1aUunr56dcUXMKpTp45mzpypmTNn1mRpAAAAAABcNr96TzcAAAAAAP6E0A0AAAAAgCGEbgAAAAAADCF0AwAAAABgCKEbAAAAAABDCN0AAAAAABhC6AYAAAAAwBBCNwAAAAAAhhC6AQAAAAAwhNANAAAAAIAhhG4AAAAAAAwhdAMAAAAAYAihGwAAAAAAQwjdAAAAAAAYQugGAAAAAMAQQjcAAAAAAIYQugEAAAAAMITQDQAAAACAIYRuAAAAAAAMIXQDAAAAAGAIoRsAAAAAAEMI3QAAAAAAGELoBgAAAADAEEI3AAAAAACGELoBAAAAADCE0A0AAAAAgCGEbgAAAAAADCF0AwAAAABgCKEbAAAAAABDCN0AAAAAABhC6AYAAAAAwBBCNwAAAAAAhhC6AQAAAAAwhNANAAAAAIAhhG4AAAAAAAwhdAMAAAAAYAihGwAAAAAAQwjdAAAAAAAYQugGAAAAAMAQQjcAAAAAAIYQugEAAAAAMITQDQAAAACAIYRuAAAAAAAMIXQDAAAAAGAIoRsAAAAAAEMI3QAAAAAAGELoBgAAAADAEEI3AAAAAACGELoBAAAAADCE0A0AAAAAgCFeDd0bNmzQgAEDlJCQIJvNpuXLl7uXuVwu/f73v1ebNm1Ur149JSQk6O6779a3337rsY3U1FTZbDaP29ChQ2t5TwAAAAAAKM2rofvs2bNq27atZs2aVWpZYWGhdu7cqcmTJ2vnzp1aunSpPvvsMw0cOLDU3Pvuu0/5+fnu22uvvVYb5QMAAAAAcEkh3nzwPn36qE+fPmUui4yMVHZ2tsfYzJkzdd111+nw4cNq0qSJezwsLExxcXGVflyn0ymn0+m+X1BQIOnHo+sul6squwBDSvpAP/yDI9iq/Nwgy+NfBAb6Wrtq82cjP48DF70NTPQ1cNFb31PZXtgsy/KJV0g2m03Lli3ToEGDyp2zZs0aZWRk6OTJk4qIiJD04+nl+/btk2VZio2NVZ8+fTRlyhSFh4eXu53MzExNnTq11HhWVpbCwsIue18AAAAAAIGtsLBQw4YN06lTp9z5tCx+E7p/+OEHde/eXb/85S+1aNEi9/jf/vY3NWvWTHFxcdq7d68mTZqkq666qtRR8p8q60h3YmKijh07dskvFmqPy+VSdna20tPTZbfbvV0OKpCcubrScx1Blv7YsViTtwfJWWwzWBVqE32tXXsze9XaY/HzOHDR28BEXwMXvfU9BQUFio6OrjB0e/X08spyuVwaOnSoiouLNXv2bI9l9913n/v/ycnJatGihTp27KidO3eqffv2ZW7P4XDI4XCUGrfb7XwD+xh64h+cRVUPWc5iW7XWg2+jr7XDGz8X+XkcuOhtYKKvgYve+o7K9sHnPzLM5XLptttuU15enrKzsys8Et2+fXvZ7XYdOHCglioEAAAAAKBsPn2kuyRwHzhwQDk5OWrUqFGF6+zbt08ul0vx8fG1UCEAAAAAAOXzaug+c+aMPv/8c/f9vLw87dq1S1FRUUpISNCtt96qnTt36r333lNRUZGOHDkiSYqKilJoaKi++OIL/f3vf1ffvn0VHR2tTz75RBMmTNC1116rbt26eWu3AAAAAACQ5OXQvX37dqWlpbnvjx8/XpI0fPhwZWZmasWKFZKkdu3aeayXk5Oj1NRUhYaGau3atXr55Zd15swZJSYmql+/fpoyZYqCg4NrbT8AAAAAACiLV0N3amqqLnXx9IourJ6YmKj169fXdFkAAAAAANQIn7+QGgAAAAAA/orQDQAAAACAIYRuAAAAAAAMIXQDAAAAAGAIoRsAAAAAAEMI3QAAAAAAGELoBgAAAADAEEI3AAAAAACGELoBAAAAADCE0A0AAAAAgCGEbgAAAAAADCF0AwAAAABgCKEbAAAAAABDCN0AAAAAABhC6AYAAAAAwBBCNwAAAAAAhhC6AQAAAAAwhNANAAAAAIAhhG4AAAAAAAwhdAMAAAAAYAihGwAAAAAAQwjdAAAAAAAYQugGAAAAAMAQQjcAAAAAAIYQugEAAAAAMITQDQAAAACAIYRuAAAAAAAMIXQDAAAAAGAIoRsAAAAAAEMI3QAAAAAAGFKt0H3llVfq+PHjpcZPnjypK6+88rKLAgAAAAAgEFQrdB88eFBFRUWlxp1Op7755pvLLgoAAAAAgEAQUpXJK1ascP9/9erVioyMdN8vKirS2rVr1bRp0xorDgAAAAAAf1al0D1o0CBJks1m0/Dhwz2W2e12NW3aVC+++GKNFQcAAAAAgD+rUuguLi6WJDVr1kzbtm1TdHS0kaIAAAAAAAgEVQrdJfLy8mq6DgAAAAAAAk61QrckrV27VmvXrtXRo0fdR8BLzJs377ILAwAAAADA31UrdE+dOlVPPfWUOnbsqPj4eNlstpquCwAAAAAAv1et0P3qq69qwYIFuuuuu2q6HgAAAAAAAka1Pqf7/Pnz6tq1a03XAgAAAABAQKlW6L733nuVlZVV07UAAAAAABBQqnV6+Q8//KC//vWvWrNmjX71q1/Jbrd7LJ8+fXqNFAcAAAAAgD+rVujevXu32rVrJ0nau3evxzIuqgYAAAAAwI+qFbpzcnJqug4AAAAAAAJOtd7TDQAAAAAAKlatI91paWmXPI183bp11S4IAAAAAIBAUa3QXfJ+7hIul0u7du3S3r17NXz48JqoCwAAAAAAv1et0P3SSy+VOZ6ZmakzZ85cVkEAAAAAAASKGn1P95133ql58+bV5CYBAAAAAPBbNRq6t2zZojp16tTkJgEAAAAA8FvVCt2DBw/2uN18883q0qWL7rnnHo0aNarS29mwYYMGDBighIQE2Ww2LV++3GO5ZVnKzMxUQkKC6tatq9TUVO3bt89jjtPp1NixYxUdHa169epp4MCB+vrrr6uzWwAAAAAA1Khqvac7MjLS435QUJBatWqlp556ShkZGZXeztmzZ9W2bVvdc889uuWWW0otnzZtmqZPn64FCxaoZcuWevrpp5Wenq79+/crPDxckjRu3Di9++67Wrx4sRo1aqQJEyaof//+2rFjh4KDg6uzewAA+LSmj62stcdyBFuadp2UnLlazqLyP7mkJh18vl+tPA4AALWhWqF7/vz5NfLgffr0UZ8+fcpcZlmWZsyYoSeeeEKDBw+WJC1cuFCxsbHKysrSqFGjdOrUKc2dO1dvvPGGevbsKUlatGiREhMTtWbNGvXq1avMbTudTjmdTvf9goICST9ehd3lctXIvuHylPSBfvgHR7BV+blBlse/CAz0NXB5o7f87K8d/K4NTPQ1cNFb31PZXtgsy6r2b9EdO3bo008/lc1m0zXXXKNrr722upuSzWbTsmXLNGjQIEnSl19+qebNm2vnzp0e273pppvUoEEDLVy4UOvWrVOPHj30/fffq2HDhu45bdu21aBBgzR16tQyHyszM7PMZVlZWQoLC6v2PgAAAAAAfh4KCws1bNgwnTp1ShEREeXOq9aR7qNHj2ro0KHKzc1VgwYNZFmWTp06pbS0NC1evFhXXHFFtQsvceTIEUlSbGysx3hsbKwOHTrknhMaGuoRuEvmlKxflkmTJmn8+PHu+wUFBUpMTFRGRsYlv1ioPS6XS9nZ2UpPT5fdbvd2OahAcubqSs91BFn6Y8diTd4eJGdx7ZyqCvPoa+DyRm/3ZpZ9phpqFr9rAxN9DVz01veUnDFdkWqF7rFjx6qgoED79u3T1VdfLUn65JNPNHz4cP3ud7/Tm2++WZ3Nlslm8/wFb1lWqbGLVTTH4XDI4XCUGrfb7XwD+xh64h+q8z5PZ7Gt1t4fitpDXwNXbfaWn/u1i9+1gYm+Bi566zsq24dqXb181apVmjNnjjtwS9I111yjv/zlL/q///u/6myylLi4OEkqdcT66NGj7qPfcXFxOn/+vE6cOFHuHAAAAAAAvKVaobu4uLjMVG+321VcXHzZRUlSs2bNFBcXp+zsbPfY+fPntX79enXt2lWS1KFDB9ntdo85+fn52rt3r3sOAAAAAADeUq3Ty2+88UY99NBDevPNN5WQkCBJ+uabb/Twww+rR48eld7OmTNn9Pnnn7vv5+XladeuXYqKilKTJk00btw4Pfvss2rRooVatGihZ599VmFhYRo2bJikHz+6bOTIkZowYYIaNWqkqKgoTZw4UW3atHFfzRwAAAAAAG+pVuieNWuWbrrpJjVt2lSJiYmy2Ww6fPiw2rRpo0WLFlV6O9u3b1daWpr7fsnFzYYPH64FCxbo0Ucf1blz5/Tggw/qxIkT6ty5sz744AP3Z3RL0ksvvaSQkBDddtttOnfunHr06KEFCxbwGd0AAAAAAK+rVuhOTEzUzp07lZ2drX//+9+yLEvXXHNNlY8up6am6lKfWGaz2ZSZmanMzMxy59SpU0czZ87UzJkzq/TYAAAAAACYVqX3dK9bt07XXHON+9Lo6enpGjt2rH73u9+pU6dOat26tTZu3GikUAAAAAAA/E2VQveMGTN03333lflZ1pGRkRo1apSmT59eY8UBAAAAAODPqhS6//Wvf6l3797lLs/IyNCOHTsuuygAAAAAAAJBlUL3d999d8kPAA8JCdF//vOfyy4KAAAAAIBAUKXQ/Ytf/EJ79uwpd/nu3bsVHx9/2UUBAAAAABAIqhS6+/btqyeffFI//PBDqWXnzp3TlClT1L9//xorDgAAAAAAf1aljwz7wx/+oKVLl6ply5YaM2aMWrVqJZvNpk8//VR/+ctfVFRUpCeeeMJUrQAAAAAA+JUqhe7Y2Fht3rxZDzzwgCZNmuT+jG2bzaZevXpp9uzZio2NNVIoAAAAAAD+pkqhW5KSkpL0/vvv68SJE/r8889lWZZatGihhg0bmqgPAAAAAAC/VeXQXaJhw4bq1KlTTdYCAAAAAEBAqdKF1AAAAAAAQOURugEAAAAAMITQDQAAAACAIYRuAAAAAAAMIXQDAAAAAGAIoRsAAAAAAEMI3QAAAAAAGELoBgAAAADAEEI3AAAAAACGELoBAAAAADCE0A0AAAAAgCGEbgAAAAAADCF0AwAAAABgCKEbAAAAAABDCN0AAAAAABhC6AYAAAAAwBBCNwAAAAAAhhC6AQAAAAAwhNANAAAAAIAhhG4AAAAAAAwhdAMAAAAAYAihGwAAAAAAQwjdAAAAAAAYQugGAAAAAMAQQjcAAAAAAIYQugEAAAAAMITQDQAAAACAIYRuAAAAAAAMIXQDAAAAAGAIoRsAAAAAAEMI3QAAAAAAGELoBgAAAADAEEI3AAAAAACGELoBAAAAADCE0A0AAAAAgCGEbgAAAAAADCF0AwAAAABgCKEbAAAAAABDCN0AAAAAABji86G7adOmstlspW6jR4+WJI0YMaLUsi5duni5agAAAAAApBBvF1CRbdu2qaioyH1/7969Sk9P169//Wv3WO/evTV//nz3/dDQ0FqtEQAAAACAsvh86L7iiis87j///PNq3ry5UlJS3GMOh0NxcXG1XRoAAAAAAJfk86H7p86fP69FixZp/Pjxstls7vHc3FzFxMSoQYMGSklJ0TPPPKOYmJhyt+N0OuV0Ot33CwoKJEkul0sul8vcDqDSSvpAP/yDI9iq/Nwgy+NfBAb6Gri80Vt+9tcOftcGJvoauOit76lsL2yWZfnNK6R//OMfGjZsmA4fPqyEhARJ0pIlS1S/fn0lJSUpLy9PkydP1oULF7Rjxw45HI4yt5OZmampU6eWGs/KylJYWJjRfQAAAAAA+L/CwkINGzZMp06dUkRERLnz/Cp09+rVS6GhoXr33XfLnZOfn6+kpCQtXrxYgwcPLnNOWUe6ExMTdezYsUt+sVB7XC6XsrOzlZ6eLrvd7u1yUIHkzNWVnusIsvTHjsWavD1IzmJbxSvAL9DXwOWN3u7N7FUrj/Nzx+/awERfAxe99T0FBQWKjo6uMHT7zenlhw4d0po1a7R06dJLzouPj1dSUpIOHDhQ7hyHw1HmUXC73c43sI+hJ/7BWVT1F+LOYlu11oNvo6+BqzZ722LyB7XyON5w8Pl+3i6hFH7XBib6Grjore+obB98/iPDSsyfP18xMTHq1+/Sv6yOHz+ur776SvHx8bVUGQAAAAAAZfOL0F1cXKz58+dr+PDhCgn578H5M2fOaOLEidqyZYsOHjyo3NxcDRgwQNHR0br55pu9WDEAAAAAAH5yevmaNWt0+PBh/eY3v/EYDw4O1p49e/T666/r5MmTio+PV1pampYsWaLw8HAvVQuU1vSxld4uAQAAAIAX+EXozsjIUFnXe6tbt65Wr678BZwAAAAAAKhNfnF6OQAAAAAA/ojQDQAAAACAIYRuAAAAAAAMIXQDAAAAAGAIoRsAAAAAAEMI3QAAAAAAGELoBgAAAADAEEI3AAAAAACGELoBAAAAADCE0A0AAAAAgCGEbgAAAAAADCF0AwAAAABgCKEbAAAAAABDCN0AAAAAABhC6AYAAAAAwBBCNwAAAAAAhhC6AQAAAAAwhNANAAAAAIAhhG4AAAAAAAwhdAMAAAAAYAihGwAAAAAAQwjdAAAAAAAYQugGAAAAAMAQQjcAAAAAAIYQugEAAAAAMITQDQAAAACAIYRuAAAAAAAMIXQDAAAAAGAIoRsAAAAAAEMI3QAAAAAAGELoBgAAAADAEEI3AAAAAACGELoBAAAAADCE0A0AAAAAgCGEbgAAAAAADCF0AwAAAABgCKEbAAAAAABDCN0AAAAAABhC6AYAAAAAwBBCNwAAAAAAhhC6AQAAAAAwhNANAAAAAIAhhG4AAAAAAAwhdAMAAAAAYAihGwAAAAAAQwjdAAAAAAAYQugGAAAAAMAQQjcAAAAAAIYQugEAAAAAMITQDQAAAACAIT4dujMzM2Wz2TxucXFx7uWWZSkzM1MJCQmqW7euUlNTtW/fPi9WDAAAAADAf/l06Jak1q1bKz8/333bs2ePe9m0adM0ffp0zZo1S9u2bVNcXJzS09N1+vRpL1YMAAAAAMCPQrxdQEVCQkI8jm6XsCxLM2bM0BNPPKHBgwdLkhYuXKjY2FhlZWVp1KhR5W7T6XTK6XS67xcUFEiSXC6XXC5XDe8BqqOkD4HSD0ew5e0SfIYjyPL4F4GBvgYueluzfOn3WqD9rsWP6Gvgore+p7K9sFmW5bO/RTMzM/WnP/1JkZGRcjgc6ty5s5599lldeeWV+vLLL9W8eXPt3LlT1157rXudm266SQ0aNNDChQsvud2pU6eWGs/KylJYWJiRfQEAAAAABI7CwkINGzZMp06dUkRERLnzfDp0/9///Z8KCwvVsmVLfffdd3r66af173//W/v27dP+/fvVrVs3ffPNN0pISHCvc//99+vQoUNavXp1udst60h3YmKijh07dskvFmqPy+VSdna20tPTZbfbvV3OZUvOLP/78efGEWTpjx2LNXl7kJzFNm+XgxpCXwMXva1ZezN7ebsEt0D7XYsf0dfARW99T0FBgaKjoysM3T59enmfPn3c/2/Tpo3+53/+R82bN9fChQvVpUsXSZLN5vkCwLKsUmMXczgccjgcpcbtdjvfwD4mUHriLOKF6sWcxTa+LgGIvgYuelszfPF3WqD8roUn+hq46K3vqGwffP5Caj9Vr149tWnTRgcOHHC/z/vIkSMec44eParY2FhvlAcAAAAAgAe/Ct1Op1Offvqp4uPj1axZM8XFxSk7O9u9/Pz581q/fr26du3qxSoBAAAAAPiRT59ePnHiRA0YMEBNmjTR0aNH9fTTT6ugoEDDhw+XzWbTuHHj9Oyzz6pFixZq0aKFnn32WYWFhWnYsGHeLh0AAAAAAN8O3V9//bVuv/12HTt2TFdccYW6dOmirVu3KikpSZL06KOP6ty5c3rwwQd14sQJde7cWR988IHCw8O9XDkAAAAAAD4euhcvXnzJ5TabTZmZmcrMzKydggAAAAAAqAK/ek83AAAAAAD+hNANAAAAAIAhhG4AAAAAAAwhdAMAAAAAYAihGwAAAAAAQwjdAAAAAAAYQugGAAAAAMAQQjcAAAAAAIYQugEAAAAAMITQDQAAAACAIYRuAAAAAAAMIXQDAAAAAGAIoRsAAAAAAEMI3QAAAAAAGELoBgAAAADAEEI3AAAAAACGELoBAAAAADAkxNsFAAAA/Fw0fWylt0twcwRbmnadlJy5Ws4i22Vv7+Dz/WqgKgAIPBzpBgAAAADAEEI3AAAAAACGELoBAAAAADCE0A0AAAAAgCGEbgAAAAAADCF0AwAAAABgCKEbAAAAAABDCN0AAAAAABhC6AYAAAAAwBBCNwAAAAAAhhC6AQAAAAAwhNANAAAAAIAhhG4AAAAAAAwhdAMAAAAAYAihGwAAAAAAQwjdAAAAAAAYQugGAAAAAMAQQjcAAAAAAIYQugEAAAAAMITQDQAAAACAIYRuAAAAAAAMIXQDAAAAAGAIoRsAAAAAAENCvF0AUKLpYyvd/3cEW5p2nZScuVrOIpsXqwIAAACA6uNINwAAAAAAhhC6AQAAAAAwhNANAAAAAIAhhG4AAAAAAAwhdAMAAAAAYAihGwAAAAAAQwjdAAAAAAAYQugGAAAAAMAQnw7dzz33nDp16qTw8HDFxMRo0KBB2r9/v8ecESNGyGazedy6dOnipYoBAAAAAPgvnw7d69ev1+jRo7V161ZlZ2frwoULysjI0NmzZz3m9e7dW/n5+e7b+++/76WKAQAAAAD4rxBvF3Apq1at8rg/f/58xcTEaMeOHbrhhhvc4w6HQ3FxcZXertPplNPpdN8vKCiQJLlcLrlcrsusGtXlCLb++/8gy+NfBA56G5joa+Cit4GrpnvLayjfUNIH+hF46K3vqWwvbJZl+c1v0c8//1wtWrTQnj17lJycLOnH08uXL1+u0NBQNWjQQCkpKXrmmWcUExNT7nYyMzM1derUUuNZWVkKCwszVj8AAAAAIDAUFhZq2LBhOnXqlCIiIsqd5zeh27Is3XTTTTpx4oQ2btzoHl+yZInq16+vpKQk5eXlafLkybpw4YJ27Nghh8NR5rbKOtKdmJioY8eOXfKLBbOSM1e7/+8IsvTHjsWavD1IzmKbF6tCTaO3gYm+Bi56G7hqurd7M3vVQFW4XC6XS9nZ2UpPT5fdbvd2OahB9Nb3FBQUKDo6usLQ7dOnl//UmDFjtHv3bm3atMljfMiQIe7/Jycnq2PHjkpKStLKlSs1ePDgMrflcDjKDOR2u51vYC9yFpX+he8stpU5Dv9HbwMTfQ1c9DZw1VRveQ3lW3hdG7jore+obB/8InSPHTtWK1as0IYNG9S4ceNLzo2Pj1dSUpIOHDhQS9UBAAAAAFA2nw7dlmVp7NixWrZsmXJzc9WsWbMK1zl+/Li++uorxcfH10KFAAAAAACUz6dD9+jRo5WVlaV33nlH4eHhOnLkiCQpMjJSdevW1ZkzZ5SZmalbbrlF8fHxOnjwoB5//HFFR0fr5ptv9nL1AAAAPx9NH1vp7RKMOvh8P2+XAMBP+XTonjNnjiQpNTXVY3z+/PkaMWKEgoODtWfPHr3++us6efKk4uPjlZaWpiVLlig8PNwLFQMAAAAA8F8+HborurB63bp1tXr16kvOAQAAAADAW4K8XQAAAAAAAIGK0A0AAAAAgCGEbgAAAAAADCF0AwAAAABgCKEbAAAAAABDCN0AAAAAABhC6AYAAAAAwBBCNwAAAAAAhhC6AQAAAAAwhNANAAAAAIAhhG4AAAAAAAwhdAMAAAAAYAihGwAAAAAAQwjdAAAAAAAYQugGAAAAAMAQQjcAAAAAAIYQugEAAAAAMITQDQAAAACAIYRuAAAAAAAMIXQDAAAAAGAIoRsAAAAAAEMI3QAAAAAAGELoBgAAAADAEEI3AAAAAACGELoBAAAAADCE0A0AAAAAgCGEbgAAAAAADCF0AwAAAABgCKEbAAAAAABDCN0AAAAAABhC6AYAAAAAwBBCNwAAAAAAhhC6AQAAAAAwJMTbBaDymj620tslAAAAAACqgCPdAAAAAAAYQugGAAAAAMAQTi8HAAAAKuAvb/NzBFuadp2UnLlaziJbpdY5+Hw/w1UBP28c6QYAAAAAwBBCNwAAAAAAhhC6AQAAAAAwhNANAAAAAIAhhG4AAAAAAAwhdAMAAAAAYAihGwAAAAAAQwjdAAAAAAAYQugGAAAAAMAQQjcAAAAAAIYQugEAAAAAMCTE2wUAAAAAgClNH1vp7RJqhCPY0rTrpOTM1XIW2SRJB5/v5+WqUBkBc6R79uzZatasmerUqaMOHTpo48aN3i4JAAAAAPAzFxBHupcsWaJx48Zp9uzZ6tatm1577TX16dNHn3zyiZo0aeLt8gAAAACfFShHgn+OArl3gXQUPyCOdE+fPl0jR47Uvffeq6uvvlozZsxQYmKi5syZ4+3SAAAAAAA/Y35/pPv8+fPasWOHHnvsMY/xjIwMbd68ucx1nE6nnE6n+/6pU6ckSd9//71cLpe5Yi9TyIWz3i6h1oQUWyosLFaIK0hFxTZvl4MaRG8DE30NXPQ2cNHbwERfA9fPrbfHjx/3dgkVOn36tCTJsqxLzvP70H3s2DEVFRUpNjbWYzw2NlZHjhwpc53nnntOU6dOLTXerFkzIzWieoZ5uwAYQ28DE30NXPQ2cNHbwERfA9fPqbfRL3q7gso7ffq0IiMjy13u96G7hM3m+dcey7JKjZWYNGmSxo8f775fXFys77//Xo0aNSp3HdSugoICJSYm6quvvlJERIS3y0ENoreBib4GLnobuOhtYKKvgYve+h7LsnT69GklJCRccp7fh+7o6GgFBweXOqp99OjRUke/SzgcDjkcDo+xBg0amCoRlyEiIoIfKgGK3gYm+hq46G3goreBib4GLnrrWy51hLuE319ILTQ0VB06dFB2drbHeHZ2trp27eqlqgAAAAAACIAj3ZI0fvx43XXXXerYsaP+53/+R3/96191+PBh/fa3v/V2aQAAAACAn7GACN1DhgzR8ePH9dRTTyk/P1/Jycl6//33lZSU5O3SUE0Oh0NTpkwp9TYA+D96G5joa+Cit4GL3gYm+hq46K3/slkVXd8cAAAAAABUi9+/pxsAAAAAAF9F6AYAAAAAwBBCNwAAAAAAhhC6AQAAAAAwhNCNWrNhwwYNGDBACQkJstlsWr58eak5n376qQYOHKjIyEiFh4erS5cuOnz4sHu50+nU2LFjFR0drXr16mngwIH6+uuva3EvUJaKenvmzBmNGTNGjRs3Vt26dXX11Vdrzpw5HnPore957rnn1KlTJ4WHhysmJkaDBg3S/v37PeZYlqXMzEwlJCSobt26Sk1N1b59+zzm0FvfU1FvXS6Xfv/736tNmzaqV6+eEhISdPfdd+vbb7/12A699S2Vec7+1KhRo2Sz2TRjxgyPcfrqeyrbW15H+Z/K9JbXUf6P0I1ac/bsWbVt21azZs0qc/kXX3yh7t2765e//KVyc3P1r3/9S5MnT1adOnXcc8aNG6dly5Zp8eLF2rRpk86cOaP+/furqKiotnYDZaiotw8//LBWrVqlRYsW6dNPP9XDDz+ssWPH6p133nHPobe+Z/369Ro9erS2bt2q7OxsXbhwQRkZGTp79qx7zrRp0zR9+nTNmjVL27ZtU1xcnNLT03X69Gn3HHrreyrqbWFhoXbu3KnJkydr586dWrp0qT777DMNHDjQYzv01rdU5jlbYvny5frnP/+phISEUsvoq++pTG95HeWfKtNbXkcFAAvwAknWsmXLPMaGDBli3XnnneWuc/LkSctut1uLFy92j33zzTdWUFCQtWrVKlOloorK6m3r1q2tp556ymOsffv21h/+8AfLsuitvzh69KglyVq/fr1lWZZVXFxsxcXFWc8//7x7zg8//GBFRkZar776qmVZ9NZfXNzbsnz00UeWJOvQoUOWZdFbf1BeX7/++mvrF7/4hbV3714rKSnJeumll9zL6Kt/KKu3vI4KDGX1ltdR/o8j3fAJxcXFWrlypVq2bKlevXopJiZGnTt39jhNeceOHXK5XMrIyHCPJSQkKDk5WZs3b/ZC1ais7t27a8WKFfrmm29kWZZycnL02WefqVevXpLorb84deqUJCkqKkqSlJeXpyNHjnj0zeFwKCUlxd03eusfLu5teXNsNpsaNGggid76g7L6WlxcrLvuukuPPPKIWrduXWod+uofLu4tr6MCR1nPW15H+T9CN3zC0aNHdebMGT3//PPq3bu3PvjgA918880aPHiw1q9fL0k6cuSIQkND1bBhQ491Y2NjdeTIEW+U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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df['Weight'].hist(bins=15, figsize=(10,6))\n", "plt.suptitle('Weight distribution of MLB Players')\n", "plt.xlabel('Weight')\n", "plt.ylabel('Count')\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Normal Distribution\n", "\n", "Let's create an artificial sample of weights that follows a normal distribution with the same mean and variance as our real data:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([71.41375372, 74.30011938, 72.5826174 , 77.05843603, 78.17094887,\n", " 75.23308741, 76.48387636, 73.00078243, 74.35087423, 71.6958777 ,\n", " 73.55595441, 71.2638726 , 73.54496098, 74.24140088, 69.89231234,\n", " 70.25215012, 76.73900163, 71.69131153, 75.09628894, 77.82985532])" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "generated = np.random.normal(mean, std, 1000)\n", "generated[:20]" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAqu0lEQVR4nO3df5BV9Xn48eeGlQs4yxpcYXfjsmCKrQWKP0i1aiMYQVcCqVgVNQpVmXS0jgRRIcYRnRSorb8aRo0ZghhwdDpVaoOtggHRGluBYME4imZR1N0ysbgLSpYNe75/5OutCwu4yX64u/J6zZwZ7znnXp47n9n2vHPu3c1lWZYFAAAA0Om+UOwBAAAA4PNKdAMAAEAiohsAAAASEd0AAACQiOgGAACAREQ3AAAAJCK6AQAAIBHRDQAAAImUFHuA30Vra2u8//77UVpaGrlcrtjjAAAAcIjJsiy2b98eVVVV8YUv7Pt+dreM7vfffz+qq6uLPQYAAACHuC1btsTRRx+9z+PdMrpLS0sj4rdvrm/fvkWeBgAAgENNU1NTVFdXF/p0X7pldH/ykfK+ffuKbgAAAIrmQF959ovUAAAAIBHRDQAAAImIbgAAAEhEdAMAAEAiohsAAAASEd0AAACQiOgGAACAREQ3AAAAJCK6AQAAIBHRDQAAAImIbgAAAEhEdAMAAEAiohsAAAASEd0AAACQiOgGAACAREQ3AAAAJCK6AQAAIBHRDQAAAImIbgAAAEhEdAMAAEAiohsAAAAS6XB0r169OsaPHx9VVVWRy+Vi6dKlbY7ncrl2t7//+78vnDNq1Ki9jk+aNOn3fjMAAADQlXQ4uj/66KMYMWJEzJ8/v93j9fX1bbYf/ehHkcvl4vzzz29z3tSpU9uc94Mf/OB3ewcAAADQRZV09Am1tbVRW1u7z+MVFRVtHv/Lv/xLjB49Oo455pg2+/v06bPXuQBwKBs0c1mxR0hq87xxxR4BAA66pN/p/p//+Z9YtmxZXHnllXsdW7JkSZSXl8fQoUNjxowZsX379pSjAAAAwEHX4TvdHbFo0aIoLS2NiRMnttl/6aWXxuDBg6OioiI2btwYs2bNildeeSWWL1/e7us0NzdHc3Nz4XFTU1PKsQEAAKBTJI3uH/3oR3HppZdGr1692uyfOnVq4b+HDRsWQ4YMiZEjR8a6devixBNP3Ot15s6dG7fddlvKUQEAAKDTJft4+fPPPx+vv/56XHXVVQc898QTT4zDDjssNm3a1O7xWbNmRWNjY2HbsmVLZ48LAAAAnS7Zne4FCxbESSedFCNGjDjgua+++mq0tLREZWVlu8fz+Xzk8/nOHhEAAACS6nB079ixI958883C47q6uli/fn3069cvBg4cGBG//c71P/3TP8Wdd9651/PfeuutWLJkSZx77rlRXl4ev/jFL+L666+PE044IU477bTf460AAABA19Lh6F6zZk2MHj268Hj69OkRETF58uR46KGHIiLi0UcfjSzL4uKLL97r+T179oxnn3027r333tixY0dUV1fHuHHj4tZbb40ePXr8jm8DAAAAup5clmVZsYfoqKampigrK4vGxsbo27dvsccBgE7h73QDQPfxWbs06W8vBwD4xOf9f1SI8D8sALC3ZL+9HAAAAA51ohsAAAASEd0AAACQiOgGAACAREQ3AAAAJCK6AQAAIBHRDQAAAImIbgAAAEhEdAMAAEAiohsAAAASEd0AAACQiOgGAACAREQ3AAAAJCK6AQAAIBHRDQAAAImIbgAAAEhEdAMAAEAiohsAAAASEd0AAACQiOgGAACAREQ3AAAAJCK6AQAAIBHRDQAAAImIbgAAAEhEdAMAAEAiohsAAAASEd0AAACQiOgGAACAREQ3AAAAJCK6AQAAIBHRDQAAAImIbgAAAEhEdAMAAEAiohsAAAASEd0AAACQiOgGAACAREQ3AAAAJCK6AQAAIBHRDQAAAImIbgAAAEhEdAMAAEAiohsAAAASEd0AAACQSEmxBwCAz2LQzGXFHgEAoMPc6QYAAIBERDcAAAAkIroBAAAgEdENAAAAiYhuAAAASER0AwAAQCKiGwAAABIR3QAAAJCI6AYAAIBERDcAAAAkIroBAAAgEdENAAAAiYhuAAAASER0AwAAQCKiGwAAABIR3QAAAJCI6AYAAIBERDcAAAAk0uHoXr16dYwfPz6qqqoil8vF0qVL2xyfMmVK5HK5Ntspp5zS5pzm5ua49tpro7y8PA4//PCYMGFCvPvuu7/XGwEAAICupsPR/dFHH8WIESNi/vz5+zznnHPOifr6+sL21FNPtTk+bdq0eOKJJ+LRRx+NF154IXbs2BFf//rXY/fu3R1/BwAAANBFlXT0CbW1tVFbW7vfc/L5fFRUVLR7rLGx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pNgDANA5Bs1cVuwRAADYgzvdAAAAkIjoBgAAgERENwAAACQiugEAACAR0Q0AAACJiG4AAABIRHQDAABAIqIbAAAAEhHdAAAAkIjoBgAAgERENwAAACQiugEAACAR0Q0AAACJiG4AAABIRHQDAABAIqIbAAAAEhHdAAAAkIjoBgAAgERENwAAACQiugEAACAR0Q0AAACJiG4AAABIRHQDAABAIqIbAAAAEhHdAAAAkIjoBgAAgERENwAAACQiugEAACAR0Q0AAACJiG4AAABIRHQDAABAIqIbAAAAEhHdAAAAkIjoBgAAgERENwAAACQiugEAACAR0Q0AAACJiG4AAABIRHQDAABAIqIbAAAAEhHdAAAAkIjoBgAAgEQ6HN2rV6+O8ePHR1VVVeRyuVi6dGmb41mWxezZs6Oqqip69+4do0aNildffbXNOc3NzXHttddGeXl5HH744TFhwoR49913f683AgAAAF1Nh6P7o48+ihEjRsT8+fPbPX7HHXfEXXfdFfPnz4+XX345KioqYsyYMbF9+/bCOdOmTYsnnngiHn300XjhhRdix44d8fWvfz127979u78TAAAA6GJKOvqE2traqK2tbfdYlmVxzz33xM033xwTJ06MiIhFixbFgAED4pFHHolvfetb0djYGAsWLIgf//jHcdZZZ0VExOLFi6O6ujpWrFgRZ5999u/xdgAAAKDr6NTvdNfV1UVDQ0OMHTu2sC+fz8cZZ5wRL774YkRErF27NlpaWtqcU1VVFcOGDSucAwAAAJ8HHb7TvT8NDQ0RETFgwIA2+wcMGBBvv/124ZyePXvGF7/4xb3O+eT5e2pubo7m5ubC46amps4cGwAAAJJI8tvLc7lcm8dZlu21b0/7O2fu3LlRVlZW2KqrqzttVgAAAEilU6O7oqIiImKvO9Zbt24t3P2uqKiIXbt2xbZt2/Z5zp5mzZoVjY2NhW3Lli2dOTYAAAAk0anRPXjw4KioqIjly5cX9u3atSuee+65OPXUUyMi4qSTTorDDjuszTn19fWxcePGwjl7yufz0bdv3zYbAAAAdHUd/k73jh074s033yw8rquri/Xr10e/fv1i4MCBMW3atJgzZ04MGTIkhgwZEnPmzIk+ffrEJZdcEhERZWVlceWVV8b1118fRx55ZPTr1y9mzJgRw4cPL/w2cwAAAPg86HB0r1mzJkaPHl14PH369IiImDx5cjz00ENx4403xs6dO+Pqq6+Obdu2xcknnxzPPPNMlJaWFp5z9913R0lJSVx44YWxc+fO+NrXvhYPPfRQ9OjRoxPeEgAAAHQNuSzLsmIP0VFNTU1RVlYWjY2NPmoO8P8Nmrms2CPAIW/zvHHFHgGAg+SzdmmS314OAAAAiG4AAABIRnQDAABAIqIbAAAAEhHdAAAAkIjoBgAAgERENwAAACQiugEAACCRkmIPAADweTFo5rJij5Dc5nnjij0CQLfiTjcAAAAkIroBAAAgEdENAAAAiYhuAAAASER0AwAAQCKiGwAAABIR3QAAAJCI6AYAAIBERDcAAAAkIroBAAAgEdENAAAAiYhuAAAASER0AwAAQCKiGwAAABIR3QAAAJCI6AYAAIBERDcAAAAkIroBAAAgEdENAAAAiYhuAAAASER0AwAAQCKiGwAAABIR3QAAAJCI6AYAAIBERDcAAAAkIroBAAAgEdENAAAAiYhuAAAASER0AwAAQCKiGwAAABIR3QAAAJCI6AYAAIBESoo9AAAA3cegmcuKPUJSm+eNK/YIwOeMO90AAACQiOgGAACAREQ3AAAAJCK6AQAAIBHRDQAAAImIbgAAAEhEdAMAAEAiohsAAAASEd0AAACQiOgGAACAREQ3AAAAJCK6AQAAIBHRDQAAAImIbgAAAEhEdAMAAEAiohsAAAASEd0AAACQiOgGAACAREQ3AAAAJCK6AQAAIBHRDQAAAIl0enQPGjQocrncXts111wTERFTpkzZ69gpp5zS2WMAAABA0ZV09gu+/PLLsXv37sLjjRs3xpgxY+KCCy4o7DvnnHNi4cKFhcc9e/bs7DEAAACg6Do9uo866qg2j+fNmxdf/vKX44wzzijsy+fzUVFR0dn/NAAAAHQpSb/TvWvXrli8eHFcccUVkcvlCvtXrVoV/fv3j2OPPTamTp0aW7duTTkGAAAAFEWn3+n+tKVLl8aHH34YU6ZMKeyrra2NCy64IGpqaqKuri5uueWWOPPMM2Pt2rWRz+fbfZ3m5uZobm4uPG5qako5NgAAAHSKpNG9YMGCqK2tjaqqqsK+iy66qPDfw4YNi5EjR0ZNTU0sW7YsJk6c2O7rzJ07N2677baUowIAAECnS/bx8rfffjtWrFgRV1111X7Pq6ysjJqamti0adM+z5k1a1Y0NjYWti1btnT2uAAAANDpkt3pXrhwYfTv3z/GjRu33/M++OCD2LJlS1RWVu7znHw+v8+PngMAAEBXleROd2trayxcuDAmT54cJSX/1/U7duyIGTNmxM9+9rPYvHlzrFq1KsaPHx/l5eVx3nnnpRgFAAAAiibJne4VK1bEO++8E1dccUWb/T169IgNGzbEww8/HB9++GFUVlbG6NGj47HHHovS0tIUowAAAEDRJInusWPHRpZle+3v3bt3PP300yn+SQAAAOhykv6dbgAAADiUiW4AAABIRHQDAABAIqIbAAAAEhHdAAAAkIjoBgAAgERENwAAACQiugEAACAR0Q0AAACJiG4AAABIRHQDAABAIqIbAAAAEhHdAAAAkIjoBgAAgERENwAAACQiugEAACAR0Q0AAACJiG4AAABIRHQDAABAIqIbAAAAEhHdAAAAkIjoBgAAgERENwAAACQiugEAACAR0Q0AAACJiG4AAABIpKTYAwAcDINmLiv2CAAAHILc6QYAAIBERDcAAAAkIroBAAAgEdENAAAAiYhuAAAASER0AwAAQCKiGwAAABIR3QAAAJCI6AYAAIBERDcAAAAkIroBAAAgEdENAAAAiYhuAAAASER0AwAAQCKiGwAAABIR3QAAAJCI6AYAAIBERDcAAAAkIroBAAAgEdENAAAAiYhuAAAASER0AwAAQCKiGwAAABIR3QAAAJCI6AYAAIBERDcAAAAkIroBAAAgEdENAAAAiYhuAAAASER0AwAAQCKiGwAAABIR3QAAAJCI6AYAAIBERDcAAAAkIroBAAAgEdENAAAAiXR6dM+ePTtyuVybraKionA8y7KYPXt2VFVVRe/evWPUqFHx6quvdvYYAAAAUHRJ7nQPHTo06uvrC9uGDRsKx+6444646667Yv78+fHyyy9HRUVFjBkzJrZv355iFAAAACiaJNFdUlISFRUVhe2oo46KiN/e5b7nnnvi5ptvjokTJ8awYcNi0aJF8fHHH8cjjzySYhQAAAAomiTRvWnTpqiqqorBgwfHpEmT4pe//GVERNTV1UVDQ0OMHTu2cG4+n48zzjgjXnzxxX2+XnNzczQ1NbXZAAAAoKvr9Og++eST4+GHH46nn346fvjDH0ZDQ0Oceuqp8cEHH0RDQ0NERAwYMKDNcwYMGFA41p65c+dGWVlZYauuru7ssQEAAKDTdXp019bWxvnnnx/Dhw+Ps846K5YtWxYREYsWLSqck8vl2jwny7K99n3arFmzorGxsbBt2bKls8cGAACATpf8T4YdfvjhMXz48Ni0aVPht5jveVd769ate939/rR8Ph99+/ZtswEAAEBXlzy6m5ub47XXXovKysoYPHhwVFRUxPLlywvHd+3aFc8991yceuqpqUcBAACAg6qks19wxowZMX78+Bg4cGBs3bo1vve970VTU1NMnjw5crlcTJs2LebMmRNDhgyJIUOGxJw5c6JPnz5xySWXdPYoAAAAUFSdHt3vvvtuXHzxxfGrX/0qjjrqqDjllFPipZdeipqamoiIuPHGG2Pnzp1x9dVXx7Zt2+Lkk0+OZ555JkpLSzt7FAAAACiqXJZlWbGH6KimpqYoKyuLxsZG3+8GPpNBM5cVewQAuoHN88YVewSgm/isXZr8O90AAABwqBLdAAAAkIjoBgAAgERENwAAACQiugEAACAR0Q0AAACJiG4AAABIRHQDAABAIqIbAAAAEhHdAAAAkIjoBgAAgERENwAAACQiugEAACAR0Q0AAACJiG4AAABIRHQDAABAIqIbAAAAEikp9gAAANBVDJq5rNgjJLd53rhijwCHFHe6AQAAIBHRDQAAAImIbgAAAEhEdAMAAEAiohsAAAASEd0AAACQiOgGAACAREQ3AAAAJCK6AQAAIBHRDQAAAImIbgAAAEhEdAMAAEAiohsAAAASEd0AAACQiOgGAACAREQ3AAAAJCK6AQAAIBHRDQAAAImIbgAAAEhEdAMAAEAiohsAAAASEd0AAACQiOgGAACAREqKPQDQNQyauazYIwAAwOeOO90AAACQiOgGAACAREQ3AAAAJCK6AQAAIBHRDQAAAImIbgAAAEhEdAMAAEAiohsAAAASEd0AAACQiOgGAACAREQ3AAAAJCK6AQAAIBHRDQAAAImIbgAAAEhEdAMAAEAiohsAAAASEd0AAACQiOgGAACAREQ3AAAAJCK6AQAAIBHRDQAAAIl0enTPnTs3vvKVr0RpaWn0798//uIv/iJef/31NudMmTIlcrlcm+2UU07p7FEAAACgqDo9up977rm45ppr4qWXXorly5fHb37zmxg7dmx89NFHbc4755xzor6+vrA99dRTnT0KAAAAFFVJZ7/gv//7v7d5vHDhwujfv3+sXbs2vvrVrxb2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cmTMmTMnIiJOOOGEePXVV+P++++Pyy+/vPDLE77xjW/Et7/97YiIOP744+PFF1+MBx54IM4444yizX4oO9C6RUT84z/+Y7z00kvx5JNPRk1NTaxevTquvvrqqKysjLPOOquY4/P/LViwIGpra/f6Humed0+zLNvnHVUOvn2tW0RES0tLTJo0KVpbW+O+++4rwnTsy57rtnbt2rj33ntj3bp1fr66uD3XzrVJ99De/610bdJ1PfbYY7F48eJ45JFHYujQobF+/fqYNm1aVFVVxeTJkwvnuUbpfkR3F1BZWRl//Md/3GbfcccdF//8z/8cERHl5eVRUlLS7jkvvPDCQZuTtg60bjt37ozvfOc78cQTT8S4ceMiIuJP/uRPYv369fEP//AP/h9bF/D222/HihUr4vHHHy/sq6ioiIiIhoaGqKysLOzfunVrDBgw4KDPyN7aW7dPtLS0xIUXXhh1dXXx05/+NPr27VuECWlPe+v2/PPPx9atW2PgwIGFfbt3747rr78+7rnnnti8eXMRJmVP7a2da5Our711c23Std1www0xc+bMmDRpUkREDB8+PN5+++2YO3duTJ482TVKN+Y73V3AaaedFq+//nqbfW+88UbU1NRERETPnj3jK1/5yn7P4eA70Lq1tLRES0tLfOELbX/MevTo0eZPP1A8CxcujP79+xcuPCIiBg8eHBUVFbF8+fLCvl27dsVzzz0Xp556ajHGZA/trVvE/wX3pk2bYsWKFXHkkUcWaULa0966XXbZZfHf//3fsX79+sJWVVUVN9xwQzz99NNFnJZPa2/tXJt0fe2tm2uTru3jjz/e79q4RunGiv35dn77G3ZLSkqyv/3bv802bdqULVmyJOvTp0+2ePHiwjmPP/54dthhh2UPPvhgtmnTpuz73/9+1qNHj+z5558v4uSHts+ybmeccUY2dOjQbOXKldkvf/nLbOHChVmvXr2y++67r4iTk2VZtnv37mzgwIHZTTfdtNexefPmZWVlZdnjjz+ebdiwIbv44ouzysrKrKmpqQiT8mn7WreWlpZswoQJ2dFHH52tX78+q6+vL2zNzc1FmpZP7O/nbU++09217G/tXJt0XftbN9cmXdfkyZOzL33pS9lPfvKTrK6uLnv88cez8vLy7MYbbyyc4xqlexLdXcS//uu/ZsOGDcvy+Xz2R3/0R9mDDz641zkLFizI/uAP/iDr1atXNmLEiGzp0qVFmJRPO9C61dfXZ1OmTMmqqqqyXr16ZX/4h3+Y3Xnnnfv8E0ccPE8//XQWEdnrr7++17HW1tbs1ltvzSoqKrJ8Pp999atfzTZs2FCEKdnTvtatrq4ui4h2t5UrVxZnWAr29/O2J9HdtRxo7VybdE37WzfXJl1XU1NTdt1112UDBw7MevXqlR1zzDHZzTff3OZ/PHaN0j3lsizLinSTHQAAAD7XfKcbAAAAEhHdAAAAkIjoBgAAgERENwAAACQiugEAACAR0Q0AAACJiG4AAABIRHQDAABAIqIbAAAAEhHdAAAAkIjoBgAAgERENwAAACTy/wA9mfsX839WqgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10,6))\n", "plt.hist(generated, bins=15)\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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OczJnrdj/fBt3749RowYEWvXrjVdqJsVe9527NgRV1xxRYwbNy6WLFkSp53Wqz8jzERnftas6S5NbW1tMWDAgPjhD38Y1113XeH43XffHRs3bow1a9ZkWB0ny5ru8jJr1qx44YUX4rXXXovRo0dnXQ6dMHny5Dj33HPjySefzLoUjuGFF16I6667Lvr06VM4dvDgwcjlcnHaaadFa2tru8eyVJF1AVkaPnx4DB8+/ITjfvCDH8RDDz1UuL9jx4648sor47nnnotx48alLJFjONnzdiyHPmNqbW3typI4CcWct//+7/+OK664IsaOHRvPPPOMwJ2RU/lZo7T07ds3xo4dG6tXr24XulevXh3XXHNNhpVBz5PP52PWrFmxYsWKePXVVwXuMpbP571nLGGTJk2KTZs2tTv2V3/1V/FHf/RH8e1vf7tkAndELw/dJ2vkyJHt7p9xxhkREXHuuefG2WefnUVJnISf/exn8bOf/Swuu+yyGDJkSLz77rvxne98J84991xd7hK2Y8eOmDhxYowcOTL+9m//Nn7zm98UHqupqcmwMo7n/fffj48++ijef//9OHjwYGzcuDEiIj772c8WfmeSrdmzZ8fNN98cl156aYwfPz6eeuqpeP/99+2XUOL27dsX77zzTuH+li1bYuPGjTF06NCj3p9QGu68885Yvnx5vPjii1FVVVXYN2Hw4MHRv3//jKujI/fff39MmzYtRowYEXv37o2mpqZ49dVX4+WXX866NDpQVVV11F4Jh/ZxKrU9FIRueqz+/fvHj370o3jwwQdj//79cdZZZ8VXv/rVaGpqisrKyqzLowOrVq2Kd955J955552jPtTqxathSt53vvOddkttLrnkkoiI+OlPfxoTJ07MqCoO9/Wvfz1++9vfxne/+93YuXNn1NXVxU9+8pM455xzsi6N41i/fn1cccUVhfuzZ8+OiIhbbrkllixZklFVHM+hy/Id+bvvmWeeiVtvvbX7C+KkfPDBB3HzzTfHzp07Y/DgwXHhhRfGyy+/HFOmTMm6NHqAXr2mGwAAAFKyUBIAAAASEboBAAAgEaEbAAAAEhG6AQAAIBGhGwAAABIRugEAACARoRsAAAASEboBAAAgEaEbAAAAEhG6AQAAIBGhGwAAABIRugEAACCR/w+cyfKcMhEKFwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10,6))\n", "plt.hist(np.random.normal(0,1,50000), bins=300)\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since most values in real life are normally distributed, we should not use a uniform random number generator to generate sample data. Here is what happens if we try to generate weights with a uniform distribution (generated by `np.random.rand`):" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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hQtjzJgx23zN6urqqK2t7bcBAADAvq7sn+n+6le/GrfffnsceeSRcfzxx8cvfvGLmDlzZlx55ZUR8eHbyltaWqKtrS2am5ujubk52traYtCgQTF58uRyjwMAAAAVU/bovvvuu+OWW26JKVOmRHd3dzQ2NsbVV18df/VXf1U656abbor169fHlClTYvXq1TF69OhYsGBB1NTUlHscAAAAqJhCsVgsVnqIXdXb2xt1dXXR09OzX7zVfMTUJys9AgAAwH7jrTsmVHqEHdrZLi37Z7oBAACAD4luAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKkRPevf/3r+NM//dMYOnRoDBo0KD73uc/F4sWLS8eLxWK0trZGY2NjDBw4MMaOHRuvvPJKxigAAABQMWWP7tWrV8cXvvCFOPjgg+Of/umf4j//8z/j+9//fhx66KGlc2bMmBEzZ86M2bNnR2dnZzQ0NMS4ceNizZo15R4HAAAAKqaq3C945513RlNTU8ydO7e0b8SIEaX/LhaLMWvWrJg+fXpMmjQpIiLmzZsX9fX1MX/+/Lj66qvLPRIAAABURNmvdD/++ONxyimnxIUXXhjDhg2L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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "wrong_sample = np.random.rand(1000)*2*std+mean-std\n", "plt.figure(figsize=(10,6))\n", "plt.hist(wrong_sample)\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Confidence Intervals\n", "\n", "Let's now calculate confidence intervals for the weights and heights of baseball players. We will use the code [from this stackoverflow discussion](https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data):" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "p=0.85, mean = 201.73 ± 0.94\n", "p=0.90, mean = 201.73 ± 1.08\n", "p=0.95, mean = 201.73 ± 1.28\n" ] } ], "source": [ "import scipy.stats\n", "\n", "def mean_confidence_interval(data, confidence=0.95):\n", " a = 1.0 * np.array(data)\n", " n = len(a)\n", " m, se = np.mean(a), scipy.stats.sem(a)\n", " h = se * scipy.stats.t.ppf((1 + confidence) / 2., n-1)\n", " return m, h\n", "\n", "for p in [0.85, 0.9, 0.95]:\n", " m, h = mean_confidence_interval(df['Weight'].fillna(method='pad'),p)\n", " print(f\"p={p:.2f}, mean = {m:.2f} ± {h:.2f}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Hypothesis Testing\n", "\n", "Let's explore different roles in our baseball players dataset:" ] }, { "cell_type": "code", "execution_count": 18, "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", " \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", "
HeightWeightCount
Role
Catcher72.723684204.32894776
Designated_Hitter74.222222220.88888918
First_Baseman74.000000213.10909155
Outfielder73.010309199.113402194
Relief_Pitcher74.374603203.517460315
Second_Baseman71.362069184.34482858
Shortstop71.903846182.92307752
Starting_Pitcher74.719457205.163636221
Third_Baseman73.044444200.95555645
\n", "
" ], "text/plain": [ " Height Weight Count\n", "Role \n", "Catcher 72.723684 204.328947 76\n", "Designated_Hitter 74.222222 220.888889 18\n", "First_Baseman 74.000000 213.109091 55\n", "Outfielder 73.010309 199.113402 194\n", "Relief_Pitcher 74.374603 203.517460 315\n", "Second_Baseman 71.362069 184.344828 58\n", "Shortstop 71.903846 182.923077 52\n", "Starting_Pitcher 74.719457 205.163636 221\n", "Third_Baseman 73.044444 200.955556 45" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.groupby('Role').agg({ 'Height' : 'mean', 'Weight' : 'mean', 'Age' : 'count'}).rename(columns={ 'Age' : 'Count'})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's test the hypothesis that First Basemen are taller than Second Basemen. The simplest way to do this is to test the confidence intervals:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Conf=0.85, 1st basemen height: 73.62..74.38, 2nd basemen height: 71.04..71.69\n", "Conf=0.90, 1st basemen height: 73.56..74.44, 2nd basemen height: 70.99..71.73\n", "Conf=0.95, 1st basemen height: 73.47..74.53, 2nd basemen height: 70.92..71.81\n" ] } ], "source": [ "for p in [0.85,0.9,0.95]:\n", " m1, h1 = mean_confidence_interval(df.loc[df['Role']=='First_Baseman',['Height']],p)\n", " m2, h2 = mean_confidence_interval(df.loc[df['Role']=='Second_Baseman',['Height']],p)\n", " print(f'Conf={p:.2f}, 1st basemen height: {m1-h1[0]:.2f}..{m1+h1[0]:.2f}, 2nd basemen height: {m2-h2[0]:.2f}..{m2+h2[0]:.2f}')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can see that the intervals do not overlap.\n", "\n", "A statistically more correct way to prove the hypothesis is to use a **Student t-test**:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "T-value = 7.65\n", "P-value: 9.137321189738959e-12\n" ] } ], "source": [ "from scipy.stats import ttest_ind\n", "\n", "tval, pval = ttest_ind(df.loc[df['Role']=='First_Baseman',['Height']], df.loc[df['Role']=='Second_Baseman',['Height']],equal_var=False)\n", "print(f\"T-value = {tval[0]:.2f}\\nP-value: {pval[0]}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The two values returned by the `ttest_ind` function are:\n", "* p-value can be considered as the probability of two distributions having the same mean. In our case, it is very low, meaning that there is strong evidence supporting that first basemen are taller.\n", "* t-value is the intermediate value of normalized mean difference that is used in the t-test, and it is compared against a threshold value for a given confidence value." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Simulating a Normal Distribution with the Central Limit Theorem\n", "\n", "The pseudo-random generator in Python is designed to give us a uniform distribution. If we want to create a generator for normal distribution, we can use the central limit theorem. To get a normally distributed value we will just compute a mean of a uniform-generated sample." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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bY+FCxd2eMzly5fHxIkT46KLLopnnnkmLrroojj//PPjySef7Oz0AAAAoFup6OyA8ePHx/jx4zvcp7KyMvr167fTx5w1a1acccYZMW3atIiImDZtWjzyyCMxa9asuO+++zo7RQAAAOg2Uj7jvXTp0ujTp08cddRR8ZWvfCVeeumlDvdfvnx5jBs3rt22M888M5544omM6QEAAMBu0+k73jsyfvz4+MxnPhMDBw6MtWvXxvTp0+OjH/1oPPXUU1FZWbnNMU1NTdG3b9922/r27RtNTU3b/Tmtra3R2tra9rylpaU8JwAAAABlVPbwnjhxYts/H3/88XHSSSfFwIEDY8GCBfGpT31qu+NKpVK750VRbLXt99XX18eMGTN2fcIAvO8MqlvQ1VMAANhp6X9OrKamJgYOHBhr1qzZ7j79+vXb6u72Sy+9tNVd8N83bdq0aG5ubnusX7++bHMGAACAckkP71deeSXWr18fNTU1291n1KhRsXjx4nbbFi1aFKNHj97umMrKyqiqqmr3AAAAgO6m0281f/311+PZZ59te7527dpoaGiI3r17R+/evePqq6+O8847L2pqamLdunXxzW9+Mw455JD40z/907YxkyZNiv79+0d9fX1ERFxyySVx2mmnxXXXXRef/OQn46GHHoqHH344HnvssTKcIgAAAHSdTof3ihUrYuzYsW3Pp06dGhERkydPjttuuy1+/vOfxz333BOvvvpq1NTUxNixY+P++++PXr16tY1pbGyMffb5/5vto0ePjrlz58aVV14Z06dPjyFDhsT9998fI0aM2JVzAwAAgC5XKoqi6OpJlENLS0tUV1dHc3Ozt50D7OF8uRrsXdbNPKerpwCwlc40aPpnvAEAAGBvJrwBAAAgkfAGAACARMIbAAAAEglvAAAASCS8AQAAIJHwBgAAgETCGwAAABIJbwAAAEgkvAEAACCR8AYAAIBEwhsAAAASCW8AAABIJLwBAAAgkfAGAACARMIbAAAAEglvAAAASCS8AQAAIJHwBgAAgETCGwAAABIJbwAAAEgkvAEAACCR8AYAAIBEwhsAAAASCW8AAABIJLwBAAAgkfAGAACARMIbAAAAEglvAAAASCS8AQAAIJHwBgAAgETCGwAAABIJbwAAAEgkvAEAACCR8AYAAIBEwhsAAAASCW8AAABIJLwBAAAgkfAGAACA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IJHwBgAAgETCGwAAABIJbwAAAEgkvAEAACCR8AYAAIBEwhsAAAASCW8AAABIJLwBAAAgkfAGAACARGnhfeutt8bgwYOjZ8+eMXz48Hj00Uc73P+RRx6J4cOHR8+ePeOII46I22+/PWtqAAAAsNukhPf9998fl156aXzrW9+KlStXxpgxY2L8+PHR2Ni4zf3Xrl0bZ599dowZMyZWrlwZ3/zmN+Mv//IvY968eRnTAwAAgN2mVBRFUe6DjhgxIv7kT/4kbrvttrZtxxxzTJx77rlRX1+/1f5XXHFFzJ8/P1atWtW27eKLL45nnnkmli9fvlM/s6WlJaqrq6O5uTmqqqp2/SQSDapb0NVTAAAA6LbWzTynq6ewQ51p0Ipy//CNGzfGU089FXV1de22jxs3Lp544oltjlm+fHmMGzeu3bYzzzwzZs+eHZs2bYp99913qzGtra3R2tra9ry5uTki3jn57m5L65tdPQUAAIBu6/3Qde/OcWfuZZc9vF9++eV4++23o2/fvu229+3bN5qamrY5pqmpaZv7b968OV5++eWoqanZakx9fX3MmDFjq+0DBgzYhdkDAADQ1apndfUMdt5rr70W1dXVHe5T9vB+V6lUave8KIqttu1o/21tf9e0adNi6tSpbc+3bNkS//M//xMHH3xwhz9nd2ppaYkBAwbE+vXru/3b39k11nrvYa33HtZ672Gt9x7Weu9hrfceXbnWRVHEa6+9FrW1tTvct+zhfcghh0SPHj22urv90ksvbXVX+139+vXb5v4VFRVx8MEHb3NMZWVlVFZWttt24IEHvveJJ6qqqvILv5ew1nsPa733sNZ7D2u997DWew9rvffoqrXe0Z3ud5X9W83322+/GD58eCxevLjd9sWLF8fo0aO3OWbUqFFb7b9o0aI46aSTtvn5bgAAAHi/SPlzYlOnTo3vfve7cdddd8WqVavisssui8bGxrj44osj4p23iU+aNKlt/4svvjief/75mDp1aqxatSruuuuumD17dlx++eUZ0wMAAIDdJuUz3hMnToxXXnklrrnmmtiwYUMcf/zxsXDhwhg4cGBERGzYsKHd3/QePHhwLFy4MC677LK45ZZbora2Nm688cY477zzMqa321RWVsZVV1211Vvi2fNY672Htd57WOu9h7Xee1jrvYe13nu8X9Y65e94AwAAAO9Ieas5AAAA8A7hDQAAAImENwAAACQS3gAAAJBIeHfSrbfeGoMHD46ePXvG8OHD49FHH92pcY8//nhUVFTEBz/4wXbb77zzzhgzZkwcdNBBcdBBB8XHPvax+I//+I+EmdNZ5V7r3zd37twolUpx7rnnlmey7JKMtX711VdjypQpUVNTEz179oxjjjkmFi5cWOaZ01kZaz1r1qwYOnRo7L///jFgwIC47LLL4q233irzzOmszqz10qVLo1QqbfX41a9+1W6/efPmxbHHHhuVlZVx7LHHxgMPPJB9GuyEcq+1a7PuK+P3+l2uzbqXjLXu8muzgp02d+7cYt999y3uvPPO4pe//GVxySWXFAcccEDx/PPPdzju1VdfLY444ohi3LhxxbBhw9q9duGFFxa33HJLsXLlymLVqlXFn/3ZnxXV1dXFb3/728QzYUcy1vpd69atK/r371+MGTOm+OQnP1n+ydMpGWvd2tpanHTSScXZZ59dPPbYY8W6deuKRx99tGhoaEg8E3YkY63vvffeorKysvjHf/zHYu3atcVPfvKToqamprj00ksTz4Qd6exaL1mypIiIYvXq1cWGDRvaHps3b27b54knnih69OhRXHvttcWqVauKa6+9tqioqCh++tOf7q7TYhsy1tq1WfeUsdbvcm3WvWSsdXe4NhPenXDyyScXF198cbttRx99dFFXV9fhuIkTJxZXXnllcdVVV203xt61efPmolevXsX3vve9XZ0uuyBrrTdv3lyccsopxXe/+91i8uTJ/uXeDWSs9W233VYcccQRxcaNG8s9XXZBxlpPmTKl+OhHP9pu29SpU4tTTz21LHPmvensWr970fa73/1uu8c8//zzi7POOqvdtjPPPLO44IILdnm+vHcZa/2HXJt1D1lr7dqs+8lY6+5wbeat5jtp48aN8dRTT8W4cePabR83blw88cQT2x139913x29+85u46qqrdurnvPnmm7Fp06bo3bv3Ls2X9y5zra+55po49NBD40tf+lLZ5st7l7XW8+fPj1GjRsWUKVOib9++cfzxx8e1114bb7/9dlnnz87LWutTTz01nnrqqba3oT733HOxcOHCOOecc8o3eTrlva51RMSJJ54YNTU1cfrpp8eSJUvavbZ8+fKtjnnmmWfu8JjkyVrrP+TarOtlrrVrs+4la627w7VZxW77Se9zL7/8crz99tvRt2/fdtv79u0bTU1N2xyzZs2aqKuri0cffTQqKnbuf+q6urro379/fOxjH9vlOfPeZK31448/HrNnz46GhoZyT5n3KGutn3vuufj3f//3+NznPhcLFy6MNWvWxJQpU2Lz5s3x13/912U/D3Ysa60vuOCC+O///u849dRToyiK2Lx5c/zFX/xF1NXVlf0c2DnvZa1ramrijjvuiOHDh0dra2t8//vfj9NPPz2WLl0ap512WkRENDU1deqY5Mta6z/k2qzrZa21a7PuJ2utu8O1mfDupFKp1O55URRbbYuIePvtt+PCCy+MGTNmxFFHHbVTx/7Od74T9913XyxdujR69uxZlvny3pVzrV977bX4/Oc/H3feeWcccsghKfPlvSv37/WWLVuiT58+cccdd0SPHj1i+PDh8eKLL8b1118vvLtYudd66dKl8e1vfztuvfXWGDFiRDz77LNxySWXRE1NTUyfPr3s82fn7exaR0QMHTo0hg4d2vZ81KhRsX79+rjhhhvaxVhnjsnuk7HW73Jt1r2Uc61dm3Vv5f697g7XZsJ7Jx1yyCHRo0ePrf5Ly0svvbTVf5GJeCe0VqxYEStXroyvf/3rEfHOghdFERUVFbFo0aL46Ec/2rb/DTfcENdee208/PDD8YEPfCD3ZOhQxlr37t071q1bFxMmTGgbt2XLloiIqKioiNWrV8eQIUMSz4ptyfq9rqmpiX333Td69OjRNvaYY46Jpqam2LhxY+y33365J8ZWstZ6+vTpcdFFF8WXv/zliIg44YQT4o033oivfvWr8a1vfSv22ccnuna3zq719owcOTLuvffetuf9+vXb5WNSXllr/S7XZt1Hxlr/5je/cW3WDWX9XneHazNXBDtpv/32i+HDh8fixYvbbV+8eHGMHj16q/2rqqri5z//eTQ0NLQ9Lr744hg6dGg0NDTEiBEj2va9/vrr42/+5m/ixz/+cZx00knp50LHMtb66KOP3mqfT3ziEzF27NhoaGiIAQMG7K7T4/dk/V6fcsop8eyzz7b9H3hExK9//euoqakR3V0ka63ffPPNreK6R48eUbzz5aV5J8R2dXatt2flypVRU1PT9nzUqFFbHXPRokWdOibllbXWEa7NupuMtXZt1j1l/V53i2uz3f99bu9f7361/ezZs4tf/vKXxaWXXloccMABxbp164qiKIq6urrioosu2u74bX0j7nXXXVfst99+xb/8y7+0+/r71157LfNU2IGMtf5Dvjmze8hY68bGxuKP//iPi69//evF6tWrix/96EdFnz59ir/927/NPBV2IGOtr7rqqqJXr17FfffdVzz33HPFokWLiiFDhhTnn39+5qmwA51d63/4h38oHnjggeLXv/518Ytf/KKoq6srIqKYN29e2z6PP/540aNHj2LmzJnFqlWripkzZ/pzYt1Axlq7NuueMtb6D7k26x4y1ro7XJt5q3knTJw4MV555ZW45pprYsOGDXH88cfHwoULY+DAgRERsWHDhmhsbOzUMW+99dbYuHFjfPrTn263/aqrroqrr766XFOnkzLWmu4pY60HDBgQixYtissuuyw+8IEPRP/+/eOSSy6JK664IuMU2EkZa33llVdGqVSKK6+8Ml544YU49NBDY8KECfHtb3874xTYSZ1d640bN8bll18eL7zwQuy///5x3HHHxYIFC+Lss89u22f06NExd+7cuPLKK2P69OkxZMiQuP/++9u9g43dL2OtXZt1TxlrTfeUsdbd4dqsVBTeCwcAAABZfMYbAAAAEglvAAAASCS8AQAAIJHwBgAAgETCGwAAABIJbwAAAEgkvAEAACCR8AYAAIBEwhsAAAASCW8AAABIJLwBAAAgkfAGAACARP8HryP83KqVHNoAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def normal_random(sample_size=100):\n", " sample = [random.uniform(0,1) for _ in range(sample_size) ]\n", " return sum(sample)/sample_size\n", "\n", "sample = [normal_random() for _ in range(100)]\n", "plt.figure(figsize=(10,6))\n", "plt.hist(sample)\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Correlation and Evil Baseball Corp\n", "\n", "Correlation allows us to find relations between data sequences. In our toy example, let's pretend there is an evil baseball corporation that pays its players according to their height - the taller the player is, the more money he/she gets. Suppose there is a base salary of $1000, and an additional bonus from $0 to $100, depending on height. We will take the real players from MLB, and compute their imaginary salaries:" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[(74, 1075.2469071629068), (74, 1075.2469071629068), (72, 1053.7477908306478), (72, 1053.7477908306478), (73, 1064.4973489967772), (69, 1021.4991163322591), (69, 1021.4991163322591), (71, 1042.9982326645181), (76, 1096.746023495166), (71, 1042.9982326645181)]\n" ] } ], "source": [ "heights = df['Height']\n", "salaries = 1000+(heights-heights.min())/(heights.max()-heights.mean())*100\n", "print(list(zip(heights, salaries))[:10])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's now compute covariance and correlation of those sequences. `np.cov` will give us a so-called **covariance matrix**, which is an extension of covariance to multiple variables. The element $M_{ij}$ of the covariance matrix $M$ is a correlation between input variables $X_i$ and $X_j$, and diagonal values $M_{ii}$ is the variance of $X_{i}$. Similarly, `np.corrcoef` will give us the **correlation matrix**." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Covariance matrix:\n", "[[ 5.31679808 57.15323023]\n", " [ 57.15323023 614.37197275]]\n", "Covariance = 57.15323023054472\n", "Correlation = 1.0\n" ] } ], "source": [ "print(f\"Covariance matrix:\\n{np.cov(heights, salaries)}\")\n", "print(f\"Covariance = {np.cov(heights, salaries)[0,1]}\")\n", "print(f\"Correlation = {np.corrcoef(heights, salaries)[0,1]}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A correlation equal to 1 means that there is a strong **linear relation** between two variables. We can visually see the linear relation by plotting one value against the other:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "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RDcAAACkRHQDAABASkQ3AAAApER0AwAAQEpENwAAAKSkrNgDAByNS/764Vj79h+ejz8p4kfXTyveQAAA8CHOdANd1vB5hcEdEbH27Q+2AwBAKRDdQJd0uLAW3gAAlALRDXQ5l/x1+4K6vesAACAtohvocg68pPxo1wEAQFpENwAAAKREdAMAAEBKRDfQ5Yw/qXPXAQBAWkQ30OW09z7c7tcNAECxiW6gS9q49NBBfbj9AABwLIhuoMvauHRaq0vIx58kuAEAKB1lxR4A4Gi4hBwAgFLmTDcAAACkRHQDAABASkQ3AAAApER0AwAAQEpENwAAAKREdAMAAEBKRDcAAACkRHQDAABASkQ3AAAApER0AwAAQEpENwAAAKREdAMAAEBKRDcAAACkRHQDAABASkQ3AAAApER0AwAAQEpENwAAAKREdAMAAEBKRDcAAACkpKzYAwDH1uKVv4zvPfVm/vkVEwfHX8w4q4gTAQBA95VJkiQp9hBpyOVykc1mo6mpKSorK4s9DpSE4fMePui+jUunHcNJAACga2tvc7q8HHqIQwV3e/YDAAAdJ7qhB1i88pedug4AAGgf0Q09wIc/w90Z6wAAgPYR3QAAAJAS0Q0AAAApEd3QA1wxcXCnrgMAANpHdEMP0N77cLtfNwAAdC7RDT3E4e7D7T7dAADQ+UQ39CAbl05rdQn5FRMHC24AAEhJJkmSpNhDpCGXy0U2m42mpqaorKws9jgAAAB0I+1tTme6AQAAICWiGwAAAFIiugEAACAlohsAAABSIroBAAAgJaIbAAAAUiK6AQAAICWiGwAAAFIiugEAACAlohsAAABS0uHoXr16dUyfPj1qamoik8nEihUrCvYnSRILFy6MmpqaOP744+O8886LF198Mb9/27Zt8bWvfS1OPfXUqKioiNra2rj66qujqamp4HWGDx8emUym4DFv3rwj+y0BAACgCDoc3bt27YoxY8ZEfX19m/u//e1vx2233Rb19fWxfv36qK6ujvPPPz927NgRERGbN2+OzZs3x1/91V/F888/H8uWLYtVq1bFrFmzWr3WTTfdFFu2bMk/brzxxo6OCwAAAEVT1tEfmDp1akydOrXNfUmSxO233x7f/OY34wtf+EJERPzwhz+MwYMHx/333x9XXnlljB49Oh588MH8z5xyyilxyy23xGWXXRbvvfdelJX9YaR+/fpFdXV1R0cEAACAktCpn+lubGyMrVu3xuTJk/PbysvL49xzz42nnnrqoD/X1NQUlZWVBcEdEXHrrbfGgAED4swzz4xbbrkl9u7de9DXaG5ujlwuV/AAAACAYurwme5D2bp1a0REDB48uGD74MGDY9OmTW3+zO9///u4+eab48orryzYfs0118TYsWOjf//+sW7dupg/f340NjbG97///TZfZ8mSJbFo0aJO+C0AAACgc3RqdO+XyWQKnidJ0mpbREQul4tp06bFqFGjYsGCBQX75syZk//zGWecEf37948vfvGL+bPfB5o/f35cd911Ba89dOjQo/1VAAAA4Ih1anTv//z11q1bY8iQIfntb731Vquz3zt27IgLLrggTjzxxFi+fHn06dPnkK89fvz4iIjYsGFDm9FdXl4e5eXlR/srAAAAQKfp1M90jxgxIqqrq+PRRx/Nb9u7d288/vjjMXHixPy2XC4XkydPjuOOOy5WrlwZffv2PexrP/fccxERBTEPAAAApazDZ7p37twZGzZsyD9vbGyMhoaGqKqqitra2rj22mtj8eLFMXLkyBg5cmQsXrw4Kioq4tJLL42ID85wT548OXbv3h333ntvwZeenXTSSdG7d+9Ys2ZNrF27NiZNmhTZbDbWr18fc+bMiRkzZkRtbW0n/eoAAACQrg5H9y9/+cuYNGlS/vn+z1HPnDkzli1bFnPnzo09e/bEVVddFdu3b49x48bFz372s+jXr19ERDzzzDPx9NNPR0TEH/3RHxW8dmNjYwwfPjzKy8vjgQceiEWLFkVzc3MMGzYsZs+eHXPnzj3iXxSOxNpf/z4u+cHa/PMffXV8jP/j1h9vAAAAaEsmSZKk2EOkIZfLRTabzd+ODDpq+LyHD7pv49Jpx3ASAACg1LS3OTv1M93QXRwquNuzHwAAIEJ0Qytrf/37Tl0HAAD0XKIbDvDhz3B3xjoAAKDnEt0AAACQEtENAAAAKRHdcIAffXV8p64DAAB6LtENB2jvfbjdrxsAADgc0Q1tONx9uN2nGwAAaI+yYg8ApWrj0mmx9te/L/iW8h99dbwz3AAAQLuJbjiE8X88wFltAADgiLm8HAAAAFIiugEAACAlohsAAABSIroBAAAgJaIbAAAAUiK6AQAAICWiGwAAAFIiugEAACAlohsAAABSIroBAAAgJaIbAAAA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vJwjsnLlyjjrrLPiP//n/xyDBg2KT37yk3HXXXcVrPnMZz4TK1eujN/97neRJEn84he/iF//+tcxZcqUIk3dc+3duzfuvffe+OpXvxqZTCYaGxtj69atMXny5Pya8vLyOPfcc+Opp54q4qQ914HHqC1NTU2RyWTiIx/5yLEdjoho+xi1tLREXV1d3HDDDXH66acXeUIOPEYtLS3x8MMPxx//8R/HlClTYtCgQTFu3LhYsWJFsUftsdr6e+T9QvF95jOfiX/5l3+JX//61xER8atf/SqefPLJuPDCCyMivG8oEYc7Tm3x3qFEFLv66ZrKy8uT8vLyZP78+cmzzz6bfPe730369u2b/PCHP8yvaW5uTi6//PIkIpKysrLkuOOOS/7xH/+xiFP3XA888EDSu3fv5He/+12SJEnyf//v/00iIv98v9mzZyeTJ08uxog93oHH6EB79uxJPvWpTyVf+tKXjvFk7NfWMVq8eHFy/vnn58/YOdNdXAceoy1btiQRkVRUVCS33XZb8txzzyVLlixJMplM8thjjxV52p6prb9H3i8UX0tLSzJv3rwkk8kkZWVlSSaTSRYvXpzf731DaTjccTqQ9w6lo6yoxU+X1dLSEmeddVYsXrw4IiI++clPxosvvhjf+c534vLLL4+IiP/1v/5XrF27NlauXBnDhg2L1atXx1VXXRVDhgyJz33uc8Ucv8e5++67Y+rUqVFTU1Ow/cAzqkmSHPQsK+k62DGK+OCLUS655JJoaWmJO+64owjTEdH6GD3zzDPxt3/7t/Hss8/6e1MiDjxG+79c6D/+x/8Yc+bMiYiIM888M5566qn47ne/G+eee27RZu2p2vrfOu8Xiu+BBx6Ie++9N+6///44/fTTo6GhIa699tqoqamJmTNn5td531Bc7T1OEd47lJxiVz9dU21tbTJr1qyCbXfccUdSU1OTJEmS7N69O+nTp0/yk5/8pGDNrFmzkilTphyzOUmSjRs3Jr169Sr4Qprf/OY3SUQkzz77bMHaGTNmJJdffvmxHrHHa+sY7bd3797k85//fHLGGWck/+///b8iTEeStH2M/uZv/ibJZDJJ796984+ISHr16pUMGzaseMP2UG0do+bm5qSsrCy5+eabC9bOnTs3mThx4rEescdr6xh5v1AaTj755KS+vr5g280335yceuqpSZJ431AqDnec9vPeofT4TDdH5Oyzz45XX321YNuvf/3rGDZsWER88G/X9u3bF716Ff5XrHfv3gW3nyB9//AP/xCDBg2KadOm5beNGDEiqqur49FHH81v27t3bzz++OMxceLEYozZo7V1jCI++Hv0X/7Lf4nXXnstfv7zn8eAAQOKNCFtHaO6urr413/912hoaMg/ampq4oYbboif/vSnRZy2Z2rrGB133HHx6U9/+pD/f8Wx09Yx8n6hNOzevfuQx8D7htJwuOMU4b1DySp29dM1rVu3LikrK0tuueWW5LXXXkvuu+++pKKiIrn33nvza84999zk9NNPT37xi18k//Zv/5b8wz/8Q9K3b9/kjjvuKOLkPcv777+f1NbWJt/4xjda7Vu6dGmSzWaThx56KHn++eeT//pf/6tbfxTBwY7Rvn37khkzZiQnn3xy0tDQUHC7nebm5iJN2zMd6u/RgXymuzgOdYweeuihpE+fPsn3vve95LXXXkv+7u/+Lundu3fyxBNPFGHSnutQx8j7heKbOXNm8tGPfjR/K6qHHnooGThwYDJ37tz8Gu8biu9wx8l7h9Ilujli//zP/5yMHj06KS8vTz7+8Y8n3/ve9wr2b9myJfnyl7+c1NTUJH379k1OPfXU5K//+q8PejskOt9Pf/rTJCKSV199tdW+lpaWZMGCBUl1dXVSXl6e/Omf/mny/PPPF2HKnu1gx6ixsTGJiDYfB94jmnQd6u/RgUR3cRzuGN19993JH/3RHyV9+/ZNxowZ4/7PRXCoY+T9QvHlcrnkmmuuSWpra5O+ffsmH/vYx5JvfvObBaHmfUPxHe44ee9QujJJkiTH/PQ6AAAA9AA+0w0AAAApEd0AAACQEtENAAAAKRHdAAAAkBLRDQAAACkR3QAAAJAS0Q0AAAApEd0AAACQEtENAAAAKRHdAAAAkBLRDQAAACkR3QAAAJCS/x+f1gjphHGI3AAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10,6))\n", "plt.scatter(heights,salaries)\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's see what happens if the relation is not linear. Suppose that our corporation decided to hide the obvious linear dependency between heights and salaries, and introduced some non-linearity into the formula, such as `sin`:" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Correlation = 0.9835304456670845\n" ] } ], "source": [ "salaries = 1000+np.sin((heights-heights.min())/(heights.max()-heights.mean()))*100\n", "print(f\"Correlation = {np.corrcoef(heights, salaries)[0,1]}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this case, the correlation is slightly smaller, but it is still quite high. Now, to make the relation even less obvious, we might want to add some extra randomness by adding some random variable to the salary. Let's see what happens:" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Correlation = 0.9387986557665841\n" ] } ], "source": [ "salaries = 1000+np.sin((heights-heights.min())/(heights.max()-heights.mean()))*100+np.random.random(size=len(heights))*20-10\n", "print(f\"Correlation = {np.corrcoef(heights, salaries)[0,1]}\")" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "image/png": "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FhbM0IgAAJNla+luamqSJBUVFQ25vaioKH6fJD322GM6c+aMCgoKlJmZqU2bNumJJ57QwoUL449TWFg44vELCwuHPM5H3XXXXfHrv4PBoObNm2fX0wIAwJfOzc+xNee0pmiXrTk3SE0J6AsfP3fczBc+fq5SUwIzNCIAwGQlZH1VIDD0L37Lsobc9u1vf1utra365S9/qZdffll33HGH/uRP/kSvvvrqmI8x2uN81NatWxWNRuNf7733nk3PBgAAf8rLNjwD2jDntNbTvbbm3KA/Zump30bGzTz124j6Y9YMjQgAMFlpdj5YKBSSNDBTXVxcHL+9ubk5Pvv91ltvadeuXWpoaNDFF18sSVqyZImef/55/a//9b903333KRQK6fjx4yMe/8SJEyNm0QdlZmYqMzPTzqcDAICvHY6YXYplmoP96sItikS7x81Eot2qC7eogiXmAOBKts50l5aWKhQKae/evfHbent79dxzz2nlypWSpM7OgeuoUlKG/qtTU1MViw0cSVJRUaFoNKq6urr4/QcPHlQ0Go0/DgAATol29umPf/Qfqrjr3/XHP/oPRTv7nB7SlLxneG2zac5pE137PNmcGzS1j1+4J5sDAMy8Sc90nzp1Sm+++Wb8+3A4rPr6euXn52v+/PnasmWLdu7cqUWLFmnRokXauXOncnJytH79eknShRdeqAsuuECbNm3S3//936ugoEBPPvmk9u7dq6efflqSdNFFF6myslIbN27U/fffL0m69dZbdf3112vx4sV2PG8AAKbk6v/+Kx09+YdrgiPRbi35zrNaUJCt577+KQdHNnktp3tszTltrEvQpppzg5ZThq+RYQ4AMPMmPdP98ssv67LLLtNll10mSbrjjjt02WWX6W/+5m8kSXfeeae2bNmi2267TR//+Mf1wQcf6Nlnn1Vubq4kKT09Xc8884zOPvtsVVVV6WMf+5h+9rOf6aGHHtJ1110X//c88sgjuuSSS7RmzRqtWbNGH/vYx/Twww/b8ZwBAJiS4YX7o46e7NLV//1XMzyi6enpM7sO2DTntJ6+mK05N5hteD29aQ4AMPMmPdO9atUqWdbYv3wDgYC2b9+u7du3j5lZtGiRfvGLX4z778nPz1dNTc1khwcAQEJEO/vGLNyDjp7sUrSzT0GPLF/Oy05TU8fEM6R52bZuAZMwF58T1AtvnTTK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X321XnzxRQdHmryGv0ajiUajCgQCmj179swODpJGf41isZiqq6v19a9/XRdffLHDI8Tw1ygWi+n//J//oz/6oz/Stddeq8LCQi1fvlxPPvmk00NNWqP9OeL9gvOuuOIK/fu//7t+//vfS5J++9vf6oUXXtB1110nSbxvcImJXqfR8N7BJZxu/fCmzMxMKzMz09q6dat16NAh67777rOysrKshx56KJ7p6emxbrrpJkuSlZaWZmVkZFg/+9nPHBx18nrssces1NRU64MPPrAsy7L+4z/+w5IU/37Qxo0brTVr1jgxxKQ3/DUarqury7r88sutP/3TP53hkWHQaK/Rzp07rdWrV8dn7Jjpdtbw1ygSiViSrJycHOvuu++2fvOb31h33XWXFQgErP/7f/+vw6NNTqP9OeL9gvNisZj1zW9+0woEAlZaWpoVCASsnTt3xu/nfYM7TPQ6Dcd7B/dIc7Txw7NisZg+/vGPa+fOnZKkyy67TK+99pp2796tm266SZL0P/7H/9CBAwf01FNPacGCBdq3b59uu+02FRcX6zOf+YyTw086P/nJT7R27VqVlJQMuX34jKplWWPOsiKxxnqNpIGNUb74xS8qFovpRz/6kQOjgzTyNXrllVf0wx/+UIcOHeLPjUsMf40GNxe64YYb9NWvflWSdOmll+rFF1/Ufffdp6uvvtqxsSar0f6u4/2C8x577DHV1NTo0Ucf1cUXX6z6+npt2bJFJSUluvnmm+M53jc4y/R1knjv4DpOt3540/z5861bbrllyG0/+tGPrJKSEsuyLKuzs9NKT0+3nn766SGZW265xbr22mtnbJywrHfeecdKSUkZsiHNW2+9ZUmyDh06NCS7bt0666abbprpISa90V6jQb29vdbnPvc562Mf+5j14YcfOjA6WNbor9E999xjBQIBKzU1Nf4lyUpJSbEWLFjg3GCT1GivUU9Pj5WWlmZ997vfHZK98847rZUrV870EJPeaK8R7xfc4dxzz7V27do15Lbvfve71uLFiy3L4n2DW0z0Og3ivYP7cE03puSTn/ykjhw5MuS23//+91qwYIGkgU/X+vr6lJIy9H+x1NTUIcdPIPF++tOfqrCwUJ/97Gfjt5WWlioUCmnv3r3x23p7e/Xcc89p5cqVTgwzqY32GkkDf44+//nP64033tAvf/lLFRQUODRCjPYaVVdX63e/+53q6+vjXyUlJfr617+uf/u3f3NwtMlptNcoIyNDn/jEJ8b9fYWZM9prxPsFd+js7Bz3NeB9gztM9DpJvHdwLadbP7yprq7OSktLs773ve9Zb7zxhvXII49YOTk5Vk1NTTxz9dVXWxdffLH161//2nr77betn/70p1ZWVpb1ox/9yMGRJ5f+/n5r/vz51je+8Y0R933/+9+3gsGg9fjjj1uvvvqq9aUvfYmjPxww1mvU19dnrVu3zjr33HOt+vr6Icft9PT0ODTa5DTen6PhuKbbGeO9Ro8//riVnp5u/fjHP7beeOMN63/+z/9ppaamWs8//7wDI01e471GvF9w3s0332ydc8458aOoHn/8cWvu3LnWnXfeGc/wvsF5E71OvHdwL0o3pmzPnj1WeXm5lZmZaV144YXWj3/84yH3RyIR68/+7M+skpISKysry1q8eLH1D//wD2MehwT7/du//ZslyTpy5MiI+2KxmLVt2zYrFApZmZmZ1lVXXWW9+uqrDowyuY31GoXDYUvSqF/Dz4hGYo3352g4SrczJnqNfvKTn1gXXHCBlZWVZS1ZsoTznx0w3mvE+wXntbe3W1/5yles+fPnW1lZWdb5559vfetb3xpS1Hjf4LyJXifeO7hXwLIsa8an1wEAAAAASAJc0w0AAAAAQIJQugEAAAAASBBKNwAAAAAACULpBgAAAAAgQSjdAAAAAAAkCKUbAAAAAIAEoXQDAAAAAJAglG4AAAAAABKE0g0AAAAAQIJQugEAAAAASBBKNwAAAAAACULpBgAAAAAgQf5/IPUkXSPLawoAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10,6))\n", "plt.scatter(heights, salaries)\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> Can you guess why the dots line up into vertical lines like this?\n", "\n", "We have observed the correlation between an artificially engineered concept like salary and the observed variable *height*. Let's also see if the two observed variables, such as height and weight, correlate too:" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 1., nan],\n", " [nan, nan]])" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.corrcoef(df['Height'],df['Weight'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Unfortunately, we did not get any results - only some strange `nan` values. This is due to the fact that some of the values in our series are undefined, represented as `nan`, which causes the result of the operation to be undefined as well. By looking at the matrix we can see that `Weight` is the problematic column, because self-correlation between `Height` values has been computed.\n", "\n", "> This example shows the importance of **data preparation** and **cleaning**. Without proper data we cannot compute anything.\n", "\n", "Let's use `fillna` method to fill the missing values, and compute the correlation: " ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1. , 0.52959196],\n", " [0.52959196, 1. ]])" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.corrcoef(df['Height'],df['Weight'].fillna(method='pad'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There is indeed a correlation, but not such a strong one as in our artificial example. Indeed, if we look at the scatter plot of one value against the other, the relation would be much less obvious:" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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36s8+eSTuuSSSzR48OBWjx8/w2pZVsRZV8RGpLGRmg9RufLKKxUKhfTYY4850DocPz5bt27V73//e23bto33igscPz7hA4guu+wy3XrrrZKks88+W5s2bdLjjz+uiRMnOtbW3qi96xv3Bc564YUXVFxcrGeffVann366tm/frltuuUWDBw/WNddc0xLH/YEz7I6PxD2C6zid+cNsw4cPt6677rpWjz322GPW4MGDLcuyrNraWqtPnz7Wn//851Yx1113nXXxxRfHrZ293e7du62EhIRWB9fs2rXLkmRt27atVeyMGTOsq6++Ot5N7LXaG5uwhoYG6/LLL7fOPPNM6+uvv3agdWhvfB5++GHL5/NZiYmJLT+SrISEBCsvL8+5xvZC7Y3P0aNHraSkJOvee+9tFfuLX/zCOu+88+LdxF6tvfHhvsB5Q4cOtR599NFWj917773WKaecYlkW9wdO62x8wrhHcB/2eCOmvve97+njjz9u9dgnn3yivLw8Sc3fxDU2NiohofVLMTExsVXZCsTWU089pezsbF166aUtj+Xn5ysnJ0erV69ueayhoUHr1q3Teeed50Qze6X2xkZqfu/86Ec/0qeffqo333xTWVlZDrWwd2tvfGbNmqUdO3Zo+/btLT+DBw/WggUL9PrrrzvY2t6nvfFJTk7W6NGjO/xsQny0Nz7cFzivtra2w39/7g+c1dn4SNwjuJbTmT/MtmXLFispKcm6//77rU8//dT605/+ZKWlpVnFxcUtMRMnTrROP/10a+3atdbnn39uPfXUU1ZKSor12GOPOdjy3iMYDFrDhw+3br/99jbPPfDAA5bf77defPFF68MPP7SuuuoqyoXEUaSxaWxstGbMmGENHTrU2r59e6uyPEePHnWotb1PR++d47HHO/46Gp8XX3zR6tOnj/WHP/zB+vTTT61//dd/tRITE60NGzY40NLeqaPx4b7AWddcc401ZMiQlnJVL774ojVw4EDrF7/4RUsM9wfO6Wx8uEdwLxJvxNzKlSutwsJCq2/fvtapp55q/eEPf2j1fEVFhXXttddagwcPtlJSUqxTTjnF+s1vfhOxbBKi6/XXX7ckWR9//HGb50KhkLVo0SIrJyfH6tu3rzVhwgTrww8/dKCVvVOksSkvL7cktftzfB1pxE5H753jkXjHX2fj8+STT1onnXSSlZKSYp111lnUiI6zjsaH+wJn1dTUWDfffLM1fPhwKyUlxfrWt75l3Xnnna2SNu4PnNPZ+HCP4F4+y7KsuE+zAwAAAADQS7DHGwAAAACAGCLxBgAAAAAghki8AQAAAACIIRJvAAAAAABiiMQbAAAAAIAYIvEGAAAAACCGSLwBAAAAAIghEm8AAAAAAGKIxBsAALQyYsQI/e53v7Mdv3v3bvl8Pm3fvj1mbQIAwMtIvAEAMMS1116ryy+/vM3jb7/9tnw+n7755htbf8/777+vn/70p1Ft29NPP60TTjghqn8nAABekeR0AwAAgLsMGjTI6SYAAGAUZrwBAOhlNm3apAkTJig1NVXDhg3TTTfdpCNHjrQ8f/xS848++kjjxo1TSkqKCgoK9Oabb8rn8+nll19u9fd+/vnnuuCCC5SWlqazzjpLmzdvltQ84/6P//iPCgQC8vl88vl8uueee+LQUwAA3IHEGwCAXuTDDz/UxRdfrB/+8IfasWOHXnjhBW3cuFFz585tNz4UCunyyy9XWlqa3nvvPf3hD3/QnXfe2W7snXfeqdtuu03bt2/XySefrKuuukpNTU0677zz9Lvf/U4ZGRmqqKhQRUWFbrvttlh2EwAAV2GpOQAABvnzn/+s/v37t3osGAy2/P+HHnpIP/7xj3XLLbdIkr797W/rkUce0cSJE7Vs2TKlpKS0+rNvvPGGdu3apbfffls5OTmSpPvvv1+TJ09u89++7bbbdOmll0qSFi9erNNPP12fffaZTj31VPn9fvl8vpa/AwCA3oTEGwAAg1xwwQVatmxZq8fee+89zZw5U5K0detWffbZZ/rTn/7U8rxlWQqFQiovL9dpp53W6s9+/PHHGjZsWKuEecyYMe3+t88888yW/5+bmytJqqqq0qmnntqzTgEA4HEk3gAAGKRfv3466aSTWj22b9++lv8fCoV0/fXX66abbmrzZ4cPH97mMcuy5PP5bP23+/Tp0/L/w38mFArZ+rMAAJiMxBsAgF5k1KhR+stf/tImOY/k1FNP1d69e/V///d/OvHEEyU1lxvrquTk5FZL3gEA6E04XA0AgF7k9ttv1+bNm3XjjTdq+/bt+vTTT7VixQrNmzev3fjJkydr5MiRuuaaa7Rjxw698847LYer2Z0Jl5pPSj98+LDeeustff3116qtrY1KfwAA8AISbwAAepEzzzxT69at06effqrx48frnHPO0d13392yJ/t4iYmJevnll3X48GGNHj1a//RP/6S77rpLktocxNaR8847Tz/72c90xRVXaNCgQfr1r38dlf4AAOAFPsuyLKcbAQAAvOOdd97RuHHj9Nlnn2nkyJFONwcAANcj8QYAAB166aWX1L9/f33729/WZ599pptvvlkDBgzQxo0bnW4aAACewOFqAACgQ4cOHdIvfvELffHFFxo4cKAmTZqk3/zmN043CwAAz2DGGwAAAACAGOJwNQAAAAAAYojEGwAAAACAGCLxBgAAAAAghki8AQAAAACIIRJvAAAAAABiiMQbAAAA/3/7dSwAAAAAMMjfehT7yiIARuINAAAAI/EGAACAkXgDAADAKNhP1r/z817yAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10,6))\n", "plt.scatter(df['Height'],df['Weight'])\n", "plt.xlabel('Height')\n", "plt.ylabel('Weight')\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "interpreter": { "hash": "86193a1ab0ba47eac1c69c1756090baa3b420b3eea7d4aafab8b85f8b312f0c5" }, "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.11.3" } }, "nbformat": 4, "nbformat_minor": 4 }