diff --git a/1-Introduction/01-defining-data-science/notebook.ipynb b/1-Introduction/01-defining-data-science/notebook.ipynb index cf3988e85..75ca03058 100644 --- a/1-Introduction/01-defining-data-science/notebook.ipynb +++ b/1-Introduction/01-defining-data-science/notebook.ipynb @@ -1,419 +1,1020 @@ { - "cells": [ - { - "cell_type": "markdown", - "source": [ - "# Challenge: Analyzing Text about Data Science\r\n", - "\r\n", - "In this example, let's do a simple exercise that covers all steps of a traditional data science process. You do not have to write any code, you can just click on the cells below to execute them and observe the result. As a challenge, you are encouraged to try this code out with different data. \r\n", - "\r\n", - "## Goal\r\n", - "\r\n", - "In this lesson, we have been discussing different concepts related to Data Science. Let's try to discover more related concepts by doing some **text mining**. We will start with a text about Data Science, extract keywords from it, and then try to visualize the result.\r\n", - "\r\n", - "As a text, I will use the page on Data Science from Wikipedia:" - ], - "metadata": {} - }, - { - "cell_type": "markdown", - "source": [], - "metadata": {} - }, - { - "cell_type": "code", - "execution_count": 62, - "source": [ - "url = 'https://en.wikipedia.org/wiki/Data_science'" - ], - "outputs": [], - "metadata": {} - }, - { - "cell_type": "markdown", - "source": [ - "## Step 1: Getting the Data\r\n", - "\r\n", - "First step in every data science process is getting the data. We will use `requests` library to do that:" - ], - "metadata": {} - }, - { - "cell_type": "code", - "execution_count": 63, - "source": [ - "import requests\r\n", - "\r\n", - "text = requests.get(url).content.decode('utf-8')\r\n", - "print(text[:1000])" - ], - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "\n", - "\n", - "\n", - "\n", - "Data science - Wikipedia\n", - "\n", + " \n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + " \n", + " \n" + ] + }, + "metadata": {}, + "execution_count": 37 + } + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 363 + }, + "id": "HJs0xKfP4qCt", + "outputId": "4d1b94d6-05d9-4fb0-b43e-c32923c5ddb2" + } + }, + { + "cell_type": "markdown", + "source": [ + "\n", + "In this dataset, columns as the following:\n", + "* Age and sex are self-explanatory\n", + "* BMI is body mass index\n", + "* BP is average blood pressure\n", + "* S1 through S6 are different blood measurements\n", + "* Y is the qualitative measure of disease progression over one year\n", + "\n", + "Let's study this dataset using methods of probability and statistics.\n", + "\n", + "### Task 1: Compute mean values and variance for all values" + ], + "metadata": { + "id": "NXyoxwjU4qC1" + } + }, + { + "cell_type": "code", + "execution_count": 7, + "source": [ + "# Calculate the mean and variance of all numeric columns\n", + "\n", + "mean = df.mean()\n", + "variance = df.var()\n", + "\n", + "# Create a new DataFrame with the results\n", + "results = pd.DataFrame({'Mean': mean, 'Variance': variance})\n", + "\n", + "# Display the result\n", + "print(results.round(3))" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + " Media Varianza\n", + "AGE 48.518 171.847\n", + "SEX 1.468 0.250\n", + "BMI 26.376 19.520\n", + "BP 94.647 191.304\n", + "S1 189.140 1197.717\n", + "S2 115.439 924.955\n", + "S3 49.788 167.294\n", + "S4 4.070 1.665\n", + "S5 4.641 0.273\n", + "S6 91.260 132.166\n", + "Y 152.133 5943.331\n" + ] + } + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "ZxVqeOXV4qC5", + "outputId": "4bf7a7c3-c22f-48f3-bbde-49f4c10f7005" + } + }, + { + "cell_type": "markdown", + "source": [ + "### Task 2: Plot boxplots for BMI, BP and Y depending on gender" + ], + "metadata": { + "id": "l9jvD6Ou4qC7" + } + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 447 + }, + "id": "TFRfrvyKIUW8", + "outputId": "440ae9a1-dbb6-4074-f0c3-1078da2c12bb" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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smWLjh07Jrfbrc8//1yLFi2iezIAQJK0detWjR07VnFxcbJYLFq7dq3P/jVr1mjkyJHq3LmzLBaL99f/c7ndbmVlZalz586KiIhQenr6ecNoAACtU0FBgaqqqjR06FB17drVu7z55puSzszNvHHjRo0cOVLdu3fXz3/+c6Wnp+vtt9/2niM0NFTr1q1TaGiokpOTdc8992jKlClasGCBWZcFAGgA028EAADA5aiurlbfvn113333aeLEiRfcf8stt+jOO+/U9OnTL3iOOXPm6M9//rNWr16tqKgoZWdna+LEifrrX//a1PEBAAHOMIyL7j/7I/+36datm955553GigUAaEYUzQAALVJaWprS0tLq3X/vvfdKkv7xj39ccH9VVZWWL18uh8OhYcOGSZJWrFihHj16aMeOHRo0aFCjZwYAAADQcgTc3TMBAGgOZWVlqqmpUUpKindb9+7dlZiYqJKSknqf5/F45HK5fBYAAAAAwYeiGQCgVXI6nQoLC1PHjh19tsfGxnone76QvLw8RUVFeZeEhIQmTgoAAADADBTNAABogNzcXFVVVXmXAwcOmB0JAAAAQBNgTjMAQKtkt9t16tQpVVZW+vQ2q6iokN1ur/d5VqtVVqu1GRICAAAAMBNFMwBAq9S/f3+1bdtWmzZtUnp6uiRp7969Ki8vV3JyssnpgMBjGIbcbrfZMQLKue8H740vm80mi8VidgwAAL4TimYAgBbp5MmT2rdvn3d9//792rVrl6Kjo5WYmKjjx4+rvLxchw4dknSmICad6WFmt9sVFRWladOmKScnR9HR0YqMjNSsWbOUnJzMnTOBC3C73Re9Y21rN2HCBLMjBJSioiKFh4ebHQMAgO+EOc0AAC3Shx9+qH79+qlfv36SpJycHPXr10+PPPKIJOlPf/qT+vXrpzFjxkiSJk2apH79+mnZsmXeczz77LO67bbblJ6eriFDhshut2vNmjXNfzEAAAAAAg49zQAALdLQoUNlGEa9+6dOnaqpU6de9Bw2m035+fnKz89v5HRAcHvhluOyhtb//WstDEM6VXfmcViI1NpHI3pqLcreFm12DAAAGg1FMwAAADSINdSQNdTsFIHBZnaAgEIhFQAQXBieCQAAAAAAAPihaAYAAAAAAAD4oWgGAAAAAAAA+KFoBgAAAAAAAPihaAYAAAAAAAD4oWgGAAAAAAAA+KFoBgAAAAAAAPihaAYAAAAAAAD4oWgGAAAAAAAA+KFoBgAAAAAAAPihaAYAAAAAAAD4oWgGAAAAAAAA+KFoBgAAAAAAAPhpY3YAAAAAAADQuhmGIbfbbXaMgHLu+8F748tms8lisTT561A0AwAAAAAApnK73UpLSzM7RsCaMGGC2RECSlFRkcLDw5v8dRieCQAAAAAAAPihpxkAAAAAAAgYL9xyXNZQw+wYpjMM6VTdmcdhIVIzjEYMaJ5ai7K3RTfra1I0AwAAAAAAAcMaasgaanaKwGAzO0BAaf5CKsMzAQAAAAAAAD8UzQAAAAAAAAA/FM0AAAAAAAAAPxTNAAAAAAAAAD8UzQAAAAAAAAA/FM0AAAAAAAAAPxTNAAAAAAAAAD8UzQAAAAAAAAA/FM0AAAAAAAAAPxTNAAAAAAAAAD8UzQAAAAAAAAA/FM0AAAAAAAAAPxTNAAAAAAAAAD8UzQAAAAAAAAA/FM0AAAAAAAAAPxTNAAAAAAAAAD9tzA4AAEBrZhiG3G632TECyrnvB++NL5vNJovFYnYMoFXIy8vTmjVr9Pe//13h4eEaPHiwnn76aV133XXeY9xut37+85/rjTfekMfjUWpqql588UXFxsZ6jykvL9fMmTP1/vvvKyIiQpmZmcrLy1ObNvxXDAACHX+pAQAwkdvtVlpamtkxAtaECRPMjhBQioqKFB4ebnYMoFXYsmWLsrKyNGDAAJ0+fVq/+tWvNHLkSH366adq3769JGnOnDn685//rNWrVysqKkrZ2dmaOHGi/vrXv0qSamtrNWbMGNntdm3fvl2HDx/WlClT1LZtWz355JPNch38OHM+fpypHz/OAL4omgEAAACAn/Xr1/usr1y5UjExMSorK9OQIUNUVVWl5cuXy+FwaNiwYZKkFStWqEePHtqxY4cGDRqkd999V59++qk2btyo2NhY3XDDDXr88cf18MMP67HHHlNYWNh5r+vxeOTxeLzrLpfrO10HP85cHD/O+OLHGcAXRTMAQIu1detW/frXv1ZZWZkOHz6swsJCjR8/3rvfMAw9+uijevnll1VZWambb75ZBQUFuuaaa7zHHD9+XLNmzdLbb7+tkJAQpaena+nSpYqIiGj26zl5w90yQmiaZRhS3ekzj0PaSK38F29L3WlF7Hrd7BhAq1dVVSVJio6OliSVlZWppqZGKSkp3mO6d++uxMRElZSUaNCgQSopKVHv3r19hmumpqZq5syZ+uSTT9SvX7/zXicvL0/z589v4qsBAFwK/mUOAGixqqur1bdvX913332aOHHiefsXLVqk5557Tq+88oqSkpI0b948paam6tNPP5XNZpMkTZ48WYcPH1ZxcbFqamr04x//WDNmzJDD4WjuyzlTMAtt2+yvG5jO733RWhlmBwCguro6zZ49WzfffLN69eolSXI6nQoLC1PHjh19jo2NjZXT6fQec27B7Oz+s/suJDc3Vzk5Od51l8ulhISERrkOfpz5P/w444MfZ4D68RcTANBipaWl1TvkxDAMLVmyRHPnztW4ceMkSa+++qpiY2O1du1aTZo0SZ999pnWr1+v0tJS3XjjjZKk559/XqNHj9YzzzyjuLi4ZrsWAEDgysrK0scff6xt27Y1+WtZrVZZrdYmOTc/zpyLH2fO4scZoH4hZgcAAKAp7N+/X06n02fYTFRUlAYOHKiSkhJJUklJiTp27OgtmElSSkqKQkJCtHPnzgue1+PxyOVy+SwAgOCVnZ2tdevW6f3331d8fLx3u91u16lTp1RZWelzfEVFhex2u/eYioqK8/af3QcACGwUzQAAQenssJcLDYs5d9hMTEyMz/42bdooOjq63mEzeXl5ioqK8i6NNWQGABBYDMNQdna2CgsL9d577ykpKclnf//+/dW2bVtt2rTJu23v3r0qLy9XcnKyJCk5OVl79uzRkSNHvMcUFxcrMjJSPXv2bJ4LAQBcNopmAAA0QG5urqqqqrzLgQMHzI4EAGgCWVlZeu211+RwONShQwc5nU45nU598803ks70Xp42bZpycnL0/vvvq6ysTD/+8Y+VnJysQYMGSZJGjhypnj176t5779Xf/vY3bdiwQXPnzlVWVlaTDcEEADQe5jQDAASls8NeKioq1LVrV+/2iooK3XDDDd5jzv31X5JOnz6t48eP1ztspinnmgEABI6CggJJ0tChQ322r1ixQlOnTpUkPfvss947L3s8HqWmpurFF1/0HhsaGqp169Zp5syZSk5OVvv27ZWZmakFCxY012UAAL4DimYAgKCUlJQku92uTZs2eYtkLpdLO3fu1MyZMyWdGTZTWVmpsrIy9e/fX5L03nvvqa6uTgMHDjQrOgAgABjGt0+PbrPZlJ+fr/z8/HqP6datm955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/fXXVVJSoquvvlpOp1OSFBsb6/O82NhY7z5/eXl5mj9/fpNnBwCYLy0tTWlpaRc9xmq1ym63X3DfZ599pvXr16u0tFQ33nijJOn555/X6NGj9cwzzyguLq7RMwMAGg89zQAAQe13v/udDMPQFVdcIavVqueee0533323QkIurwnMzc1VVVWVdzlw4EAjJwYAtCSbN29WTEyMrrvuOs2cOVPHjh3z7ispKVHHjh29BTNJSklJUUhIiHbu3HnB89GjGQACB0UzAEBQu+qqq7RlyxadPHlSBw4c0AcffKCamhp9//vf9/YMqKio8HlORUVFvb0GrFarIiMjfRYAQOs0atQovfrqq9q0aZOefvppbdmyRWlpaaqtrZUkOZ1OxcTE+DynTZs2io6OvmiP5qioKO+SkJDQ5NcBALgwhmcCAFqF9u3bq3379vrXv/6lDRs2aNGiRUpKSpLdbtemTZt0ww03SJJcLpd27typmTNnmhsYCGCeWoskw+wYpjMM6VTdmcdhIZLFYm4es535XLQukyZN8j7u3bu3+vTpo6uuukqbN2/W8OHDL+ucubm5ysnJ8a67XC4KZwBgEopmAICgtmHDBhmGoeuuu0779u3Tgw8+qO7du+vHP/6xLBaLZs+erSeeeELXXHONkpKSNG/ePMXFxWn8+PFmRwcCVva2aLMjAAHp+9//vrp06aJ9+/Zp+PDhstvtOnLkiM8xp0+f1vHjxy/ao9lqtTZHXADAt6BoBgAIalVVVcrNzdXBgwcVHR2t9PR0LVy4UG3btpUkPfTQQ6qurtaMGTNUWVmpW265RevXrz/vjpsAAHybgwcP6tixY+rataskKTk5WZWVlSorK1P//v0lSe+9957q6uo0cOBAM6MCAC4BRTMAQFC78847deedd9a732KxaMGCBVqwYEEzpgJaHpvNpqKiIrNjBBS3260JEyZIkgoLCym2nyNY3ouTJ09q37593vX9+/dr165dio6OVnR0tObPn6/09HTZ7XZ98cUXeuihh3T11VcrNTVVktSjRw+NGjVK06dP17Jly1RTU6Ps7GxNmjSJO2cCQAtA0QwAAADfymKxKDw83OwYActms/H+BKEPP/xQt956q3f97FxjmZmZKigo0O7du/XKK6+osrJScXFxGjlypB5//HGf4ZWrVq1Sdna2hg8frpCQEKWnp+u5555r9msBADQcRTMAAExkGOdMpl5bY14QBK5zPhc+nxcATW7o0KEX/d5t2LDhW88RHR0th8PRmLEAAM2EohkAACbyeDzexx3+9oaJSdASeDwetWvXzuwYAAAArQJFMwAAAAAAYKpze3V6ak0MgoB17ueiuXrfUzQDAMBE5857c6LvJCm0rYlpEJBqa7y9EM/9vADApWAaAHyrAJkG4Nze99nbOpuWAy1Dc/W+p2gGAICJLBbLv1dC21I0w0X5fF4A4BIwDQAagmkAAF8UzQAAAAAAgKnO7U39wi3HZA01MQwCkqf2370Qm6v3PUUzAAAAAAhSTAOAbxUg0wCc25vaGiqKZrio5up9T9EMAAAAAIIU0wCgIZgGAPAVYnYAAAAAAAAAINBQNAMAAAAAAAD8UDQDAAAAAAAA/FA0AwAAAAAAAPxQNAMAAAAAAAD8UDQDAAAAAAAA/LQxOwCAxmEYhvexp9bEIAhY534uzv28AAAAAADOR9EMCBIej8f7OHtbZxOToCXweDxq166d2TEAAAAAIGAxPBMAAAAAAADwQ08zIEhYrVbv4xduOSZrqIlhEJA8tf/uhXju5wUAAAAAcD6KZkCQsFgs3sfWUFE0w0Wd+3kBAAAAAJyP4ZkAAAAAAACAH3qafQufO8zV1pgXBIHrnM8FdyQEAAAAACA4UDT7FufekbDD394wMQlaAu5ICAAAAABAcGB4JgAAAAAAAOCHnmbf4tw7zJ3oO0kKbWtiGgSk2hpvL0TuSAgAAAAAQHCgaPYtfO4wF9qWohkuijsSAgAAAAAQHEwdnpmXl6cBAwaoQ4cOiomJ0fjx47V3716fY4YOHSqLxeKz3H///SYlBgAAAAAAQGtgatFsy5YtysrK0o4dO1RcXKyamhqNHDlS1dXVPsdNnz5dhw8f9i6LFi0yKTEAAAAAAABaA1OHZ65fv95nfeXKlYqJiVFZWZmGDBni3d6uXTvZ7fbmjgcAAAAAAIBWKqDunllVVSVJio6O9tm+atUqdenSRb169VJubq6+/vrres/h8Xjkcrl8FgAAAAAAAKAhAuZGAHV1dZo9e7Zuvvlm9erVy7s9IyND3bp1U1xcnHbv3q2HH35Ye/fu1Zo1ay54nry8PM2fP7+5YgMAAAAAACAIBUzRLCsrSx9//LG2bdvms33GjBnex71791bXrl01fPhwffHFF7rqqqvOO09ubq5ycnK86y6XSwkJCU0XHACARmKpOy3D7BCBwDCkutNnHoe0kVr5nYktZ98LAAAANKuAKJplZ2dr3bp12rp1q+Lj4y967MCBAyVJ+/btu2DRzGq1ymq1NklOAACaUsSu182OAAAAAOD/mFo0MwxDs2bNUmFhoTZv3qykpKRvfc6uXbskSV27dm3idAAAAAAAAGitTC2aZWVlyeFw6I9//KM6dOggp9MpSYqKilJ4eLi++OILORwOjR49Wp07d9bu3bs1Z84cDRkyRH369DEzOgAAjcJms6moqMjsGAHF7XZrwoQJkqTCwkLZbDaTEwUO3gsAAIDmY2rRrKCgQJI0dOhQn+0rVqzQ1KlTFRYWpo0bN2rJkiWqrq5WQkKC0tPTNXfuXBPSAgDQ+CwWi8LDw82OEbBsNhvvDwAAAExh+vDMi0lISNCWLVuaKQ0AAAAAAABwRojZAQAAAAAAAIBAQ9EMAAAAAAAA8EPRDAAQtGprazVv3jwlJSUpPDxcV111lR5//HGf6QEMw9Ajjzyirl27Kjw8XCkpKfr8889NTA0AAAAgEFA0AwAEraeffloFBQV64YUX9Nlnn+npp5/WokWL9Pzzz3uPWbRokZ577jktW7ZMO3fuVPv27ZWamiq3221icgAAAABmM/VGAAAANKXt27dr3LhxGjNmjCTpyiuv1Ouvv64PPvhA0pleZkuWLNHcuXM1btw4SdKrr76q2NhYrV27VpMmTTrvnB6PRx6Px7vucrma4UoAAAAANDeKZkAQ8tRaJF387rTBzjCkU3VnHoeFSBaLuXkCwZnPResyePBgvfTSS/rf//1fXXvttfrb3/6mbdu2afHixZKk/fv3y+l0KiUlxfucqKgoDRw4UCUlJRcsmuXl5Wn+/PnNdg0AAAAAzEHRDAhC2duizY4ABIRf/vKXcrlc6t69u0JDQ1VbW6uFCxdq8uTJkiSn0ylJio2N9XlebGysd5+/3Nxc5eTkeNddLpcSEhKa6AoAAAAAmIWiGQAgaP3+97/XqlWr5HA4dP3112vXrl2aPXu24uLilJmZeVnntFqtslqtjZwUAAAAQKChaAYECZvNpqKiIrNjBAy3260JEyZIkgoLC2Wz2UxOFFhay/vx4IMP6pe//KV3mGXv3r315ZdfKi8vT5mZmbLb7ZKkiooKde3a1fu8iooK3XDDDWZEBgAAABAgKJoBQcJisSg8PNzsGAHJZrPx3rRSX3/9tUJCfG8UHRoaqrq6MxPeJSUlyW63a9OmTd4imcvl0s6dOzVz5szmjgsACDBbt27Vr3/9a5WVlenw4cMqLCzU+PHjvfsNw9Cjjz6ql19+WZWVlbr55ptVUFCga665xnvM8ePHNWvWLL399tsKCQlRenq6li5dqoiICBOuCADQECHffggAAC3T2LFjtXDhQv35z3/WP/7xDxUWFmrx4sXeXogWi0WzZ8/WE088oT/96U/as2ePpkyZori4OJ//FAEAWqfq6mr17dtX+fn5F9y/aNEiPffcc1q2bJl27typ9u3bKzU1VW6323vM5MmT9cknn6i4uFjr1q3T1q1bNWPGjOa6BADAd0BPMwBA0Hr++ec1b948/exnP9ORI0cUFxenn/70p3rkkUe8xzz00EOqrq7WjBkzVFlZqVtuuUXr169vNUNYAQD1S0tLU1pa2gX3GYahJUuWaO7cuRo3bpwk6dVXX1VsbKzWrl2rSZMm6bPPPtP69etVWlqqG2+8UdKZtmn06NF65plnFBcXd955PR6PPB6Pd93lcjXBlQEALgU9zQAAQatDhw5asmSJvvzyS33zzTf64osv9MQTTygsLMx7jMVi0YIFC+R0OuV2u7Vx40Zde+21JqYGALQE+/fvl9PpVEpKindbVFSUBg4cqJKSEklSSUmJOnbs6C2YSVJKSopCQkK0c+fOC543Ly9PUVFR3oU7NAOAeSiaAQAAAEADOZ1OSVJsbKzP9tjYWO8+p9OpmJgYn/1t2rRRdHS09xh/ubm5qqqq8i4HDhxogvQAgEvB8EwAAAAACBBWq1VWq9XsGAAA0dMMAAAAABrMbrdLkioqKny2V1RUePfZ7XYdOXLEZ//p06d1/Phx7zEAgMBF0QwAAAAAGigpKUl2u12bNm3ybnO5XNq5c6eSk5MlScnJyaqsrFRZWZn3mPfee091dXUaOHBgs2cGADQMwzMBAAAA4AJOnjypffv2edf379+vXbt2KTo6WomJiZo9e7aeeOIJXXPNNUpKStK8efMUFxen8ePHS5J69OihUaNGafr06Vq2bJlqamqUnZ2tSZMmXfDOmQCAwELRDAAAAAAu4MMPP9Stt97qXc/JyZEkZWZmauXKlXrooYdUXV2tGTNmqLKyUrfccovWr18vm83mfc6qVauUnZ2t4cOHKyQkROnp6Xruueea/VoAAA1H0QwAAAAALmDo0KEyDKPe/RaLRQsWLNCCBQvqPSY6OloOh6Mp4gEAmhhzmgEAAAAAAAB+KJoBAAAAAAAAfiiaAQAAAAAAAH4omgEAAAAAAAB+uBEAAAAAAAAIGJ5ai6T6b8LRWhiGdKruzOOwEMliMTeP2c58LpoXRTMAAAAAABAwsrdFmx0BkETRDAAAAABaBUvdafruSGe679SdPvM4pE2r775jOfteADgPRTMAAAAAaAUidr1udgSgXjabTUVFRWbHCChut1sTJkyQJBUWFspms5mcKHA013tB0QwAAAAAAJjKYrEoPDzc7BgBy2az8f6YgKIZAAAAAAQpeu+cj9479eO9AHxRNAMAAACAIEXvnYuj9w6Ai6Fo1gBMnCkmzbwAJs4EAAAAACD4UDRrACbOBAAAAAAAaB1CzA4AAAAAAAAABBp6mn0LJs70xaSZF8f7AQAAAABAcKBo9i2YOLN+TJoJAAAAAACCFcMzAQAAAAAAAD8UzQAAAAAAAAA/FM0AAAAAAAAAPxTNAAAAAAAAAD8UzQAAAAAAAAA/FM0AAAAAAAAAPxTNAAAAAAAAAD8UzQAAAAAAAAA/FM0AAAAAAAAAPxTNAAAAAAAAAD8UzQAAAAAAAAA/FM0AAAAAAAAAPxTNAAAAAAAAAD8UzQAAAAAAAAA/FM0AAAAAAAAAPxTNAABB68orr5TFYjlvycrKkiS53W5lZWWpc+fOioiIUHp6uioqKkxODQAAACAQUDQDAASt0tJSHT582LsUFxdLku644w5J0pw5c/T2229r9erV2rJliw4dOqSJEyeaGRkAAABAgGhjdgAAAJrK9773PZ/1p556SldddZV+9KMfqaqqSsuXL5fD4dCwYcMkSStWrFCPHj20Y8cODRo0yIzIAL6FYRhyu91mx5AknxyBkslms8lisZgdAwCAoEDRDADQKpw6dUqvvfaacnJyZLFYVFZWppqaGqWkpHiP6d69uxITE1VSUlJv0czj8cjj8XjXXS5Xk2cH8G9ut1tpaWlmxzjPhAkTzI4gSSoqKlJ4eLjZMQAACAoMzwQAtApr165VZWWlpk6dKklyOp0KCwtTx44dfY6LjY2V0+ms9zx5eXmKioryLgkJCU2YGgAAAIBZ6GkGAGgVli9frrS0NMXFxX2n8+Tm5ionJ8e77nK5KJwBzchms6moqMjsGJLODBU92/PUarUGxLBIm81mdgQAAIIGRTMAQND78ssvtXHjRq1Zs8a7zW6369SpU6qsrPTpbVZRUSG73V7vuaxWq6xWa1PGBXARFosloIYftmvXzuwIAACgiTA8EwAQ9FasWKGYmBiNGTPGu61///5q27atNm3a5N22d+9elZeXKzk52YyYAAAAAAIIPc0AAEGtrq5OK1asUGZmptq0+XezFxUVpWnTpiknJ0fR0dGKjIzUrFmzlJyczJ0zAQAAAFA0AwAEt40bN6q8vFz33XffefueffZZhYSEKD09XR6PR6mpqXrxxRdNSAkAAAAg0Jg6PDMvL08DBgxQhw4dFBMTo/Hjx2vv3r0+x7jdbmVlZalz586KiIhQenq6KioqTEoMAGhpRo4cKcMwdO211563z2azKT8/X8ePH1d1dbXWrFlz0fnMAAAAALQephbNtmzZoqysLO3YsUPFxcWqqanRyJEjVV1d7T1mzpw5evvtt7V69Wpt2bJFhw4d0sSJE01MDQAAAAAAgGBnatFs/fr1mjp1qq6//nr17dtXK1euVHl5ucrKyiRJVVVVWr58uRYvXqxhw4apf//+WrFihbZv364dO3aYGR0AAABAK/fYY4/JYrH4LN27d/fuZ9QMALRsAXX3zKqqKklSdHS0JKmsrEw1NTVKSUnxHtO9e3clJiaqpKTkgufweDxyuVw+CwAAAAA0heuvv16HDx/2Ltu2bfPuY9QMALRsAXMjgLq6Os2ePVs333yzevXqJUlyOp0KCwtTx44dfY6NjY2V0+m84Hny8vI0f/78po4LAAAAAGrTps0F58M8O2rG4XBo2LBhkqQVK1aoR48e2rFjB3dqBoAWIGB6mmVlZenjjz/WG2+88Z3Ok5ubq6qqKu9y4MCBRkoIAAAAAL4+//xzxcXF6fvf/74mT56s8vJySZc3akZi5AwABJKAKJplZ2dr3bp1ev/99xUfH+/dbrfbderUKVVWVvocX1FRUe/dzaxWqyIjI30WAAAAAGhsAwcO1MqVK7V+/XoVFBRo//79+uEPf6gTJ05c1qgZ6czImaioKO+SkJDQxFcBAKiPqUUzwzCUnZ2twsJCvffee0pKSvLZ379/f7Vt21abNm3ybtu7d6/Ky8uVnJzc3HEBAAAAwCstLU133HGH+vTpo9TUVL3zzjuqrKzU73//+8s+JyNnACBwmDqnWVZWlhwOh/74xz+qQ4cO3l9coqKiFB4erqioKE2bNk05OTmKjo5WZGSkZs2apeTkZOYAAAAAABBQOnbsqGuvvVb79u3TiBEjvKNmzu1tdrFRM9KZkTNWq7UZ0gIAvo2pPc0KCgpUVVWloUOHqmvXrt7lzTff9B7z7LPP6rbbblN6erqGDBkiu92uNWvWmJgaAAAAAM538uRJffHFF+ratSujZgAgCJja08wwjG89xmazKT8/X/n5+c2QCAAAAAAuzS9+8QuNHTtW3bp106FDh/Too48qNDRUd999N6NmACAImFo0AwAAAICW6uDBg7r77rt17Ngxfe9739Mtt9yiHTt26Hvf+56kM6NmQkJClJ6eLo/Ho9TUVL344osmpwYAXCqKZgAAAABwGd54442L7mfUDAC0bKbOaQYAAAAAAAAEIopmAAAAAAAAgB+KZgAAAAAAAIAf5jQDAAAAAAD4P4ZhyO12mx3DJ0Mg5JHOzNVosVjMjtFsKJoBAAAAAAD8H7fbrbS0NLNj+JgwYYLZESRJRUVFCg8PNztGs2F4JgAAAAAAAOCHnmYAAAAAAAD/x2azqaioyOwYMgxDHo9HkmS1WgNiWKTNZjM7QrOiaAYAAAAAAPB/LBZLwAxBbNeundkRWjWGZwIAAAAAAAB+KJoBAAAAAAAAfiiaAQAAAAAAAH6Y06yFMAxDbrfb7Bg+GQIhj3RmIsJAmBARAAAAAAAED4pmLYTb7VZaWprZMXxMmDDB7AiSpKKiooCZpBEAAAAAAAQHhmcCAAAAAAAAfuhp1kLYbDYVFRWZHUOGYcjj8UiSrFZrQAyLtNlsZkcAAAAAAABBhqJZC2GxWAJmCGK7du3MjgAAAAAAANCkGJ4JAAAAAAAA+KFoBgAAAAAAAPhheCaARmUYhtxut9kxfDIEQh7pzPx7gTAPIHAhgfLdlfj+AkCwCpS2hnYGwKWiaAagUbndbqWlpZkdw8eECRPMjiBJKioqCpi5CQF/gfjdlfj+AkAwCcS2hnYGwMUwPBMAAAAAAADwQ08zAI3KZrOpqKjI7BgyDEMej0eSZLVaA6K7u81mMzsCUK9A+e5KfH8BIFgFSltDOwPgUlE0A9CoLBZLwHQtb9eundkRgBYjkL67Et9fAAhGgdTW0M4AuBQMzwQAAAAAAAD8UDQDAAAAAAAA/FA0AwAAAAAAAPxQNAMABLWvvvpK99xzjzp37qzw8HD17t1bH374oXe/YRh65JFH1LVrV4WHhyslJUWff/65iYkBAAAABAKKZgCAoPWvf/1LN998s9q2bauioiJ9+umn+u///m916tTJe8yiRYv03HPPadmyZdq5c6fat2+v1NRUud1uE5MDAAAAMBt3zwQABK2nn35aCQkJWrFihXdbUlKS97FhGFqyZInmzp2rcePGSZJeffVVxcbGau3atZo0aVKzZwYAAAAQGOhpBgAIWn/6059044036o477lBMTIz69eunl19+2bt///79cjqdSklJ8W6LiorSwIEDVVJScsFzejweuVwunwUAAABA8KFoBgAIWv/f//f/qaCgQNdcc402bNigmTNn6j//8z/1yiuvSJKcTqckKTY21ud5sbGx3n3+8vLyFBUV5V0SEhKa9iIAAAAAmIKiGQAgaNXV1ekHP/iBnnzySfXr108zZszQ9OnTtWzZsss+Z25urqqqqrzLgQMHGjExAAAAgEBB0QwAELS6du2qnj17+mzr0aOHysvLJUl2u12SVFFR4XNMRUWFd58/q9WqyMhInwUAAABA8KFoBgAIWjfffLP27t3rs+1///d/1a1bN0lnbgpgt9u1adMm736Xy6WdO3cqOTm5WbMCAAAACCzcPRMAELTmzJmjwYMH68knn9Sdd96pDz74QC+99JJeeuklSZLFYtHs2bP1xBNP6JprrlFSUpLmzZunuLg4jR8/3tzwAAAAAExF0QwAELQGDBigwsJC5ebmasGCBUpKStKSJUs0efJk7zEPPfSQqqurNWPGDFVWVuqWW27R+vXrZbPZTEwOAAAAwGwWwzAMs0M0JZfLpaioKFVVVTHvDAA0Av6u+uL9AIDGxd9VX7wfANC4GvJ3Neh7mp2tCbpcLpOTAEBwOPv3NMh/c7lktDMA0LhoZ3zRzgBA42pIOxP0RbMTJ05IkhISEkxOAgDB5cSJE4qKijI7huloZwCgadDOnEE7AwBN41LamaAfnllXV6dDhw6pQ4cOslgsZscJCi6XSwkJCTpw4ABdxBHQ+Kw2DcMwdOLECcXFxSkkhJsw0840Db6/aCn4rDY+2hlftDNNg+8uWgo+q42vIe1M0Pc0CwkJUXx8vNkxglJkZCRfWrQIfFYbH7/8/xvtTNPi+4uWgs9q46Kd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\n" + }, + "metadata": {} + } + ], + "source": [ + "# Create a figure with three subplots\n", + "fig, axes = plt.subplots(1, 3, figsize=(15, 5))\n", + "\n", + "# Plot the boxplots for BMI, BP, and Y depending on gender\n", + "sns.boxplot(x='SEX', y='BMI', data=df, ax=axes[0])\n", + "sns.boxplot(x='SEX', y='BP', data=df, ax=axes[1])\n", + "sns.boxplot(x='SEX', y='Y', data=df, ax=axes[2])\n", + "\n", + "# Set the titles for the subplots\n", + "axes[0].set_title('BMI')\n", + "axes[1].set_title('BP')\n", + "axes[2].set_title('Y')\n", + "\n", + "# Show the plot\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Task 3: What is the the distribution of Age, Sex, BMI and Y variables?" + ], + "metadata": { + "id": "I7N3sUbQ4qDB" + } + }, + { + "cell_type": "code", + "execution_count": 19, + "source": [ + "# Create a figure with four subplots\n", + "fig, axes = plt.subplots(2, 2, figsize=(10, 10))\n", + "\n", + "# Create histograms for the variables Age, Sex, BMI, and Y.\n", + "axes[0, 0].hist(df['AGE'])\n", + "axes[0, 1].hist(df['SEX'])\n", + "axes[1, 0].hist(df['BMI'])\n", + "axes[1, 1].hist(df['Y'])\n", + "\n", + "# Set the titles for the subplots\n", + "axes[0, 0].set_title('Age')\n", + "axes[0, 1].set_title('Sex')\n", + "axes[1, 0].set_title('BMI')\n", + "axes[1, 1].set_title('Y')\n", + "\n", + "# Show the plot\n", + "plt.show()" + ], + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0AAAANECAYAAACZ8k9UAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABwuklEQVR4nO3df1xUdd7//+cgP0MZxGQGEpTMwt+VeuGoW6YkuualK1vpWpG5uVvgqmyZ7JWalmFeW7q2qNXlon2SLHfTslbLKGkrJKUsy5bUi4LSGbZaQClGk/P9o2/n2kndUmcY4Dzut9u53Zz3+z3nvN4zE2eenTnn2AzDMAQAAAAAFhAS7AIAAAAAoLkQgAAAAABYBgEIAAAAgGUQgAAAAABYBgEIAAAAgGUQgAAAAABYBgEIAAAAgGUQgAAAAABYBgEIAAAAgGUQgAAAAABYBgEI8IOVK1fKZrMpLS0t2KUAAKC9e/fq5z//ubp27arIyEhdcMEFuvrqq/Xwww8HuzQg6GyGYRjBLgJo7YYOHapDhw7p448/1v79+3XRRRcFuyQAgEW9+eabuuqqq5ScnKysrCw5nU5VV1dr586dOnjwoA4cOBDsEoGgIgAB56iyslIXXnihnnnmGf3qV79Sdna2FixYEOyyAAAWNXbsWO3atUsfffSRYmNjffpqamoUHx8fnMKAFoKfwAHnaP369erYsaPGjh2rn//851q/fv1JY7744gvdeOONiomJUWxsrLKysvTuu+/KZrNp7dq1PmP//ve/6+c//7ni4uIUGRmpgQMH6rnnnmum2QAAWruDBw+qd+/eJ4UfSSeFnyeeeEIDBgxQVFSU4uLiNGnSJFVXV5v9hYWFstls+tOf/uTzvPvvv182m01//etfAzIHIJAIQMA5Wr9+vSZOnKjw8HBNnjxZ+/fv165du8z+pqYmjRs3Tk8++aSysrK0ePFiHT58WFlZWSet64MPPtDgwYP14Ycfau7cuXrwwQcVHR2tCRMmaNOmTc05LQBAK9W1a1eVl5fr/fff/7fjFi9erJtuukk9evTQQw89pFmzZqm4uFhXXHGFamtrJUlTp07VNddco9zcXDMY7d27VwsXLtS0adP005/+NNDTAfzPAHDWdu/ebUgytm/fbhiGYTQ1NRldunQxZs6caY75y1/+Ykgyli9fbradOHHCGDFihCHJKCwsNNtHjhxp9O3b12hsbDTbmpqajCFDhhg9evQI+HwAAK3fSy+9ZLRr185o166d4XK5jDlz5hgvvviicezYMXPMxx9/bLRr185YvHixz3P37t1rhIaG+rQfPnzYiIuLM66++mrD6/Ual112mZGcnGzU1dU125wAf+IIEHAO1q9fL4fDoauuukqSZLPZdP3112vDhg06ceKEJGnbtm0KCwvTrbfeaj4vJCRE2dnZPuv68ssv9corr+i6667TkSNH9Pnnn+vzzz/XF198oYyMDO3fv1+fffZZ800OANAqXX311SotLdV//ud/6t1339XSpUuVkZGhCy64wPxJ9TPPPKOmpiZdd9115v7m888/l9PpVI8ePfTqq6+a63M6nSooKND27dv1k5/8RHv27NGf/vQnxcTEBGuKwDkJDXYBQGt14sQJbdiwQVdddZUqKyvN9rS0ND344IMqLi7WqFGj9MknnyghIUHnnXeez/O/f6W4AwcOyDAMzZs3T/PmzTvlNmtqanTBBRf4fzIAgDZl0KBBeuaZZ3Ts2DG9++672rRpk5YtW6af//zn2rNnj/bv3y/DMNSjR49TPj8sLMzn8aRJk/TEE0/ohRde0PTp0zVy5MjmmAYQEAQg4Cy98sorOnz4sDZs2KANGzac1L9+/XqNGjXqR6+vqalJknTHHXcoIyPjlGO4vDYA4EyEh4dr0KBBGjRokC6++GJNnTpVGzduVFNTk2w2m7Zu3ap27dqd9Lz27dv7PP7iiy+0e/duSdK+ffvU1NSkkBB+SITWiQAEnKX169crPj5eBQUFJ/U988wz2rRpk1avXq2uXbvq1Vdf1VdffeVzFOj792G48MILJX37f93S09MDWzwAwHIGDhwoSTp8+LC6d+8uwzCUkpKiiy+++Aefm52drSNHjig/P195eXlavny5cnNzA10yEBBEd+AsfP3113rmmWd0zTXX6Oc///lJS05Ojo4cOaLnnntOGRkZOn78uB577DHz+U1NTScFp/j4eA0fPlyPPPKIDh8+fNI2//GPfwR8XgCA1u/VV1+VcYrbPH53yepLLrlEEydOVLt27bRw4cKTxhqGoS+++MJ8/Oc//1lPPfWUlixZorlz52rSpEm6++679dFHHwV2IkCAcCNU4Cw89dRTmjRpkjZv3qzx48ef1N/U1CSn06nBgwdr06ZNGjJkiMrLy3XbbbcpNTVVzz33nGpqarRnzx6tXbvWvCT2vn37NGzYMIWEhOjWW2/VhRdeKI/Ho9LSUn366ad69913m3uqAIBWpk+fPvrqq6/0s5/9TKmpqTp27JjefPNNPfXUU0pKStI777yj2NhYLVmyRHl5eRoyZIgmTJigDh06qLKyUps2bdL06dN1xx13qKamRr1791bfvn1VXFwsm82mL774Qr1799aFF16o119/nZ/CofUJ3gXogNZr3LhxRmRkpNHQ0HDaMTfffLMRFhZmfP7558Y//vEP4xe/+IXRoUMHw263GzfffLPxxhtvGJKMDRs2+Dzv4MGDxk033WQ4nU4jLCzMuOCCC4xrrrnG+POf/xzoaQEA2oCtW7cat9xyi5Gammq0b9/eCA8PNy666CJjxowZhsfj8Rn7l7/8xRg2bJgRHR1tREdHG6mpqUZ2drZRUVFhGIZhTJw40ejQoYPx8ccf+zzv2WefNSQZDzzwQLPNC/AXjgABQbJ582b97Gc/0+uvv66hQ4cGuxwAAABLIAABzeDrr79WVFSU+fjEiRMaNWqUdu/eLbfb7dMHAACAwOEqcEAzmDFjhr7++mu5XC55vV4988wzevPNN3X//fcTfgAAAJoRR4CAZlBUVKQHH3xQBw4cUGNjoy666CLddtttysnJCXZpAAAAlkIAAgAAAGAZXLcQAAAAgGUQgAAAAABYRqu8CEJTU5MOHTqkDh06yGazBbscALAMwzB05MgRJSYmcvPD72HfBADBcab7plYZgA4dOqSkpKRglwEAllVdXa0uXboEu4wWhX0TAATXj903tcoA1KFDB0nfTjImJibI1QCAddTX1yspKcn8O4z/w74JAILjTPdNrTIAfffTgpiYGHYyABAE/MTrZOybACC4fuy+iR9wAwAAALAMAhAAAAAAyyAAAQAAALAMAhAAAAAAyyAAAQAAALAMAhAAAAAAyyAAAQAAALAMAhAAAAAAyyAAAQAAALAMAhAAAAAAyyAAAQAAALAMAhAAAAAAyyAAAQAAALAMAhAAAAAAywgNdgGAFXWb+0JQt//xkrFB3T4AAGhZrPTdhCNAAAAAACyDAAQAAADAMghAAAAAACyDAAQAAADAMghAAAAAACyDAAQAAADAMghAAAAAACyDAAQAAADAMghAAAAAACyDAAQAAADAMghAAAAAACyDAAQAAADAMghA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zqstzklqm/NiTq1HW53XmQj2fon3AIBVNfffP5vR1q5lCgAAAACnEbQboQIAAABAcyMAAQAAALAMAhAAAAAAyyAAAQAAALAMywWg/Px8DRo0SB06dFB8fLwmTJigiooKnzGNjY3Kzs5Wp06d1L59e2VmZp50c7yWZNWqVerXr5958yiXy6WtW7ea/a1tPqeyZMkS2Ww2zZo1y2xrjfO65557ZLPZfJbU1FSzvzXOSZI+++wz3XDDDerUqZOioqLUt29f7d692+w3DEPz589XQkKCoqKilJ6erv379wex4h/WrVu3k94rm82m7OxsSa3zvTpx4oTmzZunlJQURUVFqXv37rr33nv1r9fCaY3vFQAAZ8JyAaikpETZ2dnauXOntm/fruPHj2vUqFFqaGgwx8yePVtbtmzRxo0bVVJSokOHDmnixIlBrPrf69Kli5YsWaLy8nLt3r1bI0aM0Pjx4/XBBx9Ian3z+b5du3bpkUceUb9+/XzaW+u8evfurcOHD5vL66+/bva1xjn985//1NChQxUWFqatW7dq3759evDBB9WxY0dzzNKlS7VixQqtXr1aZWVlio6OVkZGhhobG4NY+b+3a9cun/dp+/btkqRrr71WUut8rx544AGtWrVKf/zjH/Xhhx/qgQce0NKlS/Xwww+bY1rjewUAwBkxLK6mpsaQZJSUlBiGYRi1tbVGWFiYsXHjRnPMhx9+aEgySktLg1XmGevYsaPxP//zP61+PkeOHDF69OhhbN++3bjyyiuNmTNnGobRet+nBQsWGP379z9lX2ud01133WUMGzbstP1NTU2G0+k0/vu//9tsq62tNSIiIownn3yyOUr0i5kzZxrdu3c3mpqaWu17NXbsWOOWW27xaZs4caIxZcoUwzDaznsVKFu2bDHsdrvxzTffGIZhGO+8844hybjrrrvMMdOmTTNfzz//+c9Gr169jPDwcKNr167G73//e5/1de3a1bj33nuNG2+80YiOjjaSk5ONZ5991qipqTH+8z//04iOjjb69u1r7Nq1y+d5f/vb34xhw4YZkZGRRpcuXYwZM2YYR48e9Vnv4sWLjalTpxrt27c3kpKSjEceeSRQLwsA+LjyyiuNnJwcY+bMmUZsbKwRHx9vPProo8bRo0eNm2++2Wjfvr3RvXt3469//av5nL179xqjR482oqOjjfj4eOOGG24w/vGPf/isc8aMGcadd95pdOzY0XA4HMaCBQvOukbLHQH6vrq6OklSXFycJKm8vFzHjx9Xenq6OSY1NVXJyckqLS0NSo1n4sSJE9qwYYMaGhrkcrla/Xyys7M1duxYn/ql1v0+7d+/X4mJibrwwgs1ZcoUVVVVSWq9c3ruuec0cOBAXXvttYqPj9dll12mxx57zOyvrKyU2+32mZfdbldaWlqLnte/OnbsmJ544gndcsststlsrfa9GjJkiIqLi/XRRx9Jkt599129/vrrGjNmjKS28V4F0k9+8hMdOXJE77zzjqRvf1Fw/vnna8eOHeaYkpISDR8+XOXl5bruuus0adIk7d27V/fcc4/mzZuntWvX+qxz2bJlGjp0qN555x2NHTtWN954o2666SbdcMMNevvtt9W9e3fddNNN5s8UDx48qNGjRyszM1PvvfeennrqKb3++uvKycnxWe+DDz6ogQMH6p133tHtt9+u22677aSfewNAoKxbt07nn3++3nrrLc2YMUO33Xabrr32Wg0ZMkRvv/22Ro0apRtvvFFfffWVamtrNWLECF122WXavXu3tm3bJo/Ho+uuu+6kdUZHR6usrExLly7VokWLzF9nnLFzCHit3okTJ4yxY8caQ4cONdvWr19vhIeHnzR20KBBxpw5c5qzvDPy3nvvGdHR0Ua7du0Mu91uvPDCC4ZhtN75GIZhPPnkk0afPn2Mr7/+2jAMw+cIUGud11//+lfj6aefNt59911j27ZthsvlMpKTk436+vpWO6eIiAgjIiLCyMvLM95++23jkUceMSIjI421a9cahmEYb7zxhiHJOHTokM/zrr32WuO6664LRsln7KmnnjLatWtnfPbZZ4ZhtN7P34kTJ4y77rrLsNlsRmhoqGGz2Yz777/f7G8L71WgXX755eYRsgkTJhiLFy82wsPDjSNHjhiffvqpIcn46KOPjF/84hfG1Vdf7fPcO++80+jVq5f5uGvXrsYNN9xgPj58+LAhyZg3b57ZVlpaakgyDh8+bBjGt0eYpk+f7rPev/3tb0ZISIj5t/L7621qajLi4+ONVatW+elVAIDTu/LKK31+GfLNN98Y0dHRxo033mi2fff3rrS01Lj33nuNUaNG+ayjurrakGRUVFSccp2G8e0+91+PwJ+J0HNJd61ddna23n//fZ9zMFqrSy65RHv27FFdXZ3+/Oc/KysrSyUlJcEu66xVV1dr5syZ2r59uyIjI4Ndjt9893/aJalfv35KS0tT165d9fTTTysqKiqIlZ29pqYmDRw4UPfff78k6bLLLtP777+v1atXKysrK8jV+ceaNWs0ZswYJSYmBruUc/L0009r/fr1KioqUu/evbVnzx7NmjVLiYmJbea9CrQrr7xSO3bs0G9/+1v97W9/U35+vp5++mm9/vrr+vLLL5WYmKgePXroww8/1Pjx432eO3ToUC1fvlwnTpxQu3btJMnn3EaHwyFJ6tu370ltNTU1cjqdevfdd/Xee+9p/fr15hjDMNTU1KTKykr17NnzpPXabDY5nU7V1NT4+dUAgFP7179B7dq1U6dOnU77t+3dd9/Vq6++qvbt25+0noMHD+riiy8+aZ2SlJCQcNZ/1ywbgHJycvT888/rtddeU5cuXcx2p9OpY8eOqba2VrGxsWa7x+OR0+kMQqU/Tnh4uC666CJJ0oABA7Rr1y794Q9/0PXXX98q51NeXq6amhpdfvnlZtuJEyf02muv6Y9//KNefPHFVjmv74uNjdXFF1+sAwcO6Oqrr26Vc0pISFCvXr182nr27Km//OUvkmTW7vF4lJCQYI7xeDy69NJLm63Os/XJJ5/o5Zdf1jPPPGO2tda/E3feeafmzp2rSZMmSfr2i/Ynn3yi/Px8ZWVltfr3qjkMHz5cf/rTn/Tuu+8qLCxMqampGj58uHbs2KF//vOfuvLKK89ofWFhYea/bTbbaduampokSUePHtWvfvUr/eY3vzlpXcnJyadc73fr+W4dABBop/obdLq/bUePHtW4ceP0wAMPnLSef90X+fPvmuXOATIMQzk5Odq0aZNeeeUVpaSk+PQPGDBAYWFhKi4uNtsqKipUVVUll8vV3OWetaamJnm93lY7n5EjR2rv3r3as2ePuQwcOFBTpkwx/90a5/V9R48e1cGDB5WQkNBq36uhQ4eedG7BRx99pK5du0qSUlJS5HQ6feZVX1+vsrKyFj2v7xQWFio+Pl5jx44121rre/XVV18pJMT3z367du3MHUhrf6+aw3fnAS1btswMO98FoB07dmj48OGSvv2fAG+88YbPc9944w1dfPHF5tGfs3H55Zdr3759uuiii05awsPDz3q9ABAsl19+uT744AN169btpL9r0dHRAdmm5Y4AZWdnq6ioSM8++6w6dOggt9st6dsTfaOiomS32zVt2jTl5uYqLi5OMTExmjFjhlwulwYPHhzk6k8tLy9PY8aMUXJyso4cOaKioiLt2LFDL774YqucjyR16NBBffr08WmLjo5Wp06dzPbWOK877rhD48aNU9euXXXo0CEtWLBA7dq10+TJk1vtezV79mwNGTJE999/v6677jq99dZbevTRR/Xoo49Kknn/pvvuu089evRQSkqK5s2bp8TERE2YMCG4xf+ApqYmFRYWKisrS6Gh//fnsrW+V+PGjdPixYuVnJys3r1765133tFDDz2kW265RVLrfq+aS8eOHdWvXz+tX79ef/zjHyVJV1xxha677jodP37cDEW//e1vNWjQIN177726/vrrVVpaqj/+8Y9auXLlOW3/rrvu0uDBg5WTk6Nf/vKXio6O1r59+7R9+3azHgBoTbKzs/XYY49p8uTJmjNnjuLi4nTgwAFt2LBB//M//3NO/9PotM7qzKFWTNIpl8LCQnPM119/bdx+++1Gx44djfPOO8/42c9+Zp6A2hLdcsstRteuXY3w8HCjc+fOxsiRI42XXnrJ7G9t8zmdf70IgmG0znldf/31RkJCghEeHm5ccMEFxvXXX28cOHDA7G+NczKMby8P3KdPHyMiIsJITU01Hn30UZ/+pqYmY968eYbD4TAiIiKMkSNHmic2tmQvvviiz0mY/6o1vlf19fXGzJkzjeTkZCMyMtK48MILjf/6r/8yvF6vOaa1vlfNaebMmYYk48MPPzTb+vfvbzidTp9x310GOywszEhOTva5vLhhfHuxgmXLlvm0STI2bdpkPq6srDQkGe+8847Z9tZbbxlXX3210b59eyM6Otro16+fsXjx4n+73v79+5/TJWMB4Mf6/vc1w/jhv3cfffSR8bOf/cyIjY01oqKijNTUVGPWrFlGU1PTadc5fvx4Iysr66xqtP3/BQAAAABAm2e5c4AAAAAAWBcBCAAAAIBlEIAAAAAAWAYBCAAAAIBlEIAAAAAAWAYBCAAAAIBlEIAAAAAAWAYBCAAAAIBlEIAAAAAAWAYBCAAAAIBlEIAAAAAAWAYBCAAAAIBlEIAAAAAAWAYBCAAAAIBlEIAAAAAAWAYBCAAAAIBlEIAAAAAAWAYBCAAAAIBlEIAAAAAAWAYBCAAAAIBlEIAAAAAAWAYBCAAAAIBlEIAAAAAAWAYBCAAAAIBlEIAAAAAAWAYBCAAAAIBlEIAAAAAAWAYBCDhHa9eulc1m81ni4+N11VVXaevWrT5jv+v/5S9/ecp1/dd//Zc55vPPPzfbb775ZrVv3z6g8wAAWMuYMWPUsWNHeTyek/rq6uqUkJCgtLQ0NTU1BaE6IHAIQICfLFq0SP/v//0/Pf7445ozZ47+8Y9/6Kc//amef/55n3GRkZH6y1/+omPHjp20jieffFKRkZHNVTIAwMJWrlypY8eOafbs2Sf1/e53v9Pnn3+uRx99VCEhfF1E28InGvCTMWPG6IYbbtCNN96oO+64Q3/7298UFhamJ5980mfc6NGjVV9ff9LRoTfffFOVlZUaO3Zsc5YNALColJQULViwQE8++aReeukls33Xrl1avXq1cnNz1b9//yBWCAQGAQgIkNjYWEVFRSk0NNSn/YILLtAVV1yhoqIin/b169erb9++6tOnT3OWCQCwsNzcXPXr10+33367GhsbdeLECf36179W165dtWDBgmCXBwRE6A8PAfBj1NXV6fPPP5dhGKqpqdHDDz+so0eP6oYbbjhp7C9+8QvNnDlTR48eVfv27fXNN99o48aNys3NVWNjYxCqBwBYUWhoqB599FENGTJE9957r+Lj4/X2229r27ZtOu+884JdHhAQHAEC/CQ9PV2dO3dWfHy8+vTpo7Vr1+pPf/qTrr766pPG/vznP9eJEye0efNmSdJLL72kzz//XJMnT27mqgEAVpeWlqbbb79d//3f/627775bkydPVkZGRrDLAgKGAAT4SUFBgbZv367t27friSee0FVXXaVf/vKXeuaZZ04a27FjR40ePdo8P6ioqEhDhgxR165dm7tsAAC0ePFiderUSSEhIVq2bFmwywECip/AAX7yH//xHxo4cKD5ePLkybrsssuUk5Oja665RuHh4T7jf/GLX+jGG29UVVWVNm/erKVLlzZ3yQAASJJiYmJ0ySWX6PPPP5fD4Qh2OUBAcQQICJCQkBBdddVVOnz4sPbv339S/3/+538qIiJCWVlZ8nq9uu6664JQJQAAgLUQgIAA+uabbyRJR48ePakvKipKEyZM0I4dO3T11Vfr/PPPb+7yAAAALIefwAEBcvz4cb300ksKDw9Xz549TznmjjvuUPfu3TnZFAAAoJkQgAA/2bp1q/7+979LkmpqalRUVKT9+/dr7ty5iomJOeVz+vfvz03mAAAAmhEBCPCT+fPnm/+OjIxUamqqVq1apV/96ldBrAoAAAD/ymYYhhHsIgAAAACgOXARBAAAAACWQQACAAAAYBkEIAAAAACWQQACAAAAYBkEIAAAAACWQQACAAAAYBmt8j5ATU1NOnTokDp06CCbzRbscgDAMgzD0JEjR5SYmKiQEP4f2r9i3wQAwXGm+6ZWGYAOHTqkpKSkYJcBAJZVXV2tLl26BLuMFoV9EwAE14/dN7XKANShQwdJ304yJiYmyNUAgHXU19crKSnJ/DuM/8O+CQCC40z3Ta0yAH3304KYmBh2MgAQBPzE62TsmwAguH7svokfcAMAAACwDAIQAAAAAMsgAAEAAACwjDMOQK+99prGjRunxMRE2Ww2bd682affMAzNnz9fCQkJioqKUnp6uvbv3+8z5ssvv9SUKVMUExOj2NhYTZs2TUePHj2niQAAAADADznjANTQ0KD+/furoKDglP1Lly7VihUrtHr1apWVlSk6OloZGRlqbGw0x0yZMkUffPCBtm/frueff16vvfaapk+ffvazAAAAAIAfwWYYhnHWT7bZtGnTJk2YMEHSt0d/EhMT9dvf/lZ33HGHJKmurk4Oh0Nr167VpEmT9OGHH6pXr17atWuXBg4cKEnatm2bfvrTn+rTTz9VYmLiD263vr5edrtddXV1XGkHAJoRf39Pj9cGAILjTP/++vUcoMrKSrndbqWnp5ttdrtdaWlpKi0tlSSVlpYqNjbWDD+SlJ6erpCQEJWVlZ1yvV6vV/X19T4LAAAAAJwpvwYgt9stSXI4HD7tDofD7HO73YqPj/fpDw0NVVxcnDnm+/Lz82W3282FO20DAAAAOBut4ipweXl5qqurM5fq6upglwQAAACgFfJrAHI6nZIkj8fj0+7xeMw+p9Opmpoan/5vvvlGX375pTnm+yIiIsw7a3OHbQAAAABny68BKCUlRU6nU8XFxWZbfX29ysrK5HK5JEkul0u1tbUqLy83x7zyyitqampSWlqaP8sBAEAnTpzQvHnzlJKSoqioKHXv3l333nuv/vUaQD/mFg4AgLYh9EyfcPToUR04cMB8XFlZqT179iguLk7JycmaNWuW7rvvPvXo0UMpKSmaN2+eEhMTzSvF9ezZU6NHj9att96q1atX6/jx48rJydGkSZN+1BXgAAA4Ew888IBWrVqldevWqXfv3tq9e7emTp0qu92u3/zmN5L+7xYO69atM/ddGRkZ2rdvnyIjI4M8AwCAP51xANq9e7euuuoq83Fubq4kKSsrS2vXrtWcOXPU0NCg6dOnq7a2VsOGDdO2bdt8diDr169XTk6ORo4cqZCQEGVmZmrFihV+mA4AAL7efPNNjR8/XmPHjpUkdevWTU8++aTeeustSd8e/Vm+fLnuvvtujR8/XpL0+OOPy+FwaPPmzZo0aVLQagcA+N8ZB6Dhw4fr3906yGazadGiRVq0aNFpx8TFxamoqOhMNw0AwBkbMmSIHn30UX300Ue6+OKL9e677+r111/XQw89JOmHb+FwugDk9Xrl9XrNx9yiAQBahzMOQGgbus19Iajb/3jJ2KBuH4B1zJ07V/X19UpNTVW7du104sQJLV68WFOmTJH0427hcCr5+flauHBh4AoPAvYNAKygVVwGGwCAs/X0009r/fr1Kioq0ttvv61169bp97//vdatW3dO6+UWDQDQOnEECADQpt15552aO3eu+VO2vn376pNPPlF+fr6ysrJ8buGQkJBgPs/j8ejSSy897XojIiIUERER0NoBAP7HESAAQJv21VdfKSTEd3fXrl07NTU1Sfpxt3AAALQdHAECALRp48aN0+LFi5WcnKzevXvrnXfe0UMPPaRbbrlF0rcX7/mhWzgAANoOAhAAoE17+OGHNW/ePN1+++2qqalRYmKifvWrX2n+/PnmmB9zCwcAQNtAAAIAtGkdOnTQ8uXLtXz58tOO+TG3cAAAtA2cAwQAAADAMghAAAAAACyDAAQAAADAMghAAAAAACyDAAQAAADAMghAAAAAACyDAAQAAADAMghAAAAAACyDAAQAAADAMghAAAAAACyDAAQAAADAMghAAAAAACyDAAQAAADAMghAAAAAACyDAAQAAADAMghAAAAAACyDAAQAAADAMghAAAAAACyDAAQAAADAMghAAAAAACwjNNgFwJq6zX0hqNv/eMnYoG4fAAAAwcERIAAAAACWQQACAAAAYBkEIAAAAACWQQACAAAAYBkEIAAAAACWQQACAAAAYBkEIAAAAACWQQACAAAAYBkEIAAAAACWQQACALR53bp1k81mO2nJzs6WJDU2Nio7O1udOnVS+/btlZmZKY/HE+SqAQCBQAACALR5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\n" + }, + "metadata": {} + } + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 853 + }, + "id": "yKaqwzQb4qDD", + "outputId": "3027725f-b6ea-4802-a925-679ff84e6c8d" + } + }, + { + "cell_type": "markdown", + "source": [ + "### Task 4: Test the correlation between different variables and disease progression (Y)\n", + "\n", + "> **Hint** Correlation matrix would give you the most useful information on which values are dependent." + ], + "metadata": { + "id": "d7M0nVE54qDG" + } + }, + { + "cell_type": "code", + "source": [ + "# Calculate the correlation between columns\n", + "corr = df[['AGE','BMI','BP','Y']].corr()\n", + "\n", + "# Create a heatmap to show the correlation\n", + "sns.heatmap(corr, annot=True)\n", + "\n", + "# Show the plot\n", + "plt.show()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 435 + }, + "id": "-y55KMmPBtqx", + "outputId": "05353b4b-bdca-4019-beb0-68c962c7aafe" + }, + "execution_count": 31, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgMAAAGiCAYAAAB6c8WBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABJFklEQVR4nO3deVhUZfsH8O+wDQKCKDtSuBTukKCI5lsaihsuldliIC65a2K/glxIUzFNxdflNXHLzFzSzNQww1xIFIUQKQUFV3Zk3waYmd8f2ugMoIwODHC+n65zXc0zz3nOfRiHubmf55wRyeVyOYiIiEiwdLQdABEREWkXkwEiIiKBYzJAREQkcEwGiIiIBI7JABERkcAxGSAiIhI4JgNEREQCx2SAiIhI4JgMEBERCRyTASIiIoFjMkBERNRAnDlzBt7e3rCzs4NIJMKhQ4eeus+pU6fQvXt3iMVitG/fHjt27FD7uEwGiIiIGoji4mI4Oztjw4YNtep/8+ZNDB06FP369UNsbCw+/vhjTJw4EcePH1fruCJ+UREREVHDIxKJ8NNPP2HkyJE19vnss89w9OhRxMfHK9reffdd5OXlISwsrNbHYmWAiIioDkkkEhQUFChtEolEI2NHRkbC09NTqc3LywuRkZFqjaOnkWg0oCI7Wdsh0EPN7PpqOwR66A3rbtoOgR4Kz4jTdgj0mMrylDodX5OfScHrd2LRokVKbUFBQfjiiy+ee+z09HRYW1srtVlbW6OgoAClpaVo1qxZrcZpMMkAERFRgyGTamyowMBA+Pv7K7WJxWKNja8JTAaIiIjqkFgsrrMPfxsbG2RkZCi1ZWRkwNTUtNZVAYDJABERUVVymbYjqBUPDw8cO3ZMqe3EiRPw8PBQaxwuICQiIlIlk2luU0NRURFiY2MRGxsL4MGlg7Gxsbhz5w6AB1MOPj4+iv5TpkxBcnIyPv30U1y7dg0bN27Evn37MGfOHLWOy8oAERGRCrmWKgOXLl1Cv379FI//XWvg6+uLHTt2IC0tTZEYAECbNm1w9OhRzJkzB2vXrkXr1q2xZcsWeHl5qXXcBnOfAV5N0HDwaoKGg1cTNBy8mqBhqeurCcpT/9bYWAZ2nTU2Vl1hZYCIiEiVmuX9xo7JABERkapGsoBQU7iAkIiISOBYGSAiIlKlwZsONQZMBoiIiFRxmoCIiIiEhJUBIiIiVbyagIiISNi0ddMhbeE0ARERkcCxMkBERKSK0wREREQCJ7BpAiYDREREqgR2nwGuGSAiIhI4VgaIiIhUcZqAiIhI4AS2gJDTBERERALHygAREZEqThMQEREJHKcJiIiISEhYGSAiIlIhlwvrPgNMBoiIiFQJbM0ApwmIiIgEjpUBIiIiVQJbQMhkgIiISJXApgmYDBAREaniFxURERGRkLAyQEREpIrTBERERAInsAWEtZ4mGDJkCPLz8xWPly9fjry8PMXj+/fvo1OnThoNjoiIiOperZOB48ePQyKRKB4vW7YMOTk5iseVlZVISEjQbHRERETaIJdpbmsEaj1NIJfLn/iYiIioyeA0AREREQlJrSsDIpEIIpGoShsREVGTI7DKgFrTBOPGjYNYLAYAlJWVYcqUKTA2NgYApfUEREREjZnQvrWw1tMEvr6+sLKygpmZGczMzDB27FjY2dkpHltZWcHHx6cuY22QLsVewfRPg9Bv+Afo0mcwws+c03ZITdLUKb64kXgeRQVJOBfxC3q4udTYt1Onl7Fv72bcSDyPyvIUzJo5sUofExNjrPp6EZKuX0Bh/g2cPf0z3Fyd6/AMmg5v32H49twO/HL9Z6w9vAZOLi/X2LfPoN5Yd3QtDsTvx88JP2Fj2Hq88Wb/GvvPWjYDx+/+ilETRtZB5E0P3xdN04YNG+Do6AhDQ0O4u7sjKiqqxr4VFRVYvHgx2rVrB0NDQzg7OyMsLEztY9a6MrB9+3a1BxeC0tIyOLVvi1FDB+Ljz5doO5wmafTo4fh6ZRCmTQ9A1MW/MGvmRBw7+j06dfkPsrLuV+lv1KwZbibfwY8HjmDVyi+qHXPzN1+jc2cnjPObhdS0DHzw/ps4HrYHXZ37ITU1vY7PqPF6zfs/+GjBR1j3+Tpc+ysBoyaMxNLvlmDC65OQfz+/Sv/CvEL8sG4v7t64i8qKSri/0RNzV/kj734eok/HKPXtPag3OnTvgOz07Po6nUaN74s6pqVpgr1798Lf3x+bNm2Cu7s7QkJC4OXlhYSEBFhZWVXpP3/+fOzatQuhoaHo0KEDjh8/jlGjRuHcuXN45ZVXan1ckbyBXBZQkZ2s7RCeW5c+g7E2eAHe+E9vbYfyXJrZ9dV2CErORfyCi5cuY/bH8wE8WKtyK/kiNmzcjhUrNzxx3xuJ5/HfdVvw33VbFG2GhobIy0nAm2+Nx7FfwxXtF87/iuPH/8DCoBV1cyLP4A3rbtoOQcnaw2uQeDkRGxb8D8CD12JX1E78vP0w9m3cX6sx1h9bh6iTUdj59XeKtlY2rbD2cAjmjZ2HxTsW49DWQ/hp66G6OIVnFp4Rp+0QlAj5fQEAleUpdTp+6R9bnt6plpr1q1qFqYm7uzt69OiB9evXAwBkMhkcHBwwc+ZMBAQEVOlvZ2eHefPmYfr06Yq2t956C82aNcOuXbtqfdxaTxOkpaVh3rx5isevvvoqunfvrth69OiBlJS6fXFIePT19dG9ezeEnzyraJPL5Qg/GYFevVyfaUw9PV3o6emhrEx5nUtZaRn69O7xXPE2ZXr6enip60uIiYhVtMnlcvx1NhadXDvWagyXPi5waNca8RfiFW0ikQifhnyCHzf9iNuJdzQddpPE90U9kMk0tkkkEhQUFCht1a2zKy8vR3R0NDw9PRVtOjo68PT0RGRkZLVhSiQSGBoaKrU1a9YMERERap1urZOBjRs3Ijc3V/H48uXL6Nu3L0aMGIERI0ZAV1cXa9asqdVYtf3BEFlYtISenh4yM5RLx5mZWbCxtnymMYuKihEZeQnzPp8NW1tr6Ojo4P3330SvXq6wsbXWRNhNkmlLU+jq6SIvK1epPTc7F+aW5jXuZ9TcCIeuHcTR5F/w5Y5F2LDwf4g5+5fi+XemjYZUKsOhbT/XWexNDd8XjUtwcLBifd2/W3BwcJV+2dnZkEqlsLZW/nlbW1sjPb36aRovLy+sXr0a169fh0wmw4kTJ3Dw4EGkpaWpFWOtk4EjR47gvffeU2qbPXs2goKCEBQUhEWLFuHXX3+t1VjV/WC+WrtJrcCJnoev3yyIRCLcvR2DkqKbmDl9PPbsPQSZwC4nqg+lRaWYNmg6Zg6bjR0rv8XkBZPQrVdXAED7ru0xcvwIfO2/SstREsD3hRIN3oEwMDAQ+fn5SltgYKBGwly7di1eeukldOjQAQYGBpgxYwb8/Pygo6PebYRqvYDw1q1baNOmjeLxgAEDFJcVAoCTkxNu3rxZq7ECAwPh7++v1KZTyCkGqio7OweVlZWwsrZQareyskR6RtYzj5ucfBv9Pd+GkVEzmJo2R3p6JnZ//z/cTGaZuiYFOQWQVkrRQqUKYG5hjlyVasHj5HI5Um89+Csl+Z9kOLR3wJgZYxB3/gq69uyCFhYtsOv8TkV/XT1dTFowESMnjIRv73F1ci6NHd8X9UCDCZBYLFZclv8kFhYW0NXVRUZGhlJ7RkYGbGxsqt3H0tIShw4dQllZGe7fvw87OzsEBASgbdu2asVY69ShoqICWVmP/pEdPHhQqZSRm5tb60xELBbD1NRUaavND4qEp6KiAjExcejf71VFm0gkQv9+r+L8+ejnHr+kpBTp6Zlo0cIMAwe8hsO/HH/uMZuqyopKXL9yHa/0cVG0iUQiuLzqgn+ir9Z6HB0dHegb6AMAfj8QjikDp2HqoOmKLTs9Gz9uOoB5Y+c9ZSTh4vuiaTIwMICrqyvCwx8t4JTJZAgPD4eHh8cT9zU0NIS9vT0qKytx4MABjBgxQq1j17oy4OTk9MRLFc6ePYuXX675euOmqqSkFHfupSoep6Rm4FpiEsxMm8PWpuplIKS+NWtDsX3rGkTHxOHixb8wa+YkGBs3w45v9wIAtm9bi9TUNMybvxzAg8VVnTo9+LdoYKAPezsbODt3RlFRMZKSbgEABg54DSKRCAmJSWjfzhHLly9AQkKSYkyq3sHQn/DJ6rlIjLuOhNgHlxYaNhPjt30nAAD/t2YustPvY/tXOwAAY6a/g+tx15F6Ow36Bvro2b8H3nizP9Z9/mCldGFeIQrzCpWOUVkhRW5WLu4ls1r4JHxf1DEtfcGQv78/fH194ebmhp49eyIkJATFxcXw8/MDAPj4+MDe3l6x5uDChQtISUmBi4sLUlJS8MUXX0Amk+HTTz9V67i1TgbeffddLFy4EH379kW3bsqXO12+fBmLFy/GZ599ptbBm4L4a9cxfuaj816xbjMAYMRgTyydP1dbYTUp+/cfhqVFS3yx8BPY2Fji8uW/MXTYWGRmPlg89YKDndKcpp2dNaIv/qZ4PHfuVMydOxWnT5/DGwNGAwBMzUyx9MsAtG5ti5ycPBz86RgWLPwKlZWV9XtyjczpX87ArKUZfOaOhbllSyT/k4R5Hy5AXnYeAMDS3gqyx65WNjQyxIyl02Fha4HysnLcvXEXK2avxOlfzmjpDJoOvi/qmJbWSYwZMwZZWVlYuHAh0tPT4eLigrCwMEUl/s6dO0pV+LKyMsyfPx/JyckwMTHBkCFD8N1336FFixZqHbfW9xmoqKiAp6cnzp07hwEDBsDJyQkAkJCQgBMnTqBXr144efIk9PX11QpAMX4TuM9AU9HQ7jMgZA3tPgNC1tDuMyB0dX6fgV//q7Gxmg2epbGx6kqtKwP6+vo4ceIEVq9ejT179uDUqVMAgJdeeglffvkl/P39kZCQgC5dutRVrERERPVDYFdQqHXtgYGBAQICAhAbG4uSkhKUlJTg7NmzaNmyJfr27QtnZ97DmoiImgANXlrYGKh3IeJjzpw5A19fX9jZ2eHrr79Gv379cP78eU3GRkRERPWg1tMEAJCeno4dO3Zg69atKCgowDvvvAOJRIJDhw6hU6dOdRUjERFR/eI0QfW8vb3h5OSEuLg4hISEIDU1FevWravL2IiIiLRDYNMEta4M/Prrr5g1axamTp2Kl156qS5jIiIi0i5WBqoXERGBwsJCuLq6wt3dHevXr0d2Nr93nIiIqLGrdTLQq1cvhIaGIi0tDZMnT8aePXtgZ2en+JakwsLCpw9CRETUGAhsmkDtqwmMjY0xfvx4RERE4MqVK5g7dy6WL18OKysrDB8+vC5iJCIiql8ymea2RuCZLy0EHnxfwYoVK3Dv3j388MMPmoqJiIiI6pFalxbWRFdXFyNHjsTIkSM1MRwREZF2NZK/6DVFI8kAERFRk1K7r+1pMp5rmoCIiIgaP1YGiIiIVHGagIiISOAElgxwmoCIiEjgWBkgIiJS1UhuFqQpTAaIiIhUCWyagMkAERGRKl5aSERERELCygAREZEqThMQEREJnMCSAU4TEBERCRwrA0RERKp4aSEREZGwyWW8moCIiIgEhJUBIiIiVQJbQMhkgIiISJXA1gxwmoCIiEjgWBkgIiJSJbAFhEwGiIiIVHHNABERkcAJLBngmgEiIiKBY2WAiIhIlcC+wpjJABERkSpOExAREZG2bNiwAY6OjjA0NIS7uzuioqKe2D8kJAROTk5o1qwZHBwcMGfOHJSVlal1TFYGiIiIVGnp0sK9e/fC398fmzZtgru7O0JCQuDl5YWEhARYWVlV6b97924EBARg27Zt6N27NxITEzFu3DiIRCKsXr261sdlZYCIiEiVXKaxTSKRoKCgQGmTSCTVHnb16tWYNGkS/Pz80KlTJ2zatAlGRkbYtm1btf3PnTuHPn364P3334ejoyMGDhyI995776nVBFVMBoiIiOpQcHAwzMzMlLbg4OAq/crLyxEdHQ1PT09Fm46ODjw9PREZGVnt2L1790Z0dLTiwz85ORnHjh3DkCFD1IqR0wRERESqNDhNEBgYCH9/f6U2sVhcpV92djakUimsra2V2q2trXHt2rVqx37//feRnZ2NV199FXK5HJWVlZgyZQo+//xztWJsMMlAM7u+2g6BHipNPavtEOihaW6faTsEeuhPC3dth0D1SK7BqwnEYnG1H/6acOrUKSxbtgwbN26Eu7s7bty4gdmzZ+PLL7/EggULaj1Og0kGiIiIhMzCwgK6urrIyMhQas/IyICNjU21+yxYsAAffvghJk6cCADo2rUriouL8dFHH2HevHnQ0andagCuGSAiIlIlk2tuqyUDAwO4uroiPDz8URgyGcLDw+Hh4VHtPiUlJVU+8HV1dQEAcjVunMTKABERkSq5dm465O/vD19fX7i5uaFnz54ICQlBcXEx/Pz8AAA+Pj6wt7dXLED09vbG6tWr8corryimCRYsWABvb29FUlAbTAaIiIhUaek+A2PGjEFWVhYWLlyI9PR0uLi4ICwsTLGo8M6dO0qVgPnz50MkEmH+/PlISUmBpaUlvL29sXTpUrWOK5KrU0eoQ3oG9toOgR7iAsKGgwsIG46J5VJth0CPcU89WKfjFy/+QGNjGS/8XmNj1RVWBoiIiFQJ7LsJmAwQERGp0tI0gbbwagIiIiKBY2WAiIhIlZauJtAWJgNERESqOE1AREREQsLKABERkQpNfjdBY8BkgIiISBWnCYiIiEhIWBkgIiJSJbDKAJMBIiIiVby0kIiISOAEVhngmgEiIiKBY2WAiIhIhVxglQEmA0RERKoElgxwmoCIiEjgWBkgIiJSxTsQEhERCRynCYiIiEhIWBkgIiJSJbDKAJMBIiIiFXK5sJIBThMQEREJHCsDREREqjhNQEREJHBMBoiIiIRNaLcj5poBIiIigWNlgIiISJXAKgNMBoiIiFQJ627EnCYgIiISOlYGiIiIVAhtASGTASIiIlUCSwY4TUBERCRwalUGDh8+XKt+w4cPf6ZgiIiIGgSBLSBUKxkYOXLkU/uIRCJIpdJnjYeIiEjrhLZmQK1pAplM9tSNiQAREdGz27BhAxwdHWFoaAh3d3dERUXV2Pf111+HSCSqsg0dOlStY3LNwBNMneKLG4nnUVSQhHMRv6CHm0uNfTt1ehn79m7GjcTzqCxPwayZE6v0MTExxqqvFyHp+gUU5t/A2dM/w83VuQ7PQHguxV7B9E+D0G/4B+jSZzDCz5zTdkiC8PqHXgiO2ICNCd8j8NAyODq3r9V+Pbx7I/TWfkzb/H91HGHTZD1uEFwubEKP5D3ofGQ5jF1q/rlbvNMP7qkHlbYeyXuU+uhZmKHtmhl4JWYL3JJ+gNP3CyBuY1vXp9EwyTS4qWHv3r3w9/dHUFAQYmJi4OzsDC8vL2RmZlbb/+DBg0hLS1Ns8fHx0NXVxejRo9U6rlrTBGfOnKlVv//85z9qBdEQjR49HF+vDMK06QGIuvgXZs2ciGNHv0enLv9BVtb9Kv2NmjXDzeQ7+PHAEaxa+UW1Y27+5mt07uyEcX6zkJqWgQ/efxPHw/agq3M/pKam1/EZCUNpaRmc2rfFqKED8fHnS7QdjiC4DeuNd+b7Ytf8zbj51w14jh+Kj3fOw4L+s1F4v6DG/Vq1tsToz32QeOGfeoy26Wg5vA9eCPLDzYBvUByTCJtJw9Bh90Jc7jsTlffzq92nsqAYcX1nKh7L5cql8Je3BUBeWYlEv+WQFpXA5qPh6Lj3C8S9NguyUkmdnk9Do61pgtWrV2PSpEnw8/MDAGzatAlHjx7Ftm3bEBAQUKV/y5YtlR7v2bMHRkZGdZsM/FuOAKr+I/pXU1kzMGf2JGzZuhvf7twHAJg2PQBDBr8Bv3HvYsXKDVX6X4q+jEvRlwEAy5Z8XuV5Q0NDvDlqCN58azzORlwAACz+cjWGDh2AKZN9sDBoRR2ejXD09eiBvh49tB2GoAyYOAxn94Tj3P5TAIBd8zaja//u6PNOf4T971C1+4h0dDAxZBYOr9mHl3p2RDNTo/oLuImw/cgbmbtPIHvvSQDAzc++QYs3XGH5Xn+krf+p+p3kQEVWXrVPGba1RXM3J8S9PhuliXcBALcCvkH3y9vQalRfZO3+vS5Oo+HS4AJCiUQCiUQ5mRKLxRCLxUpt5eXliI6ORmBgoKJNR0cHnp6eiIyMrNWxtm7dinfffRfGxsZqxajWNIG5uTkcHBywYMECXL9+Hbm5uVW2nJwctQJoiPT19dG9ezeEnzyraJPL5Qg/GYFevVyfaUw9PV3o6emhrEz5H0RZaRn69OaHFzVOuvp6eLFLW1z9M07RJpfLcfXPOLTr/nKN+3nPfhuF9wsQse9kfYTZ5Ij09WDcrR0Kzj76uUMuR/7ZODR3dapxP11jQ7hEfQOXS5vx8vYANHvZ4dGYBvoAAJmkXGlMWXkFmvfooPFzEJLg4GCYmZkpbcHBwVX6ZWdnQyqVwtraWqnd2toa6elPrx5HRUUhPj4eEydWnaZ+GrWSgbS0NHz11VeIjIxE165dMWHCBJw7dw6mpqZKJ/k0EokEBQUFSltNlQZtsLBoCT09PWRmZCu1Z2Zmwcba8pnGLCoqRmTkJcz7fDZsba2ho6OD999/E716ucLG1vrpAxA1QCbmzaGrp4uCbOWydEFWPkwtW1S7T3u3Dnj1nf7YGbCpHiJsmvRaNodIT7fKX/kV2XnQr+HnXpaUgmT/DUj0C0bSjBBAR4ROh5fBwLbVg+dvpEByLwsOgWOha2YMkb4ebKePgtjOAvrW5nV7Qg2QXKa5LTAwEPn5+Urb43/9a8rWrVvRtWtX9OzZU+191UoGDAwMMGbMGBw/fhzXrl1Dt27dMGPGDDg4OGDevHmorKys1TjVZUlyWaHawTc2vn6zIBKJcPd2DEqKbmLm9PHYs/cQZDKBXdBKgiU2NsSENTOxM3ATinKb/nu+ISmKTkT2j6dQ8vctFJ7/B9cnrEDl/QJYjR0IAJBXSpE44SsYtrOD29Xv0CPpB5j27oK88GjB3Y0PgEYXEIrFYpiamiptqlMEAGBhYQFdXV1kZGQotWdkZMDGxuaJ4RYXF2PPnj2YMGHCM53uM19N8MILL2DhwoX4/fff8fLLL2P58uUoKKh5sdDjqsuSRDrNnzUUjcvOzkFlZSWsrC2U2q2sLJGekfXM4yYn30Z/z7dh2qI9HNv2gEefYdDX18fN5DvPGzKRVhTlFkJaKYWphXJF0NTSDAXVzE1bvWgDCwcrzNgSgE039mDTjT3o9eZ/4Ozphk039sDyBVbJaqMypxDySmmVKoC+RYsa1wSokldKURx/E+I2jz5kSq4kI37AXFxyGosYlwlI+OBL6Jk3h+ROxhNGIk0xMDCAq6srwsPDFW0ymQzh4eHw8PB44r779++HRCLB2LFjn+nYz5QMSCQS7N69G56enujSpQssLCxw9OjRKqsaa1JdlvTvwsSGoKKiAjExcejf71VFm0gkQv9+r+L8+ejnHr+kpBTp6Zlo0cIMAwe8hsO/HH/uMYm0QVpRidvxyejYu6uiTSQSoWPvrkiKSazSPy0pBUED/bF4yP8ptsu/X0JC5N9YPOT/kJNW9UodqkpeUYniuCSYvtrtUaNIBLNXu6EwOqF2g+jowKjjC6jIyK3ylLSwBJU5BRC3sYWxczvkHq/5OvemSpPTBOrw9/dHaGgovv32W1y9ehVTp05FcXGx4uoCHx+faqcYtm7dipEjR6JVq1bPdL5qXU0QFRWF7du3Y8+ePXB0dISfnx/27dtX6ySgMVmzNhTbt65BdEwcLl78C7NmToKxcTPs+HYvAGD7trVITU3DvPnLATxYdNip04MFUwYG+rC3s4Gzc2cUFRUjKekWAGDggNcgEomQkJiE9u0csXz5AiQkJCnGpOdXUlKKO/dSFY9TUjNwLTEJZqbNYWtjpcXImq4TW45g/KrpuHUlCTdjb8BzwlAYGInx5/4/AADjV81AbkYOflqxG5WSCqQ+XKn+r9KCEgCo0k5Plrb5F7QLmYniyzdQ9Nd12Ezyho6RGFl7HizKbLt2FirS7+Nu8PcAAPs5o1EUk4iym+nQNTOG7dQRENtbKl0l0HKYByruF6A8JRtGHV/Ai4snIDcsCvmnL2vlHLVKS7O3Y8aMQVZWFhYuXIj09HS4uLggLCxMsajwzp070NFR/js+ISEBERER+O233575uGolA7169cILL7yAWbNmwdX1war6iIiIKv2awncT7N9/GJYWLfHFwk9gY2OJy5f/xtBhY5GZ+WBR4QsOdkpz/XZ21oi++OiFmDt3KubOnYrTp8/hjQEPrvc0NTPF0i8D0Lq1LXJy8nDwp2NYsPCrWq+1oKeLv3Yd42d+pni8Yt1mAMCIwZ5YOn+utsJq0i4dOYfmLU0xYs4YmFq2wN2rt7DWdykKHy4qbGlv0aAWCDcVOYf/hH4rU7T+v/egb9kCJX/fxLUPvkTlw5+72N4CeOx3lK6ZCdqsnAZ9yxaozC9CcVwy/h7xOUqv31P00bc2xwtf+EHfwgwVmXnI3n8KKSH76/3chG7GjBmYMWNGtc+dOnWqSpuTk9Nzv8dEcjVGUM1Gqh3wGe8zoGdgr/Y+VDdKU88+vRPVi2lunz29E9WLieWN//4pTYl76sE6HT9rwGsaG8vyxGmNjVVX1KoMcNU7EREJgbpz/Y2dWsnAv+7fv69YpHD37l2EhoairKwM3t7e6Nu3r0YDJCIiqm9CSwbUuprgypUrcHR0hJWVFTp06IDY2Fj06NEDa9aswTfffIN+/frh0KFDdRQqERER1QW1koFPP/0UXbt2xZkzZ/D6669j2LBhGDp0KPLz85Gbm4vJkydj+fLldRUrERFR/ZCLNLc1AmpNE1y8eBEnT55Et27d4OzsjM2bN2PatGmKhYUzZ85Er1696iRQIiKi+sJpgifIyclR3BLRxMQExsbGMDd/dM9qc3NzFBbyFqNERESNidoLCFXvFNiQ7hxIRESkCXKZsD7b1E4Gxo0bp/iChbKyMkyZMkXxvcmq39dMRETUGAltmkCtZMDX11fpcXVfiODj4/N8EREREVG9UisZ2L59e13FQURE1GDIG8lVAJryTDcdIiIiasqENk3wTF9hTERERE0HKwNEREQqeDUBERGRwAntW7eZDBAREakQWmWAawaIiIgEjpUBIiIiFUKrDDAZICIiUiG0NQOcJiAiIhI4VgaIiIhUcJqAiIhI4IR2O2JOExAREQkcKwNEREQqhPbdBEwGiIiIVMg4TUBERERCwsoAERGRCqEtIGQyQEREpIKXFhIREQkc70BIREREgsLKABERkQpOExAREQkcLy0kIiIiQWFlgIiISIXQLi1kZYCIiEiFXK65TV0bNmyAo6MjDA0N4e7ujqioqCf2z8vLw/Tp02FrawuxWIyXX34Zx44dU+uYrAwQERE1EHv37oW/vz82bdoEd3d3hISEwMvLCwkJCbCysqrSv7y8HAMGDICVlRV+/PFH2Nvb4/bt22jRooVax2UyQEREpEJbCwhXr16NSZMmwc/PDwCwadMmHD16FNu2bUNAQECV/tu2bUNOTg7OnTsHfX19AICjo6Pax+U0ARERkQq5XKSxTSKRoKCgQGmTSCRVjlleXo7o6Gh4enoq2nR0dODp6YnIyMhq4zx8+DA8PDwwffp0WFtbo0uXLli2bBmkUqla58tkgIiIqA4FBwfDzMxMaQsODq7SLzs7G1KpFNbW1krt1tbWSE9Pr3bs5ORk/Pjjj5BKpTh27BgWLFiAVatWYcmSJWrFyGkCIiIiFZq8HXFgYCD8/f2V2sRisUbGlslksLKywubNm6GrqwtXV1ekpKRg5cqVCAoKqvU4TAaIiIhUaHLNgFgsrtWHv4WFBXR1dZGRkaHUnpGRARsbm2r3sbW1hb6+PnR1dRVtHTt2RHp6OsrLy2FgYFCrGBtMMvCGdTdth0APTXP7TNsh0EMbL32l7RDooUVu87UdAj3GvY7H18Z9BgwMDODq6orw8HCMHDkSwIO//MPDwzFjxoxq9+nTpw92794NmUwGHZ0HM/+JiYmwtbWtdSIAcM0AERFRg+Hv74/Q0FB8++23uHr1KqZOnYri4mLF1QU+Pj4IDAxU9J86dSpycnIwe/ZsJCYm4ujRo1i2bBmmT5+u1nEbTGWAiIioodDWpYVjxoxBVlYWFi5ciPT0dLi4uCAsLEyxqPDOnTuKCgAAODg44Pjx45gzZw66desGe3t7zJ49G599pl6Fl8kAERGRCg2uH1TbjBkzapwWOHXqVJU2Dw8PnD9//rmOyWkCIiIigWNlgIiISIXQvsKYyQAREZEKfmshERERCQorA0RERCpk2g6gnjEZICIiUiEHpwmIiIhIQFgZICIiUiHT5o0GtIDJABERkQqZwKYJmAwQERGp4JoBIiIiEhRWBoiIiFTw0kIiIiKB4zQBERERCQorA0RERCo4TUBERCRwQksGOE1AREQkcKwMEBERqRDaAkImA0RERCpkwsoFOE1AREQkdKwMEBERqeB3ExAREQmcwL60kMkAERGRKl5aSERERILCygAREZEKmYhrBoiIiARNaGsGOE1AREQkcKwMEBERqRDaAkImA0RERCp4B0IiIiISFFYGiIiIVPAOhERERALHqwmIiIhIUFgZICIiUiG0BYRMBoiIiFQI7dJCThMQERGpkGtwU9eGDRvg6OgIQ0NDuLu7Iyoqqsa+O3bsgEgkUtoMDQ3VPiaTASIiogZi79698Pf3R1BQEGJiYuDs7AwvLy9kZmbWuI+pqSnS0tIU2+3bt9U+rtrJwK1btxAaGooNGzYgPj5e7QM2Jt6+w/DtuR345frPWHt4DZxcXq6xb59BvbHu6FociN+PnxN+wsaw9Xjjzf419p+1bAaO3/0VoyaMrIPIm77XP/RCcMQGbEz4HoGHlsHRuX2t9uvh3Ruht/Zj2ub/q+MI6VLsFUz/NAj9hn+ALn0GI/zMOW2H1OS4fzgAcyPWIihhByYfWgx753a12q+rtweW3NqN9zf719hn+NLxWHJrNzzGD9JUuI2KTKS5TSKRoKCgQGmTSCTVHnf16tWYNGkS/Pz80KlTJ2zatAlGRkbYtm1bjbGKRCLY2NgoNmtra7XPV61k4I8//kDnzp0xefJkzJw5E927d8euXbvUPmhj8Jr3f/DRgo/wfcj3mD5kJpL/uYml3y2BWSuzavsX5hXih3V78fFIf0wZOA2/7TuBuav84fpa9yp9ew/qjQ7dOyA7PbuuT6NJchvWG+/M98Uva/fjy6Gf4d4/t/Hxznlo3sr0ifu1am2J0Z/7IPHCP/UUqbCVlpbBqX1bzJs7TduhNEldhvXC4Plj8cfag9g4dB7S/7mDcTsDYPyU90GL1hYY9Pn7uHXhao19Onq5weGV9ihIz9F02I2GTINbcHAwzMzMlLbg4OAqxywvL0d0dDQ8PT0VbTo6OvD09ERkZGSNsRYVFeHFF1+Eg4MDRowYgb///lvt81UrGViwYAEGDBiAlJQU3L9/H5MmTcKnn36q9kEbgzcnjULYD7/it30ncOf6Hfw3cB0kZRJ4jRlYbf+481dwLuwc7t64i7TbaTi07WckX72Jzj06K/VrZdMK0xZPxVezVqCyQlofp9LkDJg4DGf3hOPc/lNIu3EPu+ZtRnlpOfq8U3MlRqSjg4khs3B4zT5k36253Eaa09ejB2Z95AvP1/poO5Qmqc/EIbi05w/E7D+NrBspODxvKypKJXB957Ua9xHpiDA6ZDpOrjmAnBreB82tzTHsC1/sn70B0kr+jtKEwMBA5OfnK22BgYFV+mVnZ0MqlVb5y97a2hrp6enVju3k5IRt27bh559/xq5duyCTydC7d2/cu3dPrRjVSgbi4+OxbNky2NrawtzcHCtXrkRmZibu37+v1kEbOj19PbzU9SXERMQq2uRyOf46G4tOrh1rNYZLHxc4tGuN+AuPplJEIhE+DfkEP276EbcT72g6bEHQ1dfDi13a4uqfcYo2uVyOq3/GoV33mqdxvGe/jcL7BYjYd7I+wiSqU7r6urDr0gZJfz76/SKXy5H0Zzwcur9U4379Zr+J4vsFiN53qtrnRSIRRq+ZhojNR5F5PUXTYTcqmqwMiMVimJqaKm1isVgjcXp4eMDHxwcuLi547bXXcPDgQVhaWuKbb75Raxy1Li0sKCiAhYWF4rGRkRGaNWuG/Px8tGrVSq0DN2SmLU2hq6eLvKxcpfbc7Fw4tG9d435GzY2w++Iu6BvoQyaVYd38DYg5+5fi+XemjYZUKsOhbT/XWexNnYl5c+jq6aIgO1+pvSArHzbt7Kvdp71bB7z6Tn8sHsJ1AtQ0GD18HxSpvA+KsvJh0c6u2n1edHOC6zuvY8OQz2sct+9Ub8gqpYjcHqbReBsjuRbuM2BhYQFdXV1kZGQotWdkZMDGxqZWY+jr6+OVV17BjRs31Dq22vcZOH78OMzMHs2by2QyhIeHKy0mHD58+BPHkEgkVRZPyOQy6Iga98UNpUWlmDZoOgyNmuGVV10wecEkpN9OQ9z5K2jftT1Gjh+B6UNmajtMQREbG2LCmpnYGbgJRbmF2g6HSCsMjA3x9pqpOBS4BSU1vA/surSBh98gbBxac7JAdcvAwACurq4IDw/HyJEjATz6jJ0xY0atxpBKpbhy5QqGDBmi1rHVTgZ8fX2rtE2ePFnx/yKRCFLpk+eZgoODsWjRIqW2ts3bob1ZzeWt+lSQUwBppRQtLM2V2s0tzJGrUi14nFwuR+qtNABA8j/JcGjvgDEzxiDu/BV07dkFLSxaYNf5nYr+unq6mLRgIkZOGAnf3uPq5FyamqLcQkgrpTC1UF7IaWpphoKsvCr9rV60gYWDFWZsCVC0iXQepPybbuzBgv6zkXUno8p+RA1ZycP3gYnK+8DE0gxF1bwPWr5oDXMHK4zd8omi7d/3waIb32Ft/7l4sacTjFuZ4pNz6xR9dPV0MXjeWPQePxirXp1dNyfTQGnrpkP+/v7w9fWFm5sbevbsiZCQEBQXF8PPzw8A4OPjA3t7e8UCxMWLF6NXr15o37498vLysHLlSty+fRsTJ05U67hqJQMymWZ+PIGBgfD3V76k5a1OozUytiZUVlTi+pXreKWPCyKPP1jBKRKJ4PKqCw7vOFzrcXR0dKBvoA8A+P1AOGIi/lJ6ftmuJQg/cBK/7ftNc8E3cdKKStyOT0bH3l0R+9tFAA9em469u+LkzqqlzbSkFAQNVP63NvKTd2Fo3Ax7Fm1HTlrTWu9CwiCtkCI1/iba9u6Mq79dAvDgfdC2d2dc2Fn190l2Uir+O1B5sbfnJ+9AbGyIo4t2Ij/tPmIPRiApQvly8XE7AxD7UwRi9p+uu5NpoLSVDIwZMwZZWVlYuHAh0tPT4eLigrCwMMWiwjt37kBH51EVPTc3F5MmTUJ6ejrMzc3h6uqKc+fOoVOnTmod95luR3z//n3FGoG7d+8iNDQUZWVl8Pb2Rt++fZ+6v1gsrrJ4oqFNERwM/QmfrJ6LxLjrSIhNwKgJI2HYTIzf9p0AAPzfmrnITr+P7V/tAACMmf4OrsddR+rtNOgb6KNn/x54483+WPf5egAPLj0szFMuz1VWSJGblYt7ycJeqKOuE1uOYPyq6bh1JQk3Y2/Ac8JQGBiJ8ef+PwAA41fNQG5GDn5asRuVkgqkJt5V2r+0oAQAqrSTZpWUlOLOvVTF45TUDFxLTIKZaXPY2lhpMbKm4c8tx/DWqilIvZKMe7FJ6D1hMAyMDBH98IP7rVVTUZCRgxMr9qJSUoHMROXV5WUFxQCgaC/NK0JpXpFSH2mlFIVZechOTquHM6J/zZgxo8ZpgVOnTik9XrNmDdasWfPcx1QrGbhy5Qq8vb1x9+5dvPTSS9izZw8GDRqE4uJi6OjoYPXq1fjxxx8Vcx2N2elfzsCspRl85o6FuWVLJP+ThHkfLkBedh4AwNLeCjL5oxtNGhoZYsbS6bCwtUB5WTnu3riLFbNX4vQvZ7R0Bk3XpSPn0LylKUbMGQNTyxa4e/UW1vouReHDxVQt7S0glz/LTUBJk+KvXcf4mZ8pHq9YtxkAMGKwJ5bOn6utsJqM+CPnYdzSFG/MeRsmli2QdvU2vvVdjuLsAgBAC/tWkMuFdod9zRHabxCRXI3fmoMHD4aenh4CAgLw3Xff4ciRI/Dy8kJoaCgAYObMmYiOjsb58+fVDsTLYbDa+1DdeEHXRNsh0EMbL32l7RDooUVu87UdAj1mya3ddTr+2hfGamys2Xca/s351KoMXLx4ESdPnkS3bt3g7OyMzZs3Y9q0aYr5i5kzZ6JXr151EigREVF9EVpNRa2J+pycHMW1jiYmJjA2Noa5+aMV9+bm5igs5OVbREREjYnaCwhFItETHxMRETV2QqsMqJ0MjBs3TnElQFlZGaZMmQJjY2MAqPFbmIiIiBoToS0gVCsZUL3h0NixVRdY+Pj4PF9EREREVK/USga2b99eV3EQERE1GDKBzYA/002HiIiImjKhrRloWLf9IyIionrHygAREZEKLiAkIiISOJnA0gFOExAREQkcKwNEREQqhLaAkMkAERGRCmFNEjAZICIiqkJolQGuGSAiIhI4VgaIiIhU8A6EREREAsdLC4mIiEhQWBkgIiJSIay6AJMBIiKiKng1AREREQkKKwNEREQqhLaAkMkAERGRCmGlApwmICIiEjxWBoiIiFQIbQEhkwEiIiIVXDNAREQkcMJKBbhmgIiISPBYGSAiIlLBNQNEREQCJxfYRAGnCYiIiASOlQEiIiIVQpsmYGWAiIhIhQxyjW3q2rBhAxwdHWFoaAh3d3dERUXVar89e/ZAJBJh5MiRah+TyQAREVEDsXfvXvj7+yMoKAgxMTFwdnaGl5cXMjMzn7jfrVu38Mknn6Bv377PdFwmA0RERCrkGtzUsXr1akyaNAl+fn7o1KkTNm3aBCMjI2zbtq3GfaRSKT744AMsWrQIbdu2VfOIDzAZICIiUqHJaQKJRIKCggKlTSKRVDlmeXk5oqOj4enpqWjT0dGBp6cnIiMja4x18eLFsLKywoQJE575fJkMEBER1aHg4GCYmZkpbcHBwVX6ZWdnQyqVwtraWqnd2toa6enp1Y4dERGBrVu3IjQ09Lli5NUEREREKjR5NUFgYCD8/f2V2sRi8XOPW1hYiA8//BChoaGwsLB4rrGYDBAREanQ5E2HxGJxrT78LSwsoKuri4yMDKX2jIwM2NjYVOmflJSEW7duwdvbW9Emkz1IY/T09JCQkIB27drVKkZOExAREamQaXCrLQMDA7i6uiI8PPxRHDIZwsPD4eHhUaV/hw4dcOXKFcTGxiq24cOHo1+/foiNjYWDg0Otj83KABERUQPh7+8PX19fuLm5oWfPnggJCUFxcTH8/PwAAD4+PrC3t0dwcDAMDQ3RpUsXpf1btGgBAFXan6bBJAPhGXHaDoEe+tPCXdsh0EOL3OZrOwR6KOjSEm2HQPVIW99NMGbMGGRlZWHhwoVIT0+Hi4sLwsLCFIsK79y5Ax0dzRf1RXK5vEF8G4Oegb22Q6CHmAw0HL8YGGo7BHqIyUDDom/xbNfT15av41saG+vbWwc0NlZd4ZoBIiIigWsw0wREREQNhaxhFM3rDZMBIiIiFcJKBThNQEREJHisDBAREal4lq8ebsyYDBAREanQ1qWF2sJpAiIiIoFjZYCIiEiFJr+oqDFgMkBERKSCawaIiIgEjmsGiIiISFBYGSAiIlLBNQNEREQC10C+w6/ecJqAiIhI4FgZICIiUsGrCYiIiAROaGsGOE1AREQkcKwMEBERqRDafQaYDBAREakQ2poBThMQEREJHCsDREREKoR2nwEmA0RERCqEdjUBkwEiIiIVQltAyDUDREREAsfKABERkQqhXU3AZICIiEiF0BYQcpqAiIhI4FgZICIiUsFpAiIiIoHj1QREREQkKKwMEBERqZAJbAEhkwEiIiIVwkoFOE1AREQkeKwMEBERqRDa1QSsDBAREamQQa6xTV0bNmyAo6MjDA0N4e7ujqioqBr7Hjx4EG5ubmjRogWMjY3h4uKC7777Tu1jMhkgIiJSIZfLNbapY+/evfD390dQUBBiYmLg7OwMLy8vZGZmVtu/ZcuWmDdvHiIjIxEXFwc/Pz/4+fnh+PHjah2XyQAREVEDsXr1akyaNAl+fn7o1KkTNm3aBCMjI2zbtq3a/q+//jpGjRqFjh07ol27dpg9eza6deuGiIgItY7LZICIiEiFJqcJJBIJCgoKlDaJRFLlmOXl5YiOjoanp6eiTUdHB56enoiMjHxqzHK5HOHh4UhISMB//vMftc6XyQAREZEKuQb/Cw4OhpmZmdIWHBxc5ZjZ2dmQSqWwtrZWare2tkZ6enqNsebn58PExAQGBgYYOnQo1q1bhwEDBqh1vkwGnmDqFF/cSDyPooIknIv4BT3cXGrs26nTy9i3dzNuJJ5HZXkKZs2cWKWPiYkxVn29CEnXL6Aw/wbOnv4Zbq7OdXgGTYf1uEFwubAJPZL3oPOR5TB2aV9jX4t3+sE99aDS1iN5j1IfPQsztF0zA6/EbIFb0g9w+n4BxG1s6/o0mgT3DwdgbsRaBCXswORDi2Hv3K5W+3X19sCSW7vx/mb/GvsMXzoeS27thsf4QZoKlwBcir2C6Z8God/wD9Clz2CEnzmn7ZAEJTAwEPn5+UpbYGCgxsZv3rw5YmNjcfHiRSxduhT+/v44deqUWmPUOhlITU1VN75GbfTo4fh6ZRC+XLIaPdwH4XLcPzh29HtYWraqtr9Rs2a4mXwHn89fhrS0jGr7bP7ma3h69sU4v1lw6e6JE7+fxvGwPbCzs6nLU2n0Wg7vgxeC/HBv9T7Ee32Ckn9uocPuhdBrZVbjPpUFxYhxHq/Y/uo5Wen5l7cFQPyiNRL9liN+4FxI7mWh494voNNMXNen06h1GdYLg+ePxR9rD2Lj0HlI/+cOxu0MgHEr0yfu16K1BQZ9/j5uXbhaY5+OXm5weKU9CtJzNB224JWWlsGpfVvMmztN26E0GppcQCgWi2Fqaqq0icVVf9dYWFhAV1cXGRnKnyEZGRmwsan5c0JHRwft27eHi4sL5s6di7fffrvaysOT1DoZ6Ny5M3bv3q3W4I3ZnNmTsGXrbny7cx+uXr2OadMDUFJSCr9x71bb/1L0ZXwWuAT79h2GRFJe5XlDQ0O8OWoIAgOX4mzEBSQl3cLiL1fjRtItTJnsU9en06jZfuSNzN0nkL33JEqv38PNz76BrFQCy/f617yTHKjIylNsldn5iqcM29qiuZsTbgVsRvHlGyhLSsWtgG+gY2iAVqP61sMZNV59Jg7BpT1/IGb/aWTdSMHheVtRUSqB6zuv1biPSEeE0SHTcXLNAeTcrX5FdHNrcwz7whf7Z2+AtFJaV+ELVl+PHpj1kS88X+uj7VAaDW1cWmhgYABXV1eEh4c/ikMmQ3h4ODw8PGofu0xW7ZqEJ6l1MrB06VJMnjwZo0ePRk5O087c9fX10b17N4SfPKtok8vlCD8ZgV69XJ9pTD09Xejp6aGsTPkFKistQ5/ePZ4r3qZMpK8H427tUHA27lGjXI78s3Fo7upU4366xoZwifoGLpc24+XtAWj2ssOjMQ30AQCyx5M2uRyy8go079FB4+fQVOjq68KuSxsk/RmvaJPL5Uj6Mx4O3V+qcb9+s99E8f0CRO87Ve3zIpEIo9dMQ8Tmo8i8nqLpsIkaFX9/f4SGhuLbb7/F1atXMXXqVBQXF8PPzw8A4OPjozTFEBwcjBMnTiA5ORlXr17FqlWr8N1332Hs2LFqHbfWycC0adMQFxeH+/fvo1OnTvjll1/UOtDjqltZqe61mHXJwqIl9PT0kJmRrdSemZkFG2vLZxqzqKgYkZGXMO/z2bC1tYaOjg7ef/9N9OrlChtb66cPIFB6LZtDpKeLiqw8pfaK7DzoW7aodp+ypBQk+29Aol8wkmaEADoidDq8DAa2D6Z4ym6kQHIvCw6BY6FrZgyRvh5sp4+C2M4C+tbmdXtCjZiReXPo6umi6LEqCwAUZeXDpIbX4kU3J7i+8zoOBWypcdy+U70hq5QicnuYJsMlei7aus/AmDFj8PXXX2PhwoVwcXFBbGwswsLCFIsK79y5g7S0NEX/4uJiTJs2DZ07d0afPn1w4MAB7Nq1CxMnVl239iRq3Y64TZs2OHnyJNavX48333wTHTt2hJ6e8hAxMTFPHSc4OBiLFi1SahPpmECk++R5x8bO128Wtmxehbu3Y1BZWYm//rqCPXsPoXv3btoOrUkpik5EUXTio8eXEtDt9H9hNXYg7q38AfJKKRInfIW2q6fD7ep3kFdKkX82Dnnh0YBIpMXImxYDY0O8vWYqDgVuQUluYbV97Lq0gYffIGwc+nk9R0f0ZNq8HfGMGTMwY8aMap9TXRi4ZMkSLFmy5LmPqfZ3E9y+fRsHDx6Eubk5RowYUSUZqI3AwED4+yuvKDZv1XDKs9nZOaisrISVtYVSu5WVJdIzsp553OTk2+jv+TaMjJrB1LQ50tMzsfv7/+Fm8p3nDbnJqswphLxSWqUKoG/Rokq1oCbySimK429C3ObRApySK8mIHzAXus2NINLXQ2VOATofWY7iuCQNRt+0lOQWQlophYmF8sJNE0szFFXzWrR80RrmDlYYu+UTRZtI50GytejGd1jbfy5e7OkE41am+OTcOkUfXT1dDJ43Fr3HD8aqV2fXzckQkRK1PslDQ0Mxd+5ceHp64u+//4al5bOVzMVicZWVlKIG9BdZRUUFYmLi0L/fqzh8+MEtHUUiEfr3exUb/7f9uccvKSlFSUkpWrQww8ABryEgcOlzj9lUySsqURyXBNNXuyE37OH9uUUimL3aDek7jtVuEB0dGHV8AXnhVatW0sISAIC4jS2Mndvh3sofNBV6kyOtkCI1/iba9u6Mq79dAvDgfdG2d2dc2Plblf7ZSan478BPldo8P3kHYmNDHF20E/lp9xF7MAJJEfFKfcbtDEDsTxGI2X+67k6G6CnkAvuiolonA4MGDUJUVBTWr18PH5+mv/p9zdpQbN+6BtExcbh48S/MmjkJxsbNsOPbvQCA7dvWIjU1DfPmLwfwYNFhp04vAwAMDPRhb2cDZ+fOKCoqRlLSLQDAwAGvQSQSISExCe3bOWL58gVISEhSjEnVS9v8C9qFzETx5Rso+us6bCZ5Q8dIjKw9JwEAbdfOQkX6fdwN/h4AYD9nNIpiElF2Mx26ZsawnToCYntLZO3+XTFmy2EeqLhfgPKUbBh1fAEvLp6A3LAo5J++rJVzbCz+3HIMb62agtQrybgXm4TeEwbDwMgQ0Q8/uN9aNRUFGTk4sWIvKiUVyEy8p7R/WUExACjaS/OKUJpXpNRHWilFYVYespPTQJpRUlKKO/ceXR6ekpqBa4lJMDNtDlsbKy1G1nDJGtA6tvpQ62RAKpUiLi4OrVu3rst4Goz9+w/D0qIlvlj4CWxsLHH58t8YOmwsMjMfLCp8wcEOMplM0d/OzhrRFx/9dTR37lTMnTsVp0+fwxsDRgMATM1MsfTLALRubYucnDwc/OkYFiz8CpWVlfV7co1MzuE/od/KFK3/7z3oW7ZAyd83ce2DLxWXC4rtLYDHXgtdMxO0WTkN+pYtUJlfhOK4ZPw94nOUXn/0waRvbY4XvvCDvoUZKjLzkL3/FFJC9tf7uTU28UfOw7ilKd6Y8zZMLFsg7eptfOu7HMXZBQCAFvatIJfLnjIK1bf4a9cxfuZniscr1m0GAIwY7Iml8+dqK6wGTWiVAZG8gSzj1zOw13YI9NCfFu7aDoEe+sXAUNsh0ENBl55/kRZpjr5F2zodv7O15n4P/p1xQWNj1RX1V/8RERE1cZwmICIiEjihTRPwi4qIiIgEjpUBIiIiFZwmICIiEjhOExAREZGgsDJARESkgtMEREREAsdpAiIiIhIUVgaIiIhUCO222kwGiIiIVMgENk3AZICIiEhFA/nannrDNQNEREQCx8oAERGRCk4TEBERCRynCYiIiEhQWBkgIiJSwTsQEhERCRzvQEhERESCwsoAERGRCqEtIGQyQEREpEJolxZymoCIiEjgWBkgIiJSwWkCIiIigeOlhURERAIntMoA1wwQEREJHCsDREREKoR2NQGTASIiIhWcJiAiIiJBYWWAiIhIhdCuJmBlgIiISIVcg/+pa8OGDXB0dIShoSHc3d0RFRVVY9/Q0FD07dsX5ubmMDc3h6en5xP714TJABERUQOxd+9e+Pv7IygoCDExMXB2doaXlxcyMzOr7X/q1Cm89957+OOPPxAZGQkHBwcMHDgQKSkpah1XJG8gqyT0DOy1HQI99KeFu7ZDoId+MTDUdgj0UNClJdoOgR6jb9G2Tsdv1uxFjY1VWnq71n3d3d3Ro0cPrF+/HgAgk8ng4OCAmTNnIiAg4Kn7S6VSmJubY/369fDx8an1cblmgIiISIUm/06WSCSQSCRKbWKxGGKxWKmtvLwc0dHRCAwMVLTp6OjA09MTkZGRtTpWSUkJKioq0LJlS7Vi5DQBERFRHQoODoaZmZnSFhwcXKVfdnY2pFIprK2tldqtra2Rnp5eq2N99tlnsLOzg6enp1oxsjJARESk4lkW/tUkMDAQ/v7+Sm2qVQFNWL58Ofbs2YNTp07B0FC9KUYmA0RERCo0OU1Q3ZRAdSwsLKCrq4uMjAyl9oyMDNjY2Dxx36+//hrLly/H77//jm7duqkdI6cJiIiIVMjlco1ttWVgYABXV1eEh4cr2mQyGcLDw+Hh4VHjfitWrMCXX36JsLAwuLm5PdP5sjJARETUQPj7+8PX1xdubm7o2bMnQkJCUFxcDD8/PwCAj48P7O3tFWsOvvrqKyxcuBC7d++Go6OjYm2BiYkJTExMan1cJgNEREQqtHXN/ZgxY5CVlYWFCxciPT0dLi4uCAsLUywqvHPnDnR0HhX1//e//6G8vBxvv/220jhBQUH44osvan3cBnOfgcZOIpEgODgYgYGBdbIwhNTD16Ph4GvRcPC1oJowGdCQgoICmJmZIT8/H6amptoOR/D4ejQcfC0aDr4WVBMuICQiIhI4JgNEREQCx2SAiIhI4JgMaIhYLEZQUBAX5TQQfD0aDr4WDQdfC6oJFxASEREJHCsDREREAsdkgIiISOCYDBAREQkckwEiIiKBYzJAREQkcEwGniIyMhK6uroYOnRolefKy8uxcuVKdO/eHcbGxjAzM4OzszPmz5+P1NRURb9x48ZBJBJV2QYNGlSfp9Loqf4cW7VqhUGDBiEuLk7R59/nzp8/r7SvRCJBq1atIBKJcOrUKaX+hw4dqqczaLrUeW1EIhHMzMzQp08fnDx5UotRC4NcLoenpye8vLyqPLdx40a0aNEC9+7d00Jk1JAwGXiKrVu3YubMmThz5ozSB7xEIsGAAQOwbNkyjBs3DmfOnMGVK1fw3//+F9nZ2Vi3bp3SOIMGDUJaWprS9sMPP9T36TR6j/8cw8PDoaenh2HDhin1cXBwwPbt25XafvrpJ7W+zpPUV5vXZvv27UhLS8Off/4JCwsLDBs2DMnJyVqKWBhEIhG2b9+OCxcu4JtvvlG037x5E59++inWrVuH1q1bazFCahDkVKPCwkK5iYmJ/Nq1a/IxY8bIly5dqnguODhYrqOjI4+Jial2X5lMpvh/X19f+YgRI+o63Cavup/j2bNn5QDkmZmZcrlcLgcgnz9/vtzU1FReUlKi6DdgwAD5ggUL5ADkf/zxh6IdgPynn36qh+ibttq+No//rFNSUuQA5Js2barHSIVrx44dchMTE3lycrJcJpPJ+/XrJx81apS2w6IGgpWBJ9i3bx86dOgAJycnjB07Ftu2bYP84T2afvjhBwwYMACvvPJKtfuKRKL6DFWQioqKsGvXLrRv3x6tWrVStLu6usLR0REHDhwA8OD7v8+cOYMPP/xQW6EKTk2vzeOaNWsG4MF0G9U9X19fvPHGGxg/fjzWr1+P+Ph4pUoBCRuTgSfYunUrxo4dC+BBCTQ/Px+nT58GACQmJsLJyUmp/6hRo2BiYgITExP07t1b6bkjR44onvt3W7ZsWf2cSBPy+M+xefPmOHz4MPbu3QsdHeV/yuPHj8e2bdsAADt27MCQIUNgaWmpjZAFo7avDQCUlJRg/vz50NXVxWuvvaaFaIVp8+bNiI+Px8cff4zNmzfzPUEKTAZqkJCQgKioKLz33nsAAD09PYwZMwZbt26tcZ+NGzciNjYW48ePR0lJidJz/fr1Q2xsrNI2ZcqUOj2Hpujxn2NUVBS8vLwwePBg3L59W6nf2LFjERkZieTkZOzYsQPjx4/XUsTCUZvX5r333lMkCwcOHMDWrVvRrVs3LUYtLFZWVpg8eTI6duyIkSNHajscakD0tB1AQ7V161ZUVlbCzs5O0SaXyyEWi7F+/Xq89NJLSEhIUNrH1tYWANCyZcsq4xkbG6N9+/Z1G7QAqP4ct2zZAjMzM4SGhmLJkiWK9latWmHYsGGYMGECysrKMHjwYBQWFmojZMGozWuzZs0aeHp6wszMjH+Vaomenh709Pirn5SxMlCNyspK7Ny5E6tWrVL6S/7y5cuws7PDDz/8gPfeew8nTpzAX3/9pe1wBU0kEkFHRwelpaVVnhs/fjxOnToFHx8f6OrqaiE6YavutbGxsUH79u2ZCBA1MEwPq3HkyBHk5uZiwoQJMDMzU3rurbfewtatW3H27FkcPXoUb7zxBoKCgtC3b1+Ym5sjMTERv/76a5UPH4lEgvT0dKU2PT09WFhY1Pn5NCWP/xxzc3Oxfv16FBUVwdvbu0rfQYMGISsrC6ampvUdpiCp89oQUcPCZKAaW7duVZQyVb311ltYsWIFEhMTER4ejpCQEGzfvh2BgYGQyWRo06YNBg8ejDlz5ijtFxYWpphG+JeTkxOuXbtWp+fS1Dz+c2zevDk6dOiA/fv34/XXX6/SVyQSMdmqR+q8NkTUsIjk/14rR0RERILENQNEREQCx2SAiIhI4JgMEBERCRyTASIiIoFjMkBERCRwTAaIiIgEjskAERGRwDEZICIiEjgmA0RERALHZICIiEjgmAwQEREJ3P8DDc2BmafMxPIAAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Create a figure with three subplots\n", + "fig, axes = plt.subplots(1, 2, figsize=(15, 5))\n", + "\n", + "# Plot the boxplots for BMI, BP, and Y depending on gender\n", + "sns.scatterplot(x='Y', y='BMI', data=df, ax=axes[0])\n", + "sns.scatterplot(x='Y', y='BP', data=df, ax=axes[1])\n", + "\n", + "# Show the plot\n", + "plt.show()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 427 + }, + "id": "gC5Fqp19FZo0", + "outputId": "4cc0e3ee-eb91-4fcc-81d5-3abebf656e39" + }, + "execution_count": 35, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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+oEQERERBUvN09O5+EhERNGI2zMpqoST+JLjRE4iIiKiWMTFRyIiikZMmlFUCSfxpYV+IERERER6xMVHIiKKRtyeSVHFmfh67E9HPU6Qkpr4UrsfCBEREZEehRuDERERaRGTZhR1wk18qdkPhIiIiEivuPhIRETRhkkzikpMfBERERFFHmMwIiKKJuxpRkRERESK+Oabb/Cv//qvyMrKQkpKCkaMGIHDhw+7HhcEAStWrEB+fj5SUlIwefJknDp1SsURExEREV3FpBkRERERya6lpQUVFRVISkrCe++9hxMnTuDXv/41MjMzXc954YUXsHr1arz++us4dOgQUlNTMXXqVHR2dqo4ciIiIqIruD2TiIiIiGT3/PPPo6CgABs2bHB9rLi42PV3QRDwm9/8Bk888QSmTZsGAPjP//xP5ObmYtu2bfjRj34U8TETERERuWOlGRERERHJ7s9//jNGjx6N2bNnIycnB2VlZfj973/very+vh6NjY2YPHmy62NmsxljxozBwYMHfV7TbrejtbXV4w8RERGRUpg0IyIiIiLZnT59Gq+99hpKS0vxl7/8BQ888ACWLFmCjRs3AgAaGxsBALm5uR6fl5ub63rM26pVq2A2m11/CgoKlL0JIiIiimlMmhERERGR7Hp7e3HzzTdj5cqVKCsrw/3334/77rsPr7/+esjXXLZsGaxWq+vP2bNnZRwxERERkScmzYiIiIhIdvn5+Rg6dKjHx4YMGYKGhgYAQF5eHgDgwoULHs+5cOGC6zFvRqMR6enpHn+IiIiIlMKkGRERERHJrqKiAidPnvT42FdffYWioiIAVw4FyMvLw65du1yPt7a24tChQygvL4/oWImIiIh84emZRERERCS7hx9+GGPHjsXKlSvxL//yL/jkk0/wu9/9Dr/73e8AAHFxcXjooYfw3HPPobS0FMXFxVi+fDkGDhyI6dOnqzt4IiIiIjBpRkREREQKuOWWW7B161YsW7YMzzzzDIqLi/Gb3/wG9957r+s5jz76KNrb23H//ffDYrFg3LhxeP/995GcnKziyImIiIiuiBMEQVB7EEpqbW2F2WyG1Wpl3wsiIiKShPGDPvD7RERERMEKJn6I+kozZ06wtbVV5ZEQERGRXjjjhihfW9Q9xnlEREQUrGDivKhPml2+fBkAUFBQoPJIiIiISG8uX74Ms9ms9jDI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DBAmTZrkCqQEga8nd4Hmiq8pilaM83xjnCcd4zzpGOdJwzhPOsZ50mk9zosTBEEIv16NiIiIiIiIiIgoerCnGRERERERERERkRcmzYiIiIiIiIiIiLwwaUZEREREREREROSFSTMiIiIiIiIiIiIvTJoRERERERERERF5YdKMiIiIiIiIiIjIC5NmREREREREREREXpg0IyIiIiIiIiIi8sKkGRHFFEEQMHnyZEydOrXPY2vXrkVGRga+/vprFUZGREREROFgnEdEcmPSjIhiSlxcHDZs2IBDhw7ht7/9revj9fX1ePTRR/HKK69g0KBBKo6QiIiIiELBOI+I5BYnCIKg9iCIiCJt48aNqKqqwtGjR3HNNddg0qRJyMjIwJYtW9QeGhERERGFgXEeEcmFSTMiilnTp0+H1WrFzJkz8eyzz+KLL77AgAED1B4WEREREYWJcR4RyYFJMyKKWU1NTRg2bBguXbqEP/3pT5g+fbraQyIiIiIiGTDOIyI5sKcZEcWsnJwc/Nu//RuGDBnCQIqIiIgoijDOIyI5MGlGRDEtMTERiYmJag+DiIiIiGTGOI+IwsWkGRERERERERERkRcmzYiIiIiIiIiIiLwwaUZEREREREREROSFp2cSERERERERERF5YaUZERERERERERGRFybNiIiIiIiIiIiIvDBpRkRERERERERE5IVJMyIiIiIiIiIiIi9MmhEREREREREREXlh0oyIiIiIiIiIiMgLk2ZERERERERERERemDQjIiIiIiIiIiLywqQZERERERERERGRFybNiIiIiIiIiIiIvDBpRkRERERERERE5IVJMyIiIiIiIiIiIi//H9KJHAd9zqMIAAAAAElFTkSuQmCC\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [], + "metadata": { + "id": "dh-DxaqH4qDK" + } + }, + { + "cell_type": "markdown", + "source": [ + "### Task 5: Test the hypothesis that the degree of diabetes progression is different between men and women" + ], + "metadata": { + "id": "lHAZDxcY4qDL" + } + }, + { + "cell_type": "markdown", + "source": [], + "metadata": { + "id": "sHpUiNUU4qDN" + } + }, + { + "cell_type": "code", + "source": [ + "df.groupby('SEX').agg({ 'Y' : 'mean'})" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 143 + }, + "id": "9el94npsGWFw", + "outputId": "ec34d5d5-7ffb-4506-c279-54b01d456344" + }, + "execution_count": 36, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " Y\n", + "SEX \n", + "1 149.021277\n", + "2 155.666667" + ], + "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", + "
Y
SEX
1149.021277
2155.666667
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "
\n", + "
\n" + ] + }, + "metadata": {}, + "execution_count": 36 + } + ] + }, + { + "cell_type": "code", + "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['Y'].fillna(method='pad'),p)\n", + " print(f\"p={p:.2f}, mean = {m:.2f} ± {h:.2f}\")" + ], + "metadata": { + "id": "tZTMnAbkIkx-", + "outputId": "5616ad69-dfa0-4eb4-cdad-be89925b0c24", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 40, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "p=0.85, mean = 152.13 ± 5.29\n", + "p=0.90, mean = 152.13 ± 6.04\n", + "p=0.95, mean = 152.13 ± 7.21\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "for p in [0.85,0.9,0.95]:\n", + " m1, h1 = mean_confidence_interval(df.loc[df['SEX']=='1',['Y']].fillna(method='pad'),p)\n", + " m2, h2 = mean_confidence_interval(df.loc[df['SEX']=='2',['Y']].fillna(method='pad'),p)\n", + " print(f'Conf={p:.2f}, 1: {m1-h1[0]:.2f}..{m1+h1[0]:.2f}, 2 : {m2-h2[0]:.2f}..{m2+h2[0]:.2f}')" + ], + "metadata": { + "id": "aOoz2G37HmaM", + "outputId": "4fbb7e19-442f-46ba-bead-9321838e3c50", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 46, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Conf=0.85, 1: nan..nan, 2 : nan..nan\n", + "Conf=0.90, 1: nan..nan, 2 : nan..nan\n", + "Conf=0.95, 1: nan..nan, 2 : nan..nan\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.10/dist-packages/numpy/core/fromnumeric.py:3432: RuntimeWarning: Mean of empty slice.\n", + " return _methods._mean(a, axis=axis, dtype=dtype,\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/_methods.py:190: RuntimeWarning: invalid value encountered in double_scalars\n", + " ret = ret.dtype.type(ret / rcount)\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/_methods.py:265: RuntimeWarning: Degrees of freedom <= 0 for slice\n", + " ret = _var(a, axis=axis, dtype=dtype, out=out, ddof=ddof,\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/_methods.py:223: RuntimeWarning: invalid value encountered in divide\n", + " arrmean = um.true_divide(arrmean, div, out=arrmean, casting='unsafe',\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/_methods.py:254: RuntimeWarning: invalid value encountered in divide\n", + " ret = um.true_divide(\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/fromnumeric.py:3432: RuntimeWarning: Mean of empty slice.\n", + " return _methods._mean(a, axis=axis, dtype=dtype,\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/_methods.py:190: RuntimeWarning: invalid value encountered in double_scalars\n", + " ret = ret.dtype.type(ret / rcount)\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/_methods.py:265: RuntimeWarning: Degrees of freedom <= 0 for slice\n", + " ret = _var(a, axis=axis, dtype=dtype, out=out, ddof=ddof,\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/_methods.py:223: RuntimeWarning: invalid value encountered in divide\n", + " arrmean = um.true_divide(arrmean, div, out=arrmean, casting='unsafe',\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/_methods.py:254: RuntimeWarning: invalid value encountered in divide\n", + " ret = um.true_divide(\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/fromnumeric.py:3432: RuntimeWarning: Mean of empty slice.\n", + " return _methods._mean(a, axis=axis, dtype=dtype,\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/_methods.py:190: RuntimeWarning: invalid value encountered in double_scalars\n", + " ret = ret.dtype.type(ret / rcount)\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/_methods.py:265: RuntimeWarning: Degrees of freedom <= 0 for slice\n", + " ret = _var(a, axis=axis, dtype=dtype, out=out, ddof=ddof,\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/_methods.py:223: RuntimeWarning: invalid value encountered in divide\n", + " arrmean = um.true_divide(arrmean, div, out=arrmean, casting='unsafe',\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/_methods.py:254: RuntimeWarning: invalid value encountered in divide\n", + " ret = um.true_divide(\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/fromnumeric.py:3432: RuntimeWarning: Mean of empty slice.\n", + " return _methods._mean(a, axis=axis, dtype=dtype,\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/_methods.py:190: RuntimeWarning: invalid value encountered in double_scalars\n", + " ret = ret.dtype.type(ret / rcount)\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/_methods.py:265: RuntimeWarning: Degrees of freedom <= 0 for slice\n", + " ret = _var(a, axis=axis, dtype=dtype, out=out, ddof=ddof,\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/_methods.py:223: RuntimeWarning: invalid value encountered in divide\n", + " arrmean = um.true_divide(arrmean, div, out=arrmean, casting='unsafe',\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/_methods.py:254: RuntimeWarning: invalid value encountered in divide\n", + " ret = um.true_divide(\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/fromnumeric.py:3432: RuntimeWarning: Mean of empty slice.\n", + " return _methods._mean(a, axis=axis, dtype=dtype,\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/_methods.py:190: RuntimeWarning: invalid value encountered in double_scalars\n", + " ret = ret.dtype.type(ret / rcount)\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/_methods.py:265: RuntimeWarning: Degrees of freedom <= 0 for slice\n", + " ret = _var(a, axis=axis, dtype=dtype, out=out, ddof=ddof,\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/_methods.py:223: RuntimeWarning: invalid value encountered in divide\n", + " arrmean = um.true_divide(arrmean, div, out=arrmean, casting='unsafe',\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/_methods.py:254: RuntimeWarning: invalid value encountered in divide\n", + " ret = um.true_divide(\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/fromnumeric.py:3432: RuntimeWarning: Mean of empty slice.\n", + " return _methods._mean(a, axis=axis, dtype=dtype,\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/_methods.py:190: RuntimeWarning: invalid value encountered in double_scalars\n", + " ret = ret.dtype.type(ret / rcount)\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/_methods.py:265: RuntimeWarning: Degrees of freedom <= 0 for slice\n", + " ret = _var(a, axis=axis, dtype=dtype, out=out, ddof=ddof,\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/_methods.py:223: RuntimeWarning: invalid value encountered in divide\n", + " arrmean = um.true_divide(arrmean, div, out=arrmean, casting='unsafe',\n", + "/usr/local/lib/python3.10/dist-packages/numpy/core/_methods.py:254: RuntimeWarning: invalid value encountered in divide\n", + " ret = um.true_divide(\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "from scipy.stats import ttest_ind\n", + "\n", + "tval, pval = ttest_ind(df.loc[df['SEX']=='1',['Y']], df.loc[df['SEX']=='2',['Y']],equal_var=False)\n", + "print(f\"T-value = {tval[0]:.2f}\\nP-value: {pval[0]}\")" + ], + "metadata": { + "id": "nUBcO-GJJKhQ", + "outputId": "765d6a56-cc37-4bff-e6ec-e5c2a9f009c8", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 44, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "T-value = nan\n", + "P-value: nan\n" + ] + } ] - }, - "metadata": {}, - "execution_count": 13 } - ], - "metadata": {} - }, - { - "cell_type": "markdown", - "source": [ - "\r\n", - "In this dataset, columns as the following:\r\n", - "* Age and sex are self-explanatory\r\n", - "* BMI is body mass index\r\n", - "* BP is average blood pressure\r\n", - "* S1 through S6 are different blood measurements\r\n", - "* Y is the qualitative measure of disease progression over one year\r\n", - "\r\n", - "Let's study this dataset using methods of probability and statistics.\r\n", - "\r\n", - "### Task 1: Compute mean values and variance for all values" - ], - "metadata": {} - }, - { - "cell_type": "code", - "execution_count": null, - "source": [], - "outputs": [], - "metadata": {} - }, - { - "cell_type": "markdown", - "source": [ - "### Task 2: Plot boxplots for BMI, BP and Y depending on gender" - ], - "metadata": {} - }, - { - "cell_type": "code", - "execution_count": null, - "source": [], - "outputs": [], - "metadata": {} - }, - { - "cell_type": "markdown", - "source": [ - "### Task 3: What is the the distribution of Age, Sex, BMI and Y variables?" - ], - "metadata": {} - }, - { - "cell_type": "code", - "execution_count": null, - "source": [], - "outputs": [], - "metadata": {} - }, - { - "cell_type": "markdown", - "source": [ - "### Task 4: Test the correlation between different variables and disease progression (Y)\r\n", - "\r\n", - "> **Hint** Correlation matrix would give you the most useful information on which values are dependent." - ], - "metadata": {} - }, - { - "cell_type": "markdown", - "source": [], - "metadata": {} - }, - { - "cell_type": "markdown", - "source": [ - "### Task 5: Test the hypothesis that the degree of diabetes progression is different between men and women" - ], - "metadata": {} - }, - { - "cell_type": "markdown", - "source": [], - "metadata": {} - } - ], - "metadata": { - "orig_nbformat": 4, - "language_info": { - "name": "python", - "version": "3.8.8", - "mimetype": "text/x-python", - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "pygments_lexer": "ipython3", - "nbconvert_exporter": "python", - "file_extension": ".py" - }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3.8.8 64-bit (conda)" + ], + "metadata": { + "orig_nbformat": 4, + "language_info": { + "name": "python", + "version": "3.8.8", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3.8.8 64-bit (conda)" + }, + "interpreter": { + "hash": "86193a1ab0ba47eac1c69c1756090baa3b420b3eea7d4aafab8b85f8b312f0c5" + }, + "colab": { + "provenance": [], + "toc_visible": true + } }, - "interpreter": { - "hash": "86193a1ab0ba47eac1c69c1756090baa3b420b3eea7d4aafab8b85f8b312f0c5" - } - }, - "nbformat": 4, - "nbformat_minor": 2 + "nbformat": 4, + "nbformat_minor": 0 } \ No newline at end of file diff --git a/1-Introduction/04-stats-and-probability/notebook.ipynb b/1-Introduction/04-stats-and-probability/notebook.ipynb index 208eee50c..188fc2de0 100644 --- a/1-Introduction/04-stats-and-probability/notebook.ipynb +++ b/1-Introduction/04-stats-and-probability/notebook.ipynb @@ -1,1122 +1,2076 @@ { - "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": 1, - "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": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Sample: [4, 8, 5, 10, 5, 1, 1, 1, 7, 9, 7, 0, 2, 7, 3, 5, 9, 8, 3, 10, 2, 9, 2, 9, 9, 8, 1, 8, 7, 3]\n", - "Mean = 5.433333333333334\n", - "Variance = 10.178888888888887\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": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" ] - }, - "metadata": { - "needs_background": "light" - }, - "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": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \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", - "
" + }, + { + "cell_type": "markdown", + "metadata": { + "id": "_Y4qMLCvIUWs" + }, + "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": 1, + "metadata": { + "id": "0bQAocM4IUWu" + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import random\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "f4Fqa0ZYIUWw" + }, + "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": 2, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Bk0zaHH9IUWx", + "outputId": "b93f7f1e-37b3-43c7-88eb-c15849873765" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Sample: [6, 9, 1, 4, 7, 8, 10, 6, 1, 5, 9, 5, 2, 7, 6, 3, 7, 6, 7, 2, 2, 4, 3, 0, 4, 1, 2, 2, 7, 5]\n", + "Mean = 4.7\n", + "Variance = 7.21\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]" + "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)}\")" ] - }, - "execution_count": 4, - "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" - ] - }, - { - "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": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Age 28.736712\n", - "Height 73.697292\n", - "Weight 201.689255\n", - "dtype: float64" + }, + { + "cell_type": "markdown", + "metadata": { + "id": "fA1CKbxDIUWz" + }, + "source": [ + "To visually estimate how many different values are there in the sample, we can plot the **histogram**:" ] - }, - "execution_count": 5, - "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": 6, - "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": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Mean = 73.6972920696325\n", - "Variance = 5.316798081118074\n", - "Standard Deviation = 2.3058183105175645\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": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 430 + }, + "id": "GdDQqV5SIUWz", + "outputId": "641584af-900d-459e-aba5-9bc6a9441a30" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhYAAAGdCAYAAABO2DpVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAUwklEQVR4nO3da4xcBdnA8WfZtdOK24VWSrtpK0WR2pYiUEpKiaKtkKZpRBNUUrWBxA9m0ZZGQ1fDZaOwBSNRLimUqHyhFvxQUBBIrbQN0ZZeXENFuWgJK1DqjZ22hpHszvvBsO+7LxSY7TM7neH3S+bDOXtmz5OT3Z1/zpzZ01Qul8sBAJDgmFoPAAA0DmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKRpGekdDgwMxIsvvhitra3R1NQ00rsHAIahXC7HgQMHor29PY455vDnJUY8LF588cWYMmXKSO8WAEjQ29sbkydPPuzXRzwsWltbI+K/g40dO3akdw8ADEOxWIwpU6YMvo4fzoiHxetvf4wdO1ZYAECdebvLGFy8CQCkERYAQBphAQCkERYAQBphAQCkERYAQBphAQCkERYAQBphAQCkERYAQJqKwuLaa6+NpqamIY/p06dXazYAoM5UfK+QmTNnxq9+9av//QYtI367EQDgKFVxFbS0tMTEiROrMQsAUOcqvsbimWeeifb29jj55JNj6dKl8fzzz7/l9qVSKYrF4pAHANCYmsrlcvmdbvzQQw/FwYMH49RTT42XXnopurq64oUXXog9e/Yc9v7s1157bXR1db1hfV9fn9um16mTVj1Y6xEq9tzqxbUeAVL5PWSkFYvFaGtre9vX74rOWCxatCguvvjimD17dlx44YXxy1/+Ml555ZW49957D/uczs7O6OvrG3z09vZWsksAoI4c0ZWXxx13XHz4wx+OZ5999rDbFAqFKBQKR7IbAKBOHNH/sTh48GD8+c9/jkmTJmXNAwDUsYrC4hvf+EZs2bIlnnvuufjNb34Tn/nMZ6K5uTkuueSSas0HANSRit4K+etf/xqXXHJJ/OMf/4gTTjghzjvvvNi2bVuccMIJ1ZoPAKgjFYXF+vXrqzUHANAA3CsEAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANEcUFqtXr46mpqZYsWJF0jgAQD0bdljs2LEj7rjjjpg9e3bmPABAHRtWWBw8eDCWLl0ad955Zxx//PHZMwEAdWpYYdHR0RGLFy+OhQsXvu22pVIpisXikAcA0JhaKn3C+vXrY/fu3bFjx453tH13d3d0dXVVPBjASDlp1YO1HgEaRkVnLHp7e2P58uVx9913x+jRo9/Rczo7O6Ovr2/w0dvbO6xBAYCjX0VnLHbt2hX79++PM888c3Bdf39/bN26NW699dYolUrR3Nw85DmFQiEKhULOtADAUa2isFiwYEE88cQTQ9ZdeumlMX369LjyyivfEBUAwLtLRWHR2toas2bNGrLu2GOPjfHjx79hPQDw7uM/bwIAaSr+VMj/t3nz5oQxAIBG4IwFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJCmorBYs2ZNzJ49O8aOHRtjx46NefPmxUMPPVSt2QCAOlNRWEyePDlWr14du3btip07d8YnP/nJ+PSnPx1/+MMfqjUfAFBHWirZeMmSJUOWr7vuulizZk1s27YtZs6cmToYAFB/KgqL/6u/vz9+9rOfxaFDh2LevHmH3a5UKkWpVBpcLhaLw90lAHCUqzgsnnjiiZg3b168+uqr8b73vS82bNgQM2bMOOz23d3d0dXVdURDNrKTVj1Y6xE4ivn5gNqqx9/B51Yvrun+K/5UyKmnnho9PT2xffv2+OpXvxrLli2LJ5988rDbd3Z2Rl9f3+Cjt7f3iAYGAI5eFZ+xGDVqVHzoQx+KiIizzjorduzYET/84Q/jjjvueNPtC4VCFAqFI5sSAKgLR/x/LAYGBoZcQwEAvHtVdMais7MzFi1aFFOnTo0DBw7EunXrYvPmzfHII49Uaz4AoI5UFBb79++PL3/5y/HSSy9FW1tbzJ49Ox555JH41Kc+Va35AIA6UlFY/OhHP6rWHABAA3CvEAAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgTUVh0d3dHWeffXa0trbGhAkT4qKLLoqnnnqqWrMBAHWmorDYsmVLdHR0xLZt22Ljxo3x2muvxQUXXBCHDh2q1nwAQB1pqWTjhx9+eMjyXXfdFRMmTIhdu3bFxz72sdTBAID6U1FY/H99fX0RETFu3LjDblMqlaJUKg0uF4vFI9klAHAUG3ZYDAwMxIoVK2L+/Pkxa9asw27X3d0dXV1dw90NpDhp1YO1HgHgXWHYnwrp6OiIPXv2xPr1699yu87Ozujr6xt89Pb2DneXAMBRblhnLC6//PJ44IEHYuvWrTF58uS33LZQKEShUBjWcABAfakoLMrlcnzta1+LDRs2xObNm2PatGnVmgsAqEMVhUVHR0esW7cu7r///mhtbY19+/ZFRERbW1uMGTOmKgMCAPWjomss1qxZE319fXH++efHpEmTBh/33HNPteYDAOpIxW+FAAAcjnuFAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkEZYAABphAUAkKbisNi6dWssWbIk2tvbo6mpKe67774qjAUA1KOKw+LQoUNx+umnx2233VaNeQCAOtZS6RMWLVoUixYtqsYsAECdqzgsKlUqlaJUKg0uF4vFau8SAKiRqodFd3d3dHV1VXs3ERFx0qoHR2Q/AFTO3+h3h6p/KqSzszP6+voGH729vdXeJQBQI1U/Y1EoFKJQKFR7NwDAUcD/sQAA0lR8xuLgwYPx7LPPDi7v3bs3enp6Yty4cTF16tTU4QCA+lJxWOzcuTM+8YlPDC6vXLkyIiKWLVsWd911V9pgAED9qTgszj///CiXy9WYBQCoc66xAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSDCssbrvttjjppJNi9OjRcc4558Tjjz+ePRcAUIcqDot77rknVq5cGddcc03s3r07Tj/99Ljwwgtj//791ZgPAKgjFYfFTTfdFF/5ylfi0ksvjRkzZsTtt98e733ve+PHP/5xNeYDAOpISyUb/+c//4ldu3ZFZ2fn4LpjjjkmFi5cGL/97W/f9DmlUilKpdLgcl9fX0REFIvF4cz7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\n" + }, + "metadata": {} + } + ], + "source": [ + "plt.hist(sample)\n", + "plt.show()" ] - }, - "metadata": { - "needs_background": "light" - }, - "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": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" + }, + { + "cell_type": "markdown", + "metadata": { + "id": "dTc8xEMzIUW0" + }, + "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)" ] - }, - "metadata": { - "needs_background": "light" - }, - "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": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 424 + }, + "id": "NgKHBG1-IUW1", + "outputId": "decd310d-8511-487e-ed1e-3ea46069474a" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "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]" + ], + "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", + " \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", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "
\n", + "
\n" + ] + }, + "metadata": {}, + "execution_count": 5 + } + ], + "source": [ + "df = pd.read_csv(\"https://raw.githubusercontent.com/Jmackalister/Data-Science-For-Beginners/main/data/SOCR_MLB.tsv\",sep='\\t', header=None, names=['Name','Team','Role','Height','Weight','Age'])\n", + "df" ] - }, - "metadata": { - "needs_background": "light" - }, - "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": 11, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([73.46072234, 70.40678311, 70.23689776, 73.81190675, 72.41091792,\n", - " 76.00127651, 71.91641414, 77.18162239, 76.7173353 , 73.93996587,\n", - " 74.2862748 , 76.88034696, 72.15184905, 74.43537605, 76.37723417,\n", - " 65.66976051, 74.3200533 , 77.3235274 , 72.8840488 , 77.50300255])" + }, + { + "cell_type": "markdown", + "metadata": { + "id": "yGT7sgCCIUW1" + }, + "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:" ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "generated = np.random.normal(mean, std, 1000)\n", - "generated[:20]" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "TqTXzahpIUW3", + "outputId": "46b5cbf3-3b5a-4532-ce77-3eca8f44afad" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Age 28.736712\n", + "Height 73.697292\n", + "Weight 201.689255\n", + "dtype: float64" + ] + }, + "metadata": {}, + "execution_count": 6 + } + ], + "source": [ + "df[['Age','Height','Weight']].mean()" ] - }, - "metadata": { - "needs_background": "light" - }, - "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": 13, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" + }, + { + "cell_type": "markdown", + "metadata": { + "id": "f39ELsmyIUW4" + }, + "source": [ + "Now let's focus on height, and compute standard deviation and variance:" ] - }, - "metadata": { - "needs_background": "light" - }, - "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": 14, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "WqyT_O1ZIUW4", + "outputId": "b4a8f094-be78-4c10-8561-e4ae845a2e92" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "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])" ] - }, - "metadata": { - "needs_background": "light" - }, - "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": 15, - "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": 16, - "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", - "
" + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "hIjGQv-0IUW6", + "outputId": "e26ca71a-2697-46a0-f599-986f71b961e0" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Mean = 73.6972920696325\n", + "Variance = 5.316798081118074\n", + "Standard Deviation = 2.3058183105175645\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" + "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}\")" ] - }, - "execution_count": 16, - "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": 17, - "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": 18, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T-value = 7.65\n", - "P-value: 9.137321189738925e-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": 19, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" + }, + { + "cell_type": "markdown", + "metadata": { + "id": "_CtgdwXxIUW7" + }, + "source": [ + "In addition to mean, it makes sense to look at the median value and quartiles. They can be visualized using a **box plot**:" ] - }, - "metadata": { - "needs_background": "light" - }, - "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": 20, - "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": 21, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Covariance matrix:\n", - "[[ 5.31679808 57.15323023]\n", - " [ 57.15323023 614.37197275]]\n", - "Covariance = 57.153230230544736\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": 22, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsgAAAGoCAYAAABbtxOxAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAcYklEQVR4nO3dcYyndX0n8Penu4q0Vw49Fs8C3mqLNBoSrHNCL6dn6nlyxVZqQyqhSq5eqF7bxDa1XSKeuYsm2/OS5trkbNBDsNZtaKNoshpqaSx3jdAMhXaXWiJYhAUO1hJ7xFKs+Lk/5ln6ZXZmZ2eZ2d9vh9crefL8fp/f85v5/L6ZfXjzzPf5TnV3AACAJd816wYAAGCeCMgAADAQkAEAYCAgAwDAQEAGAIDB9lk3sJbTTjutd+7cOes2AADYYm677bavd/eO5fW5D8g7d+7M4uLirNsAAGCLqaqvrVQ3xQIAAAYCMgAADARkAAAYCMgAADAQkAEAYCAgAwDAQEAGAIDBmgG5qq6pqkeqav9Qu6Sq7qyq71TVwlC/rKruGLbvVNV502tfrKq7htdO35RPBAAAz8DRXEG+NsmFy2r7k7wlyc1jsbt/p7vP6+7zkrwtyb3dfcdwyGWHXu/uR465awAA2CRr/iW97r65qnYuq305SarqSG+9NMmeZ9IcAAAcb5s5B/mncnhA/tg0veJ9dYR0XVVXVNViVS0ePHhwE1sEAICn25SAXFXnJ/m77t4/lC/r7nOTvGba3rba+7v76u5e6O6FHTt2bEaLAACwos26gvzWLLt63N0PTPvHknwyyas36XsDAMAxW3MO8npV1XcluSTJa4fa9iSndvfXq+o5Sd6U5A83+nsDAHBiuOH2B/KhG+/Kg994PN936sl5zxvPycWvPGPWbSU5ioBcVXuSvC7JaVV1IMn7kzya5DeT7Eiyt6ru6O43Tm95bZID3f3V4cuclOTGKRxvy1I4/siGfQoAAE4YN9z+QK781L48/g9PJkke+MbjufJT+5JkLkLy0axicekqL316leO/mOSCZbVvJnnVepsDAGDr+dCNdz0Vjg95/B+ezIduvGsuArK/pAcAwHH14DceX1f9eBOQAQA4rr7v1JPXVT/eBGQAAI6r97zxnJz8nG1Pq538nG15zxvPmVFHT7fhq1gAAMCRHJpnfMKuYgEAABvt4leeMTeBeDlTLAAAYCAgAwDAQEAGAICBgAwAAAMBGQAABgIyAAAMBGQAABgIyAAAMBCQAQBgICADAMBAQAYAgIGADAAAAwEZAAAGAjIAAAwEZAAAGGyfdQMAAGyeq27Ylz233p8nu7OtKpeef1Y+cPG5s25rrgnIAABb1FU37MsnbrnvqedPdj/1XEhenSkWAABb1J5b719XnSUCMgDAFvVk97rqLBGQAQC2qG1V66qzREAGANiiLj3/rHXVWeImPQCALerQjXhWsVif6jmfg7KwsNCLi4uzbgMAgC2mqm7r7oXldVMsAABgICADAMBAQAYAgIGADAAAAwEZAAAGAjIAAAwEZAAAGAjIAAAwEJABAGAgIAMAwEBABgCAgYAMAAADARkAAAYCMgAADLbPugEAgK3iqhv2Zc+t9+fJ7myryqXnn5UPXHzurNtinda8glxV11TVI1W1f6hdUlV3VtV3qmphqO+sqser6o5p+63htVdV1b6quruqfqOqauM/DgDAbFx1w7584pb78mR3kuTJ7nzilvty1Q37ZtwZ63U0UyyuTXLhstr+JG9JcvMKx9/T3edN2zuH+oeTXJHk7Glb/jUBAE5Ye269f1115teaAbm7b07y6LLal7v7rqP9JlX1oiSndPeXuruTfDzJxevsFQBgbh26cny0debXZtyk95Kqur2q/riqXjPVzkhyYDjmwFRbUVVdUVWLVbV48ODBTWgRAGBjbVtl9uhqdebXRgfkh5K8uLtfmeSXknyyqk5JstJPxqr/O9XdV3f3Qncv7NixY4NbBADYeJeef9a66syvDV3ForufSPLE9Pi2qronycuydMX4zOHQM5M8uJHfGwBglg6tVmEVixPfhgbkqtqR5NHufrKqXpqlm/G+2t2PVtVjVXVBkluTvD3Jb27k9wYAmLUPXHyuQLwFHM0yb3uSfCnJOVV1oKreUVU/UVUHkvxwkr1VdeN0+GuT/EVV/XmS30/yzu4+dIPfu5J8NMndSe5J8vkN/iwAAPCMVc/5nZULCwu9uLg46zYAANhiquq27l5YXvenpgEAYCAgAwDAQEAGAICBgAwAAAMBGQAABgIyAAAMBGQAABgIyAAAMBCQAQBgICADAMBAQAYAgIGADAAAg+2zbgAAYL3O/+AX8vBj33rq+Qu/97m59b1vmGFHbCWuIAMAJ5Tl4ThJHn7sWzn/g1+YUUdsNQIyAHBCWR6O16rDegnIAAAwEJABAGAgIAMAJ5QXfu9z11WH9RKQAYATyq3vfcNhYdgqFmwky7wBACccYZjN5AoyAAAMBGQAABgIyAAAMBCQAQBgICADAMBAQAYAgIGADAAAAwEZAAAGAjIAAAwEZAAAGAjIAAAwEJABAGAgIAMAwEBABgCAgYAMAACD7bNuAACYXzt37T2sdu/ui2bQCRw/riADACtaKRwfqQ5bhYAMAAADARkAAAYCMgAADARkAAAYCMgAwIpWW63CKhZsdZZ5AwBWJQzzbLTmFeSquqaqHqmq/UPtkqq6s6q+U1ULQ/0NVXVbVe2b9j8yvPbFqrqrqu6YttM3/uMAAMAzczRTLK5NcuGy2v4kb0ly87L615P8WHefm+TyJL+97PXLuvu8aXvkGPoFAIBNteYUi+6+uap2Lqt9OUmqavmxtw9P70zyvKo6qbufeOatAgDA5tvMm/R+Msnty8Lxx6bpFe+r5el6UFVXVNViVS0ePHhwE1sEAICn25SAXFWvSPJrSX52KF82Tb14zbS9bbX3d/fV3b3Q3Qs7duzYjBYBAGBFGx6Qq+rMJJ9O8vbuvudQvbsfmPaPJflkkldv9PcGAIBnakMDclWdmmRvkiu7+0+G+vaqOm16/Jwkb8rSjX4AADBXjmaZtz1JvpTknKo6UFXvqKqfqKoDSX44yd6qunE6/OeT/ECS9y1bzu2kJDdW1V8kuSPJA0k+sgmfBwAAnpHq7ln3cEQLCwu9uLg46zYAANhiquq27l5YXvenpgEAYCAgAwDAQEAGAICBgAwAAAMBGQAABttn3QAAkOzctfew2r27L5pBJ4AryAAwYyuF4yPVgc0lIAMAwEBABgCAgYAMAAADARkAAAYCMgDM2GqrVVjFAmbDMm8AMAeEYZgfriADAMBAQAYAgIGADAAAAwEZAAAGAjIAAAwEZAAAGAjIAAAwEJABAGAgIAMAwEBABgCAgYAMAAADARkAAAYCMgAADARkAAAYbJ91AwBwPO3ctfew2r27L5pBJ8C8cgUZgGeNlcLxkerAs5OADAAAAwEZAAAGAjIAAAwEZAAAGAjIADxrrLZahVUsgJFl3gB4VhGGgbW4ggwAAAMBGQAABgIyAAAMBGQAABgIyAAAMBCQAQBgICADAMBAQAYAgMGaAbmqrqmqR6pq/1C7pKrurKrvVNXCsuOvrKq7q+quqnrjUH9VVe2bXvuNqqqN/SgAAPDMHc0V5GuTXListj/JW5LcPBar6uVJ3prkFdN7/mdVbZte/nCSK5KcPW3LvyYAAMzcmgG5u29O8uiy2pe7+64VDn9zkt/t7ie6+6+T3J3k1VX1oiSndPeXuruTfDzJxc+4ewAA2GAbPQf5jCT3D88PTLUzpsfL6yuqqiuqarGqFg8ePLjBLQIAwOo2OiCvNK+4j1BfUXdf3d0L3b2wY8eODWsOAADWstEB+UCSs4bnZyZ5cKqfuUIdAADmykYH5M8meWtVnVRVL8nSzXh/2t0PJXmsqi6YVq94e5LPbPD3BgCAZ2z7WgdU1Z4kr0tyWlUdSPL+LN2095tJdiTZW1V3dPcbu/vOqro+yV8m+XaSn+vuJ6cv9a4srYhxcpLPTxsAW9TOXXsPq927+6IZdAKwPrW0qMT8WlhY6MXFxVm3AcA6rBSODxGSgXlRVbd198Lyur+kBwAAAwEZAAAGAjIAAAwEZAAAGAjIAGy41W7Ec4MecCJYc5k3ADgWwjBwonIFGQAABgIyAAAMBGQAABgIyAAAMBCQAQBgICADAMBAQAYAgIGADAAAAwEZAAAGAjIAAAwEZAAAGAjIAAAwEJABAGAgIAMAwGD7rBsA4JnbuWvvYbV7d180g04ATnyuIAOc4FYKx0eqA3BkAjIAAAwEZAAAGAjIAAAwEJABAGAgIAOc4FZbrcIqFgDHxjJvAFuAMAywcVxBBgCAgYAMAAADARkAAAYCMgAADARkAAAYCMgAADAQkAEAYCAgAwDAQEAGAICBgAwAAAMBGQAABgIyAAAMBGQAABgIyAAAMNg+6wYATiQ7d+09rHbv7otm0AkAm2XNK8hVdU1VPVJV+4faC6rqC1X1lWn//Kl+WVXdMWzfqarzpte+WFV3Da+dvmmfCmATrBSOj1QH4MR0NFMsrk1y4bLariQ3dffZSW6anqe7f6e7z+vu85K8Lcm93X3H8L7LDr3e3Y880+YBAGCjrRmQu/vmJI8uK785yXXT4+uSXLzCWy9NsueZNAcAAMfbsd6k98LufihJpv1K0yV+KocH5I9N0yveV1W12hevqiuqarGqFg8ePHiMLQIAwPptyioWVXV+kr/r7v1D+bLuPjfJa6btbau9v7uv7u6F7l7YsWPHZrQIAAArOtaA/HBVvShJpv3y+cRvzbKrx939wLR/LMknk7z6GL83wEystlqFVSwAtpZjXebts0kuT7J72n/m0AtV9V1JLkny2qG2Pcmp3f31qnpOkjcl+cNjbRpgVoRhgK1vzYBcVXuSvC7JaVV1IMn7sxSMr6+qdyS5L0uB+JDXJjnQ3V8daicluXEKx9uyFI4/siGfAAAANtCaAbm7L13lpdevcvwXk1ywrPbNJK9ab3MAAHC8+VPTAAAwEJABAGAgIAMAwEBABgCAgYAMAAADARkAAAYCMgAADARkAAAYCMgAADAQkAEAYCAgAwDAQEAGAICBgAwAAIPts24AYCU7d+09rHbv7otm0AkAzzauIANzZ6VwfKQ6AGwkARkAAAYCMgAADARkAAAYCMgAADAQkIG5s9pqFVaxAOB4sMwbMJeEYQBmxRVkAAAYCMgAADAQkAEAYCAgAwDAQEAGAICBgAwAAAMBGQAABgIyAAAMBGQAABgIyAAAMBCQAQBgICADAMBAQAYAgIGADAAAg+2zbgCYrZ279h5Wu3f3RTPoBADmgyvI8Cy2Ujg+Uh0Ang0EZAAAGAjIAAAwEJABAGAgIAMAwEBAhmex1VarsIoFAM9mlnmDZzlhGACebs0ryFV1TVU9UlX7h9oLquoLVfWVaf/8qb6zqh6vqjum7beG97yqqvZV1d1V9RtVVZvzkQAA4NgdzRSLa5NcuKy2K8lN3X12kpum54fc093nTds7h/qHk1yR5OxpW/41AQBg5tYMyN19c5JHl5XfnOS66fF1SS4+0teoqhclOaW7v9TdneTja70HAABm4Vhv0nthdz+UJNP+9OG1l1TV7VX1x1X1mql2RpIDwzEHptqKquqKqlqsqsWDBw8eY4sAALB+G72KxUNJXtzdr0zyS0k+WVWnJFlpvnGv9kW6++ruXujuhR07dmxwiwAAsLpjDcgPT9MmDk2feCRJuvuJ7v6b6fFtSe5J8rIsXTE+c3j/mUkePNamAQBgsxxrQP5sksunx5cn+UySVNWOqto2PX5plm7G++o0DeOxqrpgWr3i7YfeAwAA82TNdZCrak+S1yU5raoOJHl/kt1Jrq+qdyS5L8kl0+GvTfJfq+rbSZ5M8s7uPnSD37uytCLGyUk+P20AADBXamlRifm1sLDQi4uLs24DAIAtpqpu6+6F5XV/ahoAAAYCMgAADARkAAAYCMgAADAQkAEAYCAgAwDAYM11kIGNsXPX3sNq9+6+aAadAABH4goyHAcrheMj1QGA2RGQAQBgICADAMBAQAYAgIGADAAAAwEZjoPVVquwigUAzB/LvMFxIgwDwInBFWQAABgIyAAAMBCQAQBgICADAMBAQAYAgIGADAAAAwEZAAAGAjIAAAwEZAAAGAjIAAAwEJABAGAgIAMAwEBABgCAgYAMAACD7bNuADbazl17D6vdu/uiGXQCAJyIXEFmS1kpHB+pDgCwnIAMAAADARkAAAYCMgAADARkAAAYCMhsKautVmEVCwDgaFnmjS1HGAYAnglXkAEAYCAgAwDAQEAGAICBgAwAAAMBGQAABgIyAAAMBGQAABisGZCr6pqqeqSq9g+1F1TVF6rqK9P++VP9DVV1W1Xtm/Y/Mrzni1V1V1XdMW2nb85HAgCAY3c0V5CvTXLhstquJDd199lJbpqeJ8nXk/xYd5+b5PIkv73sfZd193nT9sixtw0AAJtjzYDc3TcneXRZ+c1JrpseX5fk4unY27v7wal+Z5LnVdVJG9MqAABsvmOdg/zC7n4oSab9StMlfjLJ7d39xFD72DS94n1VVat98aq6oqoWq2rx4MGDx9giAACs36bcpFdVr0jya0l+dihfNk29eM20vW2193f31d290N0LO3bs2IwWAQBgRccakB+uqhclybR/aj5xVZ2Z5NNJ3t7d9xyqd/cD0/6xJJ9M8upjbRoAADbLsQbkz2bpJrxM+88kSVWdmmRvkiu7+08OHVxV26vqtOnxc5K8Kcn+AADAnNm+1gFVtSfJ65KcVlUHkrw/ye4k11fVO5Lcl+SS6fCfT/IDSd5XVe+bav8uyTeT3DiF421J/jDJRzbwczAjO3ftPax27+6LZtAJAMDGqO6edQ9HtLCw0IuLi7NugxWsFI4PEZIBgHlXVbd198Lyur+kBwAAAwEZAAAGAjIAAAwEZAAAGAjIHLPVbsRzgx4AcCJbc5k3OBJhGADYalxBBgCAgYAMAAADARkAAAYCMgAADARkAAAYCMgAADAQkAEAYCAgAwDAQEAGAICBgAwAAAMBGQAABgIyAAAMBGQAABgIyAAAMBCQAQBgsH3WDXB0fvC9n8vfP9lPPX/etspfffBHZ9gRAMDW5AryCWB5OE6Sv3+y84Pv/dyMOgIA2LoE5BPA8nC8Vh0AgGMnIAMAwEBABgCAgYB8AnjetlpXHQCAYycgnwD+6oM/elgYtooFAMDmsMzbCUIYBgA4PlxBBgCAgYAMAAADARkAAAYCMgAADARkAAAYCMgAADAQkAEAYCAgAwDAQEAGAICBgAwAAAMBGQAABgIyAAAMBGQAABgIyAAAMFgzIFfVNVX1SFXtH2ovqKovVNVXpv3zh9eurKq7q+quqnrjUH9VVe2bXvuNqqqN/zjP3FU37Mv3X/m57Ny1N99/5edy1Q37Zt0SAADH0dFcQb42yYXLaruS3NTdZye5aXqeqnp5krcmecX0nv9ZVdum93w4yRVJzp625V9z5q66YV8+cct9ebI7SfJkdz5xy31CMgDAs8iaAbm7b07y6LLym5NcNz2+LsnFQ/13u/uJ7v7rJHcneXVVvSjJKd39pe7uJB8f3jM39tx6/7rqAABsPcc6B/mF3f1Qkkz706f6GUnGNHlgqp0xPV5eX1FVXVFVi1W1ePDgwWNscf0OXTk+2joAAFvPRt+kt9K84j5CfUXdfXV3L3T3wo4dOzasubVsW2Va9Gp1AAC2nmMNyA9P0yYy7R+Z6geSnDUcd2aSB6f6mSvU58ql55+1rjoAAFvPsQbkzya5fHp8eZLPDPW3VtVJVfWSLN2M96fTNIzHquqCafWKtw/vmRsfuPjc/PQFL37qivG2qvz0BS/OBy4+d8adAQBwvFSvMb+2qvYkeV2S05I8nOT9SW5Icn2SFye5L8kl3f3odPx7k/xMkm8neXd3f36qL2RpRYyTk3w+yS/0Wt88ycLCQi8uLq7/kwEAwBFU1W3dvXBY/Sgy6kwJyAAAbIbVArK/pAcAAAMBGQAABgIyAAAMBGQAABgIyAAAMBCQAQBgICADAMBAQAYAgIGADAAAAwEZAAAGAjIAAAwEZAAAGFR3z7qHI6qqg0m+Nus+5shpSb4+6yZOEMZqfYzX+hivo2es1sd4rY/xOnrG6nD/ort3LC/OfUDm6apqsbsXZt3HicBYrY/xWh/jdfSM1foYr/UxXkfPWB09UywAAGAgIAMAwEBAPvFcPesGTiDGan2M1/oYr6NnrNbHeK2P8Tp6xuoomYMMAAADV5ABAGAgIAMAwEBAnmNVdWpV/X5V/VVVfbmqfriqzquqW6rqjqparKpXz7rPeVBV50xjcmj7f1X17qp6QVV9oaq+Mu2fP+te58ERxutD08/bX1TVp6vq1Fn3OmurjdXw+i9XVVfVaTNsc24cabyq6heq6q6qurOq/tuMW50LR/i36Fy/gqr6xennZ39V7amq5znPr26V8XKePwrmIM+xqrouyf/u7o9W1XOTfHeS65P8end/vqp+NMmvdPfrZtnnvKmqbUkeSHJ+kp9L8mh3766qXUme392/OtMG58yy8TonyR9197er6teSxHj9o3GsuvtrVXVWko8m+cEkr+puC/APlv1svTTJe5Nc1N1PVNXp3f3ITBucM8vG6yNxrn+aqjojyf9J8vLufryqrk/yuSQvj/P8YY4wXg/GeX5NriDPqao6Jclrk/yvJOnub3X3N5J0klOmw/5pln7QebrXJ7mnu7+W5M1Jrpvq1yW5eFZNzbGnxqu7/6C7vz3Vb0ly5gz7mkfjz1aS/HqSX8nSv0sON47Xu5Ls7u4nkkQ4XtE4Xs71K9ue5OSq2p6li0YPxnn+SA4bL+f5oyMgz6+XJjmY5GNVdXtVfbSqvifJu5N8qKruT/Lfk1w5wx7n1VuT7Jkev7C7H0qSaX/6zLqaX+N4jX4myeePcy/z7qmxqqofT/JAd//5bFuaa+PP1suSvKaqbq2qP66qfznDvubVOF7vjnP903T3A1kai/uSPJTkb7v7D+I8v6IjjNfIeX4VAvL82p7kh5J8uLtfmeSbSXZl6SrML3b3WUl+MdMVZpZMU1F+PMnvzbqXE8Fq41VV703y7SS/M4u+5tE4VlX13VmaLvCfZ9vV/FrhZ2t7kucnuSDJe5JcX1U1o/bmzgrj5Vy/zDS3+M1JXpLk+5J8T1X99Gy7ml9rjZfz/JEJyPPrQJID3X3r9Pz3sxSYL0/yqan2e0ncuPF0/z7Jn3X3w9Pzh6vqRUky7f1a9+mWj1eq6vIkb0pyWbtJYTSO1fdn6T86f15V92bpV5R/VlX/fIb9zZvlP1sHknyql/xpku8kcWPjP1o+Xs71h/u3Sf66uw929z9kaXz+VZznV7PaeDnPHwUBeU519/9Ncn9VnTOVXp/kL7M03+rfTLUfSfKVGbQ3zy7N06cLfDZL/6HJtP/Mce9ovj1tvKrqwiS/muTHu/vvZtbVfHpqrLp7X3ef3t07u3tnlsLfD03/blmy/N/iDVk6Z6WqXpbkuUnc1PiPlo+Xc/3h7ktyQVV99/Tbh9cn+XKc51ez4ng5zx8dq1jMsao6L0t3yD83yVeT/Ickr0jyP7L068q/T/Kfuvu2WfU4T6Zfe9+f5KXd/bdT7Z9laeWPF2fpZHFJdz86uy7nxyrjdXeSk5L8zXTYLd39zhm1ODdWGqtlr9+bZMEqFktW+dl6bpJrkpyX5FtJfrm7/2hmTc6RVcbrX8e5/jBV9V+S/FSWpgbcnuQ/JvkncZ5f0SrjdWec59ckIAMAwMAUCwAAGAjIAAAwEJABAGAgIAMAwEBABgCAgYAMAAADARkAAAb/H2leqRtP0LMZAAAAAElFTkSuQmCC\n", - "text/plain": [ - "
" + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 207 + }, + "id": "GYjvNaCmIUW8", + "outputId": "aabf89b5-3442-4ba8-f365-18a87bd8ab52" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA94AAAC+CAYAAADDcdfsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAn8UlEQVR4nO3de3TU9Z3/8dfMJBNImoQKVQwhSglHFopdAX9yUZR6pfxUFlt71rqishUOUixC0W7LgrUVKzcVRX5GBCtqF1xA1m4VL7CiBOVaD4KQCK1CuCxVEhCSuXw/vz80KQkxybRJvnnPPB/n5CQkY/P+9sl8mU++n5kEnHNOAAAAAACgRQT9HgAAAAAAgGTGwhsAAAAAgBbEwhsAAAAAgBbEwhsAAAAAgBbEwhsAAAAAgBbEwhsAAAAAgBbEwhsAAAAAgBbEwhsAAAAAgBaU1trf0PM8lZWVKTs7W4FAoLW/PQAAAAAAfzfnnI4dO6a8vDwFgw1f0271hXdZWZm6du3a2t8WAAAAAIBm98knnyg/P7/B27T6wjs7O1vSF8Pl5OS09reHpKqqKhUVFelHP/qRMjIy/B4HjaCXLfSyhV620MsWetlDM1vo5b+Kigp17dq1Zo3bkIBzzrXCTDUqKiqUm5ur8vJyFt4+8TxP+/fvV5cuXRrdEgH/0csWetlCL1voZQu97KGZLfTyXyJrWxbeAAAAAAAkKJG1LT8aSUFVVVWaMWOGqqqq/B4FTUAvW+hlC71soZct9LKHZrbQyxaueKcgz/N05MgRderUiW0pBtDLFnrZQi9b6GULveyhmS308h9bzQEAAAAAaEFsNUeDqqqqdN9997EtxQh62UIvW+hlC71soZc9NLOFXrZwxTsFVf+i9+zsbAUCAb/HQSPoZQu9bKGXLfSyhV720MwWevmPK95oFL/rzxZ62UIvW+hlC71soZc9NLOFXnaw8E5BkUhEDz74oCKRiN+joAnoZQu9bKGXLfSyhV720MwWetnCVvMU5JxTJBJROBxmW4oB9LKFXrbQyxZ62UIve2hmC738x1ZzNIoXYbCFXrbQyxZ62UIvW+hlD81soZcdLLxTUCQS0dy5c9mWYgS9bKGXLfSyhV620MsemtlCL1vYag4AAAAAQILYao4GeZ6nw4cPy/M8v0dBE9DLFnrZQi9b6GULveyhmS30soWFdwqKRqNauHChotGo36OgCehlC71soZct9LKFXvbQzBZ62cJWcwAAAAAAEsRWczTI8zx98sknbEsxgl620MsWetlCL1voZQ/NbKGXLSy8U1A0GtWyZcvYlmIEvWyhly30soVettDLHprZQi9b2GoOAAAAAECC2GqOBnmep9LSUralGEEvW+hlC71soZct9LKHZrbQyxYW3ikoFotp9erVisVifo+CJqCXLfSyhV620MsWetlDM1voZQtbzQEAAAAASBBbzdGgeDyuDz74QPF43O9R0AT0soVettDLFnrZQi97aGYLvWxh4Z2C4vG4NmzYwJ3UCHrZQi9b6GULvWyhlz00s4VetrDVHAAAAACABLHVHA2Kx+PasmULPx0zgl620MsWetlCL1voZQ/NbKGXLSy8U1A8HteOHTu4kxpBL1voZQu9bKGXLfSyh2a20MsWtpoDAAAAAJAgtpqjQbFYTMXFxfzOPyPoZQu9bKGXLfSyhV720MwWetnCwjsFOee0b98+tfJmB/yN6GULvWyhly30soVe9tDMFnrZwlZzAAAAAAASxFZzNCgWi2nt2rVsSzGCXrbQyxZ62UIvW+hlD81soZctLLxTkHNOFRUVbEsxgl620MsWetlCL1voZQ/NbKGXLWw1BwAAAAAgQWw1R4NisZheffVVtqUYQS9b6GULvWyhly30sodmttDLFhbeAAAAAAC0ILaaAwAAAACQILaao0HRaFSrVq1SNBr1exQ0Ab1soZct9LKFXrbQyx6a2UIvW1h4p6BAIKCcnBwFAgG/R0ET0MsWetlCL1voZQu97KGZLfSyha3mAAAAAAAkiK3maFA0GtWyZcvYlmIEvWyhly30soVettDLHprZQi9bWHinoEAgoPz8fLalGEEvW+hlC71soZct9LKHZrbQyxa2mgMAAAAAkCC2mqNBkUhES5YsUSQS8XsUNAG9bKGXLfSyhV620MsemtlCL1tYeKegUCikXr16KRQK+T0KmoBettDLFnrZQi9b6GUPzWyhly1sNQcAAAAAIEFsNUeDIpGIFi5cyLYUI+hlC71soZct9LKFXvbQzBZ62cLCOwWFQiENGDCAbSlG0MsWetlCL1voZQu97KGZLfSyha3mAAAAAAAkiK3maFAkEtH8+fPZlmIEvWyhly30soVettDLHprZQi9bWHinoLS0NF111VVKS0vzexQ0Ab1s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qddee03Dhg3TW2+9ZeKY0tPTNW/evJrH9Pry3H5qm+rH9PPmzdOkSZNMHFMsFqs5rvvuu6/m793SpUs1duxYZWVladq0aRo3bpzmz5+vcePGmTgm55zeeecd/elPf9Kzzz6rYDBY6z4Uj8f105/+VEOGDNGbb76p73znO23qmBLi/g6S3IoVKxq8zbRp05yk095eeOEF55xzr7zyinvllVecc8699NJLbs2aNc4555YuXerWr1/vnHPu2WefdZs3b3bOOffUU0+57du3O+ece/zxx11JSYlzzrnZs2e7jz/+2Dnn3AMPPOAOHTrknHNu+vTprry83FVWVrrp06e7yspKV15e7qZPn+6cc+7QoUPugQcecM45N2rUKCfJHThwwJWUlLjHH3/cOefc9u3b3VNPPeX279/vJLkrr7zSOefc+vXr3dKlS51zzq1Zs8a99NJLbe6YPv74Yzd79mznnKs5piVLltTbhDfeeGu+tyVLlpg9R5x63nPOuc2bN7tnn322TZ331uxd4761+Funvb297+3Ejmn/Vuem5bjVz8z0/Zias9NX/dvLG2+8Ne/blClTTJ4jqs/lXbt2dZLcb37zm3rPe4888oiT5M444wwzx+SccyNGjHDSF4/p6zuXVz+mv+GGG8wc05o1a9x3v/tdJ8k9//zz9f77tGDBAifJjR8/3swxvfTSS+7555930l/XlXXvT6+99pqT5MaNG9fmjqm8vNxJcuXl5a4xLb7VvL4r3l27dtWRI0fUsWPHNnVFYc6cOZo0aZKKiop0++23n/bTjcWLF2vMmDGaOXOm6Sve7733ni655BItWrRI559/fkr99N3iMcViMR0+fFhnn312vX/HLB5TMnaqPo7t27dr1KhRWrdunQYMGGDyHNHWr3hXVVXp1tdv1c5Pd8pzf3215GAgqH844x/03LDnFIvFmnRMaf/7gYJFlyly2+sKn3Nh0nR66623dOmll2rJkiXq0aOH2ftT3XOE53k6dOiQOnfuXNPA+jElw3nvq44pGo1q3759Ouecc2pe2dz6MZ16xfvmm2/W//zP/2jIkCHmzhHV57qhQ4fqnXfe0dVXX61XXnlFkUhEe/fuVY8ePRSPxzV8+HC99tprGjhwoKkr3rNnz9bkyZNVVFSkW2+99bRz+dNPP60xY8Zo1qxZpq54P/LII5o8ebIWLFig0aNH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hV620MsWetlDM1voZQtXvFOQ53nav3+/unTpomCQn720dfSyhV620MsWetlCL3toZgu9/JfI2paFNwAAAAAACWKrORpUVVWlGTNmsC3FCHrZQi9b6GULvWyhlz00s4VetnDFOwV5nqcjR46oU6dObEsxgF620MsWetlCL1voZQ/NbKGX/9hqDgAAAABAC2KrORpUVVWl++67j20pRtDLFnrZQi9b6GULveyhmS30soUr3inIOadjx44pOztbgUDA73HQCHrZQi9b6GULvWyhlz00s4Ve/uOKNxqVkZHh9whIAL1soZct9LKFXrbQyx6a2UIvO1h4p6BIJKIHH3xQkUjE71HQBPSyhV620MsWetlCL3toZgu9bGGreQpyzikSiSgcDrMtxQB62UIvW+hlC71soZc9NLOFXv5jqzkaxYsw2EIvW+hlC71soZct9LKHZrbQyw4W3ikoEolo7ty5bEsxgl620MsWetlCL1voZQ/NbKGXLWw1BwAAAAAgQWw1R4M8z9Phw4fleZ7fo6AJ6GULvWyhly30soVe9tDMFnrZwsI7BUWjUS1cuFDRaNTvUdAE9LKFXrbQyxZ62UIve2hmC71sYas5AAAAAAAJYqs5GuR5nj755BO2pRhBL1voZQu9bKGXLfSyh2a20MsWFt4pKBqNatmyZWxLMYJettDLFnrZQi9b6GUPzWyhly1sNQcAAAAAIEFsNUeDPM9TaWkp21KMoJct9LKFXrbQyxZ62UMzW+hlCwvvFBSLxbR69WrFYjG/R0ET0MsWetlCL1voZQu97KGZLfSyha3mAAAAAAAkiK3maFA8HtcHH3ygeDzu9yhoAnrZQi9b6GULvWyhlz00s4VetrDwTkHxeFwbNmzgTmoEvWyhly30soVettDLHprZQi9b2GoOAAAAAECC2GqOBsXjcW3ZsoWfjhlBL1voZQu9bKGXLfSyh2a20MsWFt4pKB6Pa8eOHdxJjaCXLfSyhV620MsWetlDM1voZQtbzQEAAAAASBBbzdGgWCym4uJifuefEfSyhV620MsWetlCL3toZgu9bGHhnYKcc9q3b59aebMD/kb0soVettDLFnrZQi97aGYLvWxhqzkAAAAAAAliqzkaFIvFtHbtWralGEEvW+hlC71soZct9LKHZrbQyxYW3inIOaeKigq2pRhBL1voZQu9bKGXLfSyh2a20MsWtpoDAAAAAJAgtpqjQbFYTK+++irbUoygly30soVettDLFnrZQzNb6GULC28AAAAAAFoQW80BAAAAAEhQImvbtFaaqUb1Or+ioqK1vzW+FI1G9dprr+nKK69Uenq63+OgEfSyhV620MsWetlCL3toZgu9/Fe9pm3KtexWX3gfO3ZMktS1a9fW/tYAAAAAADSrY8eOKTc3t8HbtPpWc8/zVFZWpuzsbAUCgdb81vhSRUWFunbtqk8++YTt/gbQyxZ62UIvW+hlC73soZkt9PKfc07Hjh1TXl6egsGGXz6t1a94B4NB5efnt/a3RT1ycnK4kxpCL1voZQu9bKGXLfSyh2a20MtfjV3prsarmgMAAAAA0IJYeAMAAAAA0IJYeKegjIwMTZs2TRkZGX6Pgiagly30soVettDLFnrZQzNb6GVLq7+4GgAAAAAAqYQr3gAAAAAAtCAW3gAAAAAAtCAW3gAAAAAAtCAW3gAAAAAAtCAW3kls//79uvnmm9WxY0e1b99effr00aZNm2q+fvz4cY0fP175+flq3769evXqpQULFvg4ceo699xzFQgETnu78847JUmVlZW688471bFjR33ta1/TDTfcoEOHDvk8dWprqNmnn36qH//4xzrvvPPUvn17FRQUaMKECSovL/d77JTV2H2smnNOw4YNUyAQ0MqVK/0ZFk3qVVxcrO985zvKyspSTk6OhgwZopMnT/o4depqrNfBgwf1L//yL+rcubOysrLUt29f/ed//qfPU6eueDyuqVOnqlu3bmrfvr26d++u+++/X6e+3rJzTv/+7/+us88+W+3bt9cVV1yhkpISH6dOXY31ikajuueee9SnTx9lZWUpLy9Pt9xyi8rKynyeHHWl+T0AWsZnn32mwYMHa+jQofrDH/6gb3zjGyopKdHXv/71mtvcfffdevPNN7VkyRKde+65Wr16tcaNG6e8vDxdd911Pk6fejZu3Kh4PF7z5+3bt+vKK6/U97//fUnSxIkT9fvf/17Lli1Tbm6uxo8fr5EjR+qdd97xa+SU11CzsrIylZWVadasWerVq5f+/Oc/a+zYsSorK9OLL77o49Spq7H7WLWHH35YgUCgtcdDHY31Ki4u1jXXXKOf/exnmjdvntLS0vTHP/5RwSDXE/zQWK9bbrlFR48e1apVq9SpUyc9//zzuvHGG7Vp0yZdcMEFfo2dsn7zm9/oiSee0DPPPKPevXtr06ZNuu2225Sbm6sJEyZIkh566CE9+uijeuaZZ9StWzdNnTpVV199tXbs2KF27dr5fASppbFeJ06c0JYtWzR16lR9+9vf1meffaa77rpL1113Xa0LbmgDHJLSPffc4y6++OIGb9O7d2/3y1/+stbn+vbt637+85+35Ghogrvuust1797deZ7njh496tLT092yZctqvr5z504nyRUXF/s4JU51arP6LF261IXDYReNRlt5MtSnvl5bt251Xbp0cQcOHHCS3IoVK/wbELXU7XXRRRe5X/ziFz5Pha9St1dWVpb77W9/W+s2Z5xxhisqKvJjvJQ3fPhwd/vtt9f63MiRI90Pf/hD55xznue5zp07u5kzZ9Z8/ejRoy4jI8O98MILrTorGu9Vn/fee89Jcn/+859bejwkgB8NJ6lVq1apf//++v73v68zzzxTF1xwgYqKimrdZtCgQVq1apX2798v55zWrFmj3bt366qrrvJpakhSJBLRkiVLdPvttysQCGjz5s2KRqO64ooram7Ts2dPFRQUqLi42MdJUa1us/qUl5crJydHaWlsNPJbfb1OnDihm266SY8//rg6d+7s84Q4Vd1ehw8f1rvvvqszzzxTgwYN0llnnaVLL71Ub7/9tt+jQvXfvwYNGqT/+I//0KeffirP8/S73/1OlZWVuuyyy/wdNkUNGjRIb7zxhnbv3i1J+uMf/6i3335bw4YNkyTt3btXBw8erPW4Izc3VxdddBGPO3zQWK/6lJeXKxAIqEOHDq00JZqCR4BJas+ePXriiSd0991369/+7d+0ceNGTZgwQeFwWKNGjZIkzZs3T3fccYfy8/OVlpamYDCooqIiDRkyxOfpU9vKlSt19OhR3XrrrZK+eG5cOBw+7eR51lln6eDBg60/IE5Tt1ldR44c0f3336877rijdQdDverrNXHiRA0aNEjXX3+9f4OhXnV77dmzR5I0ffp0zZo1S//4j/+o3/72t7r88su1fft29ejRw8dpUd/9a+nSpfrBD36gjh07Ki0tTZmZmVqxYoUKCwv9GzSF3XvvvaqoqFDPnj0VCoUUj8f161//Wj/84Q8lqeaxxVlnnVXrv+Nxhz8a61VXZWWl7rnnHv3zP/+zcnJyWnlaNISFd5LyPE/9+/fXAw88IEm64IILtH37di1YsKDWwnvDhg1atWqVzjnnHL311lu68847lZeXV+unnGhdCxcu1LBhw5SXl+f3KGiihppVVFRo+PDh6tWrl6ZPn976w+E0dXutWrVKb775prZu3erzZKhP3V6e50mSxowZo9tuu03SF//GvfHGG3r66ac1Y8YM32ZF/efDqVOn6ujRo3r99dfVqVMnrVy5UjfeeKPWrVunPn36+Dhtalq6dKmee+45Pf/88+rdu7e2bdumn/zkJ8rLy6t5jIi2I5Fe0WhUN954o5xzeuKJJ3yaGF/J773uaBkFBQVu9OjRtT43f/58l5eX55xz7sSJEy49Pd29/PLLtW4zevRod/XVV7fanKjtT3/6kwsGg27lypU1n3vjjTecJPfZZ5/Vum1BQYGbM2dOK0+IuuprVq2iosINHDjQXX755e7kyZM+TIe66ut11113uUAg4EKhUM2bJBcMBt2ll17q37Cot9eePXucJPfss8/Wuu2NN97obrrpptYeEaeor1dpaamT5LZv317rtpdffrkbM2ZMa48I51x+fr577LHHan3u/vvvd+edd55zzrmPPvrISXJbt26tdZshQ4a4CRMmtNaY+FJjvapFIhE3YsQId/7557sjR4605ohoIp7jnaQGDx6sXbt21frc7t27dc4550j64idi0Wj0tFeADYVCNVcT0PoWLVqkM888U8OHD6/5XL9+/ZSenq433nij5nO7du3Sxx9/rIEDB/oxJk5RXzPpiyvdV111lcLhsFatWsWrwLYR9fW699579f7772vbtm01b5I0d+5cLVq0yKdJIdXf69xzz1VeXl6D/8bBH/X1OnHihCTxeKMNOXHiRIM9unXrps6dO9d63FFRUaF3332Xxx0+aKyX9Ncr3SUlJXr99dfVsWPH1h4TTeH3yh8t47333nNpaWnu17/+tSspKXHPPfecy8zMdEuWLKm5zaWXXup69+7t1qxZ4/bs2eMWLVrk2rVr5+bPn+/j5KkrHo+7goICd88995z2tbFjx7qCggL35ptvuk2bNrmBAwe6gQMH+jAlTvVVzcrLy91FF13k+vTp40pLS92BAwdq3mKxmE/ToqH7WF3iVc1911CvuXPnupycHLds2TJXUlLifvGLX7h27dq50tJSHyaFc1/dKxKJuMLCQnfJJZe4d99915WWlrpZs2a5QCDgfv/73/s0bWobNWqU69Kli3v55Zfd3r173fLly12nTp3clClTam7z4IMPug4dOriXXnrJvf/+++7666933bp1Y/eWDxrrFYlE3HXXXefy8/Pdtm3baj3mqKqq8nl6nIqFdxL7r//6L/etb33LZWRkuJ49e7onn3yy1tcPHDjgbr31VpeXl+fatWvnzjvvPDd79uyv/HVIaFmvvvqqk+R27dp12tdOnjzpxo0b577+9a+7zMxM90//9E/uwIEDPkyJU31VszVr1jhJ9b7t3bvXn2HR4H2sLhbe/mus14wZM1x+fr7LzMx0AwcOdOvWrWvlCXGqhnrt3r3bjRw50p155pkuMzPTnX/++af9ejG0noqKCnfXXXe5goIC165dO/fNb37T/fznP6+1SPM8z02dOtWdddZZLiMjw11++eVNOnei+TXWa+/evV/5mGPNmjX+Do9aAs4518oX2QEAAAAASBk8xxsAAAAAgBbEwhsAAAAAgBbEwhsAAAAAgBbEwhsAAAAAgBbEwhsAAAAAgBbEwhsAAAAAgBbEwhsAAAAAgBbEwhsAAAAAgBbEwhsAAAAAgBbEwhsAAAAAgBbEwhsAAAAAgBbEwhsAAAAAgBb0/wFD7fsBIBmsnAAAAABJRU5ErkJggg==\n" + }, + "metadata": {} + } + ], + "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()" ] - }, - "metadata": { - "needs_background": "light" - }, - "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": 23, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Correlation = 0.9835304456670837\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": 24, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Correlation = 0.9363097848296155\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": 25, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsgAAAGoCAYAAABbtxOxAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAlY0lEQVR4nO3dcZTdZ3kn9u/jsUzGzqFjg02tMa4IdZQT44BiLThlt8su64p2E5h1IIsLB5+Wxrs07WmSEwXrrNuQc5zFG+2Slm7LqUNZTE29JcQZ2ANUy5qwbDkWWRGFCCfo2BAwGjnYiREhMAExfvvHXImfxnOluaPR/O7MfD7n6Ny5z7139Or1zJ2v33l+71uttQAAAIsu6nsAAAAwTgRkAADoEJABAKBDQAYAgA4BGQAAOi7uewDn8tznPrft2LGj72EAALDJfPazn/2z1tqVS+tjH5B37NiRQ4cO9T0MAAA2mar6ynJ1LRYAANAhIAMAQIeADAAAHQIyAAB0CMgAANAhIAMAQIeADAAAHQIyAAB0CMgAANAhIAMAQIeADAAAHQIyAAB0CMgAANBxcd8DAADgwpk9PJf9B47m+In5bJ+azN49OzOza7rvYY01ARkAYJOaPTyXfQ8cyfzJhSTJ3In57HvgSJIIyWehxQIAYJPaf+Do6XB8yvzJhew/cLSnEW0MAjIAwCZ1/MT8SHUWabEAAFgj49bvu31qMnPLhOHtU5M9jGbjsIIMALAGTvX7zp2YT8v3+31nD8/1Nqa9e3ZmctvEGbXJbRPZu2dnTyPaGARkAIA1MI79vjO7pvP2W27I9NRkKsn01GTefssNLtA7By0WAABrYFz7fWd2TQvEI7KCDACwBob19er33XgEZACANaDfd/PQYgEAsAZOtTGM0y4WrI6ADACwRvT7rty4bYnXJSADALCuxv0IbD3IAACsq3HcEq/LCjIAwBoZ57aBcTKuW+KdYgUZAGANjONJeuNq3LfEE5ABANbAuLcNjJNx3xJPiwUAwBoY97aBcTLuW+IJyADAUHpqV2771GTmlgnD49I2MG7GeUs8LRYAwLL01I5m3NsGWDkryADAss7WU9v3yt84rmyPe9sAKycgA8AYuHP2SO7/zFez0FomqnLry56fu2Zu6HVM49pTO86HTIxz2wArp8UCAHp25+yR3HfwsSy0liRZaC33HXwsd84e6XVc47oVl90iuNAEZADo2fsPPjZSfb2Ma0/tuK5ss3kIyADQszZifb3M7JrO22+5IdNTk6kk01OTefstN/TeQjCuK9tsHnqQAYChxrGndu+enWf0ICfjsbLN5nHOFeSqek9VPVFVn+/UXldVD1fV01W1e8nz91XVo1V1tKr2dOo3VtWRwWPvrKpa238KALAVjOvKNpvHSlaQ35vknyd5X6f2+SS3JPk/uk+sqh9N8vok1yfZnuTfVNUPt9YWkrwrye1JDib5aJJXJfnYeY4fADa8N950be5bpt/4jTdd28NozjSO26kl47myzeZxzoDcWvtUVe1YUvvjJFlmEfg1Sf5la+07Sf6kqh5N8tKq+nKSZ7fWHhq87n1JZiIgA8Dp7dzGbZu3cd5ObVyDO5vDWvcgT2dxhfiUY4PaycHHS+vLqqrbs7janGuv7f//ngHgQrtr5obeA/FS43pQyDgHdzaHtd7FYrm+4naW+rJaa/e01na31nZfeeWVazY4ABhXs4fn8vK7P5EX3PGRvPzuT4zFcc7jup2afZC50NZ6BflYkud37l+T5Pigfs0ydQDY8sZ1RXTq0m35+rdPLlvv09yQgD6sDqNa6xXkDyd5fVU9q6pekOS6JL/XWns8yTer6qbB7hVvSvKhNf67AWBDGtcV0Tbkd73D6utlYshGWMPqMKpzriBX1f1JXpHkuVV1LMmvJHkqyf+a5MokH6mqP2it7WmtPVxVH0jyR0m+l+TnBjtYJMlbsrgjxmQWL85zgR4AZHxbGb4x/8zV47PV18vCkIQ+rA6jWskuFrcOeeh3hjz/15L82jL1Q0leNNLoAGALGNdWhu1Tk8u2LfR9Yt30kHFNO0mPNeKoaQC2lHG8GO47S9orzlVfLzues3zgHFZfL3v37Mzktokzak7SYy05ahqALWP28Fz2fvBzObmw+Kv4uRPz2fvBzyXp92K4b598eqT6ejn4pa+PVF8vp/5b2QeZC0VABmDL+NV/9fDpcHzKyYWWX/1XDwtXyxjnXl8n6XEhabEAYMtYrs/3bPX1MjW5fK/xsPp6sVsEW5WADAA9+8kXXz1Sfb3c9EOXj1SHzUJABoCe/e4Xnhypvl6+/OfLbzM3rA6bhYAMAD0b15PhxnV/ZrjQBGQAtoxtQ37qDatvdcP2O+57H2S40LwlALBlfG/IrmnD6lud/YbZqmzzBsCWMWxzsv43LRtP9htmqxKQAaBnl267aNlDQS4dg94P+w2zFfX/nQcAW9wtN14zUh24sARkAOjZuG7zBluVgAwAPbOdGowXPcgAXBCzh+dc3LVC26cml93z2HZqw/n64kISkAFYc7OH57LvgSOZP7mQZPHAi30PHEkSIWYZO56zfEDe8RwBeTm+vrjQtFgAsOb2Hzh6OrycMn9yIfsPHO1pROPt4Je+PlJ9Pc0ensvL7/5EXnDHR/Lyuz+R2cNzfQ/J1xcXnBVkANbcuB6dPK4W2vI7MQ+rr5fZw3PZ+1ufy8mnF8cxd2I+e3/rc0n6XanVs82FZgUZAHo2UTVSfb287cMPnw7Hp5x8uuVtH364pxEtcgQ2F5qADAA9e+4Pbhupvl5OzJ8cqb5eHIHNhabFAgB69rVvfnek+lbnCOzR2PFjdAIyALDhOAJ7Zez4sTpaLAAANik7fqyOgAwAPds25KfxsDqslB0/Vse3HgD07O+/9NqR6rBSdvxYHQEZAHr2u194cqQ643mAyTiy48fqCMgA0LNx/TX4y194xUj19XLqwrO5E/Np+f6FZ0LyM83sms7bb7kh01OTqSTTU5N5+y03uEDvHOxiAQA92z41uewpg33/Gvz9P/sTecNvPpRPf/Gp07WXv/CKvP9nf6LHUZ39wjPB75ns+DE6ARkAeva3fuTK3HfwsWXrfes7DC9nXFfc2Ty0WABAz/Qgj8aFZ1xoAjIA9Gy59oqz1bc6F55xoWmxAICeTVRlobVl630bx2OKHTXNhSYgA0DPlgvHZ6uvl3E+ptiFZ1xIWiwAoGfTQ3pnh9XXi2OK2aqsIANsAnfOHsn9n/lqFlrLRFVufdnzc9fMDX0PixXa8Zzlt3nb8Zx+A7LdItiqrCADbHB3zh7JfQcfO/3r+IXWct/Bx3Ln7JGeR8ZKHfzS10eqrxe7RbBVCcgAG9z//Zln7p97tjrjZ1x7kO0WwValxQJgg3t6SIYaVmf8XFTL//e6qOdNLOwWwVYlIANAzyaGBOSJ/nd5s1sEW5IWCwDo2cmnR6sDF5aADMCWcdklEyPVga1JQAZgy3h6yEVvw+rA1iQgA7BlzA/pWRhWXy/DTpQeg5OmYUsSkAGgZ2942bUj1YELyy4WANCzU6ceOg0RxoOADMCWcdklE/nWdxeWrfftrpkbBGIYE1osANgy2pCL8YbVga1JQAZgy/j2kIvxhtWBrUlABgCADgEZAAA6BGQAAOg4Z0CuqvdU1RNV9flO7Yqq+nhVPTK4vXxQ31ZV91bVkar646ra13nNjYP6o1X1zirbnwOwvob94PEDCehayQrye5O8akntjiQPttauS/Lg4H6SvC7Js1prNyS5Mck/qKodg8feleT2JNcN/iz9nABwQQ3bq8IeFkDXOQNya+1TSZ5aUn5NknsHH9+bZObU05NcVlUXJ5lM8t0kf1FVVyd5dmvtoba4l877Oq8BAICxsdoe5Oe11h5PksHtVYP6B5N8K8njSR5L8k9ba08lmU5yrPP6Y4MaAACMlbU+Se+lSRaSbE9yeZJ/V1X/Jsu3dw39jVZV3Z7Fdoxce61z6AFYG5Xlf/joQQa6VruC/LVB20QGt08M6v9lkv+3tXaytfZEkk8n2Z3FFeNrOq+/JsnxYZ+8tXZPa213a233lVdeucohAsCZ9CADK7HagPzhJLcNPr4tyYcGHz+W5G/XosuS3JTkC4M2jG9W1U2D3Sve1HkNwIZx5+yRvHDfR7Pjjo/khfs+mjtnj/Q9JEYwMWQDpWF1YGtayTZv9yd5KMnOqjpWVW9OcneSm6vqkSQ3D+4nyf+W5AeTfD7Jv0/yL1prfzh47C1J3p3k0SRfTPKxtfyHAFxod84eyX0HH8tCW1xvXGgt9x18TEjeQE79t1tpHdiaztmD3Fq7dchDr1zmuX+Zxa3elvs8h5K8aKTRAYyR+w4+NrR+18wN6zwaVmOiatkwbAUZ6HKSHgBbhhVkYCUEZAC2jOmpyZHqwNYkIAOwZezdszOT2ybOqE1um8jePTt7GhEwjtZ6H2QAGFszuxbPqNp/4GiOn5jP9qnJ7N2z83QdIBGQAdhiZnZNC8TAWWmxAACADgEZAAA6BGQAAOgQkAEAoENABgCADgEZAAA6BGQAAOgQkAEAoENABgCADgEZAAA6BGQAAOgQkAEAoENABgCADgEZAAA6BGQA1tzU5LaR6gDjREAGYM297dXXZ9tFdUZt20WVt736+p5GBLByF/c9AAA2n5ld00mS/QeO5viJ+WyfmszePTtP1wHGmYAMjKU7Z4/k/s98NQutZaIqt77s+blr5oa+h8UIZnZNC8TAhiQgA2Pnztkjue/gY6fvL7R2+r6QDMCFpgcZGDvv/8xjI9UBYC0JyMDYaW20OgCsJQEZAAA6BGQAAOgQkAEAoENABgCADgEZAAA6BGQAAOgQkAEAoENABgCADgEZAAA6BGQAAOgQkAEAoENABgCADgEZYIO7ZKJGqgNwdgIywAb36699cZZG4RrUARjdxX0PAIDzM7NrOkmy/8DRHD8xn+1Tk9m7Z+fpOgCjEZABNoGZXdMCMcAa0WIBAAAdAjIAAHQIyAAA0CEgAwBAh4AMAAAdAjIAAHQIyAAA0GEfZNji3vCbD+XTX3zq9P2Xv/CKvP9nf6LHEQFAv6wgwxa2NBwnyae/+FTe8JsP9TQiAOifgAxb2NJwfK46AGwF5wzIVfWeqnqiqj7fqV1RVR+vqkcGt5d3Hvuxqnqoqh6uqiNV9QOD+o2D+49W1Turqi7MPwkAAFZvJSvI703yqiW1O5I82Fq7LsmDg/upqouT3JfkH7bWrk/yiiQnB695V5Lbk1w3+LP0cwIAQO/OGZBba59KsvT3ra9Jcu/g43uTzAw+/s+S/GFr7XOD1/55a22hqq5O8uzW2kOttZbkfZ3XAADA2FhtD/LzWmuPJ8ng9qpB/YeTtKo6UFW/X1W/PKhPJznWef2xQW1ZVXV7VR2qqkNPPvnkKocIAACjW+tt3i5O8teT/LUk307yYFV9NslfLPPcNuyTtNbuSXJPkuzevXvo8wAAYK2tdgX5a4O2iQxunxjUjyX5t621P2utfTvJR5P8+KB+Tef11yQ5vsq/GwAALpjVBuQPJ7lt8PFtST40+PhAkh+rqksHF+z9zSR/NGjD+GZV3TTYveJNndcAAMDYWMk2b/cneSjJzqo6VlVvTnJ3kpur6pEkNw/up7X29STvSPLvk/xBkt9vrX1k8KnekuTdSR5N8sUkH1vbfwoAAJy/c/Ygt9ZuHfLQK4c8/74sbvW2tH4oyYtGGh0AAKwzJ+kBAECHgAywQtddddlIdQA2JgEZYIU+/ouveEYYvu6qy/LxX3xFPwMC4IJY632QATY1YRhg87OCDAAAHQIyAAB0CMgAANAhIAMAQIeADAAAHQIyAAB0CMgAANAhIAMAQIeADAAAHQIyAAB0CMgAANAhIAMAQIeADAAAHRf3PQDYKm5+xyfzyBPfOn3/uqsuy8d/8RX9DQgAWJYVZFgHS8NxkjzyxLdy8zs+2c+AAIChBGRYB0vD8bnqAEB/BGQAAOgQkAEAoENABgCADgEZAAA6BGQAAOgQkIGxc8lEjVQHgLUkIANj59df++IsjcI1qAPAheYkPWDszOyaTpLsP3A0x0/MZ/vUZPbu2Xm6DgAXkoAMjKWZXdMCMQC90GIBAAAdAjIAAHQIyLCFDdsUwmYRAGxlAjJsYQtttDoAbAUCMgAAdAjIAADQISDDOnAyHABsHAIyrIPvDmnqHVYHAPojIAMAQIeADAAAHQIyAAB0CMgAANAhIAMAQIeADOtg25DvtGF1AKA/fjzDOnh6yG5uw+oAQH8EZFgHw7Y7tg0yAIwfARkAADoEZAAA6Li47wHAWrv5HZ/MI0986/T96666LB//xVf0NyAAYEOxgsymsjQcJ8kjT3wrN7/jk/0MCADYcARkNpWl4fhcdQCApQRkAADoOGdArqr3VNUTVfX5Tu2Kqvp4VT0yuL18yWuuraq/rKpf6tRurKojVfVoVb2zqmpt/ykAAHD+VrKC/N4kr1pSuyPJg62165I8OLjf9RtJPrak9q4ktye5bvBn6ecE1tmlQ47yG1YHgK3gnD8FW2ufSvLUkvJrktw7+PjeJDOnHqiqmSRfSvJwp3Z1kme31h5qrbUk7+u+BujHP77lx3LRkt/lXFSLdQDYqla7TPS81trjSTK4vSpJquqyJG9N8qtLnj+d5Fjn/rFBDejRzK7pvONnXpLpqclUkumpybzjZ16SmV2+PQHYutZ6H+RfTfIbrbW/XNJivFy/8dBDdqvq9iy2Y+Taa69d0wECZ5rZNS0QA0DHagPy16rq6tba44P2iScG9ZcleW1V/XqSqSRPV9VfJfntJNd0Xn9NkuPDPnlr7Z4k9yTJ7t27hwZpAABYa6ttsfhwktsGH9+W5ENJ0lr7G621Ha21HUn+5yT/uLX2zwdtGN+sqpsGu1e86dRrAABgnKxkm7f7kzyUZGdVHauqNye5O8nNVfVIkpsH98/lLUneneTRJF/MM3e5gPM2PTU5Uh0AYKlztli01m4d8tArz/G6ty25fyjJi1Y8MliFv/UjV+a+g48tWwcAWAmbnbKpfOQPHx+pDgCwlIDMpvL1b58cqQ4AsJSADAAAHQIyAAB0CMgAANAhIAMAQIeADAAAHQIyAAB0CMgAANAhIAMAQIeAzKYyNbltpDoAwFICMpvK008/PVIdAGApAZlN5S++szBSHQBgKQEZAAA6BGQAAOgQkAEAoENABgCADgEZAAA6BGQAAOi4uO8BsLHNHp7L/gNHc/zEfLZPTWbvnp2Z2TXd23guv3Rbvv7tk8vWAQBWwgoyqzZ7eC77HjiSuRPzaUnmTsxn3wNHMnt4rrcx/cpPXZ9tE3VGbdtE5Vd+6vqeRgQAbDQCMqu2/8DRzJ888wCO+ZML2X/gaE8jSmZ2TWf/a1+c6anJVJLpqcnsf+2Le13VTpLLLpkYqQ4A9EdAZtWOn5gfqb5eDn3lqfzpN/4qLcmffuOvcugrT/U6niT5tb93QyYuOnNle+Kiyq/9vRt6GhEAMIyAzKptn5ocqb4e7pw9kvsOPpaF1pIkC63lvoOP5c7ZI72NKVlc2f5nrztzZfufva7/lW0A4JlcpMeq7d2zM3s/+LmcXGina9smKnv37OxtTO8/+NjQ+l0z/a7WzuyaFogBYAOwgsz5aee4v86G/fU9DwsA2EAEZFZt/4GjOfn0mdHz5NOt14v0AADOl4DMqo3jRXqXLNni7Vx1AIClBGRWbRwv0ts2sfyX9LA6AMBSUgOrtnfPzmUP5ejzIr1vfXdhpDoAwFICMudnzC7SAwA4XwIyq+YiPQBgMxKQWbVxvEivhlyLN6wOALCUgMyqjeNFem1Ii8ewOgDAUgIyq7Z3z85Mbps4oza5baLXi/QAAM6XgMyqzeyazk/fOJ2JQf/CRFV++kbHKQMAG5uAzKrNHp7Lb392LguD/oWF1vLbn53L7OG5nkcGALB6AjKrtv/A0cyfPHN/4fmTC3axAAA2NAGZVRvHXSwAAM6XgMyqTV26baQ6AMBGICCzarZUAwA2IwGZVfvG/MmR6gAAG4GAzKqN40EhAADnS0Bm1RwUAgBsRhf3PQA2rlMHguw/cDTHT8xn+9Rk9u7Z6aAQAGBDE5A5LzO7nJwHAGwuWizYVGrEOgDAUgIym8qwHebsPAcArJSADAAAHQIym8rU5JDT/YbUAQCWEpDZVN726uuz7aIzO463XVR526uv72lEAMBGYxcLNhVbzwEA5+ucAbmq3pPkJ5M80Vp70aB2RZL/J8mOJF9O8jOtta9X1c1J7k5ySZLvJtnbWvvE4DU3JnlvkskkH03yP7TWXDvFmrP1HABwPlbSYvHeJK9aUrsjyYOtteuSPDi4nyR/luSnWms3JLktyf/Vec27ktye5LrBn6Wfkw1o9vBcXn73J/KCOz6Sl9/9icwenut7SAAA5+WcK8ittU9V1Y4l5dckecXg43uTfDLJW1trhzvPeTjJD1TVs5JckeTZrbWHkqSq3pdkJsnHzmPsW8rs4bmxaxuYPTyXfQ8cyfzJhSTJ3In57HvgSJL0PjYAgNVa7UV6z2utPZ4kg9urlnnOTyc53Fr7TpLpJMc6jx0b1JZVVbdX1aGqOvTkk0+ucoibx6kgOndiPi3fD6J9r9buP3D0dDg+Zf7kQvYfONrTiAAAzt8F2cWiqq5P8k+S/INTpWWeNrT/uLV2T2ttd2tt95VXXnkhhrihjGsQnTsxP1IdAGAjWG1A/lpVXZ0kg9snTj1QVdck+Z0kb2qtfXFQPpbkms7rr0lyfJV/95ZzfEjgHFZfLzXk/OZhdQCAjWC1AfnDWbwIL4PbDyVJVU0l+UiSfa21T5968qAN45tVdVNVVZI3nXoN57Z9anKk+noZtgeJvUkAgI3snAG5qu5P8lCSnVV1rKrenMWt3G6uqkeSnNraLUn+uyT/cZL/sar+YPDnVH/yW5K8O8mjSb4YF+it2N49O7NtYsnhFxOVvXt29jQiAIDNayW7WNw65KFXLvPcu5LcNeTzHEryopFGx/ctXZW1SgsAcEE4anoD2H/gaE4+fWYiPvl06/0iPQCAzUhA3gDG9SI9AIDNSEDeAMb1Ir3LL902Uh0AYCMQkDeAvXt2ZnLbxBm1yW0TvV+k93d/7OqR6gAAG8E5L9Kjf6eObR63o6Z/9wvLn3I4rA4AsBEIyBvEzK7p3gPxUnqjAYDNSIsFq3bpJRMj1QEANgIBmVX71ncXRqoDAGwEAjIAAHQIyAAA0CEgAwBAh4AMAAAdAjIAAHQIyKza5Lblv3yG1QEANgJJhlX76RuvGakOALARCMismqOmAYDNyFHTG8Ts4bnsP3A0x0/MZ/vUZPbu2dn70dOOmgYANiMryBvA7OG57HvgSOZOzKclmTsxn30PHMns4blex7V9anKkOgDARiAgbwD7DxzN/Mkzj2+eP7mQ/QeO9jSiRXv37MzktokzapPbJrJ3z86eRgQAcP60WGwA49rKcKrFY9xaPwAAzoeAvAFsn5rM3DJheBxaGWZ2TQvEAMCmosViA9DKAACwfqwgbwBaGQAA1o+AvEFoZQAAWB9aLAAAoENABgCADgEZAAA6BGQAAOhwkd4GMXt4zi4WAADrQEDeAGYPz2XfA0dOHzc9d2I++x44kiRCMgDAGtNisQHsP3D0dDg+Zf7kQvYfONrTiAAANi8BeQM4vswx02erAwCwegLyBrB9anKkOgAAqycgbwB79+zM5LaJM2qT2yayd8/OnkYEALB5uUhvAzh1IZ5dLAAALjwBeYOY2TUtEAMArAMtFgAA0CEgAwBAh4AMAAAdAjIAAHQIyAAA0CEgAwBAh4AMAAAdAjIAAHQIyAAA0OEkvQ1i9vCco6YBANaBgLzEOAbR2cNz2ffAkcyfXEiSzJ2Yz74HjiRJ72MDANhstFh0nAqicyfm0/L9IDp7eK7Xce0/cPR0OD5l/uRC9h842tOIAAA2LwG5Y1yD6PET8yPVAQBYPQG5Y1yD6PapyZHqAACsnoDcMa5BdMdzlv/7h9UBAFi9cwbkqnpPVT1RVZ/v1K6oqo9X1SOD28s7j+2rqker6mhV7enUb6yqI4PH3llVtfb/nPOzd8/OTG6bOKM2uW0ie/fs7GlEiw5+6esj1QEAWL2VrCC/N8mrltTuSPJga+26JA8O7qeqfjTJ65NcP3jN/15VpxLnu5LcnuS6wZ+ln7N3M7um8/Zbbsj01GQqyfTUZN5+yw297xSx0NpIdQAAVu+c27y11j5VVTuWlF+T5BWDj+9N8skkbx3U/2Vr7TtJ/qSqHk3y0qr6cpJnt9YeSpKqel+SmSQfO+9/wRqb2TXdeyBeaqJq2TA8MX6L8AAAG95qe5Cf11p7PEkGt1cN6tNJvtp53rFBbXrw8dI6K3Dry54/Uh0AgNVb64v0llvSbGepL/9Jqm6vqkNVdejJJ59cs8FtVHfN3JA33nTt6RXjiaq88aZrc9fMDT2PDABg81ntSXpfq6qrW2uPV9XVSZ4Y1I8l6S5rXpPk+KB+zTL1ZbXW7klyT5Ls3r1bo20WQ7JADABw4a12BfnDSW4bfHxbkg916q+vqmdV1QuyeDHe7w3aML5ZVTcNdq94U+c1AAAwNs65glxV92fxgrznVtWxJL+S5O4kH6iqNyd5LMnrkqS19nBVfSDJHyX5XpKfa62dOpruLVncEWMyixfnjd0FegAAUG3MtwrbvXt3O3ToUN/DAABgk6mqz7bWdi+tO0kPAAA6BGQAAOgQkAEAoENABgCADgEZAAA6BGQAAOgQkAEAoENABgCADgEZAAA6BGQAAOgQkAEAoENABgCADgEZAAA6BGQAAOgQkAEAoENABgCADgEZAAA6BGQAAOgQkAEAoENABgCADgEZAAA6Lu57AONm9vBc9h84muMn5rN9ajJ79+zMzK7pvocFAMA6EZA7Zg/PZd8DRzJ/ciFJMndiPvseOJIkQjIAwBahxaJj/4Gjp8PxKfMnF7L/wNGeRgQAwHoTkDuOn5gfqQ4AwOYjIHdsn5ocqQ4AwOYjIHfs3bMzk9smzqhNbpvI3j07exoRAADrzUV6HacuxLOLBQDA1iUgLzGza1ogBgDYwrRYAABAh4AMAAAdAjIAAHQIyAAA0CEgAwBAh4AMAAAdAjIAAHQIyAAA0CEgAwBAh4AMAAAdAjIAAHQIyAAA0CEgAwBAR7XW+h7DWVXVk0m+0vc4xshzk/xZ34PYIMzVaMzXaMzXypmr0Ziv0ZivlTNXz/QftdauXFoc+4DMmarqUGttd9/j2AjM1WjM12jM18qZq9GYr9GYr5UzVyunxQIAADoEZAAA6BCQN557+h7ABmKuRmO+RmO+Vs5cjcZ8jcZ8rZy5WiE9yAAA0GEFGQAAOgRkAADoEJDHWFVNVdUHq+oLVfXHVfUTVfWSqjpYVX9QVYeq6qV9j3McVNXOwZyc+vMXVfXzVXVFVX28qh4Z3F7e91jHwVnma//g6+0Pq+p3qmqq77H2bdhcdR7/papqVfXcHoc5Ns42X1X131fV0ap6uKp+veehjoWzfC96r19GVf3C4Ovn81V1f1X9gPf54YbMl/f5FdCDPMaq6t4k/6619u6quiTJpUk+kOQ3Wmsfq6r/Iskvt9Ze0ec4x01VTSSZS/KyJD+X5KnW2t1VdUeSy1trb+11gGNmyXztTPKJ1tr3quqfJIn5+r7uXLXWvlJVz0/y7iQ/kuTG1poN+DuWfG39UJJ/lOTvtta+U1VXtdae6HWAY2bJfP1mvNefoaqmk/x/SX60tTZfVR9I8tEkPxrv889wlvk6Hu/z52QFeUxV1bOT/KdJ/s8kaa19t7V2IklL8uzB0/6DLH6hc6ZXJvlia+0rSV6T5N5B/d4kM30Naoydnq/W2r9urX1vUD+Y5JoexzWOul9bSfIbSX45i9+XPFN3vt6S5O7W2neSRDheVne+vNcv7+Ikk1V1cRYXjY7H+/zZPGO+vM+vjIA8vn4oyZNJ/kVVHa6qd1fVZUl+Psn+qvpqkn+aZF+PYxxXr09y/+Dj57XWHk+Swe1VvY1qfHXnq+u/TvKxdR7LuDs9V1X16iRzrbXP9Tuksdb92vrhJH+jqj5TVf+2qv5aj+MaV935+vl4rz9Da20ui3PxWJLHk3yjtfav431+WWeZry7v80MIyOPr4iQ/nuRdrbVdSb6V5I4srsL8Qmvt+Ul+IYMVZhYNWlFeneS3+h7LRjBsvqrqHyX5XpL39zGucdSdq6q6NIvtAv9Tv6MaX8t8bV2c5PIkNyXZm+QDVVU9DW/sLDNf3uuXGPQWvybJC5JsT3JZVb2x31GNr3PNl/f5sxOQx9exJMdaa58Z3P9gFgPzbUkeGNR+K4kLN870nyf5/dba1wb3v1ZVVyfJ4Navdc+0dL5SVbcl+ckkb2guUujqztULs/hD53NV9eUs/ory96vqP+xxfONm6dfWsSQPtEW/l+TpJC5s/L6l8+W9/pn+TpI/aa092Vo7mcX5+U/ifX6YYfPlfX4FBOQx1Vr70yRfraqdg9Irk/xRFvut/uag9reTPNLD8MbZrTmzXeDDWfxBk8Hth9Z9ROPtjPmqqlcleWuSV7fWvt3bqMbT6blqrR1prV3VWtvRWtuRxfD344PvWxYt/V6czeJ7Vqrqh5NcksRFjd+3dL681z/TY0luqqpLB799eGWSP473+WGWnS/v8ytjF4sxVlUvyeIV8pck+VKS/yrJ9Un+lyz+uvKvkvy3rbXP9jXGcTL4tfdXk/xQa+0bg9pzsrjzx7VZfLN4XWvtqf5GOT6GzNejSZ6V5M8HTzvYWvuHPQ1xbCw3V0se/3KS3XaxWDTka+uSJO9J8pIk303yS621T/Q2yDEyZL7+erzXP0NV/WqSv5/F1oDDSf6bJD8Y7/PLGjJfD8f7/DkJyAAA0KHFAgAAOgRkAADoEJABAKBDQAYAgA4BGQAAOgRkAADoEJABAKDj/wceBaX6Xh706QAAAABJRU5ErkJggg==\n", - "text/plain": [ - "
" + }, + { + "cell_type": "markdown", + "metadata": { + "id": "RqV-Mw1SIUW8" + }, + "source": [ + "We can also make box plots of subsets of our dataset, for example, grouped by player role." ] - }, - "metadata": { - "needs_background": "light" - }, - "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": 26, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[ 1., nan],\n", - " [nan, nan]])" + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 806 + }, + "id": "TFRfrvyKIUW8", + "outputId": "3c8c28e4-1788-4df4-9468-834e2e51e6e4" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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7t27nQ6wkvT9999Lki5evKjdu3fnCqjuwN/fP9/z5vUlhCR7R3POynludbdu3dS9e/c8p6lXr16+ln2z8npP7dq1U9myZbVgwQK1bNlSCxYsULly5XT//fff1DIDAwMdpm3evLkaNmyo119/XdOnT7/h+m8kOztbERER9v4Hrla5cmWnlwkAKDoI3QCAfMvKypIkXbhwQZJUtWpVrVy5Un///bfD2e4dO3bYx+f4448/NGrUKD333HPatGmTnn/+eW3ZskXFixd3WEd2drb+/PNP+9ltSdq1a5ckXbPDsdKlSysgIEA7d+7MNW7Hjh3y8PCwByVnQlhO/Xv27Mk1Lq9h11vGtWq7/fbb7We5S5YsqXPnzuWa7lpnZXfv3p1r2K5duxQQEGA/SxsUFCSr1XrDQFu1alVt3bpVNpvN4XeUV93Xc/WXKXv27FF2drZD23l6eurJJ5/U3Llz9fbbbys+Pl4vvPBCvh/1Va9ePXXr1k3vv/++Bg4cqCpVqqhq1arKzs7W7t27HTrKO3HihM6dO+fw2bxa9erVtXnzZt133335Cu0AgKKNe7oBAPmSmZmpH374QT4+PvYQ06FDB1mtVs2cOdNh2qlTp8pisah9+/b2eZ999llVqFBB77zzjubOnasTJ06of//+ea7ryuXZbDbNnDlT3t7euu+++/Kc3tPTU23bttU333zjcBnziRMntHDhQt17770KDg6WJHvAzSvcXq1ChQqqW7eu5s+fb/+iQbrca/iWLVtuOL90+b7yBg0aaN68eQ7r3Lp1q3744Qd16NDBPqx69eo6f/68/vjjD/uwY8eOXbOn7XXr1jlc4n7o0CF98803atu2rTw9PeXp6amHH35YX331lbZu3Zpr/lOnTtn/36FDBx09elSLFi2yD0tLS7vmZenX8u677zq8njFjhiTZPws5nn76af3111/617/+latX/PwYPHiwMjMz7Wenc36v06ZNc5guZ3zHjh2vuaxHH31UR44c0YcffphrXHp6ulJTU/9RrQAA98aZbgDATVm2bJn9jPXJkye1cOFC7d69W0OGDLEH2AcffFCtW7fWG2+8of3796t+/fr64Ycf9M033+jVV19V9erVJUmjR4/Wpk2b9OOPPyooKEj16tXTW2+9pTfffFNdu3Z1CJ5+fn5avny5unfvrqZNm2rZsmX67rvv9Prrr1/zHtucdaxYsUL33nuvevfuLS8vL73//vvKyMjQhAkT7NM1aNBAnp6eevvtt3X+/Hn5+vqqTZs2KlOmTJ7LHTt2rLp06aLmzZvrueee019//aWZM2eqbt26DkH8eiZOnKj27dvrnnvuUc+ePe2PDCtevLhGjBhhn+7xxx/Xa6+9poceekj9+vVTWlqa3nvvPdWsWTPP+8fr1q2rdu3aOTwyTJJGjhxpn2b8+PFKSEhQ06ZN9cILL6h27do6e/asfvvtN61cuVJnz56VJL3wwguaOXOmnnnmGW3cuFHly5fXJ598ooCAgJt6jzn27dunzp0764EHHtC6deu0YMECPfnkk7mezX3nnXeqbt269k7LGjZs6NR6rla7dm116NBBs2fP1rBhw1S/fn11795dH3zwgc6dO6fIyEj9+uuvmjdvnqKjo9W6detrLuvpp5/WF198oV69eikhIUHNmzeX1WrVjh079MUXX+j777936O8AAAAHZnadDgBwfXk9MszPz8/WoEED23vvvWfLzs52mP7vv/+29e/f31ahQgWbt7e3rUaNGraJEyfap9u4caPNy8vL4TFgNpvNlpWVZbvrrrtsFSpUsP311182m+3yI7MCAwNte/futbVt29YWEBBgK1u2rG348OE2q9XqML+uemSYzWaz/fbbb7Z27drZihUrZgsICLC1bt3atnbt2lzv8cMPP7RVq1bN5unpeVOPw/rss89s4eHhNl9fX1vdunVtixcvtj388MO28PBw+zQ5jwybOHFinstYuXKlrXnz5jZ/f39bcHCw7cEHH7Rt27Yt13Q//PCDrW7dujYfHx9brVq1bAsWLLjmI8P69OljW7Bgga1GjRo2X19f25133pnnezlx4oStT58+tsqVK9u8vb1t5cqVs9133322Dz74wGG6AwcO2Dp37mwLCAiw3X777bZXXnnFtnz5cqceGbZt2zZb165dbUFBQbaSJUvaXn75ZVt6enqe80yYMMEmyTZ27NjrLvtKkZGRtjp16uQ5LudRbjmfi8zMTNvIkSNtoaGhNm9vb1vlypVtQ4cOtV28eDHXMq98ZJjNZrNdunTJ9vbbb9vq1Klj8/X1tZUsWdLWqFEj28iRI23nz5+/6XoBAEWPxWb73/M5AABwMc8++6wWLVp002eQzdSgQQOVLl1aK1asMGX9FotFffr0yXVpf2HyzjvvqH///tq/f7+qVKlidjkAANwS3NMNAIATMjMz7R3I5Vi9erU2b96sVq1amVOUG7DZbProo48UGRlJ4AYAuBXu6QYAwAlHjhzR/fffr27duqlChQrasWOHZs2apXLlyqlXr15ml1fopKamavHixUpISNCWLVv0zTffmF0SAAC3FKEbAAAnlCxZUo0aNdLs2bN16tQpBQYGqmPHjho/frxKlSpldnmFzqlTp/Tkk0+qRIkSev3119W5c2ezSwIA4Jbinm4AAAAAAAzCPd0AAAAAABiE0A0AAAAAgEEI3QAAAAAAGITQDQAAAACAQQjdAAAAAAAYhNANAAAAAIBBCN0AAAAAABiE0A0AAAAAgEEI3QAAAAAAGITQDQAAAACAQQjdAAAAAAAYhNANAAAAAIBBCN0AAAAAABiE0A0AgJt69tlnFRISku95ixUrdmsLAgCgCCJ0AwBgsrlz58pisWjDhg15jm/VqpXq1q1bwFXdnLS0NI0YMUKrV682uxQAAFySl9kFAAAAY3z44YfKzs42dB1paWkaOXKkpMtfDgAAAEeEbgAA3JS3t7fZJQAAUORxeTkAAIXQggUL1KhRI/n7++u2227T448/rkOHDjlMk9c93WfOnNHTTz+t4OBglShRQt27d9fmzZtlsVg0d+7cXOs5cuSIoqOjVaxYMZUuXVoDBw6U1WqVJO3fv1+lS5eWJI0cOVIWi0UWi0UjRoww4i0DAFAocaYbAAAXcf78eZ0+fTrX8MzMTIfXY8aM0bBhw/Too4/q+eef16lTpzRjxgy1bNlSv//+u0qUKJHn8rOzs/Xggw/q119/1UsvvaTw8HB988036t69e57TW61WtWvXTk2bNtWkSZO0cuVKTZ48WdWrV9dLL72k0qVL67333tNLL72khx56SDExMZKkevXq/bNfBAAAboTQDQCAi7j//vuvOa5OnTqSpAMHDmj48OEaPXq0Xn/9dfv4mJgY3XnnnfrPf/7jMPxK8fHxWrdunaZNm6ZXXnlFkvTSSy8pKioqz+kvXryoxx57TMOGDZMk9erVSw0bNtRHH32kl156SYGBgeratateeukl1atXT926dcvX+wYAwJ0RugEAcBHvvvuuatasmWt4bGys/ZLuuLg4ZWdn69FHH3U4K16uXDnVqFFDCQkJ1wzdy5cvl7e3t1544QX7MA8PD/Xp00erVq3Kc55evXo5vG7RooU++eQTp98bAABFFaEbAAAX0aRJEzVu3DjX8JIlS9oD9u7du2Wz2VSjRo08l3G9ztMOHDig8uXLKyAgwGF4WFhYntP7+fnZ79m+spa//vrruu8DAAD8f4RuAAAKkezsbFksFi1btkyenp65xhcrVuyWrSuv5QMAAOcQugEAKESqV68um82m0NDQPC9Fv56qVasqISFBaWlpDme79+zZk+96LBZLvucFAKAo4JFhAAAUIjExMfL09NTIkSNls9kcxtlsNp05c+aa87Zr106ZmZn68MMP7cOys7P17rvv5ruenPB+7ty5fC8DAAB3xpluAAAKkerVq2v06NEaOnSo9u/fr+joaAUFBWnfvn36+uuv9eKLL2rgwIF5zhsdHa0mTZooNjZWe/bsUXh4uBYvXqyzZ89Kyt9Za39/f9WuXVuff/65atasqdtuu01169ZV3bp1/9H7BADAXXCmGwCAQmbIkCH66quv5OHhoZEjR2rgwIFavHix2rZtq86dO19zPk9PT3333Xd67LHHNG/ePL3xxhuqUKGC/Uy3n59fvuqZPXu2KlasqP79++uJJ57QokWL8rUcAADckcV29bVpAACgSImPj9dDDz2kn376Sc2bNze7HAAA3AqhGwCAIiQ9PV3+/v7211arVW3bttWGDRt0/Phxh3EAAOCf455uAACKkL59+yo9PV333HOPMjIyFBcXp7Vr12rs2LEEbgAADMCZbgAAipCFCxdq8uTJ2rNnjy5evKiwsDC99NJLevnll80uDQAAt0ToBgAAAADAIPReDgAAAACAQQjdAAAAAAAYxOU6UsvOztbRo0cVFBQki8VidjkAAAAAAORis9n0999/q0KFCvLwuPb5bJcL3UePHlXlypXNLgMAAAAAgBs6dOiQKlWqdM3xLhe6g4KCJF0uPDg42ORqbo3MzEz98MMPatu2rby9vc0uB3mgjVwb7eP6aCPXRxu5NtrH9dFGro82cn3u1kYpKSmqXLmyPcNei8uF7pxLyoODg90qdAcEBCg4ONgtPlzuiDZybbSP66ONXB9t5NpoH9dHG7k+2sj1uWsb3ei2aDpSAwAAAADAIIRuAAAAAAAMQugGAAAAAMAghG4AAAAAAAxC6AYAAAAAwCCEbgAAAAAADELoBgAAAADAIIRuAAAAAAAMQugGAAAAAMAghG4AAAAA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JQEAAAA3zanQbbVaNWzYMIWGhsrf31/Vq1fXv//9b9lsNvs0NptNb731lsqXLy9/f3/df//92r179y0vHID7i4uLU1hYmKKiojRlyhRFRUUpLCxMcXFxZpcGAAAA3BSnQvfbb7+t9957TzNnztT27dv19ttva8KECZoxY4Z9mgkTJmj69OmaNWuWfvnlFwUGBqpdu3a6ePHiLS8egPuKi4tT165dFRERoaSkJH366adKSkpSRESEunbtSvAGAABAoeBU6F67dq26dOmijh07KiQkRF27dlXbtm3166+/Srp8lnvatGl688031aVLF9WrV0/z58/X0aNHFR8fb0T9ANyQ1WpVbGysOnXqpPj4eDVt2lT+/v5q2rSp4uPj1alTJw0cOJBLzQEAAODyvJyZuFmzZvrggw+0a9cu1axZU5s3b9ZPP/2kKVOmSJL27dun48eP6/7777fPU7x4cTVt2lTr1q3T448/nmuZGRkZysjIsL9OSUmRJGVmZiozMzNfb8rV5LwPd3k/7og2ci2JiYnav3+/PvnkE1mt1lztM2jQILVs2VIJCQmKjIw0s1T8D9tQwUpLS9POnTudmudCeobWbtmroBLJKubv69S8tWrVUkBAgFPzwDlsQ66PNipY7Ofck7ttRzf7PpwK3UOGDFFKSorCw8Pl6ekpq9WqMWPG6KmnnpIkHT9+XJJUtmxZh/nKli1rH3e1cePGaeTIkbmG//DDD273wV+xYoXZJeAGaCPXsGbNGknS4cOHdebMGfvwnPZJT0+XJC1btkypqakFXyCuiW2oYOzdu1exsbH5mndCPuaZPHmyqlevnq/1wTlsQ66PNioY7Ofcm7tsR2lpaTc1nVOh+4svvtD//d//aeHChapTp442bdqkV199VRUqVFD37t3zVejQoUM1YMAA++uUlBRVrlxZbdu2VXBwcL6W6WoyMzO1YsUKRUVFydvb2+xykAfayLUEBgZqypQpqlSpkpo2bZqrfZKTkyVJ7du350y3i2AbKlhpaWm69957nZpn17HzGvT1Nk18qLZqli/u1LycATIe25Dro40KFvs59+Ru21HOVdo34lToHjRokIYMGWK/TDwiIkIHDhzQuHHj1L17d5UrV06SdOLECZUvX94+34kTJ9SgQYM8l+nr6ytf39yXf3h7e7tFQ1zJHd+Tu6GNXEPr1q0VEhKiCRMm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Cy8UqUtegPwoVqyYNm3alOuMz549e9SgQQN69XUBwcHB2rRpEwejLmrjxo3q3r27tm/frqsPx7gVzTVwK5rri4mJ0eOPP65HH33U7FKQh1deeUXvv/++WrdurbJly+a6+nfOnDkmVVaw6L38FrrycuS3335bgwcP1tixYxUREWG/DyhHcHBwQZeH/8nZuENCQjRo0CAuRXJxR48e1U8//ZTnt6P0Xm6uUqVK6ZtvvlFsbKzD8G+++UalSpUyqSpc6ZFHHtEPP/ygXr16mV0K8tCjRw/VrFlTH330UZ4HozBfTl88V9u8ebP9ud0oeIsXL7b/v2PHjho0aJC2bduW5zF3586dC7o8XOGTTz5RXFycOnToYHYppuJM9y3k4eHhsGPOa0dNR2quo02bNoqLi8vVCUpKSoqio6O1atUqcwqD3dy5c/Wvf/1LPj4+KlWqVK77Uf/8808Tq8PcuXP1/PPPq3379mratKmky736Ll++XB9++KGeffZZcwssoqZPn27/f2pqqqZMmaKOHTvmeTDKF1fmCgoK0u+//879wS4op9PI8+fP5+qcy2q16sKFC+rVq5feffddE6ssujw8PG5qOo65zRcaGqply5YV+VtuCd23UGJi4k1PGxkZaWAluBnXumTs5MmTqlixojIzM02qDDkqV66sXr16aejQoTf9BxYF65dfftH06dMdOhjq16+fPYSj4IWGht7UdHxxZb7o6Gg9/fTTevjhh80uBVeZN2+ebDabevTooWnTpql48eL2cTm3ouV0IAng2ubNm6fly5fr448/drils6ghdKPI+eOPPyRJDRo00KpVqxwuD7NarVq+fLnef/997d+/36QKkaNUqVL69ddfVb16dbNLAYBb7vTp0+revbuaNGmiunXrclmsC0pMTLQ/kQaA89LT0/XQQw/p559/VkhISK79XFF5igZ7EIPMmTNHxYoV0yOPPOIw/Msvv1RaWpq6d+9uUmVo0KCBLBaLLBaL2rRpk2u8v7+/ZsyYYUJluFrPnj315ZdfasiQIWaXgv9x5lF69F0BXN+6dev0888/a9myZbnGcVmsawgKCtL27dsVEREh6XKfFXPmzFHt2rU1YsQI+fj4mFwh+vXrp7CwsFy3y8ycOVN79uzRtGnTzCkMkqTu3btr48aN6tatW5Huu4Iz3QapWbOmvae+KyUmJurFF1/Uzp07TaoMBw4ckM1mU7Vq1fTrr786PKfbx8dHZcqUkaenp4kVIofValWnTp2Unp6e5/2oU6ZMMamyouvqvivyQt8VruPhhx9WkyZNcj0ybMKECVq/fr2+/PJLkyqDdLlDz06dOmnYsGEqW7as2eUgD3fddZeGDBmihx9+WH/++adq166tmJgYrV+/Xh07diTQuYCKFStq8eLFatSokcPw3377TZ07d9bhw4dNqgzS5Ue6ff/990X+iU6c6TbIwYMH87yvrmrVqjp48KAJFSFH1apVJSlXT9hwPePGjdP333+vWrVqSVKujtRQ8BISEswuAU5Ys2aNRowYkWt4+/btNXny5IIvCA7OnDmj/v37E7hd2K5du9SgQQNJl69WjIyM1MKFC/Xzzz/r8ccfJ3S7gDNnzjjcc58jODhYp0+fNqEiXKly5cpc+SZCt2HKlCmjP/74QyEhIQ7DN2/ezKN0TLR48WK1b99e3t7eDo+byAv30plv8uTJ+vjjj+kF24XQCWThcuHChTwvf/X29nbqVgEYIyYmRgkJCfRb4cJsNpv9S/qVK1eqU6dOki4HCQKdawgLC9Py5cv18ssvOwxftmyZqlWrZlJVyDF58mQNHjxYs2bNypWLihJCt0GeeOIJ9evXT0FBQWrZsqWky5eWv/LKK3r88cdNrq7oio6O1vHjx1WmTBlFR0dfczoujXUNvr6+at68udll4DqSkpL0/vvv688//9SXX36pihUr6pNPPlFoaGiRv5TMFUREROjzzz/XW2+95TD8s88+U+3atU2qCjlq1qypoUOH6qeffuKRbi6qcePGGj16tO6//34lJibqvffekyTt27ePKxRcxIABA/Tyyy/r1KlT9r56fvzxR02ePJkrEVxAt27dlJaWpurVqysgICDXfu7s2bMmVVawuKfbIJcuXdLTTz+tL7/80t7jZXZ2tp555hm999578vX1NblCwPWNGzdOx44dc3juMFzHV199paefflpPPfWUPvnkE23btk3VqlXTzJkztXTpUi1dutTsEou8b7/9VjExMXryyScdDkY//fRTffnll9f98hHGu97j3Xikm2vYvHmzunXrpoMHD2rAgAEaPny4JKlv3746c+aMFi5caHKFkKT33ntPY8aM0dGjRyVd7i9hxIgReuaZZ0yuDPPmzbvu+KLSuTSh22C7d+/Wpk2b5O/vr4iICPv9xABu7KGHHtKqVatUqlQp1alTJ9e3o3FxcSZVBkm688471b9/fz3zzDMKCgrS5s2bVa1aNf3+++9q3769jh8/bnaJkPTdd99p7Nix9r9F9erV0/Dhw7lVAPgHLl68KC8vLx4l5mJOnTolf39/FStWzOxSAAfsKQwyatQoDRw4UDVq1FCNGjXsw9PT0zVx4sRcl/qh4NzsWVMu6zNfiRIlFBMTY3YZuIadO3fab5+5UvHixXXu3LmCLwh56tixozp27Gh2GbiOS5cuad++fapevTohzsVUq1ZN69evz9Ufz8WLF9WwYUOuRnABbdq0UVxcnEqUKOHwRJqUlBRFR0dr1apVJlYHSdq7d6/mzJmjvXv36p133lGZMmW0bNkyValSRXXq1DG7vALBmW6DeHp66tixYypTpozD8DNnzqhMmTLcL2yiqy/nO3TokMqXL+9woMNlfcCNVatWTR988IHuv/9+hzPd8+fP1/jx47Vt2zazSyzyrhUYzp07R2BwAWlpaerbt6/98stdu3apWrVq6tu3rypWrKghQ4aYXCE8PDzsfcFc6cSJE6pcubIuXbpkUmXIca02OnnypCpWrKjMzEyTKoN0uU+r9u3bq3nz5lqzZo22b9+uatWqafz48dqwYYMWLVpkdokFgq9TDZLznNqrbd68WbfddpsJFSHHvn37HF4HBQUpMTGRHi5dVFZWllavXq29e/fqySefVFBQkI4eParg4GAuHzPZCy+8oFdeeUUff/yxLBaLjh49qnXr1mngwIEaNmyY2eVB0v79+/P8kjcjI0NHjhwxoSJcaejQodq8ebNWr16tBx54wD78/vvv14gRIwjdJrryCSfff/+9wyOprFarfvzxx+vekw/j/fHHH/b/b9u2zeGWJqvVquXLl6tixYpmlIYrDBkyRKNHj9aAAQMUFBRkH96mTRvNnDnTxMoKFqH7FitZsqQsFossFotq1qzpELytVqsuXLigXr16mVghUHgcOHBADzzwgA4ePKiMjAxFRUUpKChIb7/9tjIyMjRr1iyzSyzShgwZouzsbN13331KS0tTy5Yt5evrq4EDB6pv375ml1ek3UxgKMqPbnEV8fHx+vzzz3X33Xc7HC/UqVNHe/fuNbEyXNnJ4NUdPXl7eyskJIRn3ZusQYMG9mPunI4ir+Tv768ZM2aYUBmutGXLljw7HCxTpkyReuweofsWmzZtmmw2m3r06KGRI0c6HOj4+PgoJCRE99xzj4kVAoXHK6+8osaNG+d6vv1DDz2kF154wcTKIF2+DeONN97QoEGDtGfPHl24cEG1a9fmCgQXkBMYLBYLgcGFnTp1KtclsZKUmpqa59VyKDg5z+YODQ3Vhg0bct2iAfPt27dPNptN1apV06+//upwP7ePj4/KlCkjT09PEyuEdLl/nmPHjuW6MuT3338vUlciELpvsZyDm9DQUDVr1ixXb8sAbl5SUpLWrl0rHx8fh+EhISFcGutCfHx8eOazi7kyMKxfv1633367yRUhL40bN9Z3331nvzIkJ2jPnj2bL+hdQGZmpqpVq6azZ88Sul1QzhOBcvZ3cE2PP/64XnvtNX355ZeyWCzKzs7Wzz//rIEDBxapR7oRug1y5aNYLl68mKujjeDg4IIuCf+TkpLi8NpisejChQu5htNG5svOzs7zftTDhw873BeEghMTE6O5c+cqODj4hj3L80g3813dhwVcy9ixY9W+fXtt27ZNWVlZeuedd7Rt2zatXbtWiYmJZpdX5Hl7ezvcNwzXsXjxYrVv317e3t4Ot9PkpXPnzgVUFfIyduxY9enTR5UrV5bValXt2rVltVr15JNP6s033zS7vAJD7+UGSUtL0+DBg/XFF1/ozJkzucbTe7l5PDw8HC7bu7rTu5zXtJH5HnvsMRUvXlwffPCBgoKC9Mcff6h06dLq0qWLqlSpojlz5phdYpHz3HPPafr06QoKCtKzzz573UtgaR9zTJ8+XS+++KL8/Pxu+IhEHo1ovr1792r8+PHavHmzLly4oIYNG+q1115TRESE2aVBUv/+/eXr66vx48ebXQqucGWP5R4eHtecjuM513Ho0CFt2bJFFy5c0J133unwSOWigNBtkD59+ighIUH//ve/9fTTT+vdd9/VkSNH9P7772v8+PF66qmnzC6xyLrZswdXXq0Acxw+fFjt2rWTzWbT7t271bhxY+3evVu333671qxZk+e9kDDWlWcX4JquvAf1er0r82hE4Mb69u2r+fPnq0aNGmrUqJECAwMdxk+ZMsWkyoDCyWq1asuWLapatapKlixpdjkFhtBtkCpVqmj+/Plq1aqVgoOD9dtvvyksLEyffPKJPv30Uy1dutTsEnGTxo8fr169eqlEiRJml1IkZWVl6fPPP3c4C/TUU0/J39/f7NKKJE9PTx0/flylS5eWp6enjh07xpcfQD799ttv8vb2tp/V/uabbzRnzhzVrl1bI0aMyNWfBQpe69atrznOYrFo1apVBVgNrrZ//36tWLFCmZmZioyMVJ06dcwuCVd59dVXFRERoZ49e8pqtSoyMlJr165VQECAlixZolatWpldYoEgdBukWLFi2rZtm6pUqaJKlSopLi5OTZo00b59+xQREaELFy6YXSJuUnBwsDZt2sRzvAFJ5cqV04cffqgHH3xQHh4eOnHihEOPsXAdycnJ+vbbb5WZmak2bdo4PAcaruGuu+7SkCFD9PDDD+vPP/9U7dq1FRMTo/Xr16tjx46aNm2a2SUCLishIUGdOnVSenq6JMnLy0sff/yxunXrZnJluFKlSpUUHx+vxo0bKz4+Xr1799bq1av1ySefaNWqVfr555/NLrFAXPsmCPwj1apVs3dgEx4eri+++EKS9O2333LGtJDheynzzJs3T99995399eDBg1WiRAk1a9ZMBw4cMLGyoqtXr17q0qWLPD09ZbFYVK5cOXl6eub5D+ZZtGiRmjdvrnfeeUcffvihOnbsqEmTJpldFq6ya9cuNWjQQJL05ZdfKjIyUgsXLtTcuXP11VdfmVsccjl8+LAOHz5sdhn4n2HDhikqKkpHjhzRmTNn9MILL2jw4MFml4WrnD59WuXKlZMkLV26VI8++qhq1qypHj16aMuWLSZXV3AI3QZ57rnntHnzZknSkCFD9O6778rPz0+vvvqqBg0aZHJ1QOEwduxY+2Xk69at08yZMzVhwgTdfvvt6t+/v8nVFU0jRozQtm3b9M0338hms+njjz9WXFxcnv9gnnHjxumFF17Q+fPn9ddff2n06NEaO3as2WXhKjabzf64o5UrV6pDhw6SpMqVK+v06dNmlob/yc7O1qhRo1S8eHFVrVpVVatWVYkSJfTvf/+bR1WZbOvWrRo7dqzKly+vkiVLauLEiTp58mSeHRjDPGXLltW2bdtktVq1fPlyRUVFSbrc6XRR+oKeR4YZ5MpAcP/992vHjh3auHGjatSoQY+kwE06dOiQwsLCJEnx8fHq2rWrXnzxRTVv3rzI3APkisLDwxUeHq7hw4frkUceUUBAgNkl4So7d+7U559/bj+giY2N1VtvvaWTJ09yD74Lady4sUaPHq37779fiYmJeu+99yRdftRb2bJlTa4OkvTGG2/oo48+0vjx49W8eXNJ0k8//aQRI0bo4sWLGjNmjMkVFl0pKSm6/fbb7a8DAgLk7++v8+fP81x1F/Lcc8/p0UcfVfny5WWxWHT//fdLkn755ReFh4ebXF3BIXTfYqtWrdLLL7+s5ORkh+c853wz2qxZM82aNUstWrQwsUqgcChWrJjOnDmjKlWq6IcfftCAAQMkSX5+fvZ7uGCexMREvfLKK7lCd0pKiqKjo+lgyERpaWkOf4N8fHzk5+enCxcuELpdyLRp0/TUU08pPj5eb7zxhv1LxkWLFqlZs2YmVwfp8m1Os2fPdnjWc7169VSxYkX17t2b0G2y77//XsWLF7e/zs7O1o8//qitW7fah/GcbnONGDFCdevW1aFDh/TII4/I19dX0uWOWYcMGWJydQWHjtRusc6dO6t169bXvPR1+vTpSkhI0Ndff13AlSG/goKCtHnzZjpSM8FTTz2lHTt26M4779Snn36qgwcPqlSpUlq8eLFef/11hz+qKHjX6r385MmTqlixojIzM02qDB4eHho9erSKFStmH/baa69p0KBBDmeGeE63a7p48aI8PT15NJ8L8PPz0x9//KGaNWs6DN+5c6caNGjAF8Amut7zuXPwnG64Cs5032KbN2/W22+/fc3xbdu2pTObQqZFixY8nsok7777rt58800dOnRIX331lf1ysY0bN+qJJ54wubqi648//pB0+X7Ubdu26fjx4/ZxOfdsVaxY0azyoMuPrfzwww8dhpUrV06ffPKJ/bXFYiF0uyg/Pz+zS8D/1K9fXzNnztT06dMdhs+cOVP169c3qSpI4p76QiQ1NVWJiYk6ePCgLl265DCuqPwd4kz3Lebn56etW7faLxG72p49exQREcE3oyZJSUm56WmvvDQTwP/n4eEhi8UiKe/e/f39/TVjxgz16NGjoEsDChWr1aqpU6fqiy++yPNg9OzZsyZVhhyJiYnq2LGjqlSponvuuUfS5Y49Dx06pKVLl3K7YCHSsWNHzZ49W+XLlze7lCLl999/V4cOHZSWlqbU1FTddtttOn36tAICAlSmTBn9+eefZpdYIDjTfYtVrFjxuqH7jz/+YGM3UYkSJexh4Ua4HMl1pKWl5XlAWq9ePZMqKtr27dsnm82matWq6ddff3V4TrePj4/KlClTpHok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\n" + }, + "metadata": {} + } + ], + "source": [ + "df.boxplot(column='Height', by='Role', figsize=(10,8))\n", + "plt.xticks(rotation='vertical')\n", + "plt.tight_layout()\n", + "plt.show()" ] - }, - "execution_count": 26, - "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": 27, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[1. , 0.52959196],\n", - " [0.52959196, 1. ]])" + }, + { + "cell_type": "markdown", + "metadata": { + "id": "6XHFyajmIUW8" + }, + "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:" ] - }, - "execution_count": 27, - "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": 28, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 609 + }, + "id": "CT_dXGvOIUW-", + "outputId": "908dd0d8-6c4b-4375-a50b-b42175db5ef2" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJQCAYAAACTlwc0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABUbklEQVR4nO3deVyU9d7/8fewDaIsoiKSKKiZWy5pEmYqmrgdzaVjLpV6SlvUEk+b52Sh1q23p6xzPJbVr9RS6mipmZaJeyraai6VqUezk3suKCiOzPf3hzdzGgFB5GKG6fV8PHjoXNf3uuZzzWcGeHNtNmOMEQAAAAAAKHV+ni4AAAAAAABfRegGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AaA34GhQ4cqLi6uxMtWqlSpdAu6gtmzZ8tms2n//v2uaR06dFCHDh3K5PltNptSU1Ndj1NTU2Wz2XT8+PEyef64uDgNHTq0TJ6rpHbv3q3k5GSFh4fLZrNp8eLFni7JcmX5HgQA+BZCNwB4yPz582Wz2bRo0aJ885o1ayabzaY1a9bkm1erVi21adOmLEq8KtnZ2UpNTdXatWs9XYokadOmTUpNTdWpU6c8XUo+3lxbcQwZMkTbt2/X888/r3feeUetWrUqcNz+/ftls9lks9n03HPPFThm8ODBstls+f6w06FDBzVp0uSKdeT9QSTvy8/PTzVq1NAf/vAHbd68uVjbEhcX57aOqKgo3XbbbQV+LgEAKIkATxcAAL9Xbdu2lSRt2LBBffr0cU3PzMzUjh07FBAQoI0bNyopKck17+eff9bPP/+sAQMGXNVzvfHGG3I6naVTeCGys7M1YcIESSr1PYIrVqy46mU2bdqkCRMmaOjQoYqIiCj2cufOnVNAgLU/Hq9U265du+Tn571/Ez937pwyMjL017/+VaNGjSrWMsHBwXr33Xf19NNPu03PysrShx9+qODg4Guq6dVXX1WlSpXkdDr1888/64033lC7du30+eefq3nz5kUu37x5c/35z3+WJB08eFCvvfaa+vbtq1dffVUPPvjgNdUGAAChGwA8JCYmRvHx8dqwYYPb9IyMDBlj9Mc//jHfvLzHeYG9uAIDA6+tWA8LCgqydP1Op1MXLlxQcHDwNQfAa2W32z36/EU5duyYJF3VHzK6d++uhQsX6ttvv1WzZs1c0z/88ENduHBBXbt21erVq0tc05133qmqVau6Hvfu3VtNmjTRggULihW6r7vuOt19992ux/fee6/q1aunl156qVyE7t++fwEA3sd7/5QOAL8Dbdu21TfffKNz5865pm3cuFGNGzdWt27dtHnzZrc91Bs3bpTNZtOtt97qmjZ37ly1bNlSFSpUUGRkpAYMGKCff/7Z7XkKOqf7119/1T333KOwsDBFRERoyJAh+vbbb2Wz2TR79ux8tf7yyy/q3bu3KlWqpGrVqumxxx5Tbm6upEuHEVerVk2SNGHCBNehur89N7ogO3fuVMeOHVWhQgXVrFlTzz33XIF75As6n3b69Olq3LixQkJCVLlyZbVq1UppaWmSLh12/Pjjj0uS4uPjXfXknSdus9k0atQozZs3T40bN5bdbtfy5ctd8wqq+/jx4+rfv7/CwsJUpUoVPfroozp//rxrft6h1AW9dr9dZ1G1FXRO97///W/98Y9/VGRkpEJCQnTLLbdo2bJlbmPWrl0rm82m+fPn6/nnn1fNmjUVHBysTp06ac+ePflqKsg333yjbt26KSwsTJUqVVKnTp3cDtNOTU1V7dq1JUmPP/64bDZbsa4VkJiYqPj4eFd/8sybN09du3ZVZGRkseorrujoaEkq8REL0dHRatiwofbt21fomAsXLuiZZ55Ry5YtFR4erooVK+q2225zOyXEGKO4uDjdcccd+ZY/f/68wsPD9cADD7im5eTk6Nlnn1W9evVkt9sVGxurJ554Qjk5OW7LXun9+95776lly5YKDQ1VWFiYbrzxRv39738v0esAACgd7OkGAA9q27at3nnnHW3ZssUVKjdu3Kg2bdqoTZs2On36tHbs2KGmTZu65jVo0EBVqlSRJD3//PMaP368+vfvr/vvv1/Hjh3T9OnT1a5dO33zzTeF7o10Op3q2bOnPv/8cz300ENq0KCBPvzwQw0ZMqTA8bm5uerSpYsSEhL0wgsvaOXKlXrxxRdVt25dPfTQQ6pWrZpeffVVPfTQQ+rTp4/69u0rSa66C3L48GElJSXp4sWLeuqpp1SxYkW9/vrrqlChQpGv2xtvvKFHHnlEd955pyv8btu2TVu2bNGgQYPUt29f/fjjj3r33Xf10ksvufaC5v1hQJJWr16t+fPna9SoUapatWqR4bF///6Ki4vT5MmTtXnzZv3jH//QyZMn9fbbbxdZ728Vp7bfOnLkiNq0aaPs7Gw98sgjqlKliubMmaNevXrp/fffdzs1QZKmTJkiPz8/PfbYYzp9+rSmTp2qwYMHa8uWLVesa+fOnbrtttsUFhamJ554QoGBgXrttdfUoUMHrVu3TgkJCerbt68iIiKUkpKigQMHqnv37sW+yN7AgQM1d+5cTZkyxXVhuhUrVuidd95xBcaSOnHihKRL7+tffvlFkyZNUnBwsPr371+i9TkcDv3888+uz1lBMjMz9f/+3//TwIEDNXz4cJ05c0ZvvvmmunTp4jqs3Waz6e6779bUqVN14sQJtz8ufPTRR8rMzHTtYXc6nerVq5c2bNigESNGqGHDhtq+fbteeukl/fjjj/kuVlfQ+zc9PV0DBw5Up06d9L//+7+SpO+//14bN27Uo48+WqLXAgBQCgwAwGN27txpJJlJkyYZY4xxOBymYsWKZs6cOcYYY6pXr25mzJhhjDEmMzPT+Pv7m+HDhxtjjNm/f7/x9/c3zz//vNs6t2/fbgICAtymDxkyxNSuXdv1+IMPPjCSzMsvv+yalpubazp27GgkmVmzZrktK8lMnDjR7XlatGhhWrZs6Xp87NgxI8k8++yzxdr2MWPGGElmy5YtrmlHjx414eHhRpLZt2+fa3r79u1N+/btXY/vuOMO07hx4yuu/29/+1u+9eSRZPz8/MzOnTsLnPfbbXj22WeNJNOrVy+3cQ8//LCRZL799ltjjDH79u3L99oVts4r1Va7dm0zZMgQ1+O81+mzzz5zTTtz5oyJj483cXFxJjc31xhjzJo1a4wk07BhQ5OTk+Ma+/e//91IMtu3b8/3XL/Vu3dvExQUZPbu3euadvDgQRMaGmratWvnmpa3nX/729+uuL7Lx+7YscNtO2bMmGEqVapksrKyzJAhQ0zFihXdlm3fvn2RPc7rzeVfERERZvny5UXWZ8yl1zs5OdkcO3bMHDt2zHz77bdmwIABRpIZPXq0Wz2/fQ9evHjR7XU2xpiTJ0+a6tWrmz/96U+uabt27TKSzKuvvuo2tlevXiYuLs44nU5jjDHvvPOO8fPzc+uzMcbMnDnTSDIbN250TSvs/fvoo4+asLAwc/HixWJtOwCgbHB4OQB4UMOGDVWlShXXudrffvutsrKyXFcnb9OmjTZu3Cjp0rneubm5rvO5Fy5cKKfTqf79++v48eOur+joaF1//fUFXvk8z/LlyxUYGKjhw4e7pvn5+WnkyJGFLnP5ua233Xab/v3vf5dswyV9/PHHuuWWW9S6dWvXtGrVqmnw4MFFLhsREaH//Oc/+uKLL0r8/O3bt1ejRo2KPf7y12b06NGSLm2HlT7++GO1bt3a7Tz+SpUqacSIEdq/f7++++47t/HDhg1zOwf+tttuk6Qr9io3N1crVqxQ7969VadOHdf0GjVqaNCgQdqwYYMyMzOvaTsaN26spk2b6t1335UkpaWl6Y477lBISMg1rVeSPvjgA6Wnp2vFihWaNWuW6tevr379+mnTpk3FWn7FihWqVq2aqlWrpmbNmmnBggW65557XHuLC+Lv7+96nZ1Op06cOKGLFy+qVatW+vrrr13j6tevr4SEBM2bN8817cSJE/rkk09cV26XpAULFqhhw4Zq0KCB2+e5Y8eOkpTv81zQ+zciIkJZWVlKT08v1nYDAMoGoRsAPMhms6lNmzauc7c3btyoqKgo1atXT5J76M77Ny987d69W8YYXX/99a7AkPf1/fff6+jRo4U+708//aQaNWrkCzx5z3u54ODgfIc/V65cWSdPnizZhv9fDddff32+6TfccEORyz755JOqVKmSWrdureuvv14jR450vT7FFR8ff1XjL6+1bt268vPzc7ufuBV++umnAl+Thg0buub/Vq1atdweV65cWZKu2Ktjx44pOzu70OfJuyr4tRo0aJAWLFigPXv2aNOmTRo0aNA1r1OS2rVrp9tvv12dO3fW0KFDtWrVKoWGhrr+MFKUhIQEpaena+XKldq0aZOOHz+ut99+u8hTHebMmaOmTZsqODhYVapUUbVq1bRs2TKdPn3abdy9996rjRs3unq1YMECORwO3XPPPa4xu3fv1s6dO/N9luvXry9J+T7PBb1/H374YdWvX1/dunVTzZo19ac//emaD90HAFw7zukGAA9r27atPvroI23fvt11PneeNm3a6PHHH9cvv/yiDRs2KCYmxrUn0ul0ymaz6ZNPPpG/v3++9Rb3XNviKGj9ntSwYUPt2rVLS5cu1fLly/XBBx/olVde0TPPPOO6bVlRinPu+JXk7aEs7HGevIvNlZXCemWMKdM6CjJw4ECNGzdOw4cPV5UqVZScnGzJ81SqVEkJCQn68MMPlZWVpYoVK15xfNWqVXX77bdf1XPMnTtXQ4cOVe/evfX4448rKipK/v7+mjx5svbu3es2dsCAAUpJSdG8efP0l7/8RXPnzlWrVq3c/sjhdDp14403atq0aQU+X2xsrNvjgt6/UVFR2rp1qz799FN98skn+uSTTzRr1izde++9mjNnzlVtHwCg9BC6AcDDfnu/7o0bN2rMmDGueS1btpTdbtfatWu1ZcsWde/e3TWvbt26MsYoPj7etTesuGrXrq01a9YoOzvbbW93ca9yXZDCQueVati9e3e+6bt27SrW8hUrVtRdd92lu+66SxcuXFDfvn31/PPPa9y4cQoODr7qeoqye/dut72Le/bskdPpdF2ALW+P8qlTp9yWu3xPtHR1r1Xt2rULfE1++OEH1/xrVa1aNYWEhBT6PH5+fvlCX0nUqlVLt956q9auXauHHnrI0vuhX7x4UZJ09uzZIkN3Sbz//vuqU6eOFi5c6NbPZ599Nt/YyMhI9ejRQ/PmzdPgwYO1ceNGvfzyy25j6tatq2+//VadOnW6pvduUFCQevbsqZ49e8rpdOrhhx/Wa6+9pvHjxxd6JAsAwFocXg4AHtaqVSsFBwdr3rx5+uWXX9z2dNvtdt10002aMWOGsrKy3M7r7du3r/z9/TVhwoR8ezGNMfr1118Lfc4uXbrI4XDojTfecE1zOp2aMWNGibcjL7xfHjoL0717d23evFmff/65a9qxY8fczn0tzOXbFhQUpEaNGskYI4fDIUmuoFXceopy+Wszffp0SVK3bt0kSWFhYapatarWr1/vNu6VV17Jt66rqa179+76/PPPlZGR4ZqWlZWl119/XXFxcVd1Xnph/P39lZycrA8//NDtcPkjR44oLS1Nbdu2VVhY2DU/jyQ999xzevbZZ4t96HdJnDhxQps2bVJ0dLSioqIseY68Iwp++9nbsmWLW59+65577tF3332nxx9/XP7+/howYIDb/P79++uXX35x+0zmOXfunLKysoqs6fLPhZ+fn+sOApffdgwAUHbY0w0AHhYUFKSbb75Zn332mex2u1q2bOk2v02bNnrxxRclyS10161bV88995zGjRun/fv3q3fv3goNDdW+ffu0aNEijRgxQo899liBz9m7d2+1bt1af/7zn7Vnzx41aNBAS5Yscd16qSR72ipUqKBGjRrpX//6l+rXr6/IyEg1adJETZo0KXD8E088oXfeeUddu3bVo48+6rplWO3atbVt27YrPldycrKio6N16623qnr16vr+++/1z3/+Uz169FBoaKgkuV7Hv/71rxowYIACAwPVs2fPEu/13Ldvn3r16qWuXbsqIyNDc+fO1aBBg9SsWTPXmPvvv19TpkzR/fffr1atWmn9+vX68ccf863ramp76qmn9O6776pbt2565JFHFBkZqTlz5mjfvn364IMP5OdXOn8/f+6555Senq62bdvq4YcfVkBAgF577TXl5ORo6tSppfIc0qULgLVv375YY48dO6bnnnsu3/T4+Hi3C+69//77qlSpkowxOnjwoN58802dPHlSM2fOLPUjHvL84Q9/0MKFC9WnTx/16NFD+/bt08yZM9WoUSOdPXs23/gePXqoSpUqWrBggbp165bvjwH33HOP5s+frwcffFBr1qzRrbfeqtzcXP3www+aP3++Pv30U7Vq1eqKNd1///06ceKEOnbsqJo1a+qnn37S9OnT1bx5c9c1AAAAHuC5C6cDAPKMGzfOSDJt2rTJN2/hwoVGkgkNDS3wVkAffPCBadu2ralYsaKpWLGiadCggRk5cqTZtWuXa8zltwwz5tItvgYNGmRCQ0NNeHi4GTp0qNm4caORZN577z23ZS+/nZMx/71d029t2rTJtGzZ0gQFBRXr9mHbtm0z7du3N8HBwea6664zkyZNMm+++WaRtwx77bXXTLt27UyVKlWM3W43devWNY8//rg5ffq02/onTZpkrrvuOuPn5+e2Tklm5MiRBdZ0ed152/ndd9+ZO++804SGhprKlSubUaNGmXPnzrktm52dbe677z4THh5uQkNDTf/+/c3Ro0cLfC0Kq+3yW4YZY8zevXvNnXfeaSIiIkxwcLBp3bq1Wbp0qduYvFuGLViwwG36lW5ldrmvv/7adOnSxVSqVMmEhISYpKQks2nTpgLXd7W3DLuSwm4ZpgJuBybJdOrUyRhT8C3DKlasaBITE838+fOLrM+YS693jx49ihx3+XvQ6XSa//mf/zG1a9c2drvdtGjRwixdurTAz1qevNvMpaWlFTj/woUL5n//939N48aNjd1uN5UrVzYtW7Y0EyZMcHtvF/b+ff/9901ycrKJiooyQUFBplatWuaBBx4whw4dKnL7AADWsRnj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8ssvlZSU5Ho8duxYSdKQIUM0e/ZsSdJ7770nY4wGDhyYb3m73a733ntPqampysnJUXx8vFJSUlzrAQAAAADAkzwaujt06KCiruM2YsQIjRgxosB5N910kzZv3mxFaQAAAAAAXLNycU43AAAAAADlEaEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAiwR4ugAAAKwQ99QyT5dgmf1Teni6BAAAUEzs6QYAAAAAwCIeDd3r169Xz549FRMTI5vNpsWLF7vNHzp0qGw2m9tX165d3cacOHFCgwcPVlhYmCIiInTffffp7NmzZbgVAAAAAAAUzKOhOysrS82aNdOMGTMKHdO1a1cdOnTI9fXuu++6zR88eLB27typ9PR0LV26VOvXr9eIESOsLh0AAAAAgCJ59Jzubt26qVu3blccY7fbFR0dXeC877//XsuXL9cXX3yhVq1aSZKmT5+u7t2764UXXlBMTEyBy+Xk5CgnJ8f1ODMzU5LkcDjkcDhKsikoZXl9oB++pTz21e5vPF1CuWD3M27/wlpl+Rkqj59bFA+99U301XfRW+9T3F7YjDFe8RuSzWbTokWL1Lt3b9e0oUOHavHixQoKClLlypXVsWNHPffcc6pSpYok6a233tKf//xnnTx50rXMxYsXFRwcrAULFqhPnz4FPldqaqomTJiQb3paWppCQkJKd8MAAAAAAD4n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Awdks9k0ZswYPffcc1qyZIm2b9+ue++9VzExMerdu7ckqWHDhuratauGDx+uzz//XBs3btSoUaM0YMAArlwOAAAAAPC4Eh1e/s9//lO9evVSXFycYmNjJUk///yzmjRporlz5xZ7PV9++aWSkpJcj/POsx4yZIhmz56tJ554QllZWRoxYoROnTqltm3bavny5a57dEvSvHnzNGrUKHXq1El+fn7q16+f/vGPf5RkswAAAAAAKFUlCt2xsbH6+uuvtXLlSv3www+SLu11/u3tvYqjQ4cOMqbwW5DYbDZNnDhREydOLHRMZGSk0tLSrup5AQAAAAAoC1d1ePnq1avVqFEjZWZmymazqXPnzho9erRGjx6tm2++WY0bN9Znn31mVa0AAAAAAJQrVxW6X375ZQ0fPrzA22qFh4frgQce0LRp00qtOAAAAAAAyrOrCt3ffvutunbtWuj85ORktyuJAwAAAADwe3ZVofvIkSNXvBdZQECAjh07ds1FAQAAAADgC64qdF933XXasWNHofO3bdumGjVqXHNRAAAAAAD4gqsK3d27d9f48eN1/vz5fPPOnTunZ599Vn/4wx9KrTgAAAAAAMqzq7pl2NNPP62FCxeqfv36GjVqlG644QZJ0g8//KAZM2YoNzdXf/3rXy0pFAAAAACA8uaqQnf16tW1adMmPfTQQxo3bpzrHts2m01dunTRjBkzVL16dUsKBQAAAACgvLmq0C1JtWvX1scff6yTJ09qz549Msbo+uuvV+XKla2oDwAAAACAcuuqQ3eeypUr6+abby7NWgAAAAAA8ClXdSE1AAAAAABQfIRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC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ixfLclNwmaJ6e+LECY0ePVo33HCDKlSooFq1aumRRx7R6dOn3dZDb71LcT6zeYwx6tatW4Hfs+mr9ylubzMyMtSxY0dVrFhRYWFhateunc6dO+eaf+LECQ0ePFhhYWGKiIjQfffdp7Nnz5blpuAyxent4cOHdc899yg6OloVK1bUTTfdpA8++MBtDL31boRulJmsrCw1a9ZMM2bMKHD+3r171bZtWzVo0EBr167Vtm3bNH78eAUHB7vGpKSk6KOPPtKCBQu0bt06HTx4UH379i2rTUAhiurt2LFjtXz5cs2dO1fff/+9xowZo1GjRmnJkiWuMfTW+6xbt04jR47U5s2blZ6eLofDoeTkZGVlZbnGFNW33Nxc9ejRQxcuXNCmTZs0Z84czZ49W88884wnNgn/p6jeHjx4UAcPHtQLL7ygHTt2aPbs2Vq+fLnuu+8+1zrorfcpzmc2z8svvyybzZZvOn31TsXpbUZGhrp27ark5GR9/vnn+uKLLzRq1Cj5+f331/3Bgwdr586dSk9P19KlS7V+/XqNGDHCE5uE/1Oc3t57773atWuXlixZou3bt6tv377q37+/vvnmG9cYeuvlDOABksyiRYvcpt11113m7rvvLnSZU6dOmcDAQLNgwQLXtO+//95IMhkZGVaViqtUUG8bN25sJk6c6DbtpptuMn/961+NMfS2vDh69KiRZNatW2eMKV7fPv74Y+Pn52cOHz7sGvPqq6+asLAwk5OTU7YbgEJd3tuCzJ8/3wQFBRmHw2GMobflQWF9/eabb8x1111nDh06lO97Nn0tHwrqbUJCgnn66acLXea7774zkswXX3zhmvbJJ58Ym81mfvnlF0vrRfEV1NuKFSuat99+221cZGSkeeONN4wx9LY8YE83vILT6dSyZctUv359denSRVFRUUpISHA75O2rr76Sw+HQ7bff7prWoEED1apVSxkZGR6oGsXVpk0bLVmyRL/88ouMMVqzZo1+/PFHJScnS6K35UXeocWRkZGSite3jIwM3XjjjapevbprTJcuXZSZmamdO3eWYfW4kst7W9iYsLAwBQQESKK35UFBfc3OztagQYM0Y8YMRUdH51uGvpYPl/f26NGj2rJli6KiotSmTRtVr15d7du314YNG1zLZGRkKCIiQq1atXJNu/322+Xn56ctW7aU7QagUAV9btu0aaN//etfOnHihJxOp9577z2dP39eHTp0kERvywNCN7zC0aNHdfbsWU2ZMkVdu3bVihUr1KdPH/Xt21fr1q2TdOl8lqCgIEVERLgtW716dR0+fNgDVaO4pk+frkaNGqlmzZoKCgpS165dNWPGDLVr104SvS0PnE6nxowZo1tvvVVNmjSRVLy+HT582O2X97z5efPgeQX19nLHjx/XpEmT3A5VpLferbC+pqSkqE2bNrrjjjsKXI6+er+Cevvvf/9bkpSamqrhw4dr+fLluummm9SpUyft3r1b0qX+RUVFua0rICBAkZGR9NZLFPa5nT9/vhwOh6pUqSK73a4HHnhAixYtUr169STR2/IgwNMFANKlbzKSdMcddyglJUWS1Lx5c23atEkzZ85U+/btPVkertH06dO1efNmLVmyRLVr19b69es1cuRIxcTEuO0lhfcaOXKkduzY4bbXBL6hqN5mZmaqR48eatSokVJTU8u2OJRYQX1dsmSJVq9e7XYeKMqfgnqb93vUAw88oGHDhkmSWrRooVWrVumtt97S5MmTPVIrrk5h34/Hjx+vU6dOaeXKlapataoWL16s/v3767PPPtONN97ooWpxNdjTDa9QtWpVBQQEqFGjRm7TGzZs6Lp6eXR0tC5cuKBTp065jTly5EiBh8jBO5w7d05/+ctfNG3aNPXs2VNNmzbVqFGjdNddd+mFF16QRG+93ahRo7R06VKtWbNGNWvWdE0vTt+io6PzXc087zG99bzCepvnzJkz6tq1q0JDQ7Vo0SIFBga65tFb71VYX1evXq29e/cqIiJCAQEBrlMF+vXr5zpMlb56t8J6W6NGDUkq8veoo0ePus2/ePGiTpw4QW+9QGG93bt3r/75z3/qrbfeUqdOndSsWTM9++yzatWqlesCtvTW+xG64RWCgoJ0880357tFwo8//qjatWtLklq2bKnAwECtWrXKNX/Xrl06cOCAEhMTy7ReFJ/D4ZDD4XC7eqok+fv7u/4yT2+9kzFGo0aN0qJFi7R69WrFx8e7zS9O3xITE7V9+3a3XwbS09MVFhaW75dDlJ2ieitd2sOdnJysoKAgLVmyxO1OEhK99UZF9fWpp57Stm3btHXrVteXJL300kuaNWuWJPrqrYrqbVxcnGJiYq74e1RiYqJOnTqlr776yjV/9erVcjqdSkhIsH4jUKCiepudnS1J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\n" + }, + "metadata": {} + } + ], + "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": { + "id": "i5Ml9GbUIUW-" + }, + "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": 12, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "eQ2vZ_EDIUW-", + "outputId": "5ba7d226-cdf5-45f4-dbbb-24ecb391fe79" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([71.28129096, 78.82173271, 71.81954911, 72.27705699, 68.09917695,\n", + " 74.42089598, 72.63965744, 67.52063996, 73.40784061, 75.4298678 ,\n", + " 76.53090645, 75.62114278, 75.93431985, 74.11904376, 76.31097626,\n", + " 76.68590245, 73.03769741, 72.48497214, 75.89118176, 74.65380817])" + ] + }, + "metadata": {}, + "execution_count": 12 + } + ], + "source": [ + "generated = np.random.normal(mean, std, 1000)\n", + "generated[:20]" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 607 + }, + "id": "d-RNVGrJIUW_", + "outputId": "d1b62c49-6705-4409-ef44-39497de7e714" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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VMSCBQti9OjR+R4JAAAACibvV7wXLlwYJ5xwQlxwwQXRq1evGDx4cNx11125/evWrYuGhoaora3NbSsrK4shQ4ZEfX39bs/Z0tISzc3NbW4AAADQEeQ9vP/0pz/FHXfcEUceeWQ89NBD8S//8i9x+eWXx5w5cyIioqGhISIiKioq2jyuoqIit+/d6urqoqysLHfr06dPvscGAACAJPIe3q2trXHcccfF9ddfH4MHD47x48fHpZdeGrNmzdrjc06dOjWamppytw0bNuRxYgAAAEgn7+Hdu3fvGDhwYJttAwYMiPXr10dERGVlZURENDY2tjmmsbExt+/dSkpKorS0tM0NAAAAOoK8h/fJJ58cq1evbrNtzZo1cfjhh0fEXz9orbKyMpYsWZLb39zcHMuXL4+ampp8jwMAAAAFlfdPNZ80aVKcdNJJcf3118eFF14YTz31VNx5551x5513RkREUVFRXHHFFfG9730vjjzyyOjXr19MmzYtqqqq4vzzz8/3OAAAAFBQeQ/vE088MebPnx9Tp06N73znO9GvX7+YMWNGjBkzJnfMVVddFdu2bYvx48fHli1bYujQobF48eLo2rVrvscBAACAgirKsiwr9BDt1dzcHGVlZdHU1OT93sAH0nfKokKPAEAH8PL0EYUeAegg2tOleX+PNwAAAPD/CG8AAABISHgDAABAQsIbAAAAEhLeAAAAkJDwBgAAgISENwAAACQkvAEAACAh4Q0AAAAJCW8AAABISHgDAABAQsIbAAAAEhLeAAAAkJDwBgAAgISENwAAACQkvAEAACAh4Q0AAAAJCW8AAABIqLjQAwAAwN6i75RFhR4huZenjyj0CLDfccUbAAAAEhLeAAAAkJDwBgAAgISENwAAACQkvAEAACAh4Q0AAAAJCW8AAABISHgDAABAQsIbAAAAEhLeAAAAkJDwBgAAgISENwAAACQkvAEAACAh4Q0AAAAJCW8AAABISHgDAABAQsIbAAAAEhLeAAAAkJDwBgAAgISENwAAACQkvAEAACAh4Q0AAAAJCW8AAABISHgDAABAQsIbAAAAEhLeAAAAkJDwBgAAgISENwAAACQkvAEAACAh4Q0AAAAJCW8AAABISHgDAABAQsnDe/r06VFUVBRXXHFFbtv27dtjwoQJ0bNnzzjooINi1KhR0djYmHoUAAAA+MglDe+nn346fvjDH8anPvWpNtsnTZoUDzzwQNx3333x2GOPxcaNG2PkyJEpRwEAAICCSBbeW7dujTFjxsRdd90VhxxySG57U1NT3H333XHzzTfH6aefHscff3zMnj07nnjiiXjyySdTjQMAAAAFkSy8J0yYECNGjIja2to221euXBk7duxos71///5RXV0d9fX1uz1XS0tLNDc3t7kBAABAR1Cc4qQ//elPY9WqVfH000/vsq+hoSG6dOkSPXr0aLO9oqIiGhoadnu+urq6uO6661KMCgAAAEnl/Yr3hg0b4utf/3rMnTs3unbtmpdzTp06NZqamnK3DRs25OW8AAAAkFrew3vlypWxadOmOO6446K4uDiKi4vjsccei1tvvTWKi4ujoqIi3nrrrdiyZUubxzU2NkZlZeVuz1lSUhKlpaVtbgAAANAR5P2l5meccUb813/9V5ttY8eOjf79+8fVV18dffr0ic6dO8eSJUti1KhRERGxevXqWL9+fdTU1OR7HAAAACiovIf3wQcfHJ/85CfbbOvevXv07Nkzt33cuHExefLkKC8vj9LS0rjsssuipqYmPvOZz+R7HAAAACioJB+u9n5uueWW6NSpU4waNSpaWlpi2LBhcfvttxdiFAAAAEiqKMuyrNBDtFdzc3OUlZVFU1OT93sDH0jfKYsKPQIA7BVenj6i0CPAPqE9XZrse7wBAAAA4Q0AAABJCW8AAABISHgDAABAQsIbAAAAEhLeAAAAkJDwBgAAgISENwAAACQkvAEAACAh4Q0AAAAJCW8AAABISHgDAABAQsIbAAAAEhLeAAAAkJDwBgAAgISENwAAACQkvAEAACAh4Q0AAAAJCW8AAABISHgDAABAQsIbAAAAEhLeAAAAkJDwBgAAgISENwAAACQkvAEAACAh4Q0AAAAJCW8AAABISHgDAABAQsIbAAAAEhLeAAAAkJDwBgAAgISKCz0AUHh9pywq9AgAALDPcsUbAAAAEhLeAAAAkJDwBgAAgISENwAAACQkvAEAACAh4Q0AAAAJCW8AAABISHgDAABAQsIbAAAAEhLeAAAAkJDwBgAAgISKCz0AdAR9pywq9AgAAEAH5Yo3AAAAJCS8AQAAICHhDQAAAAkJbwAAAEhIeAMAAEBCwhsAAAASEt4AAACQUN7Du66uLk488cQ4+OCDo1evXnH++efH6tWr2xyzffv2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F78o8NS0186dO2PatGnRr1+/6NatWxxxxBHx3e9+N/7v521nWRbXXntt9O7dO7p16xa1tbWxdu3aAk69byjY14ntqb/85S9x8sknx2mnnRa/+tWv4u/+7u9i7dq1ccghh+SOeemll2Lo0KExbty4uO6666K0tDT++Mc/RteuXQs4Oe3xQdZ58uTJsXTp0vjxj38cffv2jV//+tfxta99LaqqquLcc88t4PR8EE8//XTs3Lkzd/+5556Lf/iHf4gLLrggIiImTZoUixYtivvuuy/Kyspi4sSJMXLkyPjd735XqJHZA++1zhs3boyNGzfGTTfdFAMHDoxXXnklvvrVr8bGjRvjP//zPws4Ne3xfj/L75gxY0YUFRV91OORJ++3zvX19XHWWWfF1KlT47bbbovi4uL4/e9/H506dchrPPul91vjL33pS7Fly5ZYuHBhHHrooTFv3ry48MILY8WKFTF48OBCjU073XDDDXHHHXfEnDlzYtCgQbFixYoYO3ZslJWVxeWXXx4RETfeeGPceuutMWfOnOjXr19MmzYthg0bFs8//7ye+jCyDubqq6/Ohg4d+p7HfOELX8i++MUvfkQTkcIHWedBgwZl3/nOd9psO+6447JvfvObKUcjka9//evZEUcckbW2tmZbtmzJOnfunN133325/S+88EIWEVl9fX0Bp+TD+r/rvDs///nPsy5dumQ7duz4iCcjX3a3xs8880z2sY99LHvttdeyiMjmz59fuAHJi3ev85AhQ7JrrrmmwFORT+9e4+7du2f33ntvm2PKy8uzu+66qxDjsYdGjBiRXXLJJW22jRw5MhszZkyWZVnW2tqaVVZWZv/2b/+W279ly5aspKQk+8lPfvKRzrqv6XB/Dblw4cI44YQT4oILLohevXrF4MGD46677srtb21tjUWLFsUnPvGJGDZsWPTq1SuGDBniZW0dzPutc0TESSedFAsXLoxXX301siyLRx55JNasWRNnnnlmgaZmT7311lvx4x//OC655JIoKiqKlStXxo4dO6K2tjZ3TP/+/aO6ujrq6+sLOCkfxrvXeXeampqitLQ0ios73AuyiN2v8RtvvBH//M//HDNnzozKysoCT0g+vHudN23aFMuXL49evXrFSSedFBUVFXHKKafEb3/720KPyh7a3c/ySSedFD/72c9i8+bN0draGj/96U9j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\n" + }, + "metadata": {} + } + ], + "source": [ + "plt.figure(figsize=(10,6))\n", + "plt.hist(generated, bins=15)\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 607 + }, + "id": "GVs0ZaObIUW_", + "outputId": "a4782bf2-20de-4c82-e78b-b31457ecd3dd" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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7NiRpqambNiwIa+88krmzZtXGXP88cdn6tSpaW1tTZK0trbmxBNPTENDQ2XM/Pnz09nZWemWAwAAwGDR643UnnjiiTQ1NeXll1/O0UcfnXvvvTczZ87M448/nlGjRmX8+PE9xjc0NKStrS1J0tbW1iNw7z2/99yBdHV1paurq3K/s7Ozt2UDAABAv+t1p/ttb3tbHn/88axfvz4XXnhhFi1alKeeeqpEbRXLly9PfX195TZlypSizwcAAAB9odehe9SoUfmDP/iDzJ49O8uXL8873/nO/N3f/V0aGxuzc+fObN++vcf49vb2NDY2JkkaGxtfs5v53vt7x+zPsmXL0tHRUblt2bKlt2UDAABAvzvkNd177dmzJ11dXZk9e3aOOOKIrF27tnJu48aN2bx5c5qampIkTU1NeeKJJ7Jt27bKmDVr1qSuri4zZ8484HOMHj26cpmyvTcAAACodb1a071s2bKceeaZmTp1al588cXcdddd+dGPfpTvfe97qa+vz3nnnZclS5ZkwoQJqaury0UXXZSmpqbMnTs3SXLGGWdk5syZOffcc3P99denra0tV1xxRVpaWjJ69OgiLxBgKJu+dHXl500rmqtYCQxt+74XARhaehW6t23blk996lN57rnnUl9fn5NOOinf+9738id/8idJkhtuuCHDhw/PggUL0tXVlfnz5+eWW26pPH7EiBG5//77c+GFF6apqSljx47NokWLcu211/btqwIAGEB8QQYwePUqdN92222ve37MmDFZuXJlVq5cecAx06ZNywMPPNCbpwUAAIAB6bDXdAMAAAD7J3QDAABAIUI3AAAAFCJ0AwAAQCFCNwAAABQidAMAAEAhvbpkGAC1b9/r/QIDj/cwwOCi0w0AAACFCN0AAABQiNANADAATF+62tRzgAFI6AYAAIBChG4AAAAoxO7lAEPEvtNSN61ormIlAABDh043AAAAFCJ0AwAAQCFCNwAAABQidAMAAEAhNlIDGIJc6xcAoH/odAMAAEAhQjcAAAAUInQDAABAIUI3AAAAFCJ0AwAAQCFCNwAAABQidAMAAEAhQjcAAAAUInQDAABAIUI3AAAAFCJ0AwAAQCFCNwAAABQystoFAABw+KYvXV35edOK5ipWAsC+dLoBAACgEKEbAAAAChG6AQAAoBChGwAAAAoRugEAAKAQu5cDAAxQ++5YDkBt0ukGAACAQoRuAAAAKEToBgAAgEKEbgAAACjERmoAAAOIzdMABhadbgAAAChE6AYAAIBChG4AAAAoxJpugEHCOk8AgNqj0w0AAACFCN0AAABQiOnlADVq3+nim1Y0V7ESAAAOlU43AAAAFCJ0AwAAQCFCNwAAABQidAMAAEAhNlIDGMBcmxsAoLbpdAMAAEAhOt0AAIOYyw8CVJdONwAAABQidAMAAEAhppcDDDA2TwMAGDiEbgCAQcaXcwC1w/RyAAAAKEToBgAAgEKEbgAAAChE6AYAGCKmL11tvTdAPxO6AQAAoBChGwAAAAoRugEAAKAQoRsAAAAKEboBAACgEKEbAAAAChlZ7QIAeGMu8QMAMDDpdAMAAEAhQjcAAAAUInQDAABAIb0K3cuXL88pp5yScePGZdKkSTnrrLOycePGHmNefvnltLS0ZOLEiTn66KOzYMGCtLe39xizefPmNDc356ijjsqkSZNy6aWXZteuXYf/agAAAKCG9GojtXXr1qWlpSWnnHJKdu3alc9//vM544wz8tRTT2Xs2LFJkksuuSSrV6/OPffck/r6+ixevDhnn312fvzjHydJdu/enebm5jQ2NuaRRx7Jc889l0996lM54ogjct111/X9KwQYQGyYBgAwuAzr7u7uPtQHP//885k0aVLWrVuX973vfeno6Mib3/zm3HXXXfmzP/uzJMnTTz+dE044Ia2trZk7d24efPDB/Omf/mm2bt2ahoaGJMmqVaty+eWX5/nnn8+oUaPe8Hk7OztTX1+fjo6O1NXVHWr5AFW1b8DetKL5NccAStn7bw4Ah+5gc+lhrenu6OhIkkyYMCFJsmHDhrzyyiuZN29eZczxxx+fqVOnprW1NUnS2tqaE088sRK4k2T+/Pnp7OzMk08+eTjlAABwEKYvXV25AVDWIV+ne8+ePbn44otz6qmn5h3veEeSpK2tLaNGjcr48eN7jG1oaEhbW1tlzL6Be+/5vef2p6urK11dXZX7nZ2dh1o2AAAA9JtD7nS3tLTk5z//ee6+++6+rGe/li9fnvr6+sptypQpxZ8TAAAADtchhe7Fixfn/vvvz7/927/l2GOPrRxvbGzMzp07s3379h7j29vb09jYWBnz6t3M997fO+bVli1blo6Ojspty5Yth1I2AAAA9Ktehe7u7u4sXrw49957b374wx9m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KUcddVS1y4Ga1tHRkQkTJlS7DOg3O3fuzIYNGzJv3rzKseHDh2fevHlpbW2tYmVQezo6OpLE3wn4/1paWtLc3NzjbwhljKx2ARxYd3d3Pv3pT+cv/uIvcvLJJ2fTpk3VLglq1jPPPJObb745X/7yl6tdCvSb//mf/8nu3bvT0NDQ43hDQ0OefvrpKlUFtWfPnj25+OKLc+qpp+Yd73hHtcuBqrv77rvzs5/9LI899li1SxkSdLqrYOnSpRk2bNjr3p5++uncfPPNefHFF7Ns2bJqlwz95mDfH/t69tln88EPfjAf+9jHcv7551epcgBqVUtLS37+85/n7rvvrnYpUHVbtmzJZz/72Xzzm9/MmDFjql3OkGBNdxU8//zz+e1vf/u6Y97ylrfk4x//eL773e9m2LBhleO7d+/OiBEjsnDhwtx5552lS4V+d7Dvj1GjRiVJtm7dmtNOOy1z587NHXfckeHDfZfI0LFz584cddRR+fa3v52zzjqrcnzRokXZvn177rvvvuoVBzVi8eLFue+++/Lwww9nxowZ1S4Hqu473/lOPvrRj2bEiBGVY7t3786wYcMyfPjwdHV19TjH4RO6a9jmzZvT2dlZub9169bMnz8/3/72tzNnzpwce+yxVawOqu/ZZ5/N+9///syePTvf+MY3/IFgSJozZ07e85735Oabb07yu2m0U6dOzeLFi22kxpDW3d2diy66KPfee29+9KMf5bjjjqt2SVATXnzxxfz3f/93j2Of+cxncvzxx+fyyy+3BKMAa7pr2NSpU3vcP/roo5Mkb33rWwVuhrxnn302p512WqZNm5Yvf/nLef755yvnGhsbq1gZ9K8lS5Zk0aJFOfnkk/Oe97wnN954Y3bs2JHPfOYz1S4NqqqlpSV33XVX7rvvvowbNy5tbW1Jkvr6+hx55JFVrg6qZ9y4ca8J1mPHjs3EiRMF7kKEbmBAWrNmTZ555pk888wzr/kSygQehpJPfOITef7553PllVemra0ts2bNykMPPfSazdVgqLn11luTJKeddlqP47fffns+/elP939BwJBlejkAAAAUYschAAAAKEToBgAAgEKEbgAAAChE6AYAAIBChG4AAAAoROgGAACAQoRuAAAAKEToBgAAgEKEbgAAAChE6AYAAIBChG4AAAAoROgGAACAQv4ftt+DTVP0QUUAAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ], + "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": { + "id": "zHP_chikIUXA" + }, + "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": 15, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 607 + }, + "id": "gMGaiMfAIUXA", + "outputId": "a0fe0623-07db-49f2-dc36-c36e7cc3e913" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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xjnQWeMc6A60NV7X9X6fbw4AAADslr1+TzcAAAB8UIhuAAAAKER0AwAAQCGiGwAAAAoR3XwgjRw5MnV1de94zJgxI5s2bcoll1yS3/u930v//v0zYsSIfOlLX0pHR0etx4ad9l5rPEm+8IUv5KMf/Wj69++fQw89NJMmTcrzzz9f46lh573fGv+trq6unHXWWamrq8uSJUtqMyzshvdb46eccso79n3xi1+s8dSw83bm9/iKFSty6qmnZsCAAamvr8/JJ5+c//3f/63h1LunJl8ZBrW2atWqvPXWW93Pn3322Zx++un5zGc+kw0bNmTDhg25+eabc8QRR+SVV17JF7/4xWzYsCH/8i//UsOpYee91xpPkmOPPTbTpk3LiBEjsmnTplxzzTU544wzsm7duhx00EG1Ght22vut8d+aN29e6urq9vZ4sMd2Zo1ffPHF+cpXvtL9/EMf+tBenRH2xPut8RUrVuTMM89Ma2trbrvttvTu3Ts/+tGP0qvX/nfd2FeGQZJZs2bloYceyosvvrjD/zm7//77c+6552bLli3p3dvfVbH/eb81/uMf/zhjxozJSy+9lI9+9KM1mBD2zI7W+DPPPJM/+qM/ytNPP53hw4dn8eLFmTx5cm0Hhd309jV+yimn5Jhjjsm8efNqPRpUxdvX+PHHH5/TTz89X/3qV2s92h7b//6aAKrszTffzD333JMLL7zwXa+GdHR0pL6+XnCzX3q/Nb5ly5YsWrQoo0aNSktLSw0mhD2zozX+xhtv5POf/3wWLFiQpqamGk8Ie+bdfo/fe++9+fCHP5wjjzwyra2teeONN2o4Jey+t6/xjRs3ZuXKlRk2bFhOOOGENDY25g//8A/zgx/8oNaj7hbRzQfekiVLsnnz5px//vk73P/LX/4yX/3qVzN9+vS9OxhUybut8dtvvz0DBw7MwIED873vfS/Lli1Lnz59ajMk7IEdrfHZs2fnhBNOyKRJk2o3GFTJjtb45z//+dxzzz159NFH09ramn/8x3/MueeeW7shYQ+8fY2//PLLSZJrrrkmF198cZYuXZqPf/zjOe200/Liiy/WcNLd4+3lfOBNmDAhffr0yYMPPviOfZVKJaeffnqGDBmSBx54IAcffHANJoQ9825rvKOjIxs3bsx///d/5+abb84vfvGL/Md//Ef69etXo0lh97x9jT/wwAP5m7/5m/zwhz/MwIEDkyR1dXXeXs5+673+X+W3HnnkkZx22mluE2K/9PY1/sQTT+TEE09Ma2trrr/++u7jjj766EycODFz586t1ai7xXtl+UB75ZVX8vDDD+c73/nOO/a99tprOfPMMzNo0KAsXrxYcLNfeq813tDQkIaGhowePTrHH398DjnkkCxevDif+9znajAp7J4drfFHHnkkP/3pTzN48OAex06ZMiV/8Ad/kO9///t7d0jYA+/1e/z/Gjt2bJKIbvY7O1rjw4cPT5IcccQRPY49/PDD8+qrr+7V+apBdPOBtmjRogwbNiwTJ07ssb1SqWTChAnp27dvHnjgAVf+2G+92xp/u66urnR1daWzs3MvTQbVsaM1fvnll+cv/uIvehx31FFH5dZbb80555yzt0eEPbKzv8efeeaZJP8/VmB/saM1PnLkyDQ3N2ft2rU9jn3hhRdy1lln7e0R95jo5gNr+/btWbRoUc4777weH5BWqVRyxhln5I033sg999yTSqWSSqWSJDn00EN9nRL7jXdb4y+//HK+/e1v54wzzsihhx6an//857nhhhvSv3//nH322TWcGHbNu63xpqamHX542ogRIzJq1Ki9OSLskXdb4z/96U9z33335eyzz87QoUPz4x//OLNnz87JJ5+co48+uoYTw655tzVeV1eXL3/5y7n66qszZsyYHHPMMbnrrrvy/PPP75df4Su6+cB6+OGH8+qrr+bCCy/ssX3NmjVZuXJlkuR3f/d3e+xbt25dRo4cubdGhD3ybmu8X79++fd///fMmzcvv/rVr9LY2JiTTz45TzzxRIYNG1ajaWHXvdsahwPFu63xPn365OGHH868efOyZcuWtLS0ZMqUKbniiitqNCnsnvf6PT5r1qxs3bo1s2fPzqZNmzJmzJgsW7Zsv7x9wgepAQAAQCG+MgwAAAAKEd0AAABQiOgGAACAQkQ3AAAAFCK6AQAAoBDRDQAAAIWIbgAAAChEdAMAAEAhohsAAAAKEd0AAABQiOgGAACAQkQ3AAAAFPL/AEOnaBmb3qgoAAAAAElFTkSuQmCC\n" + }, + "metadata": {} + } + ], + "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()" ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" + }, + { + "cell_type": "markdown", + "metadata": { + "id": "uNEzv4urIUXA" + }, + "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": 16, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "P7h0LFCsIUXA", + "outputId": "7346caf5-0f58-4130-e0de-7dc9c67ab99e" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "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": { + "id": "zMAi2cz6IUXB" + }, + "source": [ + "## Hypothesis Testing\n", + "\n", + "Let's explore different roles in our baseball players dataset:" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 363 + }, + "id": "1fsnjUkFIUXC", + "outputId": "9359d40f-c575-461d-e678-0f6ea1ef2f63" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "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" + ], + "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", + "
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", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "
\n", + "
\n" + ] + }, + "metadata": {}, + "execution_count": 17 + } + ], + "source": [ + "df.groupby('Role').agg({ 'Height' : 'mean', 'Weight' : 'mean', 'Age' : 'count'}).rename(columns={ 'Age' : 'Count'})" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "O3H--SzfIUXC" + }, + "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": 18, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "XsO80SsfIUXC", + "outputId": "424f53ff-729b-4f21-addf-ecca08d4fb04" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "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": { + "id": "b8DU4ZUGIUXD" + }, + "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": 19, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Qwra5Iz7IUXD", + "outputId": "2d5f359b-5707-4ce0-9c95-ef8d7ca8b791" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "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": { + "id": "brelF-6LIUXE" + }, + "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": { + "id": "CtPClLpDIUXE" + }, + "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": 20, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 606 + }, + "id": "0vSxU_l1IUXF", + "outputId": "f4ae9bbd-95da-4f70-ca9f-740e8e382bbd" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ], + "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": { + "id": "rdUV9KxXIUXF" + }, + "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": 21, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "oNlWGq_VIUXF", + "outputId": "4bc2c9a7-cf4b-4d0b-e87c-dfe7a7fd08e9" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "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": { + "id": "F5FZaXFAIUXG" + }, + "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": 22, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Oux7B-KfIUXG", + "outputId": "f115362b-63d9-48b8-caee-f348c86bb40a" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Covariance matrix:\n", + "[[ 5.31679808 57.15323023]\n", + " [ 57.15323023 614.37197275]]\n", + "Covariance = 57.1532302305447\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": { + "id": "JV8ZTH1rIUXG" + }, + "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": 23, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 607 + }, + "id": "Sz9DY39RIUXH", + "outputId": "ef9fbd38-1b0f-41d0-f7c6-d385fcffe94f" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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//XRaIotZ7Z+ec7RMWJwSaHHAgpMdAMAwG4afvE9ec+bIuL4f300IiLq5kwqwERAZ+HycgAA2A3bBndb9wN7NtENAAC76PlXs+26DtjziG4AANhF//h/l5C31zpgzyO6AQBgFzW18zpgzyO6AQBgF7X2l2m/dEP35e8/AADsol+ec3S7rgP2PKIbAAB2UWvvw+1+3dB9iW4AANgNO7sPt/t0Q/dWVOgBAACgq6ubMymefzUb//ivj0ZTbDmz9ctzjnaGGxDdAADQHkYMLomXnNUGttHmy8sXL14cJ5xwQlRUVEQmk4mFCxfm7b/zzjtj/Pjx0b9//8hkMlFTU5O3f9WqVXHuuefGQQcdFL17946hQ4fGeeedF42NjXnrMplMs8ftt9/e5jcIAAAAhdLm6F67dm2MHDky5s+fv939Y8aMiSuvvLLF/fX19VFfXx9XXXVVPPvss7FgwYK47777YurUqc3W3nzzzbFixYrcY/LkyW0dFwAAAAqmzZeXT5w4MSZOnLjd/aeddlpERNTV1bW4/33ve1/84he/yD0/8MAD49vf/naceuqpsXnz5igq+ttI++23X5SXl7d1RAAAAOgUOsW3lzc2NkZJSUlecEdETJ8+PQYMGBAf+tCH4qabbookSQo0IQAAALRdwb9I7S9/+UtcccUVMW3atLzt3/zmN+NjH/tY9OnTJ+6///44++yzY82aNXHeeee1+DobNmyIDRs25J5ns9lU5wYAAICdKWh0Z7PZmDRpUowYMSJmzZqVt2/mzJm5/3zEEUfE2rVrY968eduN7tmzZ8fll1+e5rgAAADQJgW7vPzNN9+M4447Lvbdd9+46667Yu+9997h+lGjRsWrr76adzb7nWbMmBGNjY25xyuvvJLG2AAAANBqBTnTnc1mY8KECVFcXByLFi2KXr167fRnampqYv/994/i4uIW9xcXF293HwAAABRCm6N7zZo1sWzZstzz2traqKmpiX79+sXQoUNj1apV8fLLL0d9fX1ERCxdujQiIsrLy6O8vDyy2WyMHz8+1q1bF7feemtks9nc568POOCA2GuvveLuu++OlStXxlFHHRW9evWKBx54IL7zne/EV77ylfZ4zwAAANAhMkkbvxL8kUceibFjxzbbPmXKlFiwYEEsWLAgzjjjjGb7L7vsspg1a9Z2fz5iS8APHz487rvvvpgxY0YsW7YskiSJd7/73fHFL34xzjzzzOjRo3VXxGez2SgtLc19MzoAAAC0l9Y2Z5uju6sQ3QAAAKSltc3ZKe7TDQAAAHsi0Q0AAAApEd0AAACQEtENAAAAKRHdAAAAkBLRDQAAACkR3QAAAJAS0Q0AAAApKSr0AAAAdD/3PfFafOEXNbnn133q8Djug+8q3EAAKckkSZIUeog0ZLPZKC0tjcbGxigpKSn0OAAA/J/hF9+z3X11cyZ14CQAu661zenycgAAOsyOgrs1+wG6GtENAECHuO+J19p1HUBXILoBAOgQ7/wMd3usA+gKRDcAAACkRHQDAABASkQ3AAAd4rpPHd6u6wC6AtENAECHaO19uN2vG9iTiG4AADrMzu7D7T7dwJ5GdAMA0KHq5kxqdgn5dZ86XHADe6SiQg8AAED3c9wH3xV1LiMHugFnugEAACAlohsAAABSIroBAAAgJaIbAAAAUiK6AQAAICWiGwAAAFIiugEAACAlohsAAABSIroBAAAgJaIbAAAAUiK6AQAAICWiGwAAAFIiugEAACAlohsAAABSIroBAAAgJaIbAAAAUiK6AQAAICWiGwAAAFIiugEAACAlRYUeAACAnbvkF9Vx6xOrcs9P/WC/+Nanqgo4EQCt4Uw3AEAnN/zie/KCOyLi1idWxfCL7ynQRAC0lugGAOjEdhbWwhugcxPdAACd1CW/qG7XdQB0PNENANBJbXtJ+e6uA6DjiW4AAABIiegGAACAlIhuAIBO6tQP9mvXdQB0PNENANBJtfY+3O7XDdB5iW4AgE6sbs6k3doPQGGJbgCATq5uzqRml5Cf+sF+ghugC8gkSZIUeog0ZLPZKC0tjcbGxigpKSn0OAAAAOxBWtucznQDAABASkQ3AAAApER0AwAAQEpENwAAAKREdAMAAEBKRDcAAACkRHQDAABASkQ3AAAApER0AwAAQEpENwAAAKSkzdG9ePHiOOGEE6KioiIymUwsXLgwb/+dd94Z48ePj/79+0cmk4mamppmr7F+/fqYPn169O/fP/bZZ5/41Kc+FStXrsxb8/LLL8ekSZOiT58+MXDgwPjqV78amzdvbuu4AAAAUDBtju61a9fGyJEjY/78+dvdP2bMmLjyyiu3+xoXXHBB3H333XHHHXfEf/3Xf0V9fX188pOfzO1/++23Y9KkSbFx48b43e9+F7fcckssWLAgLr300raOCwAAAAWTSZIk2eUfzmTirrvuismTJzfbV1dXF5WVlfH000/H4Ycfntve2NgYBxxwQNx2223x6U9/OiIi/vjHP8Z73/veqK6ujqOOOip+9atfxT/+4z9GfX19lJWVRUTEddddFxdddFH8+c9/jp49e+50tmw2G6WlpdHY2BglJSW7+hYBAACgmdY2Z4d/pvupp56KTZs2xbhx43LbDj744Bg6dGhUV1dHRER1dXUceuihueCOiJgwYUJks9l47rnnOnpkAAAA2CVFHf0HNjQ0RM+ePWO//fbL215WVhYNDQ25Ne8M7q37t+5ryYYNG2LDhg2559lsth2nBgAAgLbbY769fPbs2VFaWpp7DBkypNAjAQAA0M11eHSXl5fHxo0bY/Xq1XnbV65cGeXl5bk1236b+dbnW9dsa8aMGdHY2Jh7vPLKK+0/PAAAALRBh0f3kUceGXvvvXc89NBDuW1Lly6Nl19+OaqqqiIioqqqKn7/+9/H66+/nlvzwAMPRElJSYwYMaLF1y0uLo6SkpK8BwAAABRSmz/TvWbNmli2bFnueW1tbdTU1ES/fv1i6NChsWrVqnj55Zejvr4+IrYEdcSWM9Tl5eVRWloaU6dOjQsvvDD69esXJSUlce6550ZVVVUcddRRERExfvz4GDFiRJx22mkxd+7caGhoiEsuuSSmT58excXF7fG+AQAAIHVtvmXYI488EmPHjm22fcqUKbFgwYJYsGBBnHHGGc32X3bZZTFr1qyIiFi/fn18+ctfjn//93+PDRs2xIQJE+Kaa67Ju3R8+fLl8cUvfjEeeeSR6Nu3b0yZMiXmzJkTRUWt+3cCtwwDgO7r+Mvuief/9v2qMaI44t7LJxVuIAD2OK1tzt26T3dnJroBoHsafvE9291XN0d4A9A+Ou19ugEA0rKj4G7NfgBob6IbANgjHH9Z64K6tesAoD2IbgBgj/DOz3C3xzoAaA+iGwAAAFIiugEAACAlohsA2COMKG7fdQDQHkQ3ALBHaO19uN2vG4COJLoBgD3Gzu7D7T7dAHQ00Q0A7FHq5kxqdgn5iGLBDUBhFBV6AACA9uYScgA6C2e6AQAAICWiGwAAAFIiugEAACAlohsAAABSIroBAAAgJaIbAAAAUiK6AQAAICWiGwAAAFIiugEAACAlohsAAABSIroBAAAgJaIbAAAAUiK6AQAAICWiGwAAAFIiugEAACAlohsAAABSIroBAAAgJaIbAAAAUiK6AQAAICVFhR4AACis4Rff02xb3ZxJBZgEAPY8znQDQDfWUnDvaDsA0DaiGwC6qZ2FtfAGgN0nugGgG2ptUAtvANg9ohsAAABSIroBAAAgJaIbAAAAUiK6AQAAICWiGwC6odbeh9v9ugFg94huAOimdhbUghsAdp/oBoBubHthLbgBoH0UFXoAAKCwBDYApMeZbgAAAEiJ6AYAAICUiG4AAABIiegGAACAlIhuAAAASInoBgAAgJSIbgAAAEiJ6AYAAICUiG4AAABIiegGAACAlIhuAAAASInoBgAAgJSIbgAAAEiJ6AYAAICUiG4AAABIiegGAACAlIhuAAAASInoBgAAgJSIbgAAAEhJUaEHAICuZvjF9zTbVjdnUgEmAQA6uzaf6V68eHGccMIJUVFREZlMJhYuXJi3P0mSuPTSS2PQoEHRu3fvGDduXLz44ou5/Y888khkMpkWH0888URERNTV1bW4/7HHHtu9dwsAu6ml4N7RdgCge2tzdK9duzZGjhwZ8+fPb3H/3Llz4+qrr47rrrsulixZEn379o0JEybE+vXrIyJi9OjRsWLFirzHP//zP0dlZWV84AMfyHutBx98MG/dkUceuQtvEQDax87CWngDANtq8+XlEydOjIkTJ7a4L0mS+MEPfhCXXHJJfPzjH4+IiB//+MdRVlYWCxcujJNPPjl69uwZ5eXluZ/ZtGlT/Od//mece+65kclk8l6vf//+eWsBoFBaG9TDL77HpeYAQE67fpFabW1tNDQ0xLhx43LbSktLY9SoUVFdXd3izyxatCj++te/xhlnnNFs34knnhgDBw6MMWPGxKJFi9pzVAAAAEhdu36RWkNDQ0RElJWV5W0vKyvL7dvWjTfeGBMmTIjBgwfntu2zzz7x3e9+Nz784Q9Hjx494he/+EVMnjw5Fi5cGCeeeGKLr7Nhw4bYsGFD7nk2m93dtwMAAAC7paDfXv7qq6/Gr3/96/j5z3+et33AgAFx4YUX5p5/8IMfjPr6+pg3b952o3v27Nlx+eWXpzovAAAAtEW7Xl6+9fPXK1euzNu+cuXKFj+bffPNN0f//v23G9LvNGrUqFi2bNl298+YMSMaGxtzj1deeaWN0wMAAED7atforqysjPLy8njooYdy27LZbCxZsiSqqqry1iZJEjfffHOcfvrpsffee+/0tWtqamLQoEHb3V9cXBwlJSV5DwBoL639cjRfogYAvFObLy9fs2ZN3hnn2traqKmpiX79+sXQoUPj/PPPj29961vxnve8JyorK2PmzJlRUVERkydPznudhx9+OGpra+Of//mfm/0Zt9xyS/Ts2TOOOOKIiIi4884746abbop/+7d/a+u4ANBu6uZM2uG3mAtuAGBbbY7uJ598MsaOHZt7vvWz11OmTIkFCxbE1772tVi7dm1MmzYtVq9eHWPGjIn77rsvevXqlfc6N954Y4wePToOPvjgFv+cK664IpYvXx5FRUVx8MEHx89+9rP49Kc/3dZxAaBdbS+8BTcA0JJMkiRJoYdIQzabjdLS0mhsbHSpOQAAAO2qtc3Zrp/pBgAAAP5GdAMAAEBKRDcAAACkRHQDAABASkQ3AAAApER0AwAAQEpENwAAAKREdAMAAEBKRDcAAACkRHQDAABASkQ3AAAApER0AwAAQEpENwAAAKREdAMAAEBKRDcAAACkRHQDAABASkQ3AAAApER0AwAAQEpENwAAAKSkqNADALBnG37xPc221c2ZVIBJAAA6njPdAKSmpeDe0XYAgD2N6AYgFTsLa+ENAHQHohuAdtfaoBbeAMCeTnQDAABASkQ3AAAApER0AwAAQEpENwAAAKREdAPQ7lp7H2736wYA9nSiG4BU7CyoBTcA0B2IbgBSs72wFtwAQHdRVOgBANizCWwAoDtzphsAAABSIroBAAAgJaIbAAAAUiK6AQAAICWiGwAAAFIiugEAACAlohsAAABSIroBAAAgJaIbAAAAUiK6AQAAICWiGwAAAFIiugEAACAlohsAAABSIroBAAAgJaIbAAAAUiK6AQAAICWiGwAAAFIiugEAACAlohsAAABSUlToAQDIN/zie5ptq5szqQCTAACwu5zpBuhEWgruHW0HAKBzE90AncTOwlp4AwB0PaIboBNobVALbwCArkV0AwAAQEpENwAAAKREdAMAAEBKRDcAAACkRHQDdAKtvQ+3+3UDAHQtohugk9hZUAtuAICuR3QDdCLbC2vBDQDQNRUVegAA8glsAIA9R5vPdC9evDhOOOGEqKioiEwmEwsXLszbnyRJXHrppTFo0KDo3bt3jBs3Ll588cW8NcOHD49MJpP3mDNn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WyspKfEXv5NzjDo/x6jzc4w6P8eo83OMOj/HqPNzjApjR2e4t/JFagAAAJAS0Q0AAAApEd20u+Li4rjsssuiuLi40KOwHY5R5+cYdX6OUefnGHV+jlHn5xh1fo5R57fHfpEaAAAAFJoz3QAAAJAS0Q0AAAApEd0AAACQEtENAAAAKRHd7LLXXnstTj311Ojfv3/07t07Dj300HjyySdz+9esWRPnnHNODB48OHr37h0jRoyI6667roATdy/Dhw+PTCbT7DF9+vSIiFi/fn1Mnz49+vfvH/vss0986lOfipUrVxZ46u5lR8do1apVce6558ZBBx0UvXv3jqFDh8Z5550XjY2NhR67W9nZ36OtkiSJiRMnRiaTiYULFxZm2G6qNceouro6Pvaxj0Xfvn2jpKQkjjnmmHjrrbcKOHX3srNj1NDQEKeddlqUl5dH37594/3vf3/84he/KPDU3cvbb78dM2fOjMrKyujdu3cceOCBccUVV8Q7v285SZK49NJLY9CgQdG7d+8YN25cvPjiiwWcuvvZ2XHatGlTXHTRRXHooYdG3759o6KiIk4//fSor68v8OQUFXoAuqY33ngjPvzhD8fYsWPjV7/6VRxwwAHx4osvxv77759bc+GFF8bDDz8ct956awwfPjzuv//+OPvss6OioiJOPPHEAk7fPTzxxBPx9ttv554/++yz8Q//8A/xmc98JiIiLrjggrjnnnvijjvuiNLS0jjnnHPik5/8ZPz3f/93oUbudnZ0jOrr66O+vj6uuuqqGDFiRCxfvjy+8IUvRH19ffzHf/xHAafuXnb292irH/zgB5HJZDp6PGLnx6i6ujqOO+64mDFjRvzwhz+MoqKi+N///d/o0cN5h46ys2N0+umnx+rVq2PRokUxYMCAuO222+Kkk06KJ598Mo444ohCjd2tXHnllXHttdfGLbfcEoccckg8+eSTccYZZ0RpaWmcd955ERExd+7cuPrqq+OWW26JysrKmDlzZkyYMCGef/756NWrV4HfQfews+O0bt26+J//+Z+YOXNmjBw5Mt5444340pe+FCeeeGLeiTEKIIFdcNFFFyVjxozZ4ZpDDjkk+eY3v5m37f3vf3/yjW98I83R2I4vfelLyYEHHpg0NTUlq1evTvbee+/kjjvuyO3/wx/+kEREUl1dXcApu7d3HqOW/PznP0969uyZbNq0qYMnY6uWjtHTTz+dvOtd70pWrFiRRERy1113FW5Amh2jUaNGJZdcckmBp+Kdtj1Gffv2TX784x/nrenXr19yww03FGK8bmnSpEnJ5z//+bxtn/zkJ5PPfvazSZIkSVNTU1JeXp7Mmzcvt3/16tVJcXFx8u///u8dOmt3trPj1JLHH388iYhk+fLlaY/HDvhnXnbJokWL4gMf+EB85jOfiYEDB8YRRxwRN9xwQ96a0aNHx6JFi+K1116LJEniN7/5Tbzwwgsxfvz4Ak3dfW3cuDFuvfXW+PznPx+ZTCaeeuqp2LRpU4wbNy635uCDD46hQ4dGdXV1ASftvrY9Ri1pbGyMkpKSKCpykVIhtHSM1q1bF6ecckrMnz8/ysvLCzwh2x6j119/PZYsWRIDBw6M0aNHR1lZWXzkIx+J3/72t4Uetdtq6e/R6NGj42c/+1msWrUqmpqa4vbbb4/169fHRz/60cIO242MHj06HnrooXjhhRciIuJ///d/47e//W1MnDgxIiJqa2ujoaEh7/eG0tLSGDVqlN8bOtDOjlNLGhsbI5PJxH777ddBU9ISv7mxS1566aW49tpr48ILL4yvf/3r8cQTT8R5550XPXv2jClTpkRExA9/+MOYNm1aDB48OIqKiqJHjx5xww03xDHHHFPg6bufhQsXxurVq+Nzn/tcRGz5/FzPnj2b/RdwWVlZNDQ0dPyANDtG2/rLX/4SV1xxRUybNq1jByOnpWN0wQUXxOjRo+PjH/944QYjZ9tj9NJLL0VExKxZs+Kqq66Kww8/PH784x/HscceG88++2y85z3vKeC03VNLf49+/vOfxz/90z9F//79o6ioKPr06RN33XVXvPvd7y7coN3MxRdfHNlsNg4++ODYa6+94u23345vf/vb8dnPfjYiIve7QVlZWd7P+b2hY+3sOG1r/fr1cdFFF8X/+3//L0pKSjp4Wt5JdLNLmpqa4gMf+EB85zvfiYiII444Ip599tm47rrr8qL7sccei0WLFsWwYcNi8eLFMX369KioqMj7l1LSd+ONN8bEiROjoqKi0KOwHTs6RtlsNiZNmhQjRoyIWbNmdfxwRETzY7Ro0aJ4+OGH4+mnny7wZGy17TFqamqKiIizzjorzjjjjIjY8r9XDz30UNx0000xe/bsgs3aXbX033UzZ86M1atXx4MPPhgDBgyIhQsXxkknnRSPPvpoHHrooQWctvv4+c9/Hj/96U/jtttui0MOOSRqamri/PPPj4qKitzvdRReW47Tpk2b4qSTTookSeLaa68t0MTkFPr6drqmoUOHJlOnTs3bds011yQVFRVJkiTJunXrkr333jv55S9/mbdm6tSpyYQJEzpsTpKkrq4u6dGjR7Jw4cLctoceeiiJiOSNN97IWzt06NDke9/7XgdPSEvHaKtsNptUVVUlxx57bPLWW28VYDqSpOVj9KUvfSnJZDLJXnvtlXtERNKjR4/kIx/5SOGG7aZaOkYvvfRSEhHJT37yk7y1J510UnLKKad09IjdXkvHaNmyZUlEJM8++2ze2mOPPTY566yzOnrEbmvw4MHJv/7rv+Ztu+KKK5KDDjooSZIk+dOf/pRERPL000/nrTnmmGOS8847r6PG7PZ2dpy22rhxYzJ58uTksMMOS/7yl7905Ihsh890s0s+/OEPx9KlS/O2vfDCCzFs2LCI2PKva5s2bWr27bB77bVX7swDHePmm2+OgQMHxqRJk3LbjjzyyNh7773joYceym1bunRpvPzyy1FVVVWIMbu1lo5RxJYz3OPHj4+ePXvGokWLfDtsAbV0jC6++OJ45plnoqamJveIiPj+978fN998c4Em7b5aOkbDhw+PioqKHf7vFR2npWO0bt26iAi/LxTYunXrdngMKisro7y8PO/3hmw2G0uWLPF7Qwfa2XGK+NsZ7hdffDEefPDB6N+/f0ePSUsKXf10TY8//nhSVFSUfPvb305efPHF5Kc//WnSp0+f5NZbb82t+chHPpIccsghyW9+85vkpZdeSm6++eakV69eyTXXXFPAybuXt99+Oxk6dGhy0UUXNdv3hS98IRk6dGjy8MMPJ08++WRSVVWVVFVVFWDK7m17x6ixsTEZNWpUcuihhybLli1LVqxYkXts3ry5QNN2Tzv6e7St8O3lBbGjY/T9738/KSkpSe64447kxRdfTC655JKkV69eybJlywowafe1vWO0cePG5N3vfndy9NFHJ0uWLEmWLVuWXHXVVUkmk0nuueeeAk3b/UyZMiV517velfzyl79MamtrkzvvvDMZMGBA8rWvfS23Zs6cOcl+++2X/Od//mfyzDPPJB//+MeTyspKV2F1oJ0dp40bNyYnnnhiMnjw4KSmpibvd4cNGzYUePruTXSzy+6+++7kfe97X1JcXJwcfPDByfXXX5+3f8WKFcnnPve5pKKiIunVq1dy0EEHJd/97ne3ezsk2t+vf/3rJCKSpUuXNtv31ltvJWeffXay//77J3369Ek+8YlPJCtWrCjAlN3b9o7Rb37zmyQiWnzU1tYWZthuakd/j7YlugtjZ8do9uzZyeDBg5M+ffokVVVVyaOPPtrBE7KjY/TCCy8kn/zkJ5OBAwcmffr0SQ477LBmtxAjXdlsNvnSl76UDB06NOnVq1fyd3/3d8k3vvGNvFBrampKZs6cmZSVlSXFxcXJscce26r/XqT97Ow41dbWbvd3h9/85jeFHb6byyRJknTwyXUAAADoFnymGwAAAFIiugEAACAlohsAAABSIroBAAAgJaIbAAAAUiK6AQAAICWiGwAAAFIiugEAACAlohsAAABSIroBAAAgJaIbAAAAUiK6AQAAICX/H43iTkOetRhlAAAAAElFTkSuQmCC\n" + }, + "metadata": {} + } + ], + "source": [ + "plt.figure(figsize=(10,6))\n", + "plt.scatter(heights,salaries)\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "1n-bXVOYIUXH" + }, + "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": 24, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "sdS7DPgcIUXH", + "outputId": "97f0efaf-ef7a-4b8d-95a9-b01d4c917c4f" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Correlation = 0.9835304456670827\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": { + "id": "gtPLXZGzIUXI" + }, + "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": 25, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "gYKdvnQYIUXI", + "outputId": "51359d22-9747-4bdd-e08a-3cf388ac5258" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Correlation = 0.9332592309527241\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": 26, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 607 + }, + "id": "-ZYLE3UAIUXJ", + "outputId": "fb604472-ce5b-4f77-c407-6f69de3f9cc5" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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zNS5556rRx55pFvmwgsv1NatW3XgwAFZlqWXXnpJ77//vubOnevQqGNXS0uLNm/erG984xvy+Xx644031Nraqjlz5nRlzjzzTE2cOFFFRUUOjjR29XyP+lJbW6u0tDTFx7NIyQl9vUeNjY269tpr9dBDDyk7O9vhEaLne1RVVaWdO3cqMzNTF154obKysvTZz35Wf/7zn50easzq67+jCy+8UE8++aSqq6sVDof1X//1X2pqatLnPvc5ZwcbQy688EJt375d77//viTpzTff1J///GctWLBAklReXq7KyspunxuCwaBmzZrF54YRNNj71Jfa2lr5fD6NGTNmhEaJvvDJDSdl79692rBhg1auXKkf/OAHeu2113TzzTcrMTFRS5YskST97Gc/07JlyzR+/HjFx8fL7/frkUce0ezZsx0efezZsmWLampq9LWvfU1Sx/1ziYmJvf4BzsrKUmVl5cgPEL3eo54OHz6su+++W8uWLRvZgaFLX+/Rd77zHV144YW64oornBsYuvR8j/bu3StJuvPOO3X//ffrnHPO0eOPP64vfOELKi0t1emnn+7gaGNTX/8dPfXUU/rKV76ijIwMxcfHKyUlRX/4wx902mmnOTfQGPP9739fdXV1OvPMMxUXF6f29nb96Ec/0le/+lVJ6vpskJWV1e3P8blhZA32PvXU1NSk2267Tf/n//wfpaWljfBocSJKN05KOBzW+eefr3/913+VJJ177rkqLS3Vxo0bu5XuV199VVu3btWkSZO0Y8cOrVixQjk5Od2ulCLyfvnLX2rBggXKyclxeijox0DvUV1dnRYuXKi8vDzdeeedIz84SOr9Hm3dulUvvvii/vrXvzo8MnTq+R6Fw2FJ0o033qivf/3rkjp+X23fvl2/+tWvtG7dOsfGGqv6+rfujjvuUE1NjV544QWNGzdOW7Zs0dVXX62XX35Z06ZNc3C0seOpp57Sr3/9a/3mN7/RWWedpZKSEt1yyy3Kycnp+lwH5w3lfWptbdXVV18ty7K0YcMGh0aMLk6vb4c3TZw40Vq6dGm3x37+859bOTk5lmVZVmNjo5WQkGA988wz3TJLly615s2bN2LjhGXt27fP8vv91pYtW7oe2759uyXJOnr0aLfsxIkTrR//+McjPEL09R51qqurswoKCqwvfOEL1vHjxx0YHSyr7/fo29/+tuXz+ay4uLiuL0mW3++3PvvZzzo32BjV13u0d+9eS5L1xBNPdMteffXV1rXXXjvSQ4x5fb1He/bssSRZpaWl3bJf+MIXrBtvvHGkhxizxo8fb/3Hf/xHt8fuvvtu64wzzrAsy7I++OADS5L117/+tVtm9uzZ1s033zxSw4x5g71PnVpaWqwrr7zSOvvss63Dhw+P5BDRD+7pxkn5zGc+o/fee6/bY++//74mTZokqePqWmtra6/dYePi4rpmHjAyHn30UWVmZmrhwoVdj5133nlKSEjQ9u3bux577733tH//fhUUFDgxzJjW13skdcxwz507V4mJidq6dSu7wzqor/fo+9//vt566y2VlJR0fUnST37yEz366KMOjTR29fUeTZ48WTk5OQP+vsLI6es9amxslCQ+LzissbFxwPcgNzdX2dnZ3T431NXVaefOnXxuGEGDvU/SJzPcu3fv1gsvvKCMjIyRHib64nTrhzcVFxdb8fHx1o9+9CNr9+7d1q9//WsrJSXF2rx5c1fms5/9rHXWWWdZL730krV3717r0UcftQKBgPXzn//cwZHHlvb2dmvixInWbbfd1uu5m266yZo4caL14osvWq+//rpVUFBgFRQUODDK2Nbfe1RbW2vNmjXLmjZtmrVnzx6roqKi66utrc2h0camgf476knsXu6Igd6jn/zkJ1ZaWpr129/+1tq9e7d1++23W4FAwNqzZ48DI41d/b1HLS0t1mmnnWZdfPHF1s6dO609e/ZY999/v+Xz+aw//vGPDo029ixZssQ69dRTrWeeecYqLy+3fv/731vjxo2zbr311q7Mvffea40ZM8Z6+umnrbfeesu64oorrNzcXFZhjaDB3qeWlhbr8ssvt8aPH2+VlJR0++zQ3Nzs8OhjG6UbJ23btm1Wfn6+lZSUZJ155pnWww8/3O35iooK62tf+5qVk5NjBQIB64wzzrD+/d//vd/jkGC///mf/7EkWe+9916v544fP279y7/8izV27FgrJSXF+uIXv2hVVFQ4MMrY1t979NJLL1mS+vwqLy93ZrAxaqD/jnqidDtjsPdo3bp11vjx462UlBSroKDAevnll0d4hBjoPXr//fetq666ysrMzLRSUlKss88+u9cRYoisuro669vf/rY1ceJEKxAIWFOmTLF++MMfditq4XDYuuOOO6ysrCwrKSnJ+sIXvmD07yLsM9j7VF5e3u9nh5deesnZwcc4n2VZ1ghPrgMAAAAAEBO4pxsAAAAAgAihdAMAAAAAECGUbgAAAAAAIoTSDQAAAABAhFC6AQAAAACIEEo3AAAAAAARQukGAAAAACBCKN0AAAAAAEQIpRsAAAAAgAihdAMAAAAAECGUbgAAAAAAIoTSDQAAAABAhPz/a10cYjkok9IAAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ], + "source": [ + "plt.figure(figsize=(10,6))\n", + "plt.scatter(heights, salaries)\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "U_hRjJkMIUXJ" + }, + "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": 27, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "ba1ty3GoIUXK", + "outputId": "56ecb028-8d9a-4777-b028-e72fc2028498" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 1., nan],\n", + " [nan, nan]])" + ] + }, + "metadata": {}, + "execution_count": 27 + } + ], + "source": [ + "np.corrcoef(df['Height'],df['Weight'])" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "0o3CEkTHIUXL" + }, + "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": 28, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "C1wzEgHGIUXM", + "outputId": "f953f94a-e9d6-41a3-e53f-7c5a72e38f8c" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[1. , 0.52959196],\n", + " [0.52959196, 1. ]])" + ] + }, + "metadata": {}, + "execution_count": 28 + } + ], + "source": [ + "np.corrcoef(df['Height'],df['Weight'].fillna(method='pad'))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "59HPAOScIUXM" + }, + "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": 29, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 607 + }, + "id": "LR27XJe9IUXM", + "outputId": "a1d4bb37-9c83-49b3-b299-d8b8bc365fd6" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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7yUlJZo0aZL++7//W5J0880368UXX9Qf//hH+f1+zZ07V5dffrn+/ve/u9XkPqOjsfn000/16aef6uc//7kCgYB2796tG264QZ9++qn+9Kc/udjqvqOz907EL3/5S/l8vlg3r8/rbHyKi4tVUFCgefPm6de//rWSkpL0z3/+UwkJzEXEQmfjc9VVV2n//v1auXKljjrqKD311FP6+te/rn/84x8688wz3Wp2n3Hvvfdq6dKl+u1vf6tTTjlF//jHP3TttdfK7/frxhtvlCT97Gc/0wMPPKDf/va3ysvL0/z583XRRReptLRUKSkpLvfAbJ2NT01NjbZt26b58+fr9NNP1759+3TTTTfpkksuaTXxhRizgF5y2223WWPHju0w5pRTTrF+8pOftHps1KhR1o9+9KPebBqiuOmmm6zjjz/eCofD1v79+61+/fpZf/zjH5uf37FjhyXJKi4udrGVfVPLsWnPH/7wBys5OdlqaGiIcctgWe2Pz5tvvmkde+yxVnl5uSXJevbZZ91rYB935PicffbZ1p133ulyqxBx5PgMGDDAevLJJ1vFZGRkWIWFhW40r8+5+OKLre985zutHrv88sutb3/725ZlWVY4HLays7Ot++67r/n5/fv3W/3797d+//vfx7StfVFn49OeLVu2WJKs3bt393bzEAVf6aLXrFy5Ul/5ylf03//938rKytKZZ56pwsLCVjHnnHOOVq5cqU8++USWZWndunV67733NHnyZJda3XfV19drxYoV+s53viOfz6etW7eqoaFBF154YXPMSSedpOHDh6u4uNjFlvY9R45Ne4LBoNLT05WUxAKmWGtvfGpqavStb31LDz30kLKzs11uYd925PhUVlZq8+bNysrK0jnnnKNjjjlGEyZM0MaNG91uap/U3vvnnHPO0TPPPKOqqiqFw2E9/fTTqqur03nnneduY/uIc845R6+88oree+89SdI///lPbdy4UVOmTJEklZWVqaKiotX9gd/v19lnn839QQx0Nj7tCQaD8vl8Gjx4cIxaiSNxd4Ze8+GHH2rp0qW65ZZbdMcdd+iNN97QjTfeqOTkZF199dWSpF//+te6/vrrNWzYMCUlJSkhIUGFhYUaP368y63ve5577jnt379f11xzjaSmPXXJycltLtDHHHOMKioqYt/APuzIsTnSF198oUWLFun666+PbcMgqf3xufnmm3XOOefo0ksvda9hkNR2fD788ENJ0l133aWf//znOuOMM/Tkk0/qggsuUElJif7jP/7Dxdb2Pe29f/7whz/oG9/4hjIzM5WUlKS0tDQ9++yzOuGEE9xraB9y++23q7q6WieddJISExMVCoV0zz336Nvf/rYkNd8DHHPMMa3+O+4PYqOz8TlSXV2dbrvtNl155ZVKT0+PcWsRQdKNXhMOh/WVr3xFixcvliSdeeaZKikp0SOPPNIq6d60aZNWrlypESNG6LXXXtOcOXM0dOjQVt+govc99thjmjJlioYOHep2U3CEjsamurpaF198sQKBgO66667YNw5txmflypVau3at3nzzTZdbBqnt+ITDYUnSrFmzdO2110pq+nx65ZVX9Pjjj2vJkiWutbUvau/6Nn/+fO3fv19/+9vfdNRRR+m5557T17/+dW3YsEGnnnqqi63tG/7whz/od7/7nZ566imdcsop2r59u77//e9r6NChzfdvcE9XxqehoUFf//rXZVmWli5d6lKLIYk93eg9w4cPt6677rpWjz388MPW0KFDLcuyrJqaGqtfv37WCy+80Crmuuuusy666KKYtROWtWvXLishIcF67rnnmh975ZVXLEnWvn37WsUOHz7c+sUvfhHjFvZd7Y1NRHV1tZWfn29dcMEFVm1trQutQ3vjc9NNN1k+n89KTExs/pFkJSQkWBMmTHCvsX1Qe+Pz4YcfWpKs5cuXt4r9+te/bn3rW9+KdRP7tPbG54MPPrAkWSUlJa1iL7jgAmvWrFmxbmKfNGzYMOvBBx9s9diiRYusE0880bIsy9q5c6clyXrzzTdbxYwfP9668cYbY9XMPquz8Ymor6+3LrvsMuu0006zvvjii1g2Ee1gTzd6zbnnnqt333231WPvvfeeRowYIanp27eGhoY2p8UmJiY2z0QgNp544gllZWXp4osvbn7srLPOUr9+/fTKK680P/buu+9qz549ys/Pd6OZfVJ7YyM1zXBPnjxZycnJWrlyJafFuqS98bn99tv11ltvafv27c0/knT//ffriSeecKmlfVN745Obm6uhQ4d2+PmE2GhvfGpqaiSJewMX1dTUdPjvn5eXp+zs7Fb3B9XV1dq8eTP3BzHQ2fhI/57hfv/99/W3v/1NmZmZsW4mjuR21g9zbdmyxUpKSrLuuece6/3337d+97vfWWlpadaKFSuaYyZMmGCdcsop1rp166wPP/zQeuKJJ6yUlBTr4YcfdrHlfUsoFLKGDx9u3XbbbW2eu+GGG6zhw4dba9eutf7xj39Y+fn5Vn5+vgut7JuijU0wGLTOPvts69RTT7U++OADq7y8vPmnsbHRpdb2PR29d44kTi+PuY7G5/7777fS09OtP/7xj9b7779v3XnnnVZKSor1wQcfuNDSvina+NTX11snnHCCNW7cOGvz5s3WBx98YP385z+3fD6f9eKLL7rU2r7l6quvto499ljrhRdesMrKyqy//OUv1lFHHWX97//+b3PMT3/6U2vw4MHW888/b7311lvWpZdeauXl5bHqKgY6G5/6+nrrkksusYYNG2Zt37691T3C4cOHXW5930XSjV61atUqa+TIkVb//v2tk046yfrNb37T6vny8nLrmmuusYYOHWqlpKRYJ554ovV///d/UcsiwXl//etfLUnWu+++2+a52tpa67vf/a41ZMgQKy0tzfra175mlZeXu9DKvina2Kxbt86S1O5PWVmZO43tgzp67xyJpDv2OhufJUuWWMOGDbPS0tKs/Px8a8OGDTFuYd/W0fi899571uWXX25lZWVZaWlp1mmnndamhBh6T3V1tXXTTTdZw4cPt1JSUqwvfelL1o9+9KNWCVs4HLbmz59vHXPMMVb//v2tCy64wNa1ED3X2fiUlZVFvUdYt26du43vw3yWZVkxnlwHAAAAAKBPYE83AAAAAAC9hKQbAAAAAIBeQtINAAAAAEAvIekGAAAAAKCXkHQDAAAAANBLSLoBAAAAAOglJN0AAAAAAPQSkm4AAAAAAHoJSTcAAGglNzdXv/zlL23H79q1Sz6fT9u3b++1NgEA4FUk3QAAGOKaa67RZZdd1ubxV199VT6fT/v377f157zxxhu6/vrrHW3bsmXLNHjwYEf/TAAAvCDJ7QYAAID4cvTRR7vdBAAAjMFMNwAAfczGjRs1btw4paam6rjjjtONN96oQ4cONT9/5PLyd955R2PHjlVKSooCgYD+9re/yefz6bnnnmv153744Yc6//zzlZaWptNPP13FxcWSmmbar732WgWDQfl8Pvl8Pt11110x6CkAAO4j6QYAoA/ZuXOnCgoKdMUVV+itt97SM888o40bN2ru3LntxodCIV122WVKS0vT5s2b9Zvf/EY/+tGP2o390Y9+pB/+8Ifavn27vvzlL+vKK69UY2OjzjnnHP3yl79Uenq6ysvLVV5erh/+8Ie92U0AAOIGy8sBADDICy+8oIEDB7Z6LBQKNf//JUuW6Nvf/ra+//3vS5L+4z/+Qw888IAmTJigpUuXKiUlpdV/u2bNGu3cuVOvvvqqsrOzJUn33HOPJk2a1Obv/uEPf6iLL75YkrRw4UKdcsop+uCDD3TSSSfJ7/fL5/M1/xkAAPQVJN0AABjk/PPP19KlS1s9tnnzZk2fPl2S9M9//lNvvfWWfve73zU/b1mWwuGwysrKdPLJJ7f6b999910dd9xxrZLlMWPGtPt3n3baac3/PycnR5JUWVmpk046qWedAgDAw0i6AQAwyIABA3TCCSe0euzjjz9u/v8HDx7UrFmzdOONN7b5b4cPH96jv7tfv37N/9/n80mSwuFwj/5MAAD+//buWKXNKIzj8L8ITi4BRcgkBMkmKLiEuOk1ZHRxcAhkzCJegJBrUS/AIWAySwaHJJOZBDeDazoUWtpqaMGPRPI88ze8Z/xxPt7z1YluAFghBwcHeXx8/CvMP1KtVjOZTPL8/Jzt7e0kP54U+1/r6+u//eYOAKvCIjUAWCHtdjv9fj/NZjMPDw8ZjUa5vb39cJHayclJKpVKTk9PMxgM0uv1cnFxkeTXbfa/2NnZyXQ6zd3dXV5eXvL29vYp5wGAZSe6AWCF7O3tpdvtZjgc5ujoKPv7+7m8vEy5XH73+7W1tdzc3GQ6nebw8DBnZ2c/t5f/uXRtnlqtlvPz8zQajWxtbeXq6upTzgMAy+7bbDabLXoIAODr6PV6qdfrGY/HqVQqix4HAJaa6AYA5rq+vs7GxkZ2d3czHo/TarVSKpVyf3+/6NEAYOlZpAYAzPX6+pp2u52np6dsbm7m+Pg4nU5n0WMBwJfgphsAAAAKYpEaAAAAFER0AwAAQEFENwAAABREdAMAAEBBRDcAAAAURHQDAABAQUQ3AAAAFER0AwAAQEFENwAAABTkOyKd43dwUBJRAAAAAElFTkSuQmCC\n" + }, + "metadata": {} + } + ], + "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": "markdown", + "metadata": { + "id": "O-i0GjqIIUXM" + }, + "source": [ + "## Conclusion\n", + "\n", + "In this notebook we have learnt how to perform basic operations on data to compute statistical functions. We now know how to use a sound apparatus of math and statistics in order to prove some hypotheses, and how to compute confidence intervals for arbitrary variables given a data sample." + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Challenge\n" + ], + "metadata": { + "id": "z9YubMYAuAG7" + } + }, + { + "cell_type": "markdown", + "source": [ + "Use the sample code in the notebook to test other hypothesis that:\n", + "\n", + "1. First basemen are older than second basemen\n", + "2. First basemen are taller than third basemen\n", + "3. Shortstops are taller than second basemen\n" + ], + "metadata": { + "id": "q0cxF4-2uQg5" + } + }, + { + "cell_type": "markdown", + "source": [ + "### First basemen are older than second basemen" + ], + "metadata": { + "id": "eqa9jPuIuWrz" + } + }, + { + "cell_type": "markdown", + "source": [ + "Let's test the hypothesis that First Basemen are older than Second Basemen. The simplest way to do this is to test the confidence intervals:" + ], + "metadata": { + "id": "sDiN7_wpvPaZ" + } + }, + { + "cell_type": "code", + "source": [ + "for p in [0.85,0.9,0.95]:\n", + " m1, h1 = mean_confidence_interval(df.loc[df['Role']=='First_Baseman',['Age']],p)\n", + " m2, h2 = mean_confidence_interval(df.loc[df['Role']=='Second_Baseman',['Age']],p)\n", + " print(f'Conf={p:.2f}, 1st basemen age: {m1-h1[0]:.2f}..{m1+h1[0]:.2f}, 2nd basemen age: {m2-h2[0]:.2f}..{m2+h2[0]:.2f}')" + ], + "metadata": { + "id": "17SWW8n1uL-s", + "outputId": "5a4a6929-c3f0-4257-b7b4-b7257d7e773b", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 30, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Conf=0.85, 1st basemen age: 28.56..30.39, 2nd basemen age: 28.18..29.87\n", + "Conf=0.90, 1st basemen age: 28.42..30.53, 2nd basemen age: 28.06..29.99\n", + "Conf=0.95, 1st basemen age: 28.22..30.73, 2nd basemen age: 27.87..30.18\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "We can see that the intervals do overlap.\n", + "\n", + "A statistically more correct way to prove the hypothesis is to use a **Student t-test**:\n" + ], + "metadata": { + "id": "_kjnTN57voE1" + } + }, + { + "cell_type": "code", + "source": [ + "tval, pval = ttest_ind(df.loc[df['Role']=='First_Baseman',['Age']], df.loc[df['Role']=='Second_Baseman',['Age']],equal_var=False)\n", + "print(f\"T-value = {tval[0]:.2f}\\nP-value: {pval[0]}\")" + ], + "metadata": { + "id": "MHUMgyBGv1Wo", + "outputId": "09f8e24e-6f67-4eaf-a6c1-f58260f31064", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 31, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "T-value = 0.53\n", + "P-value: 0.6005513264471434\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "\n", + "\n", + "* The p-value is the probability of obtaining a result at least as extreme as the one observed, assuming that the null hypothesis is true (p-value can be considered as the probability of two distributions having the same mean). In our case, the null hypothesis would be that there is no difference in ages between First basemen and second basemen of players. A p-value of 0.60 indicates that, assuming the null hypothesis is true, there is a 60% probability of obtaining a result at least as extreme as the one observed. In general, if the p-value is less than a predefined significance level (for example, 0.05), the null hypothesis is rejected and it is concluded that there is a significant difference between the groups. However, since your p-value is greater than 0.05, there is not enough evidence to reject the null hypothesis and conclude that there is a significant difference in ages between the two groups of players.\n" + ], + "metadata": { + "id": "-Qx9SQL7wETA" + } + }, + { + "cell_type": "markdown", + "source": [ + "* The t-value is a statistic that measures the size of the difference between two groups in relation to the variation in the sample data. In other words, the t-value is simply the calculated difference represented in units of standard error. The larger the magnitude of the t-value, the greater the evidence against the null hypothesis.\n", + "\n", + " In your case, if the t-value is equal to 0.53, this indicates that the difference between the two groups is not very large in relation to the variation in the sample data. A small t-value suggests that there is not enough evidence to reject the null hypothesis and conclude that there is a significant difference between the two groups." + ], + "metadata": { + "id": "fVtApZXSy7-k" + } + }, + { + "cell_type": "markdown", + "source": [ + "### First basemen are taller than third basemen" + ], + "metadata": { + "id": "5m3HHZvDzcch" + } + }, + { + "cell_type": "markdown", + "source": [ + "Let's test the hypothesis that First Basemen are taller than Third Basemen. The simplest way to do this is to test the confidence intervals:" + ], + "metadata": { + "id": "THSfoe-r0BAn" + } + }, + { + "cell_type": "code", + "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", + " m3, h3 = mean_confidence_interval(df.loc[df['Role']=='Third_Baseman',['Height']],p)\n", + " print(f'Conf={p:.2f}, 1st basemen height: {m1-h1[0]:.2f}..{m1+h1[0]:.2f}, 3rd basemen height: {m3-h3[0]:.2f}..{m3+h3[0]:.2f}')" + ], + "metadata": { + "id": "HtLzYWJ5v3KO", + "outputId": "2b93373b-5669-4f67-ccf5-58fc8e611b8c", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 32, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Conf=0.85, 1st basemen height: 73.62..74.38, 3rd basemen height: 72.58..73.51\n", + "Conf=0.90, 1st basemen height: 73.56..74.44, 3rd basemen height: 72.51..73.58\n", + "Conf=0.95, 1st basemen height: 73.47..74.53, 3rd basemen height: 72.40..73.68\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "We can see that the intervals do not overlap.\n", + "\n", + "**student t-test**" + ], + "metadata": { + "id": "WeSVWGn10FDZ" + } + }, + { + "cell_type": "code", + "source": [ + "tval, pval = ttest_ind(df.loc[df['Role']=='First_Baseman',['Height']], df.loc[df['Role']=='Third_Baseman',['Height']],equal_var=False)\n", + "print(f\"T-value = {tval[0]:.2f}\\nP-value: {pval[0]}\")" + ], + "metadata": { + "id": "j__x6Szdz67t", + "outputId": "60441609-435f-40d5-bc1c-f446935f39ae", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 37, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "T-value = 2.32\n", + "P-value: 0.02285634157510527\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "\n", + "\n", + "* A t-value of 2.32 indicates that there is a moderate difference in heights between the two groups in relation to the variation in the sample data.\n", + "* p-value of 0.023 indicates that, assuming the null hypothesis is true (i.e., that there is no difference in heights between the two groups), there is a 2.3% probability of obtaining a result at least as extreme as the one observed" + ], + "metadata": { + "id": "RY5vm27t1IaE" + } + }, + { + "cell_type": "markdown", + "source": [ + "### Shortstops are taller than second basemen" + ], + "metadata": { + "id": "DKbjAJeX1kIu" + } + }, + { + "cell_type": "markdown", + "source": [ + "the confidence intervals." + ], + "metadata": { + "id": "d-Vwzkzw1p0W" + } + }, + { + "cell_type": "code", + "source": [ + "for p in [0.85,0.9,0.95]:\n", + " m1, h1 = mean_confidence_interval(df.loc[df['Role']=='Shortstop',['Height']],p)\n", + " m2, h2 = mean_confidence_interval(df.loc[df['Role']=='Second_Baseman',['Height']],p)\n", + " print(f'Conf={p:.2f}, Shortstop height: {m1-h1[0]:.2f}..{m1+h1[0]:.2f}, 2nd basemen height: {m2-h2[0]:.2f}..{m2+h2[0]:.2f}')" + ], + "metadata": { + "id": "CtimHO1V0Zu1", + "outputId": "abdb0d0c-5460-4e1e-b970-003f6ce30ad1", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 36, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Conf=0.85, Shortstop height: 71.54..72.27, 2nd basemen height: 71.04..71.69\n", + "Conf=0.90, Shortstop height: 71.49..72.32, 2nd basemen height: 70.99..71.73\n", + "Conf=0.95, Shortstop height: 71.40..72.40, 2nd basemen height: 70.92..71.81\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "We can see that the intervals do overlap.\n", + "\n", + "**student t-test**" + ], + "metadata": { + "id": "7IiPnuFR2NRW" + } + }, + { + "cell_type": "code", + "source": [ + "tval, pval = ttest_ind(df.loc[df['Role']=='Shortstop',['Height']], df.loc[df['Role']=='Second_Baseman',['Height']],equal_var=False)\n", + "print(f\"T-value = {tval[0]:.2f}\\nP-value: {pval[0]}\")" + ], + "metadata": { + "id": "xWDTpnDI127B", + "outputId": "ce861612-fb9b-4f23-9bbd-a43cae0657a0", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 38, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "T-value = 1.62\n", + "P-value: 0.10763413630751067\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "* A t-value of 1.62 indicates that there is a small difference in heights between the two groups in relation to the variation in the sample data.\n", + "* A p-value of 0.10763413630751067 indicates that, assuming the null hypothesis is true (i.e., that there is no difference in heights between the two groups), there is a 10.76% probability of obtaining a result at least as extreme as the one observed." + ], + "metadata": { + "id": "NE6XLRMX23qY" + } + } + ], + "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.8.12" + }, + "colab": { + "provenance": [], + "toc_visible": true, + "include_colab_link": true } - ], - "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": "markdown", - "metadata": {}, - "source": [ - "## Conclusion\n", - "\n", - "In this notebook we have learnt how to perform basic operations on data to compute statistical functions. We now know how to use a sound apparatus of math and statistics in order to prove some hypotheses, and how to compute confidence intervals for arbitrary variables given a data sample. " - ] - } - ], - "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.8.12" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file