{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"tags": [
"remove_input"
]
},
"outputs": [],
"source": [
"path_data = '../../../../data/'\n",
"\n",
"import numpy as np\n",
"import pandas as pd\n",
"import math\n",
"from scipy import stats\n",
"\n",
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"plt.style.use('fivethirtyeight')\n",
"\n",
"import warnings\n",
"warnings.filterwarnings('ignore')"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"tags": [
"remove_input"
]
},
"outputs": [],
"source": [
"def r_scatter(r):\n",
" plt.figure(figsize=(5,5))\n",
" \"Generate a scatter plot with a correlation approximately r\"\n",
" x = np.random.normal(0, 1, 1000)\n",
" z = np.random.normal(0, 1, 1000)\n",
" y = r*x + (np.sqrt(1-r**2))*z\n",
" plt.scatter(x, y)\n",
" plt.xlim(-4, 4)\n",
" plt.ylim(-4, 4)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Correlation ###\n",
"\n",
"In this section we will develop a measure of how tightly clustered a scatter diagram is about a straight line. Formally, this is called measuring *linear association*."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The table `hybrid` contains data on hybrid passenger cars sold in the United States from 1997 to 2013. The data were adapted from the online data archive of [Prof. Larry Winner](http://www.stat.ufl.edu/%7Ewinner/) of the University of Florida. The columns:\n",
"\n",
"- `vehicle`: model of the car\n",
"- `year`: year of manufacture\n",
"- `msrp`: manufacturer's suggested retail price in 2013 dollars\n",
"- `acceleration`: acceleration rate in km per hour per second\n",
"- `mpg`: fuel econonmy in miles per gallon\n",
"- `class`: the model's class."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"hybrid = pd.read_csv(path_data + 'hybrid.csv')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
vehicle
\n",
"
year
\n",
"
msrp
\n",
"
acceleration
\n",
"
mpg
\n",
"
class
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
Prius (1st Gen)
\n",
"
1997
\n",
"
24509.74
\n",
"
7.46
\n",
"
41.26
\n",
"
Compact
\n",
"
\n",
"
\n",
"
1
\n",
"
Tino
\n",
"
2000
\n",
"
35354.97
\n",
"
8.20
\n",
"
54.10
\n",
"
Compact
\n",
"
\n",
"
\n",
"
2
\n",
"
Prius (2nd Gen)
\n",
"
2000
\n",
"
26832.25
\n",
"
7.97
\n",
"
45.23
\n",
"
Compact
\n",
"
\n",
"
\n",
"
3
\n",
"
Insight
\n",
"
2000
\n",
"
18936.41
\n",
"
9.52
\n",
"
53.00
\n",
"
Two Seater
\n",
"
\n",
"
\n",
"
4
\n",
"
Civic (1st Gen)
\n",
"
2001
\n",
"
25833.38
\n",
"
7.04
\n",
"
47.04
\n",
"
Compact
\n",
"
\n",
"
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
\n",
"
\n",
"
148
\n",
"
S400
\n",
"
2013
\n",
"
92350.00
\n",
"
13.89
\n",
"
21.00
\n",
"
Large
\n",
"
\n",
"
\n",
"
149
\n",
"
Prius Plug-in
\n",
"
2013
\n",
"
32000.00
\n",
"
9.17
\n",
"
50.00
\n",
"
Midsize
\n",
"
\n",
"
\n",
"
150
\n",
"
C-Max Energi Plug-in
\n",
"
2013
\n",
"
32950.00
\n",
"
11.76
\n",
"
43.00
\n",
"
Midsize
\n",
"
\n",
"
\n",
"
151
\n",
"
Fusion Energi Plug-in
\n",
"
2013
\n",
"
38700.00
\n",
"
11.76
\n",
"
43.00
\n",
"
Midsize
\n",
"
\n",
"
\n",
"
152
\n",
"
Chevrolet Volt
\n",
"
2013
\n",
"
39145.00
\n",
"
11.11
\n",
"
37.00
\n",
"
Compact
\n",
"
\n",
" \n",
"
\n",
"
153 rows × 6 columns
\n",
"
"
],
"text/plain": [
" vehicle year msrp acceleration mpg class\n",
"0 Prius (1st Gen) 1997 24509.74 7.46 41.26 Compact\n",
"1 Tino 2000 35354.97 8.20 54.10 Compact\n",
"2 Prius (2nd Gen) 2000 26832.25 7.97 45.23 Compact\n",
"3 Insight 2000 18936.41 9.52 53.00 Two Seater\n",
"4 Civic (1st Gen) 2001 25833.38 7.04 47.04 Compact\n",
".. ... ... ... ... ... ...\n",
"148 S400 2013 92350.00 13.89 21.00 Large\n",
"149 Prius Plug-in 2013 32000.00 9.17 50.00 Midsize\n",
"150 C-Max Energi Plug-in 2013 32950.00 11.76 43.00 Midsize\n",
"151 Fusion Energi Plug-in 2013 38700.00 11.76 43.00 Midsize\n",
"152 Chevrolet Volt 2013 39145.00 11.11 37.00 Compact\n",
"\n",
"[153 rows x 6 columns]"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"hybrid"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The graph below is a scatter plot of `msrp` *versus* `acceleration`. That means `msrp` is plotted on the vertical axis and `accelaration` on the horizontal."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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xEQ++OADO5S2vpMnTzJ16lQ+++wzUlNTcXJy4tlnn+XatWtKjL3/lmUdqh2sXLmSU6dO8dlnn9m7KM0SFRVF586d2b59u3Js5syZXLt2jT179tixZE277777WL9+Pb/+9a+Bml+0vXv3Zvr06cTFxQFQWlpKcHAwf/jDH4iJibFncc0yrYM533//PWFhYZw6dYrQ0NBWLF3TGir/Tz/9xOjRo/n444+JjIwkNjaW3/72t3YqZePM1WHatGloNBqSk5PtWDLLmCv/448/zrhx43j55ZeVY0899RShoaG8+uqr9ihmo0pKSggICODdd98lIiJCFX/L0kK1g08//ZQBAwYQExNDz549+eUvf8mbb76JweAYv23CwsI4efIkP/zwA1Dz5X3ixAmefPJJO5fMehcvXiQ/P58RI0Yox1xdXRk8eDDp6el2LNmdqf1F7unpad+CWKiqqopp06YRFxdHSEiIvYtjterqag4dOkRISAiTJk2iR48eDB8+nP3799u7aBYLCwvj0KFDXLp0CYD09HT+3//7f4SHh9u5ZOaVlJRQXV2tfMbV8Lcs10O1gwsXLrBr1y5mz57N/PnzycrKYvHixQDExsbauXRNmz9/PiUlJQwaNAitVktVVRVxcXFMmzbN3kWzWn5+PkC97nZvb28uX75sjyLdsYqKCl555RXGjBnDfffdZ+/iWGTNmjV07tyZqVOn2rsozXL16lVKSkrYtGkTL7/8MitWrOD48eNMnz6de+65hzFjxti7iE1at24dCxYs4IEHHsDJqSY1rF+/XrVlX7JkCf369WPgwIGAOv6WJaHaQXV1NQ8//DArVqwA4KGHHuL8+fPs3LnTIRLq/v37+eCDD9i5cye9e/cmKyuLJUuWEBAQwJQpU+xdvGbRaDRGtw0GQ71jjqCqqorY2FiuX7/O+++/b+/iWOTkyZO89957nDhxwt5Fabbq6mqgpot0zpw5ADz44IOcOXOGnTt3qjYp1bVjxw7S09N5//336d69O1988QXLly8nICCAkSNH2rt4Rl5++WW+/PJLDh06hFarNTpnz79lSah24OPjU69bq1evXkpXi9olJCQwZ84cJk2aBEBoaCi5ubls3rzZ4RKqj48PAAUFBfj7+yvHCwsLHWaSWK2qqiqmTp3Kd999xyeffMK9995r7yJZ5MSJE1y5csXob0Kv17NixQq2bdtWbyanGnl5eeHk5GT279oRun1LS0tZuXIlf/3rX4mIiADggQceICsri9dee01VCXXp0qXs37+fAwcOcP/99yvH1fC3LGOodhAWFsaPP/5odOzHH3+ke/fudiqRdW7dulXvV6FWq1V+pTuSwMBAfHx8SEtLU46VlZVx+vRpBg0aZMeSWaeyspKYmBi+/fZbDhw4oHy5OIJp06Zx6tQpTpw4ofzr1q0bs2fP5m9/+5u9i2eR9u3b88gjj5CTk2N03FH+risrK6msrFT93/XixYtJSUkhNTWVXr16GZ1Tw9+ytFDtYPbs2YwaNYoNGzYwceJEMjMzefPNN1m+fLm9i2aRMWPGsGXLFgIDA+nduzeZmZkkJSURHR1t76KZVVJSwvnz54GarrlLly6RmZlJ586d6d69O7NmzWLjxo0EBwfTs2dPNmzYgJubG5GRkXYu+W2N1aFbt2688MILfPPNN7z//vtoNBplPMnDw6PRZSqtpan3wLQF4eTkhI+PD8HBwfYorllN1WHu3LnExMQwePBghgwZwokTJ9i/f3+ja25bU1Plf+KJJ0hMTMTNzY3u3btz6tQpPvjgAxITE+1c8hpxcXHs2bOHd955B09PT+Uz7ubmhru7OxqNxu5/y7Jsxk4+++wzVq5cyY8//oi/vz/Tp09nxowZDjFuV1xczB//+Ec++eQTCgsL8fHxYdKkSSxatIgOHTrYu3j1nDhxgnHjxtU7/txzz7Ft2zYMBgNr167lr3/9KzqdjgEDBrBhwwb69u1rh9Ka11gdlixZwkMPPWT2fklJSY0ur2ktTb0Hpvr166e6ZTOW1OHdd99l06ZN5OXlERQUxO9+9zvV/DBrqvz5+fkkJiaSlpbGtWvX6N69O1OmTGHOnDmq+F5qaMb64sWLWbp0KYDd/5YloQohhBA2IGOoQgghhA1IQhVCCCFsQBKqEEIIYQOSUIUQQggbkIQqhBBC2IAkVCGEEMIGJKEKIepZs2aNaq9Uo+ayibubJFQhhOrk5eWxZs0aMjMz7V0UISwmCVUIoTr/+c9/WLduHVlZWfXOxcfHc+XKFTuUSojGSUIVQrS4W7du2eyxnJycVLnFpRCSUIWwk59++omFCxfy2GOP0a1bNwICAoiKiuLcuXP1YisqKnj11Vd57LHH6Nq1K8HBwTz33HNGsQaDgeTkZH75y1/i6+tLUFAQzz77LF988YXRY+3bt4/w8HCj5/z+++8tKnNaWhpPP/00/v7++Pn58fTTT5Oenm4UUzvG+f333zNz5kx+8YtfEBYWZnGdT5w4wZNPPgnASy+9hKenJ56enqxZs8bo8U29/fbbDB48GB8fH3r27MmMGTPqXVh61qxZ+Pj4UFBQQExMDN27dycwMJB58+ZRVlZm0WsgREPkajNC2Mk333zDqVOnGDduHAEBAVy+fJm//OUvPPXUU3z55ZfKJdiqq6t57rnn+Mc//sEzzzzD9OnTKS0t5cSJE5w5c4Y+ffoAMG/ePN5++22GDRvG888/j8FgICMjg9OnTzN48GAAtmzZwu9//3vGjRtHdHQ0N2/eZOfOnYwePZpjx44ZXV/SVEpKCrGxsfzqV79i2bJlVFdX8+677/LMM8/w6aef8uijjxrFx8TEEBAQwLJly6ioqLC4ziEhISxZsoS1a9fyP//zPzz++ONAzXV3G7J582YSExMZPHgwK1eu5NKlSyQnJ3P69GmOHz9ulICrq6uZMGECoaGhJCYm8s9//pO33noLLy8vEhISrH4fhaglm+MLYSe3bt3innvuMTp2/vx5Hn/8ceLj44mLiwNqrmDy0ksv8corryjHahkMBjQajXIlkRdeeIGtW7eajcnNzeXhhx9m4cKFytU5AK5cucLAgQN55plneP3114GaVuC6devQ6XQA3Lx5k9DQUCIiIoyuDnPr1i3CwsK4//77SU1NNbrvuHHj2L17d7Pq/NVXX/Hkk0+avVqOadmKioro27cvjz32GB9//DFOTjXthE8//ZRf//rXxMXF8corrwA1LdT333/f6BjA888/T3p6Ov/7v/9b730SwlLS5SuEndRNLLdu3eLnn3+mU6dO9OjRgzNnzijnUlNT6dSpk9lLmdVeVqs2mdVNEqYxBw4coKqqikmTJlFUVKT8c3Z25tFHH+X48eMNljUtLQ2dTsd///d/G923tLSUYcOGcfr0aSorK43uM3Xq1GbX2RpHjx6lvLyc2bNnK8kUYOzYsQQHB/PZZ5/Vu49p2Z544gmKioooLi5uVhmEAOnyFcJuysrKWL16NR9++GG9WateXl7K///973/Ts2dPXFxcGnysf//733h7e9e7UHddta2vgQMHmj1v2nI0d98JEyY0GHP9+nW6dOmi3DbXfWxpna3x008/AdCrV69653r16sXJkyeNjjk7O9OtWzejY7VdwteuXaNjx47NKocQklCFsJMlS5bw9ttvExsbS1hYGB4eHrRr146lS5dSXV2txNV22TbGkpjax0xJSTFqydVq167hDqva+77xxhv4+fmZjfHw8DC67erqWi/G0jrbisFQf0SrsXqaixfCUpJQhbCT/fv3Ex0dzdq1a42O63Q67r33XuV2UFAQ6enpVFRU0L59e7OPFRQUxD/+8Q+uXr3aYCv1F7/4BQD+/v707t3bqrLW3rdLly4MGzbMqvvWZWmdm/pxUFdAQAAAP/zwAz179jQ6l5OTo5wXoqXJGKoQdqLVauu1iFJSUuot9XjmmWfQ6XQkJSXVe4za+z/zzDMArF69utEYJycn1qxZY7Y1WFhY2GBZw8PD6dSpExs2bKC8vNyq+9ZlaZ1ru59rJx41ZtiwYbi4uLB9+3b0er1y/O9//zs5OTmMHj3aorIJcaekhSqEnURERPDBBx/QsWNH+vbtS1ZWFvv376839hgdHc2HH35IYmIiZ8+e5YknnqCsrIyTJ08yYcIEoqOj+dWvfsXzzz/PX/7yFy5cuMCoUaOAmtmyoaGhLFy4kPvvv5/ExESWLVvGyJEjGTduHJ07dyY3N5fPP/+cRx99lM2bN5sta8eOHdm6dStTp07ll7/8Jf/1X/+Fj48PeXl5nDhxAjc3N1JSUmxW5x49euDh4cGf//xn3N3dcXd3p0+fPvTt27feY3p5ebFkyRISExMZP34848aNIy8vjzfffJOAgADmzJlj2RsixB2ShCqEnaxduxZnZ2c++ugj3nnnHfr378++fftYvny5UZxWq2XPnj1s3LiRlJQUPv30Uzp37syjjz5K//79lbjXX3+d0NBQdu/ezYoVK3B3d+ehhx7iiSeeUGJeeuklevbsyWuvvcamTZuoqqqiW7duhIWFMXny5EbL++yzz9KtWzc2bdrEG2+8QWlpKT4+Pjz66KNMmTLFpnV2cXFhx44d/OEPfyAuLo7KykoWL15sNqECLFiwAC8vL7Zv387y5ctxd3dn/PjxrFixQjbSF61G1qEKIYQQNiBjqEIIIYQNSEIVQgghbEASqhBCCGEDklCFEEIIG5CEKoQQQtiAJFQhhBDCBiShCiGEEDYgCVUIIYSwAUmoQgghhA1IQhVCCCFs4P8DRAnkiCHfIC4AAAAASUVORK5CYII=\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"hybrid.plot.scatter('acceleration', 'msrp')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Notice the positive association. The scatter of points is sloping upwards, indicating that cars with greater acceleration tended to cost more, on average; conversely, the cars that cost more tended to have greater acceleration on average. \n",
"\n",
"The scatter diagram of MSRP versus mileage shows a negative association. Hybrid cars with higher mileage tended to cost less, on average. This seems surprising till you consider that cars that accelerate fast tend to be less fuel efficient and have lower mileage. As the previous scatter plot showed, those were also the cars that tended to cost more. "
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"hybrid.plot.scatter('mpg', 'msrp')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Along with the negative association, the scatter diagram of price versus efficiency shows a non-linear relation between the two variables. The points appear to be clustered around a curve, not around a straight line. \n",
"\n",
"If we restrict the data just to the SUV class, however, the association between price and efficiency is still negative but the relation appears to be more linear. The relation between the price and acceleration of SUV's also shows a linear trend, but with a positive slope."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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M2fOMGvWLC5evMimTZu466672LNnDwMHDgQu3XJr2rRpXH/99aSlpdGlSxc2b97Mdddd11Epi7iUFscX8XMrV65k9erV3H///bz44osAOBwObr/9dkpKSkhNTWXp0qXApft0Dho0iOHDh7N161ZKSkq47bbb6NKlC4cOHSIyMhKAr776ihEjRnDXXXcZd5O59957ycvL49ChQ0RERACX7t86bNgwbDYbn376qfF8EW+kIV8RAWDmzJnG/00mE8OGDcPhcHD//fcb27t168Ytt9zC119/7fTchIQEp2I4cOBA4uPjeffddwGw2+3s2bOHhIQEo5gCBAcH88tf/tJNGYm0LxVUEQEgPDzc6XFgYGCz2202m9O2AQMGNDregAEDOHPmDGfOnOHUqVOcP3++2TgRX6CCKiIAmM3mVm93OJzPFJlMpivGNKe1cSKeTpOSROSaffXVV422HTt2jF69etGrVy969OhB9+7d+ec//9lknIgvUA9VRK7Zrl27nC57+eqrr3j//fcZN24ccKmXO2bMGP7617/yzTffGHGVlZVs27at3dsr4g7qoYrINRswYAB33HEHs2fP5uLFi2RmZtK1a1cWL15sxCxZsoS8vDwSEhJ48MEH6dy5M5s3byYiIgKbzdbksLGIN1FBFZFr9stf/pLrrruOjIwMysrKuOWWW1ixYgU33XSTEXPrrbeyY8cOnnjiCVavXk3fvn2ZM2cO3bp1o7CwkG7dunVgBiLXTtehishVq78OddmyZSxcuPCqjrF48WI2b95MaWlpsxOjRLyBzqGKSLs5f/680+OKigq2bt3KyJEjVUzF62nIV0Taza233so999yD1Wrl5MmTbNmyhXPnzrFo0aKObprINVNBFZF2M378eHbu3El5eTmdOnUiJiaGP/3pT4wYMaKjmyZyzXQOVURExAV0DlVERMQFVFBFRERcQAVVRETEBVRQRUREXEAFVURExAVUUEVERFzg/wH70RZzJRru8AAAAABJRU5ErkJggg==\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"suv.plot.scatter('acceleration', 'msrp')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You will have noticed that we can derive useful information from the general orientation and shape of a scatter diagram even without paying attention to the units in which the variables were measured.\n",
"\n",
"Indeed, we could plot all the variables in standard units and the plots would look the same. This gives us a way to compare the degree of linearity in two scatter diagrams.\n",
"\n",
"Recall that in an earlier section we defined the function `standard_units` to convert an array of numbers to standard units."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"def standard_units(any_numbers):\n",
" \"Convert any array of numbers to standard units.\"\n",
" return (any_numbers - np.mean(any_numbers))/np.std(any_numbers) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can use this function to re-draw the two scatter diagrams for SUVs, with all the variables measured in standard units. \n",
"\n",
"(*employing Pandas plotting function instead of matplotlib*)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"pd.DataFrame(\n",
" {'acceleration (standard units)':standard_units(suv['acceleration']), \n",
" 'msrp (standard units)':standard_units(suv['msrp'])}).plot.scatter(0, 1)\n",
"\n",
"plt.xlim(-3, 3)\n",
"\n",
"plt.ylim(-3, 3)\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The associations that we see in these figures are the same as those we saw before. Also, because the two scatter diagrams are now drawn on exactly the same scale, we can see that the linear relation in the second diagram is a little more fuzzy than in the first.\n",
"\n",
"We will now define a measure that uses standard units to quantify the kinds of association that we have seen."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### The correlation coefficient ###\n",
"\n",
"The *correlation coefficient* measures the strength of the linear relationship between two variables. Graphically, it measures how clustered the scatter diagram is around a straight line.\n",
"\n",
"The term *correlation coefficient* isn't easy to say, so it is usually shortened to *correlation* and denoted by $r$.\n",
"\n",
"Here are some mathematical facts about $r$ that we will just observe by simulation.\n",
"\n",
"- The correlation coefficient $r$ is a number between $-1$ and 1.\n",
"- $r$ measures the extent to which the scatter plot clusters around a straight line.\n",
"- $r = 1$ if the scatter diagram is a perfect straight line sloping upwards, and $r = -1$ if the scatter diagram is a perfect straight line sloping downwards."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The function ``r_scatter`` takes a value of $r$ as its argument and simulates a scatter plot with a correlation very close to $r$. Because of randomness in the simulation, the correlation is not expected to be exactly equal to $r$.\n",
"\n",
"Call ``r_scatter`` a few times, with different values of $r$ as the argument, and see how the scatter plot changes. \n",
"\n",
"When $r=1$ the scatter plot is perfectly linear and slopes upward. When $r=-1$, the scatter plot is perfectly linear and slopes downward. When $r=0$, the scatter plot is a formless cloud around the horizontal axis, and the variables are said to be *uncorrelated*."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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+uuvxx//+EdMnjxZzUsVFc4tJiIlVA3ITU1NeO2119R8SiKissHxmxqTiyYSIioODMgawiYSovLGaW8awiYSovLGgKwhnLNMVN4YkDWEc5aJyhsDsoZwzjJReeOmnoawiYSovDEgawybSIjKV1kFZNb4EpGWlU1AZo0vEWld2WzqscaXiLSubAIya3yJSOvKJiCzxpeItK5sAjJrfIlI68pmU481vkSkdWUTkAHW+BKRtpVNyoKISOsYkImINIIBmYhIIxiQiYg0ggGZiEgjGJCJiDSCAZmISCMYkImINIIBmYhIIxiQiYg0ImcBORwO4+/+7u9QXV2N//zP/8zVZYiISkbOAvKmTZug13O0JRGRUjkZLvTee+/hpZdewsGDB9Ha2pqLSxARlRzVV8hutxurVq3Cc889h/r6erWfni7gG11m+Lplhq9bfqgekB988EEsXrwYS5cuVfupiYhKmqKUxcaNG/H000/Lfs3u3btx7tw5fPjhh3j77bdVuTkionIiuFyucKov6uvrQ19fn+zXNDU14Yc//CH+4z/+AzrdxYV3MBiETqfD3LlzsX///uzvmIioRCkKyEp1dnbC5XLFPXb99dfjiSeewG233YZLLrlErUsREZUcVasspkyZgilTpiQ93tTUxGBMRJSCpjr12EySnoGBATz88MO49tpr0dDQgDlz5uDBBx9Ef39/oW9Nc7Zs2YIrr7wSkydPxsKFC3H06NFC35LmPfvss7jpppswbdo0XHrppbj77rvx8ccfF/q2is4zzzyD6upqPPzwwym/NucB2eVy4c4771T0tWwmSU9XVxe6urrw2GOP4ejRo3j55Zdx9OhRrFq1qtC3pik7d+7E+vXr8cMf/hB//vOfMXfuXKxcuRJffPFFoW9N0w4fPoxVq1bhwIEDeP3112EwGLBixQoMDAwU+taKxokTJ7B161bMmTNH0dermkPOxnvvvYd/+Id/GG8m2bp1q+JAThe9+eabuPvuu9He3o4JEyYU+nY0YfHixZgzZw5+8YtfjD921VVX4c4778SPf/zjAt5ZcRkeHkZzczO2bduG5cuXF/p2NG9wcBALFy7Ez3/+c/zsZz/D7Nmz8dRTT8l+jyZSFmwmUY/b7YbZbEZFRUWhb0UTfD4f3n//fSxatCju8UWLFuH48eMFuqviNDw8jFAohOrq6kLfSlH4/ve/jzvvvBMLFy5U/D05aZ1OF5tJ1OFyufDEE0/g29/+NgwGTfyvLbi+vj4Eg8GkN/r6+nqcP3++QHdVnNavX48rrrgCc+fOLfStaN7WrVvR1taGl19+Oa3vy9lvLZtJMqf0tVuwYMH4n0dGRnDPPfegsbERjz/+eK5vsegIghD353A4nPQYSXvkkUdw7Ngx7N+/n/s8KTgcDjz++OPYt28fTCZTWt+bsxwym0kyp/S1i6YlhoeHsXLlSgDAjh07UFlZmfN7LBY+nw+NjY341a9+hRUrVow//tBDD+Hjjz/G3r17C3dzRWLDhg3YuXMndu/ejZkzZxb6djRv27ZtWLNmTdwbVzAYhCAI0Ol06OzshNlsFv3egm/qsZkkO263GytXrkQ4HMZrr70Gu91e6FvSnMWLF+Pyyy/Hz3/+8/HHrr76avzN3/wNN/VSWLduHXbu3Ik9e/bgsssuK/TtFAWXy4XOzs64x9asWYNLL70UDz74IGbNmiX56azgiUY2k2TO7XbjrrvugtvtxrZt2zA6OorR0VEAQE1NTdofl0rVmjVr8E//9E+4+uqrMW/ePLzyyivo7u7Gd77znULfmqY99NBD+N3vfodf//rXqK6uRk9PDwDAZrPxU5iM6urqpI3PiooK1NTUYPbs2bLfW/CATJl7//33ceLECQCRFV+sxBxzObvrrrvQ39+Pp556Cj09PZg1axa2b9+O5ubmQt+apm3ZsgUAkspP161bhw0bNhTilkpewVMWREQUoYk6ZCIiYkAmItIMBmQiIo1gQCYi0ggGZCIijWBAJiLSCAZkIiKNYEAmItIIBmQiIo34/zgoaMDEtsPuAAAAAElFTkSuQmCC\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"r_scatter(-0.55)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Calculating $r$ ###\n",
"\n",
"The formula for $r$ is not apparent from our observations so far. It has a mathematical basis that is outside the scope of this class. However, as you will see, the calculation is straightforward and helps us understand several of the properties of $r$.\n",
"\n",
"**Formula for $r$**:\n",
"\n",
"**$r$ is the average of the products of the two variables, when both variables are measured in standard units.**\n",
"\n",
"Here are the steps in the calculation. We will apply the steps to a simple table of values of $x$ and $y$."
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
x
\n",
"
y
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
1
\n",
"
2
\n",
"
\n",
"
\n",
"
1
\n",
"
2
\n",
"
3
\n",
"
\n",
"
\n",
"
2
\n",
"
3
\n",
"
1
\n",
"
\n",
"
\n",
"
3
\n",
"
4
\n",
"
5
\n",
"
\n",
"
\n",
"
4
\n",
"
5
\n",
"
2
\n",
"
\n",
"
\n",
"
5
\n",
"
6
\n",
"
7
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" x y\n",
"0 1 2\n",
"1 2 3\n",
"2 3 1\n",
"3 4 5\n",
"4 5 2\n",
"5 6 7"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x = np.arange(1, 7, 1)\n",
"y = np.array([2, 3, 1, 5, 2, 7])\n",
"t = pd.DataFrame({'x':x,\n",
" 'y':y})\n",
"t"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Based on the scatter diagram, we expect that $r$ will be positive but not equal to 1."
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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zaaWBgBcA7ioDACwEoECAFiJQAEArESgAABWIlAAACsRKACAlQgUAMBKBAoAYCUCBQCwEoECAFiJQAEArESgAABWIlAAACsRKACAlQgUAMBKBAoAYCUCBQCwEoECAFiJQAEArESgAABWIlAAACsRKACAlQgUAMBKBAoAYCVrAvXMM8/I5XLpscceMz0KAMACXQrU3r17FY1Gu32IQ4cOacuWLcrPz+/2+wYAXJu6FKj58+drxIgRWr58ud5///1uGeD8+fNauHCh1q9fL5fL1S33CQC49nUpUH/4wx80adIkvfTSS/rud7+r8ePH67e//a2am5u/8QBLly6Vx+PRlClTvvF9AAB6ny4FaubMmdq0aZM+/PBDrV+/Xt/61rf0q1/9SrfffrtKSkq0bds2ffzxx1/7/rZs2aKmpiY9/vjjXR4cANC7JYVCodiV3MGpU6f0xz/+Udu3b9fRo0eVkpKi733veyorK9O0adO+8nbBYFCzZs3S66+/rpycHElScXGx8vLyVFVV1entAADXPrfb3en7nStd4NNPP9WFCxd04cIFxWIxDRgwQO+884527typ3NxcVVdXa+TIkR1ud/DgQZ07d04TJ05sP3bx4kUdOHBAmzdv1smTJ9WvX78uf0KdCQaDV3T73ob9iMd+dMSexGM/4vX0fnyjQJ0/f16vvfaatm/frnfffVfXXXedZs2apaeeekrTp09XcnKy9uzZo4qKCv3kJz/Rvn37OtxHcXGxCgoK4o4tWbJE2dnZeuSRR9S3b99v9hkBAHqFLgVq9+7d2r59u/bu3av//ve/Gjt2rKqqqjR37twOr8CbNWuWzpw5o5///Odfel8ul6vDbVJTU5Wenq68vLwufRIAgN6nS4H64Q9/qMGDB2vJkiUqKyvTsGHDOv34/Px8/eAHP7iiAQEAialLgXr11Vc1ZcoUJSUlfa2PHzNmjMaMGfO173/37t1dGQcA0It1KVBTp07toTEAAIhnze/iAwDg8wgUAMBKBAoAYCUCBQCwEoECAFiJQAEArESgAABWIlAAACsRKACAlQgUAMBKBAoAYCUCBQCwEoECAFiJQAEArESgAABWIlAAACsRKACAlQgUAMBKBAoAYCUCBQCwEoECAFiJQAEArESgAABWIlAAACsZC9QLL7ygO++8U5mZmcrMzNSMGTO0Z88eU+MAACxjLFC3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\n",
"text/plain": [
"
"
],
"text/plain": [
" x y x (standard units) y (standard units) product of standard units\n",
"0 1 2 -1.46385 -0.648886 0.949871\n",
"1 2 3 -0.87831 -0.162221 0.142481\n",
"2 3 1 -0.29277 -1.135550 0.332455\n",
"3 4 5 0.29277 0.811107 0.237468\n",
"4 5 2 0.87831 -0.648886 -0.569923\n",
"5 6 7 1.46385 1.784436 2.612146"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"t_product = t_su.copy()\n",
"\n",
"t_product['product of standard units'] = t_su.iloc[:,2] * t_su.iloc[:,3]\n",
"\n",
"t_product"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Step 3.** $r$ is the average of the products computed in Step 2."
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.6174163971897709"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# r is the average of the products of standard units\n",
"\n",
"r = np.mean(t_product.iloc[:,4])\n",
"r"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As expected, $r$ is positive but not equal to 1."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Properties of $r$\n",
"\n",
"The calculation shows that:\n",
"\n",
"- $r$ is a pure number. It has no units. This is because $r$ is based on standard units.\n",
"- $r$ is unaffected by changing the units on either axis. This too is because $r$ is based on standard units.\n",
"- $r$ is unaffected by switching the axes. Algebraically, this is because the product of standard units does not depend on which variable is called $x$ and which $y$. Geometrically, switching axes reflects the scatter plot about the line $y=x$, but does not change the amount of clustering nor the sign of the association."
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"t.plot.scatter('y', 'x', s=30, color='red')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### The `correlation` function ###\n",
"We are going to be calculating correlations repeatedly, so it will help to define a function that computes it by performing all the steps described above. Let's define a function ``correlation`` that takes a table and the labels of two columns in the table. The function returns $r$, the mean of the products of those column values in standard units."
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"def correlation(t, x, y):\n",
" return np.mean(standard_units(t[x])*standard_units(t[y]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's call the function on the ``x`` and ``y`` columns of ``t``. The function returns the same answer to the correlation between $x$ and $y$ as we got by direct application of the formula for $r$. "
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.6174163971897709"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"correlation(t, 'x', 'y')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As we noticed, the order in which the variables are specified doesn't matter."
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.6174163971897709"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"correlation(t, 'y', 'x')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Calling ``correlation`` on columns of the table ``suv`` gives us the correlation between price and mileage as well as the correlation between price and acceleration."
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"-0.6667143635709919"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"correlation(suv, 'mpg', 'msrp')"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.4869979927995918"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"correlation(suv, 'acceleration', 'msrp')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"These values confirm what we had observed: \n",
"\n",
"- There is a negative association between price and efficiency, whereas the association between price and acceleration is positive.\n",
"- The linear relation between price and acceleration is a little weaker (correlation about 0.5) than between price and mileage (correlation about -0.67). "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Correlation is a simple and powerful concept, but it is sometimes misused. Before using $r$, it is important to be aware of what correlation does and does not measure."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Association is not Causation ###\n",
"\n",
"Correlation only measures association. Correlation does not imply causation. Though the correlation between the weight and the math ability of children in a school district may be positive, that does not mean that doing math makes children heavier or that putting on weight improves the children's math skills. Age is a confounding variable: older children are both heavier and better at math than younger children, on average."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Correlation Measures *Linear* Association ###\n",
"Correlation measures only one kind of association – linear. Variables that have strong non-linear association might have very low correlation. Here is an example of variables that have a perfect quadratic relation $y = x^2$ but have correlation equal to 0."
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"new_x = np.arange(-4, 4.1, 0.5)\n",
"nonlinear = pd.DataFrame(\n",
" {'x':new_x,\n",
" 'y':new_x**2}\n",
" )\n",
"nonlinear.plot.scatter('x', 'y', s=30, color='r')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.0"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"correlation(nonlinear, 'x', 'y')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Correlation is Affected by Outliers ###\n",
"Outliers can have a big effect on correlation. Here is an example where a scatter plot for which $r$ is equal to 1 is turned into a plot for which $r$ is equal to 0, by the addition of just one outlying point."
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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ADAGoQYAMAahBgAwBqEGADAGoQYAMIZlofbOO+8oMTFRUVFRio6OVnp6uioqKtqdU1VVJYfDcdvHoUOHeqlqAEBfFlCoffzxx/L7/d1y45KSEj333HM6ePCg3G63bDabnnzySX355Zcdzi0qKtKZM2eaPx555JFuqQkAENxsgQxOT0/X0KFDNWfOHKWnp+vBBx+84xvv2rWrxfGGDRs0evRoHT9+XE888US7cwcPHqxhw4bd8b0BAGYK6Entww8/1MMPP6w//vGP+r//+z/96Ec/0u9+9ztduHChy4XU1dXJ7/fL4XB0OHbhwoUaN26cpk+fruLi4i7fGwBghoBCbfr06dq8ebPOnDmjdevWacSIEfr1r3+tH/zgB0pJSdHWrVv1n//8544KWbp0qSZMmKCEhIQ2x9xzzz1688039Yc//EGFhYV65JFH9Oyzz2r79u13dE8AgFlCamtrG7vyCaqrq1VYWKjt27eroqJCYWFhmjFjhjIyMpSUlNSpz/Haa69p165dOnDggMaOHRvQ/V955RWVlZWptLS0zTEejyegzwkA6LtiYmLavBbQa2qt+frrr3Xjxg3duHFDjY2N+u53v6uysjIVFRUpNjZWGzdu1Pjx49ucv2zZMu3atUt79uwJONAkadKkSdq6dWu7Y9r7AnTE4/F0aX4woEcz0KMZ6LFr7ugt/VeuXNGWLVs0Y8YMPfjgg3r77bfldDr14YcfqqKiQn//+9+1bds21dfXa/HixW1+niVLlmjnzp1yu926//7776iB06dP86YRAICkAJ/UPvroI23fvl0ff/yxvvrqK/3whz/U22+/raeeeuq2N3j85Cc/kdfr1SuvvNLq58rJydH27dv1wQcfyOFwqKamRpIUERGhe+65R5KUm5urTz/9VG63W5JUUFCg/v3764EHHlBoaKgOHDig/Px8rVixIsC2AQAmCijUfvrTn2rUqFHKyspSRkaGxo0b1+74uLg4Pf30061ey8/PlySlpaW1OL9kyRItW7ZM0jev11VWVra4vnr1ap0/f179+vVTdHS01q9fr/T09EDaAAAYKqBQ2717t6ZNm6aQkJBOjZ80aZImTZrU6rXa2toO57tcrhbH8+fP1/z58zt1bwDA3SegUHv00Ud7qAwAALqOH2gMADAGoQYAMAahBgAwBqEGADAGoQYAMAahBgAwBqEGADAG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\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"outlier = pd.DataFrame(\n",
" {'x':np.array([1, 2, 3, 4, 5]),\n",
" 'y':np.array([1, 2, 3, 4, 0])}\n",
" )\n",
"outlier.plot.scatter('x', 'y', s=30, color='r')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.0"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"correlation(outlier, 'x', 'y')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Ecological Correlations Should be Interpreted with Care ###\n",
"Correlations based on aggregated data can be misleading. As an example, here are data on the Critical Reading and Math SAT scores in 2014. There is one point for each of the 50 states and one for Washington, D.C. The column ``Participation Rate`` contains the percent of high school seniors who took the test. The next three columns show the average score in the state on each portion of the test, and the final column is the average of the total scores on the test."
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"