{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Title\n", "\n", "**Exercise: A.2 - Multi-collinearity vs Model Predictions**\n", "\n", "# Description\n", "\n", "The goal of this exercise is to see how multi-collinearity can affect the predictions of a model.\n", "\n", "For this, perform a multi-linear regression on the given dataset and compare the coefficients with those from simple linear regression of the individual predictors.\n", "\n", "# Roadmap\n", "- Read the dataset 'colinearity.csv' as a dataframe\n", "- For each of the predictor variable, create a linear regression model with the same response variable\n", "- Compute the coefficients for each model and store in a list.\n", "- Fit all predictors using a separate multi-linear regression object\n", "- Calculate the coefficients of each model\n", "- Compare the coefficients of the multi-linear regression model with those of the simple linear regression model.\n", "\n", "**DISCUSSION:** Why do you think the coefficients change and what does it mean? \n", "\n", "# Hints\n", "\n", "LinearRegression() : Returns a linear regression object from the sklearn library.\n", "\n", "LinearRegression().coef_ : This attribute returns the coefficient(s) of the linear regression object\n", "\n", "sklearn.fit() : Fit linear model\n", "\n", "df.reshape() : Return a ndarray with the values in the specified shape \n", "\n", "Note: This exercise is **auto-graded and you can try multiple attempts.**" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# import libraries\n", "import pandas as pd\n", "import numpy as np\n", "import seaborn as sns \n", "import matplotlib.pyplot as plt\n", "from sklearn.linear_model import LinearRegression\n", "from pprint import pprint\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# Read the file named \"colinearity.csv\"\n", "\n", "df = pd.read_csv(\"colinearity.csv\")" ] }, { "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", " \n", " \n", " \n", " \n", " \n", " \n", "
x1x2x3x4y
0-1.109823-1.172554-0.897949-6.572526-158.193913
10.2883810.3605262.2986903.884887198.312926
2-1.0591940.8330670.285517-1.22593112.152087
30.2260171.9793670.7440385.380823190.281938
40.664165-1.3737390.317570-0.437413-72.681681
\n", "
" ], "text/plain": [ " x1 x2 x3 x4 y\n", "0 -1.109823 -1.172554 -0.897949 -6.572526 -158.193913\n", "1 0.288381 0.360526 2.298690 3.884887 198.312926\n", "2 -1.059194 0.833067 0.285517 -1.225931 12.152087\n", "3 0.226017 1.979367 0.744038 5.380823 190.281938\n", "4 0.664165 -1.373739 0.317570 -0.437413 -72.681681" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Take a quick look at the dataset\n", "\n", "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Creation of Linear Regression Objects" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "# Choose all the predictors as the variable 'X' (note capitalization of X for multiple features)\n", "\n", "X = df.drop([___],axis=1)\n", "\n", "# Choose the response variable 'y' for y values\n", "\n", "y = df.___" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "### edTest(test_coeff) ###\n", "\n", "# Here we create a dictionary that will store the Beta values of each linear regression model\n", "linear_coef = []\n", "\n", "for i in X:\n", " \n", " x = df[[___]]\n", "\n", " #Create a linear regression object\n", " linreg = ____\n", "\n", " #Fit it with training values. \n", " #Remember to choose only one column at a time as the predictor variable\n", " linreg.fit(___,___)\n", " \n", " # Add the coefficient value of the model to the list\n", " linear_coef.append(linreg.coef_)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Multi-Linear Regression using all variables" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "# Here you must do a multi-linear regression with all predictors\n", "\n", "# use sklearn library to define a new model 'multi_linear'\n", "multi_linear = ____\n", "\n", "# Fit the multi-linear regression on all features and the response\n", "\n", "multi_linear.fit(___,___)\n", "\n", "# append the coefficients (plural) of the model to a variable multi_coef\n", "\n", "multi_coef = multi_linear.coef_" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Printing the individual $\\beta$ values" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "By simple(one variable) linear regression for each variable:\n", "'Value of beta1 = 34.73'\n", "'Value of beta2 = 68.63'\n", "'Value of beta3 = 59.40'\n", "'Value of beta4 = 20.92'\n" ] } ], "source": [ "# Run this command to see the beta values of the linear regression models\n", "\n", "print('By simple(one variable) linear regression for each variable:', sep = '\\n')\n", "\n", "for i in range(4):\n", " \n", " pprint(f'Value of beta{i+1} = {linear_coef[i][0]:.2f}')" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "By multi-Linear regression on all variables\n", "'Value of beta1 = -24.61'\n", "'Value of beta2 = 27.72'\n", "'Value of beta3 = 37.67'\n", "'Value of beta4 = 19.27'\n" ] } ], "source": [ "### edTest(test_multi_coeff) ###\n", "\n", "#Now let's compare with the values from the multi-linear regression\n", "print('By multi-Linear regression on all variables')\n", "for i in range(4):\n", " pprint(f'Value of beta{i+1} = {round(multi_coef[i],2)}')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Why do you think the $\\beta$ values are different in the two cases?" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "corrMatrix = df[['x1','x2','x3','x4']].corr() \n", "sns.heatmap(corrMatrix, annot=True) \n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }