{ "metadata": { "name": "reinhart-rogoff" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Reinhart-Rogoff replication\n", "\n", "* Replication of Reinhart-Rogoff \"Growth in a Time of Debt.\"\n", "* Python port of R code by Thomas Herndon | Michael Ash | Robert Pollin\n", "* http://www.peri.umass.edu/236/hash/31e2ff374b6377b2ddec04deaa6388b1/publication/566/\n", "* Author: Vincent Arel-Bundock varel@umich.edu\n", "* Data: https://gist.github.com/vincentarelbundock/5409893/raw/a623f2f3bae027a0e51dd01ac5b70d44d909a7b9/RR-processed.csv" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import statsmodels.api as sm\n", "import patsy\n", "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "RR = pd.read_csv('RR-processed.csv')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Number of observations per country" ] }, { "cell_type": "code", "collapsed": false, "input": [ "RR.groupby('Country').size()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 3, "text": [ "Country\n", "Australia 64\n", "Austria 62\n", "Belgium 63\n", "Canada 64\n", "Denmark 56\n", "Finland 64\n", "France 54\n", "Germany 59\n", "Greece 40\n", "Ireland 63\n", "Italy 59\n", "Japan 54\n", "Netherlands 53\n", "New Zealand 64\n", "Norway 64\n", "Portugal 58\n", "Spain 42\n", "Sweden 64\n", "UK 64\n", "US 64" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Bins" ] }, { "cell_type": "code", "collapsed": false, "input": [ "bins = [\"0-30%\",\"30-60%\",\"60-90%\",\"Above 90%\"]\n", "RR['dgcat'] = np.digitize(RR.debtgdp, [0,30,60,90,np.inf]) - 1\n", "RR.dgcat = [bins[x] for x in RR.dgcat]\n", "\n", "bins = [\"0-30%\",\"30-60%\",\"60-90%\",\"90-120%\",\"Above 120%\"]\n", "RR['dgcat2'] = np.digitize(RR.debtgdp, [0,30,60,90,120,np.inf]) - 1\n", "RR.dgcat2 = [bins[x] for x in RR.dgcat2]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Regression analysis " ] }, { "cell_type": "code", "collapsed": false, "input": [ "y,X = patsy.dmatrices('dRGDP ~ dgcat', data=RR[['dRGDP', 'dgcat']].dropna())\n", "print sm.OLS(y,X).fit().summary()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: dRGDP R-squared: 0.045\n", "Model: OLS Adj. R-squared: 0.042\n", "Method: Least Squares F-statistic: 18.36\n", "Date: Thu, 18 Apr 2013 Prob (F-statistic): 1.22e-11\n", "Time: 21:14:59 Log-Likelihood: -2927.9\n", "No. Observations: 1175 AIC: 5864.\n", "Df Residuals: 1171 BIC: 5884.\n", "Df Model: 3 \n", "======================================================================================\n", " coef std err t P>|t| [95.0% Conf. Int.]\n", "--------------------------------------------------------------------------------------\n", "Intercept 4.1735 0.142 29.413 0.000 3.895 4.452\n", "dgcat[T.30-60%] -1.0814 0.199 -5.429 0.000 -1.472 -0.691\n", "dgcat[T.60-90%] -0.9869 0.251 -3.931 0.000 -1.479 -0.494\n", "dgcat[T.Above 90%] -2.0056 0.313 -6.403 0.000 -2.620 -1.391\n", "==============================================================================\n", "Omnibus: 208.322 Durbin-Watson: 1.385\n", "Prob(Omnibus): 0.000 Jarque-Bera (JB): 1757.480\n", "Skew: 0.558 Prob(JB): 0.00\n", "Kurtosis: 8.887 Cond. No. 4.57\n", "==============================================================================\n" ] } ], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "y2,X2 = patsy.dmatrices('dRGDP ~ dgcat2', data=RR[['dRGDP', 'dgcat2']].dropna())\n", "print sm.OLS(y2,X2).fit().summary()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: dRGDP R-squared: 0.046\n", "Model: OLS Adj. R-squared: 0.043\n", "Method: Least Squares F-statistic: 14.24\n", "Date: Thu, 18 Apr 2013 Prob (F-statistic): 2.36e-11\n", "Time: 21:14:59 Log-Likelihood: -2926.9\n", "No. Observations: 1175 AIC: 5864.\n", "Df Residuals: 1170 BIC: 5889.\n", "Df Model: 4 \n", "========================================================================================\n", " coef std err t P>|t| [95.0% Conf. Int.]\n", "----------------------------------------------------------------------------------------\n", "Intercept 4.1735 0.142 29.423 0.000 3.895 4.452\n", "dgcat2[T.30-60%] -1.0814 0.199 -5.431 0.000 -1.472 -0.691\n", "dgcat2[T.60-90%] -0.9869 0.251 -3.933 0.000 -1.479 -0.495\n", "dgcat2[T.90-120%] -1.7676 0.359 -4.929 0.000 -2.471 -1.064\n", "dgcat2[T.Above 120%] -2.6120 0.545 -4.796 0.000 -3.680 -1.543\n", "==============================================================================\n", "Omnibus: 210.356 Durbin-Watson: 1.388\n", "Prob(Omnibus): 0.000 Jarque-Bera (JB): 1756.317\n", "Skew: 0.570 Prob(JB): 0.00\n", "Kurtosis: 8.880 Cond. No. 7.10\n", "==============================================================================\n" ] } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Table 3 Corrected" ] }, { "cell_type": "code", "collapsed": false, "input": [ "## Country-Year average by debtgdp (\"correct weights\")\n", "RR.dRGDP.groupby(RR.dgcat).mean()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 7, "text": [ "dgcat\n", "0-30% 4.173523\n", "30-60% 3.092145\n", "60-90% 3.186575\n", "Above 90% 2.167972" ] } ], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "## Averaged Country averages by debtgdp (\"equal weights\")\n", "RR.dRGDP.groupby([RR.Country, RR.dgcat]).mean().unstack()" ], "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
dgcat0-30%30-60%60-90%Above 90%
Country
Australia 3.205885 4.947205 4.042175 3.774250
Austria 5.207527 3.256526 -3.824000 NaN
Belgium NaN 4.191655 3.079868 2.566828
Canada 2.515704 3.525446 4.523574 2.956640
Denmark 3.518584 1.700034 2.391147 NaN
Finland 3.817029 2.418535 5.488887 NaN
France 5.058476 2.616159 3.019631 NaN
Germany 3.873759 0.875803 NaN NaN
Greece 4.001282 0.340200 2.696000 2.910632
Ireland 4.209251 4.452167 3.950139 2.428571
Italy 5.352632 2.054284 1.771529 1.028900
Japan 7.331001 3.957143 1.008411 0.687258
Netherlands 4.082614 2.620772 1.070436 NaN
New Zealand 2.465556 2.889572 3.883683 2.574727
Norway 3.400122 5.108289 10.201270 NaN
Portugal 4.451419 3.549482 1.893899 NaN
Spain 1.549332 3.398669 4.156250 NaN
Sweden 3.567385 2.932237 2.665824 NaN
UK NaN 2.231213 2.522133 2.399096
US NaN 3.370208 3.264068-1.988893
\n", "
" ], "output_type": "pyout", "prompt_number": 8, "text": [ "dgcat 0-30% 30-60% 60-90% Above 90%\n", "Country \n", "Australia 3.205885 4.947205 4.042175 3.774250\n", "Austria 5.207527 3.256526 -3.824000 NaN\n", "Belgium NaN 4.191655 3.079868 2.566828\n", "Canada 2.515704 3.525446 4.523574 2.956640\n", "Denmark 3.518584 1.700034 2.391147 NaN\n", "Finland 3.817029 2.418535 5.488887 NaN\n", "France 5.058476 2.616159 3.019631 NaN\n", "Germany 3.873759 0.875803 NaN NaN\n", "Greece 4.001282 0.340200 2.696000 2.910632\n", "Ireland 4.209251 4.452167 3.950139 2.428571\n", "Italy 5.352632 2.054284 1.771529 1.028900\n", "Japan 7.331001 3.957143 1.008411 0.687258\n", "Netherlands 4.082614 2.620772 1.070436 NaN\n", "New Zealand 2.465556 2.889572 3.883683 2.574727\n", "Norway 3.400122 5.108289 10.201270 NaN\n", "Portugal 4.451419 3.549482 1.893899 NaN\n", "Spain 1.549332 3.398669 4.156250 NaN\n", "Sweden 3.567385 2.932237 2.665824 NaN\n", "UK NaN 2.231213 2.522133 2.399096\n", "US NaN 3.370208 3.264068 -1.988893" ] } ], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "## Country-Year average by debtgdp (\"correct weights\") expanded categories\n", "RR.dRGDP.groupby(RR.dgcat2).mean()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 9, "text": [ "dgcat2\n", "0-30% 4.173523\n", "30-60% 3.092145\n", "60-90% 3.186575\n", "90-120% 2.405934\n", "Above 120% 1.561553" ] } ], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "## Averaged Country averages by debtgdp (\"equal weights\")\n", "RR.dRGDP.groupby([RR.Country, RR.dgcat2]).mean().unstack()" ], "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
dgcat20-30%30-60%60-90%90-120%Above 120%
Country
Australia 3.205885 4.947205 4.042175 6.920201 2.987763
Austria 5.207527 3.256526 -3.824000 NaN NaN
Belgium NaN 4.191655 3.079868 2.702629 -0.692378
Canada 2.515704 3.525446 4.523574 4.544839 0.574341
Denmark 3.518584 1.700034 2.391147 NaN NaN
Finland 3.817029 2.418535 5.488887 NaN NaN
France 5.058476 2.616159 3.019631 NaN NaN
Germany 3.873759 0.875803 NaN NaN NaN
Greece 4.001282 0.340200 2.696000 2.910632 NaN
Ireland 4.209251 4.452167 3.950139 2.428571 NaN
Italy 5.352632 2.054284 1.771529 1.028900 NaN
Japan 7.331001 3.957143 1.008411 1.359564 0.537857
Netherlands 4.082614 2.620772 1.070436 NaN NaN
New Zealand 2.465556 2.889572 3.883683-2.256588 9.821699
Norway 3.400122 5.108289 10.201270 NaN NaN
Portugal 4.451419 3.549482 1.893899 NaN NaN
Spain 1.549332 3.398669 4.156250 NaN NaN
Sweden 3.567385 2.932237 2.665824 NaN NaN
UK NaN 2.231213 2.522133 3.303428 1.871568
US NaN 3.370208 3.264068 0.995529-10.942159
\n", "
" ], "output_type": "pyout", "prompt_number": 10, "text": [ "dgcat2 0-30% 30-60% 60-90% 90-120% Above 120%\n", "Country \n", "Australia 3.205885 4.947205 4.042175 6.920201 2.987763\n", "Austria 5.207527 3.256526 -3.824000 NaN NaN\n", "Belgium NaN 4.191655 3.079868 2.702629 -0.692378\n", "Canada 2.515704 3.525446 4.523574 4.544839 0.574341\n", "Denmark 3.518584 1.700034 2.391147 NaN NaN\n", "Finland 3.817029 2.418535 5.488887 NaN NaN\n", "France 5.058476 2.616159 3.019631 NaN NaN\n", "Germany 3.873759 0.875803 NaN NaN NaN\n", "Greece 4.001282 0.340200 2.696000 2.910632 NaN\n", "Ireland 4.209251 4.452167 3.950139 2.428571 NaN\n", "Italy 5.352632 2.054284 1.771529 1.028900 NaN\n", "Japan 7.331001 3.957143 1.008411 1.359564 0.537857\n", "Netherlands 4.082614 2.620772 1.070436 NaN NaN\n", "New Zealand 2.465556 2.889572 3.883683 -2.256588 9.821699\n", "Norway 3.400122 5.108289 10.201270 NaN NaN\n", "Portugal 4.451419 3.549482 1.893899 NaN NaN\n", "Spain 1.549332 3.398669 4.156250 NaN NaN\n", "Sweden 3.567385 2.932237 2.665824 NaN NaN\n", "UK NaN 2.231213 2.522133 3.303428 1.871568\n", "US NaN 3.370208 3.264068 0.995529 -10.942159" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Selective treatment of early years" ] }, { "cell_type": "code", "collapsed": false, "input": [ "idx = (RR.Country == 'New Zealand') & (RR.Year < 1950) | (RR.Country == 'Australia') & (RR.Year < 1951) | (RR.Country == 'Canada') & (RR.Year < 1951) \n", "RR_selective = RR[idx == False]\n", "RR_selective.dRGDP.groupby(RR_selective.dgcat).mean()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 11, "text": [ "dgcat\n", "0-30% 4.173523\n", "30-60% 3.092145\n", "60-90% 3.186575\n", "Above 90% 1.919934" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Equal weights\n", "## Table 3 Weights,Exclusion" ] }, { "cell_type": "code", "collapsed": false, "input": [ "RR_selective.mean()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 12, "text": [ "Unnamed: 0 5.916408e+02\n", "Year 1.979633e+03\n", "Debt 1.621458e+07\n", "RGDP 2.369173e+05\n", "GDP 1.957611e+05\n", "dRGDP 3.408270e+00\n", "GDPI 5.034180e+01\n", "GDP1 1.470725e+07\n", "GDP2 1.824865e+07\n", "RGDP1 1.425590e+07\n", "RGDP2 3.072470e+07\n", "GDPI1 5.589542e+02\n", "GDPI2 8.690705e+01\n", "Infl 5.632643e+00\n", "Debt1 5.625405e+05\n", "Debt2 1.050730e+05\n", "Debtalt 1.006665e+07\n", "GDP2alt 4.450790e+05\n", "GDPalt 2.079659e+06\n", "RGDP2alt 1.033331e+05\n", "debtgdp 4.530375e+01\n", "GDP3 7.689113e+04\n", "GNI 5.156239e+08\n", "lRGDP 2.351587e+05\n", "lRGDP1 1.405853e+07\n", "lRGDP2 3.047113e+07" ] } ], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Correct weights\n", "## Table 3 Selective years exclusion" ] }, { "cell_type": "code", "collapsed": false, "input": [ "RR_selective.dRGDP.groupby([RR_selective.Country, RR_selective.dgcat]).mean().unstack()" ], "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
dgcat0-30%30-60%60-90%Above 90%
Country
Australia 3.205885 4.947205 4.042175 NaN
Austria 5.207527 3.256526 -3.824000 NaN
Belgium NaN 4.191655 3.079868 2.566828
Canada 2.515704 3.525446 4.523574 NaN
Denmark 3.518584 1.700034 2.391147 NaN
Finland 3.817029 2.418535 5.488887 NaN
France 5.058476 2.616159 3.019631 NaN
Germany 3.873759 0.875803 NaN NaN
Greece 4.001282 0.340200 2.696000 2.910632
Ireland 4.209251 4.452167 3.950139 2.428571
Italy 5.352632 2.054284 1.771529 1.028900
Japan 7.331001 3.957143 1.008411 0.687258
Netherlands 4.082614 2.620772 1.070436 NaN
New Zealand 2.465556 2.889572 3.883683-7.635102
Norway 3.400122 5.108289 10.201270 NaN
Portugal 4.451419 3.549482 1.893899 NaN
Spain 1.549332 3.398669 4.156250 NaN
Sweden 3.567385 2.932237 2.665824 NaN
UK NaN 2.231213 2.522133 2.399096
US NaN 3.370208 3.264068-1.988893
\n", "
" ], "output_type": "pyout", "prompt_number": 13, "text": [ "dgcat 0-30% 30-60% 60-90% Above 90%\n", "Country \n", "Australia 3.205885 4.947205 4.042175 NaN\n", "Austria 5.207527 3.256526 -3.824000 NaN\n", "Belgium NaN 4.191655 3.079868 2.566828\n", "Canada 2.515704 3.525446 4.523574 NaN\n", "Denmark 3.518584 1.700034 2.391147 NaN\n", "Finland 3.817029 2.418535 5.488887 NaN\n", "France 5.058476 2.616159 3.019631 NaN\n", "Germany 3.873759 0.875803 NaN NaN\n", "Greece 4.001282 0.340200 2.696000 2.910632\n", "Ireland 4.209251 4.452167 3.950139 2.428571\n", "Italy 5.352632 2.054284 1.771529 1.028900\n", "Japan 7.331001 3.957143 1.008411 0.687258\n", "Netherlands 4.082614 2.620772 1.070436 NaN\n", "New Zealand 2.465556 2.889572 3.883683 -7.635102\n", "Norway 3.400122 5.108289 10.201270 NaN\n", "Portugal 4.451419 3.549482 1.893899 NaN\n", "Spain 1.549332 3.398669 4.156250 NaN\n", "Sweden 3.567385 2.932237 2.665824 NaN\n", "UK NaN 2.231213 2.522133 2.399096\n", "US NaN 3.370208 3.264068 -1.988893" ] } ], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## And dropping because of spreadsheet error" ] }, { "cell_type": "code", "collapsed": false, "input": [ "drop = [\"Australia\",\"Austria\",\"Belgium\",\"Canada\",\"Denmark\"]\n", "idx = [False if x in drop else True for x in RR_selective.Country]\n", "RR_selective_spreadsheet = RR_selective[idx]\n", "RR_selective_spreadsheet.dRGDP.groupby(RR.dgcat).mean()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 14, "text": [ "dgcat\n", "0-30% 4.236391\n", "30-60% 2.958902\n", "60-90% 3.160164\n", "Above 90% 1.692155" ] } ], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## New Zealand transcription error" ] }, { "cell_type": "code", "collapsed": false, "input": [ "RR_selective_spreadsheet_transcription = RR_selective_spreadsheet.copy()\n", "RR_selective_spreadsheet_transcription.RGDP[RR_selective_spreadsheet_transcription.Country=='New Zealand'] = -7.9\n", "RR_selective_spreadsheet_transcription.dRGDP.groupby(RR.dgcat).mean()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 15, "text": [ "dgcat\n", "0-30% 4.236391\n", "30-60% 2.958902\n", "60-90% 3.160164\n", "Above 90% 1.692155" ] } ], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [ "a = RR_selective_spreadsheet_transcription.Country\n", "b = RR_selective_spreadsheet_transcription.dgcat\n", "RR_selective_spreadsheet_transcription.dRGDP.groupby(b).mean()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 16, "text": [ "dgcat\n", "0-30% 4.236391\n", "30-60% 2.958902\n", "60-90% 3.160164\n", "Above 90% 1.692155" ] } ], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": [ "published_means = RR_selective_spreadsheet_transcription.dRGDP.groupby([a,b]).mean().unstack()\n", "published_means.ix['New Zealand', 'Above 90%'] = -7.9\n", "published_means.mean()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 17, "text": [ "dgcat\n", "0-30% 4.089220\n", "30-60% 2.854316\n", "60-90% 3.399440\n", "Above 90% -0.062062" ] } ], "prompt_number": 17 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Medians" ] }, { "cell_type": "code", "collapsed": false, "input": [ "RR.dRGDP.groupby(RR.dgcat).median() # Correct, equal weight" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 18, "text": [ "dgcat\n", "0-30% 4.145376\n", "30-60% 3.104629\n", "60-90% 2.897829\n", "Above 90% 2.335324" ] } ], "prompt_number": 18 }, { "cell_type": "code", "collapsed": false, "input": [ "RR.dRGDP.groupby(RR.dgcat2).median() # Correct, expanded categories, equal weight" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 19, "text": [ "dgcat2\n", "0-30% 4.145376\n", "30-60% 3.104629\n", "60-90% 2.897829\n", "90-120% 2.373340\n", "Above 120% 2.039469" ] } ], "prompt_number": 19 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Counts of years" ] }, { "cell_type": "code", "collapsed": false, "input": [ "RR.Country.groupby([RR.Country, RR.dgcat]).size().unstack().sum()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 20, "text": [ "dgcat\n", "0-30% 426\n", "30-60% 439\n", "60-90% 200\n", "Above 90% 110" ] } ], "prompt_number": 20 }, { "cell_type": "code", "collapsed": false, "input": [ "RR_selective.Country.groupby([RR.Country, RR.dgcat]).size().unstack().sum()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 21, "text": [ "dgcat\n", "0-30% 426\n", "30-60% 439\n", "60-90% 200\n", "Above 90% 96" ] } ], "prompt_number": 21 }, { "cell_type": "code", "collapsed": false, "input": [ "RR_selective_spreadsheet.Country.groupby([RR.Country, RR.dgcat]).size().unstack().sum()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 22, "text": [ "dgcat\n", "0-30% 329\n", "30-60% 324\n", "60-90% 138\n", "Above 90% 71" ] } ], "prompt_number": 22 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Categorical scatterplot" ] }, { "cell_type": "code", "collapsed": false, "input": [ "labels = [\"0-30%\",\"30-60%\",\"60-90%\",\"Above 90%\"]\n", "dat = [np.array(RR.dRGDP[RR.dgcat==x]) for x in labels]\n", "print sm.graphics.violinplot(dat, labels=labels)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Figure(480x320)\n" ] }, { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 23 }, { "cell_type": "code", "collapsed": false, "input": [ "labels = [\"0-30%\",\"30-60%\",\"60-90%\",\"90-120%\",\"Above 120%\"]\n", "dat = [np.array(RR.dRGDP[RR.dgcat2==x]) for x in labels]\n", "print sm.graphics.violinplot(dat, labels=labels)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Figure(480x320)\n" ] }, { "output_type": "display_data", "png": "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\nt5KScpThw+0ZNOj+TVFaytArt6qqGhISMrlyxYqRI2cxYcLkVg1LbIvc3Fy2bv2G27dPMWqUM35+\nbuzaFcC+fQMYNuxmm5/3lVfm8Oc/G7aJjINDNbNmJVJToyUhIZNLlyTGjVtIRESkUZZaPnToAAkJ\n/yE6uvH1WrZuDeTtt6fw1FPHWLz4dIPln/Z04UJ3vvhiNIcP9+XYsQ+wtm64tX77dik7d1bwwgt/\naXCjFEUSularZeDAgezZswcfHx9GjBjBN998wwMPPNCioFqrdt/RbdtW4+mZS3h4rxZt7tCa9Y0r\nKqrZty+Nykpf5sxZ1qaRGh2hoKCA9etXU12dwOTJvVu8nG5rk1hRUQU7d2bSv/8MZs6cZ/SWZ1vd\nvHmT7dvXUVqayLhxHm3ajaatCb129yL9zj2TiYqa1aEbPMiyzJUrV9ix4xusrJIZPbr5HYmaY4x9\nd3U6maSkHE6frqR//wimTInGzc3NoOe8m1ar5fPPV+LsfIGwsIaHOP/rX2PIze3Ca6/9YLTXbYuB\nA3/P+fPvNrgqbEVFNZs2pREd/SKBgQ0vLKjIjkUnTpygX79++Pn5AbB48WK2bt1al9CNTZIkAgMD\nGTDgbbZv38yGDTuYOrXpjYCBFifzzMwi9uzJZ+TIh5g8eZpJ73jv6urKk0/+hu3bt7Bp0xZmzjT+\nrixZWcX88EMBU6b8wqB1WdpD7969+cUvXuT8+fNs3/4VXl4pjBvXs93Xic/LKyMuLgcHhyE8+eQj\nily5SZLEoEGD6N//j5w+fYrdu9fh4ZFCWJhXm8pwhtJfQedz4kQxbm7BPPbYg+1SmrSysuLhh5/m\nn/98F3v7LIKD276WvVKqqmrYtu0mI0Y83Ggyb4l2eZdnZGTU+8P17NmT48eP13vMihUr6r6OiIgg\nIiLC4NetHRGTkNCf77//hMjI6ganAbfGtWu3iY+XWbToNQYOHGhwjB3BysqK6OgFuLt7EhPzb2bO\n9G62vtjSpXdv3ixg//4KFi9+xWSPh369lGAGDnybH37YzrffxjBhggu+vsZrFdaSZZnTpzO5dEnN\ntGm/ZsSIkYqf4KysrBg5chQhIUM5fPggmzdvoF+/24wY0aPDNkC5fbuUI0duodP1Ye7cX7f7Bh9d\nunThqaf+l3/968/odJkMHdp5lkSoqKhm27abDBo0j6ioafW+FxcXR1xcXIufq13+ui35w92d0I0t\n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\n4hJsYoLkBRmBHVK5CAKyl/fvD4bzAwlc/KaFs68Z/tjnPOdzPu9nznn2nH2eD2fpUnZ2dpIkq6qq\n6OPjw8DAQN68eZMk2dbWxsDAwCcjykhG0jaSrr/jwIEDlMvldHZ25qZNmwR7ZmYmXV1dKZPJWFxc\nTJLU6/V86623KJfLefjwYcE3Li6OVVVVj0ml8XR1dTE6OppSqZSzZ89maWmp0bH4448/KJfLKZFI\n+Oabb7K7u1vYNh5isWvXLtrZ2dHJyYn79u0jafx5kJubSycnJ5qZmfG3334T7L/88gvlcjldXV0Z\nEREhaCfJmpoaenl50dXVlVu2bBHsOTk5lMvljImJEWzFxcVMTEz8x7Tm5eVxwoQJvHz5smBTKpUM\nDQ39x47xMHbt2kWxWMwJEybwzp07gj0nJ4dubm50c3NjVFQUL168KGwbKVd9/vnnlEql3Lx5s2DL\nzs5mRkbGmOY07hO6TqejWCxmfX09+/r66O7uzpqammF+9+7dI0n29vbS2dmZV65cIUlu3LiRn332\nGUlyx44d/Oijj0j2X5RXrlzhqVOnuH37dpLkBx98wLNnzz4JWWPiQW1//vnniLoe5MyZM3zllVfY\n19dHkvzrr79IkpcuXaK7uzv7+vpYX19PsVhMvV7Pc+fOccuWLdTpdAwICCBJ/v7771yzZs3jlmkU\n0dHR/Oabb0iSWq2W7e3tRsciKipK6Nbavn07t27dSnJ8xKK9vZ0ODg5sbW1lZ2cnPT09efXqVaO1\n19bWsq6ujosWLWJlZaVgV6vV1Gg0JPuTkY2NjbDN09OTZWVlJMng4GD+/PPPJEl/f3/q9XomJSXx\n119/pcFgYFBQENva2v4xvW+88QbDwsL48ccfC7YnndDVajVv3LhBW1vbIQm9pKSE7e3tJEmFQsE5\nc+aQHDlX9fb2MigoiCS5cuVKajQadnd309/fnzqdbkxzGvdL/8vLyyGRSGBrawsLCwtERkYiPz9/\nmN8zzzwDAOjq6oJOp4OlpSUAoKCgADExMQCAmJgYnDhxAgBgaWmJu3fv4u7du7CyssK1a9fQ2NgI\nHx+fJ6TMeAZr0+v1sLS0HFHXg+zZswdJSUmwsLAAAEybNg3AyOsJrKys0NnZiZ6eHqF7KSUlBamp\nqY9b5kPp6OhAcXExVq9eDQAwNzfHlClTjI5FUVGR0L0VHh6OY8eOARgfsSgpKYGHhweee+45PPvs\n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\n", "text": [ "" ] } ], "prompt_number": 24 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Country-Year average by debtgdp for more recent samples\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "years = range(1950, 2001, 10)\n", "f = lambda x: (x, RR[RR.Year >= x].dRGDP.groupby(RR[RR.Year >= x].dgcat).mean())\n", "[f(x) for x in years]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 25, "text": [ "[(1950,\n", " dgcat\n", "0-30% 4.135295\n", "30-60% 2.980839\n", "60-90% 3.100982\n", "Above 90% 2.121852),\n", " (1960,\n", " dgcat\n", "0-30% 3.895619\n", "30-60% 2.909601\n", "60-90% 2.779663\n", "Above 90% 2.074064),\n", " (1970,\n", " dgcat\n", "0-30% 3.145224\n", "30-60% 2.644951\n", "60-90% 2.559289\n", "Above 90% 1.959229),\n", " (1980,\n", " dgcat\n", "0-30% 2.541408\n", "30-60% 2.451346\n", "60-90% 2.435681\n", "Above 90% 1.959229),\n", " (1990,\n", " dgcat\n", "0-30% 2.669334\n", "30-60% 2.403622\n", "60-90% 2.457587\n", "Above 90% 1.823201),\n", " (2000,\n", " dgcat\n", "0-30% 2.747593\n", "30-60% 1.881735\n", "60-90% 1.290506\n", "Above 90% 1.745087)]" ] } ], "prompt_number": 25 }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Lagged dependent variable" ] }, { "cell_type": "code", "collapsed": false, "input": [ "RR['dRGDP_lag'] = RR.dRGDP.groupby(RR.Country).apply(lambda x: x.shift())\n", "y,X = patsy.dmatrices('dRGDP ~ dgcat + dRGDP_lag', data=RR[['dRGDP', 'dgcat', 'dRGDP_lag']].dropna())\n", "print sm.OLS(y,X).fit().summary()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: dRGDP R-squared: 0.182\n", "Model: OLS Adj. R-squared: 0.179\n", "Method: Least Squares F-statistic: 63.84\n", "Date: Thu, 18 Apr 2013 Prob (F-statistic): 8.90e-49\n", "Time: 21:15:00 Log-Likelihood: -2723.0\n", "No. Observations: 1155 AIC: 5456.\n", "Df Residuals: 1150 BIC: 5481.\n", "Df Model: 4 \n", "======================================================================================\n", " coef std err t P>|t| [95.0% Conf. Int.]\n", "--------------------------------------------------------------------------------------\n", "Intercept 2.5045 0.173 14.461 0.000 2.165 2.844\n", "dgcat[T.30-60%] -0.6746 0.179 -3.778 0.000 -1.025 -0.324\n", "dgcat[T.60-90%] -0.5782 0.224 -2.585 0.010 -1.017 -0.139\n", "dgcat[T.Above 90%] -1.0539 0.287 -3.668 0.000 -1.618 -0.490\n", "dRGDP_lag 0.3715 0.027 13.668 0.000 0.318 0.425\n", "==============================================================================\n", "Omnibus: 111.755 Durbin-Watson: 2.108\n", "Prob(Omnibus): 0.000 Jarque-Bera (JB): 577.799\n", "Skew: -0.272 Prob(JB): 3.41e-126\n", "Kurtosis: 6.422 Cond. No. 20.6\n", "==============================================================================\n" ] } ], "prompt_number": 26 }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Fixed effects" ] }, { "cell_type": "code", "collapsed": false, "input": [ "y,X = patsy.dmatrices('dRGDP ~ dgcat + dRGDP_lag + Country', data=RR[['dRGDP', 'dgcat', 'dRGDP_lag', 'Country']].dropna())\n", "print sm.OLS(y,X).fit().summary()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: dRGDP R-squared: 0.195\n", "Model: OLS Adj. R-squared: 0.178\n", "Method: Least Squares F-statistic: 11.89\n", "Date: Thu, 18 Apr 2013 Prob (F-statistic): 1.84e-39\n", "Time: 21:15:00 Log-Likelihood: -2713.7\n", "No. Observations: 1155 AIC: 5475.\n", "Df Residuals: 1131 BIC: 5597.\n", "Df Model: 23 \n", "==========================================================================================\n", " coef std err t P>|t| [95.0% Conf. Int.]\n", "------------------------------------------------------------------------------------------\n", "Intercept 2.8787 0.355 8.118 0.000 2.183 3.574\n", "dgcat[T.30-60%] -0.8192 0.208 -3.943 0.000 -1.227 -0.412\n", "dgcat[T.60-90%] -0.8052 0.258 -3.115 0.002 -1.312 -0.298\n", "dgcat[T.Above 90%] -1.2941 0.339 -3.817 0.000 -1.959 -0.629\n", "Country[T.Austria] -0.2098 0.463 -0.454 0.650 -1.117 0.698\n", "Country[T.Belgium] -0.0507 0.480 -0.106 0.916 -0.993 0.891\n", "Country[T.Canada] 0.3403 0.469 0.725 0.468 -0.580 1.261\n", "Country[T.Denmark] -0.8121 0.476 -1.707 0.088 -1.746 0.121\n", "Country[T.Finland] -0.4436 0.458 -0.969 0.333 -1.342 0.455\n", "Country[T.France] -0.0764 0.479 -0.159 0.873 -1.017 0.864\n", "Country[T.Germany] -0.7266 0.469 -1.548 0.122 -1.648 0.195\n", "Country[T.Greece] -0.3446 0.538 -0.640 0.522 -1.401 0.711\n", "Country[T.Ireland] 0.3872 0.471 0.822 0.411 -0.537 1.312\n", "Country[T.Italy] -0.3490 0.469 -0.743 0.457 -1.270 0.572\n", "Country[T.Japan] 0.4994 0.482 1.036 0.301 -0.447 1.445\n", "Country[T.Netherlands] -0.4065 0.486 -0.837 0.403 -1.360 0.547\n", "Country[T.New Zealand] -0.2624 0.465 -0.565 0.572 -1.174 0.649\n", "Country[T.Norway] -0.3741 0.459 -0.814 0.416 -1.276 0.527\n", "Country[T.Portugal] -0.0705 0.469 -0.150 0.881 -0.992 0.851\n", "Country[T.Spain] -0.1694 0.528 -0.321 0.748 -1.205 0.866\n", "Country[T.Sweden] -0.4845 0.462 -1.050 0.294 -1.390 0.421\n", "Country[T.UK] -0.3898 0.474 -0.823 0.411 -1.319 0.540\n", "Country[T.US] 0.0911 0.471 0.193 0.847 -0.833 1.015\n", "dRGDP_lag 0.3515 0.028 12.701 0.000 0.297 0.406\n", "==============================================================================\n", "Omnibus: 111.745 Durbin-Watson: 2.106\n", "Prob(Omnibus): 0.000 Jarque-Bera (JB): 575.683\n", "Skew: -0.274 Prob(JB): 9.82e-126\n", "Kurtosis: 6.415 Cond. No. 91.7\n", "==============================================================================\n" ] } ], "prompt_number": 27 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 27 } ], "metadata": {} } ] }