Skip to content

Instantly share code, notes, and snippets.

@manujeevanprakash
Created February 16, 2015 06:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save manujeevanprakash/2ceeefb28d9c7ef5ce1e to your computer and use it in GitHub Desktop.
Save manujeevanprakash/2ceeefb28d9c7ef5ce1e to your computer and use it in GitHub Desktop.
home work 2 - 2014
{
"metadata": {
"name": "",
"signature": "sha256:2f974e9e3e538b4129efcdefbc75a6a8ea0f22ca05968de648085440c551073a"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Homework 2: More Exploratory Data Analysis\n",
"## Gene Expression Data and Election Polls \n",
"\n",
"Due: Thursday, October 2, 2014 11:59 PM\n",
"\n",
"<a href=https://raw.githubusercontent.com/cs109/2014/master/homework/HW2.ipynb download=HW2.ipynb> Download this assignment</a>\n",
"\n",
"#### Submission Instructions\n",
"To submit your homework, create a folder named lastname_firstinitial_hw# and place your IPython notebooks, data files, and any other files in this folder. Your IPython Notebooks should be completely executed with the results visible in the notebook. We should not have to run any code. Compress the folder (please use .zip compression) and submit to the CS109 dropbox in the appropriate folder. If we cannot access your work because these directions are not followed correctly, we will not grade your work.\n",
"\n",
"\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[stack overflow](http://stackoverflow.com/questions/27644617/difference-between-n-and-size-parameters-in-np-random-binomialn-p-size-1000). Look at this discussion for understanding binomial and bernoulli."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Introduction\n",
"\n",
"John Tukey wrote in [Exploratory Data Analysis, 1977](http://www.amazon.com/Exploratory-Data-Analysis-Wilder-Tukey/dp/0201076160/ref=pd_bbs_sr_2/103-4466654-5303007?ie=UTF8&s=books&qid=1189739816&sr=8-2): \"The greatest value of a picture is when it forces us to notice what we never expected to see.\" In this assignment we will continue using our exploratory data analysis tools, but apply it to new sets of data: [gene expression](http://en.wikipedia.org/wiki/Gene_expression) and polls from the [2012 Presidental Election](http://en.wikipedia.org/wiki/United_States_presidential_election,_2012) and from the [2014 Senate Midterm Elections](http://en.wikipedia.org/wiki/United_States_Senate_elections,_2014). \n",
"\n",
"**First**: You will use exploratory data analysis and apply the [singular value decomposition](http://en.wikipedia.org/wiki/Singular_value_decomposition) (SVD) to a gene expression data matrix to determine if the the date that the gene expression samples are processed has large effect on the variability seen in the data. \n",
"\n",
"**Second**: You will use the polls from the 2012 Presidential Elections to determine (1) Is there a pollster bias in presidential election polls? and (2) Is the average of polls better than just one poll?\n",
"\n",
"**Finally**: You will use the [HuffPost Pollster API](http://elections.huffingtonpost.com/pollster/api) to extract the polls for the current 2014 Senate Midterm Elections and provide a preliminary prediction of the result of each state.\n",
"\n",
"#### Data\n",
"\n",
"We will use the following data sets: \n",
"\n",
"1. A gene expression data set called `exprs_GSE5859.csv` and sample annotation table called `sampleinfo_GSE5859.csv` which are both available on Github in the 2014_data repository: [expression data set](https://github.com/cs109/2014_data/blob/master/exprs_GSE5859.csv) and [sample annotation table](https://github.com/cs109/2014_data/blob/master/sampleinfo_GSE5859.csv). \n",
"\n",
"2. Polls from the [2012 Presidential Election: Barack Obama vs Mitt Romney](http://elections.huffingtonpost.com/pollster/2012-general-election-romney-vs-obama). The polls we will use are from the [Huffington Post Pollster](http://elections.huffingtonpost.com/pollster). \n",
"\n",
"3. Polls from the [2014 Senate Midterm Elections](http://elections.huffingtonpost.com/pollster) from the [HuffPost Pollster API](http://elections.huffingtonpost.com/pollster/api). \n",
"\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Load Python modules"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# special IPython command to prepare the notebook for matplotlib\n",
"%matplotlib inline \n",
"\n",
"import requests \n",
"from StringIO import StringIO\n",
"import numpy as np\n",
"import pandas as pd # pandas\n",
"import matplotlib.pyplot as plt # module for plotting \n",
"import datetime as dt # module for manipulating dates and times\n",
"import numpy.linalg as lin # module for performing linear algebra operations"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# special matplotlib argument for improved plots\n",
"from matplotlib import rcParams\n",
"\n",
"#colorbrewer2 Dark2 qualitative color table\n",
"dark2_colors = [(0.10588235294117647, 0.6196078431372549, 0.4666666666666667),\n",
" (0.8509803921568627, 0.37254901960784315, 0.00784313725490196),\n",
" (0.4588235294117647, 0.4392156862745098, 0.7019607843137254),\n",
" (0.9058823529411765, 0.1607843137254902, 0.5411764705882353),\n",
" (0.4, 0.6509803921568628, 0.11764705882352941),\n",
" (0.9019607843137255, 0.6705882352941176, 0.00784313725490196),\n",
" (0.6509803921568628, 0.4627450980392157, 0.11372549019607843)]\n",
"\n",
"rcParams['figure.figsize'] = (10, 6)\n",
"rcParams['figure.dpi'] = 150\n",
"rcParams['axes.color_cycle'] = dark2_colors\n",
"rcParams['lines.linewidth'] = 2\n",
"rcParams['axes.facecolor'] = 'white'\n",
"rcParams['font.size'] = 14\n",
"rcParams['patch.edgecolor'] = 'white'\n",
"rcParams['patch.facecolor'] = dark2_colors[0]\n",
"rcParams['font.family'] = 'StixGeneral'"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Problem 1\n",
"\n",
"In this problem we will be using a [gene expression](http://en.wikipedia.org/wiki/Gene_expression) data set obtained from a [microarray](http://en.wikipedia.org/wiki/DNA_microarray) experiement [Read more about the specific experiment here](http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE5859). There are two data sets we will use: \n",
"\n",
"1. The gene expression intensities where the rows represent the features on the microarray (e.g. genes) and the columsns represent the different microarray samples. \n",
"\n",
"2. A table that contains the information about each of the samples (columns in the gene expression data set) such as the sex, the age, the treatment status, the date the samples were processed. Each row represents one sample. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Problem 1(a) \n",
"Read in the two files from Github: [exprs_GSE5859.csv](https://github.com/cs109/2014_data/blob/master/exprs_GSE5859.csv) and [sampleinfo_GSE5859.csv](https://github.com/cs109/2014_data/blob/master/sampleinfo_GSE5859.csv) as pandas DataFrames called `exprs` and `sampleinfo`. Use the gene names as the index of the `exprs` DataFrame."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here\n",
"exprs = pd.read_csv('exprs_GSE5859.csv')\n",
"sampleinfo = pd.read_csv('sampleinfo_GSE5859.csv')\n",
" # By seeing the csv files I can notice that the order of fg and gh are not same\n",
"exprs.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Unnamed: 0</th>\n",
" <th>GSM25581.CEL.gz</th>\n",
" <th>GSM25681.CEL.gz</th>\n",
" <th>GSM136524.CEL.gz</th>\n",
" <th>GSM136707.CEL.gz</th>\n",
" <th>GSM25553.CEL.gz</th>\n",
" <th>GSM136676.CEL.gz</th>\n",
" <th>GSM136711.CEL.gz</th>\n",
" <th>GSM136542.CEL.gz</th>\n",
" <th>GSM136535.CEL.gz</th>\n",
" <th>...</th>\n",
" <th>GSM48650.CEL.gz</th>\n",
" <th>GSM25687.CEL.gz</th>\n",
" <th>GSM25685.CEL.gz</th>\n",
" <th>GSM136549.CEL.gz</th>\n",
" <th>GSM25427.CEL.gz</th>\n",
" <th>GSM25525.CEL.gz</th>\n",
" <th>GSM25349.CEL.gz</th>\n",
" <th>GSM136727.CEL.gz</th>\n",
" <th>GSM25626.CEL.gz</th>\n",
" <th>GSM136725.CEL.gz</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> 1007_s_at</td>\n",
" <td> 6.333951</td>\n",
" <td> 5.736190</td>\n",
" <td> 6.156754</td>\n",
" <td> 6.513010</td>\n",
" <td> 6.061013</td>\n",
" <td> 6.506493</td>\n",
" <td> 6.863426</td>\n",
" <td> 6.369645</td>\n",
" <td> 6.646321</td>\n",
" <td>...</td>\n",
" <td> 7.082636</td>\n",
" <td> 6.315866</td>\n",
" <td> 7.010165</td>\n",
" <td> 6.460107</td>\n",
" <td> 6.122355</td>\n",
" <td> 6.330314</td>\n",
" <td> 6.627014</td>\n",
" <td> 6.133068</td>\n",
" <td> 6.419444</td>\n",
" <td> 6.488579</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> 1053_at</td>\n",
" <td> 7.255622</td>\n",
" <td> 7.399993</td>\n",
" <td> 7.491967</td>\n",
" <td> 7.006123</td>\n",
" <td> 7.250995</td>\n",
" <td> 7.082581</td>\n",
" <td> 6.842236</td>\n",
" <td> 7.048487</td>\n",
" <td> 7.042361</td>\n",
" <td>...</td>\n",
" <td> 6.599718</td>\n",
" <td> 7.412731</td>\n",
" <td> 7.274429</td>\n",
" <td> 6.928642</td>\n",
" <td> 7.168782</td>\n",
" <td> 7.235648</td>\n",
" <td> 6.939184</td>\n",
" <td> 7.280781</td>\n",
" <td> 6.351776</td>\n",
" <td> 7.517410</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> 117_at</td>\n",
" <td> 5.760106</td>\n",
" <td> 4.825169</td>\n",
" <td> 5.039387</td>\n",
" <td> 5.414160</td>\n",
" <td> 5.205697</td>\n",
" <td> 5.300078</td>\n",
" <td> 5.099337</td>\n",
" <td> 5.156459</td>\n",
" <td> 5.736109</td>\n",
" <td>...</td>\n",
" <td> 6.231457</td>\n",
" <td> 5.240717</td>\n",
" <td> 5.275062</td>\n",
" <td> 5.759827</td>\n",
" <td> 5.409720</td>\n",
" <td> 5.491938</td>\n",
" <td> 5.113570</td>\n",
" <td> 5.401876</td>\n",
" <td> 5.537605</td>\n",
" <td> 5.247190</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> 121_at</td>\n",
" <td> 6.935451</td>\n",
" <td> 7.025210</td>\n",
" <td> 7.543667</td>\n",
" <td> 7.959781</td>\n",
" <td> 7.223323</td>\n",
" <td> 8.006816</td>\n",
" <td> 8.102504</td>\n",
" <td> 7.434617</td>\n",
" <td> 7.532321</td>\n",
" <td>...</td>\n",
" <td> 8.215096</td>\n",
" <td> 7.677593</td>\n",
" <td> 7.923624</td>\n",
" <td> 7.219401</td>\n",
" <td> 7.432338</td>\n",
" <td> 6.785174</td>\n",
" <td> 7.833862</td>\n",
" <td> 7.607461</td>\n",
" <td> 7.302935</td>\n",
" <td> 7.331864</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> 1255_g_at</td>\n",
" <td> 3.597872</td>\n",
" <td> 3.108801</td>\n",
" <td> 3.128269</td>\n",
" <td> 3.364947</td>\n",
" <td> 3.125909</td>\n",
" <td> 3.186834</td>\n",
" <td> 3.311022</td>\n",
" <td> 3.092042</td>\n",
" <td> 3.167737</td>\n",
" <td>...</td>\n",
" <td> 3.331424</td>\n",
" <td> 3.043856</td>\n",
" <td> 3.151900</td>\n",
" <td> 3.132253</td>\n",
" <td> 3.250600</td>\n",
" <td> 2.984125</td>\n",
" <td> 3.152269</td>\n",
" <td> 3.225123</td>\n",
" <td> 3.222731</td>\n",
" <td> 3.175846</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows \u00d7 209 columns</p>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 3,
"text": [
" Unnamed: 0 GSM25581.CEL.gz GSM25681.CEL.gz GSM136524.CEL.gz \\\n",
"0 1007_s_at 6.333951 5.736190 6.156754 \n",
"1 1053_at 7.255622 7.399993 7.491967 \n",
"2 117_at 5.760106 4.825169 5.039387 \n",
"3 121_at 6.935451 7.025210 7.543667 \n",
"4 1255_g_at 3.597872 3.108801 3.128269 \n",
"\n",
" GSM136707.CEL.gz GSM25553.CEL.gz GSM136676.CEL.gz GSM136711.CEL.gz \\\n",
"0 6.513010 6.061013 6.506493 6.863426 \n",
"1 7.006123 7.250995 7.082581 6.842236 \n",
"2 5.414160 5.205697 5.300078 5.099337 \n",
"3 7.959781 7.223323 8.006816 8.102504 \n",
"4 3.364947 3.125909 3.186834 3.311022 \n",
"\n",
" GSM136542.CEL.gz GSM136535.CEL.gz ... GSM48650.CEL.gz \\\n",
"0 6.369645 6.646321 ... 7.082636 \n",
"1 7.048487 7.042361 ... 6.599718 \n",
"2 5.156459 5.736109 ... 6.231457 \n",
"3 7.434617 7.532321 ... 8.215096 \n",
"4 3.092042 3.167737 ... 3.331424 \n",
"\n",
" GSM25687.CEL.gz GSM25685.CEL.gz GSM136549.CEL.gz GSM25427.CEL.gz \\\n",
"0 6.315866 7.010165 6.460107 6.122355 \n",
"1 7.412731 7.274429 6.928642 7.168782 \n",
"2 5.240717 5.275062 5.759827 5.409720 \n",
"3 7.677593 7.923624 7.219401 7.432338 \n",
"4 3.043856 3.151900 3.132253 3.250600 \n",
"\n",
" GSM25525.CEL.gz GSM25349.CEL.gz GSM136727.CEL.gz GSM25626.CEL.gz \\\n",
"0 6.330314 6.627014 6.133068 6.419444 \n",
"1 7.235648 6.939184 7.280781 6.351776 \n",
"2 5.491938 5.113570 5.401876 5.537605 \n",
"3 6.785174 7.833862 7.607461 7.302935 \n",
"4 2.984125 3.152269 3.225123 3.222731 \n",
"\n",
" GSM136725.CEL.gz \n",
"0 6.488579 \n",
"1 7.517410 \n",
"2 5.247190 \n",
"3 7.331864 \n",
"4 3.175846 \n",
"\n",
"[5 rows x 209 columns]"
]
}
],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"sampleinfo.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ethnicity</th>\n",
" <th>date</th>\n",
" <th>filename</th>\n",
" <th>sex</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> CEU</td>\n",
" <td> 2003-02-04</td>\n",
" <td> GSM25349.CEL.gz</td>\n",
" <td> M</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> CEU</td>\n",
" <td> 2003-02-04</td>\n",
" <td> GSM25350.CEL.gz</td>\n",
" <td> M</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> CEU</td>\n",
" <td> 2002-12-17</td>\n",
" <td> GSM25356.CEL.gz</td>\n",
" <td> M</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> CEU</td>\n",
" <td> 2003-01-30</td>\n",
" <td> GSM25357.CEL.gz</td>\n",
" <td> M</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> CEU</td>\n",
" <td> 2003-01-03</td>\n",
" <td> GSM25358.CEL.gz</td>\n",
" <td> M</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 4,
"text": [
" ethnicity date filename sex\n",
"0 CEU 2003-02-04 GSM25349.CEL.gz M\n",
"1 CEU 2003-02-04 GSM25350.CEL.gz M\n",
"2 CEU 2002-12-17 GSM25356.CEL.gz M\n",
"3 CEU 2003-01-30 GSM25357.CEL.gz M\n",
"4 CEU 2003-01-03 GSM25358.CEL.gz M"
]
}
],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"a = list(exprs.columns)\n",
"b = list(sampleinfo.filename)\n",
"index_val = [a.index(i) for i in b]\n",
"exprs = exprs[index_val]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"(sampleinfo['filename'] == exprs.columns).all()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 6,
"text": [
"True"
]
}
],
"prompt_number": 6
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Make sure the order of the columns in the gene expression DataFrame match the order of file names in the sample annotation DataFrame. If the order of the columns the `exprs` DataFrame do not match the order of the file names in the `sampleinfo` DataFrame, reorder the columns in the `exprs` DataFrame. \n",
"\n",
"**Note**: The column names of the gene expression DataFrame are the filenames of the orignal files from which these data were obtained. \n",
"\n",
"**Hint**: The method `list.index(x)` [[read here](https://docs.python.org/2/tutorial/datastructures.html)] can be used to return the index in the list of the first item whose value is x. It is an error if there is no such item. To check if the order of the columns in `exprs` matches the order of the rows in `sampleinfo`, you can check using the method `.all()` on a Boolean or list of Booleans: \n",
"\n",
"Example code: `(exprs.columns == sampleinfo.filename).all()`"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here\n",
"exprs.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>GSM25349.CEL.gz</th>\n",
" <th>GSM25350.CEL.gz</th>\n",
" <th>GSM25356.CEL.gz</th>\n",
" <th>GSM25357.CEL.gz</th>\n",
" <th>GSM25358.CEL.gz</th>\n",
" <th>GSM25359.CEL.gz</th>\n",
" <th>GSM25360.CEL.gz</th>\n",
" <th>GSM25361.CEL.gz</th>\n",
" <th>GSM25377.CEL.gz</th>\n",
" <th>GSM25378.CEL.gz</th>\n",
" <th>...</th>\n",
" <th>GSM136719.CEL.gz</th>\n",
" <th>GSM136720.CEL.gz</th>\n",
" <th>GSM136721.CEL.gz</th>\n",
" <th>GSM136722.CEL.gz</th>\n",
" <th>GSM136723.CEL.gz</th>\n",
" <th>GSM136724.CEL.gz</th>\n",
" <th>GSM136725.CEL.gz</th>\n",
" <th>GSM136726.CEL.gz</th>\n",
" <th>GSM136727.CEL.gz</th>\n",
" <th>GSM136729.CEL.gz</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> 6.627014</td>\n",
" <td> 6.249807</td>\n",
" <td> 5.934128</td>\n",
" <td> 6.145268</td>\n",
" <td> 6.091270</td>\n",
" <td> 6.041186</td>\n",
" <td> 6.050375</td>\n",
" <td> 6.063847</td>\n",
" <td> 6.226106</td>\n",
" <td> 6.358282</td>\n",
" <td>...</td>\n",
" <td> 6.466445</td>\n",
" <td> 6.533592</td>\n",
" <td> 6.631492</td>\n",
" <td> 6.513362</td>\n",
" <td> 6.440706</td>\n",
" <td> 6.704324</td>\n",
" <td> 6.488579</td>\n",
" <td> 6.809481</td>\n",
" <td> 6.133068</td>\n",
" <td> 6.155473</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> 6.939184</td>\n",
" <td> 6.818038</td>\n",
" <td> 7.047962</td>\n",
" <td> 7.422477</td>\n",
" <td> 7.272361</td>\n",
" <td> 7.128216</td>\n",
" <td> 6.750719</td>\n",
" <td> 6.836287</td>\n",
" <td> 6.738022</td>\n",
" <td> 7.367895</td>\n",
" <td>...</td>\n",
" <td> 7.032885</td>\n",
" <td> 7.156344</td>\n",
" <td> 7.018025</td>\n",
" <td> 6.973322</td>\n",
" <td> 6.884738</td>\n",
" <td> 7.120898</td>\n",
" <td> 7.517410</td>\n",
" <td> 7.200596</td>\n",
" <td> 7.280781</td>\n",
" <td> 7.111583</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> 5.113570</td>\n",
" <td> 5.074096</td>\n",
" <td> 5.371201</td>\n",
" <td> 5.266550</td>\n",
" <td> 5.342047</td>\n",
" <td> 5.063876</td>\n",
" <td> 5.315898</td>\n",
" <td> 5.483652</td>\n",
" <td> 6.689444</td>\n",
" <td> 6.482782</td>\n",
" <td>...</td>\n",
" <td> 5.661112</td>\n",
" <td> 5.127260</td>\n",
" <td> 5.151840</td>\n",
" <td> 5.505602</td>\n",
" <td> 5.687689</td>\n",
" <td> 4.942651</td>\n",
" <td> 5.247190</td>\n",
" <td> 5.237239</td>\n",
" <td> 5.401876</td>\n",
" <td> 5.302628</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> 7.833862</td>\n",
" <td> 7.780682</td>\n",
" <td> 7.458197</td>\n",
" <td> 7.655948</td>\n",
" <td> 7.546555</td>\n",
" <td> 7.072670</td>\n",
" <td> 7.092984</td>\n",
" <td> 6.954225</td>\n",
" <td> 7.489785</td>\n",
" <td> 7.388539</td>\n",
" <td>...</td>\n",
" <td> 7.769734</td>\n",
" <td> 7.815864</td>\n",
" <td> 7.683279</td>\n",
" <td> 7.883231</td>\n",
" <td> 7.913621</td>\n",
" <td> 7.834196</td>\n",
" <td> 7.331864</td>\n",
" <td> 7.357102</td>\n",
" <td> 7.607461</td>\n",
" <td> 7.456453</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> 3.152269</td>\n",
" <td> 3.111747</td>\n",
" <td> 3.018932</td>\n",
" <td> 3.154545</td>\n",
" <td> 3.107954</td>\n",
" <td> 3.224284</td>\n",
" <td> 3.114241</td>\n",
" <td> 3.044975</td>\n",
" <td> 3.304038</td>\n",
" <td> 2.887919</td>\n",
" <td>...</td>\n",
" <td> 3.257484</td>\n",
" <td> 3.339234</td>\n",
" <td> 3.298384</td>\n",
" <td> 3.150654</td>\n",
" <td> 3.344501</td>\n",
" <td> 3.230285</td>\n",
" <td> 3.175846</td>\n",
" <td> 3.105092</td>\n",
" <td> 3.225123</td>\n",
" <td> 3.090149</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows \u00d7 208 columns</p>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 9,
"text": [
" GSM25349.CEL.gz GSM25350.CEL.gz GSM25356.CEL.gz GSM25357.CEL.gz \\\n",
"0 6.627014 6.249807 5.934128 6.145268 \n",
"1 6.939184 6.818038 7.047962 7.422477 \n",
"2 5.113570 5.074096 5.371201 5.266550 \n",
"3 7.833862 7.780682 7.458197 7.655948 \n",
"4 3.152269 3.111747 3.018932 3.154545 \n",
"\n",
" GSM25358.CEL.gz GSM25359.CEL.gz GSM25360.CEL.gz GSM25361.CEL.gz \\\n",
"0 6.091270 6.041186 6.050375 6.063847 \n",
"1 7.272361 7.128216 6.750719 6.836287 \n",
"2 5.342047 5.063876 5.315898 5.483652 \n",
"3 7.546555 7.072670 7.092984 6.954225 \n",
"4 3.107954 3.224284 3.114241 3.044975 \n",
"\n",
" GSM25377.CEL.gz GSM25378.CEL.gz ... GSM136719.CEL.gz \\\n",
"0 6.226106 6.358282 ... 6.466445 \n",
"1 6.738022 7.367895 ... 7.032885 \n",
"2 6.689444 6.482782 ... 5.661112 \n",
"3 7.489785 7.388539 ... 7.769734 \n",
"4 3.304038 2.887919 ... 3.257484 \n",
"\n",
" GSM136720.CEL.gz GSM136721.CEL.gz GSM136722.CEL.gz GSM136723.CEL.gz \\\n",
"0 6.533592 6.631492 6.513362 6.440706 \n",
"1 7.156344 7.018025 6.973322 6.884738 \n",
"2 5.127260 5.151840 5.505602 5.687689 \n",
"3 7.815864 7.683279 7.883231 7.913621 \n",
"4 3.339234 3.298384 3.150654 3.344501 \n",
"\n",
" GSM136724.CEL.gz GSM136725.CEL.gz GSM136726.CEL.gz GSM136727.CEL.gz \\\n",
"0 6.704324 6.488579 6.809481 6.133068 \n",
"1 7.120898 7.517410 7.200596 7.280781 \n",
"2 4.942651 5.247190 5.237239 5.401876 \n",
"3 7.834196 7.331864 7.357102 7.607461 \n",
"4 3.230285 3.175846 3.105092 3.225123 \n",
"\n",
" GSM136729.CEL.gz \n",
"0 6.155473 \n",
"1 7.111583 \n",
"2 5.302628 \n",
"3 7.456453 \n",
"4 3.090149 \n",
"\n",
"[5 rows x 208 columns]"
]
}
],
"prompt_number": 9
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"sampleinfo.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ethnicity</th>\n",
" <th>date</th>\n",
" <th>filename</th>\n",
" <th>sex</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> CEU</td>\n",
" <td> 2003-02-04</td>\n",
" <td> GSM25349.CEL.gz</td>\n",
" <td> M</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> CEU</td>\n",
" <td> 2003-02-04</td>\n",
" <td> GSM25350.CEL.gz</td>\n",
" <td> M</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> CEU</td>\n",
" <td> 2002-12-17</td>\n",
" <td> GSM25356.CEL.gz</td>\n",
" <td> M</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> CEU</td>\n",
" <td> 2003-01-30</td>\n",
" <td> GSM25357.CEL.gz</td>\n",
" <td> M</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> CEU</td>\n",
" <td> 2003-01-03</td>\n",
" <td> GSM25358.CEL.gz</td>\n",
" <td> M</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 10,
"text": [
" ethnicity date filename sex\n",
"0 CEU 2003-02-04 GSM25349.CEL.gz M\n",
"1 CEU 2003-02-04 GSM25350.CEL.gz M\n",
"2 CEU 2002-12-17 GSM25356.CEL.gz M\n",
"3 CEU 2003-01-30 GSM25357.CEL.gz M\n",
"4 CEU 2003-01-03 GSM25358.CEL.gz M"
]
}
],
"prompt_number": 10
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Show the head of the two tables: `exprs` and `sampleinfo`. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Problem 1(b)\n",
"\n",
"Extract the year and month as integers from the `sampleinfo` table. \n",
"\n",
"**Hint**: To convert a Series or a column of a pandas DataFrame that contains a date-like object, you can use the `to_datetime` function [[read here](http://pandas.pydata.org/pandas-docs/stable/timeseries.html)]. This will create a `DatetimeIndex` which can be used to extract the month and year for each row in the DataFrame. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here\n",
"sampleinfo['date'] = pd.to_datetime(sampleinfo.date)\n",
"sampleinfo['month'] = map(lambda x: x.month, sampleinfo.date)\n",
"sampleinfo['year'] = map(lambda x: x.year, sampleinfo.date)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 15
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Problem 1(c)\n",
"\n",
"Convert the dates in the `date` column from the `sampleinfo` table into days since October 31, 2002. Add a column to the `sampleinfo` DataFrame titled `elapsedInDays` containing the days since October 31, 2002. Show the head of the `sampleinfo` DataFrame which includes the new column. \n",
"\n",
"**Hint**: Use the `datetime` module to create a new `datetime` object for the specific date October 31, 2002. Then, subtract the October 31, 2002 date from each date from the `date` column in the `sampleinfo` DataFrame. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here\n",
"oct_var = min(sampleinfo['date'])\n",
"sampleinfo['elapsedInDays'] = map(lambda x: (x-oct_var).days, sampleinfo.date)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 22
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"sampleinfo.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ethnicity</th>\n",
" <th>date</th>\n",
" <th>filename</th>\n",
" <th>sex</th>\n",
" <th>month</th>\n",
" <th>year</th>\n",
" <th>elapsedInDays</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> CEU</td>\n",
" <td>2003-02-04</td>\n",
" <td> GSM25349.CEL.gz</td>\n",
" <td> M</td>\n",
" <td> 2</td>\n",
" <td> 2003</td>\n",
" <td> 96</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> CEU</td>\n",
" <td>2003-02-04</td>\n",
" <td> GSM25350.CEL.gz</td>\n",
" <td> M</td>\n",
" <td> 2</td>\n",
" <td> 2003</td>\n",
" <td> 96</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> CEU</td>\n",
" <td>2002-12-17</td>\n",
" <td> GSM25356.CEL.gz</td>\n",
" <td> M</td>\n",
" <td> 12</td>\n",
" <td> 2002</td>\n",
" <td> 47</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> CEU</td>\n",
" <td>2003-01-30</td>\n",
" <td> GSM25357.CEL.gz</td>\n",
" <td> M</td>\n",
" <td> 1</td>\n",
" <td> 2003</td>\n",
" <td> 91</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> CEU</td>\n",
" <td>2003-01-03</td>\n",
" <td> GSM25358.CEL.gz</td>\n",
" <td> M</td>\n",
" <td> 1</td>\n",
" <td> 2003</td>\n",
" <td> 64</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 24,
"text": [
" ethnicity date filename sex month year elapsedInDays\n",
"0 CEU 2003-02-04 GSM25349.CEL.gz M 2 2003 96\n",
"1 CEU 2003-02-04 GSM25350.CEL.gz M 2 2003 96\n",
"2 CEU 2002-12-17 GSM25356.CEL.gz M 12 2002 47\n",
"3 CEU 2003-01-30 GSM25357.CEL.gz M 1 2003 91\n",
"4 CEU 2003-01-03 GSM25358.CEL.gz M 1 2003 64"
]
}
],
"prompt_number": 24
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Problem 1(d)\n",
"\n",
"Use exploratory analysis and the singular value decomposition (SVD) of the gene expression data matrix to determine if the date the samples were processed has large effect on the variability seen in the data or if it is just ethnicity (which is confounded with date). \n",
"\n",
"**Hint**: See the end of the [lecture from 9/23/2014 for help with SVD](http://nbviewer.ipython.org/github/cs109/2014/blob/master/lectures/lecture07/data_scraping_transcript.ipynb). \n",
"\n",
"First subset the the `sampleinfo` DataFrame to include only the CEU ethnicity. Call this new subsetted DataFrame `sampleinfoCEU`. Show the head of `sampleinfoCEU` DataFrame. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here\n",
"sampleinfoCEU = sampleinfo[sampleinfo.ethnicity == 'CEU']\n",
"sampleinfoCEU.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ethnicity</th>\n",
" <th>date</th>\n",
" <th>filename</th>\n",
" <th>sex</th>\n",
" <th>month</th>\n",
" <th>year</th>\n",
" <th>elapsedInDays</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> CEU</td>\n",
" <td>2003-02-04</td>\n",
" <td> GSM25349.CEL.gz</td>\n",
" <td> M</td>\n",
" <td> 2</td>\n",
" <td> 2003</td>\n",
" <td> 96</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> CEU</td>\n",
" <td>2003-02-04</td>\n",
" <td> GSM25350.CEL.gz</td>\n",
" <td> M</td>\n",
" <td> 2</td>\n",
" <td> 2003</td>\n",
" <td> 96</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> CEU</td>\n",
" <td>2002-12-17</td>\n",
" <td> GSM25356.CEL.gz</td>\n",
" <td> M</td>\n",
" <td> 12</td>\n",
" <td> 2002</td>\n",
" <td> 47</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> CEU</td>\n",
" <td>2003-01-30</td>\n",
" <td> GSM25357.CEL.gz</td>\n",
" <td> M</td>\n",
" <td> 1</td>\n",
" <td> 2003</td>\n",
" <td> 91</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> CEU</td>\n",
" <td>2003-01-03</td>\n",
" <td> GSM25358.CEL.gz</td>\n",
" <td> M</td>\n",
" <td> 1</td>\n",
" <td> 2003</td>\n",
" <td> 64</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 43,
"text": [
" ethnicity date filename sex month year elapsedInDays\n",
"0 CEU 2003-02-04 GSM25349.CEL.gz M 2 2003 96\n",
"1 CEU 2003-02-04 GSM25350.CEL.gz M 2 2003 96\n",
"2 CEU 2002-12-17 GSM25356.CEL.gz M 12 2002 47\n",
"3 CEU 2003-01-30 GSM25357.CEL.gz M 1 2003 91\n",
"4 CEU 2003-01-03 GSM25358.CEL.gz M 1 2003 64"
]
}
],
"prompt_number": 43
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Next, subset the `exprs` DataFrame to only include the samples with the CEU ethnicity. Name this new subsetted DataFrame `exprsCEU`. Show the head of the `exprsCEU` DataFrame. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here\n",
"exprsCEU = exprs[sample_df.filename]\n",
"exprsCEU.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>GSM25349.CEL.gz</th>\n",
" <th>GSM25350.CEL.gz</th>\n",
" <th>GSM25356.CEL.gz</th>\n",
" <th>GSM25357.CEL.gz</th>\n",
" <th>GSM25358.CEL.gz</th>\n",
" <th>GSM25359.CEL.gz</th>\n",
" <th>GSM25360.CEL.gz</th>\n",
" <th>GSM25361.CEL.gz</th>\n",
" <th>GSM25377.CEL.gz</th>\n",
" <th>GSM25378.CEL.gz</th>\n",
" <th>...</th>\n",
" <th>GSM48658.CEL.gz</th>\n",
" <th>GSM48660.CEL.gz</th>\n",
" <th>GSM48661.CEL.gz</th>\n",
" <th>GSM48662.CEL.gz</th>\n",
" <th>GSM48663.CEL.gz</th>\n",
" <th>GSM48664.CEL.gz</th>\n",
" <th>GSM48665.CEL.gz</th>\n",
" <th>GSM136725.CEL.gz</th>\n",
" <th>GSM136726.CEL.gz</th>\n",
" <th>GSM136727.CEL.gz</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> 6.627014</td>\n",
" <td> 6.249807</td>\n",
" <td> 5.934128</td>\n",
" <td> 6.145268</td>\n",
" <td> 6.091270</td>\n",
" <td> 6.041186</td>\n",
" <td> 6.050375</td>\n",
" <td> 6.063847</td>\n",
" <td> 6.226106</td>\n",
" <td> 6.358282</td>\n",
" <td>...</td>\n",
" <td> 6.501510</td>\n",
" <td> 6.558100</td>\n",
" <td> 6.618286</td>\n",
" <td> 6.869995</td>\n",
" <td> 5.981000</td>\n",
" <td> 6.403285</td>\n",
" <td> 6.248702</td>\n",
" <td> 6.488579</td>\n",
" <td> 6.809481</td>\n",
" <td> 6.133068</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> 6.939184</td>\n",
" <td> 6.818038</td>\n",
" <td> 7.047962</td>\n",
" <td> 7.422477</td>\n",
" <td> 7.272361</td>\n",
" <td> 7.128216</td>\n",
" <td> 6.750719</td>\n",
" <td> 6.836287</td>\n",
" <td> 6.738022</td>\n",
" <td> 7.367895</td>\n",
" <td>...</td>\n",
" <td> 7.066686</td>\n",
" <td> 7.386702</td>\n",
" <td> 6.407958</td>\n",
" <td> 7.089180</td>\n",
" <td> 7.120923</td>\n",
" <td> 7.018998</td>\n",
" <td> 7.155419</td>\n",
" <td> 7.517410</td>\n",
" <td> 7.200596</td>\n",
" <td> 7.280781</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> 5.113570</td>\n",
" <td> 5.074096</td>\n",
" <td> 5.371201</td>\n",
" <td> 5.266550</td>\n",
" <td> 5.342047</td>\n",
" <td> 5.063876</td>\n",
" <td> 5.315898</td>\n",
" <td> 5.483652</td>\n",
" <td> 6.689444</td>\n",
" <td> 6.482782</td>\n",
" <td>...</td>\n",
" <td> 5.600514</td>\n",
" <td> 5.232676</td>\n",
" <td> 5.630720</td>\n",
" <td> 4.944748</td>\n",
" <td> 5.275577</td>\n",
" <td> 5.770358</td>\n",
" <td> 5.616842</td>\n",
" <td> 5.247190</td>\n",
" <td> 5.237239</td>\n",
" <td> 5.401876</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> 7.833862</td>\n",
" <td> 7.780682</td>\n",
" <td> 7.458197</td>\n",
" <td> 7.655948</td>\n",
" <td> 7.546555</td>\n",
" <td> 7.072670</td>\n",
" <td> 7.092984</td>\n",
" <td> 6.954225</td>\n",
" <td> 7.489785</td>\n",
" <td> 7.388539</td>\n",
" <td>...</td>\n",
" <td> 7.437535</td>\n",
" <td> 7.714650</td>\n",
" <td> 7.416252</td>\n",
" <td> 7.746448</td>\n",
" <td> 8.001434</td>\n",
" <td> 7.626723</td>\n",
" <td> 7.452299</td>\n",
" <td> 7.331864</td>\n",
" <td> 7.357102</td>\n",
" <td> 7.607461</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> 3.152269</td>\n",
" <td> 3.111747</td>\n",
" <td> 3.018932</td>\n",
" <td> 3.154545</td>\n",
" <td> 3.107954</td>\n",
" <td> 3.224284</td>\n",
" <td> 3.114241</td>\n",
" <td> 3.044975</td>\n",
" <td> 3.304038</td>\n",
" <td> 2.887919</td>\n",
" <td>...</td>\n",
" <td> 3.009983</td>\n",
" <td> 3.151203</td>\n",
" <td> 3.199709</td>\n",
" <td> 3.159496</td>\n",
" <td> 3.149710</td>\n",
" <td> 3.242780</td>\n",
" <td> 3.433125</td>\n",
" <td> 3.175846</td>\n",
" <td> 3.105092</td>\n",
" <td> 3.225123</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows \u00d7 102 columns</p>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 44,
"text": [
" GSM25349.CEL.gz GSM25350.CEL.gz GSM25356.CEL.gz GSM25357.CEL.gz \\\n",
"0 6.627014 6.249807 5.934128 6.145268 \n",
"1 6.939184 6.818038 7.047962 7.422477 \n",
"2 5.113570 5.074096 5.371201 5.266550 \n",
"3 7.833862 7.780682 7.458197 7.655948 \n",
"4 3.152269 3.111747 3.018932 3.154545 \n",
"\n",
" GSM25358.CEL.gz GSM25359.CEL.gz GSM25360.CEL.gz GSM25361.CEL.gz \\\n",
"0 6.091270 6.041186 6.050375 6.063847 \n",
"1 7.272361 7.128216 6.750719 6.836287 \n",
"2 5.342047 5.063876 5.315898 5.483652 \n",
"3 7.546555 7.072670 7.092984 6.954225 \n",
"4 3.107954 3.224284 3.114241 3.044975 \n",
"\n",
" GSM25377.CEL.gz GSM25378.CEL.gz ... GSM48658.CEL.gz \\\n",
"0 6.226106 6.358282 ... 6.501510 \n",
"1 6.738022 7.367895 ... 7.066686 \n",
"2 6.689444 6.482782 ... 5.600514 \n",
"3 7.489785 7.388539 ... 7.437535 \n",
"4 3.304038 2.887919 ... 3.009983 \n",
"\n",
" GSM48660.CEL.gz GSM48661.CEL.gz GSM48662.CEL.gz GSM48663.CEL.gz \\\n",
"0 6.558100 6.618286 6.869995 5.981000 \n",
"1 7.386702 6.407958 7.089180 7.120923 \n",
"2 5.232676 5.630720 4.944748 5.275577 \n",
"3 7.714650 7.416252 7.746448 8.001434 \n",
"4 3.151203 3.199709 3.159496 3.149710 \n",
"\n",
" GSM48664.CEL.gz GSM48665.CEL.gz GSM136725.CEL.gz GSM136726.CEL.gz \\\n",
"0 6.403285 6.248702 6.488579 6.809481 \n",
"1 7.018998 7.155419 7.517410 7.200596 \n",
"2 5.770358 5.616842 5.247190 5.237239 \n",
"3 7.626723 7.452299 7.331864 7.357102 \n",
"4 3.242780 3.433125 3.175846 3.105092 \n",
"\n",
" GSM136727.CEL.gz \n",
"0 6.133068 \n",
"1 7.280781 \n",
"2 5.401876 \n",
"3 7.607461 \n",
"4 3.225123 \n",
"\n",
"[5 rows x 102 columns]"
]
}
],
"prompt_number": 44
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Check to make sure the order of the columns in the `exprsCEU` DataFrame matches the rows in the `sampleinfoCEU` DataFrame. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here\n",
"(sampleinfoCEU.filename == exprsCEU.columns).all()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 48,
"text": [
"True"
]
}
],
"prompt_number": 48
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Compute the average gene expression intensity in the `exprsCEU` DataFrame across all the samples. For each sample in the `exprsCEU` DataFrame, subtract the average gene expression intensity from each of the samples. Show the head of the mean normalized gene expression data. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here\n",
"norm_exprs = exprsCEU.apply(lambda x: x - exprsCEU.mean(axis =1), axis =0)\n",
"norm_exprs.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>GSM25349.CEL.gz</th>\n",
" <th>GSM25350.CEL.gz</th>\n",
" <th>GSM25356.CEL.gz</th>\n",
" <th>GSM25357.CEL.gz</th>\n",
" <th>GSM25358.CEL.gz</th>\n",
" <th>GSM25359.CEL.gz</th>\n",
" <th>GSM25360.CEL.gz</th>\n",
" <th>GSM25361.CEL.gz</th>\n",
" <th>GSM25377.CEL.gz</th>\n",
" <th>GSM25378.CEL.gz</th>\n",
" <th>...</th>\n",
" <th>GSM48658.CEL.gz</th>\n",
" <th>GSM48660.CEL.gz</th>\n",
" <th>GSM48661.CEL.gz</th>\n",
" <th>GSM48662.CEL.gz</th>\n",
" <th>GSM48663.CEL.gz</th>\n",
" <th>GSM48664.CEL.gz</th>\n",
" <th>GSM48665.CEL.gz</th>\n",
" <th>GSM136725.CEL.gz</th>\n",
" <th>GSM136726.CEL.gz</th>\n",
" <th>GSM136727.CEL.gz</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> 0.365059</td>\n",
" <td>-0.012149</td>\n",
" <td>-0.327827</td>\n",
" <td>-0.116687</td>\n",
" <td>-0.170685</td>\n",
" <td>-0.220769</td>\n",
" <td>-0.211580</td>\n",
" <td>-0.198109</td>\n",
" <td>-0.035849</td>\n",
" <td> 0.096327</td>\n",
" <td>...</td>\n",
" <td> 0.239554</td>\n",
" <td> 0.296144</td>\n",
" <td> 0.356331</td>\n",
" <td> 0.608040</td>\n",
" <td>-0.280956</td>\n",
" <td> 0.141330</td>\n",
" <td>-0.013254</td>\n",
" <td> 0.226624</td>\n",
" <td> 0.547526</td>\n",
" <td>-0.128887</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>-0.136032</td>\n",
" <td>-0.257178</td>\n",
" <td>-0.027254</td>\n",
" <td> 0.347260</td>\n",
" <td> 0.197144</td>\n",
" <td> 0.053000</td>\n",
" <td>-0.324497</td>\n",
" <td>-0.238930</td>\n",
" <td>-0.337195</td>\n",
" <td> 0.292678</td>\n",
" <td>...</td>\n",
" <td>-0.008531</td>\n",
" <td> 0.311485</td>\n",
" <td>-0.667259</td>\n",
" <td> 0.013964</td>\n",
" <td> 0.045706</td>\n",
" <td>-0.056219</td>\n",
" <td> 0.080203</td>\n",
" <td> 0.442193</td>\n",
" <td> 0.125379</td>\n",
" <td> 0.205564</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>-0.490556</td>\n",
" <td>-0.530031</td>\n",
" <td>-0.232926</td>\n",
" <td>-0.337577</td>\n",
" <td>-0.262080</td>\n",
" <td>-0.540250</td>\n",
" <td>-0.288228</td>\n",
" <td>-0.120475</td>\n",
" <td> 1.085317</td>\n",
" <td> 0.878655</td>\n",
" <td>...</td>\n",
" <td>-0.003613</td>\n",
" <td>-0.371451</td>\n",
" <td> 0.026594</td>\n",
" <td>-0.659379</td>\n",
" <td>-0.328549</td>\n",
" <td> 0.166231</td>\n",
" <td> 0.012716</td>\n",
" <td>-0.356936</td>\n",
" <td>-0.366887</td>\n",
" <td>-0.202251</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> 0.418026</td>\n",
" <td> 0.364847</td>\n",
" <td> 0.042362</td>\n",
" <td> 0.240113</td>\n",
" <td> 0.130720</td>\n",
" <td>-0.343165</td>\n",
" <td>-0.322852</td>\n",
" <td>-0.461611</td>\n",
" <td> 0.073949</td>\n",
" <td>-0.027296</td>\n",
" <td>...</td>\n",
" <td> 0.021700</td>\n",
" <td> 0.298814</td>\n",
" <td> 0.000417</td>\n",
" <td> 0.330612</td>\n",
" <td> 0.585598</td>\n",
" <td> 0.210887</td>\n",
" <td> 0.036463</td>\n",
" <td>-0.083972</td>\n",
" <td>-0.058733</td>\n",
" <td> 0.191626</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> 0.018335</td>\n",
" <td>-0.022187</td>\n",
" <td>-0.115002</td>\n",
" <td> 0.020611</td>\n",
" <td>-0.025980</td>\n",
" <td> 0.090351</td>\n",
" <td>-0.019693</td>\n",
" <td>-0.088959</td>\n",
" <td> 0.170104</td>\n",
" <td>-0.246015</td>\n",
" <td>...</td>\n",
" <td>-0.123951</td>\n",
" <td> 0.017269</td>\n",
" <td> 0.065775</td>\n",
" <td> 0.025562</td>\n",
" <td> 0.015776</td>\n",
" <td> 0.108846</td>\n",
" <td> 0.299192</td>\n",
" <td> 0.041912</td>\n",
" <td>-0.028842</td>\n",
" <td> 0.091189</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows \u00d7 102 columns</p>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 75,
"text": [
" GSM25349.CEL.gz GSM25350.CEL.gz GSM25356.CEL.gz GSM25357.CEL.gz \\\n",
"0 0.365059 -0.012149 -0.327827 -0.116687 \n",
"1 -0.136032 -0.257178 -0.027254 0.347260 \n",
"2 -0.490556 -0.530031 -0.232926 -0.337577 \n",
"3 0.418026 0.364847 0.042362 0.240113 \n",
"4 0.018335 -0.022187 -0.115002 0.020611 \n",
"\n",
" GSM25358.CEL.gz GSM25359.CEL.gz GSM25360.CEL.gz GSM25361.CEL.gz \\\n",
"0 -0.170685 -0.220769 -0.211580 -0.198109 \n",
"1 0.197144 0.053000 -0.324497 -0.238930 \n",
"2 -0.262080 -0.540250 -0.288228 -0.120475 \n",
"3 0.130720 -0.343165 -0.322852 -0.461611 \n",
"4 -0.025980 0.090351 -0.019693 -0.088959 \n",
"\n",
" GSM25377.CEL.gz GSM25378.CEL.gz ... GSM48658.CEL.gz \\\n",
"0 -0.035849 0.096327 ... 0.239554 \n",
"1 -0.337195 0.292678 ... -0.008531 \n",
"2 1.085317 0.878655 ... -0.003613 \n",
"3 0.073949 -0.027296 ... 0.021700 \n",
"4 0.170104 -0.246015 ... -0.123951 \n",
"\n",
" GSM48660.CEL.gz GSM48661.CEL.gz GSM48662.CEL.gz GSM48663.CEL.gz \\\n",
"0 0.296144 0.356331 0.608040 -0.280956 \n",
"1 0.311485 -0.667259 0.013964 0.045706 \n",
"2 -0.371451 0.026594 -0.659379 -0.328549 \n",
"3 0.298814 0.000417 0.330612 0.585598 \n",
"4 0.017269 0.065775 0.025562 0.015776 \n",
"\n",
" GSM48664.CEL.gz GSM48665.CEL.gz GSM136725.CEL.gz GSM136726.CEL.gz \\\n",
"0 0.141330 -0.013254 0.226624 0.547526 \n",
"1 -0.056219 0.080203 0.442193 0.125379 \n",
"2 0.166231 0.012716 -0.356936 -0.366887 \n",
"3 0.210887 0.036463 -0.083972 -0.058733 \n",
"4 0.108846 0.299192 0.041912 -0.028842 \n",
"\n",
" GSM136727.CEL.gz \n",
"0 -0.128887 \n",
"1 0.205564 \n",
"2 -0.202251 \n",
"3 0.191626 \n",
"4 0.091189 \n",
"\n",
"[5 rows x 102 columns]"
]
}
],
"prompt_number": 75
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Using this mean normalized gene expression data, compute the projection to the first Principal Component (PC1). \n",
"\n",
"**Hint**: Use the `numpy.linalg.svd()` function in the `numpy.linalg` module (or the `scipy.linalg.svd()` function in the `scipy.linalg` module) to apply an [singular value decomposition](http://en.wikipedia.org/wiki/Singular_value_decomposition) to a matrix. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here\n",
"U,s,vh = lin.svd(norm_exprs.values) #svd always deals with matrices, so you have to convert the values into an array."
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 62
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"V =vh.T"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 73
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Create a histogram using the values from PC1. Use a bin size of 25. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here\n",
"plt.hist(V[:,0], bins = 25)\n",
"plt.xlabel('principal component 1')\n",
"plt.ylabel('frequency')\n",
"plt.show()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\nbvPr54GXAc8cuk/L3ecpGe8F+7c9jDdwMN3/NJ/f/zymn38+8PiR9V4CvAZ4Bd015bKYZa0+ltLv\n/nEOcDXw+3T/e2/6uoDb0O8HA/9Kd13ExwE7Tsl436bfq3m86ULpLLf+t/omuv+Urtrx3lK/t3W8\nvYWUJElSo1ra9SlJkqQRBjVJkqRGGdQkSZIaZVCTJElqlEFNkiSpUQY1SZKkRhnUJG33+gsFHzh0\nHduD7eCG35JGGNQkbZMk909yaZJ1S2hjXZJLkjxgCW08AfgPYGZb25gGSfZK8kbgk0PXImnxDGqS\nttUXgf9bVddtawP9a1/HEu5tWFV/w9Lui7sqJNk/yXFbWGUd3d0sdlqZiiRNgkFN0japqm9X1UL3\nZB23nT+uqm8vtZml1rE9S7IT8Od0txxbUFV9le72RZK2IwY1SQAk2ZDk00memeRfk3w9yXP6ZU9N\n8okkj09yeZKTktw9yauS7JNkjySvS3JmkpOTfDHJOUnW9K9fk+SlSX49yV8m+c1+/p5JnpfkIUl2\n6dv7xyS/0r/PRUnu16+7X5I39XX+dZJ7L7Jfd05yan8z5A8leWQ/f12S30lyYpK39zdVXpNk7yR/\nnOTPk/x2kn9Kcn6SuyY5PcnFSd7St/HgJB9I8lt929/pX7tDv/zIJL+X5NeSnDVyM+dHJvlUkmck\nObv/rB89UvPxfT0fTPLWJDskOTTJ+5O8sp/3tSS/07/kKOAg4OeTbFj6t0FSM4a+wakPHz7aeAC7\n0908+IR++kXA9XQ3Id6jX7YBuB9dMHhxP+/gfv3n0d1Q/gC63WubgIf2y34feFr//PC+3XXAo4Dv\nAc/ulz0O+C5wBLAWeC/wJbr/VP4+8MZ+vZOAvxmp/TwWuDE93U2QZ4G7jrzuU/3zN829bz/9GeDl\n/fMXAF8G9uunPwWc2be3G3AdcJd++nPAW4E1wE8CPwJOAO7Y136Hvo0jgO8DB/XTVwCvGHm/T/TP\nDwRO75/vBHwL2NBP/wVwFnC7vr0fATtt6TOY93k8C7h86O+aDx8+Fv9wi5okAKrqO/3T8/qfp9OF\npodX1dX9vH+sqs9W1QXA++c18SPgq1V1eVX9D13Q2T/JWuD5wN/373MRsGdVXVdVHwKuHGnjauDb\nVXVhVd0A/C5wd+AQ4PXA7ya5M11Q3GMR3bovsFtVXda/91uAh/dbvJ5FF87mvBN4Tv/8e3SB5op+\n+mLgi9X5LvBNuvBXwDXAP1fVjVX1GeDDwM8Bjwa+W1XX9u99IXAh8MyRz+uf+uf/AezfP38acJck\nvwX8Ot143GHkNedX1Y/61+wI7L2Iz0HSdmrt0AVIalNV3ZjkUrotXzfPHqcJui1he9EFjZtfOxde\nFuHL/c91dFvrXkEXmj5Ht2Vua+7OvJqr6ntJ9gZ2BnYZWXQZsN9m2rmJbuvZ6PTmDsr/EnAPYP28\n9qE7mP8uC7xm7rOCbovaR6vqrZtpPwBVVUnAQ1ikVc1fcElbsitw0RLbuAq4EXjo3IwkOy/yel67\nAjfQhbQ/AKiqv+zbW4xvAof3wWzuve9KtxXv+3SBas7t+vfZnMWG1DsA/0kXyg7sD/SfszNwyVZe\n/y1GPiuAJPfahjokrQIGNUnz7QqQ5B50x5J9NP2mG279N2Pu+ZoFlkG3xT5VdT3dcVVvTHJsksOA\nlwHfGHn9mpHXrRt5v+OAd/Rb4I4FduyXHQPsNneyQv/60S1ecz5JF3zek+ReSX4KeEy/y/ItwC+N\nrPtQut29LNBW5vUv89aZ+8x2BB5Cd/zb2f17P6VfdjvgnnS7WOnbm2tjtP9nA0/qT6jYJ9114u4z\nv58jfZ/zfWDv/gSN+cvm+Ddf2s74SytpvucleTXwKuAJfah5Pt2WnA39WZR3BJ7ez3tGP/1zwCFJ\njk5yX7pQ8sh+2UnAv9Ed1/Ym4E/7XXdPAPYBHpVk7hittcCpSV5Dd+LCb/Tz3wX8Gl2Q+RjdWY4v\nTPJwugPrH5Fk/WhHquqHwPF0x7N9AjgR+JN+8SuAC/ozOV8GXFlVb+m3vj0CODjJT/SB9SjgoUkO\nTvKzwL7AY5Ls2rf18P4zexvwm/1xej/s23likpcDr6U7KeDK/uzPuTb2BJ4K7JPkwVX1WboTOV4G\n/DvwE1X1jiR3pzvm7oF9P5/df/5P7Wv4a+AlwIlVdZstjkmOpjv+be8kT09yh/nrSGpPur/BkgRJ\nbqI7K/GrA73/DHBGVd1tiPffFknOo6v5z4auRdLq4xY1SfMN/XdhoV2YLZu/W1SSJsY/LpIASHIS\n3a60E5LsM8D77wY8Gdg3yS/0x3s1LcmD6M4+PS7Jjw9dj6TVx12fkiRJjXKLmiRJUqMMapIkSY0y\nqEmSJDXKoCZJktQog5okSVKjDGqSJEmN+l/SnRwkFKYaFQAAAABJRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x82ac6f0>"
]
}
],
"prompt_number": 79
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Create a scatter plot with the days since October 31, 2002 on the x-axis and PC1 on the y-axis."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here\n",
"plt.scatter(sampleinfoCEU.elapsedInDays, V[:,0])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 81,
"text": [
"<matplotlib.collections.PathCollection at 0x8849030>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nAAAAAElFTkSuQmCC\n",
"text": [
"<matplotlib.figure.Figure at 0x82d88d0>"
]
}
],
"prompt_number": 81
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"plt.scatter(sampleinfoCEU.elapsedInDays, V[:,0])\n",
"plt.xlim(-50, 200)\n",
"plt.axvline(x=100, c='g')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 84,
"text": [
"<matplotlib.lines.Line2D at 0xc2c9eb0>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nkgr7/+LkhD91tngvAAAAAElFTkSuQmCC\n",
"text": [
"<matplotlib.figure.Figure at 0x87934d0>"
]
}
],
"prompt_number": 84
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Around what day do you notice a difference in the way the samples were processed?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"There is a difference of around 100 days"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Answer:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Discussion for Problem 1\n",
"\n",
"*Write a brief discussion of your conclusions to the questions and tasks above in 100 words or less.*\n",
"\n",
"date the samples were processed does have a large effect on the variability seen in the data. \n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Problem 2: Is there a pollster bias in presidential election polls?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Problem 2(a)\n",
"\n",
"The [HuffPost Pollster](http://elections.huffingtonpost.com/pollster) contains many political polls. You can access these polls from individual races as a CSV but you can also access polls through the [HuffPost Pollster API](http://elections.huffingtonpost.com/pollster/api) to access the data. \n",
"\n",
"Read in the polls from the [2012 Presidential Election: Barack Obama vs Mitt Romney](http://elections.huffingtonpost.com/pollster/2012-general-election-romney-vs-obama) into a pandas DataFrame called `election`. For this problem, you may read in the polls for this race directly using [the CSV file](http://elections.huffingtonpost.com/pollster/2012-general-election-romney-vs-obama.csv) available from the HuffPost Pollster page."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"elections = \"http://elections.huffingtonpost.com/pollster/2012-general-election-romney-vs-obama.csv\"\n",
"\n",
"r = requests.get(elections).text\n",
"s = StringIO(r)\n",
"election = pd.DataFrame.from_csv(s, index_col= None).convert_objects(convert_dates = 'coerce', convert_numeric = True)\n",
"type(election)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 91,
"text": [
"pandas.core.frame.DataFrame"
]
}
],
"prompt_number": 91
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Show the head of the `election` DataFrame. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"election.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Pollster</th>\n",
" <th>Start Date</th>\n",
" <th>End Date</th>\n",
" <th>Entry Date/Time (ET)</th>\n",
" <th>Number of Observations</th>\n",
" <th>Population</th>\n",
" <th>Mode</th>\n",
" <th>Obama</th>\n",
" <th>Romney</th>\n",
" <th>Undecided</th>\n",
" <th>Pollster URL</th>\n",
" <th>Source URL</th>\n",
" <th>Partisan</th>\n",
" <th>Affiliation</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> Politico/GWU/Battleground</td>\n",
" <td>2012-11-04</td>\n",
" <td>2012-11-05</td>\n",
" <td>2012-11-06 08:40:26</td>\n",
" <td> 1000</td>\n",
" <td> Likely Voters</td>\n",
" <td> Live Phone</td>\n",
" <td> 47</td>\n",
" <td> 47</td>\n",
" <td> 6</td>\n",
" <td> http://elections.huffingtonpost.com/pollster/p...</td>\n",
" <td>NaN</td>\n",
" <td> Nonpartisan</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> UPI/CVOTER</td>\n",
" <td>2012-11-03</td>\n",
" <td>2012-11-05</td>\n",
" <td>2012-11-05 18:30:15</td>\n",
" <td> 3000</td>\n",
" <td> Likely Voters</td>\n",
" <td> Live Phone</td>\n",
" <td> 49</td>\n",
" <td> 48</td>\n",
" <td>NaN</td>\n",
" <td> http://elections.huffingtonpost.com/pollster/p...</td>\n",
" <td>NaN</td>\n",
" <td> Nonpartisan</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> Gravis Marketing</td>\n",
" <td>2012-11-03</td>\n",
" <td>2012-11-05</td>\n",
" <td>2012-11-06 09:22:02</td>\n",
" <td> 872</td>\n",
" <td> Likely Voters</td>\n",
" <td> Automated Phone</td>\n",
" <td> 48</td>\n",
" <td> 48</td>\n",
" <td> 4</td>\n",
" <td> http://elections.huffingtonpost.com/pollster/p...</td>\n",
" <td>NaN</td>\n",
" <td> Nonpartisan</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> JZ Analytics/Newsmax</td>\n",
" <td>2012-11-03</td>\n",
" <td>2012-11-05</td>\n",
" <td>2012-11-06 07:38:41</td>\n",
" <td> 1041</td>\n",
" <td> Likely Voters</td>\n",
" <td> Internet</td>\n",
" <td> 47</td>\n",
" <td> 47</td>\n",
" <td> 6</td>\n",
" <td> http://elections.huffingtonpost.com/pollster/p...</td>\n",
" <td>NaN</td>\n",
" <td> Sponsor</td>\n",
" <td> Rep</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> Rasmussen</td>\n",
" <td>2012-11-03</td>\n",
" <td>2012-11-05</td>\n",
" <td>2012-11-06 08:47:50</td>\n",
" <td> 1500</td>\n",
" <td> Likely Voters</td>\n",
" <td> Automated Phone</td>\n",
" <td> 48</td>\n",
" <td> 49</td>\n",
" <td>NaN</td>\n",
" <td> http://elections.huffingtonpost.com/pollster/p...</td>\n",
" <td>NaN</td>\n",
" <td> Nonpartisan</td>\n",
" <td> None</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 92,
"text": [
" Pollster Start Date End Date Entry Date/Time (ET) \\\n",
"0 Politico/GWU/Battleground 2012-11-04 2012-11-05 2012-11-06 08:40:26 \n",
"1 UPI/CVOTER 2012-11-03 2012-11-05 2012-11-05 18:30:15 \n",
"2 Gravis Marketing 2012-11-03 2012-11-05 2012-11-06 09:22:02 \n",
"3 JZ Analytics/Newsmax 2012-11-03 2012-11-05 2012-11-06 07:38:41 \n",
"4 Rasmussen 2012-11-03 2012-11-05 2012-11-06 08:47:50 \n",
"\n",
" Number of Observations Population Mode Obama Romney \\\n",
"0 1000 Likely Voters Live Phone 47 47 \n",
"1 3000 Likely Voters Live Phone 49 48 \n",
"2 872 Likely Voters Automated Phone 48 48 \n",
"3 1041 Likely Voters Internet 47 47 \n",
"4 1500 Likely Voters Automated Phone 48 49 \n",
"\n",
" Undecided Pollster URL Source URL \\\n",
"0 6 http://elections.huffingtonpost.com/pollster/p... NaN \n",
"1 NaN http://elections.huffingtonpost.com/pollster/p... NaN \n",
"2 4 http://elections.huffingtonpost.com/pollster/p... NaN \n",
"3 6 http://elections.huffingtonpost.com/pollster/p... NaN \n",
"4 NaN http://elections.huffingtonpost.com/pollster/p... NaN \n",
"\n",
" Partisan Affiliation \n",
"0 Nonpartisan None \n",
"1 Nonpartisan None \n",
"2 Nonpartisan None \n",
"3 Sponsor Rep \n",
"4 Nonpartisan None "
]
}
],
"prompt_number": 92
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"How many polls were conducted in November? Define this number as M. \n",
"\n",
"**Hint**: Subset the `election` DataFrame for only dates in the `Start Date` column that are in November 2012. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"nov_data = election[map(lambda z: (z.month == 11) and (z.year == 2012), election['Start Date'])] # mapping over each column \n",
"M = len(nov_data.Pollster.unique())\n",
"M "
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 93,
"text": [
"18"
]
}
],
"prompt_number": 93
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Answer: "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What was the median of the number of observations in the November polls? Define this quantity as N. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here\n",
"nov_median = nov_data['Number of Observations']\n",
"N = np.median(nov_median)\n",
"N"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 94,
"text": [
"1200.0"
]
}
],
"prompt_number": 94
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Answer: "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Problem 2(b)\n",
"\n",
"Using the median sample size $N$ from Problem 1(a), simulate the results from a single poll: simulate the number of votes for Obama out of a sample size $N$ where $p$ = 0.53 is the percent of voters who are voting for Obama. \n",
"\n",
"**Hint**: Use the binomial distribution with parameters $N$ and $p$ = 0.53. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here\n",
"p =0.53\n",
"print \"simulated number of votes for Obama : %i\" % np.random.binomial(N,p, size =1)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"simulated number of votes for Obama : 643\n"
]
}
],
"prompt_number": 95
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now, perform a Monte Carlo simulation to obtain the estimated percentage of Obama votes with a sample size $N$ where $N$ is the median sample size calculated in Problem 2(a). Let $p$=0.53 be the percent of voters are voting for Obama. \n",
"\n",
"**Hint**: You will repeat the simulation above 1,000 times and plot the distribution of the estimated *percent* of Obama votes from a single poll. The results from the single poll you simulate is random variable and will be different every time you sample. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here\n",
"p = 0.53\n",
"q = 1000\n",
"obs = np.random.binomial(N, p, size = q)/N"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 7
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plot the distribution of the estimated percentage of Obama votes from your single poll. What is the distribution of the estimated percentage of Obama votes? "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here\n",
"plt.hist(obs)\n",
"plt.xlabel('observed average')\n",
"plt.show()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0xadc1668>"
]
}
],
"prompt_number": 8
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As discussed in the lecture it is always better to check the normal distribution by plotting a qqplot."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import scipy.stats as stats\n",
"\n",
"z = (obs-np.mean(obs))/np.std(obs)\n",
"\n",
"stats.probplot(z, dist=\"norm\", plot=plt)\n",
"plt.title(\"Normal Q-Q plot\")\n",
"plt.show()\n"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0xadcbd30>"
]
}
],
"prompt_number": 9
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<b>From the qqplot the distribution looks normal. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What is the standard error (SE) of the estimated percentage from the poll. \n",
"\n",
"**Hint**: Remember the SE is the standard deviation (SD) of the distribution of a random variable. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#standard error is the standard deviation of the sampling distribution\n",
"np.std(obs,ddof =1) \n",
"#ddof is n-1 in the formula."
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 10,
"text": [
"0.014188841013995174"
]
}
],
"prompt_number": 10
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Problem 2(c)\n",
"\n",
"Now suppose we run M polls where M is the number of polls that happened in November (calculated in Problem 2(a)). Run 1,000 simulations and compute the mean of the M polls for each simulation. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def sim_poll(p,N, M):\n",
" return [np.mean(np.random.binomial(1, p, size = N)) for x in xrange(M)]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 11
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"B = 1000 # I am doing the above process 1000 times\n",
"mean = [np.mean(sim_poll(p,N,M)) for i in xrange(B)]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 12
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What is the distribution of the average of polls?\n",
"\n",
"**Hint**: Show a plot. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here\n",
"plt.hist(mean)\n",
"plt.xlabel('simulated values of 18 polls')\n",
"plt.ylabel('')\n",
"plt.title('Probability Distribution Function')\n",
"plt.show()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\n+Kb0AAAAAElFTkSuQmCC\n",
"text": [
"<matplotlib.figure.Figure at 0xb05f2e8>"
]
}
],
"prompt_number": 13
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"z1 = (mean-np.mean(mean))/np.std(mean)\n",
"# i am using qq plot to check whether mean data is a normally distributed one?\n",
"stats.probplot(z, dist=\"norm\", plot=plt)\n",
"plt.title(\"Normal Q-Q plot\")\n",
"plt.show()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0xb0f1b38>"
]
}
],
"prompt_number": 14
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Answer: "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What is the standard error (SE) of the average of polls? "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here\n",
"np.std(mean,ddof =1) "
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 15,
"text": [
"0.003389970347193814"
]
}
],
"prompt_number": 15
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Answer: "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Is the SE of the average of polls larger, the same, or smaller than that the SD of a single poll (calculated in Problem 2(b))? By how much?\n",
"\n",
"**Hint**: Compute a ratio of the two quantities. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here\n",
"np.std(mean, ddof=1)/ np.std(obs,ddof =1)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 16,
"text": [
"0.23891805848343176"
]
}
],
"prompt_number": 16
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Answer: Standard error of average of polls is smaller than the Standard error of a single poll by factor of 4. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Problem 2(d) \n",
"\n",
"Repeat Problem 2(c) but now record the *across poll* standard deviation in each simulation. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here\n",
"B = 1000 # I am doing the above process 1000 times\n",
"std = [np.std(sim_poll(p,N,M)) for i in xrange(B)]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 17
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What is the distribution of the *across M polls* standard deviation?\n",
"\n",
"**Hint**: Show a plot. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code \n",
"plt.hist(std)\n",
"plt.xlabel('Standard deviations across 18 polls')\n",
"plt.ylabel('')\n",
"plt.title('Simulation using standard deviation')\n",
"plt.show()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x15f8f080>"
]
}
],
"prompt_number": 18
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"z2 = (std -np.mean(std))/np.std(std)\n",
"\n",
"stats.probplot(z2, dist=\"norm\", plot=plt)\n",
"plt.title(\"Normal Q-Q plot using standard deviation\")\n",
"plt.show()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\nAABJRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x15b7e208>"
]
}
],
"prompt_number": 19
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Answer: It is normally distributed"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Problem 2(e) \n",
"\n",
"What is the standard deviation of M polls in our real (not simulated) 2012 presidential election data ? "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here\n",
"unsim_std = np.std(nov_data['Obama']/100, ddof =0 )\n",
"unsim_std"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 20,
"text": [
"0.010552598766187605"
]
}
],
"prompt_number": 20
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Is this larger, the same, or smaller than what we expeced if polls were not biased."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here\n",
"unsim_std/np.mean(std)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 21,
"text": [
"0.76277857206845434"
]
}
],
"prompt_number": 21
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Answer: standard deviation in nov 2012 presidential election data is smaller than what we expect if the polls were not biased."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Problem 2(f)\n",
"\n",
"**For AC209 Students**: Learn about the normal approximation for the binomial distribution and derive the results of Problem 2(b) and 2(c) analytically (using this approximation). Compare the results obtained analytically to those obtained from simulations."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 22
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Discussion for Problem 2\n",
"\n",
"*Write a brief discussion of your conclusions to the questions and tasks above in 100 words or less.*\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Problem 3: Is the average of polls better than just one poll?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Problem 3(a)\n",
"\n",
"Most undecided voters vote for one of the two candidates at the election. Therefore, the reported percentages underestimate the final value of both candidates. However, if we assume the undecided will split evenly, then the observed difference should be an unbiased estimate of the final difference. \n",
"\n",
"Add a new column to the `election` DataFrame containg the difference between Obama and Romeny called `Diff`. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here\n",
"election['Diff'] = (election.Obama/100)- (election.Romney/100)\n",
"election.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Pollster</th>\n",
" <th>Start Date</th>\n",
" <th>End Date</th>\n",
" <th>Entry Date/Time (ET)</th>\n",
" <th>Number of Observations</th>\n",
" <th>Population</th>\n",
" <th>Mode</th>\n",
" <th>Obama</th>\n",
" <th>Romney</th>\n",
" <th>Undecided</th>\n",
" <th>Pollster URL</th>\n",
" <th>Source URL</th>\n",
" <th>Partisan</th>\n",
" <th>Affiliation</th>\n",
" <th>Diff</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> Politico/GWU/Battleground</td>\n",
" <td>2012-11-04</td>\n",
" <td>2012-11-05</td>\n",
" <td>2012-11-06 08:40:26</td>\n",
" <td> 1000</td>\n",
" <td> Likely Voters</td>\n",
" <td> Live Phone</td>\n",
" <td> 47</td>\n",
" <td> 47</td>\n",
" <td> 6</td>\n",
" <td> http://elections.huffingtonpost.com/pollster/p...</td>\n",
" <td>NaN</td>\n",
" <td> Nonpartisan</td>\n",
" <td> None</td>\n",
" <td> 0.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> UPI/CVOTER</td>\n",
" <td>2012-11-03</td>\n",
" <td>2012-11-05</td>\n",
" <td>2012-11-05 18:30:15</td>\n",
" <td> 3000</td>\n",
" <td> Likely Voters</td>\n",
" <td> Live Phone</td>\n",
" <td> 49</td>\n",
" <td> 48</td>\n",
" <td>NaN</td>\n",
" <td> http://elections.huffingtonpost.com/pollster/p...</td>\n",
" <td>NaN</td>\n",
" <td> Nonpartisan</td>\n",
" <td> None</td>\n",
" <td> 0.01</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> Gravis Marketing</td>\n",
" <td>2012-11-03</td>\n",
" <td>2012-11-05</td>\n",
" <td>2012-11-06 09:22:02</td>\n",
" <td> 872</td>\n",
" <td> Likely Voters</td>\n",
" <td> Automated Phone</td>\n",
" <td> 48</td>\n",
" <td> 48</td>\n",
" <td> 4</td>\n",
" <td> http://elections.huffingtonpost.com/pollster/p...</td>\n",
" <td>NaN</td>\n",
" <td> Nonpartisan</td>\n",
" <td> None</td>\n",
" <td> 0.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> JZ Analytics/Newsmax</td>\n",
" <td>2012-11-03</td>\n",
" <td>2012-11-05</td>\n",
" <td>2012-11-06 07:38:41</td>\n",
" <td> 1041</td>\n",
" <td> Likely Voters</td>\n",
" <td> Internet</td>\n",
" <td> 47</td>\n",
" <td> 47</td>\n",
" <td> 6</td>\n",
" <td> http://elections.huffingtonpost.com/pollster/p...</td>\n",
" <td>NaN</td>\n",
" <td> Sponsor</td>\n",
" <td> Rep</td>\n",
" <td> 0.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> Rasmussen</td>\n",
" <td>2012-11-03</td>\n",
" <td>2012-11-05</td>\n",
" <td>2012-11-06 08:47:50</td>\n",
" <td> 1500</td>\n",
" <td> Likely Voters</td>\n",
" <td> Automated Phone</td>\n",
" <td> 48</td>\n",
" <td> 49</td>\n",
" <td>NaN</td>\n",
" <td> http://elections.huffingtonpost.com/pollster/p...</td>\n",
" <td>NaN</td>\n",
" <td> Nonpartisan</td>\n",
" <td> None</td>\n",
" <td>-0.01</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 50,
"text": [
" Pollster Start Date End Date Entry Date/Time (ET) \\\n",
"0 Politico/GWU/Battleground 2012-11-04 2012-11-05 2012-11-06 08:40:26 \n",
"1 UPI/CVOTER 2012-11-03 2012-11-05 2012-11-05 18:30:15 \n",
"2 Gravis Marketing 2012-11-03 2012-11-05 2012-11-06 09:22:02 \n",
"3 JZ Analytics/Newsmax 2012-11-03 2012-11-05 2012-11-06 07:38:41 \n",
"4 Rasmussen 2012-11-03 2012-11-05 2012-11-06 08:47:50 \n",
"\n",
" Number of Observations Population Mode Obama Romney \\\n",
"0 1000 Likely Voters Live Phone 47 47 \n",
"1 3000 Likely Voters Live Phone 49 48 \n",
"2 872 Likely Voters Automated Phone 48 48 \n",
"3 1041 Likely Voters Internet 47 47 \n",
"4 1500 Likely Voters Automated Phone 48 49 \n",
"\n",
" Undecided Pollster URL Source URL \\\n",
"0 6 http://elections.huffingtonpost.com/pollster/p... NaN \n",
"1 NaN http://elections.huffingtonpost.com/pollster/p... NaN \n",
"2 4 http://elections.huffingtonpost.com/pollster/p... NaN \n",
"3 6 http://elections.huffingtonpost.com/pollster/p... NaN \n",
"4 NaN http://elections.huffingtonpost.com/pollster/p... NaN \n",
"\n",
" Partisan Affiliation Diff \n",
"0 Nonpartisan None 0.00 \n",
"1 Nonpartisan None 0.01 \n",
"2 Nonpartisan None 0.00 \n",
"3 Sponsor Rep 0.00 \n",
"4 Nonpartisan None -0.01 "
]
}
],
"prompt_number": 50
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Problem 3(b)\n",
"\n",
"Make a plot of the differences for the week before the election (e.g. 5 days) where the days are on the x-axis and the differences are on the y-axis. Add a horizontal line showing 3.9%: the difference between Obama and Romney on election day."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"max_elec = max(election['Start Date'])\n",
"election_filtered = election[map(lambda x: (max_elec - x).days <=5, election['Start Date'])]\n",
"list_of_days = map(lambda x: (max_elec - x).days, election_filtered['Start Date'])\n",
"\n",
"plt.scatter(list_of_days, election_filtered.Diff, c = 'y', s =60)\n",
"plt.axhline(y =0.039, c ='gray')\n",
"plt.axhline(y = np.mean(election_filtered.Diff), c = 'gray')\n",
"\n",
"plt.xlabel(\"Days\")\n",
"plt.ylabel(\"Difference (Obama - Romney)\")\n",
"plt.title(\"Difference between Obama and Romney colored by different pollsters in the last week\")\n"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 69,
"text": [
"<matplotlib.text.Text at 0x1752c860>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x170aed68>"
]
}
],
"prompt_number": 69
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Problem 3(c) \n",
"\n",
"Make a plot showing the differences by pollster where the pollsters are on the x-axis and the differences on the y-axis. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here\n",
"agencies = election_filtered.Pollster\n",
"unique_agencies = list(set(agencies))\n",
"\n",
"val_of_polls = {}\n",
"\n",
"for i,j in enumerate(unique_agencies):\n",
" val_of_polls[j] = i\n",
" \n",
"plt.scatter([val_of_polls[z] for z in election_filtered.Pollster ], election_filtered.Diff, s =60)\n",
"plt.xticks(range(len(unique_agencies)), unique_agencies, rotation =90 )\n",
"plt.xlabel(\"Pollsters\")\n",
"\n",
"plt.ylabel(\"Difference (Obama - Romney)\")\n",
"plt.title(\"diff between Obama and Romney by different pollsters\")\n",
"plt.show"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 71,
"text": [
"<function matplotlib.pyplot.show>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x176b8eb8>"
]
}
],
"prompt_number": 71
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Is the *across poll* difference larger than the *between pollster* difference? "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Answer: "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Problem 3(d)\n",
"\n",
"Take the average for each pollster and then compute the average of that. Given this difference how confident would you have been of an Obama victory?\n",
"\n",
"**Hint**: Compute an estimate of the SE of this average based exclusively on the observed data. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"grop= election_filtered.groupby('Pollster').mean()\n",
"np.std(grop.Diff,ddof = 0)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 75,
"text": [
"0.012966903623038192"
]
}
],
"prompt_number": 75
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Answer: The standard error is large. So I cant be confident about obamas victory "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Problem 3(e)\n",
"\n",
"**For AC209 Students**: Show the difference against time and see if you can detect a trend towards the end. Use this trend to see if it improves the final estimate."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 35
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Answer: "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Discussion for Problem 3\n",
"\n",
"*Write a brief discussion of your conclusions to the questions and tasks above in 100 words or less.*\n",
"\n",
"---\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Problem 4\n",
"\n",
"In this last problem, we will use the polls from the [2014 Senate Midterm Elections](http://elections.huffingtonpost.com/pollster) from the [HuffPost Pollster API](http://elections.huffingtonpost.com/pollster/api) to create a preliminary prediction of the result of each state. \n",
"\n",
"The HuffPost Pollster API allows you to access the data as a CSV or a JSON response by tacking \".csv\" or \".json\" at the end of the URLs. For example the 2012 Presidential Election could be accessed as a [.json](http://elections.huffingtonpost.com/pollster/2012-general-election-romney-vs-obama.json) instead of a [.csv](http://elections.huffingtonpost.com/pollster/2012-general-election-romney-vs-obama.csv)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Problem 4(a)\n",
"\n",
"Read in the polls for **all** of the 2014 Senate Elections using the HuffPost API. For example, we can consider the [2014 Senate race in Kentucky between Mitch McConnell and Alison Grimes](http://elections.huffingtonpost.com/pollster/2014-kentucky-senate-mcconnell-vs-grimes). \n",
"\n",
"To search for the 2014 Senate races, use the `topics` parameter in the API [[read more about topics here](http://elections.huffingtonpost.com/pollster/api)]. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"url_str = \"http://elections.huffingtonpost.com/pollster/api/charts/?topic=2014-senate\""
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 76
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To list all the URLs related to the 2014 Senate races using the pollster API, we can use a list comprehension:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"election_urls = [election['url'] + '.csv' for election in requests.get(url_str).json()]\n",
"election_urls[:5]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 79,
"text": [
"[u'http://elections.huffingtonpost.com/pollster/2014-kentucky-senate-mcconnell-vs-grimes.csv',\n",
" u'http://elections.huffingtonpost.com/pollster/2014-arkansas-senate-cotton-vs-pryor.csv',\n",
" u'http://elections.huffingtonpost.com/pollster/2014-michigan-senate-land-vs-peters.csv',\n",
" u'http://elections.huffingtonpost.com/pollster/2014-louisiana-senate-cassidy-vs-landrieu.csv',\n",
" u'http://elections.huffingtonpost.com/pollster/2014-new-hampshire-senate-brown-vs-shaheen.csv']"
]
}
],
"prompt_number": 79
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Because there so many Senate races, we can create a dictionary of pandas DataFrames that will be keyed by the name of the election (a string). "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def build_frame(url):\n",
" \"\"\"\n",
" Returns a pandas DataFrame object containing\n",
" the data returned from the given url\n",
" \"\"\"\n",
" source = requests.get(url).text\n",
" \n",
" # Use StringIO because pd.DataFrame.from_csv requires .read() method\n",
" s = StringIO(source)\n",
" \n",
" return pd.DataFrame.from_csv(s, index_col=None).convert_objects(\n",
" convert_dates=\"coerce\", convert_numeric=True)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 83
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Makes a dictionary of pandas DataFrames keyed on election string.\n",
"dfs = dict((election.split(\"/\")[-1][:-4], build_frame(election)) for election in election_urls)\n",
"type(dfs)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 89,
"text": [
"dict"
]
}
],
"prompt_number": 89
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Show the head of the DataFrame containing the polls for the 2014 Senate race in Kentucky between McConnell and Grimes."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here\n",
"dfs['2014-kentucky-senate-mcconnell-vs-grimes'].head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Pollster</th>\n",
" <th>Start Date</th>\n",
" <th>End Date</th>\n",
" <th>Entry Date/Time (ET)</th>\n",
" <th>Number of Observations</th>\n",
" <th>Population</th>\n",
" <th>Mode</th>\n",
" <th>McConnell</th>\n",
" <th>Grimes</th>\n",
" <th>Undecided</th>\n",
" <th>Pollster URL</th>\n",
" <th>Source URL</th>\n",
" <th>Partisan</th>\n",
" <th>Affiliation</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> PPP (D)</td>\n",
" <td>2014-10-30</td>\n",
" <td>2014-11-01</td>\n",
" <td>2014-11-02 01:44:58</td>\n",
" <td> 1503</td>\n",
" <td> Likely Voters</td>\n",
" <td> IVR/Online</td>\n",
" <td> 50</td>\n",
" <td> 42</td>\n",
" <td>NaN</td>\n",
" <td> http://elections.huffingtonpost.com/pollster/p...</td>\n",
" <td> http://www.publicpolicypolling.com/pdf/2014/PP...</td>\n",
" <td> Pollster</td>\n",
" <td> Dem</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> NBC/Marist</td>\n",
" <td>2014-10-27</td>\n",
" <td>2014-10-30</td>\n",
" <td>2014-11-02 14:37:22</td>\n",
" <td> 556</td>\n",
" <td> Likely Voters</td>\n",
" <td> Live Phone</td>\n",
" <td> 50</td>\n",
" <td> 41</td>\n",
" <td> 3</td>\n",
" <td> http://elections.huffingtonpost.com/pollster/p...</td>\n",
" <td> http://newscms.nbcnews.com/sites/newscms/files...</td>\n",
" <td> Nonpartisan</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> SurveyUSA/Courier-Journal/Herald-Leader/WHAS/WKYT</td>\n",
" <td>2014-10-25</td>\n",
" <td>2014-10-29</td>\n",
" <td>2014-10-30 23:33:59</td>\n",
" <td> 597</td>\n",
" <td> Likely Voters</td>\n",
" <td> IVR/Online</td>\n",
" <td> 48</td>\n",
" <td> 43</td>\n",
" <td> 6</td>\n",
" <td> http://elections.huffingtonpost.com/pollster/p...</td>\n",
" <td> http://www.surveyusa.com/client/PollReport.asp...</td>\n",
" <td> Nonpartisan</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> POS (R-Crossroads GPS)</td>\n",
" <td>2014-10-25</td>\n",
" <td>2014-10-27</td>\n",
" <td>2014-10-30 20:56:18</td>\n",
" <td> 600</td>\n",
" <td> Likely Voters</td>\n",
" <td> Live Phone</td>\n",
" <td> 50</td>\n",
" <td> 43</td>\n",
" <td>NaN</td>\n",
" <td> http://elections.huffingtonpost.com/pollster/p...</td>\n",
" <td> https://www.crossroadsgps.org/wp-content/uploa...</td>\n",
" <td> Sponsor</td>\n",
" <td> Rep</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> CBS/NYT/YouGov</td>\n",
" <td>2014-10-16</td>\n",
" <td>2014-10-23</td>\n",
" <td>2014-10-26 15:00:07</td>\n",
" <td> 1502</td>\n",
" <td> Likely Voters</td>\n",
" <td> Internet</td>\n",
" <td> 45</td>\n",
" <td> 39</td>\n",
" <td> 14</td>\n",
" <td> http://elections.huffingtonpost.com/pollster/p...</td>\n",
" <td> https://today.yougov.com/news/2014/09/07/battl...</td>\n",
" <td> Nonpartisan</td>\n",
" <td> None</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 94,
"text": [
" Pollster Start Date End Date \\\n",
"0 PPP (D) 2014-10-30 2014-11-01 \n",
"1 NBC/Marist 2014-10-27 2014-10-30 \n",
"2 SurveyUSA/Courier-Journal/Herald-Leader/WHAS/WKYT 2014-10-25 2014-10-29 \n",
"3 POS (R-Crossroads GPS) 2014-10-25 2014-10-27 \n",
"4 CBS/NYT/YouGov 2014-10-16 2014-10-23 \n",
"\n",
" Entry Date/Time (ET) Number of Observations Population Mode \\\n",
"0 2014-11-02 01:44:58 1503 Likely Voters IVR/Online \n",
"1 2014-11-02 14:37:22 556 Likely Voters Live Phone \n",
"2 2014-10-30 23:33:59 597 Likely Voters IVR/Online \n",
"3 2014-10-30 20:56:18 600 Likely Voters Live Phone \n",
"4 2014-10-26 15:00:07 1502 Likely Voters Internet \n",
"\n",
" McConnell Grimes Undecided \\\n",
"0 50 42 NaN \n",
"1 50 41 3 \n",
"2 48 43 6 \n",
"3 50 43 NaN \n",
"4 45 39 14 \n",
"\n",
" Pollster URL \\\n",
"0 http://elections.huffingtonpost.com/pollster/p... \n",
"1 http://elections.huffingtonpost.com/pollster/p... \n",
"2 http://elections.huffingtonpost.com/pollster/p... \n",
"3 http://elections.huffingtonpost.com/pollster/p... \n",
"4 http://elections.huffingtonpost.com/pollster/p... \n",
"\n",
" Source URL Partisan Affiliation \n",
"0 http://www.publicpolicypolling.com/pdf/2014/PP... Pollster Dem \n",
"1 http://newscms.nbcnews.com/sites/newscms/files... Nonpartisan None \n",
"2 http://www.surveyusa.com/client/PollReport.asp... Nonpartisan None \n",
"3 https://www.crossroadsgps.org/wp-content/uploa... Sponsor Rep \n",
"4 https://today.yougov.com/news/2014/09/07/battl... Nonpartisan None "
]
}
],
"prompt_number": 94
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Problem 4(b)\n",
"\n",
"For each 2014 Senate race, create a preliminary prediction of the result for that state.\n",
"\n",
"I compute the difference between each candidate using all the polls in each race and predict the winner based on if the differences is +ve or -ve. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#your code here\n",
"final = {}\n",
"for keys in dfs:\n",
" each_key = dfs[keys]\n",
" can1 = each_key.columns[7] \n",
" can2 = each_key.columns[8] \n",
" each_key.Diff = (each_key[can1]/100) - (each_key[can2]/100)\n",
" new_dict[keys] = [can1, can2, np.round(np.mean(each_key.Diff), 3)]\n",
"\n",
"final = pd.DataFrame(new_dict).T \n",
"final.columns = ['Candidate1', 'Candidate2', 'Difference']\n",
"final['Winner'] = np.where(final.Difference >=0, \n",
" final.Candidate1, final.Candidate2)\n",
"final.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Candidate1</th>\n",
" <th>Candidate2</th>\n",
" <th>Difference</th>\n",
" <th>Winner</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2014-alaska-senate-sullivan-vs-begich</th>\n",
" <td> Sullivan</td>\n",
" <td> Begich</td>\n",
" <td>-0.003</td>\n",
" <td> Begich</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2014-arkansas-senate-cotton-vs-pryor</th>\n",
" <td> Cotton</td>\n",
" <td> Pryor</td>\n",
" <td> 0.015</td>\n",
" <td> Cotton</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2014-colorado-senate-gardner-vs-udall</th>\n",
" <td> Gardner</td>\n",
" <td> Udall</td>\n",
" <td> 0.006</td>\n",
" <td> Gardner</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2014-delaware-senate-wade-vs-coons</th>\n",
" <td> Coons</td>\n",
" <td> Wade</td>\n",
" <td> 0.174</td>\n",
" <td> Coons</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2014-georgia-senate-perdue-vs-nunn</th>\n",
" <td> Perdue</td>\n",
" <td> Nunn</td>\n",
" <td> 0.017</td>\n",
" <td> Perdue</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 96,
"text": [
" Candidate1 Candidate2 Difference \\\n",
"2014-alaska-senate-sullivan-vs-begich Sullivan Begich -0.003 \n",
"2014-arkansas-senate-cotton-vs-pryor Cotton Pryor 0.015 \n",
"2014-colorado-senate-gardner-vs-udall Gardner Udall 0.006 \n",
"2014-delaware-senate-wade-vs-coons Coons Wade 0.174 \n",
"2014-georgia-senate-perdue-vs-nunn Perdue Nunn 0.017 \n",
"\n",
" Winner \n",
"2014-alaska-senate-sullivan-vs-begich Begich \n",
"2014-arkansas-senate-cotton-vs-pryor Cotton \n",
"2014-colorado-senate-gardner-vs-udall Gardner \n",
"2014-delaware-senate-wade-vs-coons Coons \n",
"2014-georgia-senate-perdue-vs-nunn Perdue "
]
}
],
"prompt_number": 96
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Submission Instructions\n",
"\n",
"To submit your homework, create a folder named **lastname_firstinitial_hw#** and place your IPython notebooks, data files, and any other files in this folder. Your IPython Notebooks should be completely executed with the results visible in the notebook. We should not have to run any code. Compress the folder (please use .zip compression) and submit to the CS109 dropbox in the appropriate folder. *If we cannot access your work because these directions are not followed correctly, we will not grade your work.*\n"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment