{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"_uuid": "989b76b2cb6cb90eef00ceb72b900b48b068d6d1",
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"# 02-Statistical Link Between Variables"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"_kg_hide-input": true,
"_kg_hide-output": false,
"_uuid": "f45ba6a511f519d35d488b71d3d8ab3189c0b175",
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"# Dependencies\n",
"\n",
"# Standard Dependencies\n",
"import os\n",
"import numpy as np\n",
"import pandas as pd\n",
"from math import sqrt\n",
"\n",
"# Visualization\n",
"from pylab import *\n",
"import matplotlib.mlab as mlab\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"\n",
"# Statistics\n",
"from statistics import median\n",
"from scipy import signal\n",
"from math import factorial\n",
"import scipy.stats as stats\n",
"from scipy.stats import sem, binom, lognorm, poisson, bernoulli, spearmanr\n",
"from scipy.fftpack import fft, fftshift\n",
"\n",
"# Scikit-learn for Machine Learning models\n",
"from sklearn.linear_model import LogisticRegression\n",
"from sklearn.model_selection import train_test_split\n",
"\n",
"# Seed for reproducability\n",
"seed = 12345\n",
"np.random.seed(seed)\n",
"\n",
"\n",
"# Read in csv of Toy Dataset\n",
"# We will use this dataset throughout the tutorial\n",
"df = pd.read_csv('../data/toy_dataset.csv')"
]
},
{
"cell_type": "markdown",
"metadata": {
"_uuid": "7e44e6d3b18b6da66ae052463a2e8a1afc9bf008",
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"## Table of contents"
]
},
{
"cell_type": "markdown",
"metadata": {
"_uuid": "564fcdf42264765f9e9cb0021393ff225da36356",
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"- [Covariance](#7)\n",
"- [Correlation](#8)\n",
"- [Linear Regression](#9)\n",
"- [Bias, MSE and SE](#5)"
]
},
{
"cell_type": "markdown",
"metadata": {
"_uuid": "d6e2d0bd983e68e86af13af1ad4e5f3e973c0193",
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"## Covariance "
]
},
{
"cell_type": "markdown",
"metadata": {
"_uuid": "1d182cf7e089fccdc808b0c0938bdf1938a7cfb7",
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"Covariance is a measure of how much two random variables vary together. variance is similar to covariance in that variance shows you how much one variable varies. Covariance tells you how two variables vary together.\n",
"\n",
"If two variables are independent, their covariance is 0. However, a covariance of 0 does not imply that the variables are independent."
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"_kg_hide-input": true,
"_uuid": "7a795570fae61547decb79d331479d3098701aaa",
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Covariance between Age and Income: \n"
]
},
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Age
\n",
"
Income
\n",
"
\n",
" \n",
" \n",
"
\n",
"
Age
\n",
"
133.922426
\n",
"
-3.811863e+02
\n",
"
\n",
"
\n",
"
Income
\n",
"
-381.186341
\n",
"
6.244752e+08
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Age Income\n",
"Age 133.922426 -3.811863e+02\n",
"Income -381.186341 6.244752e+08"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Covariance between Age and Income\n",
"print('Covariance between Age and Income: ')\n",
"\n",
"df[['Age', 'Income']].cov()"
]
},
{
"cell_type": "markdown",
"metadata": {
"_uuid": "45baa36045e88dbab22e850e4df6b4420fff747f",
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"## Correlation "
]
},
{
"cell_type": "markdown",
"metadata": {
"_uuid": "118f9e24a69065a48efb5c78ac03c6c475a1dad9",
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"Correlation is a standardized version of covariance. Here it becomes more clear that Age and Income do not have a strong correlation in our dataset."
]
},
{
"cell_type": "markdown",
"metadata": {
"_uuid": "634cdc7963624e398ab1841ccbbf00be08c12948",
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"The formula for Pearson's correlation coefficient consists of the covariance between the two random variables divided by the standard deviation of the first random variable times the standard deviation of the second random variable.\n",
"\n",
"Formula for Pearson's correlation coefficient:\n",
"\n",
""
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"_kg_hide-input": true,
"_uuid": "b14ff3e57239585b05b34a01f731dc52eec8ea94",
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Pearson: \n"
]
},
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Age
\n",
"
Income
\n",
"
\n",
" \n",
" \n",
"
\n",
"
Age
\n",
"
1.000000
\n",
"
-0.001318
\n",
"
\n",
"
\n",
"
Income
\n",
"
-0.001318
\n",
"
1.000000
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Age Income\n",
"Age 1.000000 -0.001318\n",
"Income -0.001318 1.000000"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Correlation between two normal distributions\n",
"# Using Pearson's correlation\n",
"print('Pearson: ')\n",
"df[['Age', 'Income']].corr(method='pearson')"
]
},
{
"cell_type": "markdown",
"metadata": {
"_uuid": "81ebd4c6e6be66529a181dcf5e3946ab051d04b6",
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"Another method for calculating a correlation coefficient is 'Spearman's Rho'. The formula looks different but it will give similar results as Pearson's method. In this example we see almost no difference, but this is partly because it is obvious that the Age and Income columns in our dataset have no correlation.\n",
"\n",
"Formula for Spearmans Rho:\n",
"\n",
""
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"_kg_hide-input": true,
"_uuid": "9f94042e40978a8bd3df01a828d02dd25ca0db70",
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Spearman: \n"
]
},
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Age
\n",
"
Income
\n",
"
\n",
" \n",
" \n",
"
\n",
"
Age
\n",
"
1.000000
\n",
"
-0.001452
\n",
"
\n",
"
\n",
"
Income
\n",
"
-0.001452
\n",
"
1.000000
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Age Income\n",
"Age 1.000000 -0.001452\n",
"Income -0.001452 1.000000"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Using Spearman's rho correlation\n",
"print('Spearman: ')\n",
"df[['Age', 'Income']].corr(method='spearman')"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"_uuid": "c4b58d1312d3e4a28244dc4d5640426359859161",
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/ubuntu/Documents/Projects/msci_data/.venv/lib/python3.9/site-packages/seaborn/_decorators.py:36: FutureWarning: Pass the following variables as keyword args: x, y. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.\n",
" warnings.warn(\n"
]
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABSoAAAHICAYAAABJb9QkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAADQ+ElEQVR4nOzdeXgb5bk28HtGq21Zknc7kbKTPXZYQhZaEsoSCu1h7YGPtiyBQkOgQGjZSsvSAgXaAiWl9JyekrYQWnZaUqBpIAmQQCgQZ4OEhJDYcew4sSV50Trzfn9ImlixrM2yLdv377q4AGtm9GokjaXbz/s+khBCgIiIiIiIiIiIiGgAyQM9ACIiIiIiIiIiIiIGlURERERERERERDTgGFQSERERERERERHRgGNQSURERERERERERAOOQSURERERERERERENOAaVRERERERERERENOAYVBIREREREREREdGAY1BJREREREREREREA45BJREREREREREREQ04BpVENCRcfvnlkCQJd999d7fbJEmCJEn48ssv0z5uW1sbli5divHjx8NoNEKSJIwZMwYAsHz5ckiShAULFvRq7ANpzZo1MY+pr/ejoSPRayDR+zEVzz77LObOnYvCwkLt/btmzRoAvXs/p2oovLezgeeB+tuXX36pvceHgwULFkCSJCxfvnygh0IDaMyYMTG/53JNLn7m64/PAkQ0cBhUElHKmpubtQ8Gr776ao/bLV68WNvupZde6nG766+/HpIkYfr06X0x3Kw4//zz8cgjj+CLL75AXl4eKioqUFZWlnS/5cuX4+6778amTZt63ObLL7/E3XffjUcffTR7Ax4GUjm3uWowj72/PPPMM7jkkkvw/vvvw+/3o6KiAhUVFTAajQn327RpE+6+++6kX/gfffRR3H333cPuy000PGboSDS0pXotJAL4uaQrngui3MGgkohSVlZWhsmTJwMA1q1b1+N2XW9LZbv58+dnaYTZtW3bNvz73/+GwWDAhg0b4Ha70djYiA8//BAAYLPZMGnSJIwaNarbvsuXL8c999yTNKi85557GFSmKZVzm6sG89j7S/T9cNNNN6GzsxONjY1obGzEvHnzAACTJk3CpEmTYDAYYvbbtGkT7rnnnpSCynvuuSdhUJnovT2c8DxQfzMYDNp7nDKT6rWQCEjtc0l+fj4mTZqE8ePH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Z82aNVqXvXiBZnSK2S9/+cuEoZwQIuPF7vtLtNtponFGt0lUPXjqqafC6XRCUZSknWqPXrT7W9/6FoDw9Px4YeUXX3yhNazojQceeCDuh7oHHngAQHidsugXcACwWCwYM2YMAGhVCl0dPnwYf/jDH3q8v1TObV8pLi7Wmgs8+OCDcTvZPvjgg/D5fLBYLFrziahsjT0aOq5Zswbr1q1DQUFBTOOC6O3/+te/tC8P8YLKSy+9FJIk4dNPP8Xvf//7hPeZ64vCp3puB+r1c+yxx2L06NEAwte4eB566KH+HNKAmDx5svbl9pZbbkkYzHq93pipvtHGClu2bIm7/X333ZfSWqt9Lfq7bPny5aitrU24bdf3VWlpqfZ7tafXyMMPP9yrsX3rW99CQUEBWltbce+996Y8NlVVE4Yp0bUpuz5fiartdTqd1jgqlencvb329odf/epXcR/zo48+Cp/PB6vVijPOOCOlY0WXMHj99de1Rlxdbdu2TevM/d///d8xt2XjGhe9/+XLl8et4P3Xv/6l/ZHy6PvvK2eccQasViv8fj8ee+yxbrcHAgH86le/6nH/6Prpf//73+Pe/otf/CLuzwsLC7WQPN6158CBA3j88cfj7jtz5kytedqDDz7Y7XYhRI/3m6rodbGpqSnuGu9btmzBihUrety/N6+XyZMn48QTTwSQ/Hqeqt48z/1xLhL9Hmpvb8d9993X475ElDoGlUSUsWjw8cYbb8Dj8WD27NlxG6vMnj0bBoNB267rvl3ddtttGDduHA4dOoR58+bhueeei6n42LdvH/7nf/4Hxx13HF555ZW+eVBZMm3aNADASy+91GMQecwxx8BgMMDtduPFF1+Mu43BYMCyZcsgSRKeffZZnHvuuVpnWCBc0fif//wHt9xyC8aOHRuz71e+8hWcfvrpAMJfOl577TXty917772HM888EyaTqVePMz8/H6tXr8aVV16pfSh0uVy49dZb8cc//hEA4q6bGf1i8/Of/xx///vftS/A77//Pk477bSEX3BTObd96Wc/+xlkWcbHH3+Miy++WPvrent7O+6//37tS8dtt92mfeiNytbYv/KVr0CWZezbtw9NTU3duoZWVlZi4sSJ2Lp1K7xer7Zu5dGmTp2qTdW89tprcfvtt8dUm7S1teFf//oXvvOd72jBd66Kntvt27cnrNSLbvfss8/26/prsizjJz/5CQDgySefxE9+8hPtetjc3Iyrr74ab775JvLz83s8xpgxYyBJUsy6gekKBoM4dOhQwn/6uqrzN7/5DUwmE9atW4dTTz0V7777rnZtUhQFW7Zswb333otx48bFhCTR69nKlSvxwAMPaI1empub8aMf/QgPPPAASkpK+nTsqbjyyisxZ84c+Hw+fO1rX8P//u//xlQGNTY24plnnsH8+fO7fRH/6U9/CiD8e/Wqq67Srqsejwd33XUXfvvb3/bYCTcVJSUl2h+RfvGLX+B73/teTKWX1+vFO++8g8WLF8d0Hvd4PJgwYQLuu+8+bNmyBYqiAAgHmKtXr8aPf/xjAMDChQu1fe644w5ceOGFeOWVV9DS0qL9vKmpCT/4wQ+wZ88eSJKkPa/J9Oba2x/27duH8847T1tDu7OzE7/61a+034G33nprwvd3VxdddBGqq6sBAOeeey7+/e9/a38QXL16Nc466ywEg0FMmzYN3/72t2P2TfVamMh1112HqqoqeL1enHnmmfjPf/4DIPz+fPHFF3HxxRcDAE477TSt+3dfKygowC233AIAuOeee/DrX/9a+4z45Zdf4rzzzku4pMSFF14ISZKwZcsW3HDDDVoYdfDgQfzgBz/AX/7yl7jPT2FhofbHlUWLFmmfwaKv/fnz5/dYgSdJkvb8//GPf8Stt96q3W9TUxMWLVqEt956K+XXRTxTpkyBw+GAEAIXXXQRdu3aBSB8rX/ppZdw+umnJ2xA1dvPJb/+9a+h0+nwzjvvxLxWgPBniL/+9a/dXqOJ9OZ57o9zEb1eLV26FGvXrtWe+w8//BCnnnrqkF++hajfCCKiDNXW1goA2j933nlnj9vOmTNH266ioqLH7T7//HMxZcoUbVudTidKSkpEXl5ezH0tX748Zr/LLrtMABB33XVXt2NG99mzZ09aj++pp54SAMT8+fPTvv3TTz8VRqNRABB6vV6MGDFCjB49Wpx00kkx21166aXa+Gw2mxg9erQYPXq0eP7552O2++Mf/6gdD4DIy8sTxcXFQqfTxZyXozU0NIgJEybE7GexWAQAUVZWJv7whz8IAGL06NFpnZu3335b2++RRx4RAIQkSaKoqEjIsqzd35IlS+Lu39LSIsaNG6dtZzKZREFBgQAgRo0aJf7yl7/0OK5Uz20i8+fPFwDEU0891eM2o0ePFgDE22+/3e22J598Unuc0cfd9bn49re/LUKhUJ+MPerYY4/V7u++++7rdvv3vvc97fbzzz+/x+OEQiGxePHimNeR1WoVNptNSJKk/WzBggUx+3V9DRwt0fsxmWTv10S3n3zyydrtxcXF2vtpw4YN2jarV6/WtjEajcLhcIjRo0eLiy66SNsm0Xs70esi2RhVVRVXXHFFzPWtqKhISJIkJEkSjz/+uBg1apQAINavX9/jfV922WU93ndPos9JKv9EH1tfnQchhPjnP/8pbDZbzDWgpKREGAyGmLF8+eWXMfudf/752m3R9170dXrllVf2+NpL9HpNRyrXDiGEaGpqEieddJI2VlmWRXFxsXadi/5z9913d9v37rvv7vYYo9eXH/7wh9rrfMWKFTH7Jfud1dXPfvazmPd3QUFBt+v3mDFjtO1bW1tjxm0wGLr9Dho3bpyoq6vT9rnhhhu6XVcKCwtjfnb0tWvPnj09/j4TIvNrb29frz3pOt4XXnhB6PV6AUDY7XbtvwGIc845RwSDwW77J3o9ff7559q4AYj8/HyRn5+v/f+oUaPEjh074o4rlWthMh988IEoKirSjlNYWCjMZrP2/9XV1aKpqanbfqlc/1N9Hx0tGAyKc845RxuDXq8Xdrtd++8XX3wx4fN40003xbz+7Ha7kCRJ6HQ68dRTT/X4Onn//fdjPocWFBRo/19cXCxeeeWVhK/bJUuWxL3uAxCPPfZYj/d71113pXTNf+mll2Leu4WFhdpnjWx8pkp2/Xz22WeFyWTS7j/6GTX6GNO97vbmee7rc7F7925RWlqqHd9sNmvX9by8PPHmm29mdC0holisqCSijM2YMQPFxcXa/x/dSKerrrcl2m7ChAn45JNP8MQTT+CUU05BUVER3G439Ho9qqurcfXVV2PlypX4zne+k50H0UcmT56MVatW4cwzz4TNZkNjYyP27t3bbW2kJ598ErfffjsmT54Mv9+PvXv3Yu/evWhvb4/Z7oorrsCOHTtw4403Ytq0adDpdPB4PCgpKcGCBQtwzz33YMeOHd3GUVVVhQ8//BBLly7F6NGjoSgKbDYbrrzySnz88ccxDY0ydeONN+Lvf/+71sDFbDZjzpw5ePrpp7Fs2bK4+xQVFWH9+vW4+uqrMWLECKiqipKSElx//fX4+OOP4XA4ery/VM9tX7rmmmvw4Ycf4pJLLkFVVRXa29ths9lw+umn4/nnn8fTTz8dt0tnNsfetSo5XoVyvDUr49HpdHjiiSfw7rvv4jvf+Q5Gjx4Nv98Pn8+HUaNG4b/+67+wbNkybZphLnvppZdw7bXXYuzYsWhvb9feT10rJ7/2ta/h5Zdfxvz585GXl4f9+/dj7969aGxs7PPxSZKE//u//8Mf//hHzJo1CyaTSeumvnLlSlx33XVa5V3XtVyHoq9//evYuXMn7rzzThx33HEwmUxwuVywWq2YN28ebrvtNnz00UfadPmov/3tb/jFL36BKVOmwGAwQAiBk046CX/6058SLhnR38rLy7F27Vo888wzOOuss1BWVqZNS588eTIuvfRSPPfcc7jtttu67XvXXXfh1Vdfxcknn4yCggKEQiHMmjULTz/9NB5++GGt0qc3r5E777wTtbW1uPrqq3HMMcdAVVV0dHSgqqoKCxcuxEMPPaQ1vwPCUyJfe+013HjjjTjxxBO1xxNdduK+++7Dpk2bYq7dN910E37zm9/gnHPOwcSJEyGEgN/vh9PpxEUXXYR169bhjjvuSGvcmV57+8MFF1yAt99+G2effTZ0Oh30ej1qamrw+OOP46WXXoqpek/FhAkTUFtbi5/+9KfampEAMH36dK0J0cSJE+Pum8q1MJkTTzwR27dvx0033YSJEyciGAxCr9fjhBNOwMMPP4wPPvigWyORvqbX6/Hiiy/iN7/5Daqrq6HX66HT6XD22Wdj7dq1OP/88xPu/6tf/QpPPPEEampqYDabIUkSFi5ciLfeeithpfrs2bOxYcMGnHvuuSgqKkIwGER5eTmuueYabNq0CTU1NQnvd9myZXj66acxe/Zs7bo/f/58vPbaa/jBD36QyamIcd555+Gtt97C6aefjsLCQgSDQYwePRo//OEP8cknn/T5Z6qLL74Yn376Ka677jrtNRkKhTB58mRcddVV+POf/5zW4+nN89zX52LcuHHYuHEjvvOd76C8vByKosBut+Pb3/42Pvzww5SXdyCixCQhBqAbARERERHF2L17NyZMmACj0Yi2tra4S2nQ8NbR0YGSkhL4/X7s2bNHW++XBsaXX36pLbvCr1S5IbqeJN8fRESDFysqiYiIiHJAtJnOySefzJCS4vrNb34Dv9+PY445hiEMERERDUkMKomIiIj6yRVXXIEXXnghZsH9PXv24Nprr8X//M//AABuvvnmgRoe5YClS5di+fLlaGpq0n7W2NiIn/70p1pDJr5GiIiIaKhKb7EUIiIiIsrYqlWrsHz5cgDh7qayLGtrFwLhtQPPPPPMARod5YKNGzfikUceAQCYzWaYzWatUzAAfPe738XVV189QKMjIiIi6lsMKomIiIj6ycMPP4xXX30Vn3zyCZqamtDZ2YkRI0Zg7ty5uPbaa/G1r31toIdIA+zHP/4xnnvuOXzwwQdobGxEe3s7ysvLccIJJ2DRokW44IILBnqIRERERH2GzXSIiIiIiIiIiIhowHGNSiIiIiIiIiIiIhpwnPqdgKqqaGhoQGFhISRJGujhEBERERERERERDSpCCLS1tWHEiBGQ5cQ1kwwqE2hoaIDT6RzoYRAREREREREREQ1qdXV1cDgcCbdhUJlAYWEhgPCJtFqtAzwaIiIiIiIiIiKiwcXj8cDpdGo5WyIMKhOITve2Wq0MKomIiIiIiIiIiDKUyrKKbKZDREREREREREREA45BJREREREREREREQ04BpVEREREREREREQ04BhUEhERERERERER0YBjUElEREREREREREQDjkElERERERERERERDTgGlURERERERERERDTgGFQSERERERERERHRgGNQSURERERERERERAOOQSURERERERERERENOAaVRERERERERERENOAYVBIREREREREREdGAY1BJREREREREREREA45BJREREREREREREQ04BpVEREREREREREQDRFHFQA8hZ+gHegBERERERERERETDhaoK+EIKvAEFnQEFIVVgbGnBQA8rJzCoJCIiIiIiIiIi6iNCCPhDKrwBBd6gAn9IhRCsooyHQSUREREREREREVEWBUIqvEEFvmC4clJlMJkSBpVERERERERERES9oKgCnYFQOJwMqAip6kAPaVBiUElERERERERERJSGrutMeoMKAiEGk9nAoJKIiIiIiIiIiCgJX2Qqd2eA60z2FQaVRERERERERERERwkq4XUmvQGuM9lfGFQSEREREREREdGwp6oC3kjFpC+oIKhwOnd/Y1BJRERERERERETDjhAC/pAKb0BBZ1CBP6gM9JCGPQaVREREREREREQ0LARC4encviCnc+ciBpVERERERERERDQkKZHp3NF1JkMqp3PnMgaVREREREREREQ0JAgh4AtGmuAMouncQggIAciyNNBDGVAMKomIiIiIiIiIaNDyhxT4AkfCSTEIpnOrQmDv4U5sqnOhtt6F7Q0ePHrRsfjKMaUDPbQBxaCSiIiIiIiIiIgGjZCiHpnOHVSgqIMjmNzT3IHaehc21bmxud4Fjy8Us80Hew4zqBzoARAREREREREREfVEja4zGQkng0rurzOpqAK7m9tRW+/G5joXNu93o+2oYPJoH3zR0k+jy10MKomIiIiIiIiIKGcIIeAPqfAGFHQGFQRCas5P51ZUgV0H27Wp3Fv2u9HhT7w+piwB48ssmOm044xplThxTHE/jTZ3MagkIiIiIiIiIqIBFYgEk96gAl9QgToIgsmdTW2orXOhtt6NLfvd6AwkDyaPqShEjcOGmU47po+0wWIKR3Pjyiz9Meycx6CSiIiIiIiIiIj6lbbOZDDcCCek5vZ07pCiYkdTG2rr3Kitd2Hrfg+8STqKyxIwqbIQNQ47apw2TB9hQ4GJUVwiPDtERERERERERNSnVFXAF1LQGRgc60wGQip2NLahtj5cMbltvxu+UOIx62QJkyvDFZM1TjumjbAi38joLR08W0RERERERERElFVd15n0BhX4c3ydyUBIxaeNHm0q9/YGD/xJgkm9LGFKVSGqHXbMdNoxdYQVeQZdP414aGJQSUREREREREREvRYIqVpn7lxfZ9IfVLD9gAe19W7U1rmw/YAHQSXxeA06CVOqrJjpsKPaacPUKivMDCazikElERERERERERGlbTCtM+kLKtje4MGmehdq69z4rDF5MGnUy5haZdWa30ypssKol/tpxMMTg0oiIiIiIiIiIkoqus5kdDp3IMnU6IHkDSjY2uDG5no3NtW5sKOxDSE1cTBp0suYPsKKaqcdNQ4bJlcymOxvDCqJiIiIiIiIiCguXzA8jbszkNvrTHYGQti634NNdS5srndhR1M7lCTBpNkgY/qIcLVktcOGSZWFMOgYTA4kBpVERERERERERATgyDqTvshak7m6zmS7P4St+8PrS26qd+PzpjYkySWRZ9BhhsMW7srtsGNihQV6BpM5hUElEREREREREdEwpagC3qCCzkAop9eZbPeFsHl/eH3J2noXdh1sTxpMFhijwaQdNU4bjikvhE6W+mfAKZIkCSZOL9cwqCQiIiIiIiIiGiYGyzqTHm8QW/aH15esrXdj98F2JKvttJj0mDHShplOG2qcdowvs+RcMClLEkwGGXkGHcwGHUx6GZKUW2McSGlFtr/73e9QXV0Nq9UKq9WKuXPn4vXXX9du9/l8WLJkCUpKSmCxWHDBBRegqakp5hj79u3D2Wefjfz8fJSXl+NHP/oRQqFQzDZr1qzBcccdB5PJhAkTJmD58uXdxvLb3/4WY8aMgdlsxuzZs7Fx48aY21MZCxERERERERHRUCaEgC+ooLUjgAaXF3tbOtHo9sHtDeZUSOnuDGLd5814/K1duOrP/8F5T6zHT17dhhc/3o9dPYSUVrMeJ00owZJTxuN/vns8Xr52Hu47bzq+dYITEytyo3pSJ0soMOlRUmDCCHsexpQWoMqWB3u+EWaDjiHlUdKqqHQ4HPjFL36BY445BkII/OlPf8I555yDTz75BNOmTcNNN92ElStX4vnnn4fNZsN1112H888/H++99x4AQFEUnH322aisrMT69etx4MABXHrppTAYDLj//vsBAHv27MHZZ5+N73//+3jmmWewevVqXHXVVaiqqsLChQsBAH/729+wdOlSPPnkk5g9ezYeffRRLFy4EDt27EB5eTkAJB0LEREREREREdFQ5A8p8AWOrDWZi+tMtnYGtGnctXUufHm4M+k+tjwDahw2VDvsmOm0YUxpAeQcC/oMOhkmgwyzQQezXseu4WmSRC/bNRUXF+Phhx/GhRdeiLKyMqxYsQIXXnghAOCzzz7DlClTsGHDBsyZMwevv/46vvGNb6ChoQEVFRUAgCeffBK33normpubYTQaceutt2LlypXYunWrdh8XX3wxXC4X3njjDQDA7NmzMWvWLCxbtgwAoKoqnE4nrr/+etx2221wu91Jx5IKj8cDm80Gt9sNq9Xam9NERERERERERNQngkoklIxM507W7XogtHQEIo1vXNhc58beluTBZFG+QVtfstphx5iS/JyqQJQkCUa9DLM+EkwadDlRxZlr0snXMl6jUlEUPP/88+jo6MDcuXPx0UcfIRgM4rTTTtO2mTx5MkaNGqWFgxs2bMCMGTO0kBIAFi5ciMWLF2Pbtm049thjsWHDhphjRLe58cYbAQCBQAAfffQRbr/9du12WZZx2mmnYcOGDQCQ0lji8fv98Pv92v97PJ5MTw8RERERERERUZ+INsDxBsIVk0Eld6ZwRzW3+bG5Pry+5KY6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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Generate data\n",
"x = np.random.uniform(low=20, high=260, size=100)\n",
"y = 50000 + 2000*x - 4.5 * x**2 + np.random.normal(size=100, loc=0, scale=10000)\n",
"\n",
"# Plot data with Linear Regression\n",
"plt.figure(figsize=(16,5))\n",
"plt.title('Well fitted but not well fitting: Linear regression plot on quadratic data', fontsize='xx-large')\n",
"sns.regplot(x, y)"
]
},
{
"cell_type": "markdown",
"metadata": {
"_uuid": "79a0d6a9333121c08351ceaa76bf661b661f124a",
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"## Linear regression "
]
},
{
"cell_type": "markdown",
"metadata": {
"_uuid": "742e13d2528cff6398f9016b80d01483d2bf7c2c",
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"Linear Regression can be performed through Ordinary Least Squares (OLS) or Maximum Likelihood Estimation (MLE).\n",
"\n",
"Most Python libraries use OLS to fit linear models.\n",
"\n",
""
]
},
{
"cell_type": "markdown",
"metadata": {
"_uuid": "5b360ab8eefb8268db7430cfc45364fd700d1aa0",
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"## Bias, MSE and SE "
]
},
{
"cell_type": "markdown",
"metadata": {
"_uuid": "de3f98a8a8c46e22678e26c0c5847c9e4503479c",
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"**Bias** is a measure of how far the sample mean deviates from the population mean. The sample mean is also called **Expected value**.\n",
"\n",
"Formula for Bias:\n",
"\n",
"\n",
"\n",
"The formula for expected value (EV) makes it apparent that the bias can also be formulated as the expected value minus the population mean:\n",
"\n",
""
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"_uuid": "7de089fa73a9b42aeab7a1d78e4b2856a6d9527f",
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"# Generate Normal Distribution\n",
"normal_dist = np.random.randn(10000)\n",
"normal_df = pd.DataFrame({'value' : normal_dist})\n",
"# Take sample\n",
"normal_df_sample = normal_df.sample(100)\n",
"\n",
"# Calculate Expected Value (EV), population mean and bias\n",
"ev = normal_df_sample.mean()[0]\n",
"pop_mean = normal_df.mean()[0]\n",
"bias = ev - pop_mean"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"_kg_hide-input": true,
"_uuid": "268ea18ed84402103384034862ed14bbe43c6e19",
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Sample mean (Expected Value): -0.11906267796745086\n",
"Population mean: -0.01073582444747704\n",
"Bias: -0.10832685351997381\n"
]
}
],
"source": [
"print('Sample mean (Expected Value): ', ev)\n",
"print('Population mean: ', pop_mean)\n",
"print('Bias: ', bias)"
]
},
{
"cell_type": "markdown",
"metadata": {
"_uuid": "dcb382e5b8587d277a88269f9a1e4760ffbc21d8",
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"**MSE (Mean Squared Error)** is a formula to measure how much estimators deviate from the true distribution. This can be very useful with for example, evaluating regression models.\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"**RMSE (Root Mean Squared Error)** is just the root of the MSE.\n",
"\n",
"\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"_uuid": "839b15a284e146ae9f582c28ab6e30af07eecd86",
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"MSE: 36.0\n",
"RMSE: 6.0\n"
]
}
],
"source": [
"from math import sqrt\n",
"\n",
"Y = 100 # Actual Value\n",
"YH = 94 # Predicted Value\n",
"\n",
"# MSE Formula \n",
"def MSE(Y, YH):\n",
" return np.square(YH - Y).mean()\n",
"\n",
"# RMSE formula\n",
"def RMSE(Y, YH):\n",
" return sqrt(np.square(YH - Y).mean())\n",
"\n",
"\n",
"print('MSE: ', MSE(Y, YH))\n",
"print('RMSE: ', RMSE(Y, YH))"
]
},
{
"cell_type": "markdown",
"metadata": {
"_uuid": "f51ce7f24700f38a575a0236e9f40964d16a01f5",
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"The **Standard Error (SE)** measures how spread the distribution is from the sample mean.\n",
"\n",
"\n",
"\n",
"The formula can also be defined as the standard deviation divided by the square root of the number of samples.\n",
"\n",
""
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"# Generate Normal Distribution\n",
"normal_dist = np.random.randn(10000)\n",
"normal_df = pd.DataFrame({'value' : normal_dist})\n",
"normal_dist = pd.Series(normal_dist)\n",
"# Create a Pandas Series for easy sample function\n",
"normal_dist = pd.Series(normal_dist)\n",
"\n",
"normal_dist2 = np.random.randn(10000)\n",
"normal_df2 = pd.DataFrame({'value' : normal_dist2})\n",
"# Create a Pandas Series for easy sample function\n",
"normal_dist2 = pd.Series(normal_dist)\n",
"\n",
"normal_df_total = pd.DataFrame({'value1' : normal_dist, \n",
" 'value2' : normal_dist2})"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"_kg_hide-input": true,
"_uuid": "9b07a5750071eaba369eb243fa4f8227886cf9e4",
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Standard Error of uniform sample: 0.029383241532640426\n",
"Standard Error of normal sample: 0.09801666115089963\n"
]
}
],
"source": [
"# Standard Error (SE)\n",
"# Uniform distribution (between 0 and 1)\n",
"uniform_dist = np.random.random(1000)\n",
"uniform_df = pd.DataFrame({'value' : uniform_dist})\n",
"uniform_dist = pd.Series(uniform_dist)\n",
"\n",
"uni_sample = uniform_dist.sample(100)\n",
"norm_sample = normal_dist.sample(100)\n",
"\n",
"print('Standard Error of uniform sample: ', sem(uni_sample))\n",
"print('Standard Error of normal sample: ', sem(norm_sample))\n",
"\n",
"# The random samples from the normal distribution should have a higher standard error"
]
}
],
"metadata": {
"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.9.7"
}
},
"nbformat": 4,
"nbformat_minor": 4
}