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",
- "
"
+ },
+ {
+ "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": 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": "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\n",
- "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": [
- "
\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