{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Correlation, regression, and prediction\n", "\n", "*If you run into errors, check the [common errors](https://docs.google.com/document/d/1-LUvfYYI5UtjYiZerCGIBNgzkaJHNxl4530tgh37uYs/edit?usp=sharing) Google doc first.*\n", "\n", "One of the most important and interesting aspects of data science is making predictions about the future. How can we learn about temperatures a few decades from now by analyzing historical data about climate change and pollution? Based on a person's social media profile, what conclusions can we draw about their interests? How can we use a patient's medical history to judge how well he or she will respond to a treatment?\n", "\n", "Run the cell below to import the code we'll use in this notebook.\n", "Don't worry about getting an output, simply run the cell." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from datascience import *\n", "import numpy as np\n", "import matplotlib.pyplot as plots\n", "import scipy as sp\n", "%matplotlib inline\n", "import statsmodels.formula.api as smf\n", "plots.style.use('fivethirtyeight')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this module, you will look at two **correlated** phenomena and predict unseen data points!\n", "\n", "We will be using data from the online data archive of Prof. Larry Winner of the University of Florida. The file *hybrid* contains data on hybrid passenger cars sold in the United States from 1997 to 2013. In order to analyze the data, we must first **import** it to our Jupyter notebook and **create a table.**" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/datascience/tables.py:132: FutureWarning: read_table is deprecated, use read_csv instead.\n", " df = pandas.read_table(filepath_or_buffer, *args, **vargs)\n" ] }, { "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", "
vehicle year msrp acceleration mpg class
Prius (1st Gen) 1997 24509.7 7.46 41.26 Compact
Tino 2000 35355 8.2 54.1 Compact
Prius (2nd Gen) 2000 26832.2 7.97 45.23 Compact
Insight 2000 18936.4 9.52 53 Two Seater
Civic (1st Gen) 2001 25833.4 7.04 47.04 Compact
\n", "

... (148 rows omitted)

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "hybrid = Table.read_table('data/hybrid.csv') # Imports the data and creates a table\n", "hybrid.show(5) # Displays the first five rows of the table" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*References: vehicle: model of the car, year: year of manufacture, msrp: manufacturer's suggested retail price in 2013 dollars, acceleration: acceleration rate in km per hour per second, mpg: fuel economy in miles per gallon, class: the model's class.*\n", "\n", "**Note: whenever we write an equal sign (=) in python, we are assigning somthing to a variable.**\n", "\n", "Let's visualize some of the data to see if we can spot a possible association!" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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IoJTp06xZ88e5Y/fUCdPnmz0e80hJyeHjIyMOvMUEhJS4/dx22234ezsbO4s1mvbtm0EBQVVa35rqKb4ThYsWKAEkR49eugds6a/E2nasnFarZZ33nmHRx55BHd3d71jmzZt4q233uLo0aMAfPXVV2RlZTFkyBBcXV1JSUkhNjaWp556qtZ2bnPJz89XnuYqKiq4dOkSqamptGvXjk6dOjFz5kzi4+MJDg6me/furF27Fjc3NyZMmKCc46GHHmLw4MEsW7YMgBkzZjBmzBjWrVvH2LFj+fzzz0lJSWHv3r0WKYe/vz9PPfUUJ06cYMeOHahUKqVdu02bNsqgiOnTpwPw5ptvAvDGG28QGBhI7969KSkp4cMPP+SLL77gnXfesUg52rVrx6pVq3jooYfw9fXl999/5+WXX8bb25sHHnhAOcet5YiIiOCtt95i4cKFREREcOTIEePkzskAAAltSURBVN5//302b95stnLUV5ZOnToBlUOzP/roI1544QVUKlW1cyxfvpz//ve/7N69G6h8WHN2dqZ///44ODiwd+9eNm/ezEsvvWS2ckRHR/PBBx/w3nvv4eHhofzuuLm54e7ujkqlspq/Exn+a+MOHDjAQw89xH/+8x8GDx6sdyw2Npa4uDg0Gg0A33zzDcuXL+e3336joqKCzp07M2XKFJ599lmcnJr2mUI3xPVWkydPJjExEa1Wy6pVq3j77bfRaDQMHjyYtWvX0qdPHyVtv379uPPOO0lMTFRe27VrFytWrODChQt06dKFpUuXmrUNv65yLFy4kAEDBtT4voSEBGVI6tixYwH44osvgMq5Adu2bePKlSu0bNmS3r17M3fuXO677z4zlaLucsTHx/PEE0+QmprK9evX8fX15a677mLJkiV07NhRSXtrOaByLsTixYs5c+YMfn5+zJkzh6efftps5aivLLrflffee4/Zs2fzv//9D39//2ppZ86cycGDBzl58iRQGUg2bNjAxYsXcXR0pFu3bsycOdOs/SO1jexbsGABixYtArCavxMJJEIIIYwifSRCCCGMIoFECCGEUSSQCCGEMIoEEiGEEEaRQCKEEMIoEkiEEEIYRQKJEFZEt6lVSkpKk187NTWV2NhYvf0udDw8PIiNjW3yPAnbIIFECAFULvkRFxdXYyD5+uuv611ZWjRfskSKEHZKq9VSWlqKi4uL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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "hybrid.scatter('acceleration', 'msrp') # Creates a scatter plot of two variables in a table" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we can see in the above scatter, there seems to be a positive association between acceleration and price. That is, cars with greater acceleration tend to cost more, on average; conversely, cars that cost more tend to have greater acceleration on average.\n", "\n", "What about miles per gallon and price? Do you expect a positive or negative association?" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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/evVq5ew317KoXP16lVMnz4dPXr0gFKphEqlwuHDh4X99lKePn363PW+eHp64plnnhHSpKWloW/fvlAqlXjsscdw9OhRm+SVgUTiDh8+jJdffhkHDhxARkYGXFxcMH78eFy/fl1Ik5KSgk2bNiEpKQkHDx6Er68vJkyYgPJyaT1G1t/fHytWrMC3336LzMxMDBs2DM8//zx++uknAPZTjj86fvw4tm/fjt69e+ttt6fyBAcH4+zZs8K/pjckeyqHRqPBmDFjoNVqsXv3bhw7dgxr1qyBr6+vkMZeypOZman3nnz77beQyWQYP348AGDPnj1YtGgRXnvtNRw6dAgRERGYPHkyLl68aPW8ch6JnamoqEBgYCB27tyJqKgoaLVahIaG4pVXXkFCQgIAoKqqCsHBwXjrrbcQExNj4xw3r1u3bli+fDmmTp1ql+W4ceMGHnvsMbz77rtISkpCeHg41q5da1fvS2JiIjIyMpCdnX3XPnsqBwC8+eabOHLkiF5Ntyl7K09T77zzDt59912cPXsWcrkcI0eORO/evfHuu+8KaQYMGIDo6GgsX77cqnljjcTOVFRUoLGxEZ6engCAgoICFBUVYcSIEUIauVyOoUOH4tixY7bK5n01NDTg008/RWVlJSIiIuy2HHPnzkV0dDSGDRumt93eynPhwgWEhoaib9++eOmll3DhwgUA9leOf//73xg4cCBiYmLQs2dPPPLII9iyZQu02tu/l+2tPDparRb/+Mc/8Oyzz0Iul6O2thanTp3SKwcAjBgxwibl4KN27cyiRYvQp08fREREAACKiooAQK/qrvu7sLDQ6vm7n9OnT2P06NGorq6Gu7s7/vnPf6J3797Ch99eygEAO3bswPnz57Fly5a79tnT+zJo0CBs3rwZwcHBKC0txdq1azF69Gh89913dlUO4HZA3Lp1K+Lj4zF37lz8+OOPWLhwIQAgLi7O7sqjk5mZiYKCArz44osAgLKyMjQ0NBgsR3FxsdXzx0BiR5YsWYLvvvsO+/fvh7Ozs62z0yLBwcHIysrCzZs3sXfvXsyYMQOff/65rbNlsvz8fLz55pvYv38/XF1dbZ0dUR5//HG9vwcNGoR+/frhww8/xODBg22Uq5ZpbGxE//79haadhx56COfPn0daWhri4uJsnLuW27FjBwYMGIA+ffrYOisGsWnLTixevBif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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "hybrid.scatter('mpg', 'msrp')" ] }, { "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, i.e., the points appear to be clustered around a curve, not around a straight line.\n", "\n", "Let's subset the data so that we're only looking at SUVs. Use what you learned in the previous notebook to choose only `SUV`s and then make a scatter plot of `mpg` and `msrp`:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# task" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "\n", "### The correlation coefficient - *r*\n", "\n", "> The correlation coefficient ranges from −1 to 1. A value of 1 implies that a linear equation describes the relationship between X and Y perfectly, with all data points lying on a line for which Y increases as X increases. A value of −1 implies that all data points lie on a line for which Y decreases as X increases. A value of 0 implies that there is no linear correlation between the variables. ~Wikipedia\n", "\n", "*r* = 1: the scatter diagram is a perfect straight line sloping upwards\n", "\n", "*r* = -1: the scatter diagram is a perfect straight line sloping downwards.\n", "\n", "Let's calculate the correlation coefficient between acceleration and price. We can use the `np.corrcoef` function on the two variable (columns here) that we want to correlate:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.6955778996913979, 1.9158000667128373e-23)" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sp.stats.pearsonr(hybrid['acceleration'], hybrid['msrp'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This function two numbers. The first number is our `r` value, and the second number is the `p-value` for our correlation. A `p-value` of under .05 indicates strong validity in the correlation. Our coefficient here is 0.6955779, and our p-value is low ***implying strong positive correlation***." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "\n", "### Regression\n", "\n", "As mentioned earlier, an important tool in data science is to make predictions based on data. The code that we've created so far has helped us establish a relationship between our two variables. Once a relationship has been established, it's time to create a model that predicts unseen data values. To do this we'll find the equation of the **regression line**!\n", "\n", "The regression line is the **best fit** line for our data. It’s like an average of where all the points line up. In linear regression, the regression line is a perfectly straight line! Below is a picture showing the best fit line.\n", "\n", "![image](http://onlinestatbook.com/2/regression/graphics/gpa.jpg)\n", "\n", "As you can infer from the picture, once we find the **slope** and the **y-intercept** we can start predicting values! The equation for the above regression to predict university GPA based on high school GPA would look like this:\n", "\n", "$UNIGPA_i= \\alpha + \\beta HSGPA + \\epsilon_i$\n", "\n", "The variable we want to predict (or model) is the left side `y` variable, the variable which we think has an influence on our left side variable is on the right side. The $\\alpha$ term is the y-intercept and the $\\epsilon_i$ describes the randomness.\n", "\n", "We can fit the model by setting up an equation without the $\\alpha$ and $\\epsilon_i$ in the `formula` parameter of the function below, we'll give it our data variable in the `data` parameter. Then we just `fit` the model and ask for a `summary`. We'll try a model for:\n", "\n", "$MSRP_i= \\alpha + \\beta ACCELERATION + \\epsilon_i$" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: msrp R-squared: 0.484\n", "Model: OLS Adj. R-squared: 0.480\n", "Method: Least Squares F-statistic: 141.5\n", "Date: Wed, 22 May 2019 Prob (F-statistic): 1.92e-23\n", "Time: 22:33:36 Log-Likelihood: -1691.7\n", "No. Observations: 153 AIC: 3387.\n", "Df Residuals: 151 BIC: 3394.\n", "Df Model: 1 \n", "Covariance Type: nonrobust \n", "================================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "--------------------------------------------------------------------------------\n", "Intercept -2.128e+04 5244.588 -4.058 0.000 -3.16e+04 -1.09e+04\n", "acceleration 5067.6611 425.961 11.897 0.000 4226.047 5909.275\n", "==============================================================================\n", "Omnibus: 32.737 Durbin-Watson: 1.656\n", "Prob(Omnibus): 0.000 Jarque-Bera (JB): 52.692\n", "Skew: 1.072 Prob(JB): 3.61e-12\n", "Kurtosis: 4.915 Cond. No. 52.1\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n" ] } ], "source": [ "mod = smf.ols(formula='msrp ~ acceleration', data=hybrid.to_df())\n", "res = mod.fit()\n", "print(res.summary())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That's a lot of information! While we should consider everything, we'll look at the `p` value, the `coef`, and the `R-squared`. A p-value of < .05 is generally considered to be statistically significant. The `coef` is how much increase one sees in the left side variable for a one unit increase of the right side variable. So for a 1 unit increase in acceleration one might see an increase of $5067 MSRP, according to our model. But how great is our model? That's the `R-squared`. The `R-squared` tells us how much of the variation in the data can be explained by our model, .484 isn't that bad, but obviously more goes into the MSRP value of a car than *just* acceleration.\n", "\n", "We can plot this line of \"best fit\" too:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "hybrid.scatter('acceleration', 'msrp', fit_line=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Covariate\n", "\n", "We might want to add another independent variable because we think it could influence our dependent variable. If we think `mpg` could have an influence and needs to be controlled for we just `+` add that to the equation. (NB: the example below would exhibit high [multicollinearity](https://en.wikipedia.org/wiki/Multicollinearity))\n", "\n", "$MSRP_i= \\alpha + \\beta ACCELERATION + \\beta MPG + \\epsilon_i$" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: msrp R-squared: 0.527\n", "Model: OLS Adj. R-squared: 0.521\n", "Method: Least Squares F-statistic: 83.66\n", "Date: Wed, 22 May 2019 Prob (F-statistic): 3.93e-25\n", "Time: 22:33:37 Log-Likelihood: -1685.0\n", "No. Observations: 153 AIC: 3376.\n", "Df Residuals: 150 BIC: 3385.\n", "Df Model: 2 \n", "Covariance Type: nonrobust \n", "================================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "--------------------------------------------------------------------------------\n", "Intercept 5796.5295 8861.211 0.654 0.514 -1.17e+04 2.33e+04\n", "acceleration 4176.4342 474.195 8.807 0.000 3239.471 5113.398\n", "mpg -471.9015 127.066 -3.714 0.000 -722.973 -220.830\n", "==============================================================================\n", "Omnibus: 24.929 Durbin-Watson: 1.614\n", "Prob(Omnibus): 0.000 Jarque-Bera (JB): 33.903\n", "Skew: 0.922 Prob(JB): 4.35e-08\n", "Kurtosis: 4.384 Cond. No. 282.\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n" ] } ], "source": [ "mod = smf.ols(formula='msrp ~ acceleration + mpg', data=hybrid.to_df())\n", "res = mod.fit()\n", "print(res.summary())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "\n", "We are going to walk through a brief example using the datasets that you will using. You will not be allowed to use this correlation for your project. However, the process for your project will be the same. Our goal is to make the project as seamless as possible for you. That being said, our example will be abbreviated so that you have some freedom to explore with your own data.\n", "\n", "First we are going to read in two datasets.\n", "\n", "`Implicit-Age-IAT.csv` gives us the implicit *age* bias according to FIPS code." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/datascience/tables.py:132: FutureWarning: read_table is deprecated, use read_csv instead.\n", " df = pandas.read_table(filepath_or_buffer, *args, **vargs)\n" ] }, { "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", "
FIPS tyoung told D_biep_Young_Good_all
10001 7.13782 7.17363 0.462662
10003 7.07723 6.88274 0.439701
10005 6.84831 6.96089 0.445957
1001 7.05085 6.79661 0.502814
1003 7.17904 7.04148 0.457369
\n", "

... (3133 rows omitted)

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "age = Table.read_table('Implicit-Age_IAT.csv')\n", "age.show(5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`Outcome-Heart-Attack-Mortality.csv` gives us the heart attack mortality count by year according to FIPS code." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/datascience/tables.py:132: FutureWarning: read_table is deprecated, use read_csv instead.\n", " df = pandas.read_table(filepath_or_buffer, *args, **vargs)\n" ] }, { "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", "
State FIPS County Year Heart_Attack_Mortality Stability
Alabama 1001 Autauga 2000 220.8 1
Alabama 1001 Autauga 2001 100.7 1
Alabama 1001 Autauga 2002 68.2 1
Alabama 1001 Autauga 2003 66.7 1
Alabama 1001 Autauga 2005 63.2 1
\n", "

... (34780 rows omitted)

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "heart = Table.read_table('Outcome-Heart-Attack-Mortality.csv')\n", "heart.show(5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Keep in mind that all the functions/syntax that we are using are either in this notebook, or the previous one from lecture.\n", "\n", "Now, we are going to join the two tables together. We will be joining on the 'FIPS' column because that's the only one they have in common! That column is a unique identifier for counties. We are also going to drop duplicate rows from the table." ] }, { "cell_type": "code", "execution_count": 14, "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", "
FIPS tyoung told D_biep_Young_Good_all State County Year Heart_Attack_Mortality Stability
1001 7.05085 6.79661 0.502814 Alabama Autauga 2000 220.8 1
1001 7.05085 6.79661 0.502814 Alabama Autauga 2001 100.7 1
1001 7.05085 6.79661 0.502814 Alabama Autauga 2002 68.2 1
1001 7.05085 6.79661 0.502814 Alabama Autauga 2003 66.7 1
1001 7.05085 6.79661 0.502814 Alabama Autauga 2005 63.2 1
1001 7.05085 6.79661 0.502814 Alabama Autauga 2006 68.3 1
1001 7.05085 6.79661 0.502814 Alabama Autauga 2007 73.9 1
1001 7.05085 6.79661 0.502814 Alabama Autauga 2008 104.7 1
1001 7.05085 6.79661 0.502814 Alabama Autauga 2009 60 1
1001 7.05085 6.79661 0.502814 Alabama Autauga 2010 93.2 1
\n", "

... (34706 rows omitted)

" ], "text/plain": [ "FIPS | tyoung | told | D_biep_Young_Good_all | State | County | Year | Heart_Attack_Mortality | Stability\n", "1001 | 7.05085 | 6.79661 | 0.502814 | Alabama | Autauga | 2000 | 220.8 | 1\n", "1001 | 7.05085 | 6.79661 | 0.502814 | Alabama | Autauga | 2001 | 100.7 | 1\n", "1001 | 7.05085 | 6.79661 | 0.502814 | Alabama | Autauga | 2002 | 68.2 | 1\n", "1001 | 7.05085 | 6.79661 | 0.502814 | Alabama | Autauga | 2003 | 66.7 | 1\n", "1001 | 7.05085 | 6.79661 | 0.502814 | Alabama | Autauga | 2005 | 63.2 | 1\n", "1001 | 7.05085 | 6.79661 | 0.502814 | Alabama | Autauga | 2006 | 68.3 | 1\n", "1001 | 7.05085 | 6.79661 | 0.502814 | Alabama | Autauga | 2007 | 73.9 | 1\n", "1001 | 7.05085 | 6.79661 | 0.502814 | Alabama | Autauga | 2008 | 104.7 | 1\n", "1001 | 7.05085 | 6.79661 | 0.502814 | Alabama | Autauga | 2009 | 60 | 1\n", "1001 | 7.05085 | 6.79661 | 0.502814 | Alabama | Autauga | 2010 | 93.2 | 1\n", "... (34706 rows omitted)" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "joined_data = age.join(\"FIPS\", heart)\n", "joined_data = joined_data.to_df().drop_duplicates()\n", "joined_data = Table.from_df(joined_data)\n", "joined_data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That's great! By displaying the table, we can get a general idea as to what columns exist, and what kind of relations we can try to analyze. \n", "\n", "One thing to notice is that there are a lot of data points! Our visualization and regression may be cleaner if we subset the data. Let's use the functions from the first notebook to subset the data to California data from 2010." ] }, { "cell_type": "code", "execution_count": 15, "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", "
FIPS tyoung told D_biep_Young_Good_all State County Year Heart_Attack_Mortality Stability
6001 6.96069 6.78826 0.423026 California Alameda 2010 45.8 1
6005 6.575 6.85 0.446357 California Amador 2010 78.6 1
6007 7.11892 7.04696 0.442157 California Butte 2010 62.7 1
6009 7.65079 7.8254 0.460807 California Calaveras 2010 99.5 1
6013 6.96188 6.87655 0.418506 California Contra Costa 2010 48.9 1
6015 7 6.83871 0.43266 California Del Norte 2010 75.8 1
6017 6.84016 6.85714 0.408486 California El Dorado 2010 53.9 1
6019 7.0461 7.09315 0.424963 California Fresno 2010 80.4 1
6021 6.6 7.2 0.260103 California Glenn 2010 91.7 1
6023 6.86624 6.79618 0.433324 California Humboldt 2010 94.4 1
\n", "

... (39 rows omitted)

" ], "text/plain": [ "FIPS | tyoung | told | D_biep_Young_Good_all | State | County | Year | Heart_Attack_Mortality | Stability\n", "6001 | 6.96069 | 6.78826 | 0.423026 | California | Alameda | 2010 | 45.8 | 1\n", "6005 | 6.575 | 6.85 | 0.446357 | California | Amador | 2010 | 78.6 | 1\n", "6007 | 7.11892 | 7.04696 | 0.442157 | California | Butte | 2010 | 62.7 | 1\n", "6009 | 7.65079 | 7.8254 | 0.460807 | California | Calaveras | 2010 | 99.5 | 1\n", "6013 | 6.96188 | 6.87655 | 0.418506 | California | Contra Costa | 2010 | 48.9 | 1\n", "6015 | 7 | 6.83871 | 0.43266 | California | Del Norte | 2010 | 75.8 | 1\n", "6017 | 6.84016 | 6.85714 | 0.408486 | California | El Dorado | 2010 | 53.9 | 1\n", "6019 | 7.0461 | 7.09315 | 0.424963 | California | Fresno | 2010 | 80.4 | 1\n", "6021 | 6.6 | 7.2 | 0.260103 | California | Glenn | 2010 | 91.7 | 1\n", "6023 | 6.86624 | 6.79618 | 0.433324 | California | Humboldt | 2010 | 94.4 | 1\n", "... (39 rows omitted)" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "joined_data = joined_data.where(\"Year\", are.equal_to(2010))\n", "joined_data = joined_data.where(\"State\", are.equal_to(\"California\"))\n", "joined_data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We now have a lot less points, which will hopefully make the visualization a bit cleaner.\n", "\n", "Let's make a simple scatter plot with a fit line to look at the relation between the category `D_biep_Young_Good_all` and `Heart_Attack_Mortality`. Remember, all these functions are either on Notebook 1 or Notebook 2!" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "joined_data.scatter(\"D_biep_Young_Good_all\", \"Heart_Attack_Mortality\", fit_line = True) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we can see, the correlation and subsequent linear fit do not seem to be good. That means that there is not an easily quantifiable relationship between implicit age bias and the heart attack mortality rate for that geographic region.\n", "\n", "Let's verify this quantitatively with an r-value calculation!" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(-0.2566592892097549, 0.0750451858488917)" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sp.stats.pearsonr(joined_data['D_biep_Young_Good_all'], joined_data['Heart_Attack_Mortality'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Our r-value is moderately negative, and our p-value is pretty low, but not < .05, so we would *not* reject the null hypothesis and call this \"significant\". This indicates little to no correlation, similar to what our scatter plot predicited. \n", "\n", "Let us display a regression summary, just for practice!" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " OLS Regression Results \n", "==================================================================================\n", "Dep. Variable: Heart_Attack_Mortality R-squared: 0.067\n", "Model: OLS Adj. R-squared: 0.027\n", "Method: Least Squares F-statistic: 1.661\n", "Date: Wed, 22 May 2019 Prob (F-statistic): 0.201\n", "Time: 22:33:40 Log-Likelihood: -215.40\n", "No. Observations: 49 AIC: 436.8\n", "Df Residuals: 46 BIC: 442.5\n", "Df Model: 2 \n", "Covariance Type: nonrobust \n", "=========================================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "-----------------------------------------------------------------------------------------\n", "Intercept 104.0577 93.565 1.112 0.272 -84.278 292.394\n", "D_biep_Young_Good_all -133.0227 79.819 -1.667 0.102 -293.690 27.645\n", "told 3.0434 11.323 0.269 0.789 -19.749 25.836\n", "==============================================================================\n", "Omnibus: 3.154 Durbin-Watson: 1.878\n", "Prob(Omnibus): 0.207 Jarque-Bera (JB): 2.932\n", "Skew: 0.585 Prob(JB): 0.231\n", "Kurtosis: 2.744 Cond. No. 269.\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n" ] } ], "source": [ "mod = smf.ols(formula='Heart_Attack_Mortality ~ D_biep_Young_Good_all + told', data=joined_data.to_df())\n", "res = mod.fit()\n", "print(res.summary())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A quick scan above shows an extremeley low R-squared and a high p-value, both of which imply that our model does not fit the data very well at all.\n", "\n", "That's it! By working through this module, you've learned how to **visually analyze your data**, **establish a correlation** by calculating the **correlation coefficient**, **set up a regression (with a covariate)**, and **find the regression line**!\n", "\n", "\n", "\n", "---\n", "\n", "If you need help, please consult the [Data Peers](https://data.berkeley.edu/education/data-science-community)!" ] } ], "metadata": { "anaconda-cloud": {}, "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.5" } }, "nbformat": 4, "nbformat_minor": 2 }