{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Introduction to Probability and Statistics\n",
"|\n",
"In this notebook, we will play around with some of the concepts we have previously discussed. Many concepts from probability and statistics are well-represented in major libraries for data processing in Python, such as `numpy` and `pandas`."
]
},
{
"cell_type": "code",
"execution_count": 212,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import random\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Random Variables and Distributions\n",
"\n",
"Let's start with drawing a sample of 30 variables from a uniform distribution from 0 to 9. We will also compute mean and variance."
]
},
{
"cell_type": "code",
"execution_count": 213,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Sample: [1, 1, 0, 5, 6, 3, 7, 5, 1, 6, 5, 6, 7, 0, 3, 6, 2, 4, 2, 8, 1, 5, 7, 10, 8, 5, 7, 10, 6, 8]\n",
"Mean = 4.833333333333333\n",
"Variance = 7.938888888888889\n"
]
}
],
"source": [
"sample = [ random.randint(0,10) for _ in range(30) ]\n",
"print(f\"Sample: {sample}\")\n",
"print(f\"Mean = {np.mean(sample)}\")\n",
"print(f\"Variance = {np.var(sample)}\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To visually estimate how many different values are there in the sample, we can plot the **histogram**:"
]
},
{
"cell_type": "code",
"execution_count": 214,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"image/svg+xml": "\r\n\r\n\r\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.hist(sample)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Analyzing Real Data\n",
"\n",
"Mean and variance are very important when analyzing real-world data. Let's load the data about baseball players from [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)"
]
},
{
"cell_type": "code",
"execution_count": 215,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Name
\n",
"
Team
\n",
"
Role
\n",
"
Height
\n",
"
Weight
\n",
"
Age
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
Adam_Donachie
\n",
"
BAL
\n",
"
Catcher
\n",
"
74
\n",
"
180.0
\n",
"
22.99
\n",
"
\n",
"
\n",
"
1
\n",
"
Paul_Bako
\n",
"
BAL
\n",
"
Catcher
\n",
"
74
\n",
"
215.0
\n",
"
34.69
\n",
"
\n",
"
\n",
"
2
\n",
"
Ramon_Hernandez
\n",
"
BAL
\n",
"
Catcher
\n",
"
72
\n",
"
210.0
\n",
"
30.78
\n",
"
\n",
"
\n",
"
3
\n",
"
Kevin_Millar
\n",
"
BAL
\n",
"
First_Baseman
\n",
"
72
\n",
"
210.0
\n",
"
35.43
\n",
"
\n",
"
\n",
"
4
\n",
"
Chris_Gomez
\n",
"
BAL
\n",
"
First_Baseman
\n",
"
73
\n",
"
188.0
\n",
"
35.71
\n",
"
\n",
"
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
\n",
"
\n",
"
1029
\n",
"
Brad_Thompson
\n",
"
STL
\n",
"
Relief_Pitcher
\n",
"
73
\n",
"
190.0
\n",
"
25.08
\n",
"
\n",
"
\n",
"
1030
\n",
"
Tyler_Johnson
\n",
"
STL
\n",
"
Relief_Pitcher
\n",
"
74
\n",
"
180.0
\n",
"
25.73
\n",
"
\n",
"
\n",
"
1031
\n",
"
Chris_Narveson
\n",
"
STL
\n",
"
Relief_Pitcher
\n",
"
75
\n",
"
205.0
\n",
"
25.19
\n",
"
\n",
"
\n",
"
1032
\n",
"
Randy_Keisler
\n",
"
STL
\n",
"
Relief_Pitcher
\n",
"
75
\n",
"
190.0
\n",
"
31.01
\n",
"
\n",
"
\n",
"
1033
\n",
"
Josh_Kinney
\n",
"
STL
\n",
"
Relief_Pitcher
\n",
"
73
\n",
"
195.0
\n",
"
27.92
\n",
"
\n",
" \n",
"
\n",
"
1034 rows × 6 columns
\n",
"
"
],
"text/plain": [
" Name Team Role Height Weight Age\n",
"0 Adam_Donachie BAL Catcher 74 180.0 22.99\n",
"1 Paul_Bako BAL Catcher 74 215.0 34.69\n",
"2 Ramon_Hernandez BAL Catcher 72 210.0 30.78\n",
"3 Kevin_Millar BAL First_Baseman 72 210.0 35.43\n",
"4 Chris_Gomez BAL First_Baseman 73 188.0 35.71\n",
"... ... ... ... ... ... ...\n",
"1029 Brad_Thompson STL Relief_Pitcher 73 190.0 25.08\n",
"1030 Tyler_Johnson STL Relief_Pitcher 74 180.0 25.73\n",
"1031 Chris_Narveson STL Relief_Pitcher 75 205.0 25.19\n",
"1032 Randy_Keisler STL Relief_Pitcher 75 190.0 31.01\n",
"1033 Josh_Kinney STL Relief_Pitcher 73 195.0 27.92\n",
"\n",
"[1034 rows x 6 columns]"
]
},
"execution_count": 215,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pd.read_csv(\"../../data/SOCR_MLB.tsv\",sep='\\t',header=None,names=['Name','Team','Role','Height','Weight','Age'])\n",
"df"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"> We are using a package called **Pandas** here for data analysis. We will talk more about Pandas and working with data in Python later in this course.\n",
"\n",
"Let's compute average values for age, height and weight:"
]
},
{
"cell_type": "code",
"execution_count": 216,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Age 28.736712\n",
"Height 73.697292\n",
"Weight 201.689255\n",
"dtype: float64"
]
},
"execution_count": 216,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[['Age','Height','Weight']].mean()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now let's focus on height, and compute standard deviation and variance: "
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[180.0, 215.0, 210.0, 210.0, 188.0, 176.0, 209.0, 200.0, 231.0, 180.0, 188.0, 180.0, 185.0, 160.0, 180.0, 185.0, 197.0, 189.0, 185.0, 219.0]\n"
]
}
],
"source": [
"print(list(df['Height'])[:20])"
]
},
{
"cell_type": "code",
"execution_count": 218,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mean = 73.6972920696325\n",
"Variance = 5.316798081118081\n",
"Standard Deviation = 2.305818310517566\n"
]
}
],
"source": [
"mean = df['Height'].mean()\n",
"var = df['Height'].var()\n",
"std = df['Height'].std()\n",
"print(f\"Mean = {mean}\\nVariance = {var}\\nStandard Deviation = {std}\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In addition to mean, it makes sense to look at median value and quartiles. They can be visualized using **box plot**:"
]
},
{
"cell_type": "code",
"execution_count": 217,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAy0AAADFCAYAAABZ7x10AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAlCUlEQVR4nO3de3RV5Z3/8c+5JEEwwE9YLgwBRqGtFhkVZXTUepkqVP2Nsux1ZhRdXkYHrS22oDPjGvBSZLXViNgYEZZOG+soLVKGdkRsQRFwpEQcQZGr5Y6L8WcSRM5tf39/MMmYEG4m373PPr5fa2UlJseV57w5Z+88eZ59kjAzEwAAAAAUqWTUAwAAAACAQ2HSAgAAAKCoMWkBAAAAUNSYtAAAAAAoakxaAAAAABQ1Ji0AAAAAihqTFgAAAABFLR32NwyCQNu3b1dlZaUSiUTY3x4AAABAkTAzNTc3q6qqSsnkwddTQp+0bN++XQMGDAj72wIAAAAoUlu2bFF1dfVBvx76pKWyslLS/oH17Nkz7G8fa4VCQW+//baGDRumVCoV9XBKDn190dcXfX3R1xd9fdHXF307p6mpSQMGDGidIxxMwswspDFJ2j+wXr16qbGxkUkLAAAA8Dl2pHMDLsSPkWw2q5kzZyqbzUY9lJJEX1/09UVfX/T1RV9f9PVF33AwaYmRVCqlc845h6VHJ/T1RV9f9PVFX1/09UVfX/QNB9vDAAAAAESC7WElKJvNqra2luVHJ/T1RV9f9PVFX1/09UVfX/QNB5OWGEmn0xo5cqTS6dBf9O1zgb6+6OuLvr7o64u+vujri77hYHsYAAAAgEiwPawEZTIZPfzww8pkMlEPpSTR1xd9fdHXF3190dcXfX3RNxystMRIEATatm2b+vfvr2SS+WZXo68v+vqiry/6+qKvL/r6om/nHOncgEkLAAAAgEiwPawEZTIZPfjggyw/OqGvL/r6oq8v+vqiry/6+qJvOFhpiZEgCLR792717duX5UcH9PVFX1/09UVfX/T1RV9f9O0ctocBAAAAKGpsDytBmUxG9957L8uPTujri76+6OuLvr7o64u+vugbDlZaYsTM1NzcrMrKSiUSiaiHU3Lo64u+vujri76+6OuLvr7o2zmstJSoioqKqIdQ0ujri76+6OuLvr7o64u+vujrj0lLjGSzWU2ZMkXZbDbqoZQk+vqiry/6+qKvL/r6oq8v+oaD7WExYmbKZrMqLy9n+dEBfX3R1xd9fdHXF3190dcXfTuH7WEliou8fNHXF3190dcXfX3R1xd9fdHXH5OWGMlms6qpqWH50Ql9fdHXF3190dcXfX3R1xd9w8H2MAAAAACRYHtYCQqCQB988IGCIIh6KCWJvr7o64u+vujri76+6OuLvuFg0hIjuVxOM2fOVC6Xi3ooJYm+vujri76+6OuLvr7o64u+4WB7GAAAAIBIsD2sBAVBoC1btrD86IS+vujri76+6OuLvr7o64u+4WDSEiO5XE6zZs1i+dEJfX3R1xd9fdHXF3190dcXfcPB9jAAAAAAkWB7WAkKgkDr169n+dEJfX3R1xd9fdHXF3190dcXfcPBpCVG8vm8XnrpJeXz+aiHUpLo64u+vujri76+6OuLvr7oGw62hwEAAACIBNvDSlChUNDq1atVKBSiHkpJoq8v+vqiry/6+qKvL/r6om84mLTESKFQ0Ouvv86Twgl9fdHXF3190dcXfX3R1xd9w8H2MAAAAACRYHtYCSoUCmpoaGAm74S+vujri76+6OuLvr7o64u+4WDSEiOFQkHvvPMOTwon9PVFX1/09UVfX/T1RV9f9A0H28MAAAAARILtYSUon89r2bJlvA64E/r6oq8v+vqiry/6+qKvL/qGg0lLjJiZtm7dqpAXxz436OuLvr7o64u+vujri76+6BsOtocBAAAAiATbw0pQPp/XokWLWH50Ql9f9PVFX1/09UVfX/T1Rd9wMGmJETNTU1MTy49O6OuLvr7o64u+vujri76+6BsOtocBAAAAiATbw0pQPp/X/PnzWX50Ql9f9PVFX1/09UVfX/T1Rd9wMGkBAAAAUNTYHgYAAAAgEmwPK0G5XE5z585VLpeLeiglib6+6OuLvr7o64u+vujri77hYNISI4lEQj179lQikYh6KCWJvr7o64u+vujri76+6OuLvuFgexgAAACASLA9rATlcjnNmjWL5Ucn9PVFX1/09UVfX/T1RV9f9A0Hk5YYSSQSqq6uZvnRCX190dcXfX3R1xd9fdHXF33DwfYwAAAAAJFge1gJymazqq+vVzabjXooJYm+vujri76+6OuLvr7o64u+4WDSEiOpVEpf/vKXlUqloh5KSaKvL/r6oq8v+vqiry/6+qJvONgeBgAAACASbA8r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+vfv32a/J7oGj99Da38tS3uHu7Yl2Pamkk9epODmRUr2P8NjiF2q2K8JaI/jg6+49S32x2/7a1q6devW2nffvn1c09JJ7cebTCZb+wZBUHTjLZVrWor/yNCFysvLNW7cOO3atUvV1dWaPn26tm/frunTp6u6ulq7du3SuHHjiuIB1pGW31K0vEfXyuVymjVrVuv1VuhaPH4Pzsw07c1pSijR4dcTSmjam9MOue+Xvr44Pviib9fq1auXBg8eLEnq0aOHvva1r2nKlCn62te+1jphGTx4cFFMWKT4/XzWfrx1dXWaMWOG6urqinK8qVRKDz30kObNm6fRo0e3efWw0aNHa968efrpT38ayYTlaHzu/grZj3/8Y0lSTU2NbrnlltbPp9NpjR8/vvXrxajlwV8sT4JSU1FRoTvvvDPqYZQsHr8Hlwty2vnxTpk6npSYTDs/3qlckFN5quN+5f+zfaXlPboWxwdf9O1669evb33Z4wULFmjBggWtXxs8eLDWr18f4egOFLefzz493ttuu63188U63quvvlq/+tWv9IMf/EDnnntu6+dPPPFE/epXv9LVV18d4eiOzFFPWvbs2dPmgb5p0yatXLlSxx13nAYOHNilg/Py4x//WA888IBqa2u1YcMGDR48WGPHji36H6ZaXrGm5T26VhAE2rhxo0466aRYbE+IGx6/B1eeKte//d9/04f7PjzobY7rdtxBJyzS/lcNS37qPboWxwdf9PWxfv16NTY26vLLL2/t+7vf/a5oVljai9vPZy3jfeyxx/Tmm2/qjDPO0O23316047366qt11VVXafHixdqxY4dOOOEEfeUrXyn6FZYWRz1p+eMf/6iLL7649b9bfjNy3XXX6emnn+6ygXkrLy/X97///aiHcVQKhUKb9+ha+XxeL730km666aaiPeDEGY/fQ+vXo5/69ej3mf//QiGv5Kfeo2txfPBFXz+9evXSwoULNWPGjFj0jdvPZ+Xl5br99ttj0zeVSumiiy6KehifSacuxP8sorwQP+727t2rNWvW6OSTT27zh6KAOCj2C1djjz8uCYSG8zHQdbgQvwRVVFS0vqHrFQoFrV69mpUAJ6y0+Cr8z7a7AtvvXHB88BW3vt27d9fw4cNjM2GJW9+4oW84mLTESKFQ0Ouvv86Twgl9fXFNi68gKLR5j67F8cEXfX3R1xd9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vujri76+6OuLvr7o2zktc4LDraOEPmlpbm6WJA0YMCDsbw0AAACgCDU3N6tXr14H/Xro28OCIND27dtVWVmpRCIR5reOvaamJg0YMEBbtmxha50D+vqiry/6+qKvL/r6oq8v+naOmam5uVlVVVVKJg9+uX3oKy3JZFLV1dVhf9uS0rNnT54Ujujri76+6OuLvr7o64u+vuj72R1qhaUFrx4GAAAAoKgxaQEAAABQ1Ji0xEhFRYUmTpyoioqKqIdSkujri76+6OuLvr7o64u+vugbjtAvxAcAAACAo8FKCwAAAICixqQFAAAAQFFj0gIAAACgqDFpAQAAAFDUmLQAAAAAKGpMWorQtm3bdM0116hPnz7q3r27Tj/9dK1YsaL163v27NHtt9+u6upqHXPMMTrllFP0+OOPRzji+PizP/szJRKJA95uu+02SZKZadKkSaqqqtIxxxyjiy66SKtXr4541PFxqL65XE533XWXhg0bph49eqiqqkpjxozR9u3box52bBzu8ftpt9xyixKJhB555JHwBxpTR9L33Xff1ZVXXqlevXqpsrJS55xzjjZv3hzhqOPjcH05t3VOPp/XPffcoxNPPFHHHHOMTjrpJN13330KgqD1NpzjPrvD9eUcFwJDUfnwww9t0KBBdv3119t//ud/2qZNm+zll1+29evXt97mpptussGDB9vChQtt06ZN9sQTT1gqlbI5c+ZEOPJ4+OCDD2zHjh2tbwsWLDBJtnDhQjMzmzJlilVWVtqvf/1re/vtt+3b3/62nXDCCdbU1BTtwGPiUH0/+ugju+SSS+y5556zNWvW2LJly+zss8+2M888M+phx8bhHr8tXnjhBTvttNOsqqrKampqIhlrHB2u7/r16+24446z8ePHW0NDg23YsMHmzZtnu3btinbgMXG4vpzbOueBBx6wPn362Lx582zTpk02a9YsO/bYY+2RRx5pvQ3nuM/ucH05x/lj0lJk7rrrLjv//PMPeZuhQ4fafffd1+Zzw4cPt3vuucdzaCXpe9/7ng0ePNiCILAgCKxfv342ZcqU1q/v27fPevXqZXV1dRGOMr4+3bcjb7zxhkmyP/3pTyGPrDR01Hfr1q3Wv39/W7VqlQ0aNIhJSye07/vtb3/brrnmmohHVTra9+Xc1jlXXHGF3XDDDW0+d/XVV7c+ZjnHdc7h+naEc1zXYntYkZk7d67OOussffOb39Txxx+vM844Q08++WSb25x//vmaO3eutm3bJjPTwoULtXbtWo0aNSqiUcdTNptVfX29brjhBiUSCW3atEk7d+7UyJEjW29TUVGhCy+8UEuXLo1wpPHUvm9HGhsblUgk1Lt373AHVwI66hsEga699lqNHz9eQ4cOjXiE8da+bxAE+u1vf6svfvGLGjVqlI4//nidffbZmjNnTtRDjaWOHr+c2zrn/PPP1+9//3utXbtWkvTWW2/ptdde0+WXXy5JnOM66XB9O8I5rotFPWtCWxUVFVZRUWH/+I//aA0NDVZXV2fdunWzf/3Xf229TSaTsTFjxpgkS6fTVl5ebj//+c8jHHU8Pffcc5ZKpWzbtm1mZrZkyRKT1PrfLW6++WYbOXJkFEOMtfZ92/vkk0/szDPPtL/7u78LeWSloaO+kydPtksvvbT1N9estHx27fvu2LHDJFn37t3t4YcftjfffNMefPBBSyQStmjRoohHGz8dPX45t3VOEAR29913WyKRsHQ6bYlEwiZPntz6dc5xnXO4vu1xjut66UhnTDhAEAQ666yzNHnyZEnSGWecodWrV+vxxx/XmDFjJEmPPvqoXn/9dc2dO1eDBg3Sq6++qrFjx+qEE07QJZdcEuXwY2XmzJm67LLLVFVV1ebz7VcFzOygKwU4uIP1lfZfsPid73xHQRCotrY2gtHFX/u+K1as0NSpU9XQ0MDjtQu079tyse1VV12lcePGSZJOP/10LV26VHV1dbrwwgsjG2scdXR84NzWOc8995zq6+v1y1/+UkOHDtXKlSv1/e9/X1VVVbruuutab8c57rM50r4S5zg3Uc+a0NbAgQPtxhtvbPO52tpaq6qqMjOzvXv3WllZmc2bN6/NbW688UYbNWpUaOOMu/fff9+SyWSbCzw3bNhgkqyhoaHNba+88kobM2ZM2EOMtY76tshmszZ69Gj78z//c9u9e3cEo4u/jvrW1NRYIpGwVCrV+ibJksmkDRo0KLrBxlBHfTOZjKXTabv//vvb3HbChAl27rnnhj3EWOuoL+e2zquurrbHHnuszefuv/9++9KXvmRmnOM663B9W3CO88M1LUXmvPPO03vvvdfmc2vXrtWgQYMk7Z+953I5JZNt/+lSqVSblzXEoT311FM6/vjjdcUVV7R+7sQTT1S/fv20YMGC1s9ls1m98sorOvfcc6MYZmx11Ffa//j91re+pXXr1unll19Wnz59IhphvHXU99prr9V//dd/aeXKla1vVVVVGj9+vObPnx/haOOno77l5eUaMWLEIY/PODId9eXc1nl79+49ZD/OcZ1zuL4S5zh3Uc+a0NYbb7xh6XTafvSjH9m6devsmWeese7du1t9fX3rbS688EIbOnSoLVy40DZu3GhPPfWUdevWzWprayMceXwUCgUbOHCg3XXXXQd8bcqUKdarVy+bPXu2vf322/Y3f/M3vBzkUTpY31wuZ1deeaVVV1fbypUr27z0aSaTiWi08XOox297XNNy9A7Vd/bs2VZWVmbTp0+3devW2bRp0yyVStnixYsjGGk8Haov57bOue6666x///6tL8k7e/Zs69u3r02YMKH1NpzjPrvD9eUc549JSxH693//dzv11FOtoqLCTj75ZJs+fXqbr+/YscOuv/56q6qqsm7dutmXvvQle+ihhw76srJoa/78+SbJ3nvvvQO+FgSBTZw40fr162cVFRV2wQUX2Ntvvx3BKOPrYH03bdpkkjp8a/93RnBwh3r8tsek5egdru/MmTNtyJAh1q1bNzvttNP4GyJH6VB9Obd1TlNTk33ve9+zgQMHWrdu3eykk06yf/7nf27zAzPnuM/ucH05x/lLmJmFvrwDAAAAAEeIa1oAAAAAFDUmLQAAAACKGpMWAAAAAEWNSQsAAACAosakBQAAAEBRY9ICAAAAoKgxaQEAAABQ1Ji0AAAAAChqTFoAAAAAFDUmLQAAAACKGpMWAAAAAEXt/wNU43GrtGZYZQAAAABJRU5ErkJggg==",
"image/svg+xml": "\r\n\r\n\r\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(10,2))\n",
"plt.boxplot(df['Height'],vert=False,showmeans=True)\n",
"plt.grid(color='gray',linestyle='dotted')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can also make box plots of subsets of our dataset, for example, grouped by player role."
]
},
{
"cell_type": "code",
"execution_count": 210,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"image/svg+xml": "\r\n\r\n\r\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.boxplot(column='Height',by='Role')\n",
"plt.xticks(rotation='vertical')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"> **Note**: This diagram suggests, that on average, height of first basemen is higher that height 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": 211,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHgCAYAAABDx6wqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAA9hAAAPYQGoP6dpAABGB0lEQVR4nO3de3xU1b3///fkNhBIAiHmVkJAFFqBolzEA2gSIdxBRCtKVbBYORVoEdB6KRKsCsWKKBRse7gpRqj+AKl4wAAJF4EKQSpQi6gBFIKUiwkQHIZk/f7wmzkMuYckk6y8no/HPGDWXnvv9VnJbN7s2XvGYYwxAgAAsJSfrwcAAABQnQg7AADAaoQdAABgNcIOAACwGmEHAABYjbADAACsRtgBAABWI+wAAACrEXYAAIDVCDuoNd599105HA4tX768yLKOHTvK4XBo3bp1RZa1bt1anTp1qtC+Ro0apZYtW1ZqnCkpKXI4HDp58mSZfV988UWtWrWqUvspdOjQITkcDi1evLjIGCoiLy9PKSkpysjIqNB6xe2rZcuWGjRoUIW2U5bU1FTNnj272GUOh0MpKSlVur+qtmHDBnXp0kWNGjWSw+Eo8ede+PMsraZf/OIXnj6XS0xMVPv27UsdR+HPq/Dh5+enmJgYDRgwQB999FG5amnZsqXXNho3bqxu3brpjTfeKDKexMTEcm0T8CXCDmqNxMREORwOpaene7WfPn1ae/fuVaNGjYos++abb/TVV18pKSmpQvuaMmWKVq5cedVjLktVhJ3iPPzww9q+fXuF1snLy9O0adMqHHYqs6/KKC3sbN++XQ8//HC1j6GyjDG65557FBgYqNWrV2v79u1KSEgodZ2QkBAtXrxYBQUFXu3nzp3TO++8o9DQ0Ksa09q1a7V9+3Zt3bpVr7zyio4fP67ExETt3r27XOv36NFD27dv1/bt27V48WI5HA6NHDlS8+fPv6pxAb4Q4OsBAIUiIiLUvn37Iv8Yb9q0SQEBARo9enSRsFP4vKJhp3Xr1lc1Vl9r3ry5mjdvXq37yMvLU3BwcI3sqyy33HKLT/dflmPHjun06dO688471atXr3KtM3z4cP3P//yPNmzYoOTkZE/78uXLlZ+fr6FDh2rp0qWVHlPnzp0VEREhSerevbtuvvlmtW7dWu+++265zoQ2adLEa9579+6t+Ph4zZo1S7/61a8qPa6aVPg7DHBmB7VKUlKSDhw4oOzsbE9bRkaGunbtqgEDBigzM1Nnz571Wubv769bb71V0g//w543b55uvPFGNWzYUE2bNtXdd9+tr776yms/xb2N9d1332n06NEKDw9X48aNNXDgQH311Vclvt3w7bff6r777lNYWJiioqL0i1/8Qjk5OZ7lDodD58+f15IlSzxvB5R1yv/YsWO65557FBISorCwMA0fPlzHjx8v0q+4t5Y2btyoxMRENWvWTA0bNlSLFi101113KS8vT4cOHdI111wjSZo2bZpnPKNGjfLa3u7du3X33XeradOmnkBY2ltmK1eu1E9/+lM1aNBA1157rV577TWv5YVnBA4dOuTVnpGRIYfD4Qm2iYmJWrNmjQ4fPuz19snlc3nlz2Dfvn2644471LRpUzVo0EA33nijlixZUux+3n77bT3zzDOKjY1VaGioevfurQMHDhRb05W2bt2qXr16KSQkRMHBwerevbvWrFnjWZ6SkuIJg7/97W/lcDjK9RZp27Zt1b17dy1cuNCrfeHChRo2bJjCwsLKNb7yKtxeYGBgpdZv0qSJ2rZtq8OHD5fab9q0aerWrZvCw8MVGhqqTp06acGCBbr8O6cLX2d5eXlF1r/99tvVrl07z/PyvqYL3+LbvHmzunfvruDgYP3iF7+QVPprA/UDYQe1SuEZmsvP7qSnpyshIUE9evSQw+HQli1bvJZ16tTJcyAfM2aMJkyYoN69e2vVqlWaN2+e9u/fr+7du+vbb78tcb8FBQUaPHiwUlNT9dvf/lYrV65Ut27d1K9fvxLXueuuu9SmTRv9f//f/6cnn3xSqampeuyxxzzLt2/froYNG2rAgAGetwPmzZtX4vYuXLig3r1768MPP9T06dP1zjvvKDo6WsOHDy9z3g4dOqSBAwcqKChICxcu1Nq1azVjxgw1atRIFy9eVExMjNauXSvph39oCsczZcoUr+0MGzZM1113nd555x29/vrrpe5zz549mjBhgh577DGtXLlS3bt3129+8xv98Y9/LHO8V5o3b5569Oih6Ohoz9hKe+vswIED6t69u/bv36/XXntNK1as0A033KBRo0Zp5syZRfo//fTTOnz4sP7nf/5Hf/nLX3Tw4EENHjxY+fn5pY5r06ZNuv3225WTk6MFCxbo7bffVkhIiAYPHuy5tuzh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jRo1Urdu3bRixQqvcRUUFGjp0qVq3ry52rRpc9X7kaTf/e53Gjx4sCZNmlQl2ytOfn6+9u7dK6fTedWf4VMSh8OhgIAA+fv7e9ouXLigN998s9j+Dz/8sIKCgvTzn/9cBw4c0Lhx47yWX81rujglvTZgP87soNYpvF111apV8vPz81yvUyghIcHz4XOXh50ePXrokUce0UMPPaRdu3bptttuU6NGjZSdna2tW7eqQ4cOJX4+SL9+/dSjRw9NmjRJubm56ty5s7Zv3+75xFg/v8r9v6BDhw7KyMjQ3//+d8XExCgkJMTrf66Xe/DBB/XKK6/owQcf1AsvvKDrr79eH3zwQbGfGn2l119/XRs3btTAgQPVokULff/9955bmnv37i3phw+xi4+P13vvvadevXopPDxcERERlf4k6djYWA0ZMkQpKSmKiYnR0qVLlZaWpj/84Q+ezzbp2rWr2rZtq8mTJ+vSpUtq2rSpVq5cqa1btxY7VytWrND8+fPVuXNn+fn5lXhmYerUqXr//feVlJSkZ599VuHh4Xrrrbe0Zs0azZw5s8pu254+fbqSk5OVlJSkyZMnKygoSPPmzdO+ffv09ttvV8m1NZJ0//336/777y9X39zcXL377rtF2q+55hqvDzLMzMz0zMO3336rhQsX6t///rcee+wxr7MuVWngwIGaNWuWRowYoUceeUSnTp3SH//4xxLPqjZp0kQPPvig5s+fr/j4eA0ePNhr+dW8pguV57WBesCnl0cDJXjiiSeMJNOlS5ciy1atWmUkmaCgIM9dP5dbuHCh6datm2nUqJFp2LChad26tXnwwQfNrl27PH2uvBvLmB/uBHvooYdMkyZNTHBwsElOTjY7duwwksyrr77q6Vd4t8t//vMfr/WLu/Noz549pkePHiY4ONhIKvXOFWOM+eabb8xdd91lGjdubEJCQsxdd91ltm3bVubdWNu3bzd33nmniY+PN06n0zRr1swkJCSY1atXe21//fr15qabbjJOp9NI8twpVlJNxe3LmB/u1hk4cKB59913Tbt27UxQUJBp2bKlmTVrVpH1P//8c9OnTx8TGhpqrrnmGjN+/HjP3W+X3411+vRpc/fdd5smTZoYh8PhtU8VcxfZ3r17zeDBg01YWJgJCgoyHTt29JojY/7vbqx33nnHq73wjqgr+xdny5Yt5vbbb/f8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LM2dO1c7d+5UdHS0kpOTPV+aJ9k9B3l5edq9e7emTJmi3bt3a8WKFfr88881ZMgQr+3U1Tkoz+9AoVWrVukf//hHsR+nb3P9th8HyzMHth8LK6QqvowTviPJrFy50qtt+PDh5v777y9xne+++84EBgaaZcuWedqOHj1q/Pz8zNq1a6trqNWiuPrbtWtnnnvuOa+2Tp06md/97nfGGLvqN8aYEydOGElm06ZNxhhjCgoKTHR0tJkxY4anz/fff2/CwsLM66+/boyxfw6K8/HHHxtJ5vDhw8YYu+agpPq/+eYb86Mf/cjs27fPxMfHm1deecWzzPb669Nx0Jji56C+HQtLw5kdyxQUFGjNmjVq06aN+vbtq8jISHXr1s3rrZ7MzEy53W716dPH0xYbG6v27dtr27ZtPhh11erZs6dWr16to0ePyhij9PR0ff755+rbt68k++rPycmRJIWHh0uSsrKydPz4ca/6nE6nEhISPPXZPgcl9XE4HJ7vwbNpDoqrv6CgQA888IAef/xxtWvXrsg6NtdfH4+Dxf0O1LdjYWkIO5Y5ceKEzp07pxkzZqhfv3768MMPdeedd2rYsGHatGmTJOn48eMKCgpS06ZNvdaNiooq8oWqddFrr72mG264Qc2bN1dQUJD69eunefPmqWfPnpLsqt8Yo4kTJ6pnz55q3769JHlquPKLcC+vz/Y5uNL333+vJ598UiNGjPB8EaItc1BS/X/4wx8UEBCgX//618WuZ3P99e04WNLvQH06FpbFiq+LwP8pKCiQJN1xxx167LHHJEk33nijtm3bptdff10JCQklrmuMkcPhqJFxVqfXXntNO3bs0OrVqxUfH6/Nmzfr0UcfVUxMjHr37l3ienWx/nHjxunTTz/V1q1biyy7spby1GfbHEg/XKx87733qqCgQPPmzStze3VtDoqrPzMzU6+++qp2795d4VpsqL++HQdLeg3Up2NhWTizY5mIiAgFBATohhtu8Gr/yU9+4rkLITo6WhcvXtSZM2e8+pw4caLI2YC65sKFC3r66ac1a9YsDR48WD/96U81btw4DR8+XH/84x8l2VP/+PHjtXr1aqWnp6t58+ae9ujoaEkq8j+zy+uzfQ4Kud1u3XPPPcrKylJaWprnrI5kxxyUVP+WLVt04sQJtWjRQgEBAQoICNDhw4c1adIktWzZUpLd9den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",
"image/svg+xml": "\r\n\r\n\r\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df['Weight'].hist(bins=15)\n",
"plt.suptitle('Weight distribution of MLB Players')\n",
"plt.xlabel('Weight')\n",
"plt.ylabel('Count')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Normal Distribution\n",
"\n",
"Let's create an artificial sample of weights that follows normal distribution with the same mean and variance as real data:"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([187.05660174, 181.77292853, 183.09148457, 198.30703945,\n",
" 201.51640234, 213.21564624, 221.00562653, 218.30263433,\n",
" 234.16968198, 187.40138853, 199.34286071, 205.52705493,\n",
" 251.03651986, 189.64156046, 222.23536452, 211.37502445,\n",
" 205.07287496, 207.90248813, 180.66579133, 226.86092236])"
]
},
"execution_count": 60,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"generated = np.random.normal(mean,std,1000)\n",
"generated[:20]"
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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vSUlJTp8+LAOHjyo06dPq729XQsXLlR3d/dglT1ovqofv/nNbzRjxgzdf//9euutt/Tuu+9qy5YtGjZsmDMnmfqxdu1avfHGG9q/f78++OADrV27VmvWrNEvfvELZ06i9KOurk7PPfec3nnnHdXW1urzzz9XUVGRrl+/7szZtm2bqqqqVFNTozNnzsjn82nevHlqa2tz5iRLP27cuKFz585py5YtOnfunA4dOqTLly9r8eLFUedJln78vmS4nvanH8l0Pe1PP+7Y9dQMYZLM4cOHe41fu3bN/NEf/ZG5cOGCGT9+vNm+fbuz73//939NWlqaOXjwoDP2ySefmLvuusu88cYbd6DqwdNXP5544gnz3e9+95bHJFs/Jk2aZF566aWosW984xvm+9//vjEmsfsRDAaNJFNXV2eMMaanp8f4fD6zdetWZ85nn31mPB6P2blzpzEmufrRl1//+tdGkrly5YoxJjn7kazX0776kczX0776caeup0NuReWr9PT0aPny5dq4caMmTZrUa39DQ4O6urpUVFTkjPn9fhUUFKi+vv5Oljroenp6dOzYMd17772aP3++Ro8erenTp0e9HZJM/ZCkGTNm6OjRo/rkk09kjNHJkyd1+fJlzZ8/X1Ji9yMUCkmSsrOzJUlNTU0KBAJRr9XtdmvmzJnOa02mftxqjsvlcr5bLNn6kczX0y/3I9mvp339/bhT19OECyovv/yyUlNT9fzzz/e5PxAIKD09XSNHjowa93q9vb4kcagLBoNqb2/X1q1b9cgjj+j48eN6/PHHtWTJEtXV1UlKrn5I0t///d/rgQce0NixY5Wenq5HHnlEO3bs0IwZMyQlbj+MMVq3bp1mzJihgoICSXJez5e/CPT3X2sy9ePLPvvsM5WWlmrZsmXOF60lWz+S9XraVz+S+Xp6q78fd+p6GrdfoT8YGhoa9JOf/ETnzp2Ty+Ua0LHGmAEfY7uenh5J0qOPPqq1a9dKkh588EHV19dr586dmjlz5i2PTcR+SF/8w3rnnXd09OhRjR8/XqdOndKqVas0ZswYzZ0795bHDfV+rF69Wu+9955Onz7da9+XX1d/Xmsi90P64sbaJ598Uj09PdqxY8dXni8R+5HM19O++pHM19Nb/Xu5U9fThFpRefvttxUMBjVu3DilpqYqNTVVV65c0fr16zVhwgRJks/nU2dnp1pbW6OODQaDvf5nOdSNGjVKqampeuCBB6LGJ06c6Nylnkz96Ojo0N/+7d+qqqpKixYt0te+9jWtXr1aTzzxhH70ox9JSsx+rFmzRkePHtXJkyc1duxYZ9zn80lSr//Z/P5rTaZ+3NTV1aWlS5eqqalJtbW1UV9bn0z9SNbr6a36kazX01v1405eTxMqqCxfvlzvvfeeGhsbnc3v92vjxo168803JUlTp05VWlqaamtrneNaWlp04cIFFRYWxqv0QZGenq5p06b1+kjZ5cuXnS9/TKZ+dHV1qaurS3fdFf3XPiUlxfnfUiL1wxij1atX69ChQ/rlL3+pvLy8qP15eXny+XxRr7Wzs1N1dXXOa02mfki/CykffvihTpw4oZycnKj9ydSPZLueflU/ku16+lX9uKPX0/7f82uHtrY2c/78eXP+/HkjyVRVVZnz5887d+V/2ZfvUjfGmGeffdaMHTvWnDhxwpw7d878+Z//uZkyZYr5/PPP78AriK2v6sehQ4dMWlqa2bVrl/nwww/Nq6++alJSUszbb7/tnCOZ+jFz5kwzadIkc/LkSfPb3/7W7NmzxwwbNszs2LHDOUei9OOv//qvjcfjMW+99ZZpaWlxths3bjhztm7dajwejzl06JB5//33zXe+8x0zZswYEw6HnTnJ0o+uri6zePFiM3bsWNPY2Bg1JxKJOOdJln70JZGvp/3pRzJdT/vTjzt1PR1yQeXkyZNGUq9txYoVfc7v6x9WR0eHWb16tcnOzjYZGRlm4cKF5urVq4Nf/CDoTz92795t/viP/9gMGzbMTJkyxRw5ciTqHMnUj5aWFvO9733P+P1+M2zYMHPfffeZH//4x6anp8c5R6L0o68+SDJ79uxx5vT09Jgf/OAHxufzGbfbbR5++GHz/vvvR50nWfrR1NR0yzknT550zpMs/ehLIl9P+9uPZLme9qcfd+p66vr/BQEAAFgnoe5RAQAAiYWgAgAArEVQAQAA1iKoAAAAaxFUAACAtQgqAADAWgQVAABgLYIKAACwFkEFAABYi6ACAACsRVABAADWIqgAAABr/T/pvzsvxQnO7QAAAABJRU5ErkJggg==",
"image/svg+xml": "\r\n\r\n\r\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.hist(np.random.normal(0,1,50000),bins=300)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Since most values in real life are normally distributed, it means we should not use uniform random number generator to generate sample data. Here is what happens if we try to generate weights with uniform distribution (generated by `np.random.rand`):"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"image/svg+xml": "\r\n\r\n\r\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"wrong_sample = np.random.rand(1000)*2*std+mean-std\n",
"plt.hist(wrong_sample)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Confidence Intervals\n",
"\n",
"Let's now calculate confidence intervals for the weights and heights of baseball players. We will use the code [from this stackoverflow discussion](https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data):"
]
},
{
"cell_type": "code",
"execution_count": 181,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"p=0.85, mean = 201.73±0.94\n",
"p=0.90, mean = 201.73±1.08\n",
"p=0.95, mean = 201.73±1.28\n"
]
}
],
"source": [
"import scipy.stats\n",
"\n",
"def mean_confidence_interval(data, confidence=0.95):\n",
" a = 1.0 * np.array(data)\n",
" n = len(a)\n",
" m, se = np.mean(a), scipy.stats.sem(a)\n",
" h = se * scipy.stats.t.ppf((1 + confidence) / 2., n-1)\n",
" return m, h\n",
"\n",
"for p in [0.85, 0.9, 0.95]:\n",
" m, h = mean_confidence_interval(df['Weight'].fillna(method='pad'),p)\n",
" print(f\"p={p:.2f}, mean = {m:.2f}±{h:.2f}\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Hypothesis Testing\n",
"\n",
"Let's explore different roles in our baseball players dataset:"
]
},
{
"cell_type": "code",
"execution_count": 175,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Height
\n",
"
Weight
\n",
"
Count
\n",
"
\n",
"
\n",
"
Role
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
"
\n",
"
Catcher
\n",
"
72.723684
\n",
"
204.328947
\n",
"
76
\n",
"
\n",
"
\n",
"
Designated_Hitter
\n",
"
74.222222
\n",
"
220.888889
\n",
"
18
\n",
"
\n",
"
\n",
"
First_Baseman
\n",
"
74.000000
\n",
"
213.109091
\n",
"
55
\n",
"
\n",
"
\n",
"
Outfielder
\n",
"
73.010309
\n",
"
199.113402
\n",
"
194
\n",
"
\n",
"
\n",
"
Relief_Pitcher
\n",
"
74.374603
\n",
"
203.517460
\n",
"
315
\n",
"
\n",
"
\n",
"
Second_Baseman
\n",
"
71.362069
\n",
"
184.344828
\n",
"
58
\n",
"
\n",
"
\n",
"
Shortstop
\n",
"
71.903846
\n",
"
182.923077
\n",
"
52
\n",
"
\n",
"
\n",
"
Starting_Pitcher
\n",
"
74.719457
\n",
"
205.163636
\n",
"
221
\n",
"
\n",
"
\n",
"
Third_Baseman
\n",
"
73.044444
\n",
"
200.955556
\n",
"
45
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Height Weight Count\n",
"Role \n",
"Catcher 72.723684 204.328947 76\n",
"Designated_Hitter 74.222222 220.888889 18\n",
"First_Baseman 74.000000 213.109091 55\n",
"Outfielder 73.010309 199.113402 194\n",
"Relief_Pitcher 74.374603 203.517460 315\n",
"Second_Baseman 71.362069 184.344828 58\n",
"Shortstop 71.903846 182.923077 52\n",
"Starting_Pitcher 74.719457 205.163636 221\n",
"Third_Baseman 73.044444 200.955556 45"
]
},
"execution_count": 175,
"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 higher then Second Basemen. The simplest way to do it is to test the confidence intervals:"
]
},
{
"cell_type": "code",
"execution_count": 188,
"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 intervals do not overlap.\n",
"\n",
"More statistically correct way to prove the hypothesis is to use **Student t-test**:"
]
},
{
"cell_type": "code",
"execution_count": 200,
"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": [
"Two values returned by the `ttest_ind` functions 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 t-test, and it is compared against threshold value for a given confidence value "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Simulating Normal Distribution with Central Limit Theorem\n",
"\n",
"Pseudo-random generator in Python is designed to give us uniform distribution. If we want to create a generator for normal distribution, we can use 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": 64,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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jrD79ujRQ3fccUebKyxut1tut7szJQIAgCjh2ArLxo0blZ6erlGjRoXd1xij6upqeb1eByoDAADRJuwVlnPnzunYsWPB/draWlVXVyshIUE333yzJMnv9+uXv/ylfvSjH7U4xvz589WvXz8VFBRIklasWKGxY8dqyJAh8vv9Wrt2raqrq7V+/fqOXBMAAOhmwg4shw8f1uTJk4P7ubm5kqQFCxZoy5YtkqTt27fLGKOvfe1rLY5RV1enHj3+trhz5swZPfzww/L5fPJ4PBo9erQqKip05513hlseAADohlzGGNPVRUSC3++Xx+NRQ0OD4uPju7ocABE2MK+4q0sI2/FV07u6BMB67X395ruEAACA9QgsAADAegQWAABgPQILAACwHoEFAABYj8ACAACsR2ABAADWI7AAAADrEVgAAID1CCwAAMB6BBYAAGA9AgsAALAegQUAAFiPwAIAAKxHYAEAANYjsAAAAOsRWAAAgPUILAAAwHoEFgAAYD0CCwAAsB6BBQAAWI/AAgAArEdgAQAA1iOwAAAA6xFYAACA9QgsAADAegQWAABgPQILAACwHoEFAABYj8ACAACsR2ABAADWI7AAAADrEVgAAID1wg4sFRUVmjFjhlJSUuRyubR79+6Q8w899JBcLlfINnbs2KuOW1hYqOHDh8vtdmv48OHatWtXuKUBAIBuKuzAcv78eY0aNUrr1q1rtc3999+v+vr64LZ37942x6ysrNScOXM0b948vfXWW5o3b55mz56t1157LdzyAABANxQTbofs7GxlZ2e32cbtdis5ObndY65Zs0b33Xef8vPzJUn5+fkqLy/XmjVrtG3btnBLBAAA3Ywjz7CUlZUpMTFRt9xyi7797W/r1KlTbbavrKxUVlZWyLGpU6fq0KFDrfYJBALy+/0hGwAA6J4iHliys7P1s5/9TC+//LJ+9KMf6fXXX9c999yjQCDQah+fz6ekpKSQY0lJSfL5fK32KSgokMfjCW6pqakRuwYAAGCXsN8Supo5c+YE/3vkyJEaM2aMBgwYoOLiYn35y19utZ/L5QrZN8Y0O/Zp+fn5ys3NDe77/X5CCwAA3VTEA8uVvF6vBgwYoJqamlbbJCcnN1tNOXXqVLNVl09zu91yu90RqxMAANjL8c9h+eCDD3Ty5El5vd5W24wbN06lpaUhx0pKSpSZmel0eQAA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XCH7xphmxyTp4sWLmjt3rlasWKFbbrmlxbHOnj2rb3zjG3rhhRd04403OlKvEyI5B5J06dIlJSYm6vnnn1fPnj2Vnp6u999/X08//bTV/ygjPQ9lZWX64Q9/qGeffVYZGRk6duyYFi1aJK/Xq6VLl0a8/kho7xxI0tChQzV06NDg/rhx43Ty5Ek988wzIS/U4YxpCyfm4bKnnnpK27ZtU1lZmWJjYyNbeARFcg66+71Rat/vQbTeG9uDwOKgG2+8UT179myWlk+dOtUsVUufhJHDhw+rqqpKjz76qKRPfvmMMYqJiVFJSYkSEhJ0/PhxzZgxI9jv0qVLkqSYmBgdPXpUgwcPdvCqwuPEHNxzzz3yer3q1auXevbsGex76623yufzqbGxUb1793b2wsLk1DwsXbpU8+bN0z/+4z9Kkm677TadP39eDz/8sL7//e+rRw973vUNdw5aM3bsWG3dujW4n5yc3OkxryWn5uGyZ555RitXrtS+ffv093//952u1wlOzMGf/vSnbn1vbM2VvwfRdm8Mhz13s26od+/eSk9PV2lpacjx0tJSZWZmNmsfHx+v3/3ud6qurg5uCxcu1NChQ1VdXa2MjAwNGzasWZsvfvGLmjx5sqqrq5WamnqtLq9dnJgDSbrrrrt07Nix4A1Jkt555x15vV4r/0E6NQ8fffRRs1DSs2dPmU8eqHfugjog3DloTVVVlbxeb3B/3LhxzcYsKSkJa8xryal5kKSnn35a//qv/6rf/OY3GjNmTETqdYITc9Dd742tufL3INrujWHpiid9P0su/9naxo0bzR//+EezePFic91115njx48bY4zJy8sz8+bNa7V/a38l9Gm2PwnvxBzU1dWZv/u7vzOPPvqoOXr0qPnVr35lEhMTzb/92785eSmd4sQ8LFu2zMTFxZlt27aZd99915SUlJjBgweb2bNnO3kpHRbuHPz7v/+72bVrl3nnnXfM73//e5OXl2ckmcLCwmCbV155xfTs2dOsWrXKHDlyxKxatSpq/qw5kvOwevVq07t3b/Of//mfIX/yevbs2Wt+fe3hxBxcqbvdG9szB9F4b2wvAss1sH79ejNgwADTu3dvc/vtt5vy8vLguQULFpi777671b7dIbAY48wcHDp0yGRkZBi3220GDRpkfvjDH7b4mQw2ifQ8XLhwwSxfvtwMHjzYxMbGmtTUVPPII4+E9eev11o4c7B69ergtfXt29eMHz/eFBcXNxvzl7/8pRk6dKjp1auXGTZsWJsvYraI9DwMGDDASGq2LVu27BpdUfic+F34tO52b2zvHETjvbE9XMZYtm4MAABwBZ5hAQAA1iOwAAAA6xFYAACA9QgsAADAegQWAABgPQILAACwHoEFAABYj8ACAACsR2ABAADWI7AAAADrEVgAAID1CCwAAMB6/w+bp61mhe2/rAAAAABJRU5ErkJggg==",
"image/svg+xml": "\r\n\r\n\r\n",
"text/plain": [
"