{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "*2018 CFA Level 2 Study Session 3 Reading 9* is an introduction to covariance, linear regression, and scatter plots. For ease I've broken these up in several parts, with part 1 exploring scatter plots and correlation coefficients. The math for this lesson can be handled using either numpy or pandas, and the plotting from matplotlib. As the complexity of the examples increase, we bring in real world data using pandas-datareader to illustrate the examples.\n", "\n", "Note: to properly view this notebook, ensure that \"show output\" is selected from the dropdown, and if you want to see the wizard behind the curtain, click \"show code\".\n", "\n", "---\n", "**Scatter Plots**" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import pandas as pd\n", "from pandas_datareader import data, wb\n", "import numpy as np\n", "import matplotlib, datetime\n", "import matplotlib.pyplot as plt\n", "from pylab import *\n", "%matplotlib inline\n", "pd.set_option('display.max_rows', 10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Example 1-1 concerns **scatter plots**, with a some money supply rate and an inflation rate, with the following data:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CountryInflationRateMoneySupplyGrthRate
0A0.054510.06851
1B0.077610.11601
2C0.034910.05751
3D0.073510.10501
4E0.082510.12501
5F0.107610.13501
\n", "
" ], "text/plain": [ " Country InflationRate MoneySupplyGrthRate\n", "0 A 0.05451 0.06851\n", "1 B 0.07761 0.11601\n", "2 C 0.03491 0.05751\n", "3 D 0.07351 0.10501\n", "4 E 0.08251 0.12501\n", "5 F 0.10761 0.13501" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.DataFrame({\"Country\":[\"A\",\"B\",\"C\",\"D\",\"E\",\"F\"], \"MoneySupplyGrthRate\":[0.06851,0.11601,0.05751,0.10501,0.12501,0.13501], \"InflationRate\":[0.05451,0.07761,0.03491,0.07351,0.08251,0.10761]})\n", "#df['InflationRate'] = df.MoneySupplyGrthRate + np.random.uniform(-1,1)\n", "df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With the resulting scatter plot:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "figure()\n", "plt.scatter(df.MoneySupplyGrthRate,df.InflationRate,c='r')\n", "xlabel('Money Supply Growth Rate')\n", "ylabel('Inflation Rate')\n", "title('Example 1-1')\n", "show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Correlation analysis** describes the relationship between two data series using a * *single number* * , the **correlation coefficient**, as measured from -1 to +1, with 0 being perfectly uncorrelated. The following graphs demonstrate this effect." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\nYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "figure()\n", "x = np.random.uniform(1,10,10);\n", "y = x*0.7;\n", "plt.scatter(x,y,c='r')\n", "xlabel('X')\n", "ylabel('Y')\n", "title('Figure 1-2, scatter plot with correlation of +1 (y = x*0.7)')\n", "show()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n1f8HgikMa5DZ8ugAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "figure()\n", "x = np.random.uniform(1,10,10);\n", "y = x*-0.7;\n", "plt.scatter(x,y,c='r')\n", "xlabel('X')\n", "ylabel('Y')\n", "title('Figure 1-3, scatter plot with correlation of -1 (y = x*-0.7)')\n", "show()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "figure()\n", "x = np.random.uniform(0,1,100);\n", "y = np.random.uniform(0,1,100);\n", "plt.scatter(x,y,c='r')\n", "xlabel('X')\n", "ylabel('Y')\n", "title('Figure 1-4, scatter plot with random data, correlation of 0')\n", "show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that Figure 1-4 is perfectly random, no correlation, and the value of X tells us nothing about the value of Y, etc.\n", "\n", "---\n", "**Calculating and Interpreting Correlation Coefficient / Covariance**\n", "\n", "$$Sample \\space covariance = Cov (X,Y) = \\sum_{n}^{i=1} \\frac{(X_i - \\overline{X})(Y_i - \\overline{Y})}{(n-1)}$$\n", "\n", "where:\n", "n = sample size\n", "\n", "$X_i = i$th observation of variable X\n", "\n", "$\\overline{X}$ = mean observations of variable X\n", "\n", "$Y_i = i$th observation of variable Y\n", "\n", "$\\overline{Y}$ = mean observations of variable X\n", "\n", "On the **HP 12c calculator**, correlation coefficient is generated when you use the $\\boxed{\\hat{y},r}$ key after entering your data pairs into the statistics registers, but is kept in the Y register, so use the $\\boxed{X \\lessgtr Y}$ key to show the coefficient. (see the HP 12c Platinum manual pg 97)\n", "\n", "The formula for the (Pearson) **correlation coefficient** is given as follows: \n", "$$Correlation \\space coefficient = r = \\frac{Cov(X,Y)}{s_x s_y}$$\n", "where $s_x$ is the standard deviation (recall, the standard deviation is the square root of the variance) of $X$, and $s_y$ is the standard deviation of $Y$. \n", "In this way, you can multiply $r$ as calculated by your financial calculator by $s_x s_y$ to arrive at the covariance. \n", "\n", "Using **Pandas**, calculating the covariance, variance, and correlation coefficient is straight forward, as each series has a method for each. Using the initial dataframe as an example" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Covariance: 0.000747046666667\n" ] } ], "source": [ "print(\"Covariance: \",df.MoneySupplyGrthRate.cov(df.InflationRate)) #covariance" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "variance X: 0.0009842666666666667\n" ] } ], "source": [ "print(\"variance X: \",df.MoneySupplyGrthRate.var()) #variance X" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "variance Y: 0.0006187106666666666\n" ] } ], "source": [ "print(\"variance Y: \",df.InflationRate.var()) #variance Y" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Correlation coefficient: 0.957298860219\n" ] } ], "source": [ "print(\"Correlation coefficient: \",df.MoneySupplyGrthRate.corr(df.InflationRate)) #correlation coefficient" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The long way to do this, as described in the text, is to innumerate the table to calculate the cross product and the squared deviations...\n", "\n", "The (Pearson's) correlation coefficient " ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CountryInflationRateMoneySupplyGrthRateCrossProductSquaredDeviationsXSquaredDeviationsY
0A0.054510.068510.0005640.0010670.000298
1B0.077610.116010.0000870.0002200.000034
2C0.034910.057510.0016100.0019070.001359
3D0.073510.105010.0000070.0000150.000003
4E0.082510.125010.0002560.0005680.000115
5F0.107610.135010.0012120.0011450.001284
\n", "
" ], "text/plain": [ " Country InflationRate MoneySupplyGrthRate CrossProduct \\\n", "0 A 0.05451 0.06851 0.000564 \n", "1 B 0.07761 0.11601 0.000087 \n", "2 C 0.03491 0.05751 0.001610 \n", "3 D 0.07351 0.10501 0.000007 \n", "4 E 0.08251 0.12501 0.000256 \n", "5 F 0.10761 0.13501 0.001212 \n", "\n", " SquaredDeviationsX SquaredDeviationsY \n", "0 0.001067 0.000298 \n", "1 0.000220 0.000034 \n", "2 0.001907 0.001359 \n", "3 0.000015 0.000003 \n", "4 0.000568 0.000115 \n", "5 0.001145 0.001284 " ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['CrossProduct']=(df.MoneySupplyGrthRate - df.MoneySupplyGrthRate.mean())*(df.InflationRate-df.InflationRate.mean())\n", "df['SquaredDeviationsX'] = (df.MoneySupplyGrthRate - df.MoneySupplyGrthRate.mean())**2\n", "df['SquaredDeviationsY'] = (df.InflationRate-df.InflationRate.mean())**2\n", "df" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Covariance: 0.0007470466666666667 \n", "VarX: 0.0009842666666666667 \n", "VarY: 0.0006187106666666666 \n", "Correlation Coefficient 0.9572988602190073\n" ] } ], "source": [ "covariance = df.CrossProduct.sum()/(len(df.CrossProduct)-1) #sum of cross products / n-1\n", "varX = df.SquaredDeviationsX.sum()/(len(df.SquaredDeviationsX)-1) #sum of squared deviations / n-1\n", "varY = df.SquaredDeviationsY.sum()/(len(df.SquaredDeviationsY)-1) #sum of squared deviations / n-1\n", "corrcoeff = covariance/((varX**0.5)*(varY**0.5))\n", "print(\"Covariance: \", covariance,\"\\nVarX: \", varX,\"\\nVarY: \", varY, \"\\nCorrelation Coefficient\", corrcoeff)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "still relatively easy, but unnecessary given Pandas' built in methods. It's important to note that the correlation coefficient formula given here by CFAI is the [Pearson correlation coefficient](https://en.wikipedia.org/wiki/Pearson_correlation_coefficient). Other options available to the [Pandas method](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.corr.html#pandas.Series.corr) are the [Kendall Tau correlation coefficient](https://en.wikipedia.org/wiki/Kendall_rank_correlation_coefficient), and the [Spearman rank correlation coefficient](https://en.wikipedia.org/wiki/Spearman%27s_rank_correlation_coefficient).\n", "\n", "---\n", "**Limitations**\n", "\n", "* It's important to understand that correlation, measured this way, measures *linear* relationships. For example, let's revisit figure 1-2 again, but also look at exponentials. In figure 1-2, I used a random sequence from numpy as the X variable, and used the equation $y = 5+3.5x$ for the Y column, which is a linear relationship. Let's make Z a quadratic, using the equation $z = (3+x)^{2}$. For simplicity we will do this in a pandas dataframe:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
XYZ
085.284563303.4959697794.164003
1-12.394837-38.38192888.262957
223.29176386.521169691.256784
380.094586285.3310536904.710296
4-38.749728-130.6240481278.043045
............
157.62068831.672409112.799018
1654.713177196.4961203330.810810
1747.175449170.1140722517.575703
1839.438109143.0333801800.993070
19-67.475748-231.1651174157.122040
\n", "

20 rows × 3 columns

\n", "
" ], "text/plain": [ " X Y Z\n", "0 85.284563 303.495969 7794.164003\n", "1 -12.394837 -38.381928 88.262957\n", "2 23.291763 86.521169 691.256784\n", "3 80.094586 285.331053 6904.710296\n", "4 -38.749728 -130.624048 1278.043045\n", ".. ... ... ...\n", "15 7.620688 31.672409 112.799018\n", "16 54.713177 196.496120 3330.810810\n", "17 47.175449 170.114072 2517.575703\n", "18 39.438109 143.033380 1800.993070\n", "19 -67.475748 -231.165117 4157.122040\n", "\n", "[20 rows x 3 columns]" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x = np.random.uniform(-100,100,20);\n", "y = 5+(3.5*x);\n", "z = (3+x)**2\n", "df1_2a = pd.DataFrame({\"X\":x,\"Y\":y,\"Z\":z})\n", "df1_2a" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "with the resulting graph:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Correlation coefficient X to Y (red): 1.0 \n", " Correlation coefficient X to Z (blue): 0.438640512754\n" ] } ], "source": [ "figure()\n", "plt.scatter(df1_2a.X,df1_2a.Y,c='r')\n", "plt.scatter(df1_2a.X,df1_2a.Z,c='b')\n", "xlabel('X')\n", "ylabel('Y (red) Z (blue)')\n", "title('Figure 1-2a, scatter plot showing linear and exponential relationships')\n", "show()\n", "print(\"Correlation coefficient X to Y (red): \",df1_2a.X.corr(df1_2a.Y), \n", " \"\\n Correlation coefficient X to Z (blue): \",df1_2a.X.corr(df1_2a.Z))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Pearson's correlation coefficient for x:z is expected to be low, because the parabola is not easily explained with a line, as shown by the correlation coefficient near 0 (uncorrelated).\n", "\n", "*Note* if we only take the right or left half of the parabola, the correlation coefficient is quite good, as the relationship appears somewhat linear. Consider price data - the prices will always be positive. So, if using real prices in a correlation, regardless if it is an exponential it might have a linear-looking correlation. On the other hand, if the dataset contains positive and negative values (such as daily or weekly price changes), the correlation would diminish with an exponential function. For example, take only the right side (positive) data: " ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nOCL+rN15aaZ8FLUoImod2Xe1XFP4DbB5oRbZyvn9GPiPiBi3p4RUycNSUoOIUQVsm5gk9ZFbPY7H\nutxuTavR5VMGu0qaJGke6ajxv5o1/YkiIh4oW5Cz4Un6X/lU8zTS0fJ3xynIvZbUbL/ekbSZ1dHM\nU5d/TLom8iTpdM9xEXFrE6dv1g4fIN30fC+pFWu9axVjJul8UkOpkypacZrZKLTs1KWZmdlE4Nf0\nmJlZqU38h3GO0otf/OLo6+trdzbMzDrKzTff/NuIqLzPuaOVNtD19fWxePHidmfDzKyjSKp1O0tH\n8qlLMzMrNQc6MzMrNQc6MzMrNQc6MzMrNQc6MzMrNQc6M7MONjgIfX0waVL6HhysN0b3Ke3tBWZm\nZTc4CPPnw9r8yutly1I3QH9/+/I10bhGZ2bWoRYs2BDkhqxdm9JtAwc6M7MOtXz5yNK7lQOdmVmH\nmj17ZOndyoHOzKxDLVwIPT0bp/X0pHTbwIHOzKxD9ffDwAD09oKUvgcG3BClkltdmpl1sP5+B7Z6\nXKMzM7NSc6AzM7NSc6AzM7NSc6AzM7NSc6AzM7NSc6AzM7NSc6AzM7NSc6AzM7NSc6AzM7NSc6Az\nM7NSc6AzM7NSc6AzM7NSc6AzM7NSc6AzM7NSc6AzM7NSc6AzM7NSc6AzMxtHg4PQ1weTJqXvwcF2\n56j8/IZxM7NxMjgI8+fD2rWpe9my1A1+S3gruUZnZjZOFizYEOSGrF2b0q11HOjMzMbJ8uUjS7fm\ncKAzMxsns2ePLN2aw4HOzGycLFwIPT0bp/X0pHRrHQc6M7Nx0t8PAwPQ2wtS+h4YcEOUVmtpoJP0\nEUm3S/qNpAslbSFpe0lXSbonf08rDH+apCWS7pZ0SCF9L0m35X5nSVIr821m1ir9/bB0Kaxfn74d\n5FqvZYFO0kzgw8DciHgFMBk4AjgVuDoi5gBX524k7ZH77wnMA86WNDlP7hzgWGBO/sxrVb7NzKxc\nWn3qcgrwIklTgB7gIeAw4Pzc/3zg8Pz7MOCiiHg2Iu4HlgB7S9oJ2CYiboiIAC4ojGNmZlZTywJd\nRDwIfB5YDqwEfh8RPwR2jIiVebBVwI7590xgRWESD+S0mfl3ZfomJM2XtFjS4tWrVzdtWczMrHO1\n8tTlNFItbRdgBrClpKOKw+QaWjRrnhExEBFzI2Lu9OnTmzVZMzPrYK08dXkQcH9ErI6I54FvA38G\nPJxPR5K/H8nDPwjMKoy/c057MP+uTDczmzD8DMuJq5WBbjmwr6Se3EryQOBO4DLgmDzMMcCl+fdl\nwBGSNpe0C6nRyU35NOcTkvbN0zm6MI6ZWdsNPcNy2TKI2PAMSwe7iaGV1+huBC4BbgFuy/MaAM4A\nDpZ0D6nWd0Ye/nbgYuAO4ErghIhYlyd3PHAeqYHKvcAVrcq3mdlI+RmWE5vSZbLymTt3bixevLjd\n2TCzLjBpUqrJVZLS/XKdRNLNETG33floJj8ZxcxsjPwMy4nNgc7MbIz8DMuJzYHOzGyM/AzLic1v\nGDcza4L+fge2ico1OjMzKzUHOjMzKzUHOjMzKzUHOjMzKzUHOjMzKzUHOjMzKzUHOjMzKzUHOjMz\nKzUHOjMzKzUHOjMzKzUHOjMzKzUHOjMzKzUHOjMzKzUHOjMzKzUHOjMzKzUHOjMzKzUHOjMzKzUH\nOjMzKzUHOjMzKzUHOjMzKzUHOjMzKzUHOjMzK7UpjQ4oaRowA3gaWBoR61uWKzMzsyapGegkbQuc\nABwJTAVWA1sAO0q6ATg7In7S8lyamZmNUr0a3SXABcD+EfF4sYekvYD3SHpJRHy1VRk0MzMbi5qB\nLiIOrtHvZuDmpufIzMysiRpqjKLkKEn/J3fPlrR3a7NmZmY2do22ujwb2I90rQ5gDfDlluTIzMys\niRoNdPtExAnAMwAR8RipcUpNkraTdImkuyTdKWk/SdtLukrSPfl7WmH40yQtkXS3pEMK6XtJui33\nO0uSRricZmbWpRoNdM9LmgwEgKTpQCO3F5wJXBkRLwf+FLgTOBW4OiLmAFfnbiTtARwB7AnMA87O\n8wQ4BzgWmJM/8xrMt5mZdblGA91ZwHeAP5K0EPgp8NlaI+RbE94AfBUgIp7LLTcPA87Pg50PHJ5/\nHwZcFBHPRsT9wBJgb0k7AdtExA0REaRWoIdjZmbWgIYCXUQMAqcAnwNWAodHxLfqjLYL6b67r0u6\nVdJ5krYEdoyIlXmYVcCO+fdMYEVh/Ady2sz8uzLdzLrY4CD09cGkSel7cLDdObKJqtFWl7OBtcB3\ngcuAp3JaLVOA1wDnRMSrgafIpymH5BpajDTTNfI5X9JiSYtXr17drMma2QQzOAjz58OyZRCRvufP\nd7Cz6ho9dfk94PL8fTVwH3BFnXEeAB6IiBtz9yWkwPdwPh1J/n4k938QmFUYf+ec9mD+XZm+iYgY\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Correlation X-Z (blue dots): 0.966096670835\n" ] } ], "source": [ "x = np.random.uniform(0,100,20);\n", "y = 5+(3.5*x);\n", "z = (3+x)**2\n", "df1_2b = pd.DataFrame({\"X\":x,\"Y\":y,\"Z\":z})\n", "figure()\n", "plt.scatter(df1_2b.X,df1_2b.Y,c='r')\n", "plt.scatter(df1_2b.X,df1_2b.Z,c='b')\n", "xlabel('X')\n", "ylabel('Y (red) Z (blue)')\n", "title('Figure 1-2b, scatter plot showing only the positive side of the parabola')\n", "show()\n", "print(\"Correlation X-Z (blue dots):\",df1_2b.X.corr(df1_2b.Z))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Additionally, odd numbered power functions are likely to return higher correlations, such as $z = (3+x)^{3}$" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Correlation X-Z (blue dots): 0.956656779826\n" ] } ], "source": [ "x = np.random.uniform(-100,100,20);\n", "y = 5+(3.5*x);\n", "z = (3+x)**3\n", "df1_2c = pd.DataFrame({\"X\":x,\"Y\":y,\"Z\":z})\n", "figure()\n", "plt.scatter(df1_2c.X,df1_2c.Y,c='r')\n", "plt.scatter(df1_2c.X,df1_2c.Z,c='b')\n", "xlabel('X')\n", "ylabel('Y (red) Z (blue)')\n", "title('Figure 1-2c, scatter plot showing a 3rd power function, which shows a linear correlation')\n", "show()\n", "print(\"Correlation X-Z (blue dots):\",df1_2c.X.corr(df1_2c.Z))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* The text also suggests that data with outliers are unlikely to correlate well, and uses a scatter plot of monthly S&P 500 returns and monthly US inflation rate, 1990-2013. This data is also fairly easy to pull from Python using \"pandas-datareader\". We will use SPY as a proxy for the S&P 500, with data provided by Google going back to 2001:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CPIAUCSLSPYClose
DATE
2001-03-010.000568-0.082407
2001-04-010.001704-0.083467
2001-05-010.0051020.112522
2001-06-010.002256-0.002519
2001-07-01-0.001688-0.020516
.........
2016-08-010.0020470.033441
2016-09-010.0025670.002074
2016-10-010.002855-0.007406
2016-11-010.002089-0.022106
2016-12-010.0025680.040567
\n", "

190 rows × 2 columns

\n", "
" ], "text/plain": [ " CPIAUCSL SPYClose\n", "DATE \n", "2001-03-01 0.000568 -0.082407\n", "2001-04-01 0.001704 -0.083467\n", "2001-05-01 0.005102 0.112522\n", "2001-06-01 0.002256 -0.002519\n", "2001-07-01 -0.001688 -0.020516\n", "... ... ...\n", "2016-08-01 0.002047 0.033441\n", "2016-09-01 0.002567 0.002074\n", "2016-10-01 0.002855 -0.007406\n", "2016-11-01 0.002089 -0.022106\n", "2016-12-01 0.002568 0.040567\n", "\n", "[190 rows x 2 columns]" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "start = datetime.datetime(2001,2,1) #using SPY as a proxy for S&P 500, Google's data starts Feb 5th 2001.\n", "end = datetime.datetime(2017,1,1)\n", "CPIAUSCL = data.DataReader(\"CPIAUCSL\", \"fred\", start, end)\n", "#note to self, the key to the data here refers to the URL at the FRED.\n", "#CPIAUSCL comes from this url: https://fred.stlouisfed.org/series/CPIAUCSL\n", "#which stands for Consumer Price Index for All Urban Consumers.\n", "SPY_monthly = data.get_data_google('SPY', start=start, end=end).resample('MS').first() \n", "#get the google data, resample the dates to the start of the month so they match the FRED data\n", "SPY_monthly.rename(columns={'Close':'SPYClose'}, inplace=True) #rename the column\n", "CPI_SPY = CPIAUSCL.join(SPY_monthly.SPYClose, how='left') #merge the two datasets\n", "#as percent change. \n", "CPI_SPYpct = CPI_SPY.pct_change().dropna() #change to percent, and drop the N/A values\n", "CPI_SPYpct" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n2n1Eu7fHiagAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Pearson Correlation Coefficient: 0.259480023502\n" ] } ], "source": [ "#plotted:\n", "figure()\n", "plt.scatter(CPI_SPYpct.CPIAUCSL,CPI_SPYpct.SPYClose,c='r')\n", "xlabel('Consumer Price Index for All Urban Consumers - Monthly (%) Change')\n", "ylabel('SPY monthly price change (%)')\n", "title('Figure 1-3, scatter plot of CPI to S&P 500 Monthly Returns')\n", "show()\n", "print(\"Pearson Correlation Coefficient:\",CPI_SPYpct.CPIAUCSL.corr(CPI_SPYpct.SPYClose))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The data appears to have no linear relationship, however the correlation coefficient of implies a weak relationship. The outliers are probably giving more of the appearance of a linear trend than actually exists. The text goes on to hypothesize about possible relationships between stock market returns and CPI. I would add that as CPI is a lagging indicator, it might be more fruitful to lag the CPI by one month when correlating to returns. One must be very cautious when analyzing datasets like these, however, as it can be very easy to fall prey to datamining biases, or other **spurious correlations**. \n", "\n", "Even with random data, it's possible to find correlations which are meaningless. To illustrate this point, here is a code which loops random data until it finds a correlation of greater than 0.7:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
XY
099.13415697.346280
1-12.903767-18.980361
2-32.20130947.345598
3-82.943989-84.006622
4-49.51892331.442232
.........
15-49.9406567.841045
1625.165204-11.878464
1776.10583357.769843
1878.11146799.380815
19-64.191333-85.345219
\n", "

20 rows × 2 columns

\n", "
" ], "text/plain": [ " X Y\n", "0 99.134156 97.346280\n", "1 -12.903767 -18.980361\n", "2 -32.201309 47.345598\n", "3 -82.943989 -84.006622\n", "4 -49.518923 31.442232\n", ".. ... ...\n", "15 -49.940656 7.841045\n", "16 25.165204 -11.878464\n", "17 76.105833 57.769843\n", "18 78.111467 99.380815\n", "19 -64.191333 -85.345219\n", "\n", "[20 rows x 2 columns]" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "i = 0\n", "while i < 1000: #simple loop which keeps generating random data until it correlates\n", " x = np.random.uniform(-100,100,20)\n", " y = np.random.uniform(-100,100,20)\n", " df1_4 = pd.DataFrame({\"X\":x,\"Y\":y})\n", " if df1_4.X.corr(df1_4.Y)>0.7 :\n", " break\n", "df1_4" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Pearson Correlation Coefficient: 0.744161187014\n" ] } ], "source": [ "figure()\n", "plt.scatter(df1_4.X,df1_4.Y,c='r')\n", "title('Figure 1-4, scatter plot of random data showing linear correlation of >0.7')\n", "show()\n", "print(\"Pearson Correlation Coefficient:\",df1_4.X.corr(df1_4.Y))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "**Testing the Significance of the Correlation Coefficient:**\n", "We want to know whether our correlation (null hypothesis) is actually 0 ( $H_0 : p = 0$ ) and our alternate hypothesis is the correlation is not 0 ( $H_a : p \\ne 0$ ). As we learned in level 1, the T-test is a good way to evaluate the significance of a correlation, so for this we will use a 2-tailed T-test statistic.\n", "\n", "$$t-stat = \\frac{\\overline{X}-\\mu_0}{\\frac{s}{\\sqrt{n}}} $$\n", "\n", "however, we aren't working with sample mean data in this case. The institute provides this formula: \n", "\n", "$$ t = \\frac{r \\sqrt{n-2}}{\\sqrt{1-r^2}} $$\n", "\n", "*the origin of which is somewhat uncertain.*\n", "\n", "The decision rule for using this formula is that we reject $H_0$ if the $ |\\text{t-stat}| $ exceeds $ |\\text{t-critical}| $\n", "\n", "Using this formula with our example 1-4 we come up with a test statistic of: " ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4.7263593980386664" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(df1_4.X.corr(df1_4.Y)*(df1_4.shape[0]-2)**0.5)/(1-df1_4.X.corr(df1_4.Y)**2)**0.5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And using a student's T-table, at the 0.05 threshold our T-critical is 2.1009. Since the test statistic is greater than the critical value, we can reject the null hypothesis of no correlation at the 5% significance level.\n", "\n", "The institute notes that with a sufficient population given a certain r value, it should be able to just meet the t-critical. Let's test this by modifying our random data loop slightly to reject the null hypothesis with a low correlation coefficient, something that you wouldn't want to trade on. Let's give it a correlation coefficient of 0.35, but while rejecting the null hypothesis. We'll go with a population of n=32 (degrees of freedom = 30). At the 5% significance level (0.05), our t-critical is 2.046, so we can run the loop until our t-stat rejects the null hypothesis like so:" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
XY
095.323739-99.714708
1-84.75445244.099240
255.086953-84.587189
3-16.187571-56.174989
4-44.81510372.410018
.........
27-1.49541783.584759
28-50.451061-19.430034
29-5.673247-15.951552
30-24.52174766.110319
3148.693688-59.352024
\n", "

32 rows × 2 columns

\n", "
" ], "text/plain": [ " X Y\n", "0 95.323739 -99.714708\n", "1 -84.754452 44.099240\n", "2 55.086953 -84.587189\n", "3 -16.187571 -56.174989\n", "4 -44.815103 72.410018\n", ".. ... ...\n", "27 -1.495417 83.584759\n", "28 -50.451061 -19.430034\n", "29 -5.673247 -15.951552\n", "30 -24.521747 66.110319\n", "31 48.693688 -59.352024\n", "\n", "[32 rows x 2 columns]" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "i = 0\n", "while i < 1: #simple loop which keeps generating random data until it correlates\n", " x = np.random.uniform(-100,100,32)\n", " y = np.random.uniform(-100,100,32)\n", " df1_5 = pd.DataFrame({\"X\":x,\"Y\":y})\n", " if abs(df1_5.X.corr(df1_5.Y)) < 0.35 and abs(((df1_5.X.corr(df1_5.Y)*(df1_5.shape[0]-2)**0.5)/(1-df1_5.X.corr(df1_5.Y)**2)**0.5)) > 2.046 :\n", " break\n", "df1_5" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Pearson Correlation Coefficient: -0.349978477298 \n", "T-stat : -2.04632530115\n" ] } ], "source": [ "figure()\n", "plt.scatter(df1_5.X,df1_5.Y,c='r')\n", "title('Figure 1-5, scatter plot of random data of n=32 which fails to reject the null hypothesis with a t-critical of 2.046')\n", "show()\n", "print(\"Pearson Correlation Coefficient:\",df1_5.X.corr(df1_5.Y), \n", " \"\\nT-stat : \",(df1_5.X.corr(df1_5.Y)*(df1_5.shape[0]-2)**0.5)/(1-df1_5.X.corr(df1_5.Y)**2)**0.5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As you can see, the scatter plot appears meaningless - but we've successfully rejected our null hypothesis! \n", "\n", "This goes to show that you can lie with statistics. With our two examples we have found signals in the noise which are both 'statistically significant' based on two polulations fo random data. \n", "\n", "These tools are a good starting point for evaluating relationships in datasets, but are limited and must be applied correctly to have meaning.\n", "\n", "---\n", "\n", "Going forward, it is important to remember that statistics is a very deep field of study, and python contains a great wealth of statistics packages and modules. Be sure to check the assumptions of every module before you use it.\n", "\n", "In part 2 we will look at linear regression!" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.6.2" } }, "nbformat": 4, "nbformat_minor": 2 }