{ "metadata": { "name": "predicting_with_regression" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "import pandas as pd\n", "import numpy as np\n", "import pandas.rpy.common as com" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 78 }, { "cell_type": "code", "collapsed": false, "input": [ "faithful = com.load_data('faithful')\n", "faithful.shape" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 10, "text": [ "(272, 2)" ] } ], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "%load_ext rmagic" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "%%R -o trainSamples\n", "set.seed(333)\n", "trainSamples <- sample(1:272,size=(272/2),replace=F)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 22 }, { "cell_type": "code", "collapsed": false, "input": [ "trainFaith = faithful.ix[trainSamples,:]\n", "testFaith = faithful.ix[faithful.index - trainSamples,:]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 31 }, { "cell_type": "code", "collapsed": false, "input": [ "trainFaith.head()" ], "language": "python", "metadata": {}, "outputs": [ { "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", "
eruptionswaiting
128 4.500 82
23 3.450 78
263 1.850 58
154 4.600 81
6 2.883 55
\n", "
" ], "output_type": "pyout", "prompt_number": 32, "text": [ " eruptions waiting\n", "128 4.500 82\n", "23 3.450 78\n", "263 1.850 58\n", "154 4.600 81\n", "6 2.883 55" ] } ], "prompt_number": 32 }, { "cell_type": "code", "collapsed": false, "input": [ "from statsmodels.formula.api import ols\n", "\n", "lm1 = ols('eruptions ~ waiting', trainFaith).fit()\n", "lm1.summary()" ], "language": "python", "metadata": {}, "outputs": [ { "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", "
OLS Regression Results
Dep. Variable: eruptions R-squared: 0.814
Model: OLS Adj. R-squared: 0.812
Method: Least Squares F-statistic: 584.8
Date: Thu, 28 Feb 2013 Prob (F-statistic): 1.02e-50
Time: 22:56:59 Log-Likelihood: -95.927
No. Observations: 136 AIC: 195.9
Df Residuals: 134 BIC: 201.7
Df Model: 1
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
coef std err t P>|t| [95.0% Conf. Int.]
Intercept -1.9249 0.229 -8.397 0.000 -2.378 -1.472
waiting 0.0764 0.003 24.182 0.000 0.070 0.083
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
Omnibus: 2.318 Durbin-Watson: 1.995
Prob(Omnibus): 0.314 Jarque-Bera (JB): 2.305
Skew: -0.310 Prob(JB): 0.316
Kurtosis: 2.850 Cond. No. 393.
" ], "output_type": "pyout", "prompt_number": 55, "text": [ "\n", "\"\"\"\n", " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: eruptions R-squared: 0.814\n", "Model: OLS Adj. R-squared: 0.812\n", "Method: Least Squares F-statistic: 584.8\n", "Date: Thu, 28 Feb 2013 Prob (F-statistic): 1.02e-50\n", "Time: 22:56:59 Log-Likelihood: -95.927\n", "No. Observations: 136 AIC: 195.9\n", "Df Residuals: 134 BIC: 201.7\n", "Df Model: 1 \n", "==============================================================================\n", " coef std err t P>|t| [95.0% Conf. Int.]\n", "------------------------------------------------------------------------------\n", "Intercept -1.9249 0.229 -8.397 0.000 -2.378 -1.472\n", "waiting 0.0764 0.003 24.182 0.000 0.070 0.083\n", "==============================================================================\n", "Omnibus: 2.318 Durbin-Watson: 1.995\n", "Prob(Omnibus): 0.314 Jarque-Bera (JB): 2.305\n", "Skew: -0.310 Prob(JB): 0.316\n", "Kurtosis: 2.850 Cond. No. 393.\n", "==============================================================================\n", "\"\"\"" ] } ], "prompt_number": 55 }, { "cell_type": "code", "collapsed": false, "input": [ "plot(trainFaith['waiting'], trainFaith['eruptions'], 'o')\n", "plot(trainFaith['waiting'], lm1.fittedvalues, 'k', linewidth=3)\n", "xlabel('Waiting')\n", "ylabel('Duration');" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n" } ], "prompt_number": 56 }, { "cell_type": "code", "collapsed": false, "input": [ "print lm1.params['Intercept'] + lm1.params['waiting'] * 80" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "4.18615649492\n" ] } ], "prompt_number": 85 }, { "cell_type": "code", "collapsed": false, "input": [ "print lm1.predict({'waiting' : [80]})" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[ 4.18615649]\n" ] } ], "prompt_number": 88 }, { "cell_type": "code", "collapsed": false, "input": [ "f, (ax1, ax2) = subplots(ncols=2)\n", "\n", "ax1.plot(trainFaith['waiting'], trainFaith['eruptions'], 'o')\n", "ax1.plot(trainFaith['waiting'], lm1.predict({'waiting' : trainFaith['waiting'].values}), 'k')\n", "ax1.set_xlabel('Waiting')\n", "ax1.set_ylabel('Duration')\n", "\n", "ax2.plot(testFaith['waiting'], testFaith['eruptions'], 'o')\n", "ax2.plot(testFaith['waiting'], lm1.predict({'waiting' : testFaith['waiting'].values}), 'k')\n", "ax2.set_xlabel('Waiting')\n", "ax2.set_ylabel('Duration')\n", "\n", "f.set_size_inches(8,3)\n", "f.tight_layout();" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nN8v1AwIAAAAASUVORK5CYII=\n" } ], "prompt_number": 77 }, { "cell_type": "code", "collapsed": false, "input": [ "# calculate RMSE on training\n", "print sqrt(sum((lm1.fittedvalues - trainFaith['eruptions']) ** 2))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "5.71292527997\n" ] } ], "prompt_number": 84 }, { "cell_type": "code", "collapsed": false, "input": [ "# calculate RMSE on test\n", "print sqrt(sum((lm1.predict({'waiting' : testFaith['waiting'].values}) - testFaith['eruptions']) ** 2))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "5.82715154245\n" ] } ], "prompt_number": 83 }, { "cell_type": "code", "collapsed": false, "input": [ "# no prediction interval" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 89 }, { "cell_type": "code", "collapsed": false, "input": [ "ravensData = pd.read_csv('../data/ravensData.csv')\n", "ravensData.head(6)" ], "language": "python", "metadata": {}, "outputs": [ { "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", "
ravenWinNumravenWinravenScoreopponentScore
0 1 W 24 9
1 1 W 38 35
2 1 W 28 13
3 1 W 34 31
4 1 W 44 13
5 0 L 23 24
\n", "
" ], "output_type": "pyout", "prompt_number": 102, "text": [ " ravenWinNum ravenWin ravenScore opponentScore\n", "0 1 W 24 9\n", "1 1 W 38 35\n", "2 1 W 28 13\n", "3 1 W 34 31\n", "4 1 W 44 13\n", "5 0 L 23 24" ] } ], "prompt_number": 102 }, { "cell_type": "code", "collapsed": false, "input": [ "from statsmodels.formula.api import glm\n", "from statsmodels.api import families as f\n", "\n", "glm1 = glm('ravenWinNum ~ ravenScore', ravensData, family=f.Binomial()).fit()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 105 }, { "cell_type": "code", "collapsed": false, "input": [ "df = pd.DataFrame({'pred' : glm1.predict(), 'ravenWinNum' : ravensData['ravenWinNum'].values})\n", "\n", "df.boxplot(by='ravenWinNum');" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n+dO7aEytAAAAAElFTkSuQmCC\n" } ], "prompt_number": 119 }, { "cell_type": "code", "collapsed": false, "input": [ "xx = np.linspace(0, 1, num=10)\n", "\n", "err = [sum( (df['pred'] > x) != df['ravenWinNum'] ) for x in xx]\n", "\n", "plot(xx, err, 'ok')\n", "xlabel('Cutoff')\n", "ylabel('Error');" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nOlVbtmzR0KFD1bt3b61Zs8bOEm0TyFg888wzOnv2rP++d48ePbrkp6cDGQtTBDIWycnJmjJlilJT\nU9WtWzfNnz9fI0eOjHDloRfIWCxZskS5ublKS0tTS0uLli9f3iW/bTgnJ0fl5eWqq6tTYmKiioqK\ndOnSJUmdmzdt/TI4AED0YEcwADAUAQAAhiIAAMBQBAAAGIoAgFFOnjyp2bNna+jQocrIyNC0adN0\n5MiRWx7/4osv6sKFC+2ed+PGjRo5cqQmTZokqfVdGyZ/MhV3Bt4FBGNYlqUJEyYoNzdXCxYskNT6\nQbtz587pK1/5yk1/T1JSkt59913179//tueeMmWKnnrqKT388MM6efKkMjMzbxssQDTgCgDG2L59\nuz73uc/5J39JSk1NVXNzs6ZPn+5v+9GPfqS1a9eqpKREJ06cUFZWlv9/9uvXr1dqaqpcLpcKCgok\nSc8884x27typxx9/XD//+c/l8Xh0/Phxpaen6x//+Ie9f0ggCF3va/OAW/jggw80duzYdo9zOBxy\nOBzKz8/Xr3/9a/l8PsXFxenEiRMqKChQZWWl7r33XmVnZ6u0tFS//OUvtX37dr3wwgsaM2aMfvjD\nH+qb3/xml97LAl0DVwAwRme/VLCiokJZWVnq37+/YmJiNHfuXO3YscP//JW7qdxVxZ2CAIAxRo0a\npb17997Q3r17d7W0tPh/fatF3yvfRHqFZVltQqUrfmstujYCAMb42te+pqamJr300kv+tn379smy\nLH344Ye6ePGi6uvr9fbbb/uf79Onj3/DkQcffFDl5eU6ffq0Ll++rA0bNmjixIm2/zmAUCEAYJTN\nmzdr27ZtGjp0qFJSUrR06VIlJCToO9/5jlJSUjRr1iyNGTPGf/yCBQs0ZcoUTZo0SQkJCSouLlZW\nVpZGjx6tjIyMNovH1+JqAHcC3gYKAIbiCgAADEUAAIChCAAAMBQBAACGIgAAwFAEAAAY6v8Asi7y\ncCAZQPsAAAAASUVORK5CYII=\n" } ], "prompt_number": 132 }, { "cell_type": "code", "collapsed": false, "input": [ "def cost(win, pred=0):\n", " return np.mean(np.abs(win - pred) > 0.5)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 138 }, { "cell_type": "code", "collapsed": false, "input": [ "# ???? is this correct?\n", "\n", "from sklearn.cross_validation import KFold\n", "\n", "kf = KFold(len(ravensData), n_folds=3, indices=False)\n", "\n", "cv1train = []\n", "cv1test = []\n", "cv2train = []\n", "cv2test = []\n", "\n", "for train, test in kf:\n", " glm1 = glm('ravenWinNum ~ ravenScore', ravensData[train], family=f.Binomial()).fit()\n", " glm2 = glm('ravenWinNum ~ ravenScore', ravensData[train], family=f.Gaussian()).fit()\n", " \n", " cv1train.append( cost(ravensData[train]['ravenWinNum'], glm1.predict()) )\n", " cv2train.append( cost(ravensData[train]['ravenWinNum'], glm2.predict()) )\n", " \n", " cv1test.append( cost(ravensData[test]['ravenWinNum'], glm1.predict(ravensData[test])) )\n", " cv2test.append( cost(ravensData[test]['ravenWinNum'], glm2.predict(ravensData[test])) )" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 161 }, { "cell_type": "code", "collapsed": false, "input": [ "zip( cv1train, cv1test )" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 176, "text": [ "[(0.42857142857142855, 0.16666666666666666),\n", " (0.2857142857142857, 0.16666666666666666),\n", " (0.25, 0.5)]" ] } ], "prompt_number": 176 }, { "cell_type": "code", "collapsed": false, "input": [ "np.mean(cv2train), np.mean(cv2test)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 163, "text": [ "(0.29365079365079361, 0.27777777777777773)" ] } ], "prompt_number": 163 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }