{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/kasparvonbeelen/ghi_python/main?labpath=11_-_Linear_Regression.ipynb)\n", "\n", "\n", "# Lecture 11: Correlation and Linear Regression\n", "## A gentle introduction to correlation and regression for historians \n", "### ... in Python and Pandas\n", "\n", "\n", "## Data Science for Historians (with Python)\n", "\n", "### Created by Kaspar Beelen and Luke Blaxill\n", "\n", "### For the German Historical Institute, London\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "This notebook turns to more advanced and scientifically interesting methods. We will discuss linear regression and later on generalised linear models. \n", "\n", "So far, we focused on quantifying and interpreting differences between subgroups in our data (place and gender), more specifically estimating the significance between the means.\n", "\n", "\n", "Now we turn the analysing the relationship between variables, the extent to which variables are associated with each other. This allows us to model historical phenomena and make predictions. \n", "\n", "As in the previous notebook, we highly recommend you watch the lecture by Luke Blaxill for an introduction to the concepts and terminology used in this lecture." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Understanding relations between variables: Lifespan and Wealth in late Victorian London" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We continue with the data used previously but change the research question and analyse the relationship between wealth and lifespan. Concretely, we will asess if the wealthier districts causes a higher ratio of older people. We don't have information on the possession or income for each individual but we have access to the rateable value per capita for each borough in London, which serves as a proxy for the average prosperity of place. We will abbreviate this variable as `rvc` in what follows. \n", "\n", "When it comes to lifespan we use the same synthetic census data as in notebook ten. We don't have information on how long people live, but we can establish the ratio of 'old' people, for example, those aged over 50. \n", "\n", "Notice how both variables (wealth and lifespan) are proxies for concepts we can not measure directly. In many ways, this makes this case study highly problematic (but therefore morer useful from a didactic perspective). However, working with imperfect proxies is often the only option and being creative with your data is a necessity. In the social sciences, the operationalisation of your research is called [construct validity](https://en.wikipedia.org/wiki/Construct_validity): as we project meaning onto our data we should be critical of our semantics.\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's turn to our code. The first step is to load the required tools we need later on in this notebook." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.7/site-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.\n", " import pandas.util.testing as tm\n" ] } ], "source": [ "import pandas as pd\n", "import numpy as np\n", "import seaborn as sns\n", "import statsmodels.api as sm\n", "import statsmodels.formula.api as smf\n", "import scipy\n", "import matplotlib.pyplot as plt\n", "import warnings\n", "warnings.filterwarnings('ignore')\n", "sns.set()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Before turning to the actual regression analysis, we need to discuss the data wrangling. We will cover a few steps that you will often encounter when preparing your data for analysis." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We create a new dataframe that records the ratio of people over 50 for each district. \n", "\n", "Why? We don't know how long Londoners live on average. Here we reason that districts where people have a higher probability of getting \"old\" (beyond 50) they tend to live longer. For \"old\", we computed the ratio of residents over 50 years (twice the median) but we could have chosen other thresholds. We encourage you to do this and assess the extent to which the results will change." ] }, { "cell_type": "code", "execution_count": 5, "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", "
districtsubdistrictgenderage
2402205St George In The EastSt George NorthM42
3065353St Olave SouthwarkBermondseyF56
2972022SouthwarkSt Mary NewingtonF44
2121692ShoreditchHoxton Old TownM40
2225893Bethnal GreenBethnal Green NorthF5
\n", "
" ], "text/plain": [ " district subdistrict gender age\n", "2402205 St George In The East St George North M 42\n", "3065353 St Olave Southwark Bermondsey F 56\n", "2972022 Southwark St Mary Newington F 44\n", "2121692 Shoreditch Hoxton Old Town M 40\n", "2225893 Bethnal Green Bethnal Green North F 5" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.read_csv('data/democraphic_data/london_subsample_2.csv',index_col=0)\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(27.74792555804773, 25.0)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.age.mean(), df.age.median()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "age_by_dist = df.groupby(['district','subdistrict']).agg({'age':lambda x: round(np.mean(x > 50) *100,1),\n", " 'gender':'count'}).reset_index()" ] }, { "cell_type": "code", "execution_count": 8, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
districtsubdistrictagegender
0Bethnal GreenBethnal Green East13.710826
1Bethnal GreenBethnal Green North10.612570
2Bethnal GreenBethnal Green South9.68121
3CamberwellCamberwell14.722260
4CamberwellDulwich14.52491
...............
109WhitechapelSpitalfields9.46659
110WoolwichCharlton11.95220
111WoolwichPlumstead East10.712100
112WoolwichPlumstead West13.94444
113WoolwichWoolwich11.110062
\n", "

114 rows × 4 columns

\n", "
" ], "text/plain": [ " district subdistrict age gender\n", "0 Bethnal Green Bethnal Green East 13.7 10826\n", "1 Bethnal Green Bethnal Green North 10.6 12570\n", "2 Bethnal Green Bethnal Green South 9.6 8121\n", "3 Camberwell Camberwell 14.7 22260\n", "4 Camberwell Dulwich 14.5 2491\n", ".. ... ... ... ...\n", "109 Whitechapel Spitalfields 9.4 6659\n", "110 Woolwich Charlton 11.9 5220\n", "111 Woolwich Plumstead East 10.7 12100\n", "112 Woolwich Plumstead West 13.9 4444\n", "113 Woolwich Woolwich 11.1 10062\n", "\n", "[114 rows x 4 columns]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "age_by_dist" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To understand the relationship between average wealth and lifespan we need to add additional information to our dataframe. \n", "\n", "The dataframe below capture the rateable value per capita in each London borough (these data are synthetic but follow the pattern of \"real\" values collected for 1922)." ] }, { "cell_type": "code", "execution_count": 9, "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", "
boroughrateable_value_pc
0Battersea6.1
1Bermondsey8.5
2Bethnal Green4.9
3Camberwell5.2
4Chelsea14.7
\n", "
" ], "text/plain": [ " borough rateable_value_pc\n", "0 Battersea 6.1\n", "1 Bermondsey 8.5\n", "2 Bethnal Green 4.9\n", "3 Camberwell 5.2\n", "4 Chelsea 14.7" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rvc = pd.read_csv('./data/democraphic_data/rateable_value.csv',index_col=0)\n", "rvc.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We want to merge the data frames, but first, we should check to what extent this is possible, both practically and theoretically.\n", "\n", "Our first question is: What variables occur in both datasets? Which ones can we use to combine information from different sources?\n", "\n", "For our data, both data frames have information about place. The census lists registration districts while the rateable value is organised by the borough.\n", "\n", "This leads to a second question: To what extent are the districts that appear in the census the same as the boroughs in the data on rateable value per capita?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First we want check which place names appear in both datasets. We create a Python `set`, a list of unique values, for the place names in both dataframes.\n" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'Islington', 'Lambeth', 'Woolwich', 'Marylebone', 'Whitechapel', 'Lewisham', 'Shoreditch', 'Southwark', 'Greenwich', 'Paddington', 'St George In The East', 'Bethnal Green', 'Hampstead', 'Chelsea', 'St George Hanover Square', 'Holborn', 'Mile End Old Town', 'Wandsworth', 'Fulham', 'St Olave Southwark', 'Kensington', 'Camberwell', 'London City', 'Strand', 'Westminster', 'Hackney', 'Pancras', 'St Giles', 'Poplar', 'Stepney'}\n" ] } ], "source": [ "d1_pl = set(df['district'])\n", "print(d1_pl)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'Islington', 'Lambeth', 'Woolwich', 'Marylebone', 'Lewisham', 'Shoreditch', 'Bermondsey', 'Southwark', 'Greenwich', 'Paddington', 'Bethnal Green', 'Hampstead', 'Chelsea', 'Stoke Newington', 'Holborn', 'Wandsworth', 'Fulham', 'Battersea', 'Kensington', 'Hammersmith', 'Deptford', 'Camberwell', 'Westminster', 'Hackney', 'Pancras', 'Poplar', 'Finsbury', 'Stepney'}\n" ] } ], "source": [ "d2_pl = set(rvc['borough'])\n", "print(d2_pl)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We then compute the intersection of these two sets, i.e. the names that appear in both dataframes.\n", "\n", "The syntax is `set1.intersection(set2)`. We basically apply the `.intersection()` to a set and pass another set as argument." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'Islington', 'Woolwich', 'Lambeth', 'Marylebone', 'Lewisham', 'Shoreditch', 'Southwark', 'Greenwich', 'Paddington', 'Bethnal Green', 'Hampstead', 'Chelsea', 'Holborn', 'Wandsworth', 'Fulham', 'Kensington', 'Camberwell', 'Westminster', 'Hackney', 'Pancras', 'Poplar', 'Stepney'}\n" ] } ], "source": [ "print(d1_pl.intersection(d2_pl)) # place names that appear in both dataframes" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'London City',\n", " 'Mile End Old Town',\n", " 'St George Hanover Square',\n", " 'St George In The East',\n", " 'St Giles',\n", " 'St Olave Southwark',\n", " 'Strand',\n", " 'Whitechapel'}" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d1_pl - d2_pl # place names that appear in df and not rvc" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'Battersea',\n", " 'Bermondsey',\n", " 'Deptford',\n", " 'Finsbury',\n", " 'Hammersmith',\n", " 'Stoke Newington'}" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d2_pl - d1_pl # place names that appear in rvc and not in df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can merge these two data frame based on the place names. However, be careful: it is not because the strings match that they mean the same thing!\n", "\n", "Don't worry about the syntax we will explain it in more detail below." ] }, { "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
districtsubdistrictagegenderboroughrateable_value_pc
0Bethnal GreenBethnal Green East13.710826Bethnal Green4.9
1Bethnal GreenBethnal Green North10.612570Bethnal Green4.9
2Bethnal GreenBethnal Green South9.68121Bethnal Green4.9
3CamberwellCamberwell14.722260Camberwell5.2
4CamberwellDulwich14.52491Camberwell5.2
.....................
89WestminsterSt James Westminster14.15317Westminster57.2
90WoolwichCharlton11.95220Woolwich6.6
91WoolwichPlumstead East10.712100Woolwich6.6
92WoolwichPlumstead West13.94444Woolwich6.6
93WoolwichWoolwich11.110062Woolwich6.6
\n", "

94 rows × 6 columns

\n", "
" ], "text/plain": [ " district subdistrict age gender borough \\\n", "0 Bethnal Green Bethnal Green East 13.7 10826 Bethnal Green \n", "1 Bethnal Green Bethnal Green North 10.6 12570 Bethnal Green \n", "2 Bethnal Green Bethnal Green South 9.6 8121 Bethnal Green \n", "3 Camberwell Camberwell 14.7 22260 Camberwell \n", "4 Camberwell Dulwich 14.5 2491 Camberwell \n", ".. ... ... ... ... ... \n", "89 Westminster St James Westminster 14.1 5317 Westminster \n", "90 Woolwich Charlton 11.9 5220 Woolwich \n", "91 Woolwich Plumstead East 10.7 12100 Woolwich \n", "92 Woolwich Plumstead West 13.9 4444 Woolwich \n", "93 Woolwich Woolwich 11.1 10062 Woolwich \n", "\n", " rateable_value_pc \n", "0 4.9 \n", "1 4.9 \n", "2 4.9 \n", "3 5.2 \n", "4 5.2 \n", ".. ... \n", "89 57.2 \n", "90 6.6 \n", "91 6.6 \n", "92 6.6 \n", "93 6.6 \n", "\n", "[94 rows x 6 columns]" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_merged = age_by_dist.merge(rvc,left_on='district',right_on='borough')\n", "data_merged" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`.merge()` is an extremely useful method combining data frames. It requires us to specify which variable (or column) is shared across data frames and can be used for merging tables. \n", "\n", "\n", "In this `.merge()` operation, we combined information from `rvc` with `age_by_dist`. \n", "\n", "As we have shown before, both data frames contain a column with similar values, namely, place names in London. \n", "\n", "We use these values to combine the data frames, i.e. rows that have the value `Bethnal Green` in the `age_by_dist` data frames will be joined by the information we have for 'Bethnal Green' in `rvc`\n", "\n", "Please notice: the names of the columns can be different but the values in the columns have to overlap.\n", "\n", "Below we show a toy example slight adapted from very thorough Pandas [documentation](https://pandas.pydata.org/docs/reference/api/pandas.merge.html).\n", "\n", "Imagine that I recorded the number of cats and dogs I spotted each day, but kept this information in two separate data frames." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "df1 = pd.DataFrame({'day': ['mon', 'tue', 'wed', 'thu'],\n", " 'cats': [1, 2, 3, 5]})\n", "df2 = pd.DataFrame({'dayz': ['mon', 'tue', 'wed', 'thu'],\n", " 'dogs': [5, 6, 7, 8]})" ] }, { "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", "
daycats
0mon1
1tue2
2wed3
3thu5
\n", "
" ], "text/plain": [ " day cats\n", "0 mon 1\n", "1 tue 2\n", "2 wed 3\n", "3 thu 5" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df1" ] }, { "cell_type": "code", "execution_count": 18, "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", "
dayzdogs
0mon5
1tue6
2wed7
3thu8
\n", "
" ], "text/plain": [ " dayz dogs\n", "0 mon 5\n", "1 tue 6\n", "2 wed 7\n", "3 thu 8" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Both tables have a column that records that day of the week, even though the column name is slightly differentz. We can combine these data frames into one using `left_df.merge(right_df)`. The method is applied to a dataframe at the left-hand side (before the dot) and one at the right-hand side (passed as an argument to the method).\n", "\n", "To merge properly, we have to instruct Pandas precisely which columns we want to use for combining information. `left_on` (`right_on`) indicates the column name we use in the dataframe at the left-hand (right-hand) side of the `.merge()` method. " ] }, { "cell_type": "code", "execution_count": 19, "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", "
daycatsdayzdogs
0mon1mon5
1tue2tue6
2wed3wed7
3thu5thu8
\n", "
" ], "text/plain": [ " day cats dayz dogs\n", "0 mon 1 mon 5\n", "1 tue 2 tue 6\n", "2 wed 3 wed 7\n", "3 thu 5 thu 8" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df1.merge(df2, left_on='day', right_on='dayz')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sometimes we want `.merge()` using the index of a data frame instead of a column. In this case, we select the argument `left_index` (or `right_index`) and which takes a boolean value (`True` or `False`).\n", "\n", "The `.merge()` operation should be more understandable at this point: we merge `age_by_dist` (left) with `rvc`. For the left data frame we use the index (`left_index=True`), for the right the `'borough'` column (`right_on='borough'`)." ] }, { "cell_type": "code", "execution_count": 20, "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", "
districtsubdistrictagegenderboroughrateable_value_pc
0Bethnal GreenBethnal Green East13.710826Bethnal Green4.9
1Bethnal GreenBethnal Green North10.612570Bethnal Green4.9
2Bethnal GreenBethnal Green South9.68121Bethnal Green4.9
3CamberwellCamberwell14.722260Camberwell5.2
4CamberwellDulwich14.52491Camberwell5.2
\n", "
" ], "text/plain": [ " district subdistrict age gender borough \\\n", "0 Bethnal Green Bethnal Green East 13.7 10826 Bethnal Green \n", "1 Bethnal Green Bethnal Green North 10.6 12570 Bethnal Green \n", "2 Bethnal Green Bethnal Green South 9.6 8121 Bethnal Green \n", "3 Camberwell Camberwell 14.7 22260 Camberwell \n", "4 Camberwell Dulwich 14.5 2491 Camberwell \n", "\n", " rateable_value_pc \n", "0 4.9 \n", "1 4.9 \n", "2 4.9 \n", "3 5.2 \n", "4 5.2 " ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_merged = age_by_dist.merge(rvc,left_on='district',right_on='borough')\n", "data_merged.head()" ] }, { "cell_type": "code", "execution_count": 21, "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", "
subdistrictagegenderboroughrateable_value_pc
0Bethnal Green East13.710826Bethnal Green4.9
1Bethnal Green North10.612570Bethnal Green4.9
2Bethnal Green South9.68121Bethnal Green4.9
3Camberwell14.722260Camberwell5.2
4Dulwich14.52491Camberwell5.2
\n", "
" ], "text/plain": [ " subdistrict age gender borough rateable_value_pc\n", "0 Bethnal Green East 13.7 10826 Bethnal Green 4.9\n", "1 Bethnal Green North 10.6 12570 Bethnal Green 4.9\n", "2 Bethnal Green South 9.6 8121 Bethnal Green 4.9\n", "3 Camberwell 14.7 22260 Camberwell 5.2\n", "4 Dulwich 14.5 2491 Camberwell 5.2" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_merged.drop('district',inplace=True, axis=1)\n", "data_merged.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Correlation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "After combining information from these two data frames, we can explore the relationship between variables. Let's start with the most obvious: correlation. \n", "\n", "Correlation tells us the extent to which two variables are related. Imagine, each day I collect the number of dogs and cats I observed in two separate variables or vectors (`dogs` and `cats`). \n", "\n", "If there is a correlation, I expect that if the number of (spotted) dogs up, the same will apply to cats.\n", "\n", "Visually, we can make a scatterplot to assess whether there is a correlation: the x-axis shows the number of dogs, the y-axis the number of cats. " ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "dogs = [1,3,5,7,2,6] # first vector\n", "cats = [2,4,8,7,3,5] # second vector" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.scatterplot(x=dogs,y=cats)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The figure suggests a strong correlation between the vectors for`dogs` and `cats`, i.e. we observe high values for y when x is high (and vice versa of course). \n", "\n", "Please notice that computing correlation is based on an implicit alignment between the two vectors. Each position captures the same day. If the order in `cats` would be different from `dogs` (for example the former starts on Wednesday and the latter on Sunday) I could, technically, still make a scatterplot and computer correlation but the results would be meaningless (or at least not match the intention).\n", "\n", "The visualization is helpful, but we'd like to put a number on this, quantify the strength of the relation, so we can compare if other vectors are stronger correlated. Here the Pearson correlation coefficient will come to our rescue.\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Pearson Correlation\n", "\n", "A widely used measure for computing the relationship between two vectors or vectors is the Pearson correlation coefficient. This coefficient will vary between -1 and +1, meaning a strong negative respectively positive correlation. A score of 0 indicates no correlation.\n", "\n", "We will first show you how to compute the Pearson correlation coefficient yourself, purely for didactic purposes, so you know what is going on (the score is not magic, far from!). But as you can probably guess by this point, there exists a method in Pandas that will help you. We'll have a look at that later.\n", "\n", "Showing how the calculation is done, demystifies the process and helps you to understand what is going on.\n", "\n", "We need a few ingredients to compute the Pearson correlation coefficient. First, we calculate the mean and standard deviation for each vector. We need to normalize by the amount of data we have and record the number of observations `n`, which is equal to the length of `v1` (or `v2`—remember both are aligned and equal in length!)." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "v1 = [1,3,5,7,2,6] # first vector\n", "v2 = [2,4,8,7,3,5] # second vector" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "mean_v1 = np.mean(v1)\n", "mean_v2 = np.mean(v2)\n", "std_v1 = np.std(v1)\n", "std_v2 = np.std(v2)\n", "n = len(v1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, we subtract each value a vector with the mean (of that vector of course). We repeat this for `v1` and `v2`." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "sub_mean_v1 = [i - mean_v1 for i in v1]\n", "sub_mean_v2 = [i - mean_v2 for i in v2]" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "([-3.0, -1.0, 1.0, 3.0, -2.0, 2.0],\n", " [-2.833333333333333,\n", " -0.833333333333333,\n", " 3.166666666666667,\n", " 2.166666666666667,\n", " -1.833333333333333,\n", " 0.16666666666666696])" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sub_mean_v1,sub_mean_v2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then we compute products of the values in `sub_mean_v1` and `sub_mean_v2` position-wise, i.e we multiply the first value in `sub_mean_v1` with first the value `sub_mean_v2` etc.\n", "\n", "A convenient function for doing this `zip()`, which, as the name suggests, \"zips\" two lists based on their positional index. For example if we `zip` `sub_mean_v1` and `sub_mean_v1` we get:" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(-3.0, -2.833333333333333),\n", " (-1.0, -0.833333333333333),\n", " (1.0, 3.166666666666667),\n", " (3.0, 2.166666666666667),\n", " (-2.0, -1.833333333333333),\n", " (2.0, 0.16666666666666696)]" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "diffs_zipped = list(zip(sub_mean_v1,sub_mean_v2))\n", "diffs_zipped" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Each element in the list `diffs_zipped` is a tuple. We multiply the elements in each tuple.." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[8.5,\n", " 0.833333333333333,\n", " 3.166666666666667,\n", " 6.500000000000001,\n", " 3.666666666666666,\n", " 0.3333333333333339]" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "products = [i*j for i,j in diffs_zipped]\n", "products" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "... and we sum all the values, which will give is the nominator of Pearson correlation coefficient." ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "23.0" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nominator = sum(products)\n", "nominator" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To obtain the coefficient, we divide the nominator by the product of the standard deviations and the number of observations." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "denominator = std_v1 * std_v2 * len(v1)" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.8390957231764806" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nominator / denominator" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Looking closer at these steps you can intuitively grasp what determines the strength of the correlation. If two values (at the same position) differ from the mean in equal terms, this will result in a higher product (remember from high school that the product of two negative numbers is positive!) and, in turn, increases the value of the nominator. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Of course, Pandas provides a method called`.corr()` to compute correlations between two instances of `pd.Series`. We first convert each vector to an instance of `pd.Series` and then calculate the correlation coefficient, which, no surprise, should be exactly the same!" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.8390957231764807" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.Series(v1).corr(pd.Series(v2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Of course, now we can also compute the relation between age and wealth." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.0477830510512453" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_merged['age'].corr(data_merged['rateable_value_pc'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Actually, that's quite a low correlation! This does not bode well for our expectation that richer boroughs are associated with longer lifespans. But we'll turn that to that shortly." ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.scatterplot(x='rateable_value_pc',y='age',data=data_merged)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Spearman Correlation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pearson correlation is one option of many to compute the strength of the relationship between two variables. The choice depends on your research priorities and some procedures will be more relevant or valid than others. \n", "\n", "Pearson takes into account the absolute counts of the number of cats and dogs. But imagine, that I don't care about how many animals I observe each day what matters is that ranking of the days is correlated. In this case, the ranking of the days has priority. In this scenario, we should calculate the Spearman rank correlation. \n", "\n", "To obtain this coefficient, we need to compute the rank of each day, for example, the third item in `v1` has rank 4 (i.e. it comes fourth after the items on positions 0, 1 and 4)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "([1, 3, 5, 7, 2, 6], [1, 3, 4, 6, 2, 5])" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v1_ranked = {v:i+1 for i,v in enumerate(sorted(v1))} # compute the rank if each days\n", "v1_rank = [v1_ranked[i] for i in v1]\n", "v1, v1_rank " ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "([2, 4, 8, 7, 3, 5], [1, 3, 6, 5, 2, 4])" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v2_ranked = {v:i+1 for i,v in enumerate(sorted(v2))} # compute the rank if each days\n", "v2_rank = [v2_ranked[i] for i in v2]\n", "v2, v2_rank" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [], "source": [ "mean_v1 = np.mean(v1_rank) # we compute the mean ranks\n", "mean_v2 = np.mean(v2_rank)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [], "source": [ "nominator = np.sum([(i1 - mean_v1)*(i2 - mean_v2) for i1,i2 in zip(v1_rank,v2_rank)]) # we compute the difference between rank and mean rank" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [], "source": [ "denominator = np.std(v1_rank) * np.std(v2_rank) * len(v2_rank)" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.8285714285714286" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nominator/denominator" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.8285714285714287" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.Series(v1).corr(pd.Series(v2), method='spearman')" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.10742706678948936" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_merged['age'].corr(data_merged['rateable_value_pc'],method='spearman')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Correlation does not mean causation. Oftentimes, correlations are 'spurious', i.e. it is unlikely there exists a realistic mechanism that explains the association between two variables. \n", " \n", "There is even [a website on this topic!](https://www.tylervigen.com/spurious-correlations)\n", "\n", "Be careful when making claims based on correlation. As often, the statistical experiment won't give you an answer to your question. There is no simple way to determine if a correlation is spurious. It depends on your domain expertise to make sense of these results and justify them.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Linear Regression" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Whereas correlation tells you that two variables, X and Y, are related you can not model their relationship, i.e. you can not predict Y using X. Correlation can only tell you that when X goes up, Y goes up (or not).\n", "\n", "Regression modelling attempts to model the mechanistic relationship between two variables: how many cats do I expect to see, given that I observed five dogs?\n", "\n", "Modelling the mechanistic relationship enables us to predict outcomes based on independent variables or predictors.\n", "\n", "Returning to our example of age and wealth (goodbye doggies, you were helpful), we'd want to predict the lifespan (the response variable approximated by the ratio of residents older than 50) given the rateable value per capita (predictor variable).\n", "\n", "Notice that we rely on domain expertise to construct a model that makes sense. We could also model the reverse, assuming that increasing lifespan will push rateable value upwards.\n", "\n", "However, we assumed wealth has a positive impact on lifespan and not vice versa. Our causal model, therefore, looks as follows: \n", "\n", "`Wealth -> lifespan`\n", "\n", "and not \n", "\n", "`Wealth <- lifespan`\n", "\n", "Whether a causal model makes sense is not a statistical question but depends on your domain expertise as a historian (and in this case, there is room for dispute!?). When reading a historical paper that uses statistical methods, it is often more important to critically look at the relation between the narrative and the method than just the regression procedure: What are data supposed to capture and how are they combined into/framed as a causal theory?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's discuss these questions with some actual data. We first demonstrate what a regression model does before we continue with a more detailed explanation of how to run and evaluate a regression model." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A linear model tries to predict a value (lifespan/ratio of 50+) based on a linear combination of other variables (for now, just one, the rateable value per capita). We want to predict the former using the latter.\n", "\n", "Using `seaborn` we can make a dispersion plot where each observation is turned into a point on the figure. The x-axis (`x=`) shows the rateable value, the y-axis (`y=`) the ratio of residents older than 50. " ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.scatterplot(x='rateable_value_pc',\n", " y='age',\n", " data=data_merged)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "A linear regression models the relation between `x` and `y` by drawing a line best \"fits\" the data, i.e. is closest to the observations as possible.\n", "\n", "\n", "From your high school education, you may remember the equation of a line.\n", "\n", "$y = a + b*x$\n", "\n", "\n", "Which can convert this equation to our variables of interest\n", "\n", "- $a$ is the intercept, the point where the line crosses to y-axis when x is zero. You may also think as: what ratio do we expect for a place with zero rateable value?\n", "\n", "- $b$ is the slope, and determines the strength of the relationship between $y$ and $x$: how much change do we expect in $y$ after one unit change $x$. \n", "\n", "\n", "\n", "We know lifespan and rateable value. \n", "\n", "lifespan = intercept + slope * rateable value per capita\n", "\n", "We use these data to estimate the values of $a$ (intercept) and $b$ slope. \n", "We will discuss later how, but for now, we just plot the outcome of running a linear regression, to show what the model thinks the line should look like after observing the data." ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.regplot(x=\"rateable_value_pc\", y=\"age\", \n", " data=data_merged,\n", " scatter_kws={\"s\": 10},\n", " order=1,ci=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The line visualizes the outcome of linear regression. The fact that a model throws back a result, a line, doesn't necessarily mean that this result makes sense. The best fit can still be pretty bad. In this case, the line is pretty flat, suggesting that $b% is close to zero, but also pretty bad (it doesn't capture much of the variation).\n", "\n", "As you observe there are many values are clustered together in the lower range of the x-axis, and only a few appear at the right-hand side of the figure.\n", "\n", "We can improve the fit by transforming the values on x-axis. We take the natural logarithm of the rateable value per capita, this will make small differences bigger and bigger ones smaller, it pulls apart the observation at the lower end of the independent variable and pushes those placed at the far right towards the other observations).\n", "\n", "But what is the natural logarithm? Let's have a look, what happens if we take the logarithm of 1000" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "6.907755278982137" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.log(1000)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We get a number close to 7 (i.e. 6.907755278982137). What does this mean? The logarithm is inverse of exponentiation: if x = log(y) then y = exp(x), or sticking to our example, if np.log(1000) produces 6.907755 then \n", "e6.90775 will approximately equal 1000 (not exactly as rounded the numbers.\n", "`e` is called Euler's number and is approximately equal to 2.71828182845904523536028747135266249775724709369995 according to [Wikipedia](https://en.wikipedia.org/wiki/E_(mathematical_constant)). You can check this for yourself" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "999.9999999999998" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.exp(6.907755278982137)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "..is equivalent to..." ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "999.9953534904313" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.power(2.71828,6.907755278982137)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "But why would we do this? Why would we effectively rescale our variables? Taking the logarithm partly solves the problem of dispersion: the logarithmic scale makes linear modelling often easier if a variable is linear on the logarithmic scale. " ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [], "source": [ "x_1 = [10,100,1000,10000]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is difficult to model these gaps with a line..." ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.regplot(x=list(range(len(x_1))), y=x_1, \n", " scatter_kws={\"s\": 80},\n", " order=1,ci=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "However, on a logarithmic scale, these values become neatly fit a line." ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [], "source": [ "x_2 = np.log([10,100,1000,10000])" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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uqxFpP8JqrdEAHImDQWgeGcVHW43HU4LGIPVamHBzPTO4yIi/U23AvuZZ56hqKgI8D1F/Ve/+pXfBrJYLMyaPIzpWWmUVTViibBh3B4yRiXpzFpE+rUuA3vbtm1s2bKFdevWYbFYeOCBB9i0aRNz587162BRdhuTx6WQmppAfX2zX19LRCQUdBnYqampPPbYY0RG+m4BHzduHEePHvX7YCIicjaLMWcucO6GiooKlixZwiuvvEJ6erofxxIRkb/X7R86lpeX89Of/pRHH330osK6sbG182aYnkhOjqehoaXHnx8stI7gEi7rgPBZi9bhY7VaSEo6/2MNu3WGvWfPHh5++GEef/xxCgoKejyIiIj0XJeBXVtby2233caTTz5JdnZ2X80lIiJ/p8u3RP7617/icDj44x//2Pl7S5Ys4e677/brYCIicraL+qGjiIgETlDdmi4iIj9MgS0iEiIU2CIiIUKBLSISIhTYIiIhQoEtIhIigiKw3333XfLz85k7dy5r1qw553hJSQmLFy/mpptu4t/+7d9wu90BmLJ7ulrLM888Q25uLrfeeiu33nrreT8mWLS0tLBgwQJqamrOORZKe3KhdYTKfjzzzDMUFBRQUFDAn/70p3OOh9J+dLWWUNmTp556ivz8fAoKCli5cuU5x/2yJybAjh07ZnJzc01jY6NpbW01N998sykvLz/rYwoKCsyXX35pjDHmX//1X82aNWsCMWqXurOWn/70p+aLL74I0ITd99VXX5kFCxaYyy+/3FRXV59zPFT2pKt1hMJ+bN261dx1113G4XAYp9Npli5dajZu3HjWx4TKfnRnLaGwJzt37jRLliwxLpfLtLe3m9zcXHPw4MGzPsYfexLwM+xt27Zx7bXXMnDgQGJjY7npppsoLi7uPH7kyBE6OjqYOnUqAIsWLTrreDDpai0A33zzDX/5y1+4+eab+d3vfofD4QjQtBf22muv8Zvf/IbBgwefcyyU9uRC64DQ2I+/rTi22+3nVByH0n50tRYIjT2ZPn06zz//PBERETQ0NODxeIiNje087q89CXhg19XVkZqa2vnrwYMHc/z48R88npqaetbxYNLVWlpbW8nKyuLRRx9l3bp1NDU18T//8z+BGLVLf/jDH7j66qvPeyyU9uRC6wiV/ZgwYULnF35FRQXr169nzpw5ncdDaT+6Wkuo7AmA3W7n6aefpqCggOzsbNLS0jqP+WtPAh7Y5jx3xlsslm4fDyZdzRoXF8df/vIXRo8eTUREBMuXL+eTTz7pyxF7RSjtyYWE2n6Ul5ezfPnycyqOQ3E/fmgtobYnDz/8MNu3b6e2tpbXXnut8/f9tScBD+y0tDROnDjR+eu6urqzvn39++P19fU/+O1toHW1lqNHj/L66693/toYQ0RE0D0HuUuhtCcXEkr7sWfPHpYtW8a//Mu/cNttt511LNT240JrCZU9OXjwICUlJQDExMQwb948ysrKOo/7a08CHtgzZsxg+/btnDx5kvb2djZu3Mjs2bM7jw8fPpyoqCj27NkDwFtvvXXW8WDS1Vqio6P585//THV1NcYY1qxZ4/dnY/pDKO3JhYTKftTW1rJixQr+67/+67x99KG0H12tJVT2pKamhieeeAKn04nT6WTz5s1cddVVncf9tieX/GPLXvDOO++YgoICM2/ePPPss88aY4x54IEHzL59+4wxxpSUlJjFixeb+fPnm3/+5382DocjkONeUFdrKS4u7jz+2GOPBfVajDEmNze38+qKUN0TY354HaGwH7///e/N1KlTzS233NL5v5deeikk96M7awmFPTHGmKeeesrk5eWZBQsWmKefftoY4/+vEdWrioiEiIC/JSIiIt2jwBYRCREKbBGREKHAFhEJEQpsEZEQocAWEQkRCmwRkRChwBYRCRH/H4l1S41eVhi6AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.regplot(x=list(range(len(x_2))), y=x_2, \n", " scatter_kws={\"s\": 80},\n", " order=1,ci=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Even though 'real' data never fits a pattern as neatly, we observe similar changes when inspecting the rateable value per capita variable." ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [], "source": [ "data_merged.sort_values('rateable_value_pc',inplace=True)" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.regplot(x=list(range(len(data_merged))), y=data_merged[\"rateable_value_pc\"], \n", " scatter_kws={\"s\": 10},\n", " order=1,ci=False)" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [], "source": [ "data_merged['rvc_log'] = np.log(data_merged['rateable_value_pc'])" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.regplot(x=list(range(len(data_merged))), y=data_merged[\"rvc_log\"], \n", " scatter_kws={\"s\": 10},\n", " order=1,ci=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Both lines don't fit the data perfectly, However, the latter one seems to approximate the actual observed values better.\n", "\n", "Also, if now model age as a function of the logged rateable value, the line will fit our observation better across all values of the x-axis. Still the result isn't great..." ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [], "source": [ "data_merged['rvc_log'] = np.log(data_merged['rateable_value_pc']) # take the logarithm of rvc" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.regplot(x=\"rvc_log\", y=\"age\", \n", " data=data_merged,\n", " scatter_kws={\"s\": 10},\n", " order=1,ci=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Later we will quantify goodness of fit of the different lines (before and after taking the logarithm). For now, a visual inspection suffices. \n", "\n", "(Please notice that logging also improve the correlation between the two variables.)" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.04778305105124528" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_merged['rateable_value_pc'].corr(data_merged['age'],method='pearson')" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.13820568259755875" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_merged['rvc_log'].corr(data_merged['age'],method='pearson')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Taking the logarithm values doesn't harm, but you'll have to be careful as it influences your interpretation of the results and the predictions of the model. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A closer look at the scatterplot and the data show that two (maybe ever three) places have a significantly higher rateable value: Holborn and Westminster, and also Marylebone. This is confirmed by the boxplot below. \n" ] }, { "cell_type": "code", "execution_count": 63, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
boroughrateable_value_pc
26Westminster57.2
12Holborn32.0
19Marylebone23.2
4Chelsea14.7
14Kensington14.4
6Finsbury14.2
11Hampstead13.3
17Paddington10.7
20Pancras8.7
1Bermondsey8.5
21Shoreditch8.2
8Greenwich7.6
10Hammersmith7.0
25Wandsworth6.9
22Southwark6.7
27Woolwich6.6
23Stepney6.5
24Stoke Newington6.5
16Lewisham6.4
15Lambeth6.3
7Fulham6.1
0Battersea6.1
5Deptford5.8
18Poplar5.7
13Islington5.7
9Hackney5.7
3Camberwell5.2
2Bethnal Green4.9
\n", "
" ], "text/plain": [ " borough rateable_value_pc\n", "26 Westminster 57.2\n", "12 Holborn 32.0\n", "19 Marylebone 23.2\n", "4 Chelsea 14.7\n", "14 Kensington 14.4\n", "6 Finsbury 14.2\n", "11 Hampstead 13.3\n", "17 Paddington 10.7\n", "20 Pancras 8.7\n", "1 Bermondsey 8.5\n", "21 Shoreditch 8.2\n", "8 Greenwich 7.6\n", "10 Hammersmith 7.0\n", "25 Wandsworth 6.9\n", "22 Southwark 6.7\n", "27 Woolwich 6.6\n", "23 Stepney 6.5\n", "24 Stoke Newington 6.5\n", "16 Lewisham 6.4\n", "15 Lambeth 6.3\n", "7 Fulham 6.1\n", "0 Battersea 6.1\n", "5 Deptford 5.8\n", "18 Poplar 5.7\n", "13 Islington 5.7\n", "9 Hackney 5.7\n", "3 Camberwell 5.2\n", "2 Bethnal Green 4.9" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rvc.sort_values(by='rateable_value_pc',ascending=False)" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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c27ZskV+vz/0j4tzTqmpqVF57J6MqDrTvf7667Vz507t2rVLgUBA69ev14gRIyK9rNNSX1+vKVOmaMGCBfJ6vZKic05JqqurU0lJidrb29Xe3q5PPvlEBQUFUTdreXm51q9frzVr1mjq1KkaOXKknn/+eZ199tn6+uuvJUmrV6/u9XM2NzerrKxMbW1tOnLkiFatWqX58+ersrJSBw4c0NGjR/Xhhx/2+jlPVlSd6Z599tmaN2+eHn30UbW1tSk7O1t33nlnpJd1WpYvX662tjbNmzcv9FxBQUHUzSlJ2dnZ2rp1q8aNG6fY2FiNGjVKXq9XycnJUTfrX1mwYIFKSkrU0tKitLQ0FRUVRXpJpyUnJyf0/QwGgyosLNRNN92kxx9/XEVFRfL7/crPz9d1110X6aWa4pMjAMBQVF1eAIAzHdEFAENEFwAMEV0AMER0AcAQ0UWXtm3bplmzZp3WNkaOHKnt27d3er6qqkq5ubmnte2TNW3aNC1fvtx0n8CfEV106aeffupzvxsPhFNU/XIE/r6qqirNnTtXCQkJamlp0Y033qjvv/9eLS0tcs7p2Wef1cUXX6wlS5aoublZ06dP1/PPP69PP/1Uy5Ytk9/v1znnnKPi4mINGzZM+/bt06xZs7R//341NjYqNTVVixYtUv/+/SVJb731ln744Qe1t7dr4sSJys/PP2497e3tWrBggb766isFAgGlpaWppKRE559//glnePLJJ5WWlqb7779fkvT222+rqqpKL774op577jlt3br1uHluuumm477+qquuUmVlpZKTkzs9PtGcXRk5cqT+8Y9/aMuWLWpubtbEiRNVWFgoSXrvvfdUXl6umJgY9evXT6WlpRo0aNDJfdMQHSJ4W0lE0BdffOGuvvpqV1dX57755hv36KOPukAg4Jxz7tVXX3UPPfSQc865999/3z344IPOOed27tzpcnNz3YEDB5xzzv34448uMzPTtbS0uNdff929+uqrzrlj91GdPHmyW758uXPOuZycHDd79mzn3LH7qQ4fPtz9+OOP7osvvnBer9c559xLL73k5s2b54LBoHPOuRdeeCH0NSdSWVnpcnNzQ4/z8/Odz+frcp7i4mL32muvOeecu/LKK93+/ftDX//H467m7EpOTo6bOXOmCwaDrr6+3qWnp7sffvjB7dixw6Wnp7u9e/c655wrLy93M2fO7HJbiF6c6fZhgwYNUmpqqlJTU5WYmKiVK1dq9+7dqqqq0nnnndfp/T6fTw0NDbrvvvtCz3k8HtXW1uree+/Vli1bVF5erpqaGlVXV+v6668Pva+goEDSsZsSZWVlqbKyUldddVXo9U2bNqm5uVkVFRWSJL/fHzpLPpH09HS1tbVp+/btOvfcc3XgwAFlZGTI4/H8rXlOpKs5r7766i6/trCwUB6PRxdddJFuu+02+Xw+eTweZWVlhc5s/7xd9D1Etw9LSEiQdCx4c+fO1cSJE3X77bfr8ssv19q1azu9PxgMKiMjQ4sWLQo9V19frwEDBmj+/Pnatm2b7r77bqWnp6ujo+O42xXGxPzfjw+cc4qLi+u07RkzZig7O1uS1NLSora2ti7X7/F4lJ+frzVr1ig+Pl75+fnyeDx/e54/a29v/1tzdufPcwWDQcXExCgmJua42xe2trZqz549uuKKK7rdHqIPP0iDfD6fcnJyVFhYqGuvvVYff/yxAoGAJCk2Njb0WV3Dhw+Xz+fTzz//LEn67LPPNGbMGLW1tWnz5s269957NW7cOPXv318VFRWhbUjSqlWrJEl79+5VRUXFcfeSlaSsrCytWLFC7e3tCgaDmjlzpl588cVu1z5+/Hh9+umn+uCDDzRhwoRu5/mz5OTk0P+q+Oijj0LPdzVnd1avXh2a0+fzacSIEUpPT1dlZaUaGhokSStXrtT8+fO73RaiE2e6UEFBgZ566inl5eUpNjZWN998sz788EMFg0ENGzZMixYt0pQpU7R06VLNmTNHTzzxROhsddmyZUpISNCUKVNUVlamV155RbGxsbrxxhtVW1sb2kdbW5vGjx8vv9+vkpISXXbZZaEISdIjjzyi0tJSjR8/XoFAQEOHDg19YGNXUlJSlJaWpo6ODg0cOLDbef6spKREc+bM0QUXXKBbb7019IkGQ4YMOeGc3amrq9OECRPU2tqqkpISXX755ZKkp59+WpMnTw6t+bnnnut2W4hO3GUM6CEjR47U4sWLde2110Z6KTiDcaaLM9pjjz2mnTt3/uVrCxcuDJ1JWli7du0Jf7EiLy/PbB3o3TjTBQBD/CANAAwRXQAwRHQBwBDRBQBDRBcADBFdADD0X1fTW3fxC49pAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.boxplot(rvc.rateable_value_pc)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "How to approach these observations: one easy, albeit problematic, approach is to consider them as \"outliers\" and remove them from the datasets.\n", "\n", "This is a classical example of where interventions need to be motivated or at least explained by domain expertise. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's remove these districts to understand the extent to which they affect our model and more importantly our understanding of the effect of wealth on lifespan. As you'll notice, the figure below suggests that after excluding Holborn and Westminster, the relation become positive. These two districts have a large effect on the slope of the regression line." ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [], "source": [ "data_wo_outliers = data_merged[~data_merged.borough.isin(['Westminster',\"Holborn\",\"Marylebone\"])]" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.regplot(x=\"rvc_log\", y=\"age\", data=data_merged,\n", " scatter_kws={\"s\": 10},\n", " order=1,ci=False)\n", "\n", "sns.regplot(x=\"rvc_log\", y=\"age\", data=data_wo_outliers,\n", " scatter_kws={\"s\": 10},\n", " order=1,ci=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The orange line shows the impact of removing the so-called 'outliers'. Throwing away information (i.e. observations) is a tricky thing: yes, it becomes easier to model the relationship between the variables linearly. However, this \"solution\" comes at a cost, we won't be able to accurately say something about the wealthier districts. If we were to believe the orange line, we'd disastrously overestimate the ratio of older residents in districts like Westminster.\n", "\n", "However, if you're only interested in predicting the age for a certain type of boroughs, and have good reasons to believe that the other ones away are qualitatively different (and deserve to be treated as separate case studies) than discarding observations is to some extent justifiable (but, of course, this should be made explicit).\n", "\n", "In any case, we need to acknowledge that a few places carry a lot of weight in determining the outcome and interpretation of the regression model (they influence the estimate of the slope substantially).\n", "\n", "Again, domain expertise has priority over statistics: the latter alone can not tell you what is the right approach." ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.13820568259755875\n", "0.34931346861521706\n" ] } ], "source": [ "print(data_merged['rvc_log'].corr(data_merged['age']))\n", "print(data_wo_outliers['rvc_log'].corr(data_wo_outliers['age']))" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.regplot(x=\"rvc_log\", y=\"age\", \n", " data=data_wo_outliers,\n", " scatter_kws={\"s\": 10},\n", " order=1,ci=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hopefully, this visual introduction demonstrated the use of linear regression and some of the problems that you are likely to encounter. Again, we'd like to stress that often the solution to these issues often require you to lean on your domain expertise as a historian. To solutions are often not statistical. \n", "\n", "History always should come before statistics." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The regression model attempts to capture as much as possible variation by drawing a straight line as close as to all the observations. However, the line doesn't have to be straight: this was a choice we made to constrain our model. We could have used, what is called, a \"quadratic function\" (i.e. $y$ = $a$ + $b$*$x$ + $c$*$x$2) to obtain a curve. Below we plot the quadratic approximation for the complete (blue) as well as the reduced (orange) data.\n" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.regplot(x=\"rvc_log\", y=\"age\", \n", " data=data_merged,\n", " scatter_kws={\"s\": 10},\n", " order=2,ci=False)\n", "sns.regplot(x=\"rvc_log\", y=\"age\", \n", " data=data_wo_outliers,\n", " scatter_kws={\"s\": 10},\n", " order=2,ci=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Linear Regression (a closer look)\n", "\n", "In the preceding section, we introduced linear regression from a more visual, intuitive perspective. We did not discuss how to fit and read the results. \n", "Let's, therefore, have a closer look at the statistical nitty-gritty of regression analysis. Running a linear regression model is rather straightforward with the `statsmodels` package in Python. There a just a few things to be careful about. First, we define the response variable, in this case 'Age'." ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [], "source": [ "Y = data_merged['age']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, we select the independent variable from the dataframe." ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [], "source": [ "X = data_merged['rateable_value_pc']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now there is one small trick to keep in mind. The equation of a simple linear model is:\n", "\n", "$y = a + b*x$\n", "\n", "Both $y$ and $x$ are data we observed. We don't know $a$ and $b$, these are the parameters we want to learn from the data. Running a regression will return an estimate for $a$ and $b$ that is most consistent with the observed data. \n", "\n", "Because we want `statsmodels` to estimate both the intercept $a$ and the slope $b$ we have to add one more column with only a constant to `X`. Luckily this is really straightforwards with the `add_constant` function." ] }, { "cell_type": "code", "execution_count": 73, "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", "
constrateable_value_pc
01.04.9
11.04.9
21.04.9
31.05.2
41.05.2
\n", "
" ], "text/plain": [ " const rateable_value_pc\n", "0 1.0 4.9\n", "1 1.0 4.9\n", "2 1.0 4.9\n", "3 1.0 5.2\n", "4 1.0 5.2" ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X = sm.add_constant(X)\n", "X.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we are ready to fit the model. 'Fitting the model' means finding the optimale fit with the data, in our case we estimate the parameters for a line (intercept and slope) that best capture the variation in our data. Please notice that a line may not necessarily provide \n", "\n", "We save the fitted model in the `results` variable." ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [], "source": [ "model = sm.OLS(Y,X) # instantiate model\n", "results = model.fit() # fit model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Applying the `.summary()` method to the fitted model will print a report." ] }, { "cell_type": "code", "execution_count": 75, "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", "
OLS Regression Results
Dep. Variable: age R-squared: 0.002
Model: OLS Adj. R-squared: -0.009
Method: Least Squares F-statistic: 0.2105
Date: Thu, 03 Feb 2022 Prob (F-statistic): 0.647
Time: 18:13:22 Log-Likelihood: -198.53
No. Observations: 94 AIC: 401.1
Df Residuals: 92 BIC: 406.1
Df Model: 1
Covariance Type: nonrobust
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
coef std err t P>|t| [0.025 0.975]
const 12.9145 0.307 42.037 0.000 12.304 13.525
rateable_value_pc 0.0097 0.021 0.459 0.647 -0.032 0.052
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
Omnibus: 9.979 Durbin-Watson: 1.732
Prob(Omnibus): 0.007 Jarque-Bera (JB): 10.252
Skew: 0.662 Prob(JB): 0.00594
Kurtosis: 3.929 Cond. No. 21.5


Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified." ], "text/plain": [ "\n", "\"\"\"\n", " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: age R-squared: 0.002\n", "Model: OLS Adj. R-squared: -0.009\n", "Method: Least Squares F-statistic: 0.2105\n", "Date: Thu, 03 Feb 2022 Prob (F-statistic): 0.647\n", "Time: 18:13:22 Log-Likelihood: -198.53\n", "No. Observations: 94 AIC: 401.1\n", "Df Residuals: 92 BIC: 406.1\n", "Df Model: 1 \n", "Covariance Type: nonrobust \n", "=====================================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "-------------------------------------------------------------------------------------\n", "const 12.9145 0.307 42.037 0.000 12.304 13.525\n", "rateable_value_pc 0.0097 0.021 0.459 0.647 -0.032 0.052\n", "==============================================================================\n", "Omnibus: 9.979 Durbin-Watson: 1.732\n", "Prob(Omnibus): 0.007 Jarque-Bera (JB): 10.252\n", "Skew: 0.662 Prob(JB): 0.00594\n", "Kurtosis: 3.929 Cond. No. 21.5\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", "\"\"\"" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results.summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The most important parts of this (admittedly extensive) report are located at the top right (`R-squared`) and in the middle (`const` and `rvc_log`). Let's start with the latter. These numbers will figure most prominently in the interpretation of the results.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- `const 12.9145` means that for a place with zero rateable value, we expect the percentage of those over 50 to be around 12.9. This is the estimate for the intercept, i.e. the value of y (Age) when x (rateable value) = 0. \n", "- `rateable_value_pc 0.0097\t` is an estimate of the slope which is the increase in y for one unit change in x. For example: if the rateable value changes from 1 to 2 we expect an increase of 0.0097% (not a lot in other words). \n", "- What do the other statistics reported tell us about these coefficients? Continuing with the estimate for `rateable_value_pc` the p-value is around 0.65, substantially higher than the traditional 0.05 threshold. So far there is a weak positive association, it is unlikely to be of any significance. \n", "- The confidence intervals range from `-0.032` to `0.052`. Notice that zero is included in the confidence interval. A slope of zero implies a horizontal line, meaning no change in y for x (they are largely independent, x does not influence y at all!). The chance that x and y are not related (in any positive or negative way) is well within the range of possibilities.\n", "- p-values and confidence intervals remain rather abstract and difficult to explain, and statisticians tend to doubt their use. In human language, these number tells you how sure the model is about where to draw the line. It is really sure that the intercept is higher than zero, which is not surprising. However, it is less confident about the slope, which can go down (-0.032) as well as up (0.052).\n", "\n", "What happens if we fit a new model with logged rateable values?" ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [], "source": [ "Y_2 = data_merged['age']\n", "X_2 = data_merged['rvc_log']\n", "X_2 = sm.add_constant(X_2)\n", "model_2 = sm.OLS(Y_2,X_2) # instantiate model\n", "results_2 = model_2.fit() # fit model" ] }, { "cell_type": "code", "execution_count": 77, "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", "
OLS Regression Results
Dep. Variable: age R-squared: 0.019
Model: OLS Adj. R-squared: 0.008
Method: Least Squares F-statistic: 1.791
Date: Thu, 03 Feb 2022 Prob (F-statistic): 0.184
Time: 18:13:27 Log-Likelihood: -197.73
No. Observations: 94 AIC: 399.5
Df Residuals: 92 BIC: 404.5
Df Model: 1
Covariance Type: nonrobust
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
coef std err t P>|t| [0.025 0.975]
const 11.9857 0.799 15.010 0.000 10.400 13.572
rvc_log 0.4809 0.359 1.338 0.184 -0.233 1.194
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
Omnibus: 7.154 Durbin-Watson: 1.761
Prob(Omnibus): 0.028 Jarque-Bera (JB): 6.612
Skew: 0.573 Prob(JB): 0.0367
Kurtosis: 3.614 Cond. No. 10.2


Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified." ], "text/plain": [ "\n", "\"\"\"\n", " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: age R-squared: 0.019\n", "Model: OLS Adj. R-squared: 0.008\n", "Method: Least Squares F-statistic: 1.791\n", "Date: Thu, 03 Feb 2022 Prob (F-statistic): 0.184\n", "Time: 18:13:27 Log-Likelihood: -197.73\n", "No. Observations: 94 AIC: 399.5\n", "Df Residuals: 92 BIC: 404.5\n", "Df Model: 1 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "const 11.9857 0.799 15.010 0.000 10.400 13.572\n", "rvc_log 0.4809 0.359 1.338 0.184 -0.233 1.194\n", "==============================================================================\n", "Omnibus: 7.154 Durbin-Watson: 1.761\n", "Prob(Omnibus): 0.028 Jarque-Bera (JB): 6.612\n", "Skew: 0.573 Prob(JB): 0.0367\n", "Kurtosis: 3.614 Cond. No. 10.2\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", "\"\"\"" ] }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results_2.summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using the log-scale changes coefficients quite a lot (especially for the rateable value). To coefficient is higher (we expect 0.5% change in y for a unit change in x). Nonetheless, the p-value suggests that this positive association may still be the result of random chance. The model is now more certain the relation is positive but still includes zero within the 95% confidence interval. \n", "\n", "Note that the scale of the x-axis is different now. For each change in x, the logged rateable value, we expect to add half a percentage to y. The steps on x-axis are become increasingly large on the original scale of rateable value." ] }, { "cell_type": "code", "execution_count": 78, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(7.38905609893065, 20.085536923187668, 54.598150033144236)" ] }, "execution_count": 78, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.exp(2), np.exp(3), np.exp(4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "According to the model, the rate of change in lifespan is the same when moving from 7 to 20 or transitioning from 20 to 54." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As said, the additional statistics for each coefficient convey where the model thinks the line should be.\n", "\n", "Similar to notebook 10, We can make these results more intuitive using a \"bootstrap\" method. We construct the mean and confidence intervals by resampling from the original data. \n", "\n", "More precisely, we repeat the following steps, let's say, 1000 times:\n", "- sample observations from the data (50% at each iteration)\n", "- fit the model and record the values for the intercept and the slope\n", "- plot the lines using these recorded values (or collect them and compute the 2.5 and 97.5 percentile range).\n", "\n", "This procedure is implemented by the code below (only 100 iteration but feel free to change this)." ] }, { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(8, 5))\n", "ax.scatter('rvc_log', 'age',data=data_merged)\n", " \n", "for _ in range(100): # repeat 100 times\n", " dms = data_merged.sample(frac=.5) # sample observations from the data\n", " Y_ = dms['age'] # get the response variable\n", " X_ = dms['rvc_log'] # get the independent variable\n", " X_ = sm.add_constant(X_) # add constant used for estimating the intercept\n", " \n", " model_ = sm.OLS(Y_,X_) # instantiate the model\n", " results_ = model_.fit() # fit the model\n", " x = data_merged['rvc_log'] # get values for the x-axis\n", " y = results_.params['const'] + (data_merged['rvc_log']*results_.params['rvc_log']) # y-axis value\n", " ax.plot(x,y , '-g',alpha=.5)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The values are not the same because we have a small sample and only ran a few iterations. However, it gives a more intuitive way of understanding what the p-values and confidence intervals of the coefficients mean. \n", "\n", "The \"bowtie\" shape is very common when plotting the outcome of a regression model: the model is fairly certain the line has to go through the mean but becomes more uncertain at the extremes because it lacks data.\n", "\n", "Instead of bootstrapping, you can compute the confidence intervals directly with `statsmodels`. In the figure below we plot the predictions (red) together with the confidence intervals (green)." ] }, { "cell_type": "code", "execution_count": 80, "metadata": {}, "outputs": [], "source": [ "pred = results_2.get_prediction(X_2) # get predictions\n", "df_pred = pd.DataFrame(pred.conf_int()) # get confidence interval from predictions\n", "df_pred['mean'] = pred.predicted_mean # get the predicted values" ] }, { "cell_type": "code", "execution_count": 81, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 81, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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9KF2+PBh7N69G1dddVVpf39/P+LxeOlxPB7HmTNnGl7OZjdbPfKcrJ4sy/j2t7+Nvr4+XHHFFVi8eHFpH8/H6s1Ujzwfq/e1r30NX/ziFxGJRCbtGxkZQSgUgiTlVwP28nxsumStYDCIH/zgB1i9ejUkScJNN92Ep556yutiNbU33ngDN910E2677TacddZZpe3uFCtcCgLXMp3OdPXIc3JubrnlFvzmN7/BqVOnsGPHjtJ2no9zM1098nysziOPPIKlS5fiiiuumHJ/M52PTReIT548iUcffbT02HXd0hULTbZ371584hOfwJe//GVcd911FfsWL16MwcHB0uOBgYFphwM63Uz1yHOyOgcOHMBrr70GAPD7/diwYQP2799f2s/zsTqz1SPPx+rs3r0bzz77LLZs2YJvf/vbeOKJJ/DNb36ztL+7uxupVAq2bQPw9nxsukCsaRr+5m/+BseOHYPruti+fTve8573eF2spnTq1Cl8/vOfx/3334++vr5J+5cvXw5VVbF3714AwM6dO3HllVc2uphNb7Z65DlZnePHj+Ouu+5CLpdDLpfD448/jvXr15f283yszmz1yPOxOj/84Q+xa9cu/PznP8ctt9yCa665BnfccUdpvyzLuPTSS7F7924A3p6PTXMZ9elPfxq33HIL3va2t2Hbtm343Oc+B9M0cckll+CTn/yk18VrSg899BAMw8C9995b2nb99dfjiSeeKNXl/fffj7vuugvpdBrnn38+brzxRg9L3JyqqUeek7O76qqrsG/fPnzgAx+Az+fDhg0b0NfXV/G3zfNxdtXUI8/H+bvzzjtxzTXX4Nprr8XWrVtx++234x/+4R+wdOlS/N3f/Z0nZRLcqTrKiYiIqCGarmuaiIiokzAQExEReYiBmIiIyEMMxERERB5iICYiIvIQAzEREZGHGIiJiIg89P8BRENOWRuVsZUAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(8, 5))\n", "ax.scatter('rvc_log', 'age',data = data_merged,alpha=.5) # plot logged rvs versus age\n", "ax.plot(data_merged['rvc_log'], df_pred['mean'] , '-ro',alpha=.75) # plot the predictions\n", "ax.plot(data_merged['rvc_log'], df_pred[0] , '-g',alpha=.75) # plot the lower bound of the confidence intervals\n", "ax.plot(data_merged['rvc_log'], df_pred[1] , '-g',alpha=.75) # plot the upper bound of the confidence intervals" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Please notice that coeficients and their confidence intervals are estimates of the line not the actual data. These are, as you can see, well outside the range given by the predicted values and their confidence intervals." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `.summary()` method provides other statistics that help you understanding how well the model performs." ] }, { "cell_type": "code", "execution_count": 82, "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", "
OLS Regression Results
Dep. Variable: age R-squared: 0.019
Model: OLS Adj. R-squared: 0.008
Method: Least Squares F-statistic: 1.791
Date: Thu, 03 Feb 2022 Prob (F-statistic): 0.184
Time: 18:13:50 Log-Likelihood: -197.73
No. Observations: 94 AIC: 399.5
Df Residuals: 92 BIC: 404.5
Df Model: 1
Covariance Type: nonrobust
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
coef std err t P>|t| [0.025 0.975]
const 11.9857 0.799 15.010 0.000 10.400 13.572
rvc_log 0.4809 0.359 1.338 0.184 -0.233 1.194
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
Omnibus: 7.154 Durbin-Watson: 1.761
Prob(Omnibus): 0.028 Jarque-Bera (JB): 6.612
Skew: 0.573 Prob(JB): 0.0367
Kurtosis: 3.614 Cond. No. 10.2


Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified." ], "text/plain": [ "\n", "\"\"\"\n", " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: age R-squared: 0.019\n", "Model: OLS Adj. R-squared: 0.008\n", "Method: Least Squares F-statistic: 1.791\n", "Date: Thu, 03 Feb 2022 Prob (F-statistic): 0.184\n", "Time: 18:13:50 Log-Likelihood: -197.73\n", "No. Observations: 94 AIC: 399.5\n", "Df Residuals: 92 BIC: 404.5\n", "Df Model: 1 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "const 11.9857 0.799 15.010 0.000 10.400 13.572\n", "rvc_log 0.4809 0.359 1.338 0.184 -0.233 1.194\n", "==============================================================================\n", "Omnibus: 7.154 Durbin-Watson: 1.761\n", "Prob(Omnibus): 0.028 Jarque-Bera (JB): 6.612\n", "Skew: 0.573 Prob(JB): 0.0367\n", "Kurtosis: 3.614 Cond. No. 10.2\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", "\"\"\"" ] }, "execution_count": 82, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results_2.summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lastly, we can see what happens when we remove the influential observations or outliers. The estimate for the slope is positive, with a p-value well below 0.05. The model is confident that the association is positive, and generally, knows better where to position the line. This is also reflected in the bootstrap: the lines are tighter packed than in the previous experiments and tend not to go in unpredictable directions." ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [], "source": [ "Y_woo = data_wo_outliers['age']\n", "x_woo = data_wo_outliers['rvc_log']\n", "#X_woo = np.column_stack((x_woo, np.log(data_wo_outliers['index'])))\n", "X_woo = sm.add_constant(x_woo)\n", "model_3 = sm.OLS(Y_woo,X_woo)\n", "results_3 = model_3.fit()" ] }, { "cell_type": "code", "execution_count": 84, "metadata": { "scrolled": true }, "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", "
OLS Regression Results
Dep. Variable: age R-squared: 0.122
Model: OLS Adj. R-squared: 0.111
Method: Least Squares F-statistic: 10.98
Date: Thu, 03 Feb 2022 Prob (F-statistic): 0.00139
Time: 18:13:55 Log-Likelihood: -160.58
No. Observations: 81 AIC: 325.2
Df Residuals: 79 BIC: 329.9
Df Model: 1
Covariance Type: nonrobust
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
coef std err t P>|t| [0.025 0.975]
const 7.8738 1.550 5.081 0.000 4.789 10.958
rvc_log 2.6244 0.792 3.313 0.001 1.048 4.201
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
Omnibus: 2.637 Durbin-Watson: 2.106
Prob(Omnibus): 0.268 Jarque-Bera (JB): 1.865
Skew: 0.177 Prob(JB): 0.394
Kurtosis: 2.346 Cond. No. 19.3


Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified." ], "text/plain": [ "\n", "\"\"\"\n", " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: age R-squared: 0.122\n", "Model: OLS Adj. R-squared: 0.111\n", "Method: Least Squares F-statistic: 10.98\n", "Date: Thu, 03 Feb 2022 Prob (F-statistic): 0.00139\n", "Time: 18:13:55 Log-Likelihood: -160.58\n", "No. Observations: 81 AIC: 325.2\n", "Df Residuals: 79 BIC: 329.9\n", "Df Model: 1 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "const 7.8738 1.550 5.081 0.000 4.789 10.958\n", "rvc_log 2.6244 0.792 3.313 0.001 1.048 4.201\n", "==============================================================================\n", "Omnibus: 2.637 Durbin-Watson: 2.106\n", "Prob(Omnibus): 0.268 Jarque-Bera (JB): 1.865\n", "Skew: 0.177 Prob(JB): 0.394\n", "Kurtosis: 2.346 Cond. No. 19.3\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", "\"\"\"" ] }, "execution_count": 84, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results_3.summary()" ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data_wo_outliers.sort_values('rvc_log',inplace=True)\n", "fig, ax = plt.subplots(figsize=(8, 5))\n", "ax.scatter('rvc_log', 'age',data=data_wo_outliers)\n", "beta = []\n", "for _ in range(100):\n", " dms = data_wo_outliers.sample(frac=.5)\n", " Y_ = dms['age']\n", " X_ = dms['rvc_log']\n", " X_ = sm.add_constant(X_)\n", " model = sm.OLS(Y_,X_)\n", " results = model.fit() \n", " beta.append(results.params['rvc_log'])\n", "\n", " ax.plot(data_wo_outliers['rvc_log'], results.params['const'] + (data_wo_outliers['rvc_log']*results.params['rvc_log']) , '-g',alpha=.5)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Before we close this chapter, we need to discuss a more important statistic reported in the regression summary: the R-squared. This score varies between 0 and 1 and indicates how well our model fits the data, with 1 meaning a perfect fit. You'll notice that R-squared in the summary of `results_2` is lower compared to the output of `results_3` (after removing the outliers)." ] }, { "cell_type": "code", "execution_count": 86, "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", "
OLS Regression Results
Dep. Variable: age R-squared: 0.019
Model: OLS Adj. R-squared: 0.008
Method: Least Squares F-statistic: 1.791
Date: Thu, 03 Feb 2022 Prob (F-statistic): 0.184
Time: 18:14:04 Log-Likelihood: -197.73
No. Observations: 94 AIC: 399.5
Df Residuals: 92 BIC: 404.5
Df Model: 1
Covariance Type: nonrobust
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
coef std err t P>|t| [0.025 0.975]
const 11.9857 0.799 15.010 0.000 10.400 13.572
rvc_log 0.4809 0.359 1.338 0.184 -0.233 1.194
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
Omnibus: 7.154 Durbin-Watson: 1.761
Prob(Omnibus): 0.028 Jarque-Bera (JB): 6.612
Skew: 0.573 Prob(JB): 0.0367
Kurtosis: 3.614 Cond. No. 10.2


Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified." ], "text/plain": [ "\n", "\"\"\"\n", " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: age R-squared: 0.019\n", "Model: OLS Adj. R-squared: 0.008\n", "Method: Least Squares F-statistic: 1.791\n", "Date: Thu, 03 Feb 2022 Prob (F-statistic): 0.184\n", "Time: 18:14:04 Log-Likelihood: -197.73\n", "No. Observations: 94 AIC: 399.5\n", "Df Residuals: 92 BIC: 404.5\n", "Df Model: 1 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "const 11.9857 0.799 15.010 0.000 10.400 13.572\n", "rvc_log 0.4809 0.359 1.338 0.184 -0.233 1.194\n", "==============================================================================\n", "Omnibus: 7.154 Durbin-Watson: 1.761\n", "Prob(Omnibus): 0.028 Jarque-Bera (JB): 6.612\n", "Skew: 0.573 Prob(JB): 0.0367\n", "Kurtosis: 3.614 Cond. No. 10.2\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", "\"\"\"" ] }, "execution_count": 86, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results_2.summary()" ] }, { "cell_type": "code", "execution_count": 87, "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", "
OLS Regression Results
Dep. Variable: age R-squared: 0.122
Model: OLS Adj. R-squared: 0.111
Method: Least Squares F-statistic: 10.98
Date: Thu, 03 Feb 2022 Prob (F-statistic): 0.00139
Time: 18:14:06 Log-Likelihood: -160.58
No. Observations: 81 AIC: 325.2
Df Residuals: 79 BIC: 329.9
Df Model: 1
Covariance Type: nonrobust
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
coef std err t P>|t| [0.025 0.975]
const 7.8738 1.550 5.081 0.000 4.789 10.958
rvc_log 2.6244 0.792 3.313 0.001 1.048 4.201
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
Omnibus: 2.637 Durbin-Watson: 2.106
Prob(Omnibus): 0.268 Jarque-Bera (JB): 1.865
Skew: 0.177 Prob(JB): 0.394
Kurtosis: 2.346 Cond. No. 19.3


Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified." ], "text/plain": [ "\n", "\"\"\"\n", " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: age R-squared: 0.122\n", "Model: OLS Adj. R-squared: 0.111\n", "Method: Least Squares F-statistic: 10.98\n", "Date: Thu, 03 Feb 2022 Prob (F-statistic): 0.00139\n", "Time: 18:14:06 Log-Likelihood: -160.58\n", "No. Observations: 81 AIC: 325.2\n", "Df Residuals: 79 BIC: 329.9\n", "Df Model: 1 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "const 7.8738 1.550 5.081 0.000 4.789 10.958\n", "rvc_log 2.6244 0.792 3.313 0.001 1.048 4.201\n", "==============================================================================\n", "Omnibus: 2.637 Durbin-Watson: 2.106\n", "Prob(Omnibus): 0.268 Jarque-Bera (JB): 1.865\n", "Skew: 0.177 Prob(JB): 0.394\n", "Kurtosis: 2.346 Cond. No. 19.3\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", "\"\"\"" ] }, "execution_count": 87, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results_3.summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In general, the R-squared is helpful when comparing models, but we should not attach too much importance to this score: a good fit doesn't necessarily mean that we capture and understand the (causal) mechamism of interest accurately. Firstly, we could simple add more predictors and after while we can almost perfectly fit the data. For example instead of quadratic, a polynomial of order 2, we can fit our data with polynomial of order 20. This will fit the data perfectly but doesn't learn us anything about the relation between our variables of interests. Also the weird squigly lines don't make sense and will make very poor and blatantly unrealistic predictions (a negative percentage -200 for place with a logged rateable value of 2.5. This models overfits the data. Secondly, there is a distinction between prediction and inference. Being good at perdiction, doesn't imply that the model captures the causal mechanism (or the data generation process) adequately. More intelligents thoughts about the difference between prediction and inference are available in Statistical Rethinking or consult this blog post." ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 88, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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e4YNG+b9+tixY6xdu5aVK1d6j7XeZx5cf9ClpaUBjfFsdVa25ORkrrrqKgCam5v57W9/yx133BHwOM9GZ2UD+OMf/8ioUaMYO3ZsoMPrls7KFs73EalpdJHdbmfz5s3cfvvtfPTRR/Tr148XX3wx2GF1W3NzM0888QR/+MMf+PLLL7ntttt47LHHgh1Wlxw6dIi7776bxx57jIEDB3qPq+0s5Kwoobs0dXs6KptHXV0d9957LyNGjGD27NmBD7AbOirbwYMH2bhxIw8++GDwguumjsoWzvcRSRpdZDKZGDBgAOeddx4A06ZNY+fOnUGOqvsOHjyI0WhkzJgxANx8881s3rw5yFH5btu2bdx5553893//92k3zfT0dMrLy73fWyyWDpvoQtGZygaumtRtt93GiBEjOq1NhpozlW39+vVYLBauv/565s2b5y1nuDhT2cL6PhLsTpVQdsUVV5zWYdzU1KRecskl6r59+1RVVdW33npLffTRR4MR3llrr1zV1dXqxIkT1by8PFVVVfXDDz9Ub7/99mCE12VFRUXq+PHj1a+//rrDc6ZOnapu3bpVVVVVfeKJJ9S33347UOF1S2dls9vt6uzZs9XXX389wJF1ny/vm0d+fn5YdYR3VrZwvo9In4aP7r33Xn76059y3nnn8frrr/Pkk0/S1NRERkbGGYcKhrrW5Vq6dCnz589HVVVSU1N54YUXgh2eT373u9/R0tLSpnp/yy238Omnn3rLtmzZMp588kkaGhoYNWoUc+fODWLEvuusbCUlJezduxeHw8GGDRsAOPfcc8OixuHL+xaufClbuN5HZOc+IYQQPpM+DSGEED6TpCGEEMJnkjSEEEL4TJKGEEIIn0nSEEII4TNJGkKEgEWLFvG73/0u2GEI0SlJGkIIIXwmk/uE6IJvv/2WJUuWEBcXx969e3nooYeYN28eAH/961/59ttvWb58Of/4xz/4/e9/j0ajITk5mZdeeonMzEyfnmPr1q28/PLLNDU1odfrmT9/PpMmTcLhcPDyyy/z6aefkpiYyJgxY8jLy+O9997rySIL0YbUNITookOHDvGLX/yC3/72t3z00Ufe46tXr+amm25i//79LFu2jHfeeYePPvqIK6+8kjfeeMOna1dVVfHTn/6UJ554go8++oiXXnqJhQsXkp+fz9///nf27NnDP//5T1auXEl+fn5PFVGIDklNQ4guyszMJCsriz59+tDS0sKuXbuIjY2lsrKSiRMnsmLFCi699FJvzeLOO+/0+do7d+6kf//+3qXAhw0bxgUXXMDmzZv5/PPPmTlzJkajEXAtKim1DBFokjSE6KK4uDjAtbz6DTfcQG5uLnq9nhtuuAFFUdBqtW2WXm9ubqawsJAhQ4Z0em2n03naMVVVsdvt6HRt/1w1GmkoEIEnv3VCdMPs2bP59NNP2bBhA9dddx0A48eP55tvvqGsrAyAlStX8vOf/9yn640dO5ajR496l8k+dOgQW7Zs4eKLL2by5Ml8+OGHWK1W7HY7H3zwQc8USogzkJqGEN1gMpkYNWoUdru9zZarCxcu5J577vGe4+uKwSkpKbz66qv87Gc/o7m5GUVRWLp0KYMGDWLAgAEcPXqUWbNmERcXR9++fYmNje2xsgnRHlnlVogw8eWXX1JRUcHMmTMBeP755zEajSxcuDDIkYloIklDiAA4cuQICxYsaPexQYMGsXz58k6vUVpayqJFi6ioqMDhcDBixAieffZZEhMT/R2uEB2SpCGEEMJn0hEuhBDCZ5I0hBBC+EyShhBCCJ9J0hBCCOEzSRpCCCF8JklDCCGEz/4/Zn/W9wud188AAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.regplot(x=\"rvc_log\", y=\"age\", \n", " data=data_wo_outliers,\n", " scatter_kws={\"s\": 10},\n", " order=20,ci=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This detour aside, we close this notebook with computing R-squared by hand to give you an intuition of the meaning of this statistic." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`RMSE`: First we compute the root mean squared prediction error. For each data point, " ] }, { "cell_type": "code", "execution_count": 89, "metadata": {}, "outputs": [], "source": [ "Y_hat = results_2.predict() # get predicted values\n", "Y = data_merged['age'] # get observed values" ] }, { "cell_type": "code", "execution_count": 90, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.9828586340496166" ] }, "execution_count": 90, "metadata": {}, "output_type": "execute_result" } ], "source": [ " \n", "var_pred = np.sum([(y - y_hat)**2 for y,y_hat in zip(Y,Y_hat)]) # difference between observed and predicted by the power of two\n", "rmse = np.sqrt(var_pred / len(Y)) # sum all values, divide by the number of observations and take the square root\n", "rmse " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`R-squared`: \n", "- we compute the variation between observed and predicted values (`var_pred`) \n", "- we compute the total variation by subtracting the observed value with the mean." ] }, { "cell_type": "code", "execution_count": 91, "metadata": {}, "outputs": [], "source": [ "var_total = np.sum([(y - np.mean(Y))**2 for y,y_hat in zip(Y,Y_hat)] )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then we divided `var_pred` by `var_total`. " ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [], "source": [ "var = var_pred / var_total" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To make sure the number ranges between 0 (minimum) and 1 (maximum), we simply calculate `1 - var`." ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.019" ] }, "execution_count": 93, "metadata": {}, "output_type": "execute_result" } ], "source": [ "round(1 - var ,3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Fin." ] } ], "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.7.4" } }, "nbformat": 4, "nbformat_minor": 2 }