{ "metadata": { "name": "silver_model" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "GitHub link for the talk. You can clone the data and play with it yourself. Please submit any improvements as pull requests\n", "\n", "[https://github.com/jseabold/538model](https://github.com/jseabold/538model)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import datetime\n", "\n", "import numpy as np\n", "import statsmodels.api as sm\n", "import matplotlib.pyplot as plt\n", "import pandas\n", "from scipy import stats\n", "np.set_printoptions(precision=4, suppress=True)\n", "pandas.set_printoptions(notebook_repr_html=False,\n", " precision=4,\n", " max_columns=12, column_space=10,\n", " max_colwidth=25)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "today = datetime.datetime(2012, 10, 2)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Outline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Methodology was obtained from the old [538 Blog](http://www.fivethirtyeight.com/2008/03/frequently-asked-questions-last-revised.html) with updates at the [new site hosted by the New York Times](http://fivethirtyeight.blogs.nytimes.com/methodology/)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "1. Polling Average: Aggregate polling data, and weight it according to our reliability scores.\n", "\n", "2. Trend Adjustment: Adjust the polling data for current trends.\n", "\n", "3. Regression: Analyze demographic data in each state by means of regression analysis.\n", "\n", "4. Snapshot: Combine the polling data with the regression analysis to produce an electoral snapshot. This is our estimate of what would happen if the election were held today.\n", "\n", "5. Projection: Translate the snapshot into a projection of what will happen in November, by allocating out undecided voters and applying a discount to current polling leads based on historical trends.\n", "\n", "6. Simulation: Simulate our results 10,000 times based on the results of the projection to account for the uncertainty in our estimates. The end result is a robust probabilistic assessment of what will happen in each state as well as in the nation as a whole. " ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Get the Data" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Consensus forecast of GDP growth over the next two economic quarters
(Median of WSJ's monthly forecasting panel)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The process for creating an economic index for the 538 model is described [here](http://fivethirtyeight.blogs.nytimes.com/2012/07/05/measuring-the-effect-of-the-economy-on-elections/#more-31732)." ] }, { "cell_type": "raw", "metadata": {}, "source": [ "Obtained from WSJ.com on 10/2/12" ] }, { "cell_type": "code", "collapsed": false, "input": [ "forecasts = pandas.read_table(\"/home/skipper/school/seaboldgit/\"\n", " \"talks/pydata/data/wsj_forecast.csv\", skiprows=2)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "forecasts" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 6, "text": [ " Forecaster Institution Q3 2012 Q4 2012\n", "0 Paul Ashworth Capital Economics 2.0 1.5\n", "1 Nariman Behravesh IHS Global Insight 1.5 1.6\n", "2 Richard Berner/ David... Morgan Stanley NaN NaN\n", "3 Ram Bhagavatula Combinatorics Capital 2.0 4.0\n", "4 Beth Ann Bovino * Standard and Poor's NaN NaN\n", "5 Jay Brinkmann Mortgage Bankers Asso... 1.8 1.9\n", "6 Michael Carey Credit Agricole CIB 1.7 1.6\n", "7 Joseph Carson AllianceBernstein 2.5 3.5\n", "8 Julia Coronado BNP Paribas 1.4 1.6\n", "9 Mike Cosgrove Econoclast 1.6 1.6\n", "10 Lou Crandall Wrightson ICAP 1.8 1.8\n", "11 J. Dewey Daane Vanderbilt University 1.5 1.5\n", "12 Douglas Duncan Fannie Mae 1.8 1.7\n", "13 Robert Dye Comerica Bank 2.5 2.2\n", "14 Maria Fiorini Ramirez... MFR, Inc. 1.4 1.2\n", "15 Ethan Harris Bank of America Secur... 1.3 1.0\n", "16 Maury Harris UBS 1.5 1.8\n", "17 Jan Hatzius Goldman, Sachs & Co. 2.3 1.5\n", "18 Tracy Herrick Avidbank 1.8 1.8\n", "19 Stuart Hoffman * PNC Financial Service... NaN NaN\n", "20 Gene Huang FedEx Corp. 1.9 1.7\n", "21 William B. Hummer Wintrust Wealth Manag... 1.7 1.9\n", "22 Bruce Kasman JP Morgan Chase & Co. 1.5 2.0\n", "23 Joseph LaVorgna Deutsche Bank Securit... 2.7 2.8\n", "24 Edward Leamer/David S... UCLA Anderson Forecast 1.3 1.5\n", "25 Don Leavens/Tim Gill NEMA Business Informa... 1.7 1.7\n", "26 John Lonski Moody's Investors Ser... 1.5 1.3\n", "27 Dean Maki Barclays Capital 2.0 2.5\n", "28 Aneta Markowska * Societe Generale NaN NaN\n", "29 Jim Meil/Arun Raha Eaton Corp. 1.2 2.1\n", "30 Mark Nielson MacroEcon Global Advi... 2.2 2.8\n", "31 Michael P. Niemira International Council... 2.3 2.2\n", "32 Jim O'Sullivan High Frequency Economics 2.5 2.0\n", "33 Nicholas S. Perna Perna Associates 2.2 1.5\n", "34 Dr. Joel Prakken/ Chr... Macroeconomic Advisers 1.5 1.4\n", "35 David Resler Nomura Securities Int... 1.9 1.7\n", "36 John Ryding/Conrad De... RDQ Economics 2.1 2.4\n", "37 John Silvia Wells Fargo & Co. 1.6 1.7\n", "38 Allen Sinai Decision Economics, Inc. 2.1 2.7\n", "39 James F. Smith Parsec Financial Mana... 3.8 4.8\n", "40 Sean M. Snaith University of Central... 1.7 1.9\n", "41 Sung Won Sohn California State Univ... 1.8 1.7\n", "42 Neal Soss CSFB 1.5 2.2\n", "43 Stephen Stanley Pierpont Securities 1.0 2.1\n", "44 Susan M. Sterne Economic Analysis Ass... 2.2 1.9\n", "45 Diane Swonk Mesirow Financial 1.3 1.5\n", "46 Carl Tannenbaum The Northern Trust 1.7 2.0\n", "47 Bart van Ark The Conference Board 1.6 1.6\n", "48 Brian S. Wesbury/ Rob... First Trust Advisors,... 2.5 3.0\n", "49 William T. Wilson Skolkovo Institute fo... 1.9 2.2\n", "50 Lawrence Yun National Association ... 1.7 2.1" ] } ], "prompt_number": 6 }, { "cell_type": "code", "collapsed": true, "input": [ "forecasts.rename(columns={\"Q3 2012\" : \"gdp_q3_2012\", \n", " \"Q4 2012\" : \"gdp_q4_2012\"}, inplace=True)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 7, "text": [ " Forecaster Institution gdp_q3_2012 gdp_q4_2012\n", "0 Paul Ashworth Capital Economics 2.0 1.5\n", "1 Nariman Behravesh IHS Global Insight 1.5 1.6\n", "2 Richard Berner/ David... Morgan Stanley NaN NaN\n", "3 Ram Bhagavatula Combinatorics Capital 2.0 4.0\n", "4 Beth Ann Bovino * Standard and Poor's NaN NaN\n", "5 Jay Brinkmann Mortgage Bankers Asso... 1.8 1.9\n", "6 Michael Carey Credit Agricole CIB 1.7 1.6\n", "7 Joseph Carson AllianceBernstein 2.5 3.5\n", "8 Julia Coronado BNP Paribas 1.4 1.6\n", "9 Mike Cosgrove Econoclast 1.6 1.6\n", "10 Lou Crandall Wrightson ICAP 1.8 1.8\n", "11 J. Dewey Daane Vanderbilt University 1.5 1.5\n", "12 Douglas Duncan Fannie Mae 1.8 1.7\n", "13 Robert Dye Comerica Bank 2.5 2.2\n", "14 Maria Fiorini Ramirez... MFR, Inc. 1.4 1.2\n", "15 Ethan Harris Bank of America Secur... 1.3 1.0\n", "16 Maury Harris UBS 1.5 1.8\n", "17 Jan Hatzius Goldman, Sachs & Co. 2.3 1.5\n", "18 Tracy Herrick Avidbank 1.8 1.8\n", "19 Stuart Hoffman * PNC Financial Service... NaN NaN\n", "20 Gene Huang FedEx Corp. 1.9 1.7\n", "21 William B. Hummer Wintrust Wealth Manag... 1.7 1.9\n", "22 Bruce Kasman JP Morgan Chase & Co. 1.5 2.0\n", "23 Joseph LaVorgna Deutsche Bank Securit... 2.7 2.8\n", "24 Edward Leamer/David S... UCLA Anderson Forecast 1.3 1.5\n", "25 Don Leavens/Tim Gill NEMA Business Informa... 1.7 1.7\n", "26 John Lonski Moody's Investors Ser... 1.5 1.3\n", "27 Dean Maki Barclays Capital 2.0 2.5\n", "28 Aneta Markowska * Societe Generale NaN NaN\n", "29 Jim Meil/Arun Raha Eaton Corp. 1.2 2.1\n", "30 Mark Nielson MacroEcon Global Advi... 2.2 2.8\n", "31 Michael P. Niemira International Council... 2.3 2.2\n", "32 Jim O'Sullivan High Frequency Economics 2.5 2.0\n", "33 Nicholas S. Perna Perna Associates 2.2 1.5\n", "34 Dr. Joel Prakken/ Chr... Macroeconomic Advisers 1.5 1.4\n", "35 David Resler Nomura Securities Int... 1.9 1.7\n", "36 John Ryding/Conrad De... RDQ Economics 2.1 2.4\n", "37 John Silvia Wells Fargo & Co. 1.6 1.7\n", "38 Allen Sinai Decision Economics, Inc. 2.1 2.7\n", "39 James F. Smith Parsec Financial Mana... 3.8 4.8\n", "40 Sean M. Snaith University of Central... 1.7 1.9\n", "41 Sung Won Sohn California State Univ... 1.8 1.7\n", "42 Neal Soss CSFB 1.5 2.2\n", "43 Stephen Stanley Pierpont Securities 1.0 2.1\n", "44 Susan M. Sterne Economic Analysis Ass... 2.2 1.9\n", "45 Diane Swonk Mesirow Financial 1.3 1.5\n", "46 Carl Tannenbaum The Northern Trust 1.7 2.0\n", "47 Bart van Ark The Conference Board 1.6 1.6\n", "48 Brian S. Wesbury/ Rob... First Trust Advisors,... 2.5 3.0\n", "49 William T. Wilson Skolkovo Institute fo... 1.9 2.2\n", "50 Lawrence Yun National Association ... 1.7 2.1" ] } ], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "forecasts" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 8, "text": [ " Forecaster Institution gdp_q3_2012 gdp_q4_2012\n", "0 Paul Ashworth Capital Economics 2.0 1.5\n", "1 Nariman Behravesh IHS Global Insight 1.5 1.6\n", "2 Richard Berner/ David... Morgan Stanley NaN NaN\n", "3 Ram Bhagavatula Combinatorics Capital 2.0 4.0\n", "4 Beth Ann Bovino * Standard and Poor's NaN NaN\n", "5 Jay Brinkmann Mortgage Bankers Asso... 1.8 1.9\n", "6 Michael Carey Credit Agricole CIB 1.7 1.6\n", "7 Joseph Carson AllianceBernstein 2.5 3.5\n", "8 Julia Coronado BNP Paribas 1.4 1.6\n", "9 Mike Cosgrove Econoclast 1.6 1.6\n", "10 Lou Crandall Wrightson ICAP 1.8 1.8\n", "11 J. Dewey Daane Vanderbilt University 1.5 1.5\n", "12 Douglas Duncan Fannie Mae 1.8 1.7\n", "13 Robert Dye Comerica Bank 2.5 2.2\n", "14 Maria Fiorini Ramirez... MFR, Inc. 1.4 1.2\n", "15 Ethan Harris Bank of America Secur... 1.3 1.0\n", "16 Maury Harris UBS 1.5 1.8\n", "17 Jan Hatzius Goldman, Sachs & Co. 2.3 1.5\n", "18 Tracy Herrick Avidbank 1.8 1.8\n", "19 Stuart Hoffman * PNC Financial Service... NaN NaN\n", "20 Gene Huang FedEx Corp. 1.9 1.7\n", "21 William B. Hummer Wintrust Wealth Manag... 1.7 1.9\n", "22 Bruce Kasman JP Morgan Chase & Co. 1.5 2.0\n", "23 Joseph LaVorgna Deutsche Bank Securit... 2.7 2.8\n", "24 Edward Leamer/David S... UCLA Anderson Forecast 1.3 1.5\n", "25 Don Leavens/Tim Gill NEMA Business Informa... 1.7 1.7\n", "26 John Lonski Moody's Investors Ser... 1.5 1.3\n", "27 Dean Maki Barclays Capital 2.0 2.5\n", "28 Aneta Markowska * Societe Generale NaN NaN\n", "29 Jim Meil/Arun Raha Eaton Corp. 1.2 2.1\n", "30 Mark Nielson MacroEcon Global Advi... 2.2 2.8\n", "31 Michael P. Niemira International Council... 2.3 2.2\n", "32 Jim O'Sullivan High Frequency Economics 2.5 2.0\n", "33 Nicholas S. Perna Perna Associates 2.2 1.5\n", "34 Dr. Joel Prakken/ Chr... Macroeconomic Advisers 1.5 1.4\n", "35 David Resler Nomura Securities Int... 1.9 1.7\n", "36 John Ryding/Conrad De... RDQ Economics 2.1 2.4\n", "37 John Silvia Wells Fargo & Co. 1.6 1.7\n", "38 Allen Sinai Decision Economics, Inc. 2.1 2.7\n", "39 James F. Smith Parsec Financial Mana... 3.8 4.8\n", "40 Sean M. Snaith University of Central... 1.7 1.9\n", "41 Sung Won Sohn California State Univ... 1.8 1.7\n", "42 Neal Soss CSFB 1.5 2.2\n", "43 Stephen Stanley Pierpont Securities 1.0 2.1\n", "44 Susan M. Sterne Economic Analysis Ass... 2.2 1.9\n", "45 Diane Swonk Mesirow Financial 1.3 1.5\n", "46 Carl Tannenbaum The Northern Trust 1.7 2.0\n", "47 Bart van Ark The Conference Board 1.6 1.6\n", "48 Brian S. Wesbury/ Rob... First Trust Advisors,... 2.5 3.0\n", "49 William T. Wilson Skolkovo Institute fo... 1.9 2.2\n", "50 Lawrence Yun National Association ... 1.7 2.1" ] } ], "prompt_number": 8 }, { "cell_type": "raw", "metadata": {}, "source": [ "Pandas methods are NaN aware, so we can just get the median." ] }, { "cell_type": "code", "collapsed": false, "input": [ "median_forecast = forecasts[['gdp_q3_2012', 'gdp_q4_2012']].median()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "median_forecast" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 10, "text": [ "gdp_q3_2012 1.8\n", "gdp_q4_2012 1.8" ] } ], "prompt_number": 10 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Economics State Variables from FRED" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Job Growth (Nonfarm-payrolls) **PAYEMS**
\n", "Personal Income **PI**
\n", "Industrial production **INDPRO**
\n", "Consumption **PCEC96**
\n", "Inflation **CPIAUCSL**
" ] }, { "cell_type": "code", "collapsed": true, "input": [ "from pandas.io.data import DataReader" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 11 }, { "cell_type": "code", "collapsed": false, "input": [ "series = dict(jobs = \"PAYEMS\",\n", " income = \"PI\",\n", " prod = \"INDPRO\",\n", " cons = \"PCEC96\",\n", " prices = \"CPIAUCSL\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 12 }, { "cell_type": "code", "collapsed": false, "input": [ "#indicators = []\n", "#for variable in series:\n", "# data = DataReader(series[variable], \"fred\", start=\"2010-1-1\")\n", "# # renaming not necessary in master\n", "# data.rename(columns={\"VALUE\" : variable}, inplace=True)\n", "# indicators.append(data)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [ "#indicators = pandas.concat(indicators, axis=1)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 14 }, { "cell_type": "code", "collapsed": false, "input": [ "#indicators" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 15 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Polling Data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I used Python to scrape the [Real Clear Politics](realclearpolitics.com) website and download data for the 2004 and 2008 elections. The scraping scripts are available in the github repository for this talk. State by state historical data for the 2004 and 2008 Presidential elections was obtained from [electoral-vote.com](www.electorical-vote.com)." ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Polling Average" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Details can be found at the 538 blog [here](http://www.fivethirtyeight.com/2008/03/pollster-ratings-updated.html)." ] }, { "cell_type": "code", "collapsed": false, "input": [ "tossup = [\"Colorado\", \"Florida\", \"Iowa\", \"New Hampshire\", \"Nevada\", \n", " \"Ohio\", \"Virginia\", \"Wisconsin\"]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": [ "national_data2012 = pandas.read_table(\"/home/skipper/school/seaboldgit/talks/pydata/\"\n", " \"data/2012_poll_data.csv\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 17 }, { "cell_type": "code", "collapsed": false, "input": [ "national_data2012" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 18, "text": [ "\n", "Int64Index: 290 entries, 0 to 289\n", "Data columns:\n", "Poll 290 non-null values\n", "Date 290 non-null values\n", "Sample 290 non-null values\n", "MoE 290 non-null values\n", "Obama (D) 290 non-null values\n", "Romney (R) 290 non-null values\n", "Spread 290 non-null values\n", "dtypes: float64(2), object(5)" ] } ], "prompt_number": 18 }, { "cell_type": "code", "collapsed": false, "input": [ "national_data2012.rename(columns={\"Poll\" : \"Pollster\"}, inplace=True)\n", "national_data2012[\"obama_spread\"] = national_data2012[\"Obama (D)\"] - national_data2012[\"Romney (R)\"]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 19 }, { "cell_type": "code", "collapsed": false, "input": [ "national_data2012[\"State\"] = \"USA\"" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 20 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012 = pandas.read_table(\"/home/skipper/school/seaboldgit/talks/pydata/data/2012_poll_data_states.csv\")\n", "state_data2012" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 21, "text": [ "\n", "Int64Index: 767 entries, 0 to 766\n", "Data columns:\n", "Date 767 non-null values\n", "MoE 767 non-null values\n", "Obama (D) 767 non-null values\n", "Poll 767 non-null values\n", "Romney (R) 767 non-null values\n", "Sample 767 non-null values\n", "Spread 767 non-null values\n", "State 767 non-null values\n", "dtypes: float64(2), object(6)" ] } ], "prompt_number": 21 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012[\"obama_spread\"] = state_data2012[\"Obama (D)\"] - state_data2012[\"Romney (R)\"]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 22 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012.rename(columns=dict(Poll=\"Pollster\"), inplace=True);" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 23 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012.MoE" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 24, "text": [ "0 --\n", "1 4.5\n", "2 4.6\n", "3 5.0\n", "4 4.4\n", "5 4.4\n", "6 4.0\n", "7 3.0\n", "8 5.0\n", "9 4.4\n", "10 4.2\n", "11 2.8\n", "12 4.2\n", "13 5.0\n", "14 4.3\n", "...\n", "752 2.8\n", "753 --\n", "754 4.0\n", "755 3.8\n", "756 4.5\n", "757 4.5\n", "758 5.0\n", "759 3.2\n", "760 4.5\n", "761 4.5\n", "762 2.4\n", "763 3.4\n", "764 2.9\n", "765 3.5\n", "766 3.4\n", "Name: MoE, Length: 767" ] } ], "prompt_number": 24 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012.MoE = state_data2012.MoE.replace(\"--\", \"nan\").astype(float)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 25 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 26, "text": [ "\n", "Int64Index: 767 entries, 0 to 766\n", "Data columns:\n", "Date 767 non-null values\n", "MoE 736 non-null values\n", "Obama (D) 767 non-null values\n", "Pollster 767 non-null values\n", "Romney (R) 767 non-null values\n", "Sample 767 non-null values\n", "Spread 767 non-null values\n", "State 767 non-null values\n", "obama_spread 767 non-null values\n", "dtypes: float64(4), object(5)" ] } ], "prompt_number": 26 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012 = state_data2012.set_index([\"Pollster\", \"State\", \"Date\"]).drop(\"RCP Average\", level=0).reset_index()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 27 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012.head(5)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 28, "text": [ " Pollster State Date MoE Obama (D) Romney (R) Sample Spread obama_spread\n", "0 Rasmussen Reports WA 9/26 - 9/26 4.5 52 41 500 LV Obama +11 11\n", "1 Gravis Marketing WA 9/21 - 9/22 4.6 56 39 625 LV Obama +17 17\n", "2 Elway Poll WA 9/9 - 9/12 5.0 53 36 405 RV Obama +17 17\n", "3 SurveyUSA WA 9/7 - 9/9 4.4 54 38 524 LV Obama +16 16\n", "4 SurveyUSA WA 8/1 - 8/2 4.4 54 37 524 LV Obama +17 17" ] } ], "prompt_number": 28 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Clean up the sample numbers to make it a number." ] }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012.Sample" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 29, "text": [ "0 500 LV\n", "1 625 LV\n", "2 405 RV\n", "3 524 LV\n", "4 524 LV\n", "5 630 RV\n", "6 1073 RV\n", "7 408 RV\n", "8 500 LV\n", "9 557 RV\n", "10 1264 RV\n", "11 572 RV\n", "12 405 RV\n", "13 549 LV\n", "14 469 RV\n", "...\n", "724 600 LV\n", "725 1224 RV\n", "726 625 LV\n", "727 656 LV\n", "728 500 LV\n", "729 500 LV\n", "730 450 LV\n", "731 934 RV\n", "732 500 LV\n", "733 500 LV\n", "734 1625 RV\n", "735 819 RV\n", "736 1176 RV\n", "737 796 LV\n", "738 817 RV\n", "Name: Sample, Length: 739" ] } ], "prompt_number": 29 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012.Sample = state_data2012.Sample.str.replace(\"\\s*([L|R]V)|A\", \"\") # 20 RV\n", "state_data2012.Sample = state_data2012.Sample.str.replace(\"\\s*--\", \"nan\") # --\n", "state_data2012.Sample = state_data2012.Sample.str.replace(\"^$\", \"nan\")\n", "\n", "national_data2012.Sample = national_data2012.Sample.str.replace(\"\\s*([L|R]V)|A\", \"\") # 20 RV\n", "national_data2012.Sample = national_data2012.Sample.str.replace(\"\\s*--\", \"nan\") # --\n", "national_data2012.Sample = national_data2012.Sample.str.replace(\"^$\", \"nan\")\n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 30 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012.Sample.astype(float)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 31, "text": [ "0 500\n", "1 625\n", "2 405\n", "3 524\n", "4 524\n", "5 630\n", "6 1073\n", "7 408\n", "8 500\n", "9 557\n", "10 1264\n", "11 572\n", "12 405\n", "13 549\n", "14 469\n", "...\n", "724 600\n", "725 1224\n", "726 625\n", "727 656\n", "728 500\n", "729 500\n", "730 450\n", "731 934\n", "732 500\n", "733 500\n", "734 1625\n", "735 819\n", "736 1176\n", "737 796\n", "738 817\n", "Name: Sample, Length: 739" ] } ], "prompt_number": 31 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012.Sample = state_data2012.Sample.astype(float)\n", "national_data2012.Sample = national_data2012.Sample.astype(float)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 32 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The 2012 data is currently in order of time by state but doesn't have any years." ] }, { "cell_type": "code", "collapsed": false, "input": [ "#dates2012.get_group((\"OH\", \"NBC News/Marist\"))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 33 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012[\"start_date\"] = \"\"\n", "state_data2012[\"end_date\"] = \"\"\n", "dates2012 = state_data2012.groupby([\"State\", \"Pollster\"])[\"Date\"]\n", "for _, date in dates2012:\n", " year = 2012\n", " # checked by hand, none straddle years\n", " changes = np.r_[False, np.diff(map(int, [i[0].split('/')[0] for \n", " i in date.str.split(' - ')])) > 0]\n", " for j, (idx, dt) in enumerate(date.iteritems()):\n", " dt1, dt2 = dt.split(\" - \")\n", " year -= changes[j]\n", " # check for ones that haven't polled in a year - soft check\n", " # could be wrong for some...\n", " if year == 2012 and (int(dt1.split(\"/\")[0]) > today.month and \n", " int(dt1.split(\"/\")[1]) > today.day):\n", " year -= 1\n", " dt1 += \"/\" + str(year)\n", " dt2 += \"/\" + str(year)\n", " state_data2012.set_value(idx, \"start_date\", dt1)\n", " state_data2012.set_value(idx, \"end_date\", dt2)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 34 }, { "cell_type": "code", "collapsed": false, "input": [ "national_data2012[\"start_date\"] = \"\"\n", "national_data2012[\"end_date\"] = \"\"\n", "dates2012 = national_data2012.groupby([\"Pollster\"])[\"Date\"]\n", "for _, date in dates2012:\n", " year = 2012\n", " # checked by hand, none straddle years\n", " changes = np.r_[False, np.diff(map(int, [i[0].split('/')[0] for \n", " i in date.str.split(' - ')])) > 0]\n", " for j, (idx, dt) in enumerate(date.iteritems()):\n", " dt1, dt2 = dt.split(\" - \")\n", " year -= changes[j]\n", " dt1 += \"/\" + str(year)\n", " dt2 += \"/\" + str(year)\n", " national_data2012.set_value(idx, \"start_date\", dt1)\n", " national_data2012.set_value(idx, \"end_date\", dt2)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 35 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012.head(10)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 36, "text": [ " Pollster State Date MoE Obama (D) Romney (R) Sample Spread obama_spread start_date end_date\n", "0 Rasmussen Reports WA 9/26 - 9/26 4.5 52 41 500 Obama +11 11 9/26/2012 9/26/2012\n", "1 Gravis Marketing WA 9/21 - 9/22 4.6 56 39 625 Obama +17 17 9/21/2012 9/22/2012\n", "2 Elway Poll WA 9/9 - 9/12 5.0 53 36 405 Obama +17 17 9/9/2012 9/12/2012\n", "3 SurveyUSA WA 9/7 - 9/9 4.4 54 38 524 Obama +16 16 9/7/2012 9/9/2012\n", "4 SurveyUSA WA 8/1 - 8/2 4.4 54 37 524 Obama +17 17 8/1/2012 8/2/2012\n", "5 SurveyUSA WA 7/16 - 7/18 4.0 46 37 630 Obama +9 9 7/16/2012 7/18/2012\n", "6 PPP (D) WA 6/14 - 6/17 3.0 54 41 1073 Obama +13 13 6/14/2012 6/17/2012\n", "7 Elway Poll WA 6/13 - 6/16 5.0 49 41 408 Obama +8 8 6/13/2012 6/16/2012\n", "8 Strategies 360 (D) WA 5/22 - 5/24 4.4 51 40 500 Obama +11 11 5/22/2012 5/24/2012\n", "9 SurveyUSA WA 5/8 - 5/9 4.2 50 36 557 Obama +14 14 5/8/2012 5/9/2012" ] } ], "prompt_number": 36 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012.start_date = state_data2012.start_date.apply(pandas.datetools.parse)\n", "state_data2012.end_date = state_data2012.end_date.apply(pandas.datetools.parse)\n", "\n", "national_data2012.start_date = national_data2012.start_date.apply(pandas.datetools.parse)\n", "national_data2012.end_date = national_data2012.end_date.apply(pandas.datetools.parse)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 37 }, { "cell_type": "code", "collapsed": false, "input": [ "def median_date(row):\n", " dates = pandas.date_range(row[\"start_date\"], row[\"end_date\"])\n", " median_idx = int(np.median(range(len(dates)))+.5)\n", " return dates[median_idx]\n", " \n", "state_data2012[\"poll_date\"] = [median_date(row) for i, row in state_data2012.iterrows()]\n", "del state_data2012[\"Date\"]\n", "del state_data2012[\"start_date\"]\n", "del state_data2012[\"end_date\"]\n", "\n", "national_data2012[\"poll_date\"] = [median_date(row) for i, row in national_data2012.iterrows()]\n", "del national_data2012[\"Date\"]\n", "del national_data2012[\"start_date\"]\n", "del national_data2012[\"end_date\"]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 38 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012.head(5)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 39, "text": [ " Pollster State MoE Obama (D) Romney (R) Sample Spread obama_spread poll_date\n", "0 Rasmussen Reports WA 4.5 52 41 500 Obama +11 11 2012-09-26 00:00:00\n", "1 Gravis Marketing WA 4.6 56 39 625 Obama +17 17 2012-09-22 00:00:00\n", "2 Elway Poll WA 5.0 53 36 405 Obama +17 17 2012-09-11 00:00:00\n", "3 SurveyUSA WA 4.4 54 38 524 Obama +16 16 2012-09-08 00:00:00\n", "4 SurveyUSA WA 4.4 54 37 524 Obama +17 17 2012-08-02 00:00:00" ] } ], "prompt_number": 39 }, { "cell_type": "code", "collapsed": false, "input": [ "pollsters = state_data2012.Pollster.unique()\n", "pollsters.sort()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 40 }, { "cell_type": "code", "collapsed": false, "input": [ "len(pollsters)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 41, "text": [ "120" ] } ], "prompt_number": 41 }, { "cell_type": "code", "collapsed": false, "input": [ "print pandas.Series(pollsters)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "0 AFP/Magellan (R)\n", "1 AIF/McLaughlin (R)\n", "2 ARG\n", "3 Albuquerque Journal*\n", "4 Arizona State\n", "5 Baltimore Sun\n", "6 Baydoun/Foster (D)\n", "7 Behavior Research Center\n", "8 Bloomberg News\n", "9 Boston Globe\n", "10 CBS/NYT/Quinnipiac\n", "11 CNN/Opinion Research\n", "12 CNN/Time\n", "13 CNU/Times-Dispatch\n", "14 Caddell/McLaughlin/SA...\n", "15 Castleton State College\n", "16 Chicago Tribune\n", "17 Civitas (R)\n", "18 Clarus Research\n", "19 Columbus Dispatch*\n", "20 Courier-Journal/Surve...\n", "21 Critical Insights\n", "22 Daily Kos/PPP (D)\n", "23 Dartmouth\n", "24 Denver Post/SurveyUSA\n", "25 Des Moines Register\n", "26 Deseret News\n", "27 Deseret News/KSL\n", "28 Detroit News\n", "29 EPIC-MRA\n", "30 Elon Univ./Charlotte ...\n", "31 Elway Poll\n", "32 FOX Chicago/WAA\n", "33 FOX News\n", "34 Fairleigh Dickinson\n", "35 Field\n", "36 Florida Times-Union/I...\n", "37 Franklin & Marshall\n", "38 Glengariff Group (R)\n", "39 Gonzales Research\n", "40 Gravis Marketing\n", "41 Gravis Marketing*\n", "42 Hartford Courant/UConn\n", "43 High Point\n", "44 High Point/SurveyUSA\n", "45 HighGround/Moore (R)*\n", "46 Howey/DePauw\n", "47 Inside MI Politcs/MRG\n", "48 InsiderAdvantage\n", "49 KSTP/SurveyUSA\n", "50 Keating (D)\n", "51 LA Times/USC\n", "52 LVRJ/SurveyUSA\n", "53 Landmark/Rosetta Stone\n", "54 Las Vegas Review-Journal\n", "55 MPRC (D)\n", "56 MPRC (D)*\n", "57 MRG\n", "58 Magellan (R)\n", "59 Magellan Strategies (R)\n", "60 Marist\n", "61 Marquette University\n", "62 Mason-Dixon\n", "63 Mason-Dixon*\n", "64 Mass Insight/Opinion ...\n", "65 Mercyhurst University\n", "66 Miami Herald/Mason-Dixon\n", "67 Middle Tn. State U.\n", "68 Mitchell Research\n", "69 Monmouth University\n", "70 Morning Call\n", "71 NBC News/Marist\n", "72 NBC/WSJ/Marist\n", "73 Ohio Newspapers/Univ ...\n", "74 Ohio Poll/Univ of Cin.\n", "75 Omaha World-Herald\n", "76 PPIC\n", "77 PPP (D)\n", "78 Philadelphia Inquirer\n", "79 Post-Dispatch/Mason-D...\n", "80 Post-Dispatch/Mason-D...\n", "81 Project New America/K...\n", "82 Project New America/M...\n", "83 Project New America/P...\n", "84 Purple Strategies\n", "85 Quinnipiac\n", "86 Rasmussen Reports\n", "87 Retail Assoc. of Neva...\n", "88 Roanoke College\n", "89 Rutgers-Eagleton\n", "90 Siena\n", "91 Sooner Poll\n", "92 St. Cloud State U.\n", "93 Star Tribune/Mason-Di...\n", "94 Strategies 360 (D)\n", "95 Suffolk University\n", "96 Suffolk/7News\n", "97 Suffolk/WSVN\n", "98 Suffolk/WWBT\n", "99 Sunshine State News/VSS\n", "100 SurveyUSA\n", "101 SurveyUSA/Civitas (R)\n", "102 Talk Business Poll\n", "103 Tennessean/Vanderbilt\n", "104 The Simon Poll/SIU\n", "105 The Washington Poll\n", "106 Tribune-Review/Susque...\n", "107 UMass/Boston Herald\n", "108 Virginian-Pilot/ODU\n", "109 Voter/Consumer Res/TI...\n", "110 WBUR/MassINC\n", "111 WMUR/UNH\n", "112 WPA\n", "113 WPR/St. Norbert\n", "114 WPRI\n", "115 WPRI/Fleming\n", "116 Washington Post\n", "117 WeAskAmerica\n", "118 WeAskAmerica*\n", "119 Western NE University\n", "Length: 120\n" ] } ], "prompt_number": 42 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "538 Pollster Ratings" ] }, { "cell_type": "code", "collapsed": false, "input": [ "weights = pandas.read_table(\"/home/skipper/school/seaboldgit/talks/pydata/data/pollster_weights.csv\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 43 }, { "cell_type": "code", "collapsed": false, "input": [ "weights" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 44, "text": [ " Pollster Weight PIE\n", "0 ABC / Washington Post 0.95 1.41\n", "1 American Research Group 0.65 1.76\n", "2 CBS / New York Times 0.66 1.84\n", "3 Chicago Trib. / Marke... 1.16 1.13\n", "4 CNN / Opinion Research 0.77 1.59\n", "5 Columbus Dispatch (OH) 0.50 6.76\n", "6 EPIC-MRA 0.75 1.65\n", "7 Fairleigh-Dickinson (NJ) 0.71 1.72\n", "8 Field Poll (CA) 1.33 0.88\n", "9 Fox / Opinion Dynamics 0.79 1.60\n", "10 Franklin Pierce (NH) 0.74 1.60\n", "11 Insider Advantage 0.95 1.29\n", "12 Keystone (PA) 0.64 1.55\n", "13 LA Times / Bloomberg 0.83 1.44\n", "14 Marist (NY) 0.69 1.73\n", "15 Mason-Dixon 1.10 1.15\n", "16 Mitchell 0.96 1.43\n", "17 Ohio Poll 1.24 1.05\n", "18 Public Opinion Strate... 0.63 1.81\n", "19 Public Policy Polling... 1.05 1.60\n", "20 Quinnipiac 0.95 1.34\n", "21 Rasmussen 1.30 0.88\n", "22 Research 2000 1.01 1.20\n", "23 Selzer 1.47 0.92\n", "24 Star Tribune (MN) 0.81 2.01\n", "25 Strategic Vision 0.95 1.45\n", "26 Suffolk (NH/MA) 0.77 1.37\n", "27 SurveyUSA 1.91 0.72\n", "28 Univ. New Hampshire 1.08 1.26\n", "29 USA Today / Gallup 0.63 2.01\n", "30 Zogby 0.64 1.72\n", "31 Zogby Interactive 0.43 4.74" ] } ], "prompt_number": 44 }, { "cell_type": "code", "collapsed": false, "input": [ "weights.mean()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 45, "text": [ "Weight 0.908\n", "PIE 1.707" ] } ], "prompt_number": 45 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Clean up the pollster names a bit so we can merge with the weights." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import pickle\n", "pollster_map = pickle.load(open(\"/home/skipper/school/seaboldgit/talks/pydata/data/pollster_map.pkl\", \"rb\"))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 46 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012.Pollster.replace(pollster_map, inplace=True);" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 47 }, { "cell_type": "code", "collapsed": false, "input": [ "national_data2012.Pollster.replace(pollster_map, inplace=True);" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 48 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Inner merge the data with the weights" ] }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012 = state_data2012.merge(weights, how=\"inner\", on=\"Pollster\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 49 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012.head(5)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 50, "text": [ " Pollster State MoE Obama (D) Romney (R) Sample Spread obama_spread poll_date Weight PIE\n", "0 American Research Group FL 4.0 50 45 600 Obama +5 5 2012-09-21 00:00:00 0.65 1.76\n", "1 American Research Group NH 4.0 50 45 600 Obama +5 5 2012-09-26 00:00:00 0.65 1.76\n", "2 American Research Group NH 4.5 48 47 463 Obama +1 1 2012-09-16 00:00:00 0.65 1.76\n", "3 American Research Group NH 4.2 49 46 417 Obama +3 3 2012-06-23 00:00:00 0.65 1.76\n", "4 American Research Group NH 4.2 48 41 557 Obama +7 7 2012-03-17 00:00:00 0.65 1.76" ] } ], "prompt_number": 50 }, { "cell_type": "heading", "level": 4, "metadata": {}, "source": [ "First, we average each pollster for each state." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first adjustment is an exponential decay for recency of the poll. Based on research in prior elections, a weight with a half-life of 30 days since the median date the poll has been in the field is assigned to each poll." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def exp_decay(days):\n", " # defensive coding, accepts timedeltas\n", " days = getattr(days, \"days\", days)\n", " return .5 ** (days/30.)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 51 }, { "cell_type": "code", "collapsed": false, "input": [ "fig, ax = plt.subplots(figsize=(12,8), subplot_kw={\"xlabel\" : \"Days\",\n", " \"ylabel\" : \"Weight\"})\n", "days = np.arange(0, 45)\n", "ax.plot(days, exp_decay(days));\n", "ax.vlines(30, 0, .99, color='r', linewidth=4)\n", "ax.set_ylim(0,1)\n", "ax.set_xlim(0, 45);" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nAAAAIAH+A7iJhoHYvnKbAAAAAElFTkSuQmCC\n" } ], "prompt_number": 52 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The second adjustment is for the sample size of the poll. Polls with a higher sample size receive a higher weight." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Binomial sampling error = +/- $50 * \\frac{1}{\\sqrt{nobs}}$ where the 50 depends on the underlying probability or population preferences, in this case assumed to be 50:50 (another way of calculating Margin of Error)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def average_error(nobs, p=50.):\n", " return p*nobs**-.5" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 53 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The thinking here is that having 5 polls of 1200 is a lot like having one poll of 6000. However, we downweight older polls by only including the marginal effective sample size. Where the effective sample size is the size of the methodologically perfect poll for which we would be indifferent between it and the one we have with our current total error. Total error is determined as $TE = \\text{Average Error} + \\text{Long Run Pollster Induced Error}$. See [here](http://www.fivethirtyeight.com/2008/04/pollster-ratings-v30.html) for the detailed calculations of Pollster Induced Error." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def effective_sample(total_error, p=50.):\n", " return p**2 * (total_error**-2.)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 54 }, { "cell_type": "code", "collapsed": false, "input": [ "state_pollsters = state_data2012.groupby([\"State\", \"Pollster\"])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 55 }, { "cell_type": "code", "collapsed": false, "input": [ "ppp_az = state_pollsters.get_group((\"AZ\", \"Public Policy Polling (PPP)\"))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 56 }, { "cell_type": "code", "collapsed": false, "input": [ "var_idx = [\"Pollster\", \"State\", \"Obama (D)\", \"Romney (R)\", \"Sample\", \"poll_date\"]\n", "ppp_az[var_idx]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 57, "text": [ " Pollster State Obama (D) Romney (R) Sample poll_date\n", "198 Public Policy Polling... AZ 44 53 993 2012-09-08 00:00:00\n", "199 Public Policy Polling... AZ 41 52 833 2012-07-24 00:00:00\n", "200 Public Policy Polling... AZ 43 50 500 2012-05-19 00:00:00\n", "201 Public Policy Polling... AZ 47 47 743 2012-02-18 00:00:00\n", "202 Public Policy Polling... AZ 42 49 500 2011-11-19 00:00:00\n", "203 Public Policy Polling... AZ 44 48 623 2011-04-30 00:00:00\n", "204 Public Policy Polling... AZ 43 49 599 2011-01-29 00:00:00\n", "205 Public Policy Polling... AZ 43 50 617 2010-09-20 00:00:00" ] } ], "prompt_number": 57 }, { "cell_type": "code", "collapsed": false, "input": [ "ppp_az.sort(\"poll_date\", ascending=False, inplace=True);" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 58 }, { "cell_type": "code", "collapsed": false, "input": [ "ppp_az[\"cumulative\"] = ppp_az[\"Sample\"].cumsum()\n", "ppp_az[\"average_error\"] = average_error(ppp_az[\"cumulative\"])\n", "ppp_az[\"total_error\"] = ppp_az[\"PIE\"] + ppp_az[\"average_error\"]\n", "ppp_az[var_idx + [\"cumulative\"]]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 59, "text": [ " Pollster State Obama (D) Romney (R) Sample poll_date cumulative\n", "198 Public Policy Polling... AZ 44 53 993 2012-09-08 00:00:00 993\n", "199 Public Policy Polling... AZ 41 52 833 2012-07-24 00:00:00 1826\n", "200 Public Policy Polling... AZ 43 50 500 2012-05-19 00:00:00 2326\n", "201 Public Policy Polling... AZ 47 47 743 2012-02-18 00:00:00 3069\n", "202 Public Policy Polling... AZ 42 49 500 2011-11-19 00:00:00 3569\n", "203 Public Policy Polling... AZ 44 48 623 2011-04-30 00:00:00 4192\n", "204 Public Policy Polling... AZ 43 49 599 2011-01-29 00:00:00 4791\n", "205 Public Policy Polling... AZ 43 50 617 2010-09-20 00:00:00 5408" ] } ], "prompt_number": 59 }, { "cell_type": "code", "collapsed": false, "input": [ "ppp_az[\"ESS\"] = effective_sample(ppp_az[\"total_error\"])\n", "ppp_az[\"MESS\"] = ppp_az[\"ESS\"].diff()\n", "# fill in first one\n", "ppp_az[\"MESS\"].fillna(ppp_az[\"ESS\"].head(1).item(), inplace=True);" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 60 }, { "cell_type": "code", "collapsed": false, "input": [ "ppp_az[[\"poll_date\", \"Sample\", \"cumulative\", \"ESS\", \"MESS\"]]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 61, "text": [ " poll_date Sample cumulative ESS MESS\n", "198 2012-09-08 00:00:00 993 993 246.182 246.182\n", "199 2012-07-24 00:00:00 833 1826 325.801 79.618\n", "200 2012-05-19 00:00:00 500 2326 359.591 33.791\n", "201 2012-02-18 00:00:00 743 3069 399.185 39.594\n", "202 2011-11-19 00:00:00 500 3569 420.968 21.783\n", "203 2011-04-30 00:00:00 623 4192 444.241 23.273\n", "204 2011-01-29 00:00:00 599 4791 463.531 19.291\n", "205 2010-09-20 00:00:00 617 5408 480.955 17.424" ] } ], "prompt_number": 61 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's do it for every polling firm in every state." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def calculate_mess(group):\n", " cumulative = group[\"Sample\"].cumsum()\n", " ae = average_error(cumulative)\n", " total_error = ae + group[\"PIE\"]\n", " ess = effective_sample(total_error)\n", " mess = ess.diff()\n", " mess.fillna(ess.head(1).item(), inplace=True)\n", " #from IPython.core.debugger import Pdb; Pdb().set_trace()\n", " return pandas.concat((ess, mess), axis=1)\n", "\n", "#state_data2012[\"ESS\", \"MESS\"] \n", "df = state_pollsters.apply(calculate_mess)\n", "df.rename(columns={0 : \"ESS\", 1 : \"MESS\"}, inplace=True);" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 62 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012 = state_data2012.join(df)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 63 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Give them the time weight" ] }, { "cell_type": "code", "collapsed": false, "input": [ "td = today - state_data2012[\"poll_date\"].head(1).item()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 64 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012[\"poll_date\"].head(1).item()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 65, "text": [ "" ] } ], "prompt_number": 65 }, { "cell_type": "code", "collapsed": false, "input": [ "td" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 66, "text": [ "datetime.timedelta(11)" ] } ], "prompt_number": 66 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012[\"time_weight\"] = (today - state_data2012[\"poll_date\"]).apply(exp_decay)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 67 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now aggregate all of these. Weight them based on the sample size but also based on the time_weight." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def weighted_mean(group):\n", " weights1 = group[\"time_weight\"]\n", " weights2 = group[\"MESS\"]\n", " return np.sum(weights1*weights2*group[\"obama_spread\"]/(weights1*weights2).sum())" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 68 }, { "cell_type": "code", "collapsed": false, "input": [ "state_pollsters = state_data2012.groupby([\"State\", \"Pollster\"])\n", "state_polls = state_pollsters.apply(weighted_mean)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 69 }, { "cell_type": "code", "collapsed": false, "input": [ "state_polls" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 70, "text": [ "State Pollster \n", "AZ Public Policy Polling (PPP) -9.168\n", " Rasmussen -10.209\n", "CA Field Poll (CA) 23.344\n", " Public Policy Polling (PPP) 20.999\n", " Rasmussen 22.000\n", " SurveyUSA 22.123\n", "CO American Research Group 2.000\n", " Public Policy Polling (PPP) 5.470\n", " Rasmussen -1.574\n", "CT Public Policy Polling (PPP) 12.758\n", " Quinnipiac 7.294\n", " Rasmussen 8.000\n", "FL American Research Group 5.000\n", " Mason-Dixon -3.543\n", " Public Policy Polling (PPP) 3.125\n", " Quinnipiac 3.076\n", " Rasmussen 0.883\n", " Suffolk (NH/MA) -0.003\n", " SurveyUSA 4.169\n", "GA Insider Advantage -19.174\n", " Mason-Dixon -17.000\n", " Public Policy Polling (PPP) -3.000\n", " SurveyUSA -7.984\n", "HI Public Policy Polling (PPP) 27.000\n", "IA American Research Group 7.000\n", " Mason-Dixon -3.000\n", " Public Policy Polling (PPP) 5.879\n", " Rasmussen -2.749\n", "IL Chicago Trib. / MarketShares 21.000\n", "IN Rasmussen -16.000\n", "KS SurveyUSA -15.875\n", "MA Public Policy Polling (PPP) 17.580\n", " Rasmussen 15.107\n", "MD Public Policy Polling (PPP) 23.000\n", "ME Public Policy Polling (PPP) 16.038\n", " Rasmussen 12.000\n", "MI CNN / Opinion Research 8.000\n", " EPIC-MRA 7.430\n", " Mitchell 0.897\n", " Public Policy Polling (PPP) 7.694\n", " Rasmussen 11.072\n", " SurveyUSA 11.000\n", "MN Public Policy Polling (PPP) 7.335\n", "MO Public Policy Polling (PPP) -11.225\n", " Rasmussen -2.486\n", " SurveyUSA -1.000\n", "MS Public Policy Polling (PPP) -17.973\n", "MT Mason-Dixon -9.000\n", " Public Policy Polling (PPP) -5.003\n", " Rasmussen -15.641\n", "NC American Research Group -4.000\n", " Public Policy Polling (PPP) 0.261\n", " Rasmussen -5.676\n", " SurveyUSA 1.987\n", "ND Mason-Dixon -13.000\n", " Rasmussen -15.000\n", "NE Public Policy Polling (PPP) -12.005\n", " Rasmussen -14.308\n", "NH American Research Group 4.150\n", " LA Times / Bloomberg -10.000\n", " Mason-Dixon -11.000\n", " Public Policy Polling (PPP) 6.273\n", " Rasmussen -2.439\n", "NJ Fairleigh-Dickinson (NJ) 13.859\n", " Public Policy Polling (PPP) 14.006\n", " Quinnipiac 7.504\n", " Rasmussen 6.000\n", " SurveyUSA 14.000\n", "NM Public Policy Polling (PPP) 10.621\n", " Rasmussen 11.651\n", "NV American Research Group 7.000\n", " CNN / Opinion Research 3.000\n", " Public Policy Polling (PPP) 7.345\n", " Rasmussen 2.524\n", "NY Marist (NY) 22.047\n", " Quinnipiac 27.345\n", " SurveyUSA 30.000\n", "OH American Research Group 1.000\n", " Columbus Dispatch (OH) 8.616\n", " Ohio Poll 3.000\n", " Public Policy Polling (PPP) 4.142\n", " Quinnipiac 7.729\n", " Rasmussen 0.866\n", "OR Public Policy Polling (PPP) 9.130\n", " SurveyUSA 8.676\n", "PA Public Policy Polling (PPP) 6.160\n", " Quinnipiac 6.047\n", " Rasmussen 10.875\n", " SurveyUSA 0.000\n", "RI Public Policy Polling (PPP) 17.000\n", "SC Public Policy Polling (PPP) -14.558\n", "SD Public Policy Polling (PPP) -6.000\n", "TN Public Policy Polling (PPP) -7.000\n", "TX Public Policy Polling (PPP) -6.999\n", "UT Mason-Dixon -51.000\n", " Public Policy Polling (PPP) -32.000\n", "VA American Research Group 2.000\n", " Mason-Dixon 1.000\n", " Public Policy Polling (PPP) 5.096\n", " Quinnipiac 0.578\n", " Rasmussen 0.892\n", "VT Public Policy Polling (PPP) 20.000\n", "WA Public Policy Polling (PPP) 13.051\n", " Rasmussen 11.000\n", " SurveyUSA 15.310\n", "WI CNN / Opinion Research 4.000\n", " Public Policy Polling (PPP) 5.393\n", " Rasmussen 2.116\n", "WV Public Policy Polling (PPP) -19.757\n", "Length: 109" ] } ], "prompt_number": 70 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "2004 and 2008 Polls" ] }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2004 = pandas.read_csv(\"/home/skipper/school/seaboldgit/talks/pydata/data/2004-pres-polls.csv\")\n", "state_data2004" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 71, "text": [ "\n", "Int64Index: 879 entries, 0 to 878\n", "Data columns:\n", "State 879 non-null values\n", "Kerry 879 non-null values\n", "Bush 879 non-null values\n", "Date 879 non-null values\n", "Pollster 879 non-null values\n", "dtypes: int64(2), object(3)" ] } ], "prompt_number": 71 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2004.head(5)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 72, "text": [ " State Kerry Bush Date Pollster\n", "0 AL 39 57 Oct 25 SurveyUSA\n", "1 AL 32 56 Oct 12 Capital Survey\n", "2 AL 34 62 Oct 01 SurveyUSA\n", "3 AL 40 54 Sep 14 ARG\n", "4 AL 42 53 Sep 06 Rasmussen" ] } ], "prompt_number": 72 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2008 = pandas.read_csv(\"/home/skipper/school/seaboldgit/talks/pydata/data/2008-pres-polls.csv\")\n", "state_data2008" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 73, "text": [ "\n", "Int64Index: 1189 entries, 0 to 1188\n", "Data columns:\n", "State 1189 non-null values\n", "Obama 1189 non-null values\n", "McCain 1189 non-null values\n", "Start 1189 non-null values\n", "End 1189 non-null values\n", "Pollster 1189 non-null values\n", "dtypes: int64(2), object(4)" ] } ], "prompt_number": 73 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2008.head(5)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 74, "text": [ " State Obama McCain Start End Pollster\n", "0 AL 36 61 Oct 27 Oct 28 SurveyUSA\n", "1 AL 34 54 Oct 15 Oct 16 Capital Survey\n", "2 AL 35 62 Oct 08 Oct 09 SurveyUSA\n", "3 AL 35 55 Oct 06 Oct 07 Capital Survey\n", "4 AL 39 60 Sep 22 Sep 22 Rasmussen" ] } ], "prompt_number": 74 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2008.End + \" 2008\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 75, "text": [ "0 Oct 28 2008\n", "1 Oct 16 2008\n", "2 Oct 09 2008\n", "3 Oct 07 2008\n", "4 Sep 22 2008\n", "5 Sep 17 2008\n", "6 Sep 16 2008\n", "7 Sep 15 2008\n", "8 Sep 09 2008\n", "9 Aug 04 2008\n", "10 Jul 31 2008\n", "11 Jun 26 2008\n", "12 Jun 26 2008\n", "13 Jun 02 2008\n", "14 May 27 2008\n", "...\n", "1174 May 05 2008\n", "1175 Apr 24 2008\n", "1176 Apr 13 2008\n", "1177 Apr 05 2008\n", "1178 Mar 26 2008\n", "1179 Mar 16 2008\n", "1180 Feb 28 2008\n", "1181 Feb 21 2008\n", "1182 Feb 17 2008\n", "1183 Oct 19 2008\n", "1184 Oct 14 2008\n", "1185 Sep 11 2008\n", "1186 Sep 10 2008\n", "1187 Aug 15 2008\n", "1188 Feb 28 2008\n", "Name: End, Length: 1189" ] } ], "prompt_number": 75 }, { "cell_type": "code", "collapsed": false, "input": [ "(state_data2008.End + \" 2008\").apply(pandas.datetools.parse)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 76, "text": [ "0 2008-10-28 00:00:00\n", "1 2008-10-16 00:00:00\n", "2 2008-10-09 00:00:00\n", "3 2008-10-07 00:00:00\n", "4 2008-09-22 00:00:00\n", "5 2008-09-17 00:00:00\n", "6 2008-09-16 00:00:00\n", "7 2008-09-15 00:00:00\n", "8 2008-09-09 00:00:00\n", "9 2008-08-04 00:00:00\n", "10 2008-07-31 00:00:00\n", "11 2008-06-26 00:00:00\n", "12 2008-06-26 00:00:00\n", "13 2008-06-02 00:00:00\n", "14 2008-05-27 00:00:00\n", "...\n", "1174 2008-05-05 00:00:00\n", "1175 2008-04-24 00:00:00\n", "1176 2008-04-13 00:00:00\n", "1177 2008-04-05 00:00:00\n", "1178 2008-03-26 00:00:00\n", "1179 2008-03-16 00:00:00\n", "1180 2008-02-28 00:00:00\n", "1181 2008-02-21 00:00:00\n", "1182 2008-02-17 00:00:00\n", "1183 2008-10-19 00:00:00\n", "1184 2008-10-14 00:00:00\n", "1185 2008-09-11 00:00:00\n", "1186 2008-09-10 00:00:00\n", "1187 2008-08-15 00:00:00\n", "1188 2008-02-28 00:00:00\n", "Name: End, Length: 1189" ] } ], "prompt_number": 76 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Need to clean some of the dates in this data. Luckily, pandas makes this easy to do." ] }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2004.Date = state_data2004.Date.str.replace(\"Nov 00\", \"Nov 01\")\n", "state_data2004.Date = state_data2004.Date.str.replace(\"Oct 00\", \"Oct 01\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 77 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2008[\"poll_date\"] = (state_data2008.End + \" 2008\").apply(pandas.datetools.parse)\n", "state_data2004[\"poll_date\"] = (state_data2004.Date + \" 2004\").apply(pandas.datetools.parse)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 78 }, { "cell_type": "code", "collapsed": false, "input": [ "del state_data2008[\"End\"]\n", "del state_data2008[\"Start\"]\n", "del state_data2004[\"Date\"]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 79 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2008" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 80, "text": [ "\n", "Int64Index: 1189 entries, 0 to 1188\n", "Data columns:\n", "State 1189 non-null values\n", "Obama 1189 non-null values\n", "McCain 1189 non-null values\n", "Pollster 1189 non-null values\n", "poll_date 1189 non-null values\n", "dtypes: int64(2), object(3)" ] } ], "prompt_number": 80 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2004" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 81, "text": [ "\n", "Int64Index: 879 entries, 0 to 878\n", "Data columns:\n", "State 879 non-null values\n", "Kerry 879 non-null values\n", "Bush 879 non-null values\n", "Pollster 879 non-null values\n", "poll_date 879 non-null values\n", "dtypes: int64(2), object(3)" ] } ], "prompt_number": 81 }, { "cell_type": "code", "collapsed": false, "input": [ "state_groups = state_data2008.groupby(\"State\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 82 }, { "cell_type": "code", "collapsed": false, "input": [ "state_groups.aggregate(dict(Obama=np.mean, McCain=np.mean))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 83, "text": [ " McCain Obama\n", "State \n", "AK 52.000 39.429\n", "AL 56.826 34.348\n", "AR 51.000 37.250\n", "AZ 49.333 39.190\n", "CA 37.633 53.267\n", "CO 44.467 48.289\n", "CT 36.923 52.692\n", "DC 13.000 82.000\n", "DE 38.625 55.500\n", "FL 46.394 46.121\n", "GA 51.346 43.154\n", "HI 30.000 64.000\n", "IA 41.407 50.037\n", "ID 60.000 30.500\n", "IL 36.900 55.600\n", "IN 47.500 44.962\n", "KS 53.562 37.750\n", "KY 54.842 37.526\n", "LA 52.167 39.083\n", "MA 38.800 52.200\n", "MD 38.667 53.833\n", "ME 38.188 50.562\n", "MI 42.053 47.368\n", "MN 41.739 50.261\n", "MO 47.429 45.571\n", "MS 51.200 40.500\n", "MT 48.214 43.857\n", "NC 47.523 46.091\n", "ND 45.571 42.714\n", "NE 51.714 37.143\n", "NH 42.757 48.919\n", "NJ 39.767 49.767\n", "NM 43.593 48.741\n", "NV 44.844 46.938\n", "NY 36.865 52.432\n", "OH 44.975 46.658\n", "OK 61.700 32.000\n", "OR 40.852 50.333\n", "PA 42.080 48.893\n", "RI 32.000 53.000\n", "SC 53.300 41.000\n", "SD 50.375 39.875\n", "TN 54.364 36.364\n", "TX 50.200 40.400\n", "UT 58.600 30.000\n", "VA 45.817 47.933\n", "VT 34.750 59.750\n", "WA 40.424 51.515\n", "WI 41.921 49.684\n", "WV 48.692 42.538\n", "WY 59.333 32.667" ] } ], "prompt_number": 83 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Means for the entire country (without weighting by population)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "state_groups.aggregate(dict(Obama=np.mean, McCain=np.mean)).mean()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 84, "text": [ "McCain 45.338\n", "Obama 46.082" ] } ], "prompt_number": 84 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2004.Pollster.replace(pollster_map, inplace=True)\n", "state_data2008.Pollster.replace(pollster_map, inplace=True);" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 85 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2004 = state_data2004.merge(weights, how=\"inner\", on=\"Pollster\")\n", "state_data2008 = state_data2008.merge(weights, how=\"inner\", on=\"Pollster\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 86 }, { "cell_type": "code", "collapsed": false, "input": [ "len(state_data2004.Pollster.unique())" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 87, "text": [ "26" ] } ], "prompt_number": 87 }, { "cell_type": "code", "collapsed": false, "input": [ "len(state_data2008.Pollster.unique())" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 88, "text": [ "21" ] } ], "prompt_number": 88 }, { "cell_type": "code", "collapsed": false, "input": [ "import datetime" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 89 }, { "cell_type": "code", "collapsed": false, "input": [ "date2004 = datetime.datetime(2004, 11, 2)\n", "date2004" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 90, "text": [ "datetime.datetime(2004, 11, 2, 0, 0)" ] } ], "prompt_number": 90 }, { "cell_type": "code", "collapsed": false, "input": [ "(date2004 - state_data2004.poll_date) < datetime.timedelta(21)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 91, "text": [ "0 False\n", "1 False\n", "2 False\n", "3 False\n", "4 False\n", "5 False\n", "6 False\n", "7 False\n", "8 False\n", "9 True\n", "10 True\n", "11 False\n", "12 False\n", "13 False\n", "14 False\n", "...\n", "719 False\n", "720 False\n", "721 False\n", "722 False\n", "723 False\n", "724 True\n", "725 True\n", "726 False\n", "727 False\n", "728 False\n", "729 False\n", "730 False\n", "731 False\n", "732 False\n", "733 False\n", "Name: poll_date, Length: 734" ] } ], "prompt_number": 91 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Restrict the samples to the 3 weeks leading up to the election" ] }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2004 = state_data2004.ix[(date2004 - state_data2004.poll_date) <= datetime.timedelta(21)]\n", "state_data2004.reset_index(drop=True, inplace=True)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 92, "text": [ "\n", "Int64Index: 213 entries, 0 to 212\n", "Data columns:\n", "State 213 non-null values\n", "Kerry 213 non-null values\n", "Bush 213 non-null values\n", "Pollster 213 non-null values\n", "poll_date 213 non-null values\n", "Weight 213 non-null values\n", "PIE 213 non-null values\n", "dtypes: float64(2), int64(2), object(3)" ] } ], "prompt_number": 92 }, { "cell_type": "code", "collapsed": false, "input": [ "date2008 = datetime.datetime(2008, 11, 4)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 93 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2008 = state_data2008.ix[(date2008 - state_data2008.poll_date) <= datetime.timedelta(21)]\n", "state_data2008.reset_index(drop=True, inplace=True)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 94, "text": [ "\n", "Int64Index: 210 entries, 0 to 209\n", "Data columns:\n", "State 210 non-null values\n", "Obama 210 non-null values\n", "McCain 210 non-null values\n", "Pollster 210 non-null values\n", "poll_date 210 non-null values\n", "Weight 210 non-null values\n", "PIE 210 non-null values\n", "dtypes: float64(2), int64(2), object(3)" ] } ], "prompt_number": 94 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2008" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 95, "text": [ "\n", "Int64Index: 210 entries, 0 to 209\n", "Data columns:\n", "State 210 non-null values\n", "Obama 210 non-null values\n", "McCain 210 non-null values\n", "Pollster 210 non-null values\n", "poll_date 210 non-null values\n", "Weight 210 non-null values\n", "PIE 210 non-null values\n", "dtypes: float64(2), int64(2), object(3)" ] } ], "prompt_number": 95 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2004[\"time_weight\"] =(date2004 - state_data2004.poll_date).apply(exp_decay)\n", "state_data2008[\"time_weight\"] =(date2008 - state_data2008.poll_date).apply(exp_decay)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 96 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2004[[\"time_weight\", \"poll_date\"]].head(5)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 97, "text": [ " time_weight poll_date\n", "0 0.955 2004-10-31 00:00:00\n", "1 0.794 2004-10-23 00:00:00\n", "2 0.831 2004-10-25 00:00:00\n", "3 0.955 2004-10-31 00:00:00\n", "4 0.891 2004-10-28 00:00:00" ] } ], "prompt_number": 97 }, { "cell_type": "code", "collapsed": false, "input": [ "def max_date(x):\n", " return x == x.max()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 98 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2004[\"newest_poll\"] = state_data2004.groupby((\"State\", \"Pollster\")).poll_date.transform(max_date)\n", "state_data2008[\"newest_poll\"] = state_data2008.groupby((\"State\", \"Pollster\")).poll_date.transform(max_date)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 99 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Clustering States by Demographics" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are notes on trend line adjustment, [here](http://www.fivethirtyeight.com/2008/06/we-know-more-than-we-think-big-change-2.html), [here](http://www.fivethirtyeight.com/2008/06/refinement-to-adjustment-part-i.html), [here](http://www.fivethirtyeight.com/2008/06/refinement-to-adjustment-part-ii.html), [here](http://www.fivethirtyeight.com/2008/06/trendline-now-calculated-from-daily.html), and [here](http://www.fivethirtyeight.com/2008/06/construction-season-over-technical.html). However, to the best of my knowledge, the similar state \"nearest neighbor\" clustering remains a black box." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Partican Voting Index data obtained from [Wikipedia](http://en.wikipedia.org/wiki/Cook_Partisan_Voting_Index)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "pvi = pandas.read_csv(\"/home/skipper/school/seaboldgit/talks/pydata/data/partisan_voting.csv\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 100 }, { "cell_type": "code", "collapsed": false, "input": [ "pvi.set_index(\"State\", inplace=True);\n", "pvi" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 101, "text": [ " PVI\n", "State \n", "Alabama R+13\n", "Alaska R+13\n", "Arizona R+6 \n", "Arkansas R+9 \n", "California D+7 \n", "Colorado EVEN\n", "Connecticut D+7 \n", "Delaware D+7 \n", "District of Columbia D+39\n", "Florida R+2 \n", "Georgia R+7 \n", "Hawaii D+12\n", "Idaho R+17\n", "Illinois D+8 \n", "Indiana R+6 \n", "Iowa D+1 \n", "Kansas R+12\n", "Kentucky R+10\n", "Louisiana R+10\n", "Maine D+5 \n", "Maryland D+9 \n", "Massachusetts D+12\n", "Michigan D+4 \n", "Minnesota D+2 \n", "Mississippi R+10\n", "Missouri R+3 \n", "Montana R+7 \n", "Nebraska R+13\n", "Nevada D+1 \n", "New Hampshire D+2 \n", "New Jersey D+4 \n", "New Mexico D+2 \n", "New York D+10\n", "North Carolina R+4 \n", "North Dakota R+10\n", "Ohio R+1 \n", "Oklahoma R+17\n", "Oregon D+4 \n", "Pennsylvania D+2 \n", "Rhode Island D+11\n", "South Carolina R+8 \n", "South Dakota R+9 \n", "Tennessee R+9 \n", "Texas R+10\n", "Utah R+20\n", "Vermont D+13\n", "Virginia R+2 \n", "Washington D+5 \n", "West Virginia R+8 \n", "Wisconsin D+2 \n", "Wyoming R+20" ] } ], "prompt_number": 101 }, { "cell_type": "code", "collapsed": false, "input": [ "pvi.PVI = pvi.PVI.replace({\"EVEN\" : \"0\"})\n", "pvi.PVI = pvi.PVI.str.replace(\"R\\+\", \"-\")\n", "pvi.PVI = pvi.PVI.str.replace(\"D\\+\", \"\")\n", "pvi.PVI = pvi.PVI.astype(float)\n", "pvi.PVI" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 102, "text": [ "State\n", "Alabama -13\n", "Alaska -13\n", "Arizona -6\n", "Arkansas -9\n", "California 7\n", "Colorado 0\n", "Connecticut 7\n", "Delaware 7\n", "District of Columbia 39\n", "Florida -2\n", "Georgia -7\n", "Hawaii 12\n", "Idaho -17\n", "Illinois 8\n", "Indiana -6\n", "Iowa 1\n", "Kansas -12\n", "Kentucky -10\n", "Louisiana -10\n", "Maine 5\n", "Maryland 9\n", "Massachusetts 12\n", "Michigan 4\n", "Minnesota 2\n", "Mississippi -10\n", "Missouri -3\n", "Montana -7\n", "Nebraska -13\n", "Nevada 1\n", "New Hampshire 2\n", "New Jersey 4\n", "New Mexico 2\n", "New York 10\n", "North Carolina -4\n", "North Dakota -10\n", "Ohio -1\n", "Oklahoma -17\n", "Oregon 4\n", "Pennsylvania 2\n", "Rhode Island 11\n", "South Carolina -8\n", "South Dakota -9\n", "Tennessee -9\n", "Texas -10\n", "Utah -20\n", "Vermont 13\n", "Virginia -2\n", "Washington 5\n", "West Virginia -8\n", "Wisconsin 2\n", "Wyoming -20\n", "Name: PVI, Length: 51" ] } ], "prompt_number": 102 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Party affliation of electorate obtained from [Gallup](http://www.gallup.com/poll/156437/Heavily-Democratic-States-Concentrated-East.aspx#2)." ] }, { "cell_type": "code", "collapsed": false, "input": [ "party_affil = pandas.read_csv(\"/home/skipper/school/seaboldgit/talks/pydata/data/gallup_electorate.csv\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 103 }, { "cell_type": "code", "collapsed": false, "input": [ "party_affil.Democrat = party_affil.Democrat.str.replace(\"%\", \"\").astype(float)\n", "party_affil.Republican = party_affil.Republican.str.replace(\"%\", \"\").astype(float)\n", "party_affil.set_index(\"State\", inplace=True);\n", "party_affil.rename(columns={\"Democrat Advantage\" : \"dem_adv\"}, inplace=True);\n", "party_affil[\"no_party\"] = 100 - party_affil.Democrat - party_affil.Republican" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 104 }, { "cell_type": "code", "collapsed": false, "input": [ "party_affil" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 105, "text": [ " Democrat Republican dem_adv N no_party\n", "State \n", "District of Columbia 79.0 12.7 66.30 416 8.3\n", "Rhode Island 52.5 26.5 26.00 623 21.0\n", "Hawaii 54.3 28.7 25.60 466 17.0\n", "New York 52.0 30.8 21.20 8674 17.2\n", "Maryland 54.0 33.8 20.20 3571 12.2\n", "Massachusetts 52.5 33.4 19.10 3583 14.1\n", "Delaware 50.5 33.1 17.40 540 16.4\n", "Connecticut 49.8 34.4 15.40 2020 15.8\n", "Vermont 48.8 34.9 13.90 550 16.3\n", "California 48.3 34.6 13.70 16197 17.1\n", "Illinois 48.4 35.8 12.60 5888 15.8\n", "New Jersey 47.4 35.9 11.50 4239 16.7\n", "Michigan 47.7 36.6 11.10 5056 15.7\n", "Minnesota 48.4 38.2 10.20 3873 13.4\n", "Washington 47.5 37.7 9.80 5333 14.8\n", "Oregon 47.2 39.1 8.10 3002 13.7\n", "Pennsylvania 46.4 41.2 5.20 8443 12.4\n", "Maine 43.8 39.4 4.40 1040 16.8\n", "New Mexico 44.7 41.1 3.60 1555 14.2\n", "Ohio 44.1 40.5 3.60 6426 15.4\n", "West Virginia 45.3 41.9 3.40 1202 12.8\n", "Wisconsin 45.0 42.2 2.80 4140 12.8\n", "Iowa 43.2 41.4 1.80 2337 15.4\n", "Florida 43.0 42.3 0.70 9965 14.7\n", "Arkansas 41.5 40.8 0.70 2071 17.7\n", "Kentucky 43.5 43.1 0.40 2898 13.4\n", "North Carolina 43.4 43.2 0.20 6213 13.4\n", "New Hampshire 42.3 43.8 -1.50 873 13.9\n", "Virginia 41.2 44.2 -3.00 5313 14.6\n", "Missouri 40.1 44.0 -3.90 3727 15.9\n", "Georgia 40.3 44.3 -4.00 5110 15.4\n", "Nevada 39.2 43.4 -4.20 1348 17.4\n", "Louisiana 40.3 45.1 -4.80 2655 14.6\n", "Colorado 39.9 45.1 -5.20 3671 15.0\n", "Texas 38.3 44.1 -5.80 11325 17.6\n", "South Dakota 41.5 47.5 -6.00 607 11.0\n", "Indiana 39.0 45.7 -6.70 4197 15.3\n", "Mississippi 40.1 47.1 -7.00 1763 12.8\n", "Arizona 39.8 47.3 -7.50 4325 12.9\n", "Tennessee 38.1 46.5 -8.40 4231 15.4\n", "Alaska 35.9 44.3 -8.44 NaN 19.8\n", "Oklahoma 38.6 48.0 -9.40 2583 13.4\n", "South Carolina 36.9 48.8 -11.90 2858 14.3\n", "North Dakota 35.8 49.0 -13.20 547 15.2\n", "Alabama 36.0 49.6 -13.60 3197 14.4\n", "Montana 35.9 49.6 -13.70 1137 14.5\n", "Kansas 34.4 51.3 -16.90 1937 14.3\n", "Nebraska 33.1 52.1 -19.00 1351 14.8\n", "Wyoming 26.7 56.6 -29.90 600 16.7\n", "Idaho 27.5 57.8 -30.30 1336 14.7\n", "Utah 24.5 63.8 -39.30 2256 11.7" ] } ], "prompt_number": 105 }, { "cell_type": "code", "collapsed": false, "input": [ "census_data = pandas.read_csv(\"/home/skipper/school/seaboldgit/talks/pydata/data/census_demographics.csv\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 106 }, { "cell_type": "code", "collapsed": false, "input": [ "def capitalize(s):\n", " s = s.title()\n", " s = s.replace(\"Of\", \"of\")\n", " return s" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 107 }, { "cell_type": "code", "collapsed": false, "input": [ "census_data[\"State\"] = census_data.state.map(capitalize)\n", "del census_data[\"state\"]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 108 }, { "cell_type": "code", "collapsed": false, "input": [ "census_data.set_index(\"State\", inplace=True)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 109, "text": [ " per_black per_hisp per_white educ_hs educ_coll average_income median_income pop_density vote_pop older_pop\n", "State \n", "Alabama 26.5 4.0 66.8 81.4 21.7 22984 42081 94.4 3001712.500 672383.600\n", "Alaska 3.6 5.8 63.7 90.7 27.0 30726 66521 1.2 475548.444 58540.158\n", "Arizona 4.5 30.1 57.4 85.0 26.3 25680 50448 56.3 3934880.535 920515.710\n", "Arkansas 15.6 6.6 74.2 81.9 19.1 21274 39267 56.0 1798043.148 428944.934\n", "California 6.6 38.1 39.7 80.7 30.1 29188 60883 239.1 24009747.944 4409953.704\n", "Colorado 4.3 20.9 69.7 89.3 35.9 30151 56456 48.5 3310567.012 578197.948\n", "Connecticut 11.1 13.8 70.9 88.4 35.2 36775 67740 738.1 2263008.088 515622.096\n", "Delaware 21.9 8.4 65.1 87.0 27.7 29007 57599 460.8 568773.645 133348.845\n", "District of Columbia 50.7 9.5 35.3 86.5 49.2 42078 58526 9856.5 442485.136 70451.544\n", "Florida 16.5 22.9 57.5 85.3 25.9 26551 47661 350.6 11701330.788 3354127.392\n", "Georgia 31.0 9.1 55.5 83.5 27.2 25134 49347 168.4 6242473.560 1079673.100\n", "Hawaii 2.0 9.2 22.9 89.8 29.4 28882 66420 211.8 867505.110 202097.070\n", "Idaho 0.8 11.5 83.6 88.2 24.3 22518 46423 19.0 954160.970 202878.080\n", "Illinois 14.8 16.2 63.3 86.2 30.3 28782 55735 231.1 8133370.424 1634395.639\n", "Indiana 9.4 6.2 81.3 86.2 22.4 24058 47697 181.0 4060042.406 860233.704\n", "Iowa 3.1 5.2 88.4 89.9 24.5 25335 48872 54.5 1880257.726 456284.041\n", "Kansas 6.1 10.8 77.8 89.2 29.3 25907 49424 34.9 1765811.370 381874.654\n", "Kentucky 8.0 3.2 86.1 81.0 20.3 22515 41576 109.9 2757063.636 589863.060\n", "Louisiana 32.4 4.4 60.1 81.0 20.9 23094 43445 104.9 2886721.516 571854.500\n", "Maine 1.3 1.4 94.3 89.8 26.5 25385 46933 43.1 842071.192 216494.644\n", "Maryland 30.0 8.4 54.4 87.8 35.7 34849 70647 594.8 3753418.116 728536.125\n", "Massachusetts 7.8 9.9 76.4 88.7 38.3 33966 64509 839.4 4262135.792 922255.040\n", "Michigan 14.3 4.5 76.4 88.0 25.0 25135 48432 174.8 6192369.249 1392542.367\n", "Minnesota 5.4 4.9 82.8 91.3 31.4 29582 57243 66.6 3367262.430 700176.791\n", "Mississippi 37.3 2.9 57.7 79.6 19.5 19977 37881 63.2 1840720.416 387206.560\n", "Missouri 11.7 3.7 80.8 86.2 25.0 24724 46262 87.1 3744658.624 853517.696\n", "Montana 0.5 3.1 87.5 91.0 27.9 23836 43872 6.8 623874.375 151726.248\n", "Nebraska 4.7 9.5 81.8 90.0 27.7 25229 49342 23.8 1131381.574 250599.176\n", "Nevada 8.6 27.1 53.6 84.3 21.8 27589 55726 24.6 1718416.182 340415.250\n", "New Hampshire 1.3 2.9 92.2 90.9 32.9 31422 63277 147.0 854189.712 184547.160\n", "New Jersey 14.6 18.1 58.9 87.3 34.6 34858 69811 1195.5 5566148.805 1208498.235\n", "New Mexico 2.5 46.7 40.2 82.7 25.5 22966 43820 17.0 1280567.760 283182.464\n", "New York 17.5 18.0 58.0 84.4 32.1 30948 55603 411.2 12516121.671 2666731.989\n", "North Carolina 22.0 8.6 65.0 83.6 26.1 24745 45570 196.1 6093189.031 1274644.932\n", "North Dakota 1.3 2.2 88.6 89.4 26.3 25803 46781 9.7 434296.820 98486.208\n", "Ohio 12.4 3.2 81.0 87.4 24.1 25113 47358 282.3 7204049.424 1650927.993\n", "Oklahoma 7.7 9.2 68.2 85.4 22.6 23094 42979 54.7 2335568.928 519436.596\n", "Oregon 2.0 12.0 78.1 88.6 28.6 26171 49260 39.9 2454758.606 553675.837\n", "Pennsylvania 11.3 5.9 79.2 87.4 26.4 27049 50398 283.9 7989789.522 1987890.216\n", "Rhode Island 7.2 12.8 76.5 83.7 30.3 28707 54902 1018.1 677038.488 154541.394\n", "South Carolina 28.1 5.3 64.0 83.0 24.0 23443 43939 153.9 2938556.440 659771.430\n", "South Dakota 1.4 2.9 84.4 89.3 25.3 24110 46369 10.7 501865.938 118667.808\n", "Tennessee 16.9 4.7 75.4 82.5 22.7 23722 43314 153.9 4034112.390 877259.361\n", "Texas 12.2 38.1 44.8 80.0 25.8 24870 49646 96.3 16021000.944 2695841.505\n", "Utah 1.3 13.2 80.1 90.6 29.4 23139 56330 33.6 1679064.312 259184.424\n", "Vermont 1.1 1.6 94.2 90.6 33.3 27478 51841 67.9 406553.719 93964.650\n", "Virginia 19.8 8.2 64.5 86.1 33.8 32145 61406 202.6 5230406.184 1012075.500\n", "Washington 3.8 11.6 72.1 89.6 31.0 29733 57244 101.2 4378054.358 867414.826\n", "West Virginia 3.5 1.3 93.0 81.9 17.3 21232 38380 77.1 1170734.684 300568.968\n", "Wisconsin 6.5 6.1 83.1 89.4 25.8 26624 51598 105.0 3592701.443 793935.613\n", "Wyoming 1.1 9.1 85.5 91.3 23.6 27860 53802 5.8 361348.488 72156.066" ] } ], "prompt_number": 109 }, { "cell_type": "code", "collapsed": false, "input": [ "#loadpy https://raw.github.com/gist/3912533/d958b515f602f6e73f7b16d8bc412bc8d1f433d9/state_abbrevs.py;" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 110 }, { "cell_type": "code", "collapsed": false, "input": [ "states_abbrev_dict = {\n", " 'AK': 'Alaska',\n", " 'AL': 'Alabama',\n", " 'AR': 'Arkansas',\n", " 'AS': 'American Samoa',\n", " 'AZ': 'Arizona',\n", " 'CA': 'California',\n", " 'CO': 'Colorado',\n", " 'CT': 'Connecticut',\n", " 'DC': 'District of Columbia',\n", " 'DE': 'Delaware',\n", " 'FL': 'Florida',\n", " 'GA': 'Georgia',\n", " 'GU': 'Guam',\n", " 'HI': 'Hawaii',\n", " 'IA': 'Iowa',\n", " 'ID': 'Idaho',\n", " 'IL': 'Illinois',\n", " 'IN': 'Indiana',\n", " 'KS': 'Kansas',\n", " 'KY': 'Kentucky',\n", " 'LA': 'Louisiana',\n", " 'MA': 'Massachusetts',\n", " 'MD': 'Maryland',\n", " 'ME': 'Maine',\n", " 'MI': 'Michigan',\n", " 'MN': 'Minnesota',\n", " 'MO': 'Missouri',\n", " 'MP': 'Northern Mariana Islands',\n", " 'MS': 'Mississippi',\n", " 'MT': 'Montana',\n", " 'NA': 'National',\n", " 'NC': 'North Carolina',\n", " 'ND': 'North Dakota',\n", " 'NE': 'Nebraska',\n", " 'NH': 'New Hampshire',\n", " 'NJ': 'New Jersey',\n", " 'NM': 'New Mexico',\n", " 'NV': 'Nevada',\n", " 'NY': 'New York',\n", " 'OH': 'Ohio',\n", " 'OK': 'Oklahoma',\n", " 'OR': 'Oregon',\n", " 'PA': 'Pennsylvania',\n", " 'PR': 'Puerto Rico',\n", " 'RI': 'Rhode Island',\n", " 'SC': 'South Carolina',\n", " 'SD': 'South Dakota',\n", " 'TN': 'Tennessee',\n", " 'TX': 'Texas',\n", " 'UT': 'Utah',\n", " 'VA': 'Virginia',\n", " 'VI': 'Virgin Islands',\n", " 'VT': 'Vermont',\n", " 'WA': 'Washington',\n", " 'WI': 'Wisconsin',\n", " 'WV': 'West Virginia',\n", " 'WY': 'Wyoming'\n", "}" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 111 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Campaign Contributions from FEC." ] }, { "cell_type": "code", "collapsed": false, "input": [ "obama_give = pandas.read_csv(\"/home/skipper/school/seaboldgit/talks/pydata/data/obama_indiv_state.csv\", \n", " header=None, names=[\"State\", \"obama_give\"])\n", "romney_give = pandas.read_csv(\"/home/skipper/school/seaboldgit/talks/pydata/data/romney_indiv_state.csv\",\n", " header=None, names=[\"State\", \"romney_give\"])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 112 }, { "cell_type": "code", "collapsed": false, "input": [ "obama_give.State.replace(states_abbrev_dict, inplace=True);\n", "romney_give.State.replace(states_abbrev_dict, inplace=True);" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 113 }, { "cell_type": "code", "collapsed": false, "input": [ "obama_give.set_index(\"State\", inplace=True)\n", "romney_give.set_index(\"State\", inplace=True);" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 114 }, { "cell_type": "code", "collapsed": false, "input": [ "demo_data = census_data.join(party_affil[[\"dem_adv\", \"no_party\"]]).join(pvi)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 115 }, { "cell_type": "code", "collapsed": false, "input": [ "demo_data = demo_data.join(obama_give).join(romney_give)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 116 }, { "cell_type": "code", "collapsed": false, "input": [ "giving = demo_data[[\"obama_give\", \"romney_give\"]].div(demo_data[[\"vote_pop\", \"older_pop\"]].sum(1), axis=0)\n", "giving" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 117, "text": [ " obama_give romney_give\n", "State \n", "Alabama 0.245 0.366\n", "Alaska 1.112 0.499\n", "Arizona 0.569 0.673\n", "Arkansas 0.247 0.217\n", "California 1.128 0.618\n", "Colorado 1.056 0.797\n", "Connecticut 1.207 1.545\n", "Delaware 0.767 0.359\n", "District of Columbia 326.864 2.535\n", "Florida 0.503 0.875\n", "Georgia 0.468 0.526\n", "Hawaii 1.007 0.225\n", "Idaho 0.366 0.990\n", "Illinois 0.934 0.590\n", "Indiana 0.341 0.257\n", "Iowa 0.487 0.286\n", "Kansas 0.392 0.470\n", "Kentucky 0.289 0.393\n", "Louisiana 0.260 0.529\n", "Maine 0.800 0.246\n", "Maryland 1.518 0.594\n", "Massachusetts 1.735 1.105\n", "Michigan 0.512 0.501\n", "Minnesota 0.660 0.232\n", "Mississippi 0.189 0.327\n", "Missouri 0.413 0.482\n", "Montana 0.764 0.534\n", "Nebraska 0.336 0.351\n", "Nevada 0.484 0.639\n", "New Hampshire 0.962 0.734\n", "New Jersey 0.736 0.704\n", "New Mexico 1.052 0.379\n", "New York 1.199 0.809\n", "North Carolina 0.549 0.355\n", "North Dakota 0.238 0.343\n", "Ohio 0.378 0.428\n", "Oklahoma 0.325 0.801\n", "Oregon 0.971 0.342\n", "Pennsylvania 0.588 0.467\n", "Rhode Island 0.713 0.358\n", "South Carolina 0.317 0.351\n", "South Dakota 0.271 0.519\n", "Tennessee 0.377 0.522\n", "Texas 0.477 0.691\n", "Utah 0.379 2.395\n", "Vermont 1.602 0.250\n", "Virginia 1.000 0.939\n", "Washington 1.191 0.476\n", "West Virginia 0.260 0.321\n", "Wisconsin 0.455 0.238\n", "Wyoming 0.746 1.080" ] } ], "prompt_number": 117 }, { "cell_type": "code", "collapsed": false, "input": [ "demo_data[[\"obama_give\", \"romney_give\"]] = giving" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 118 }, { "cell_type": "code", "collapsed": false, "input": [ "from scipy import cluster as sp_cluster\n", "from sklearn import cluster, neighbors" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 119 }, { "cell_type": "code", "collapsed": false, "input": [ "clean_data = sp_cluster.vq.whiten(demo_data.values)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 120 }, { "cell_type": "code", "collapsed": false, "input": [ "clean_data.var(axis=0)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 121, "text": [ "array([ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,\n", " 1., 1.])" ] } ], "prompt_number": 121 }, { "cell_type": "code", "collapsed": false, "input": [ "KNN = neighbors.NearestNeighbors(n_neighbors=7)\n", "KNN.fit(clean_data)\n", "KNN.kneighbors(clean_data[0], return_distance=True)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 122, "text": [ "(array([[ 0. , 0.8763, 1.0233, 1.3971, 1.8694, 2.1093, 2.2603]]),\n", " array([[ 0, 40, 18, 42, 24, 33, 10]], dtype=int32))" ] } ], "prompt_number": 122 }, { "cell_type": "code", "collapsed": false, "input": [ "idx = _[1]\n", "demo_data.index[0], demo_data.index[idx]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 123, "text": [ "('Alabama',\n", " array([['Alabama', 'South Carolina', 'Louisiana', 'Tennessee',\n", " 'Mississippi', 'North Carolina', 'Georgia']], dtype=object))" ] } ], "prompt_number": 123 }, { "cell_type": "code", "collapsed": false, "input": [ "nearest_neighbor = {}\n", "for i, state in enumerate(demo_data.index):\n", " neighborhood = KNN.kneighbors(clean_data[i], return_distance=True)\n", " nearest_neighbor.update({state : (demo_data.index[neighborhood[1]],\n", " neighborhood[0])})" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 124 }, { "cell_type": "code", "collapsed": false, "input": [ "nearest_neighbor" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 125, "text": [ "{'Alabama': (array([['Alabama', 'South Carolina', 'Louisiana', 'Tennessee',\n", " 'Mississippi', 'North Carolina', 'Georgia']], dtype=object),\n", " array([[ 0. , 0.8763, 1.0233, 1.3971, 1.8694, 2.1093, 2.2603]])),\n", " 'Alaska': (array([['Alaska', 'Wyoming', 'Nebraska', 'Washington', 'Kansas',\n", " 'Delaware', 'Colorado']], dtype=object),\n", " array([[ 0. , 3.3349, 3.6854, 3.7395, 3.7689, 3.7821, 3.8213]])),\n", " 'Arizona': (array([['Arizona', 'Nevada', 'Oklahoma', 'New Mexico', 'Oregon',\n", " 'Colorado', 'Kansas']], dtype=object),\n", " array([[ 0. , 2.6992, 2.8728, 2.8766, 3.0299, 3.0351, 3.0367]])),\n", " 'Arkansas': (array([['Arkansas', 'Tennessee', 'Alabama', 'Kentucky', 'Indiana',\n", " 'Missouri', 'South Carolina']], dtype=object),\n", " array([[ 0. , 1.8792, 2.3171, 2.4043, 2.4555, 2.5235, 2.5635]])),\n", " 'California': (array([['California', 'Texas', 'New York', 'Florida', 'Illinois',\n", " 'New Jersey', 'Pennsylvania']], dtype=object),\n", " array([[ 0. , 3.9121, 4.461 , 4.7217, 5.8944, 6.7702, 7.0775]])),\n", " 'Colorado': (array([['Colorado', 'Washington', 'Virginia', 'Oregon', 'Kansas',\n", " 'Minnesota', 'New Hampshire']], dtype=object),\n", " array([[ 0. , 1.8541, 2.4517, 2.5881, 2.655 , 2.7096, 2.7496]])),\n", " 'Connecticut': (array([['Connecticut', 'Massachusetts', 'New Jersey', 'Virginia',\n", " 'Colorado', 'Washington', 'New Hampshire']], dtype=object),\n", " array([[ 0. , 1.882 , 2.4986, 2.8973, 3.2209, 3.4531, 3.4642]])),\n", " 'Delaware': (array([['Delaware', 'Washington', 'Michigan', 'Illinois', 'Oregon',\n", " 'Virginia', 'Rhode Island']], dtype=object),\n", " array([[ 0. , 2.5376, 2.7875, 2.8076, 2.8882, 2.9771, 3.0112]])),\n", " 'District of Columbia': (array([['District of Columbia', 'Maryland', 'Massachusetts', 'Connecticut',\n", " 'New Jersey', 'Virginia', 'Delaware']], dtype=object),\n", " array([[ 0. , 12.3449, 12.6305, 12.6762, 13.2193, 13.5237,\n", " 13.7589]])),\n", " 'Florida': (array([['Florida', 'New York', 'Illinois', 'Texas', 'Pennsylvania',\n", " 'North Carolina', 'Ohio']], dtype=object),\n", " array([[ 0. , 2.9107, 3.038 , 3.1893, 3.3073, 3.4896, 3.5918]])),\n", " 'Georgia': (array([['Georgia', 'North Carolina', 'South Carolina', 'Louisiana',\n", " 'Alabama', 'Tennessee', 'Missouri']], dtype=object),\n", " array([[ 0. , 1.5857, 1.7042, 2.0122, 2.2603, 2.2821, 2.7322]])),\n", " 'Hawaii': (array([['Hawaii', 'Delaware', 'Washington', 'New Jersey', 'Illinois',\n", " 'Nevada', 'Alaska']], dtype=object),\n", " array([[ 0. , 3.5885, 3.861 , 4.0249, 4.2819, 4.3453, 4.3871]])),\n", " 'Idaho': (array([['Idaho', 'Nebraska', 'Kansas', 'Wyoming', 'Oklahoma', 'Montana',\n", " 'North Dakota']], dtype=object),\n", " array([[ 0. , 1.9803, 2.0754, 2.0787, 2.1757, 2.2378, 2.3297]])),\n", " 'Illinois': (array([['Illinois', 'New York', 'Washington', 'Michigan', 'Virginia',\n", " 'Pennsylvania', 'New Jersey']], dtype=object),\n", " array([[ 0. , 2.0673, 2.137 , 2.2883, 2.4543, 2.59 , 2.6832]])),\n", " 'Indiana': (array([['Indiana', 'Missouri', 'Tennessee', 'Ohio', 'Iowa', 'Michigan',\n", " 'Wisconsin']], dtype=object),\n", " array([[ 0. , 0.907 , 1.5921, 1.6033, 1.7819, 1.9781, 2.0616]])),\n", " 'Iowa': (array([['Iowa', 'Maine', 'Wisconsin', 'Oregon', 'North Dakota', 'Missouri',\n", " 'Indiana']], dtype=object),\n", " array([[ 0. , 1.1152, 1.5243, 1.594 , 1.6018, 1.755 , 1.7819]])),\n", " 'Kansas': (array([['Kansas', 'Nebraska', 'North Dakota', 'Montana', 'Idaho',\n", " 'Indiana', 'Missouri']], dtype=object),\n", " array([[ 0. , 0.6719, 1.5316, 1.6431, 2.0754, 2.154 , 2.2018]])),\n", " 'Kentucky': (array([['Kentucky', 'West Virginia', 'Tennessee', 'Indiana', 'Oklahoma',\n", " 'Alabama', 'Arkansas']], dtype=object),\n", " array([[ 0. , 1.1876, 1.7593, 2.1843, 2.2642, 2.3361, 2.4043]])),\n", " 'Louisiana': (array([['Louisiana', 'Alabama', 'South Carolina', 'Mississippi',\n", " 'Tennessee', 'Georgia', 'North Carolina']], dtype=object),\n", " array([[ 0. , 1.0233, 1.136 , 1.5793, 1.9074, 2.0122, 2.2222]])),\n", " 'Maine': (array([['Maine', 'Iowa', 'Vermont', 'North Dakota', 'Montana', 'Oregon',\n", " 'Missouri']], dtype=object),\n", " array([[ 0. , 1.1152, 1.7709, 2.0009, 2.1852, 2.2556, 2.2738]])),\n", " 'Maryland': (array([['Maryland', 'Virginia', 'New Jersey', 'Massachusetts',\n", " 'Connecticut', 'Delaware', 'Washington']], dtype=object),\n", " array([[ 0. , 2.9192, 2.9716, 3.0229, 3.4926, 3.5658, 3.7933]])),\n", " 'Massachusetts': (array([['Massachusetts', 'Connecticut', 'New Jersey', 'Washington',\n", " 'Virginia', 'Colorado', 'New Hampshire']], dtype=object),\n", " array([[ 0. , 1.882 , 2.5823, 2.6111, 2.7211, 2.8532, 2.8816]])),\n", " 'Michigan': (array([['Michigan', 'Ohio', 'Missouri', 'Pennsylvania', 'Indiana',\n", " 'Wisconsin', 'Iowa']], dtype=object),\n", " array([[ 0. , 0.914 , 1.5797, 1.9268, 1.9781, 2.1194, 2.1783]])),\n", " 'Minnesota': (array([['Minnesota', 'Washington', 'Wisconsin', 'Oregon', 'New Hampshire',\n", " 'Iowa', 'Vermont']], dtype=object),\n", " array([[ 0. , 1.4419, 1.6072, 1.8303, 1.9445, 2.2889, 2.363 ]])),\n", " 'Mississippi': (array([['Mississippi', 'Louisiana', 'Alabama', 'South Carolina',\n", " 'Tennessee', 'North Carolina', 'Georgia']], dtype=object),\n", " array([[ 0. , 1.5793, 1.8694, 2.1346, 3.0436, 3.163 , 3.2884]])),\n", " 'Missouri': (array([['Missouri', 'Indiana', 'Ohio', 'Tennessee', 'Michigan', 'Iowa',\n", " 'North Dakota']], dtype=object),\n", " array([[ 0. , 0.907 , 1.414 , 1.537 , 1.5797, 1.755 , 2.1177]])),\n", " 'Montana': (array([['Montana', 'North Dakota', 'Nebraska', 'Kansas', 'Iowa',\n", " 'South Dakota', 'Maine']], dtype=object),\n", " array([[ 0. , 1.0132, 1.4011, 1.6431, 1.7944, 1.8935, 2.1852]])),\n", " 'Nebraska': (array([['Nebraska', 'Kansas', 'North Dakota', 'Montana', 'Idaho', 'Iowa',\n", " 'Indiana']], dtype=object),\n", " array([[ 0. , 0.6719, 1.1533, 1.4011, 1.9803, 2.0716, 2.1521]])),\n", " 'Nevada': (array([['Nevada', 'Arizona', 'Delaware', 'Illinois', 'New Mexico',\n", " 'Colorado', 'Indiana']], dtype=object),\n", " array([[ 0. , 2.6992, 3.2186, 3.3355, 3.4181, 3.4779, 3.4977]])),\n", " 'New Hampshire': (array([['New Hampshire', 'Minnesota', 'Washington', 'Vermont', 'Colorado',\n", " 'Wisconsin', 'Massachusetts']], dtype=object),\n", " array([[ 0. , 1.9445, 2.3854, 2.6837, 2.7496, 2.8483, 2.8816]])),\n", " 'New Jersey': (array([['New Jersey', 'Virginia', 'Connecticut', 'Massachusetts',\n", " 'Illinois', 'Washington', 'Maryland']], dtype=object),\n", " array([[ 0. , 2.4212, 2.4986, 2.5823, 2.6832, 2.9395, 2.9716]])),\n", " 'New Mexico': (array([['New Mexico', 'Arizona', 'Nevada', 'Oregon', 'Oklahoma',\n", " 'North Carolina', 'Colorado']], dtype=object),\n", " array([[ 0. , 2.8766, 3.4181, 4.7554, 4.8641, 4.8808, 4.9258]])),\n", " 'New York': (array([['New York', 'Illinois', 'Florida', 'New Jersey', 'Virginia',\n", " 'Michigan', 'Pennsylvania']], dtype=object),\n", " array([[ 0. , 2.0673, 2.9107, 3.3612, 3.6949, 3.819 , 3.9422]])),\n", " 'North Carolina': (array([['North Carolina', 'Georgia', 'South Carolina', 'Tennessee',\n", " 'Alabama', 'Ohio', 'Missouri']], dtype=object),\n", " array([[ 0. , 1.5857, 1.6217, 1.8337, 2.1093, 2.1905, 2.1934]])),\n", " 'North Dakota': (array([['North Dakota', 'Montana', 'Nebraska', 'Kansas', 'Iowa', 'Maine',\n", " 'Indiana']], dtype=object),\n", " array([[ 0. , 1.0132, 1.1533, 1.5316, 1.6018, 2.0009, 2.0738]])),\n", " 'Ohio': (array([['Ohio', 'Michigan', 'Missouri', 'Indiana', 'Pennsylvania',\n", " 'Wisconsin', 'North Carolina']], dtype=object),\n", " array([[ 0. , 0.914 , 1.414 , 1.6033, 1.6991, 2.1596, 2.1905]])),\n", " 'Oklahoma': (array([['Oklahoma', 'Tennessee', 'Idaho', 'Indiana', 'Kentucky', 'Kansas',\n", " 'Missouri']], dtype=object),\n", " array([[ 0. , 2.0111, 2.1757, 2.21 , 2.2642, 2.3057, 2.3747]])),\n", " 'Oregon': (array([['Oregon', 'Wisconsin', 'Iowa', 'Washington', 'Minnesota',\n", " 'Missouri', 'Kansas']], dtype=object),\n", " array([[ 0. , 1.2415, 1.594 , 1.6631, 1.8303, 2.2442, 2.2534]])),\n", " 'Pennsylvania': (array([['Pennsylvania', 'Ohio', 'Michigan', 'Wisconsin', 'North Carolina',\n", " 'Oregon', 'Illinois']], dtype=object),\n", " array([[ 0. , 1.6991, 1.9268, 1.9716, 2.297 , 2.5221, 2.59 ]])),\n", " 'Rhode Island': (array([['Rhode Island', 'Delaware', 'Vermont', 'Maine', 'Nevada',\n", " 'Illinois', 'Washington']], dtype=object),\n", " array([[ 0. , 3.0112, 3.6719, 3.8235, 3.8411, 3.8785, 3.887 ]])),\n", " 'South Carolina': (array([['South Carolina', 'Alabama', 'Louisiana', 'Tennessee',\n", " 'North Carolina', 'Georgia', 'Mississippi']], dtype=object),\n", " array([[ 0. , 0.8763, 1.136 , 1.4947, 1.6217, 1.7042, 2.1346]])),\n", " 'South Dakota': (array([['South Dakota', 'Montana', 'North Dakota', 'Wisconsin', 'Kansas',\n", " 'Nebraska', 'Oklahoma']], dtype=object),\n", " array([[ 0. , 1.8935, 2.1282, 2.1654, 2.2243, 2.2675, 2.4938]])),\n", " 'Tennessee': (array([['Tennessee', 'Alabama', 'South Carolina', 'Missouri', 'Indiana',\n", " 'Kentucky', 'North Carolina']], dtype=object),\n", " array([[ 0. , 1.3971, 1.4947, 1.537 , 1.5921, 1.7593, 1.8337]])),\n", " 'Texas': (array([['Texas', 'Florida', 'California', 'New York', 'Arizona',\n", " 'Illinois', 'Georgia']], dtype=object),\n", " array([[ 0. , 3.1893, 3.9121, 4.2069, 4.5867, 4.6339, 4.7973]])),\n", " 'Utah': (array([['Utah', 'Idaho', 'Wyoming', 'Kansas', 'Oklahoma', 'Nebraska',\n", " 'South Dakota']], dtype=object),\n", " array([[ 0. , 3.8272, 4.1158, 4.8072, 4.8669, 5.0276, 5.046 ]])),\n", " 'Vermont': (array([['Vermont', 'Maine', 'Iowa', 'Minnesota', 'Oregon', 'Washington',\n", " 'New Hampshire']], dtype=object),\n", " array([[ 0. , 1.7709, 2.3538, 2.363 , 2.5073, 2.6424, 2.6837]])),\n", " 'Virginia': (array([['Virginia', 'New Jersey', 'Colorado', 'Illinois', 'Washington',\n", " 'Massachusetts', 'Connecticut']], dtype=object),\n", " array([[ 0. , 2.4212, 2.4517, 2.4543, 2.5525, 2.7211, 2.8973]])),\n", " 'Washington': (array([['Washington', 'Minnesota', 'Oregon', 'Colorado', 'Wisconsin',\n", " 'Illinois', 'New Hampshire']], dtype=object),\n", " array([[ 0. , 1.4419, 1.6631, 1.8541, 2.0414, 2.137 , 2.3854]])),\n", " 'West Virginia': (array([['West Virginia', 'Kentucky', 'Tennessee', 'Indiana', 'Oklahoma',\n", " 'Arkansas', 'Missouri']], dtype=object),\n", " array([[ 0. , 1.1876, 2.7545, 2.8103, 2.8824, 2.9104, 3.1176]])),\n", " 'Wisconsin': (array([['Wisconsin', 'Oregon', 'Iowa', 'Minnesota', 'Pennsylvania',\n", " 'Washington', 'Indiana']], dtype=object),\n", " array([[ 0. , 1.2415, 1.5243, 1.6072, 1.9716, 2.0414, 2.0616]])),\n", " 'Wyoming': (array([['Wyoming', 'Idaho', 'Nebraska', 'Kansas', 'North Dakota',\n", " 'Montana', 'Alaska']], dtype=object),\n", " array([[ 0. , 2.0787, 2.4089, 2.6214, 2.6543, 2.8861, 3.3349]]))}" ] } ], "prompt_number": 125 }, { "cell_type": "code", "collapsed": false, "input": [ "k_means = cluster.KMeans(n_clusters=5, n_init=50)\n", "k_means.fit(clean_data)\n", "values = k_means.cluster_centers_.squeeze()\n", "labels = k_means.labels_" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 126 }, { "cell_type": "code", "collapsed": false, "input": [ "clusters = sp_cluster.vq.kmeans(clean_data, 5)[0]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 127 }, { "cell_type": "code", "collapsed": false, "input": [ "def choose_group(data, clusters):\n", " \"\"\"\n", " Return the index of the cluster to which the rows in data\n", " are \"closest\" (in the sense of the L2-norm)\n", " \"\"\"\n", " data = data[:,None] # add an axis for broadcasting\n", " distances = data - clusters\n", " groups = []\n", " for row in distances:\n", " dists = map(np.linalg.norm, row)\n", " groups.append(np.argmin(dists))\n", " return groups" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 128 }, { "cell_type": "code", "collapsed": false, "input": [ "groups = choose_group(clean_data, clusters)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 129 }, { "cell_type": "code", "collapsed": false, "input": [ "np.array(groups)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 130, "text": [ "array([1, 0, 3, 1, 4, 0, 0, 0, 2, 4, 1, 0, 3, 0, 3, 3, 3, 1, 1, 3, 0, 0, 3,\n", " 0, 1, 3, 3, 3, 0, 0, 0, 1, 4, 1, 3, 3, 1, 3, 3, 0, 1, 3, 1, 4, 3, 0,\n", " 0, 0, 1, 3, 3])" ] } ], "prompt_number": 130 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or use a one-liner" ] }, { "cell_type": "code", "collapsed": false, "input": [ "groups = [np.argmin(map(np.linalg.norm, (clean_data[:,None] - clusters)[i])) for i in range(51)]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 131 }, { "cell_type": "code", "collapsed": false, "input": [ "demo_data[\"kmeans_group\"] = groups\n", "demo_data[\"kmeans_labels\"] = labels" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 132 }, { "cell_type": "code", "collapsed": false, "input": [ "for _, group in demo_data.groupby(\"kmeans_group\"):\n", " group = group.index\n", " group.values.sort()\n", " print group.values" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "['Alaska' 'Colorado' 'Connecticut' 'Delaware' 'Hawaii' 'Illinois'\n", " 'Maryland' 'Massachusetts' 'Minnesota' 'Nevada' 'New Hampshire'\n", " 'New Jersey' 'Rhode Island' 'Vermont' 'Virginia' 'Washington']\n", "['Alabama' 'Arkansas' 'Georgia' 'Kentucky' 'Louisiana' 'Mississippi'\n", " 'New Mexico' 'North Carolina' 'Oklahoma' 'South Carolina' 'Tennessee'\n", " 'West Virginia']\n", "['District of Columbia']\n", "['Arizona' 'Idaho' 'Indiana' 'Iowa' 'Kansas' 'Maine' 'Michigan' 'Missouri'\n", " 'Montana' 'Nebraska' 'North Dakota' 'Ohio' 'Oregon' 'Pennsylvania'\n", " 'South Dakota' 'Utah' 'Wisconsin' 'Wyoming']\n", "['California' 'Florida' 'New York' 'Texas']\n" ] } ], "prompt_number": 133 }, { "cell_type": "code", "collapsed": false, "input": [ "labels" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 134, "text": [ "array([0, 1, 0, 0, 3, 1, 1, 1, 2, 3, 0, 1, 4, 1, 4, 4, 4, 0, 0, 4, 1, 1, 4,\n", " 4, 0, 4, 4, 4, 1, 4, 1, 0, 3, 0, 4, 4, 0, 4, 4, 1, 0, 4, 0, 3, 4, 4,\n", " 1, 1, 0, 4, 4])" ] } ], "prompt_number": 134 }, { "cell_type": "code", "collapsed": false, "input": [ "demo_data[\"kmeans_labels\"] = labels\n", "for _, group in demo_data.groupby(\"kmeans_labels\"):\n", " group = group.index.copy()\n", " group.values.sort()\n", " print group.values" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "['Alabama' 'Arizona' 'Arkansas' 'Georgia' 'Kentucky' 'Louisiana'\n", " 'Mississippi' 'New Mexico' 'North Carolina' 'Oklahoma' 'South Carolina'\n", " 'Tennessee' 'West Virginia']\n", "['Alaska' 'Colorado' 'Connecticut' 'Delaware' 'Hawaii' 'Illinois'\n", " 'Maryland' 'Massachusetts' 'Nevada' 'New Jersey' 'Rhode Island' 'Virginia'\n", " 'Washington']\n", "['District of Columbia']\n", "['California' 'Florida' 'New York' 'Texas']\n", "['Idaho' 'Indiana' 'Iowa' 'Kansas' 'Maine' 'Michigan' 'Minnesota'\n", " 'Missouri' 'Montana' 'Nebraska' 'New Hampshire' 'North Dakota' 'Ohio'\n", " 'Oregon' 'Pennsylvania' 'South Dakota' 'Utah' 'Vermont' 'Wisconsin'\n", " 'Wyoming']\n" ] } ], "prompt_number": 135 }, { "cell_type": "code", "collapsed": false, "input": [ "demo_data = demo_data.reset_index()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 136 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012.State.replace(states_abbrev_dict, inplace=True);" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 137 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012 = state_data2012.merge(demo_data[[\"State\", \"kmeans_labels\"]], on=\"State\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 138 }, { "cell_type": "code", "collapsed": false, "input": [ "kmeans_groups = state_data2012.groupby(\"kmeans_labels\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 139 }, { "cell_type": "code", "collapsed": false, "input": [ "group = kmeans_groups.get_group(kmeans_groups.groups.keys()[2])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 140 }, { "cell_type": "code", "collapsed": false, "input": [ "group.State.unique()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 141, "text": [ "array(['California', 'Florida', 'New York', 'Texas'], dtype=object)" ] } ], "prompt_number": 141 }, { "cell_type": "code", "collapsed": false, "input": [ "def edit_tick_label(tick_val, tick_pos):\n", " if tick_val < 0:\n", " text = str(int(tick_val)).replace(\"-\", \"Romney+\")\n", " else:\n", " text = \"Obama+\"+str(int(tick_val))\n", " return text" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 142 }, { "cell_type": "code", "collapsed": false, "input": [ "from pandas import lib\n", "from matplotlib.ticker import FuncFormatter\n", "fig, axes = plt.subplots(figsize=(12,8))\n", "\n", "data = group[[\"poll_date\", \"obama_spread\"]]\n", "data = pandas.concat((data, national_data2012[[\"poll_date\", \"obama_spread\"]]))\n", " \n", "data.sort(\"poll_date\", inplace=True)\n", "dates = pandas.DatetimeIndex(data.poll_date).asi8\n", "\n", "loess_res = sm.nonparametric.lowess(data.obama_spread.values, dates, \n", " frac=.2, it=3)\n", "\n", "dates_x = lib.ints_to_pydatetime(dates)\n", "axes.scatter(dates_x, data[\"obama_spread\"])\n", "axes.plot(dates_x, loess_res[:,1], color='r')\n", "axes.yaxis.get_major_locator().set_params(nbins=12)\n", "axes.yaxis.set_major_formatter(FuncFormatter(edit_tick_label))\n", "axes.grid(False, axis='x')\n", "axes.hlines(0, dates_x[0], dates_x[-1], color='black', lw=3)\n", "axes.margins(0, .05)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n3Bn5+Bv5CkREREREeskHHzj52c9iMU2D8nIHv/qVJ9IlKYCLiIiISP8VFWXicLR2O/F61QVFRERE\nRKTXjBkTYsWKekaNCnLDDc3ce29TpEvSlzBFREREpP+KioKZM/1cd52fmBiIiYl0RQrgIiIiItLP\nGQYkJ0e6ilbqgiIiIiIiYiMFcBERERERGymAi4iIiIjYSAFcRERERMRGCuAiIiIiIjZSABcRERER\nsZECuIiIiIiIjRTARURERERspAAuIiIiImIjBXARERERERspgIuIiIiI2EgBXERERETERgrgIiIi\nIiI2UgAXEREREbGRAriIiIiIiI0UwEVEREREbKQALiIiIiJiIwVwEREREREbKYCLiIiIiNhIAVxE\nRERExEYK4CIiIiIiNlIAFxERERGxkQK4iIiIiIiNFMBFRERERGzk6myBvXv3snbtWgBmzpxJVlYW\nixYt4uGHH+714k73zDPPcOjQIeLi4vj617/OoEGDAHjiiSc4cuQIbreb6667jqlTp9pem4iIiMiF\nLhSChgaIj490Jf1bpwF81apV3H///RiGwfLly1myZIkddbXrnnvuAWDLli289tpr3H777QAYhsGC\nBQsYPHhwxGoTERERuZBVVBg89VQ0r74axV13NXHnnc0kJka6qv6pwwBeUVFBenp6+E5zWloalZWV\n+Hw+li1bRnV1Nfn5+eTn5wOwadMmiouLKS0tZfr06UyePJn169ezfft2ysrKyMvLY8OGDSxcuBCv\n19vu8i2Ki4s5duxYu3ez4+PjCQQCbX5nmmaXdnjjxo1MmjQp/DOgttpqq6222mqrPeDbVVV5PP54\nDAALF7q49NIQU6YE+kx9F1I7NjaWjhhmB8l1y5YtHDlyhJkzZwKwZs0aMjIyWLlyJYsXLyY5OZmC\nggKWLl2Ky+UiEAjgcrnw+XwsXbqUhx56iPXr11NRUYHH4wGgqamJrKwscnJy2l3+wIEDFBYWUl9f\nj9/vx+v1MmvWLMaNGxeua8WKFXzhC18gIyMDsLqmlJaWkpmZya233nrWO+Hr1q0jJyenwwMiIiIi\nMhD97nduvve9uHD7+edrufHGQAQrunAVFRWFb1C3x9XRysOHD2fr1q3hdkVFBbm5uXi9XoYOHQpA\nZmYm5eXlZGZmsmvXLoqKinC73dTV1YXX83q9AHg8HmpqamhubgZod/kRI0ZQUFBASUkJR48ePeMO\n+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\nEeltnfUB1z8gioiIiIjYSAFcRERERMRGCuAiIiIiIjZSABcRERERsZECuIiIiIiIjRTARURERERs\npAAuIiIiImIjBXARERERERspgIuIiIiI2EgBXERERETERgrgIiIiIiI2UgAXEREREbGRAriIiIiI\niI0UwLuorg4++sigpibSlYiIiIj0XSdPWpnp5MlIV9J3KYB3wdGjBg8+GMP48Ul87WvxHDigwyYi\nIiJyurIyg+9+N5bx45P4t3+LpazMiHRJfZKSZBfs2OHk2Wc9BAIG69dH8dZbrkiXJCIiItLnvPee\ni7VrowkEDP7nf6J57z1lpvYogHeB47Sj5HKZkSlEREREpA9zOjtui0UBvAuuuCLA/fc3MnhwiC99\nqYnPfjYQ6ZJERERE+pzx4wN87Ws+Bg8Occ89PsaPV2Zqj2Ga5oC5nbtu3TpycnLOaV2fD2pqDBIS\nTOLiergwERERkX6isRFOnDBISjKJiYl0NZFRVFREfn7+Wf+ujjld5PFAauqA+awiIiIick5iYiAm\nRpmpI+qCIiIiIiJiIwVwEREREREbKYCLiIiIiNhIAVxERERExEb6EqaIiIhINwSD8O67TjZujOLy\nywNMnBggPj7SVcmFRAFcREREpBt27HDyxS8m4Pdb06z/4Q+1TJum8a6l69QFRURERKQbKiuNcPgG\n2LtX0z1K9yiAi4iIiHTDJZeESE8PAeDxmFx9te5+S/eoC4qIiIhIN4weHWLNmloOHnQwZEiIyy8P\nRbokucAogIuIiIh00+jRIUaPVvCWc6MuKCIiIiIiNlIAFxERERGxkQK4iIiIiIiNFMBFRERERGyk\nL2GKiIiICAAHDzqorjZITQ2Rnm5Gupx+S3fARURERIRduxzcdFMC06YlMnduPAcPKib2Fh1ZERER\nEeGdd1xUVFjRcPt2FyUliom9RUdWRERERLjoolO7nJh4veqC0lvUB1xEREREyM318+ij9bz2WhSz\nZzdzxRXBSJfUbymAi4iIiAgpKTB/fjPz5zdHupR+T11QRERERERspAAuIiIiImIjBXARERERERsp\ngIuIiIiI2KjTL2Hu3buXtWvXAjBz5kyysrJYtGgRDz/8cK8Xd7pdu3bxu9/9juzsbO66667w7594\n4gmOHDmC2+3muuuuY+rUqbbXJiIiIiLSFZ0G8FWrVnH//fdjGAbLly9nyZIldtTVLr/fz6xZs9iz\n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\nPd997cr5F+ng3aKjWu16zjuq4dQPSL1dj/qAi4iIiIjYSAFcRERERMRGCuAiIiIiIjY6595fe/fu\nZe3atQDMnDmTrKwsFi1axMMPP9xjxXXVE088wZEjR3C73Vx33XVMnTrV9hpERERERLrinAP4qlWr\nuP/++zEMg+XLl7NkyZKerKtbDMNgwYIFDB48OGI1SM8zTdi82clvfuNhzJggd9/d1OGUsAcOOHj6\n6WjKyhx861s+xo/vwowYIhJmmtakGCtWRHPZZdZQa10dCs804a23rElMsrODfOUrHa/r98M//uHi\npZeiuO66AH/6k5srrwzy5S83hYdp6y3BILzxhounn44mJyfAnXc2k57eNwcEazlOv/tdNLNnN7Nj\nh5Pdu51885s+PvvZ8xt2sboa1q5189prUdxxRzOf+5yf2Nieq906J1w89VR0l84JO5w8CX/9axR/\n/rObL36xifHjA7z9tpu//CWKiROtc2HIkI5r3LfPwa9/7SY3N8h777mornbwne/4uPLKzt9zrHWj\naWgw+M53fFx++bmPMX3okEFhYTQffODkvvt85OZG/j2vpgb+/Gc3f/tbFLNmNXPTTe0Pz9ji6FGD\nP/3JzZtvurjrriby83tnCEKAI0cMSkocvPNOFG63idsNW7a4mDu3iZEjQ/z6126mTg3y5puu8PMz\ndmzvjUN/TgG8oqKC9PR0Bn0y4GlaWhqVlZX4fD6WLVtGdXU1+fn54eFXNm3aRHFxMaWlpUyfPp3J\nkyezfv16tm/fTllZGXl5eWzYsIGFCxfi9XrbXb5FcXExx44dO+Mud1dHU9y4cSOTJk0K/wyo3Ufb\nmzcf5/bbR9HYaPCXv0Ag4Gf69He46qqrzlg+FIJHH43ihResGcz+8Q8XL7zwAc3Ne/rM/qitdt9v\nX84dd4ygqcl6zUEzP/qR2aX133rrY26/fWR4XdNsZtq0LUyYMOEs69cyZ04mP/6xj/vui6O52eCl\nl6yJUL797aZe3d9duxzMnh1PIGDw0ktuEhJMxo17E7/f38eeD4iPv445c+LJzAx98qHBusa99loU\nL764n4kTB53z4x89eg3f/761/ssvR/HCC+XccENMj9VvGJedcU4sWtS186m32s3NU/nWt6xEWF9v\nEAw28b3vWTNVvvqqm6FDQ8ye7T/r+ldeOYn777c+pVRUOHnlFSstvvGGi+ef38OECaln3X5s7BCW\nLs0Jz5r5zjsuXnmllqFDzW7vT1FREX/849X85jfW8/X661H84Q+lXHttSkSPr883le9+Nw6wzqm1\na+uYPDlwlvPDoLx8Kj/5iXU8X3klir//vZbx44M9Xt+WLVvYseNqamtd/PKXHhYu9LFkiXXsEhJM\n9uxxMmSIye9+5+LNN63nZ9MmF6+9VktqavefH+v57vjT7DmNA75lyxaOHDnCzJkzAVizZg0ZGRms\nXLmSxYsXk5ycTEFBAUuXLsXlchEIBHC5XPh8PpYuXcpDDz3E+vXrqaiowOOxLiZNTU1kZWWRk5PT\n7vIHDhygsLCQ+vp6/H4/Xq+XL33pS4wdO5ZnnnmG0tJSMjMzufXWW896J1zjgF9YioqcTJvWOivB\njBnN/O539e0u6/PBzTcn8N57rvDv3nrrBJ/+tL2zqIlcyLZscXLjja2vudtvb+K3v23o0rr//KeT\nz3++dd1bb21mxYr2X68A69e7+NKXEli4sJFHHmmdwvLuu308/njjOVTfdZs2OZkxo7XW+fN9PPpo\n727zXG3Y4GLWrASuvDJAamqIl19uvT3497+f5Kqrzv2u57PPurn//rhw+/e/r+WmmwLnVe+pTj8n\nbrutiaee6tr51Fv+9Kco5s+3AvgttzSTkxOgoKA1KP34xw18//tNZ13/2DGDvLxErroqwAcfOCgp\naX3PeeedE2Rlnf09p6rKWreszPr6ndNp8u67J9vM6NpVpgm33x7H66+3ng//+McJrrgisu95L7zg\n5r77Ws+pZ5+t44tf9J91+eXLo/n3f289/n/8Yy3XX99z5+CpfvUrNx9+6GL16ijmzm3mySet/Hnf\nfT6ef97NTTf5efttFwcOWGM2GobJe++dZMSIczumnY0Dfk5fwhw+fDiVlZXhdkVFBZmZmXi9XoYO\nHUpUVBSZmZmUl5cDsGvXLgoLC1m9ejV1dXXh9bxeLx6PB6/XS3R0NM3NzWddfsSIERQUFDBv3jxu\nueUWCgoKGDt2LAD33HMPP/3pT5k4cSKrV68+l12SPujii4PMnm1dCGNiTP7lX3xnXdbjgR/9qJGo\nKOvz5H33Ndo+hbHIhW7kyBAzZ1qvudhYk3vuOXsQaW/dL32pdd2vfe3sr1eArKxgeIbAvDzr2h8f\nbzJ3bvM5Vt91o0aF+Pznre0kJJjccUfvb/NcZWUFmTTJz+7dTqZN838yTTbcemvTOQeDFtdcEwhP\n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\nLjbtcFIoBF980RLvdXUQDLqzNEoweP7UoYoKQwl4nFMCLiIiAIwaFeLhh+sAm0GDQvzbv9V3eIxc\nHsaNCzFtWjiDy8trJDc31MER7peUBE8/XUtKio1p2rzwQi1ZWe5MwIcPt1iypBbDsElPt1i4sA7v\n5f8lhqupEqaIiDSrqYHSUoPERBg0qMe8PQhQXg7nzhmkpUHfvj3n2p88aRAMGgwZYpGQEOvWdF0g\nAMXFJj6fzZAhPef6xauOKmHq85GIiDRLSoIRI/Tm3RNlZEBGRs+79uFRb/f32++HESM078QtNAVF\nRERERMRBSsBFRERERBykBFxERERExEFKwEVEREREHKQfYYqIiHSTXbs8HD5skpVlMW5cCJ8v1i0S\nubw0NsLOnR5OnDC56iqLnJwQhgsKuSoBFxER6QZ79pjMnJlCTY2BadqsW1fFP/zD5b++toiTtm/3\nMGNGCpZl4PfbvPdeFWPHxv/zTFNQREREusHJkyY1NeGhOMsy2LfPE+MWiVx+Dh3yYFnh51kgYHD8\nuDtSW3e0UkRExGWysiySksLrS5umTXZ2/I/KibjNqFEhTDP8PEtMtBk2zB1roWsKioiISDcYPdri\n3XerOHSoZQ64iETXhAkh1q+v4sQJk5EjLcaMccfzTAm4iIhINxk7NuSK+agibpWQALm5IXJz3fU8\n0xQUEREREREHKQEXEREREXGQEnAREREREQcpARcRERERcZAScBERERERBykBFxERERFxkBJwERER\nEREHKQEXEREREXGQEnAREREREQcpARcRERERcZAScBERERERBykBFxERERFxkBJwEREREREHKQEX\nEREREXGQEnAREREREQcpARcRERERcZA31g1w2vbt22PdBBERERHpwQzbtu1YN0JEREREpKfQFBQR\nEREREQcpARcRERERcZAScBERERERBykBFxERERFxkBJwEREREREHeRYvXrw41o2IRFlZGffddx+3\n3XYbHo+H++67j2uuuYb+/ftH7T5+85vfsHbtWrZt28ZXvvIVEhMTASgsLOS1117j448/Jisri9TU\n1Hb3b9myhVWrVnH48GFGjBiB3++/5LYdOnSIV155hffff5/6+npGjhx5yedsLZ773mTFihUMGjSI\nPn36RO2cEHnf9+/fz/LlyykpKSEnJ6f5PG3dvqviMead6jvEX8w72ffW4j3u29rfFW6K+Wj2u4lb\nYr47+t5avMd8W+fpCjfFfDT73Zpb4j5q/bddprS01H744Yftd955x960aZP9yCOP2Hv37u2W+9q6\ndav9xz/+sXn7ySeftMvLy+3y8nJ76dKl7e4PBoP2woULbcuy7NLSUnvlypVRadNTTz1ll5eXR+Vc\n7YnHvjdZsWKFfeLEiaies7XO9n3Xrl321q1b7d/+9rfnHd/W7bsqHmPeqb7bdvzFvJN9by3e476t\n/V3hppiPZr+buCXmu6PvrcV7zLd1nq5wU8y3dZ5L5Za4b+s8kXJdIR7DMMjMzKSoqIiSkhJGjx7d\n/LePPvqIvXv3cuTIEWbMmMFNN91EUVERb775JvPnzwdg0aJFFBQUdGpENjk5mWAwCEAgEMDr9ZKe\nnt7894aGBizLumB/Y2MjhmFgWRb19fUkJydTUVERlf737duXjz/+mK997WsYhtG8/8CBA6xbt45g\nMMgdd9zR/LjMnz+frKwszp49y7Rp07jttts6dT/x2Pe2XOy6Azz66KNMnTqVLVu2kJuby8yZMzt1\nvs703efzMXbsWPbt23fese3dvqviLead7DvEV8w73ff2xFPcA23u7wq3xDxEt99N3BDz0D19b0+8\nxfzFztNVbor5i50nGtwS9xc7T1e4LgFvMmrUKM6dO0cgEGjeN2nSJKZMmUIgEOBnP/sZN910E4MH\nD6aqqora2lrKy8sZOHBgp6dDbN68ma9//esAlJSU0K9fP1avXg1ARkYGxcXF2LZ9wf6ioiKGDx/O\nnDlzePHFF0lKSqK0tJRAIHDJUzEeeOABNm3axM9//nPuvvtuRo0aBcCaNWuYP38+Pp+PZcuWNQdo\nfX093/72t0lPT2fx4sXcfPPNeL0dX/Z47HtbLnbdASorK8nOzmbatGkUFBR0+kW5M30fPnz4RY+N\n9PaRiJeYd7rv8RTzsbjubYmnuO8u8R7z3cUNMR8L8Rrzrc9zqdwU89HsN7gv7i+1/65LwO2/F+6c\nNm0aAL/73e+a/7Z//362b9+Oz+ejurq6ef+UKVP4+OOPKSsr6/QnpG3btjF48GAGDx4MQGZmJmfO\nnGHBggXYts1zzz1HZmYmtm1fdD9ATk4OOTk52LbN4sWLo5KAmqbJzTffTG5uLgsXLuSZZ54hEAhw\n9OhRli1bBoRfjM6dO0d6ejppaWkMGDAAgKysLIqLixk6dKgr+95a60/HbV33jIyM5r525kkJne97\nWyK9fWfEW8y3pTv6DvEV8073/cviNe6jzS0x313cEPNOifeY//J5usptMR+tfrfmpriPRv9dl4C3\n5/XXX2f58uWcOXOGLVu2NO+fMmUKzz33HAD33HNPh+c5cuQIn332GXPnzm3e16tXLyzLora2Fsuy\nCIVCzV8vt7W/yYYNG7j66quj0UUsy8I0TYLBIBkZGQD4/X6ys7N58MEHSUlJOe/25eXlVFdX4/P5\nKC4uJisrq93zx3Pfm5w+fZp+/fo1b7d13SMVad+h5UWzs7ePtljFPDjX93iLeYjNdY/nuO9ofzTF\nU8x3tL+r3BDzHe2PhniP+YudpzvEW8x3V7/dEvfR6r/rEnDDMM77RNza5MmTefrpp8nLyztvBYLE\nxERSU1M7vDhNnn32Wfr27csTTzzB0KFD+c53vgPAt771LV577TVM0+Tee+9tvn1b+1955RWOHTtG\nWloa3//+97vS3Qv84Q9/4NChQ/Tq1YtvfvObzftnzZrFqlWrqKysZMCAAdx///0AJCUlsXr1akpK\nSpg5c2abj1289/3MmTO8/PLLhEIhJkyYcN6IelvXPVKR9v1Pf/oTO3fupKKigrq6Oh588MF2b99V\n8RjzTvUd4i/mney7m+K+rf1d4aaYj2a/m7gl5ruj726K+bbO0xVuivlo9rs1t8R9tPpv2E4MWcSB\nl156iXnz5tG7d+9YN8VRBQUFLFmyJNbNkBhQzEtPo5iXnqanxjy4P+5dNwIeqcOHD7Nu3TomTpzY\nIwNUeh7FvPQ0innpaRTz7tdjRsBFREREROKBStGLiIiIiDhICbiIiIiIiIOUgIuIiIiIOEgJuIiI\niIiIg5SAi4iIiIg4SAm4iIiIiIiD/h+YsztaJs45ogAAAABJRU5ErkJggg==\n" } ], "prompt_number": 143 }, { "cell_type": "code", "collapsed": false, "input": [ "loess_res[-7:,1].mean()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 144, "text": [ "2.3144535643345003" ] } ], "prompt_number": 144 }, { "cell_type": "code", "collapsed": false, "input": [ "from pandas import lib\n", "from matplotlib.ticker import FuncFormatter\n", "fig, axes = plt.subplots(figsize=(12,8))\n", "\n", "national_data2012.sort(\"poll_date\", inplace=True)\n", "dates = pandas.DatetimeIndex(national_data2012.poll_date).asi8\n", "\n", "loess_res = sm.nonparametric.lowess(national_data2012.obama_spread.values, dates, \n", " frac=.075, it=3)\n", "\n", "dates_x = lib.ints_to_pydatetime(dates)\n", "axes.scatter(dates_x, national_data2012[\"obama_spread\"])\n", "axes.plot(dates_x, loess_res[:,1], color='r')\n", "axes.yaxis.get_major_locator().set_params(nbins=12)\n", "axes.yaxis.set_major_formatter(FuncFormatter(edit_tick_label))\n", "axes.grid(False, axis='x')\n", "axes.hlines(0, dates_x[0], dates_x[-1], color='black', lw=3)\n", "axes.margins(0, .05)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAvEAAAHZCAYAAAAPL2QnAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlgVPW99/H3ObNksiesIRgI+6IgRJGoyGKwahHF2rrh\nXqn3trWttE8frU8VaK3eawXU2mq9Vbnaqq0LUC1uUbTKqpEt7JBACAmEQMg6ySzn+eNAQmRLgMlw\nyOf1D5zMOef3Pcuc+Zzf/GbGsCzLQkREREREHMOMdgEiIiIiItI6CvEiIiIiIg6jEC8iIiIi4jAK\n8SIiIiIiDuOOdgFtKTc3N9oliIiIiEg7kJOTE9H1t6sQD5CVlRXtEkRERETkDJaXlxfxNjScRkRE\nRETEYRTiRUREREQcRiFeRERERMRhFOJFRERERBxGIV5ERERExGEU4kVEREREHEYhXkRERETEYRTi\nRUREREQcRiFeRERERMRhFOJFRERERBxGIV5ERERExGEU4kVEREREHEYhXkRERETEYRTiRUREREQc\nRiFeRERERMRhFOJFRERERBxGIV5ERERExGHc0S7AKcrKDDZvNklIsBg0KIxbe05EREREokQ98S2w\ndy/cf38sEyYkcemlSeTmKsGLiIiISPQoxLfAjh0mb78dA0AoZPDHP/oIhaJclIiIiIi0WwrxLZCY\nCCkp4cbp4cNDuFxRLEhERERE2jWNC2mBXr3CvPVWNX/7m5cePcJMmtQQ7ZJEREREpB1TiG+hYcNC\nDBtWF+0yREREREQ0nEZERERExGkU4kVEREREHEYhXkRERETEYRTiRUREREQcRiFeRERERMRhFOJF\nRERERBxGIV5ERERExGEU4kVEREREHEYhXkRERETEYRTiRUREREQcRiFeRERERMRhFOJFRERERBxG\nIV5ERERExGEU4kVEREREHEYhXkRERETEYRTiRUREREQcRiFeRERERMRhFOJFRERERBxGIV5ERERE\nxGEU4kVEREREHEYhXkRERETEYRTiRUREREQcRiFeRERERMRhFOJFRERERBxGIV5ERERExGEU4kVE\nREREHEYhXkRERETEYRTiRUREREQcRiFeRERERMRhFOJFRERERBxGIV5ERERExGEU4kVEREREHEYh\nXkRERETEYRTiRUREREQcRiFeRERERMRhFOJFRERERBxGIV5ERERExGEU4kVEREREHEYhXkRERETE\n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\nwQ9+AMDNN9/MX/7yF0zT5LbbbmvptouIiIicUj4f+HxHzj/x8RAff9RRzHIMXi+kpWnfHeqYY+LP\nNBoTLyIiIiKR1hZj4vVjTyIiIiIiDqMQLyIiIiLiMArxIiIiIiIOoxAvIiIiIuIwCvEiIiIiIg6j\nEC8iIiIi4jAK8SIiIiIiDqMQLyIiIiLiMArxIiIiIiIO4452AdIyNTWwc6dJTAz06BGOai27dxvs\n22fQqZNFx47t5gd/ReQU07VEJLK2bzfw+w26dw8THx/taiIrHIbCQhPLsujZ08Id4YRbWwvFxSZe\nL/TsGZ1cpp54B6ipgeefj2HkyCRGj05k+XJX1GopKDC4/voELrwwme9/P56iIiNqtYiIc23davC9\n79nXkilT4tmxQ9cSkVPpq69cjBmTRHZ2Es8+66O6OtoVRY5lwfvvu7nwwiSys5N55x0PoVDk2qup\ngRdeOJjLkli6NDq5TCHeAbZtM5kxIxYwqKw0eeQRX0RPzmNZvtzNqlX27e1nn3lYtSp6NxQi4lxf\nfulm9Wr7WrJwoYeVK3UtETlVwmF47DEf+/ebgMEjj8RSUHDmRr7duw2mTo0nEDAIhQx+8pN4Sksj\n1zGwfbvJQw/ZuayqymD69FgaGiLW3FGduUf0DOLxQExM03TXrhZmlI7cN9+Oi42NTh0i4mxxccee\nFpETZ5rQpUvTEA+Px8LrjWJBEeb1WiQnN21vcrKFxxPZ9ny+pukuXSI/fOdIXNOmTZvW9s1GR0FB\nAd26dYt2Ga2WmmqRlRVk/XoX558f5Fe/8kdt/GhKioXXa1FRYfLjH/u5/PKAgryItFpyskVMTNO1\n5IorAs1eFEXk5AwcGD7wWTqLJ5+s5fzzQxhn6Ki12FgYOdLOSWlpYf74x1r69o3cOPXUVDj//CBr\n17oYPjzIww/X0alT81xWUlJC7969I1YDgGFZVrv5NFFubi5ZWVnRLuOE1dTYvfLRvpsOh+1aEhI4\nYy8IIhJ5upaIRFZDAwQCh7+Lfqby++3x8W3VuXisXJaXl0dOTk5E29e30zjI6fIkNE1ITIx2FSLi\ndLqWiESW1xv9jr+21Nbv5kU7l2lMvIiIiIiIwyjEi4iIiIg4jEK8iIiIiIjDKMSLiIiIiDiMQryI\niIiIiMMoxIuIiIiIOIxCvIiIiIiIwyjEi4iIiIg4jEK8iIiIiIjDKMSLiIiIiDiMO9oFtAf19bBp\n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\n" } ], "prompt_number": 145 }, { "cell_type": "code", "collapsed": false, "input": [ "trends = []\n", "for i, group in kmeans_groups:\n", " data = group[[\"poll_date\", \"obama_spread\"]]\n", " data = pandas.concat((data, national_data2012[[\"poll_date\", \"obama_spread\"]]))\n", " \n", " data.sort(\"poll_date\", inplace=True)\n", " dates = pandas.DatetimeIndex(data.poll_date).asi8\n", "\n", " loess_res = sm.nonparametric.lowess(data.obama_spread.values, dates, \n", " frac=.1, it=3)\n", " states = group.State.unique()\n", " for state in states:\n", " trends.append([state, loess_res[-7:,1].mean()])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 146 }, { "cell_type": "code", "collapsed": false, "input": [ "trends" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 147, "text": [ "[['Arizona', 2.3149200179538716],\n", " ['Georgia', 2.3149200179538716],\n", " ['Mississippi', 2.3149200179538716],\n", " ['New Mexico', 2.3149200179538716],\n", " ['North Carolina', 2.3149200179538716],\n", " ['South Carolina', 2.3149200179538716],\n", " ['Tennessee', 2.3149200179538716],\n", " ['West Virginia', 2.3149200179538716],\n", " ['Colorado', 18.412063676088412],\n", " ['Connecticut', 18.412063676088412],\n", " ['Hawaii', 18.412063676088412],\n", " ['Illinois', 18.412063676088412],\n", " ['Maryland', 18.412063676088412],\n", " ['Massachusetts', 18.412063676088412],\n", " ['Nevada', 18.412063676088412],\n", " ['New Jersey', 18.412063676088412],\n", " ['Rhode Island', 18.412063676088412],\n", " ['Virginia', 18.412063676088412],\n", " ['Washington', 18.412063676088412],\n", " ['California', 2.73263672729736],\n", " ['Florida', 2.73263672729736],\n", " ['New York', 2.73263672729736],\n", " ['Texas', 2.73263672729736],\n", " ['Indiana', 6.5865280433068092],\n", " ['Iowa', 6.5865280433068092],\n", " ['Kansas', 6.5865280433068092],\n", " ['Maine', 6.5865280433068092],\n", " ['Michigan', 6.5865280433068092],\n", " ['Minnesota', 6.5865280433068092],\n", " ['Missouri', 6.5865280433068092],\n", " ['Montana', 6.5865280433068092],\n", " ['Nebraska', 6.5865280433068092],\n", " ['New Hampshire', 6.5865280433068092],\n", " ['North Dakota', 6.5865280433068092],\n", " ['Ohio', 6.5865280433068092],\n", " ['Oregon', 6.5865280433068092],\n", " ['Pennsylvania', 6.5865280433068092],\n", " ['South Dakota', 6.5865280433068092],\n", " ['Utah', 6.5865280433068092],\n", " ['Vermont', 6.5865280433068092],\n", " ['Wisconsin', 6.5865280433068092]]" ] } ], "prompt_number": 147 }, { "cell_type": "heading", "level": 4, "metadata": {}, "source": [ "Adjust for sensitivity to time-trends" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\\text{Margin}=X_i+Z_t+\\epsilon$$\n", "\n", "where $S_i$ are Pollster:State dummies. In a state with a time-dependent trend, you might write\n", "\n", "$$\\text{Margin}=X_i+m*Z_t$$\n", "\n", "where $m$ is a multiplier representing uncertainty in the time-trend parameter. Solving for $m$ gives\n", "\n", "$$m=\\text{Margin}-\\frac{X_i}{Z_t}$$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from statsmodels.formula.api import ols, wls" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 148 }, { "cell_type": "code", "collapsed": false, "input": [ "#pollster_state_dummy = state_data2012.groupby([\"Pollster\", \"State\"])[\"obama_spread\"].mean()\n", "#daily_dummy = state_data2012.groupby([\"poll_date\"])[\"obama_spread\"].mean()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 149 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012[\"pollster_state\"] = state_data2012[\"Pollster\"] + \"-\" + state_data2012[\"State\"]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 150 }, { "cell_type": "markdown", "metadata": {}, "source": [ "There's actually a bug in pandas when you merge on datetimes. In order to avoid it, we need to sort our data now and once again after we merge on dates." ] }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012.sort(columns=[\"pollster_state\", \"poll_date\"], inplace=True);" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 151 }, { "cell_type": "code", "collapsed": false, "input": [ "dummy_model = ols(\"obama_spread ~ C(pollster_state) + C(poll_date)\", data=state_data2012).fit()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 152 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The base case is American Research Group-Colorado" ] }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012.irow(0)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 153, "text": [ "Pollster American Research Group\n", "State Colorado\n", "MoE 4\n", "Obama (D) 49\n", "Romney (R) 47\n", "Sample 600\n", "Spread Obama +2\n", "obama_spread 2\n", "poll_date 2012-09-11 00:00:00\n", "Weight 0.65\n", "PIE 1.76\n", "ESS 173\n", "MESS 173\n", "time_weight 0.6156\n", "kmeans_labels 1\n", "pollster_state American Research Gro...\n", "Name: 25" ] } ], "prompt_number": 153 }, { "cell_type": "code", "collapsed": false, "input": [ "pollster_state = state_data2012[\"pollster_state\"].unique()\n", "pollster_state.sort()\n", "pollster_state_params = dummy_model.params[1:len(pollster_state)] + dummy_model.params[0]\n", "intercept = dummy_model.params[0]\n", "X = pandas.DataFrame(zip(pollster_state, np.r_[intercept, pollster_state_params]), \n", " columns=[\"pollster_state\", \"X\"])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 154 }, { "cell_type": "code", "collapsed": false, "input": [ "dates = state_data2012.poll_date.unique()\n", "dates.sort()\n", "dates_params = intercept + dummy_model.params[-len(dates):]\n", "Z = pandas.DataFrame(zip(dates, dates_params), columns=[\"poll_date\", \"Z\"])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 155 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Drop the ones less than 1." ] }, { "cell_type": "code", "collapsed": false, "input": [ "Z = Z.ix[np.abs(Z.Z) > 1]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 156 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012 = state_data2012.merge(X, on=\"pollster_state\", sort=False)\n", "state_data2012 = state_data2012.merge(Z, on=\"poll_date\", sort=False)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 157 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012.sort(columns=[\"pollster_state\", \"poll_date\"], inplace=True);" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 158 }, { "cell_type": "code", "collapsed": false, "input": [ "state_data2012[\"m\"] = state_data2012[\"obama_spread\"].sub(state_data2012[\"X\"].div(state_data2012[\"Z\"]))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 159 }, { "cell_type": "code", "collapsed": false, "input": [ "#m_dataframe.ix[m_dataframe.pollster_state == \"American Research Group-New Hampshire\"].values" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 160 }, { "cell_type": "code", "collapsed": false, "input": [ "m_dataframe = state_data2012[[\"State\", \"m\", \"poll_date\", \"Pollster\", \"pollster_state\"]]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 161 }, { "cell_type": "code", "collapsed": false, "input": [ "m_dataframe[\"m\"].describe()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 162, "text": [ "count 355.000\n", "mean 3.281\n", "std 9.168\n", "min -52.000\n", "25% -0.808\n", "50% 2.697\n", "75% 8.145\n", "max 38.723" ] } ], "prompt_number": 162 }, { "cell_type": "code", "collapsed": false, "input": [ "m_size = m_dataframe.groupby(\"pollster_state\").size()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 163 }, { "cell_type": "code", "collapsed": false, "input": [ "m_size" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 164, "text": [ "pollster_state\n", "American Research Group-Colorado 1\n", "American Research Group-Florida 1\n", "American Research Group-Iowa 1\n", "American Research Group-Nevada 1\n", "American Research Group-New Hampshire 3\n", "American Research Group-North Carolina 1\n", "American Research Group-Ohio 1\n", "American Research Group-Virginia 1\n", "CNN / Opinion Research-Wisconsin 1\n", "Chicago Trib. / MarketShares-Illinois 1\n", "Columbus Dispatch (OH)-Ohio 2\n", "EPIC-MRA-Michigan 8\n", "Fairleigh-Dickinson (NJ)-New Jersey 3\n", "Field Poll (CA)-California 6\n", "Insider Advantage-Georgia 2\n", "LA Times / Bloomberg-New Hampshire 1\n", "Marist (NY)-New York 3\n", "Mason-Dixon-Florida 3\n", "Mason-Dixon-Georgia 1\n", "Mason-Dixon-New Hampshire 1\n", "Mason-Dixon-North Dakota 1\n", "Mason-Dixon-Utah 1\n", "Mason-Dixon-Virginia 1\n", "Mitchell-Michigan 3\n", "Ohio Poll-Ohio 2\n", "Public Policy Polling (PPP)-Arizona 7\n", "Public Policy Polling (PPP)-California 2\n", "Public Policy Polling (PPP)-Colorado 6\n", "Public Policy Polling (PPP)-Connecticut 3\n", "Public Policy Polling (PPP)-Florida 8\n", "Public Policy Polling (PPP)-Georgia 1\n", "Public Policy Polling (PPP)-Hawaii 1\n", "Public Policy Polling (PPP)-Iowa 8\n", "Public Policy Polling (PPP)-Maine 2\n", "Public Policy Polling (PPP)-Maryland 1\n", "Public Policy Polling (PPP)-Massachusetts 6\n", "Public Policy Polling (PPP)-Michigan 6\n", "Public Policy Polling (PPP)-Minnesota 5\n", "Public Policy Polling (PPP)-Mississippi 2\n", "Public Policy Polling (PPP)-Missouri 7\n", "Public Policy Polling (PPP)-Montana 3\n", "Public Policy Polling (PPP)-Nebraska 1\n", "Public Policy Polling (PPP)-Nevada 4\n", "Public Policy Polling (PPP)-New Hampshire 3\n", "Public Policy Polling (PPP)-New Mexico 6\n", "Public Policy Polling (PPP)-North Carolina 22\n", "Public Policy Polling (PPP)-Ohio 9\n", "Public Policy Polling (PPP)-Oregon 2\n", "Public Policy Polling (PPP)-Pennsylvania 5\n", "Public Policy Polling (PPP)-Rhode Island 1\n", "Public Policy Polling (PPP)-South Carolina 3\n", "Public Policy Polling (PPP)-South Dakota 1\n", "Public Policy Polling (PPP)-Tennessee 1\n", "Public Policy Polling (PPP)-Texas 3\n", "Public Policy Polling (PPP)-Utah 1\n", "Public Policy Polling (PPP)-Virginia 7\n", "Public Policy Polling (PPP)-Washington 3\n", "Public Policy Polling (PPP)-West Virginia 3\n", "Public Policy Polling (PPP)-Wisconsin 6\n", "Quinnipiac-Connecticut 4\n", "Quinnipiac-Florida 12\n", "Quinnipiac-New Jersey 8\n", "Quinnipiac-New York 5\n", "Quinnipiac-Ohio 11\n", "Quinnipiac-Pennsylvania 9\n", "Quinnipiac-Virginia 5\n", "Rasmussen-Arizona 3\n", "Rasmussen-California 1\n", "Rasmussen-Colorado 3\n", "Rasmussen-Connecticut 1\n", "Rasmussen-Florida 5\n", "Rasmussen-Indiana 1\n", "Rasmussen-Iowa 3\n", "Rasmussen-Maine 1\n", "Rasmussen-Massachusetts 4\n", "Rasmussen-Michigan 2\n", "Rasmussen-Missouri 6\n", "Rasmussen-Montana 5\n", "Rasmussen-Nebraska 2\n", "Rasmussen-Nevada 3\n", "Rasmussen-New Hampshire 1\n", "Rasmussen-New Jersey 1\n", "Rasmussen-New Mexico 3\n", "Rasmussen-North Carolina 4\n", "Rasmussen-North Dakota 1\n", "Rasmussen-Ohio 7\n", "Rasmussen-Pennsylvania 4\n", "Rasmussen-Virginia 5\n", "Rasmussen-Washington 1\n", "Rasmussen-Wisconsin 7\n", "Suffolk (NH/MA)-Florida 2\n", "SurveyUSA-California 4\n", "SurveyUSA-Florida 2\n", "SurveyUSA-Georgia 4\n", "SurveyUSA-Kansas 2\n", "SurveyUSA-Michigan 1\n", "SurveyUSA-New Jersey 1\n", "SurveyUSA-New York 1\n", "SurveyUSA-North Carolina 2\n", "SurveyUSA-Oregon 4\n", "SurveyUSA-Pennsylvania 1\n", "SurveyUSA-Washington 4\n", "Length: 102" ] } ], "prompt_number": 164 }, { "cell_type": "code", "collapsed": false, "input": [ "drop_idx = m_size.ix[m_size == 1]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 165 }, { "cell_type": "code", "collapsed": false, "input": [ "m_dataframe = m_dataframe.set_index([\"pollster_state\", \"poll_date\"])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 166 }, { "cell_type": "code", "collapsed": false, "input": [ "m_dataframe.xs(\"American Research Group-New Hampshire\", level=0)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 167, "text": [ " State m Pollster\n", "poll_date \n", "2012-03-17 New Hampshire 6.437 American Research Group\n", "2012-06-23 New Hampshire 0.071 American Research Group\n", "2012-09-26 New Hampshire 4.055 American Research Group" ] } ], "prompt_number": 167 }, { "cell_type": "code", "collapsed": false, "input": [ "m_dataframe = m_dataframe.drop(drop_idx.index, level=0).reset_index()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 168 }, { "cell_type": "code", "collapsed": false, "input": [ "m_dataframe" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 169, "text": [ "\n", "Int64Index: 320 entries, 0 to 319\n", "Data columns:\n", "pollster_state 320 non-null values\n", "poll_date 320 non-null values\n", "State 320 non-null values\n", "m 320 non-null values\n", "Pollster 320 non-null values\n", "dtypes: datetime64[ns](1), float64(1), object(3)" ] } ], "prompt_number": 169 }, { "cell_type": "code", "collapsed": false, "input": [ "m_regression_data = m_dataframe.merge(demo_data, on=\"State\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 170 }, { "cell_type": "code", "collapsed": false, "input": [ "m_regression_data" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 171, "text": [ "\n", "Int64Index: 320 entries, 0 to 319\n", "Data columns:\n", "pollster_state 320 non-null values\n", "poll_date 320 non-null values\n", "State 320 non-null values\n", "m 320 non-null values\n", "Pollster 320 non-null values\n", "per_black 320 non-null values\n", "per_hisp 320 non-null values\n", "per_white 320 non-null values\n", "educ_hs 320 non-null values\n", "educ_coll 320 non-null values\n", "average_income 320 non-null values\n", "median_income 320 non-null values\n", "pop_density 320 non-null values\n", "vote_pop 320 non-null values\n", "older_pop 320 non-null values\n", "dem_adv 320 non-null values\n", "no_party 320 non-null values\n", "PVI 320 non-null values\n", "obama_give 320 non-null values\n", "romney_give 320 non-null values\n", "kmeans_group 320 non-null values\n", "kmeans_labels 320 non-null values\n", "dtypes: datetime64[ns](1), float64(14), int64(4), object(3)" ] } ], "prompt_number": 171 }, { "cell_type": "code", "collapsed": false, "input": [ "m_regression_data[[\"PVI\", \"per_black\", \"per_hisp\", \"older_pop\", \"average_income\", \n", " \"romney_give\", \"obama_give\", \"educ_coll\", \"educ_hs\"]].corr()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 172, "text": [ " PVI per_black per_hisp older_pop average_income romney_give obama_give educ_coll educ_hs\n", "PVI 1.000 -0.295 0.115 0.150 0.594 0.291 0.669 0.494 0.226\n", "per_black -0.295 1.000 -0.174 0.279 -0.064 0.111 -0.281 -0.111 -0.497\n", "per_hisp 0.115 -0.174 1.000 0.403 0.098 0.289 0.306 0.112 -0.566\n", "older_pop 0.150 0.279 0.403 1.000 0.022 0.237 -0.038 -0.076 -0.479\n", "average_income 0.594 -0.064 0.098 0.022 1.000 0.718 0.704 0.888 0.250\n", "romney_give 0.291 0.111 0.289 0.237 0.718 1.000 0.555 0.630 -0.025\n", "obama_give 0.669 -0.281 0.306 -0.038 0.704 0.555 1.000 0.835 0.085\n", "educ_coll 0.494 -0.111 0.112 -0.076 0.888 0.630 0.835 1.000 0.273\n", "educ_hs 0.226 -0.497 -0.566 -0.479 0.250 -0.025 0.085 0.273 1.000" ] } ], "prompt_number": 172 }, { "cell_type": "code", "collapsed": false, "input": [ "(today - m_regression_data[\"poll_date\"].astype('O'))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 173, "text": [ "0 743 days, 0:00:00\n", "1 612 days, 0:00:00\n", "2 521 days, 0:00:00\n", "3 227 days, 0:00:00\n", "4 136 days, 0:00:00\n", "5 70 days, 0:00:00\n", "6 24 days, 0:00:00\n", "7 203 days, 0:00:00\n", "8 98 days, 0:00:00\n", "9 7 days, 0:00:00\n", "10 391 days, 0:00:00\n", "11 316 days, 0:00:00\n", "12 235 days, 0:00:00\n", "13 130 days, 0:00:00\n", "14 97 days, 0:00:00\n", "...\n", "305 29 days, 0:00:00\n", "306 1 day, 0:00:00\n", "307 584 days, 0:00:00\n", "308 500 days, 0:00:00\n", "309 409 days, 0:00:00\n", "310 220 days, 0:00:00\n", "311 87 days, 0:00:00\n", "312 13 days, 0:00:00\n", "313 342 days, 0:00:00\n", "314 218 days, 0:00:00\n", "315 189 days, 0:00:00\n", "316 146 days, 0:00:00\n", "317 112 days, 0:00:00\n", "318 69 days, 0:00:00\n", "319 15 days, 0:00:00\n", "Name: poll_date, Length: 320" ] } ], "prompt_number": 173 }, { "cell_type": "code", "collapsed": false, "input": [ "time_weights = (today - m_regression_data[\"poll_date\"].astype('O')).apply(exp_decay)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 174 }, { "cell_type": "code", "collapsed": false, "input": [ "m_model = wls(\"m ~ PVI + per_hisp + per_black + average_income + educ_coll\", data=m_regression_data, weights=time_weights).fit()\n", "m_model.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", "
WLS Regression Results
Dep. Variable: m R-squared: 0.704
Model: WLS Adj. R-squared: 0.699
Method: Least Squares F-statistic: 149.4
Date: Fri, 26 Oct 2012 Prob (F-statistic): 8.75e-81
Time: 08:31:09 Log-Likelihood: -632.76
No. Observations: 320 AIC: 1278.
Df Residuals: 314 BIC: 1300.
Df Model: 5
\n", "\n", "\n", " \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| [95.0% Conf. Int.]
Intercept 4.5623 2.504 1.822 0.069 -0.364 9.488
PVI 1.5534 0.076 20.565 0.000 1.405 1.702
per_hisp 0.1672 0.023 7.351 0.000 0.122 0.212
per_black 0.1972 0.040 4.954 0.000 0.119 0.275
average_income -0.0003 0.000 -1.836 0.067 -0.001 2.17e-05
educ_coll 0.0612 0.121 0.506 0.613 -0.177 0.299
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
Omnibus: 113.511 Durbin-Watson: 1.677
Prob(Omnibus): 0.000 Jarque-Bera (JB): 1263.298
Skew: -1.115 Prob(JB): 4.77e-275
Kurtosis: 12.475 Cond. No. 2.71e+05
" ], "output_type": "pyout", "prompt_number": 175, "text": [ "\n", "\"\"\"\n", " WLS Regression Results \n", "==============================================================================\n", "Dep. Variable: m R-squared: 0.704\n", "Model: WLS Adj. R-squared: 0.699\n", "Method: Least Squares F-statistic: 149.4\n", "Date: Fri, 26 Oct 2012 Prob (F-statistic): 8.75e-81\n", "Time: 08:31:09 Log-Likelihood: -632.76\n", "No. Observations: 320 AIC: 1278.\n", "Df Residuals: 314 BIC: 1300.\n", "Df Model: 5 \n", "==================================================================================\n", " coef std err t P>|t| [95.0% Conf. Int.]\n", "----------------------------------------------------------------------------------\n", "Intercept 4.5623 2.504 1.822 0.069 -0.364 9.488\n", "PVI 1.5534 0.076 20.565 0.000 1.405 1.702\n", "per_hisp 0.1672 0.023 7.351 0.000 0.122 0.212\n", "per_black 0.1972 0.040 4.954 0.000 0.119 0.275\n", "average_income -0.0003 0.000 -1.836 0.067 -0.001 2.17e-05\n", "educ_coll 0.0612 0.121 0.506 0.613 -0.177 0.299\n", "==============================================================================\n", "Omnibus: 113.511 Durbin-Watson: 1.677\n", "Prob(Omnibus): 0.000 Jarque-Bera (JB): 1263.298\n", "Skew: -1.115 Prob(JB): 4.77e-275\n", "Kurtosis: 12.475 Cond. No. 2.71e+05\n", "==============================================================================\n", "\n", "The condition number is large, 2.71e+05. This might indicate that there are\n", "strong multicollinearity or other numerical problems.\n", "\"\"\"" ] } ], "prompt_number": 175 }, { "cell_type": "code", "collapsed": false, "input": [ "state_resid = pandas.DataFrame(zip(m_model.resid, m_regression_data.State), \n", " columns=[\"resid\", \"State\"])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 176 }, { "cell_type": "code", "collapsed": false, "input": [ "state_resid_group = state_resid.groupby(\"State\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 177 }, { "cell_type": "code", "collapsed": false, "input": [ "fig, axes = plt.subplots(figsize=(12,8), subplot_kw={\"ylabel\" : \"Residual\",\n", " \"xlabel\" : \"State\"})\n", "i = 0\n", "for state, group in state_resid_group:\n", " x = [i] * len(group)\n", " axes.scatter(x, group[\"resid\"], s=91)\n", " i += 1\n", "states = m_regression_data.State.unique()\n", "states.sort()\n", "#axes.xaxis.get_major_locator().set_params(nbins=len(states))\n", "axes.margins(.05, .05)\n", "axes.xaxis.set_ticks(range(31))\n", "axes.xaxis.set_ticklabels(states);\n", "for label in axes.xaxis.get_ticklabels():\n", " label.set_rotation(90)\n", " label.set_fontsize('large')" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nFbuXMx3NmWPh7rsz850t4sILI9M6FqUFa/VqE1demY3Pd26eyaTx5ZdO2rVLvcLK5Yosg/3jj2b2\n7VNo0iRM69ZBGjQIF2u2Ep8P1q+PLMf+888matcOc801AZo0CRZ5ZgyIzMO8Zo2JefMszJljxWLR\nuPNOH506BYu1MNiuXZFlvefPP3O+wwoVwnzyieuPBclKH+l5TkGNG4do1y7Is89mUKtWiMaNQ/j9\nCuPG2fF6Ydo0KZyF/vbtK/hMcHL+7GSqWVPjnnv8XH11gLy8SMtF1arF+34Eg/DllxYGDMgkHD5Z\nFJhYudJCrVohpk9P3XlNS4vKleXYVxyXXhrg/ffdDB/uYOfOyN0kk0nj2mv9PPqot0if62AQPvnE\nis+nUKdOiF69IvOfB4PwxRdWNm408dZbNpo1yyvyMwdGl5UFrVqFEjbiarNFRqBbtow/T9MiD/nd\nemvWGfOiDx1qplKlMDNmOIv88OF552m8+aabDRt8LF5sxuWCNm1CtGhhnIWy9JD8M5vBGbHfrVw5\neO45DyNH5pGbq/D111a+/97CBReE+PxzV7FH+tzuyGjBpEkhpk+3sHRp8ZcBPZ0RX8N0z0tEZmH6\n6gvqh4sl0ftcpYrGnj0/FLtwhsgMI/fdd3rh/KedO00895wjrtug6fC5Ocnng7VrVWbM8DF/vpnN\nm1XCCTjXJnKfQyH46adDrF2rsmOHSqLu0xrxfc7Ojszl/PnnTiZPPs5HHzmZO9fJ+PFFXxnv0CGF\nGTMsDBvmoWvXIO+9Z+ellxy89ZadNm2CPPdcHvPnWzhwoPgliBFfQz3zEpG5ZYvKHXdk5bug0KFD\nKg88kMnRo0XPrVABLrkkSNeu/2XECC/XXRdISOFs5J5nGXkupapW1Rg82Me11/rZuPEElSqVpVat\ncLFu40Ckj/qllxxMnmzl9Hk+O3QIMH58HvXrF/+LkJVVDpcrMuJnij3rjihFLrggTKS3L/8HgBRF\n44ILSuctu2h+/NFCKBT9gaf58y1s3myiRYvU2u9E27lT4ZVX7EyZYiMcjkzv5XBoPP64h/79/YZY\noXLjRpWJE2189FEDvF6F7GyNv/zFy803+6hbN/nbp4dduxRWrzbz/vs2jh9X6dQpgKr6adYsVKQW\nmHAYBgzw8/nnkVHmkzwehalTbdSsGeKxx7yEw6n5OhrVL7+YyMuLfvz67TczGzeaCr0899n8/vSZ\n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\n" } ], "prompt_number": 178 }, { "cell_type": "code", "collapsed": false, "input": [ "demo_data = demo_data.drop(demo_data.index[demo_data['State'] == 'District of Columbia'])\n", "demo_data.reset_index(drop=True, inplace=True);" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 179 }, { "cell_type": "code", "collapsed": false, "input": [ "exog = demo_data[[\"PVI\", \"per_hisp\", \"per_black\", \"average_income\", \"educ_coll\"]]\n", "exog[\"const\"] = 1" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 180 }, { "cell_type": "code", "collapsed": false, "input": [ "state_m = m_model.predict(exog)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 181 }, { "cell_type": "code", "collapsed": false, "input": [ "state_m" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 182, "text": [ "array([-15.3603, -21.5913, -4.9947, -10.5032, 16.1222, 1.9831,\n", " 10.9647, 14.0814, 2.0932, -4.6139, 18.2001, -25.0872,\n", " 15.766 , -7.7724, 1.4341, -17.1113, -14.4254, -9.5522,\n", " 6.7645, 17.5081, 18.4677, 8.2765, 2.5286, -7.98 ,\n", " -3.1192, -11.1954, -19.0509, 5.3332, 0.9212, 8.2565,\n", " 10.5848, 19.1612, -1.7616, -16.5408, -0.1307, -24.3894,\n", " 7.0121, 4.3192, 18.3818, -7.0588, -14.4 , -11.0846,\n", " -8.1381, -29.2403, 18.9684, -0.9221, 7.9232, -12.3191,\n", " 3.498 , -31.7474])" ] } ], "prompt_number": 182 }, { "cell_type": "code", "collapsed": false, "input": [ "unit_m = (state_m - state_m.min())/(state_m.max() - state_m.min())" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 183 }, { "cell_type": "code", "collapsed": false, "input": [ "unit_m *= 2" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 184 }, { "cell_type": "code", "collapsed": false, "input": [ "m_correction = zip(demo_data.State, unit_m)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 185 }, { "cell_type": "code", "collapsed": false, "input": [ "fig, axes = plt.subplots(figsize=(12,8), subplot_kw={\"ylabel\" : \"Time Uncertainty\",\n", " \"xlabel\" : \"State\"})\n", "\n", "axes.scatter(range(len(unit_m)), unit_m, s=91)\n", "\n", "axes.margins(.05, .05)\n", "axes.xaxis.set_ticks(range(len(unit_m)))\n", "axes.xaxis.set_ticklabels(demo_data.State);\n", "for label in axes.xaxis.get_ticklabels():\n", " label.set_rotation(90)\n", " label.set_fontsize('large')" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n" } ], "prompt_number": 186 }, { "cell_type": "code", "collapsed": false, "input": [ "m_correction" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 187, "text": [ "[('Alabama', 0.64378739293503406),\n", " ('Alaska', 0.39899365289624461),\n", " ('Arizona', 1.0510086330835007),\n", " ('Arkansas', 0.83460144787235913),\n", " ('California', 1.8806123579140055),\n", " ('Colorado', 1.3251405679451049),\n", " ('Connecticut', 1.6779924829159023),\n", " ('Delaware', 1.8004372432963116),\n", " ('Florida', 1.329465611597048),\n", " ('Georgia', 1.0659702728954288),\n", " ('Hawaii', 1.9622429470675198),\n", " ('Idaho', 0.26165481506057381),\n", " ('Illinois', 1.8666167182198876),\n", " ('Indiana', 0.94188345895010406),\n", " ('Iowa', 1.3035708167337279),\n", " ('Kansas', 0.57499466689906564),\n", " ('Kentucky', 0.68051576608007691),\n", " ('Louisiana', 0.87196446188500021),\n", " ('Maine', 1.5129826861514035),\n", " ('Maryland', 1.9350556925421645),\n", " ('Massachusetts', 1.972758329102086),\n", " ('Michigan', 1.572382623529095),\n", " ('Minnesota', 1.3465700819595314),\n", " ('Mississippi', 0.9337304745438173),\n", " ('Missouri', 1.1246911889623949),\n", " ('Montana', 0.80740786234605832),\n", " ('Nebraska', 0.49879580201830931),\n", " ('Nevada', 1.4567544736098006),\n", " ('New Hampshire', 1.2834218995227675),\n", " ('New Jersey', 1.5715997823676553),\n", " ('New Mexico', 1.6630695718979507),\n", " ('New York', 2.0),\n", " ('North Carolina', 1.1780268665681453),\n", " ('North Dakota', 0.59740688290763611),\n", " ('Ohio', 1.2420974975622283),\n", " ('Oklahoma', 0.28906929360446137),\n", " ('Oregon', 1.5227100227420458),\n", " ('Pennsylvania', 1.4169161758937938),\n", " ('Rhode Island', 1.9693830170636866),\n", " ('South Carolina', 0.96992120743772237),\n", " ('South Dakota', 0.68151306828176339),\n", " ('Tennessee', 0.81176165562541391),\n", " ('Texas', 0.92751616650445501),\n", " ('Utah', 0.098492882545137092),\n", " ('Vermont', 1.9924269957578287),\n", " ('Virginia', 1.2110060089821313),\n", " ('Washington', 1.5585050874076187),\n", " ('West Virginia', 0.76326334710489518),\n", " ('Wisconsin', 1.3846558069742687),\n", " ('Wyoming', 0.0)]" ] } ], "prompt_number": 187 }, { "cell_type": "code", "collapsed": false, "input": [ "trends = pandas.DataFrame(trends, columns=[\"State\", \"trend\"])\n", "m_correction = pandas.DataFrame(m_correction, columns=[\"State\", \"m_correction\"])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 188 }, { "cell_type": "code", "collapsed": false, "input": [ "trends = trends.merge(m_correction, on=\"State\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 189 }, { "cell_type": "code", "collapsed": false, "input": [ "trends.set_index(\"State\", inplace=True)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 190, "text": [ " trend m_correction\n", "State \n", "Arizona 2.315 1.051\n", "California 2.733 1.881\n", "Colorado 18.412 1.325\n", "Connecticut 18.412 1.678\n", "Florida 2.733 1.329\n", "Georgia 2.315 1.066\n", "Hawaii 18.412 1.962\n", "Illinois 18.412 1.867\n", "Indiana 6.587 0.942\n", "Iowa 6.587 1.304\n", "Kansas 6.587 0.575\n", "Maine 6.587 1.513\n", "Maryland 18.412 1.935\n", "Massachusetts 18.412 1.973\n", "Michigan 6.587 1.572\n", "Minnesota 6.587 1.347\n", "Mississippi 2.315 0.934\n", "Missouri 6.587 1.125\n", "Montana 6.587 0.807\n", "Nebraska 6.587 0.499\n", "Nevada 18.412 1.457\n", "New Hampshire 6.587 1.283\n", "New Jersey 18.412 1.572\n", "New Mexico 2.315 1.663\n", "New York 2.733 2.000\n", "North Carolina 2.315 1.178\n", "North Dakota 6.587 0.597\n", "Ohio 6.587 1.242\n", "Oregon 6.587 1.523\n", "Pennsylvania 6.587 1.417\n", "Rhode Island 18.412 1.969\n", "South Carolina 2.315 0.970\n", "South Dakota 6.587 0.682\n", "Tennessee 2.315 0.812\n", "Texas 2.733 0.928\n", "Utah 6.587 0.098\n", "Vermont 6.587 1.992\n", "Virginia 18.412 1.211\n", "Washington 18.412 1.559\n", "West Virginia 2.315 0.763\n", "Wisconsin 6.587 1.385" ] } ], "prompt_number": 190 }, { "cell_type": "code", "collapsed": false, "input": [ "trends = trends.product(axis=1)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 191 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Snapshot: Combine Trend Estimates and State Polls" ] }, { "cell_type": "code", "collapsed": false, "input": [ "state_polls.name = \"poll\"\n", "state_polls" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 192, "text": [ "State Pollster \n", "AZ Public Policy Polling (PPP) -9.168\n", " Rasmussen -10.209\n", "CA Field Poll (CA) 23.344\n", " Public Policy Polling (PPP) 20.999\n", " Rasmussen 22.000\n", " SurveyUSA 22.123\n", "CO American Research Group 2.000\n", " Public Policy Polling (PPP) 5.470\n", " Rasmussen -1.574\n", "CT Public Policy Polling (PPP) 12.758\n", " Quinnipiac 7.294\n", " Rasmussen 8.000\n", "FL American Research Group 5.000\n", " Mason-Dixon -3.543\n", " Public Policy Polling (PPP) 3.125\n", " Quinnipiac 3.076\n", " Rasmussen 0.883\n", " Suffolk (NH/MA) -0.003\n", " SurveyUSA 4.169\n", "GA Insider Advantage -19.174\n", " Mason-Dixon -17.000\n", " Public Policy Polling (PPP) -3.000\n", " SurveyUSA -7.984\n", "HI Public Policy Polling (PPP) 27.000\n", "IA American Research Group 7.000\n", " Mason-Dixon -3.000\n", " Public Policy Polling (PPP) 5.879\n", " Rasmussen -2.749\n", "IL Chicago Trib. / MarketShares 21.000\n", "IN Rasmussen -16.000\n", "KS SurveyUSA -15.875\n", "MA Public Policy Polling (PPP) 17.580\n", " Rasmussen 15.107\n", "MD Public Policy Polling (PPP) 23.000\n", "ME Public Policy Polling (PPP) 16.038\n", " Rasmussen 12.000\n", "MI CNN / Opinion Research 8.000\n", " EPIC-MRA 7.430\n", " Mitchell 0.897\n", " Public Policy Polling (PPP) 7.694\n", " Rasmussen 11.072\n", " SurveyUSA 11.000\n", "MN Public Policy Polling (PPP) 7.335\n", "MO Public Policy Polling (PPP) -11.225\n", " Rasmussen -2.486\n", " SurveyUSA -1.000\n", "MS Public Policy Polling (PPP) -17.973\n", "MT Mason-Dixon -9.000\n", " Public Policy Polling (PPP) -5.003\n", " Rasmussen -15.641\n", "NC American Research Group -4.000\n", " Public Policy Polling (PPP) 0.261\n", " Rasmussen -5.676\n", " SurveyUSA 1.987\n", "ND Mason-Dixon -13.000\n", " Rasmussen -15.000\n", "NE Public Policy Polling (PPP) -12.005\n", " Rasmussen -14.308\n", "NH American Research Group 4.150\n", " LA Times / Bloomberg -10.000\n", " Mason-Dixon -11.000\n", " Public Policy Polling (PPP) 6.273\n", " Rasmussen -2.439\n", "NJ Fairleigh-Dickinson (NJ) 13.859\n", " Public Policy Polling (PPP) 14.006\n", " Quinnipiac 7.504\n", " Rasmussen 6.000\n", " SurveyUSA 14.000\n", "NM Public Policy Polling (PPP) 10.621\n", " Rasmussen 11.651\n", "NV American Research Group 7.000\n", " CNN / Opinion Research 3.000\n", " Public Policy Polling (PPP) 7.345\n", " Rasmussen 2.524\n", "NY Marist (NY) 22.047\n", " Quinnipiac 27.345\n", " SurveyUSA 30.000\n", "OH American Research Group 1.000\n", " Columbus Dispatch (OH) 8.616\n", " Ohio Poll 3.000\n", " Public Policy Polling (PPP) 4.142\n", " Quinnipiac 7.729\n", " Rasmussen 0.866\n", "OR Public Policy Polling (PPP) 9.130\n", " SurveyUSA 8.676\n", "PA Public Policy Polling (PPP) 6.160\n", " Quinnipiac 6.047\n", " Rasmussen 10.875\n", " SurveyUSA 0.000\n", "RI Public Policy Polling (PPP) 17.000\n", "SC Public Policy Polling (PPP) -14.558\n", "SD Public Policy Polling (PPP) -6.000\n", "TN Public Policy Polling (PPP) -7.000\n", "TX Public Policy Polling (PPP) -6.999\n", "UT Mason-Dixon -51.000\n", " Public Policy Polling (PPP) -32.000\n", "VA American Research Group 2.000\n", " Mason-Dixon 1.000\n", " Public Policy Polling (PPP) 5.096\n", " Quinnipiac 0.578\n", " Rasmussen 0.892\n", "VT Public Policy Polling (PPP) 20.000\n", "WA Public Policy Polling (PPP) 13.051\n", " Rasmussen 11.000\n", " SurveyUSA 15.310\n", "WI CNN / Opinion Research 4.000\n", " Public Policy Polling (PPP) 5.393\n", " Rasmussen 2.116\n", "WV Public Policy Polling (PPP) -19.757\n", "Name: poll, Length: 109" ] } ], "prompt_number": 192 }, { "cell_type": "code", "collapsed": false, "input": [ "state_polls = state_polls.reset_index()\n", "state_polls.State = state_polls.State.replace(states_abbrev_dict)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 193 }, { "cell_type": "code", "collapsed": false, "input": [ "trends.name = \"poll\"\n", "trends" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 194, "text": [ "State\n", "Arizona 2.433\n", "California 5.139\n", "Colorado 24.399\n", "Connecticut 30.895\n", "Florida 3.633\n", "Georgia 2.468\n", "Hawaii 36.129\n", "Illinois 34.368\n", "Indiana 6.204\n", "Iowa 8.586\n", "Kansas 3.787\n", "Maine 9.965\n", "Maryland 35.628\n", "Massachusetts 36.323\n", "Michigan 10.357\n", "Minnesota 8.869\n", "Mississippi 2.162\n", "Missouri 7.408\n", "Montana 5.318\n", "Nebraska 3.285\n", "Nevada 26.822\n", "New Hampshire 8.453\n", "New Jersey 28.936\n", "New Mexico 3.850\n", "New York 5.465\n", "North Carolina 2.727\n", "North Dakota 3.935\n", "Ohio 8.181\n", "Oregon 10.029\n", "Pennsylvania 9.333\n", "Rhode Island 36.260\n", "South Carolina 2.245\n", "South Dakota 4.489\n", "Tennessee 1.879\n", "Texas 2.535\n", "Utah 0.649\n", "Vermont 13.123\n", "Virginia 22.297\n", "Washington 28.695\n", "West Virginia 1.767\n", "Wisconsin 9.120\n", "Name: poll" ] } ], "prompt_number": 194 }, { "cell_type": "code", "collapsed": false, "input": [ "trends = trends.reset_index()\n", "trends[\"Pollster\"] = \"National\"" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 195 }, { "cell_type": "code", "collapsed": false, "input": [ "trends" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 196, "text": [ " State poll Pollster\n", "0 Arizona 2.433 National\n", "1 California 5.139 National\n", "2 Colorado 24.399 National\n", "3 Connecticut 30.895 National\n", "4 Florida 3.633 National\n", "5 Georgia 2.468 National\n", "6 Hawaii 36.129 National\n", "7 Illinois 34.368 National\n", "8 Indiana 6.204 National\n", "9 Iowa 8.586 National\n", "10 Kansas 3.787 National\n", "11 Maine 9.965 National\n", "12 Maryland 35.628 National\n", "13 Massachusetts 36.323 National\n", "14 Michigan 10.357 National\n", "15 Minnesota 8.869 National\n", "16 Mississippi 2.162 National\n", "17 Missouri 7.408 National\n", "18 Montana 5.318 National\n", "19 Nebraska 3.285 National\n", "20 Nevada 26.822 National\n", "21 New Hampshire 8.453 National\n", "22 New Jersey 28.936 National\n", "23 New Mexico 3.850 National\n", "24 New York 5.465 National\n", "25 North Carolina 2.727 National\n", "26 North Dakota 3.935 National\n", "27 Ohio 8.181 National\n", "28 Oregon 10.029 National\n", "29 Pennsylvania 9.333 National\n", "30 Rhode Island 36.260 National\n", "31 South Carolina 2.245 National\n", "32 South Dakota 4.489 National\n", "33 Tennessee 1.879 National\n", "34 Texas 2.535 National\n", "35 Utah 0.649 National\n", "36 Vermont 13.123 National\n", "37 Virginia 22.297 National\n", "38 Washington 28.695 National\n", "39 West Virginia 1.767 National\n", "40 Wisconsin 9.120 National" ] } ], "prompt_number": 196 }, { "cell_type": "code", "collapsed": false, "input": [ "polls = pandas.concat((state_polls, trends))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 197 }, { "cell_type": "code", "collapsed": false, "input": [ "weights" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 198, "text": [ " Pollster Weight PIE\n", "0 ABC / Washington Post 0.95 1.41\n", "1 American Research Group 0.65 1.76\n", "2 CBS / New York Times 0.66 1.84\n", "3 Chicago Trib. / Marke... 1.16 1.13\n", "4 CNN / Opinion Research 0.77 1.59\n", "5 Columbus Dispatch (OH) 0.50 6.76\n", "6 EPIC-MRA 0.75 1.65\n", "7 Fairleigh-Dickinson (NJ) 0.71 1.72\n", "8 Field Poll (CA) 1.33 0.88\n", "9 Fox / Opinion Dynamics 0.79 1.60\n", "10 Franklin Pierce (NH) 0.74 1.60\n", "11 Insider Advantage 0.95 1.29\n", "12 Keystone (PA) 0.64 1.55\n", "13 LA Times / Bloomberg 0.83 1.44\n", "14 Marist (NY) 0.69 1.73\n", "15 Mason-Dixon 1.10 1.15\n", "16 Mitchell 0.96 1.43\n", "17 Ohio Poll 1.24 1.05\n", "18 Public Opinion Strate... 0.63 1.81\n", "19 Public Policy Polling... 1.05 1.60\n", "20 Quinnipiac 0.95 1.34\n", "21 Rasmussen 1.30 0.88\n", "22 Research 2000 1.01 1.20\n", "23 Selzer 1.47 0.92\n", "24 Star Tribune (MN) 0.81 2.01\n", "25 Strategic Vision 0.95 1.45\n", "26 Suffolk (NH/MA) 0.77 1.37\n", "27 SurveyUSA 1.91 0.72\n", "28 Univ. New Hampshire 1.08 1.26\n", "29 USA Today / Gallup 0.63 2.01\n", "30 Zogby 0.64 1.72\n", "31 Zogby Interactive 0.43 4.74" ] } ], "prompt_number": 198 }, { "cell_type": "code", "collapsed": false, "input": [ "natl_weight = pandas.DataFrame([[\"National\", weights.Weight.mean(), weights.PIE.mean()]],\n", " columns=[\"Pollster\", \"Weight\", \"PIE\"])\n", "weights = pandas.concat((weights, natl_weight)).reset_index(drop=True)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 199 }, { "cell_type": "code", "collapsed": false, "input": [ "polls = polls.merge(weights, on=\"Pollster\", how=\"left\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 200 }, { "cell_type": "code", "collapsed": false, "input": [ "polls = polls.sort(\"State\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 201 }, { "cell_type": "code", "collapsed": false, "input": [ "def weighted_mean(group):\n", " return (group[\"poll\"] * group[\"Weight\"] / group[\"Weight\"].sum()).sum()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 202 }, { "cell_type": "code", "collapsed": false, "input": [ "group" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 203, "text": [ " resid State\n", "307 5.193 Wisconsin\n", "308 7.402 Wisconsin\n", "309 0.246 Wisconsin\n", "310 9.971 Wisconsin\n", "311 0.697 Wisconsin\n", "312 2.648 Wisconsin\n", "313 -0.300 Wisconsin\n", "314 0.859 Wisconsin\n", "315 7.209 Wisconsin\n", "316 -0.676 Wisconsin\n", "317 -5.412 Wisconsin\n", "318 -1.565 Wisconsin\n", "319 -1.565 Wisconsin" ] } ], "prompt_number": 203 }, { "cell_type": "code", "collapsed": false, "input": [ "results = polls.groupby(\"State\").aggregate(weighted_mean)[\"poll\"]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 204 }, { "cell_type": "code", "collapsed": false, "input": [ "results" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 205, "text": [ "State\n", "Arizona -6.351\n", "California 19.794\n", "Colorado 6.947\n", "Connecticut 13.967\n", "Florida 2.079\n", "Georgia -8.969\n", "Hawaii 31.233\n", "Illinois 26.869\n", "Indiana -6.870\n", "Iowa 2.325\n", "Kansas -9.541\n", "Maine 12.734\n", "Maryland 28.856\n", "Massachusetts 21.816\n", "Michigan 8.561\n", "Minnesota 8.046\n", "Mississippi -8.637\n", "Missouri -1.974\n", "Montana -7.035\n", "Nebraska -8.663\n", "Nevada 9.022\n", "New Hampshire -1.133\n", "New Jersey 13.545\n", "New Mexico 9.145\n", "New York 23.207\n", "North Carolina -0.590\n", "North Dakota -9.138\n", "Ohio 4.384\n", "Oregon 9.117\n", "Pennsylvania 5.692\n", "Rhode Island 25.931\n", "South Carolina -6.767\n", "South Dakota -1.136\n", "Tennessee -2.883\n", "Texas -2.578\n", "Utah -29.142\n", "Vermont 16.811\n", "Virginia 4.985\n", "Washington 16.118\n", "West Virginia -9.776\n", "Wisconsin 4.909\n", "Name: poll" ] } ], "prompt_number": 205 }, { "cell_type": "code", "collapsed": false, "input": [ "results = results.reset_index()\n", "results[\"obama\"] = 0\n", "results[\"romney\"] = 0\n", "results.ix[results[\"poll\"] > 0, [\"obama\"]] = 1\n", "results.ix[results[\"poll\"] < 0, [\"romney\"]] = 1" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 206 }, { "cell_type": "code", "collapsed": false, "input": [ "results[[\"State\", \"poll\"]].to_csv(\"/home/skipper/school/talks/538model/2012-predicted.csv\", index=False)" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "electoral_votes = pandas.read_csv(\"/home/skipper/school/seaboldgit/talks/pydata/data/electoral_votes.csv\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 207 }, { "cell_type": "code", "collapsed": false, "input": [ "electoral_votes.sort(\"State\", inplace=True).reset_index(drop=True, inplace=True)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 208, "text": [ " State Votes\n", "0 Alabama 9\n", "1 Alaska 3\n", "2 Arizona 11\n", "3 Arkansas 6\n", "4 California 55\n", "5 Colorado 9\n", "6 Connecticut 7\n", "7 Delaware 3\n", "8 District of Columbia 3\n", "9 Florida 29\n", "10 Georgia 16\n", "11 Hawaii 4\n", "12 Idaho 4\n", "13 Illinois 20\n", "14 Indiana 11\n", "15 Iowa 6\n", "16 Kansas 6\n", "17 Kentucky 8\n", "18 Louisiana 8\n", "19 Maine 4\n", "20 Maryland 10\n", "21 Massachusetts 11\n", "22 Michigan 16\n", "23 Minnesota 10\n", "24 Mississippi 6\n", "25 Missouri 10\n", "26 Montana 3\n", "27 Nebraska 5\n", "28 Nevada 6\n", "29 New Hampshire 4\n", "30 New Jersey 14\n", "31 New Mexico 5\n", "32 New York 29\n", "33 North Carolina 15\n", "34 North Dakota 3\n", "35 Ohio 18\n", "36 Oklahoma 7\n", "37 Oregon 7\n", "38 Pennsylvania 20\n", "39 Rhode Island 4\n", "40 South Carolina 9\n", "41 South Dakota 3\n", "42 Tennessee 11\n", "43 Texas 38\n", "44 Utah 6\n", "45 Vermont 3\n", "46 Virginia 13\n", "47 Washington 12\n", "48 West Virginia 5\n", "49 Wisconsin 10\n", "50 Wyoming 3" ] } ], "prompt_number": 208 }, { "cell_type": "code", "collapsed": false, "input": [ "results = electoral_votes.merge(results, on=\"State\", how=\"left\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 209 }, { "cell_type": "code", "collapsed": false, "input": [ "results = results.set_index(\"State\")\n", "red_states = [\"Alabama\", \"Alaska\", \"Arkansas\", \"Idaho\", \"Kentucky\", \"Louisiana\",\n", " \"Oklahoma\", \"Wyoming\"]\n", "blue_states = [\"Delaware\", \"District of Columbia\"]\n", "results.ix[red_states, [\"romney\"]] = 1\n", "results.ix[red_states, [\"obama\"]] = 0\n", "results.ix[blue_states, [\"obama\"]] = 1\n", "results.ix[blue_states, [\"romney\"]] = 0" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 210 }, { "cell_type": "code", "collapsed": false, "input": [ "results" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 211, "text": [ " Votes poll obama romney\n", "State \n", "Alabama 9 NaN 0 1\n", "Alaska 3 NaN 0 1\n", "Arizona 11 -6.351 0 1\n", "Arkansas 6 NaN 0 1\n", "California 55 19.794 1 0\n", "Colorado 9 6.947 1 0\n", "Connecticut 7 13.967 1 0\n", "Delaware 3 NaN 1 0\n", "District of Columbia 3 NaN 1 0\n", "Florida 29 2.079 1 0\n", "Georgia 16 -8.969 0 1\n", "Hawaii 4 31.233 1 0\n", "Idaho 4 NaN 0 1\n", "Illinois 20 26.869 1 0\n", "Indiana 11 -6.870 0 1\n", "Iowa 6 2.325 1 0\n", "Kansas 6 -9.541 0 1\n", "Kentucky 8 NaN 0 1\n", "Louisiana 8 NaN 0 1\n", "Maine 4 12.734 1 0\n", "Maryland 10 28.856 1 0\n", "Massachusetts 11 21.816 1 0\n", "Michigan 16 8.561 1 0\n", "Minnesota 10 8.046 1 0\n", "Mississippi 6 -8.637 0 1\n", "Missouri 10 -1.974 0 1\n", "Montana 3 -7.035 0 1\n", "Nebraska 5 -8.663 0 1\n", "Nevada 6 9.022 1 0\n", "New Hampshire 4 -1.133 0 1\n", "New Jersey 14 13.545 1 0\n", "New Mexico 5 9.145 1 0\n", "New York 29 23.207 1 0\n", "North Carolina 15 -0.590 0 1\n", "North Dakota 3 -9.138 0 1\n", "Ohio 18 4.384 1 0\n", "Oklahoma 7 NaN 0 1\n", "Oregon 7 9.117 1 0\n", "Pennsylvania 20 5.692 1 0\n", "Rhode Island 4 25.931 1 0\n", "South Carolina 9 -6.767 0 1\n", "South Dakota 3 -1.136 0 1\n", "Tennessee 11 -2.883 0 1\n", "Texas 38 -2.578 0 1\n", "Utah 6 -29.142 0 1\n", "Vermont 3 16.811 1 0\n", "Virginia 13 4.985 1 0\n", "Washington 12 16.118 1 0\n", "West Virginia 5 -9.776 0 1\n", "Wisconsin 10 4.909 1 0\n", "Wyoming 3 NaN 0 1" ] } ], "prompt_number": 211 }, { "cell_type": "code", "collapsed": false, "input": [ "results[\"Votes\"].mul(results[\"obama\"]).sum()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 212, "text": [ "328.0" ] } ], "prompt_number": 212 }, { "cell_type": "code", "collapsed": false, "input": [ "results[\"Votes\"].mul(results[\"romney\"]).sum()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 213, "text": [ "210.0" ] } ], "prompt_number": 213 }, { "cell_type": "code", "collapsed": false, "input": [ "results" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 214, "text": [ " Votes poll obama romney\n", "State \n", "Alabama 9 NaN 0 1\n", "Alaska 3 NaN 0 1\n", "Arizona 11 -6.351 0 1\n", "Arkansas 6 NaN 0 1\n", "California 55 19.794 1 0\n", "Colorado 9 6.947 1 0\n", "Connecticut 7 13.967 1 0\n", "Delaware 3 NaN 1 0\n", "District of Columbia 3 NaN 1 0\n", "Florida 29 2.079 1 0\n", "Georgia 16 -8.969 0 1\n", "Hawaii 4 31.233 1 0\n", "Idaho 4 NaN 0 1\n", "Illinois 20 26.869 1 0\n", "Indiana 11 -6.870 0 1\n", "Iowa 6 2.325 1 0\n", "Kansas 6 -9.541 0 1\n", "Kentucky 8 NaN 0 1\n", "Louisiana 8 NaN 0 1\n", "Maine 4 12.734 1 0\n", "Maryland 10 28.856 1 0\n", "Massachusetts 11 21.816 1 0\n", "Michigan 16 8.561 1 0\n", "Minnesota 10 8.046 1 0\n", "Mississippi 6 -8.637 0 1\n", "Missouri 10 -1.974 0 1\n", "Montana 3 -7.035 0 1\n", "Nebraska 5 -8.663 0 1\n", "Nevada 6 9.022 1 0\n", "New Hampshire 4 -1.133 0 1\n", "New Jersey 14 13.545 1 0\n", "New Mexico 5 9.145 1 0\n", "New York 29 23.207 1 0\n", "North Carolina 15 -0.590 0 1\n", "North Dakota 3 -9.138 0 1\n", "Ohio 18 4.384 1 0\n", "Oklahoma 7 NaN 0 1\n", "Oregon 7 9.117 1 0\n", "Pennsylvania 20 5.692 1 0\n", "Rhode Island 4 25.931 1 0\n", "South Carolina 9 -6.767 0 1\n", "South Dakota 3 -1.136 0 1\n", "Tennessee 11 -2.883 0 1\n", "Texas 38 -2.578 0 1\n", "Utah 6 -29.142 0 1\n", "Vermont 3 16.811 1 0\n", "Virginia 13 4.985 1 0\n", "Washington 12 16.118 1 0\n", "West Virginia 5 -9.776 0 1\n", "Wisconsin 10 4.909 1 0\n", "Wyoming 3 NaN 0 1" ] } ], "prompt_number": 214 }, { "cell_type": "markdown", "metadata": {}, "source": [ "TODO:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Divide undecided voters probabilistically." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Do historical adjustments based on how polls changed in the past conditional on \"election environment\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\"Error analysis\"" ] } ], "metadata": {} } ] }