{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Chapter 9: Transformation\n", "\n", "Load the packages" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import scipy as sp\n", "import statsmodels.api as sm\n", "import statsmodels.formula.api as smf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Transforming the Response" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Read in the data:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
srpop15pop75dpiddpi
Australia11.4329.352.872329.682.87
Austria12.0723.324.411507.993.93
Belgium13.1723.804.432108.473.82
Bolivia5.7541.891.67189.130.22
Brazil12.8842.190.83728.474.56
\n", "
" ], "text/plain": [ " sr pop15 pop75 dpi ddpi\n", "Australia 11.43 29.35 2.87 2329.68 2.87\n", "Austria 12.07 23.32 4.41 1507.99 3.93\n", "Belgium 13.17 23.80 4.43 2108.47 3.82\n", "Bolivia 5.75 41.89 1.67 189.13 0.22\n", "Brazil 12.88 42.19 0.83 728.47 4.56" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "savings = pd.read_csv(\"data/savings.csv\",index_col=0)\n", "savings.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Fit the base model:" ] }, { "cell_type": "code", "execution_count": 3, "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: sr R-squared: 0.338
Model: OLS Adj. R-squared: 0.280
Method: Least Squares F-statistic: 5.756
Date: Wed, 26 Sep 2018 Prob (F-statistic): 0.000790
Time: 10:35:37 Log-Likelihood: -135.10
No. Observations: 50 AIC: 280.2
Df Residuals: 45 BIC: 289.8
Df Model: 4
Covariance Type: nonrobust
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
coef std err t P>|t| [0.025 0.975]
Intercept 28.5661 7.355 3.884 0.000 13.753 43.379
pop15 -0.4612 0.145 -3.189 0.003 -0.753 -0.170
pop75 -1.6915 1.084 -1.561 0.126 -3.874 0.491
dpi -0.0003 0.001 -0.362 0.719 -0.002 0.002
ddpi 0.4097 0.196 2.088 0.042 0.015 0.805
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
Omnibus: 0.866 Durbin-Watson: 1.934
Prob(Omnibus): 0.649 Jarque-Bera (JB): 0.493
Skew: 0.241 Prob(JB): 0.782
Kurtosis: 3.064 Cond. No. 2.04e+04


Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
[2] The condition number is large, 2.04e+04. This might indicate that there are
strong multicollinearity or other numerical problems." ], "text/plain": [ "\n", "\"\"\"\n", " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: sr R-squared: 0.338\n", "Model: OLS Adj. R-squared: 0.280\n", "Method: Least Squares F-statistic: 5.756\n", "Date: Wed, 26 Sep 2018 Prob (F-statistic): 0.000790\n", "Time: 10:35:37 Log-Likelihood: -135.10\n", "No. Observations: 50 AIC: 280.2\n", "Df Residuals: 45 BIC: 289.8\n", "Df Model: 4 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "Intercept 28.5661 7.355 3.884 0.000 13.753 43.379\n", "pop15 -0.4612 0.145 -3.189 0.003 -0.753 -0.170\n", "pop75 -1.6915 1.084 -1.561 0.126 -3.874 0.491\n", "dpi -0.0003 0.001 -0.362 0.719 -0.002 0.002\n", "ddpi 0.4097 0.196 2.088 0.042 0.015 0.805\n", "==============================================================================\n", "Omnibus: 0.866 Durbin-Watson: 1.934\n", "Prob(Omnibus): 0.649 Jarque-Bera (JB): 0.493\n", "Skew: 0.241 Prob(JB): 0.782\n", "Kurtosis: 3.064 Cond. No. 2.04e+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, 2.04e+04. This might indicate that there are\n", "strong multicollinearity or other numerical problems.\n", "\"\"\"" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lmod = smf.ols(formula='sr ~ pop15 + pop75 + dpi + ddpi', data=savings).fit()\n", "lmod.summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Construct the Box-Cox plot:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "X = sm.add_constant(savings.iloc[:,1:])\n", "n = savings.shape[0]\n", "sumlogy = np.sum(np.log(savings.sr))\n", "lam = np.linspace(0.5,1.5,100)\n", "llk = np.empty(100)\n", "for i in range(0, 100):\n", " lmod = sm.OLS(sp.stats.boxcox(savings.sr,lam[i]),X).fit()\n", " llk[i] = -(n/2)*np.log(lmod.ssr/n) + (lam[i]-1)*sumlogy\n", "plt.plot(lam,llk)\n", "maxi = llk.argmax()\n", "plt.axvline(lam[maxi],linestyle = 'dashed')\n", "cicut = max(llk) - sp.stats.chi2.ppf(0.95,1)/2\n", "plt.axhline(cicut,linestyle = 'dashed')\n", "rlam = lam[llk > cicut]\n", "plt.axvline(rlam[0],linestyle = 'dashed')\n", "plt.axvline(rlam[-1],linestyle = 'dashed')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Repeat on the Galapagos data:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "gala = pd.read_csv(\"data/gala.csv\", index_col = 0)\n", "gala.drop('Endemics', axis=1, inplace=True)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "X = sm.add_constant(gala.iloc[:,1:])\n", "n = gala.shape[0]\n", "sumlogy = np.sum(np.log(gala.Species))\n", "lam = np.linspace(-0.25,0.75,100)\n", "llk = np.empty(100)\n", "for i in range(0, 100):\n", " lmod = sm.OLS(sp.stats.boxcox(gala.Species,lam[i]),X).fit()\n", " llk[i] = -(n/2)*np.log(lmod.ssr/n) + (lam[i]-1)*sumlogy\n", "plt.plot(lam,llk)\n", "maxi = llk.argmax()\n", "plt.axvline(lam[maxi],linestyle = 'dashed')\n", "cicut = max(llk) - sp.stats.chi2.ppf(0.95,1)/2\n", "plt.axhline(cicut,linestyle = 'dashed')\n", "rlam = lam[llk > cicut]\n", "plt.axvline(rlam[0],linestyle = 'dashed')\n", "plt.axvline(rlam[-1],linestyle = 'dashed')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Consider the logtrans family of transformations:" ] }, { "cell_type": "code", "execution_count": 7, "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", "
nitrogenchlorinepotassiumburntime
03.051.455.672.2
14.221.354.861.3
23.340.264.192.4
33.770.234.424.8
43.521.103.171.5
\n", "
" ], "text/plain": [ " nitrogen chlorine potassium burntime\n", "0 3.05 1.45 5.67 2.2\n", "1 4.22 1.35 4.86 1.3\n", "2 3.34 0.26 4.19 2.4\n", "3 3.77 0.23 4.42 4.8\n", "4 3.52 1.10 3.17 1.5" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "leafburn = pd.read_csv(\"data/leafburn.csv\")\n", "leafburn.head()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "X = sm.add_constant(leafburn.iloc[:,:-1])\n", "n = leafburn.shape[0]\n", "alpha = np.linspace(-0.999,0,100)\n", "llk = np.empty(100)\n", "for i in range(0, 100):\n", " lmod = sm.OLS(np.log(leafburn.burntime+alpha[i]),X).fit()\n", " llk[i] = -(n/2)*np.log(lmod.ssr) - np.sum(np.log(leafburn.burntime + alpha[i]))\n", "plt.plot(alpha,llk)\n", "maxi = llk.argmax()\n", "plt.axvline(alpha[maxi],linestyle = 'dashed')\n", "cicut = max(llk) - sp.stats.chi2.ppf(0.95,1)/2\n", "plt.axhline(cicut,linestyle = 'dashed')\n", "ralp = alpha[llk > cicut]\n", "plt.axvline(ralp[0],linestyle = 'dashed')\n", "plt.axvline(ralp[-1],linestyle = 'dashed')\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Broken stick regression" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "lmod1 = smf.ols(formula='sr ~ pop15', data=savings[savings.pop15 < 35]).fit()\n", "lmod2 = smf.ols(formula='sr ~ pop15', data=savings[savings.pop15 > 35]).fit()\n", "plt.scatter(savings.pop15, savings.sr)\n", "plt.xlabel('Population under 15')\n", "plt.ylabel('Savings rate')\n", "plt.axvline(35,linestyle='dashed')\n", "plt.plot([20,35],[lmod1.params[0]+lmod1.params[1]*20,lmod1.params[0]+lmod1.params[1]*35])\n", "plt.plot([35,48],[lmod2.params[0]+lmod2.params[1]*35,lmod2.params[0]+lmod2.params[1]*48])" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def lhs (x,c): return(np.where(x < c, c-x, 0))\n", "def rhs (x,c): return(np.where(x < c, 0, x-c))\n", "lmod = smf.ols(formula='sr ~ lhs(pop15,35) + rhs(pop15,35)', data=savings).fit()\n", "x = np.arange(20,49)\n", "py = lmod.params[0] + lmod.params[1]*lhs(x,35) + lmod.params[2]*rhs(x,35)\n", "plt.plot(x,py,linestyle='dotted')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Polynomials" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
OLS Regression Results
Dep. Variable: sr R-squared: 0.093
Model: OLS Adj. R-squared: 0.074
Method: Least Squares F-statistic: 4.916
Date: Wed, 26 Sep 2018 Prob (F-statistic): 0.0314
Time: 10:35:38 Log-Likelihood: -142.99
No. Observations: 50 AIC: 290.0
Df Residuals: 48 BIC: 293.8
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]
Intercept 7.8830 1.011 7.797 0.000 5.850 9.916
ddpi 0.4758 0.215 2.217 0.031 0.044 0.907
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
Omnibus: 1.302 Durbin-Watson: 1.912
Prob(Omnibus): 0.521 Jarque-Bera (JB): 1.097
Skew: -0.151 Prob(JB): 0.578
Kurtosis: 2.340 Cond. No. 8.04


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: sr R-squared: 0.093\n", "Model: OLS Adj. R-squared: 0.074\n", "Method: Least Squares F-statistic: 4.916\n", "Date: Wed, 26 Sep 2018 Prob (F-statistic): 0.0314\n", "Time: 10:35:38 Log-Likelihood: -142.99\n", "No. Observations: 50 AIC: 290.0\n", "Df Residuals: 48 BIC: 293.8\n", "Df Model: 1 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "Intercept 7.8830 1.011 7.797 0.000 5.850 9.916\n", "ddpi 0.4758 0.215 2.217 0.031 0.044 0.907\n", "==============================================================================\n", "Omnibus: 1.302 Durbin-Watson: 1.912\n", "Prob(Omnibus): 0.521 Jarque-Bera (JB): 1.097\n", "Skew: -0.151 Prob(JB): 0.578\n", "Kurtosis: 2.340 Cond. No. 8.04\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", "\"\"\"" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "smf.ols(formula='sr ~ ddpi', data=savings).fit().summary()" ] }, { "cell_type": "code", "execution_count": 12, "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: sr R-squared: 0.205
Model: OLS Adj. R-squared: 0.171
Method: Least Squares F-statistic: 6.059
Date: Wed, 26 Sep 2018 Prob (F-statistic): 0.00456
Time: 10:35:38 Log-Likelihood: -139.69
No. Observations: 50 AIC: 285.4
Df Residuals: 47 BIC: 291.1
Df Model: 2
Covariance Type: nonrobust
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
coef std err t P>|t| [0.025 0.975]
Intercept 5.1304 1.435 3.576 0.001 2.244 8.017
ddpi 1.7575 0.538 3.268 0.002 0.676 2.839
I(ddpi ** 2) -0.0930 0.036 -2.574 0.013 -0.166 -0.020
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
Omnibus: 1.319 Durbin-Watson: 2.002
Prob(Omnibus): 0.517 Jarque-Bera (JB): 1.271
Skew: -0.269 Prob(JB): 0.530
Kurtosis: 2.434 Cond. No. 126.


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: sr R-squared: 0.205\n", "Model: OLS Adj. R-squared: 0.171\n", "Method: Least Squares F-statistic: 6.059\n", "Date: Wed, 26 Sep 2018 Prob (F-statistic): 0.00456\n", "Time: 10:35:38 Log-Likelihood: -139.69\n", "No. Observations: 50 AIC: 285.4\n", "Df Residuals: 47 BIC: 291.1\n", "Df Model: 2 \n", "Covariance Type: nonrobust \n", "================================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "--------------------------------------------------------------------------------\n", "Intercept 5.1304 1.435 3.576 0.001 2.244 8.017\n", "ddpi 1.7575 0.538 3.268 0.002 0.676 2.839\n", "I(ddpi ** 2) -0.0930 0.036 -2.574 0.013 -0.166 -0.020\n", "==============================================================================\n", "Omnibus: 1.319 Durbin-Watson: 2.002\n", "Prob(Omnibus): 0.517 Jarque-Bera (JB): 1.271\n", "Skew: -0.269 Prob(JB): 0.530\n", "Kurtosis: 2.434 Cond. No. 126.\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", "\"\"\"" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "smf.ols(formula='sr ~ ddpi + I(ddpi**2)', data=savings).fit().summary()" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
OLS Regression Results
Dep. Variable: sr R-squared: 0.205
Model: OLS Adj. R-squared: 0.153
Method: Least Squares F-statistic: 3.953
Date: Wed, 26 Sep 2018 Prob (F-statistic): 0.0137
Time: 10:35:38 Log-Likelihood: -139.69
No. Observations: 50 AIC: 287.4
Df Residuals: 46 BIC: 295.0
Df Model: 3
Covariance Type: nonrobust
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
coef std err t P>|t| [0.025 0.975]
Intercept 5.1454 2.199 2.340 0.024 0.720 9.571
ddpi 1.7460 1.380 1.265 0.212 -1.033 4.525
I(ddpi ** 2) -0.0910 0.226 -0.403 0.689 -0.545 0.363
I(ddpi ** 3) -8.497e-05 0.009 -0.009 0.993 -0.019 0.019
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
Omnibus: 1.328 Durbin-Watson: 2.002
Prob(Omnibus): 0.515 Jarque-Bera (JB): 1.277
Skew: -0.270 Prob(JB): 0.528
Kurtosis: 2.433 Cond. No. 3.06e+03


Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
[2] The condition number is large, 3.06e+03. This might indicate that there are
strong multicollinearity or other numerical problems." ], "text/plain": [ "\n", "\"\"\"\n", " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: sr R-squared: 0.205\n", "Model: OLS Adj. R-squared: 0.153\n", "Method: Least Squares F-statistic: 3.953\n", "Date: Wed, 26 Sep 2018 Prob (F-statistic): 0.0137\n", "Time: 10:35:38 Log-Likelihood: -139.69\n", "No. Observations: 50 AIC: 287.4\n", "Df Residuals: 46 BIC: 295.0\n", "Df Model: 3 \n", "Covariance Type: nonrobust \n", "================================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "--------------------------------------------------------------------------------\n", "Intercept 5.1454 2.199 2.340 0.024 0.720 9.571\n", "ddpi 1.7460 1.380 1.265 0.212 -1.033 4.525\n", "I(ddpi ** 2) -0.0910 0.226 -0.403 0.689 -0.545 0.363\n", "I(ddpi ** 3) -8.497e-05 0.009 -0.009 0.993 -0.019 0.019\n", "==============================================================================\n", "Omnibus: 1.328 Durbin-Watson: 2.002\n", "Prob(Omnibus): 0.515 Jarque-Bera (JB): 1.277\n", "Skew: -0.270 Prob(JB): 0.528\n", "Kurtosis: 2.433 Cond. No. 3.06e+03\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, 3.06e+03. This might indicate that there are\n", "strong multicollinearity or other numerical problems.\n", "\"\"\"" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "smf.ols(formula='sr ~ ddpi + I(ddpi**2) + I(ddpi**3)', data=savings).fit().summary()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
OLS Regression Results
Dep. Variable: sr R-squared: 0.205
Model: OLS Adj. R-squared: 0.171
Method: Least Squares F-statistic: 6.059
Date: Wed, 26 Sep 2018 Prob (F-statistic): 0.00456
Time: 10:35:38 Log-Likelihood: -139.69
No. Observations: 50 AIC: 285.4
Df Residuals: 47 BIC: 291.1
Df Model: 2
Covariance Type: nonrobust
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
coef std err t P>|t| [0.025 0.975]
Intercept 13.4070 1.424 9.415 0.000 10.542 16.272
mddpi -0.1022 0.303 -0.338 0.737 -0.711 0.507
I(mddpi ** 2) -0.0930 0.036 -2.574 0.013 -0.166 -0.020
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
Omnibus: 1.319 Durbin-Watson: 2.002
Prob(Omnibus): 0.517 Jarque-Bera (JB): 1.271
Skew: -0.269 Prob(JB): 0.530
Kurtosis: 2.434 Cond. No. 132.


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: sr R-squared: 0.205\n", "Model: OLS Adj. R-squared: 0.171\n", "Method: Least Squares F-statistic: 6.059\n", "Date: Wed, 26 Sep 2018 Prob (F-statistic): 0.00456\n", "Time: 10:35:38 Log-Likelihood: -139.69\n", "No. Observations: 50 AIC: 285.4\n", "Df Residuals: 47 BIC: 291.1\n", "Df Model: 2 \n", "Covariance Type: nonrobust \n", "=================================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "---------------------------------------------------------------------------------\n", "Intercept 13.4070 1.424 9.415 0.000 10.542 16.272\n", "mddpi -0.1022 0.303 -0.338 0.737 -0.711 0.507\n", "I(mddpi ** 2) -0.0930 0.036 -2.574 0.013 -0.166 -0.020\n", "==============================================================================\n", "Omnibus: 1.319 Durbin-Watson: 2.002\n", "Prob(Omnibus): 0.517 Jarque-Bera (JB): 1.271\n", "Skew: -0.269 Prob(JB): 0.530\n", "Kurtosis: 2.434 Cond. No. 132.\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", "\"\"\"" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "savings['mddpi'] = savings.ddpi - 10\n", "smf.ols(formula='sr ~ mddpi + I(mddpi**2)', data=savings).fit().summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Unfortunately, the following is not orthogonal. Seems to require add on functions." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/anaconda/lib/python3.7/site-packages/sklearn/utils/__init__.py:4: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working\n", " from collections import Sequence\n" ] }, { "data": { "text/html": [ "\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
OLS Regression Results
Dep. Variable: sr R-squared: 0.218
Model: OLS Adj. R-squared: 0.149
Method: Least Squares F-statistic: 3.141
Date: Wed, 26 Sep 2018 Prob (F-statistic): 0.0232
Time: 10:35:38 Log-Likelihood: -139.27
No. Observations: 50 AIC: 288.5
Df Residuals: 45 BIC: 298.1
Df Model: 4
Covariance Type: nonrobust
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
coef std err t P>|t| [0.025 0.975]
const 6.9266 3.002 2.307 0.026 0.879 12.974
x1 -0.5322 2.952 -0.180 0.858 -6.478 5.413
x2 0.6762 0.907 0.746 0.460 -1.150 2.502
x3 -0.0869 0.100 -0.871 0.389 -0.288 0.114
x4 0.0029 0.003 0.874 0.387 -0.004 0.010
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
Omnibus: 1.187 Durbin-Watson: 1.973
Prob(Omnibus): 0.552 Jarque-Bera (JB): 1.218
Skew: -0.298 Prob(JB): 0.544
Kurtosis: 2.520 Cond. No. 8.07e+04


Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
[2] The condition number is large, 8.07e+04. This might indicate that there are
strong multicollinearity or other numerical problems." ], "text/plain": [ "\n", "\"\"\"\n", " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: sr R-squared: 0.218\n", "Model: OLS Adj. R-squared: 0.149\n", "Method: Least Squares F-statistic: 3.141\n", "Date: Wed, 26 Sep 2018 Prob (F-statistic): 0.0232\n", "Time: 10:35:38 Log-Likelihood: -139.27\n", "No. Observations: 50 AIC: 288.5\n", "Df Residuals: 45 BIC: 298.1\n", "Df Model: 4 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "const 6.9266 3.002 2.307 0.026 0.879 12.974\n", "x1 -0.5322 2.952 -0.180 0.858 -6.478 5.413\n", "x2 0.6762 0.907 0.746 0.460 -1.150 2.502\n", "x3 -0.0869 0.100 -0.871 0.389 -0.288 0.114\n", "x4 0.0029 0.003 0.874 0.387 -0.004 0.010\n", "==============================================================================\n", "Omnibus: 1.187 Durbin-Watson: 1.973\n", "Prob(Omnibus): 0.552 Jarque-Bera (JB): 1.218\n", "Skew: -0.298 Prob(JB): 0.544\n", "Kurtosis: 2.520 Cond. No. 8.07e+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, 8.07e+04. This might indicate that there are\n", "strong multicollinearity or other numerical problems.\n", "\"\"\"" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.preprocessing import PolynomialFeatures\n", "poly = PolynomialFeatures(4)\n", "Xp = poly.fit_transform(savings.ddpi.values.reshape(-1,1))\n", "sm.OLS(savings.sr,Xp).fit().summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that this does not match the R results (R is incorrect because of the orthogonal polynomial handling)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "poly = PolynomialFeatures(2)\n", "X = savings.iloc[:,[1,4]]\n", "Xp = poly.fit_transform(X)\n", "lmod = sm.OLS(savings.sr,Xp).fit()\n", "pop15r = np.array(list(np.arange(20,51,3))*11)\n", "ddpir = np.repeat(np.arange(0,21,2),11)\n", "X = np.stack((pop15r, ddpir),axis=1)\n", "Xp = poly.fit_transform(X)\n", "pv = np.dot(Xp,lmod.params)\n", "Xm = np.reshape(pop15r,(11,11))\n", "Ym = np.reshape(ddpir,(11,11))\n", "Zm = np.reshape(pv,(11,11))\n", "from mpl_toolkits.mplot3d import Axes3D\n", "fig = plt.figure()\n", "ax = fig.add_subplot(111, projection='3d')\n", "ax.plot_surface(Xm,Ym,Zm)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Splines\n", "\n", "Generate the example data" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def funky (x): return(np.sin(2*np.pi*x**3)**3)\n", "x = np.linspace(0., 1., 101)\n", "y = funky(x) + sp.stats.norm.rvs(0,0.1,101)\n", "plt.scatter(x,y)\n", "plt.plot(x, funky(x))\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "4th order polynomial fit" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "p = np.poly1d(np.polyfit(x,y,4))\n", "plt.scatter(x,y)\n", "plt.plot(x, funky(x))\n", "plt.plot(x,p(x))\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "12th order polynomial fit" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "p = np.poly1d(np.polyfit(x,y,12))\n", "plt.scatter(x,y)\n", "plt.plot(x, funky(x))\n", "plt.plot(x,p(x))\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Regression splines (choice of knots cheats by putting more knots near the point of inflexion)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import patsy \n", "df = pd.DataFrame(x,y)\n", "knots = [0,0.2,0.4,0.5,0.6,0.7,0.8,0.85,0.9,1]\n", "z = smf.ols(formula='y ~ 1 + patsy.bs(x,knots=knots)',data=df).fit()\n", "plt.scatter(x,y)\n", "plt.plot(x, z.fittedvalues)\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Smoothing splines as in R apparently not available in Python without specialized libraries" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Additive Models\n", "\n", "GAM is apparently not available in Python but we can implement a poor man's version:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import patsy\n", "gamod = smf.ols(formula = 'sr ~ patsy.bs(pop15,4) + patsy.bs(ddpi,4)', data=savings).fit()\n", "from mpl_toolkits.mplot3d import Axes3D\n", "fig = plt.figure()\n", "ax = fig.add_subplot(111, projection='3d')\n", "ax.scatter(savings.pop15,savings.ddpi,gamod.fittedvalues)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "application/json": { "Software versions": [ { "module": "Python", "version": "3.7.0 64bit [Clang 4.0.1 (tags/RELEASE_401/final)]" }, { "module": "IPython", "version": "6.5.0" }, { "module": "OS", "version": "Darwin 17.7.0 x86_64 i386 64bit" }, { "module": "pandas", "version": "0.23.4" }, { "module": "numpy", "version": "1.15.1" }, { "module": "matplotlib", "version": "2.2.3" }, { "module": "seaborn", "version": "0.9.0" }, { "module": "scipy", "version": "1.1.0" }, { "module": "patsy", "version": "0.5.0" }, { "module": "statsmodels", "version": "0.9.0" } ] }, "text/html": [ "
SoftwareVersion
Python3.7.0 64bit [Clang 4.0.1 (tags/RELEASE_401/final)]
IPython6.5.0
OSDarwin 17.7.0 x86_64 i386 64bit
pandas0.23.4
numpy1.15.1
matplotlib2.2.3
seaborn0.9.0
scipy1.1.0
patsy0.5.0
statsmodels0.9.0
Wed Sep 26 10:35:39 2018 BST
" ], "text/latex": [ "\\begin{tabular}{|l|l|}\\hline\n", "{\\bf Software} & {\\bf Version} \\\\ \\hline\\hline\n", "Python & 3.7.0 64bit [Clang 4.0.1 (tags/RELEASE\\_401/final)] \\\\ \\hline\n", "IPython & 6.5.0 \\\\ \\hline\n", "OS & Darwin 17.7.0 x86\\_64 i386 64bit \\\\ \\hline\n", "pandas & 0.23.4 \\\\ \\hline\n", "numpy & 1.15.1 \\\\ \\hline\n", "matplotlib & 2.2.3 \\\\ \\hline\n", "seaborn & 0.9.0 \\\\ \\hline\n", "scipy & 1.1.0 \\\\ \\hline\n", "patsy & 0.5.0 \\\\ \\hline\n", "statsmodels & 0.9.0 \\\\ \\hline\n", "\\hline \\multicolumn{2}{|l|}{Wed Sep 26 10:35:39 2018 BST} \\\\ \\hline\n", "\\end{tabular}\n" ], "text/plain": [ "Software versions\n", "Python 3.7.0 64bit [Clang 4.0.1 (tags/RELEASE_401/final)]\n", "IPython 6.5.0\n", "OS Darwin 17.7.0 x86_64 i386 64bit\n", "pandas 0.23.4\n", "numpy 1.15.1\n", "matplotlib 2.2.3\n", "seaborn 0.9.0\n", "scipy 1.1.0\n", "patsy 0.5.0\n", "statsmodels 0.9.0\n", "Wed Sep 26 10:35:39 2018 BST" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%load_ext version_information\n", "%version_information pandas, numpy, matplotlib, seaborn, scipy, patsy, statsmodels" ] } ], "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.7.0" } }, "nbformat": 4, "nbformat_minor": 2 }