{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Exploration du Dataset" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "filePath = \"../Datasets/advertising.csv\"\n", "df = pd.read_csv(filePath)" ] }, { "cell_type": "code", "execution_count": 81, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(200, 5)" ] }, "execution_count": 81, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.shape" ] }, { "cell_type": "code", "execution_count": 6, "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", "
TVRadioNewspaperSales
0230.137.869.222.1
144.539.345.110.4
217.245.969.39.3
3151.541.358.518.5
4180.810.858.412.9
\n", "
" ], "text/plain": [ " TV Radio Newspaper Sales\n", "0 230.1 37.8 69.2 22.1\n", "1 44.5 39.3 45.1 10.4\n", "2 17.2 45.9 69.3 9.3\n", "3 151.5 41.3 58.5 18.5\n", "4 180.8 10.8 58.4 12.9" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.subplot(2, 2, 1)\n", "df['TV'].hist(bins = 100)\n", "plt.subplot(2, 2, 2)\n", "df['Newspaper'].hist(bins = 100)\n", "plt.subplot(2, 2, 3)\n", "df['Radio'].hist(bins = 100)\n", "plt.subplot(2, 2, 4)\n", "df['Sales'].hist(bins = 100)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On remarque que les variables 'Radio' et 'TV' sont distribuée d'une façon uniforme, tandis que la probabilité de la variable 'Newspaper' décroit d'une façon exponentielle. La variable 'Sales' semble avoir une distribution gaussienne." ] }, { "cell_type": "code", "execution_count": 78, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.subplot(2, 2, 1)\n", "plt.boxplot(df['Sales'])\n", "plt.subplot(2, 2, 2)\n", "plt.boxplot(df['Newspaper'])\n", "plt.subplot(2, 2, 3)\n", "plt.boxplot(df['TV'])\n", "plt.subplot(2, 2, 4)\n", "plt.boxplot(df['Radio'])\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On remarque qu'il y a deux valeurs aberrantes dans la colonne 'Newspaper'\n", "Il n'ya pas de valeurs manquantes dans le dataset" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Corrélations entre les variables" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "import numpy as np\n", "correlations = df.corr()\n", "\n", "# Generate a mask for the upper triangle\n", "mask = np.zeros_like(correlations, dtype=np.bool)\n", "mask[np.triu_indices_from(mask)] = True\n", "\n", "# Set up the matplotlib figure\n", "f, ax = plt.subplots(figsize=(5, 4))\n", " \n", "# Generate a custom diverging colormap\n", "cmap = sns.diverging_palette(220, 10, as_cmap=True)\n", "\n", "# Draw the heatmap with the mask and correct aspect ratio\n", "sns.heatmap(correlations, mask=mask, cmap=cmap, vmax=.3, center=0,\n", " square=True, linewidths=.5, cbar_kws={\"shrink\": .5})\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On remarque qu'il y a une corrélation entre va variable 'Newspaper' et 'Radio' de 0.3. on remarque aussi que la variable 'Newspaper' est la moins correlée avec la variable 'Sales'" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.subplot(2, 3, 1)\n", "plt.plot(df['Newspaper'], df['Sales'], 'o', color='red');\n", "plt.xlabel('Newspaper')\n", "plt.ylabel('Sales')\n", "\n", "plt.subplot(2, 3, 2)\n", "plt.plot(df['TV'], df['Sales'], 'o', color='blue');\n", "plt.xlabel('TV')\n", "plt.ylabel('Sales')\n", "\n", "plt.subplot(2, 3, 3)\n", "plt.plot(df['Radio'], df['Sales'], 'o', color='brown');\n", "plt.xlabel('Radio')\n", "plt.ylabel('Sales')\n", "\n", "plt.subplot(2, 3, 4)\n", "plt.plot(df['Radio'], df['Newspaper'], 'o', color='black');\n", "plt.xlabel('Radio')\n", "plt.ylabel('Newspaper')\n", "\n", "plt.subplot(2, 3, 5)\n", "plt.plot(df['TV'], df['Newspaper'], 'o', color='magenta');\n", "plt.xlabel('TV')\n", "plt.ylabel('Newspaper')\n", "\n", "plt.subplot(2, 3, 6)\n", "plt.plot(df['TV'], df['Radio'], 'o', color='green');\n", "plt.xlabel('TV')\n", "plt.ylabel('Radio')\n", "\n", "plt.tight_layout()\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On observe qu'il y a une corrélation entre la variables 'Sales' et les deux variables 'Radio' et 'TV'\n", "On observe aussi qu'il y a une relation presque quadratique entre la variable 'Sales' et 'TV'. Donc peut être ça serait mieux d'jouter un coefficient pour la variable 'TV'^2 en modèle de regression linéaire" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Modeles univariables" ] }, { "cell_type": "code", "execution_count": 82, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import statsmodels.formula.api as smf\n", "lmTV = smf.ols(formula='Sales ~ TV ', data=df).fit()\n", "lmRadio = smf.ols(formula='Sales ~ Radio ', data=df).fit()\n", "lmNewspaper = smf.ols(formula='Sales ~ Newspaper ', data=df).fit()" ] }, { "cell_type": "code", "execution_count": 89, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: Sales R-squared: 0.612\n", "Model: OLS Adj. R-squared: 0.610\n", "Method: Least Squares F-statistic: 312.1\n", "Date: Wed, 26 Sep 2018 Prob (F-statistic): 1.47e-42\n", "Time: 15:32:09 Log-Likelihood: -519.05\n", "No. Observations: 200 AIC: 1042.\n", "Df Residuals: 198 BIC: 1049.\n", "Df Model: 1 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "Intercept 7.0326 0.458 15.360 0.000 6.130 7.935\n", "TV 0.0475 0.003 17.668 0.000 0.042 0.053\n", "==============================================================================\n", "Omnibus: 0.531 Durbin-Watson: 1.935\n", "Prob(Omnibus): 0.767 Jarque-Bera (JB): 0.669\n", "Skew: -0.089 Prob(JB): 0.716\n", "Kurtosis: 2.779 Cond. No. 338.\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n" ] } ], "source": [ "print(lmTV.summary())" ] }, { "cell_type": "code", "execution_count": 90, "metadata": { "collapsed": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: Sales R-squared: 0.332\n", "Model: OLS Adj. R-squared: 0.329\n", "Method: Least Squares F-statistic: 98.42\n", "Date: Wed, 26 Sep 2018 Prob (F-statistic): 4.35e-19\n", "Time: 15:32:14 Log-Likelihood: -573.34\n", "No. Observations: 200 AIC: 1151.\n", "Df Residuals: 198 BIC: 1157.\n", "Df Model: 1 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "Intercept 9.3116 0.563 16.542 0.000 8.202 10.422\n", "Radio 0.2025 0.020 9.921 0.000 0.162 0.243\n", "==============================================================================\n", "Omnibus: 19.358 Durbin-Watson: 1.946\n", "Prob(Omnibus): 0.000 Jarque-Bera (JB): 21.910\n", "Skew: -0.764 Prob(JB): 1.75e-05\n", "Kurtosis: 3.544 Cond. No. 51.4\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n" ] } ], "source": [ "print(lmRadio.summary())" ] }, { "cell_type": "code", "execution_count": 91, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: Sales R-squared: 0.052\n", "Model: OLS Adj. R-squared: 0.047\n", "Method: Least Squares F-statistic: 10.89\n", "Date: Wed, 26 Sep 2018 Prob (F-statistic): 0.00115\n", "Time: 15:32:16 Log-Likelihood: -608.34\n", "No. Observations: 200 AIC: 1221.\n", "Df Residuals: 198 BIC: 1227.\n", "Df Model: 1 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "Intercept 12.3514 0.621 19.876 0.000 11.126 13.577\n", "Newspaper 0.0547 0.017 3.300 0.001 0.022 0.087\n", "==============================================================================\n", "Omnibus: 6.231 Durbin-Watson: 1.983\n", "Prob(Omnibus): 0.044 Jarque-Bera (JB): 5.483\n", "Skew: 0.330 Prob(JB): 0.0645\n", "Kurtosis: 2.527 Cond. No. 64.7\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n" ] } ], "source": [ "print(lmNewspaper.summary())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- D'après les valeurs de R^2, des pvalues et de la MSE, on remarque qu'il n'y a pas de relation significante entre la variable 'Newspaper' et la variable 'Sales'. \n", "- Le meilleur modèle est celui de la variable 'Sales' en fonction de la variable 'TV'. Alors TV est plus corrélé à Sales que Radio parsque le publicité audiovisuelles sont plus captives que les publicité par radio.\n", "- Pour que le coefficient de la regression linéaire refléte l'importance de la variable par rapport aux autres, on doit normaliser les variables\n", "- Dans le modele Sales ~ TV, l'intercept représente le nombre d'unité de Sales si le budget TV est nul, qui est entre 6 et 8 dans une 95% d'intervale" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Modele multi variables" ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: Sales R-squared: 0.897\n", "Model: OLS Adj. R-squared: 0.896\n", "Method: Least Squares F-statistic: 570.3\n", "Date: Wed, 26 Sep 2018 Prob (F-statistic): 1.58e-96\n", "Time: 15:36:14 Log-Likelihood: -386.18\n", "No. Observations: 200 AIC: 780.4\n", "Df Residuals: 196 BIC: 793.6\n", "Df Model: 3 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "Intercept 2.9389 0.312 9.422 0.000 2.324 3.554\n", "Radio 0.1885 0.009 21.893 0.000 0.172 0.206\n", "TV 0.0458 0.001 32.809 0.000 0.043 0.049\n", "Newspaper -0.0010 0.006 -0.177 0.860 -0.013 0.011\n", "==============================================================================\n", "Omnibus: 60.414 Durbin-Watson: 2.084\n", "Prob(Omnibus): 0.000 Jarque-Bera (JB): 151.241\n", "Skew: -1.327 Prob(JB): 1.44e-33\n", "Kurtosis: 6.332 Cond. No. 454.\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n" ] } ], "source": [ "lmMultiVariables = smf.ols(formula='Sales ~ Radio + TV + Newspaper ', data=df).fit()\n", "print(lmMultiVariables.summary())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- La première remarque à propos de ce modèle, est que la pvalue de la variable 'Newspaper' est très grande (0.86) avec un coefficient qui est très petit, alors ce n'est pas la peine de laisser cette variable dans le modèle. On observe aussi que la valeur de R-squared est très élevée (0.897), ce montre que notre modèle performe bien\n", "- Si on augmente de 50 les sommes allouées au média TV, les ventes augmentent de 0.229\n", "- Le coefficient pour Newspaper est presque nul, légérement négatif, dans le modèle complet tandis qu'il est positif lorsque pris en compte individuellement parseque dans le premier modèle, on n'avait pas de coefficients significatifs à part de celui de l'intercept qui affectaient les résulats. Donc je pense que le fait le coefficient est négatif est juste par hasard, c'est à dire, qu'un simple de changement dans la valeurs de la base de données ou des coefficient des autre variable peut résulter en un coefficient positif" ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: Sales R-squared: 0.897\n", "Model: OLS Adj. R-squared: 0.896\n", "Method: Least Squares F-statistic: 859.6\n", "Date: Wed, 26 Sep 2018 Prob (F-statistic): 4.83e-98\n", "Time: 15:40:54 Log-Likelihood: -386.20\n", "No. Observations: 200 AIC: 778.4\n", "Df Residuals: 197 BIC: 788.3\n", "Df Model: 2 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "Intercept 2.9211 0.294 9.919 0.000 2.340 3.502\n", "Radio 0.1880 0.008 23.382 0.000 0.172 0.204\n", "TV 0.0458 0.001 32.909 0.000 0.043 0.048\n", "==============================================================================\n", "Omnibus: 60.022 Durbin-Watson: 2.081\n", "Prob(Omnibus): 0.000 Jarque-Bera (JB): 148.679\n", "Skew: -1.323 Prob(JB): 5.19e-33\n", "Kurtosis: 6.292 Cond. No. 425.\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n" ] } ], "source": [ "lmMultiVariables = smf.ols(formula='Sales ~ Radio + TV', data=df).fit()\n", "print(lmMultiVariables.summary())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On remarque que les valeurs de R-squared, Adj. R-squared et MSE n'ont pas changé après avoir enlevé la variable 'Newspaper', mais par contre le modèle est plus simple à interpréter" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "Modèle multiplicatif :" ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: Sales R-squared: 0.968\n", "Model: OLS Adj. R-squared: 0.967\n", "Method: Least Squares F-statistic: 1963.\n", "Date: Wed, 26 Sep 2018 Prob (F-statistic): 6.68e-146\n", "Time: 15:53:44 Log-Likelihood: -270.14\n", "No. Observations: 200 AIC: 548.3\n", "Df Residuals: 196 BIC: 561.5\n", "Df Model: 3 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "Intercept 6.7502 0.248 27.233 0.000 6.261 7.239\n", "Radio 0.0289 0.009 3.241 0.001 0.011 0.046\n", "TV 0.0191 0.002 12.699 0.000 0.016 0.022\n", "TV:Radio 0.0011 5.24e-05 20.727 0.000 0.001 0.001\n", "==============================================================================\n", "Omnibus: 128.132 Durbin-Watson: 2.224\n", "Prob(Omnibus): 0.000 Jarque-Bera (JB): 1183.719\n", "Skew: -2.323 Prob(JB): 9.09e-258\n", "Kurtosis: 13.975 Cond. No. 1.80e+04\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", "[2] The condition number is large, 1.8e+04. This might indicate that there are\n", "strong multicollinearity or other numerical problems.\n" ] } ], "source": [ "lmMultiVariables = smf.ols(formula='Sales ~ Radio + TV + TV*Radio', data=df).fit()\n", "print(lmMultiVariables.summary())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On remarque que l'ajout de la variable multiplicative TV * Radio a produit un modèle plus performant que l'ancien. On remarque aussi que le 'std err' du coefficient de cette nouvelle variable est très petit, ce qui montre la forte influence de cette variable sur le modèle. On peut interpréter cela par le fait qu'une publicité efficace, on doit intégrer le TV et la Radio en même temps, et ne pas négliger une par rapport à l'autre" ] }, { "cell_type": "code", "execution_count": 95, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: Sales R-squared: 0.968\n", "Model: OLS Adj. R-squared: 0.967\n", "Method: Least Squares F-statistic: 1963.\n", "Date: Wed, 26 Sep 2018 Prob (F-statistic): 6.68e-146\n", "Time: 15:54:16 Log-Likelihood: -270.14\n", "No. Observations: 200 AIC: 548.3\n", "Df Residuals: 196 BIC: 561.5\n", "Df Model: 3 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "Intercept 6.7502 0.248 27.233 0.000 6.261 7.239\n", "Radio 0.0289 0.009 3.241 0.001 0.011 0.046\n", "TV 0.0191 0.002 12.699 0.000 0.016 0.022\n", "TV:Radio 0.0011 5.24e-05 20.727 0.000 0.001 0.001\n", "==============================================================================\n", "Omnibus: 128.132 Durbin-Watson: 2.224\n", "Prob(Omnibus): 0.000 Jarque-Bera (JB): 1183.719\n", "Skew: -2.323 Prob(JB): 9.09e-258\n", "Kurtosis: 13.975 Cond. No. 1.80e+04\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", "[2] The condition number is large, 1.8e+04. This might indicate that there are\n", "strong multicollinearity or other numerical problems.\n" ] } ], "source": [ "lmMultiVariables = smf.ols(formula='Sales ~ Radio + TV + TV*Radio + TV*TV ', data=df).fit()\n", "print(lmMultiVariables.summary())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On ne remarque pas une amélioration dans la précision du modèle avec l'ajout de la variable 'TV'^2, donc ce n'est pas la peine d'ajouter cette variable au modèle et le rendre plus compliqué" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.2" } }, "nbformat": 4, "nbformat_minor": 2 }