Skip to content

Instantly share code, notes, and snippets.

@jsvine
Last active March 2, 2016 06:18
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save jsvine/2b72c5098a57f26e2ba2 to your computer and use it in GitHub Desktop.
Save jsvine/2b72c5098a57f26e2ba2 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# How Long Will The Warriors' Streak Last?\n",
"\n",
"The code below estimates the Golden State Warriors' odds of matching or beating the NBA's win-streak record of 33 games. To do so, it uses per-game odds produced by [FiveThirtyEight's \"CARM-Elo\" projections](http://projects.fivethirtyeight.com/2016-nba-picks/).\n",
"\n",
"The [longest regular-season win streak belongs](https://en.wikipedia.org/wiki/List_of_National_Basketball_Association_longest_winning_streaks#Regular_season) to the '71-'72 Los Angeles Lakers, who won 33 games straight in a single season. The Warriors would tie the streak if they win their first 29 games this season, adding to a four-game streak carried over from the end of last regular season."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Python requirements:\n",
"\n",
"```\n",
"pandas>=0.17\n",
"matplotlib\n",
"seaborn\n",
"pyyaml\n",
"requests\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import requests\n",
"import random\n",
"import re\n",
"import yaml\n",
"import pandas as pd\n",
"import matplotlib as mpl\n",
"import seaborn as sb\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Fetch the projections from FiveThirtyEight"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"URL = \"http://projects.fivethirtyeight.com/2016-nba-picks/js/bundle.js\"\n",
"js = requests.get(URL, params={\"r\": random.random()}).content.decode(\"utf-8\")"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def fix_json(json_str):\n",
" json_str = re.sub(r\"([,:])\", r\"\\1 \", json_str)\n",
" json_str = re.sub(r\"!1\", \"false\", json_str)\n",
" json_str = re.sub(r\"!0\", \"true\", json_str)\n",
" return json_str"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"game_strings = re.findall(r\"\\{[^}[]+team1[^}[]+\\}\", fix_json(js))[:82 * 15]"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"games = pd.DataFrame([ yaml.load(game) for game in game_strings ])"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Make sure every team has 41 home games.\n",
"assert((games[\"team1\"].value_counts() == 41).sum() == 30)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>0</th>\n",
" <th>1</th>\n",
" <th>2</th>\n",
" <th>3</th>\n",
" <th>4</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>carmelo1_post</th>\n",
" <td>1570.47</td>\n",
" <td>1521.81</td>\n",
" <td>1734.34</td>\n",
" <td>1442.24</td>\n",
" <td>1467.79</td>\n",
" </tr>\n",
" <tr>\n",
" <th>carmelo1_pre</th>\n",
" <td>1564.37</td>\n",
" <td>1542.66</td>\n",
" <td>1730.51</td>\n",
" <td>1447.01</td>\n",
" <td>1460.24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>carmelo2_post</th>\n",
" <td>1725.92</td>\n",
" <td>1472.68</td>\n",
" <td>1551.3</td>\n",
" <td>1502.45</td>\n",
" <td>1469.15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>carmelo2_pre</th>\n",
" <td>1732.03</td>\n",
" <td>1451.83</td>\n",
" <td>1555.13</td>\n",
" <td>1497.68</td>\n",
" <td>1476.71</td>\n",
" </tr>\n",
" <tr>\n",
" <th>carmelo_prob1</th>\n",
" <td>0.403078</td>\n",
" <td>0.755572</td>\n",
" <td>0.833364</td>\n",
" <td>0.567454</td>\n",
" <td>0.612829</td>\n",
" </tr>\n",
" <tr>\n",
" <th>carmelo_prob2</th>\n",
" <td>0.596922</td>\n",
" <td>0.244428</td>\n",
" <td>0.166636</td>\n",
" <td>0.432546</td>\n",
" <td>0.387171</td>\n",
" </tr>\n",
" <tr>\n",
" <th>carmelo_spread</th>\n",
" <td>2.5</td>\n",
" <td>-7</td>\n",
" <td>-10</td>\n",
" <td>-1.5</td>\n",
" <td>-3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>date</th>\n",
" <td>2015-10-27</td>\n",
" <td>2015-10-27</td>\n",
" <td>2015-10-27</td>\n",
" <td>2015-10-28</td>\n",
" <td>2015-10-28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>id</th>\n",
" <td>400827889</td>\n",
" <td>400827888</td>\n",
" <td>400827890</td>\n",
" <td>400827891</td>\n",
" <td>400827895</td>\n",
" </tr>\n",
" <tr>\n",
" <th>neutral</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>playoff</th>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>score1</th>\n",
" <td>97</td>\n",
" <td>94</td>\n",
" <td>111</td>\n",
" <td>87</td>\n",
" <td>104</td>\n",
" </tr>\n",
" <tr>\n",
" <th>score2</th>\n",
" <td>95</td>\n",
" <td>106</td>\n",
" <td>95</td>\n",
" <td>88</td>\n",
" <td>94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>status</th>\n",
" <td>post</td>\n",
" <td>post</td>\n",
" <td>post</td>\n",
" <td>post</td>\n",
" <td>post</td>\n",
" </tr>\n",
" <tr>\n",
" <th>team1</th>\n",
" <td>CHI</td>\n",
" <td>ATL</td>\n",
" <td>GS</td>\n",
" <td>ORL</td>\n",
" <td>MIA</td>\n",
" </tr>\n",
" <tr>\n",
" <th>team2</th>\n",
" <td>CLE</td>\n",
" <td>DET</td>\n",
" <td>NO</td>\n",
" <td>WSH</td>\n",
" <td>CHA</td>\n",
" </tr>\n",
" <tr>\n",
" <th>time_et</th>\n",
" <td>20: 00</td>\n",
" <td>20: 00</td>\n",
" <td>22: 30</td>\n",
" <td>19: 00</td>\n",
" <td>19: 30</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 0 1 2 3 4\n",
"carmelo1_post 1570.47 1521.81 1734.34 1442.24 1467.79\n",
"carmelo1_pre 1564.37 1542.66 1730.51 1447.01 1460.24\n",
"carmelo2_post 1725.92 1472.68 1551.3 1502.45 1469.15\n",
"carmelo2_pre 1732.03 1451.83 1555.13 1497.68 1476.71\n",
"carmelo_prob1 0.403078 0.755572 0.833364 0.567454 0.612829\n",
"carmelo_prob2 0.596922 0.244428 0.166636 0.432546 0.387171\n",
"carmelo_spread 2.5 -7 -10 -1.5 -3\n",
"date 2015-10-27 2015-10-27 2015-10-27 2015-10-28 2015-10-28\n",
"id 400827889 400827888 400827890 400827891 400827895\n",
"neutral False False False False False\n",
"playoff None None None None None\n",
"score1 97 94 111 87 104\n",
"score2 95 106 95 88 94\n",
"status post post post post post\n",
"team1 CHI ATL GS ORL MIA\n",
"team2 CLE DET NO WSH CHA\n",
"time_et 20: 00 20: 00 22: 30 19: 00 19: 30"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"games.head().T"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Select the Warriors' games\n",
"\n",
"... and add a few extra columns for ease of computation."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>date</th>\n",
" <th>status</th>\n",
" <th>team1</th>\n",
" <th>team2</th>\n",
" <th>carmelo_prob1</th>\n",
" <th>carmelo_prob2</th>\n",
" <th>opponent</th>\n",
" </tr>\n",
" <tr>\n",
" <th>game_no</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2015-10-27</td>\n",
" <td>post</td>\n",
" <td>GS</td>\n",
" <td>NO</td>\n",
" <td>0.833364</td>\n",
" <td>0.166636</td>\n",
" <td>NO</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2015-10-30</td>\n",
" <td>post</td>\n",
" <td>HOU</td>\n",
" <td>GS</td>\n",
" <td>0.445619</td>\n",
" <td>0.554381</td>\n",
" <td>HOU</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2015-10-31</td>\n",
" <td>post</td>\n",
" <td>NO</td>\n",
" <td>GS</td>\n",
" <td>0.384816</td>\n",
" <td>0.615184</td>\n",
" <td>NO</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2015-11-02</td>\n",
" <td>post</td>\n",
" <td>GS</td>\n",
" <td>MEM</td>\n",
" <td>0.812844</td>\n",
" <td>0.187156</td>\n",
" <td>MEM</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>2015-11-04</td>\n",
" <td>post</td>\n",
" <td>GS</td>\n",
" <td>LAC</td>\n",
" <td>0.735165</td>\n",
" <td>0.264835</td>\n",
" <td>LAC</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" date status team1 team2 carmelo_prob1 carmelo_prob2 opponent\n",
"game_no \n",
"1 2015-10-27 post GS NO 0.833364 0.166636 NO\n",
"2 2015-10-30 post HOU GS 0.445619 0.554381 HOU\n",
"3 2015-10-31 post NO GS 0.384816 0.615184 NO\n",
"4 2015-11-02 post GS MEM 0.812844 0.187156 MEM\n",
"5 2015-11-04 post GS LAC 0.735165 0.264835 LAC"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"gs = games[\n",
" ((games[\"team1\"] == \"GS\") |\n",
" (games[\"team2\"] == \"GS\"))\n",
"][[ \"date\", \"status\", \"team1\", \"team2\", \"carmelo_prob1\", \"carmelo_prob2\" ]]\\\n",
" .sort_values(\"date\").copy()\n",
"gs[\"game_no\"] = list(range(1, 83))\n",
"gs = gs.set_index(\"game_no\")\n",
"gs.loc[(gs[\"team1\"] == \"GS\"), \"opponent\"] = gs[\"team2\"]\n",
"gs.loc[(gs[\"team2\"] == \"GS\"), \"opponent\"] = gs[\"team1\"]\n",
"gs.head()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"gs[\"gs_prob\"] = (gs[\"team1\"] == \"GS\") * gs[\"carmelo_prob1\"] \\\n",
" + (gs[\"team2\"] == \"GS\") * gs[\"carmelo_prob2\"]"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# Set all finished games' gs_prob to 1, because the Warriors won those\n",
"gs.loc[gs[\"status\"] == \"post\", \"gs_prob\"] = 1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Calculate the odds that the Warriors extend their streak through a given game"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"gs[\"cumulative_prob\"] = gs[\"gs_prob\"].cumprod()"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"23"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"SEASON_WINS = (gs[\"status\"] == \"post\").sum()\n",
"SEASON_WINS"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"PREV_WINS = 4"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"STREAK_WINS = SEASON_WINS + PREV_WINS"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"STREAK_RECORD = SEASON_RECORD = 33"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"29"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"STREAK_TIE_GAME = SEASON_WINS + (STREAK_RECORD - STREAK_WINS)\n",
"STREAK_TIE_GAME"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"STREAK_BREAK_GAME = STREAK_TIE_GAME + 1"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"SEASON_TIE_GAME = SEASON_RECORD\n",
"SEASON_BREAK_GAME = SEASON_TIE_GAME + 1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## The previous game, plus the next 10 games:\n",
"\n",
"Note: `game_no` refers to the sequence of Warriors games *this* regular season, not the game number in the streak."
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>date</th>\n",
" <th>status</th>\n",
" <th>team1</th>\n",
" <th>team2</th>\n",
" <th>carmelo_prob1</th>\n",
" <th>carmelo_prob2</th>\n",
" <th>opponent</th>\n",
" <th>gs_prob</th>\n",
" <th>cumulative_prob</th>\n",
" </tr>\n",
" <tr>\n",
" <th>game_no</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>2015-12-08</td>\n",
" <td>post</td>\n",
" <td>IND</td>\n",
" <td>GS</td>\n",
" <td>0.252509</td>\n",
" <td>0.747491</td>\n",
" <td>IND</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>2015-12-11</td>\n",
" <td>pre</td>\n",
" <td>BOS</td>\n",
" <td>GS</td>\n",
" <td>0.304816</td>\n",
" <td>0.695184</td>\n",
" <td>BOS</td>\n",
" <td>0.695184</td>\n",
" <td>0.695184</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>2015-12-12</td>\n",
" <td>pre</td>\n",
" <td>MIL</td>\n",
" <td>GS</td>\n",
" <td>0.127148</td>\n",
" <td>0.872852</td>\n",
" <td>MIL</td>\n",
" <td>0.872852</td>\n",
" <td>0.606793</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>2015-12-16</td>\n",
" <td>pre</td>\n",
" <td>GS</td>\n",
" <td>PHX</td>\n",
" <td>0.927174</td>\n",
" <td>0.072826</td>\n",
" <td>PHX</td>\n",
" <td>0.927174</td>\n",
" <td>0.562602</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>2015-12-18</td>\n",
" <td>pre</td>\n",
" <td>GS</td>\n",
" <td>MIL</td>\n",
" <td>0.954676</td>\n",
" <td>0.045324</td>\n",
" <td>MIL</td>\n",
" <td>0.954676</td>\n",
" <td>0.537103</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>2015-12-23</td>\n",
" <td>pre</td>\n",
" <td>GS</td>\n",
" <td>UTA</td>\n",
" <td>0.913321</td>\n",
" <td>0.086679</td>\n",
" <td>UTA</td>\n",
" <td>0.913321</td>\n",
" <td>0.490547</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>2015-12-25</td>\n",
" <td>pre</td>\n",
" <td>GS</td>\n",
" <td>CLE</td>\n",
" <td>0.815078</td>\n",
" <td>0.184922</td>\n",
" <td>CLE</td>\n",
" <td>0.815078</td>\n",
" <td>0.399834</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>2015-12-28</td>\n",
" <td>pre</td>\n",
" <td>GS</td>\n",
" <td>SAC</td>\n",
" <td>0.950854</td>\n",
" <td>0.049146</td>\n",
" <td>SAC</td>\n",
" <td>0.950854</td>\n",
" <td>0.380184</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>2015-12-30</td>\n",
" <td>pre</td>\n",
" <td>DAL</td>\n",
" <td>GS</td>\n",
" <td>0.248551</td>\n",
" <td>0.751449</td>\n",
" <td>DAL</td>\n",
" <td>0.751449</td>\n",
" <td>0.285689</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>2015-12-31</td>\n",
" <td>pre</td>\n",
" <td>HOU</td>\n",
" <td>GS</td>\n",
" <td>0.248239</td>\n",
" <td>0.751761</td>\n",
" <td>HOU</td>\n",
" <td>0.751761</td>\n",
" <td>0.214770</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>2016-01-02</td>\n",
" <td>pre</td>\n",
" <td>GS</td>\n",
" <td>DEN</td>\n",
" <td>0.960504</td>\n",
" <td>0.039496</td>\n",
" <td>DEN</td>\n",
" <td>0.960504</td>\n",
" <td>0.206288</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>2016-01-04</td>\n",
" <td>pre</td>\n",
" <td>GS</td>\n",
" <td>CHA</td>\n",
" <td>0.915446</td>\n",
" <td>0.084554</td>\n",
" <td>CHA</td>\n",
" <td>0.915446</td>\n",
" <td>0.188845</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" date status team1 team2 carmelo_prob1 carmelo_prob2 opponent \\\n",
"game_no \n",
"23 2015-12-08 post IND GS 0.252509 0.747491 IND \n",
"24 2015-12-11 pre BOS GS 0.304816 0.695184 BOS \n",
"25 2015-12-12 pre MIL GS 0.127148 0.872852 MIL \n",
"26 2015-12-16 pre GS PHX 0.927174 0.072826 PHX \n",
"27 2015-12-18 pre GS MIL 0.954676 0.045324 MIL \n",
"28 2015-12-23 pre GS UTA 0.913321 0.086679 UTA \n",
"29 2015-12-25 pre GS CLE 0.815078 0.184922 CLE \n",
"30 2015-12-28 pre GS SAC 0.950854 0.049146 SAC \n",
"31 2015-12-30 pre DAL GS 0.248551 0.751449 DAL \n",
"32 2015-12-31 pre HOU GS 0.248239 0.751761 HOU \n",
"33 2016-01-02 pre GS DEN 0.960504 0.039496 DEN \n",
"34 2016-01-04 pre GS CHA 0.915446 0.084554 CHA \n",
"\n",
" gs_prob cumulative_prob \n",
"game_no \n",
"23 1.000000 1.000000 \n",
"24 0.695184 0.695184 \n",
"25 0.872852 0.606793 \n",
"26 0.927174 0.562602 \n",
"27 0.954676 0.537103 \n",
"28 0.913321 0.490547 \n",
"29 0.815078 0.399834 \n",
"30 0.950854 0.380184 \n",
"31 0.751449 0.285689 \n",
"32 0.751761 0.214770 \n",
"33 0.960504 0.206288 \n",
"34 0.915446 0.188845 "
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"gs.ix[SEASON_WINS:SEASON_WINS + 11]"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"0.39983449666561749"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"gs.ix[STREAK_TIE_GAME][\"cumulative_prob\"]"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"0.38018407428889595"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"gs.ix[STREAK_BREAK_GAME][\"cumulative_prob\"]"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"0.2062875354050733"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"gs.ix[SEASON_TIE_GAME][\"cumulative_prob\"]"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"0.18884502260758246"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"gs.ix[SEASON_BREAK_GAME][\"cumulative_prob\"]"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABDcAAAHmCAYAAABnF2X6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlYFXX///EXiCgoESho4oK7uYCIgpR5py2U5ZZpllqm\nWUqC1m3dqN3dZmq59K1ETf2pmZqmonmrmdqdlkt4K5qiEokbJm64YCLI5vn94cV8GVkEhQOn7/Nx\nXVyeMzNnzuszZzgy7/nMZ+wsFotFAAAAAAAANsq+rAMAAAAAAADcC4obAAAAAADAplHcAAAAAAAA\nNo3iBgAAAAAAsGkUNwAAAAAAgE2juAEAAAAAAGwaxQ0AKKb//ve/atasmfGze/fuApfNvdyMGTOs\nmPLeDRgwwMg+YMCAso5jVRaLRYGBgUb7x4wZk+9yHTt2NH3Gc+bMybPMxYsXTcusXr1akgrch1av\nXm1M79y5s2lduT+TouxPuZcv6k/u9+zcubMx/dtvvy3StitJ1vgcylJERIRN/Y7l3n6jR48u1muj\noqIUHh6uJ554Qn5+fmrVqpUeeeQRDRkyRCtXrlRGRkahr09PT9fRo0fvJb5VFPX/hqKyte/hkydP\nKiUlJd95N27c0MKFC9W3b1+1bdtWLVu2VMeOHRUaGqqff/7ZykkB/BVR3ACAe2BnZyc7O7uyjlHq\n/i+0MTc7Ozu1bt3aeH7w4ME8y5w4cUIXLlwwTYuOjs6zXExMjGm9/v7+ed6roO1bFtu9vGWx1udQ\n1v6qv2M3b97U6NGj9eqrr2rNmjX6448/lJaWpszMTCUlJWn79u365z//qV69eun8+fP5rmPTpk16\n+umntXHjRiunv3ul8X9Ded5HUlJSNHnyZHXt2lV//vlnnvmJiYnq1auXPv74Y+3fv18pKSnKysrS\nhQsX9MMPP+iNN97Qu+++q+zs7DJID+CvwqGsAwCALbNYLGUdAaWkTZs2xtnEEydOKC0tTU5OTsb8\n//73v3le8+uvv+rmzZuyt//fcwe5D6rd3d1Vr149SVJQUJBxsHLfffeVShtatmypihUrmqbFx8cr\nKSlJklSpUqU8B/nVq1cvlSx3q7Q/h7JUp04dYz9o2rRpWccplqIeaM+aNcvU66dq1ary9vaWvb29\njh07puvXr0u6tV+++eabWrlypWndb775pn788ceSDW8F/5f+bzhx4oT69++vS5cu5btfZGZmaujQ\noTp27JgxzcPDQ7Vr11ZCQoIuX74sSVq7dq3uu+8+vffee1bLDuCvheIGAAD58PPzMx5nZWXp8OHD\natu2rTEtv4PqlJQUxcXFqXnz5sa03L0Ncq/zyy+/LOnIefzjH//IM2306NHGwWb16tW1YMGCUs9x\nL0r7cyhLPXr0UI8ePco6RpF5eXkpMTFRklSzZs07Ln/jxg3Tft6nTx+NHj3aKE6lpKToH//4h1G8\nOHTokHbu3KkOHToYr/ntt99KsgkoBRcuXNClS5cKnL927VrFx8cbz9955x0NHjxY0q3Cx5QpU7R4\n8WJJ0tKlS/Xyyy+rbt26pRsawF8Sl6UAAJAPHx8fOTj87zmA3Gf+JZmup69SpYrx+PZLIg4dOmQ8\nLg+XQtjaGeW/6udgi1q0aGE8btKkyR2XP3HihNEzQ5L69+9v6nVTtWpVjRs3zjjbb2dnp/3795dg\nYpSF279jdu7caTx+4oknjMKGJFWsWFGjR4+Wh4eHpFuXMe3YscM6QQH85VDcAIAyFh8fr/Hjxys4\nOFitW7dW27Zt9cILL2j+/PlKS0szLTtmzBhjcLkJEyaY5u3fv980mN3hw4dN88eOHXvXgwHere3b\ntyssLEydO3dWq1at9NBDD2nIkCHasGFDvsvnHkzznXfekSR98803eu6559S6dWu1b99eYWFhBZ7N\ntVgsWrlypXr16iVfX18FBQVp1KhROnPmjL777rtiDcxXuXJlNWvWzHie+8z/0aNHjTOVlStXVp8+\nfYx5uQ+qExISdPXqVeN5mzZtjMclPfCgNSQmJuqdd95RUFCQfH199fzzzxc60GhcXJzefvttdejQ\nQS1bttQjjzyisLCwfMfEKEhpfw5JSUn66KOP1KVLF7Vu3VrNmzdXu3bt1Lt3b3355ZfKysoy5bl9\nHz1w4IB69uypli1bqkOHDlq5cqUk8+d77do1hYeHy8/PT35+fhoyZIikog0oWpzvB8k84PFLL72k\nkydPqn///mrVqpXat29vDERrsVj073//W4MGDVJQUJBatGghX19fBQcH67333tPx48fzrLtly5aS\nbhUhGjdunG/e3G7evGl6Pnv27DyDTXp4eGjJkiX68ssvtWDBAnXt2tW0nc+cOWMsO2PGjDzbqijb\nOccPP/yggQMHql27dmrVqpWefPJJffDBBzp9+nS++XO+T/r376/AwEA1b95cvr6+evLJJzV27Fij\nF0tR/PDDD6asb775Zp7tUxo2bdqkwYMH66GHHlKLFi3UqlUrde7cWX//+9/1+++/51m+uPvFgAED\n9Morr5he/9hjj5kGIX7iiSfUr18/dezYUX379s3znvb29kZxQ7rV4wcA7gaXpQDAPbqXM+ELFy7U\ntGnT8hxAHThwQAcOHNCyZcs0Z84cNWzYUNKtu1fk3OUh99kwKW/3/D179pjOtOacDbOzs9Njjz12\n15mLIj09Xe+9957WrVtnmn758mVt375d27dv16pVq/T555+ratWq+a7j5s2bCgsL0+bNm41pN27c\n0ObNm/Xzzz9r8eLF8vHxMeZZLBaNGjVK3333nSnH+vXrtX37dvXr18+YXtTxAtq0aWOc8c99UJ17\nW7dp00aPPPKI0f1+7969xrzcvQwqV65s+jxyZynPAwXmOHTokCZOnKhr166Zpo0ePVpnz55VSEiI\nafk1a9Zo7NixpgECk5KStHnzZm3evFnDhw/X8OHDi/TepfU5nD9/Xi+99FKeg9Rr167p4MGDOnjw\noHbs2KF58+bl+xklJCRo0KBBRu+Eixcvqn79+nmWGzFihH755RfjuaenZ55l8lt/cb8fbpecnKyB\nAwfq3LlzxvM6depIksLDw/Xvf//btHx2drYSEhKUkJCg77//XgsXLlSrVq2M+a+//rpef/31fN8r\nP40bN1bVqlWNgsaGDRv0008/qVOnTurQoYOCgoJUs2bNYvekKej3paDtbLFY9K9//UsrVqwwLX/q\n1CmdOnVKa9as0eeff66OHTua5uf3mvT0dON1Gzdu1PLly9WoUaNC8x4+fNgo1kq3Lov69NNPTWPC\nlIY5c+bo008/NU3Lzs7WmTNndObMGW3atEnz5s1T+/btjfl3s18UJOdzevrpp/X0008XuNzhw4dN\nBWtbG38GQPlBzw0AuEcff/yxBg4cmO9PYTZs2KCPP/7YOHBxdHRU8+bN5eXlZSxz+vRpDR482Bhw\nrUOHDqpUqZKkW12+z549ayx7+9n/3Geu4+PjjTsRVKpUyXRNe2mYNGmSqbDh4uIiX19f3X///ca0\nnTt3auTIkQWuI+cguGrVqmrTpo1poMv09HTNmjXLtPySJUtMhY1KlSqpZcuW8vDw0NWrVzV79uxi\ntyP32AyJiYlKTk6WZD6oDggIUJs2bYyBOy9dumSc3cx9IN6qVSvT5RU5bOUykSVLliglJUVNmjRR\n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\nKSkpGjdunLKzs3Xjxg05Ojqalnd0dDQGG3Vzc9O6det0+fJlubu7S5IiIiIUFham6Ohovf/++3Jw\ncNCECRPk4+NTam0AAAAAAADWV6TixpYtW/Tll1+qadOm6t69u5599ll5enqWbBAHB6WkpGjq1Kmq\nU6eOJOkf//iH3n33XfXs2VPXrl0zLZ+RkSEnJyfTtJzCRs7lKr6+vgoODtaYMWOUnZ2t8PBwbdiw\noURzAwAAAACAslWk4samTZsUExOjdevWaf78+Zo2bZqCgoLUrVs3Pfnkk3mKDHfD09NTDg4ORmFD\nkry9vZWenq7q1avryJEjpuUvXrxYYIElIiJCI0aMUHJyshISEhQUFCSLxaKQkBClpKSoatWqBeZw\nc3OWg0OFe25PeeDh4ZJn2s0yyFEc+WUu76yRme1iHWS2DjJbh61ltrW8EpmthczWYWuZbS2vRGZr\nIbN1lMfMRR5zw8fHRz4+PgoPD9cvv/yizZs365NPPtG4ceP0xBNPqGfPnqbBQIurdevWysrK0pEj\nR9SkSRNJ0rFjx1SlShX5+flp/vz5SktLMwope/fuzXc8jejoaDk4OMjHx0dXr16VJFksFmVlZRUp\nx5UrqXfdhvImKelanmnVyiBHceSXubwr7cweHi42t13IbB1ktg4ylz5byyuR2VrIbB22ltnW8kpk\nthYyW0dZZi6sqFLsu6VUqFBBLi4uqlq1qipVqqQbN24oPj5er732mrp166bff//9rkJ6e3vrscce\n0+jRo3X48GFFR0frk08+UZ8+fRQUFCQvLy+Fh4crPj5ec+fOVUxMjPr06ZNnPRERERo+fLgkydXV\nVXXq1FFkZKTWrFmj+vXrF9prAwAAAAAA2J4i99w4cuSI1q9fr++++06JiYlq3Lix+vTpo27duqlG\njRo6f/683njjDb311lt3Pa7FlClTNHHiRL3yyiuqUKGCnnvuOf3973+Xvb29Zs2apbFjx6pXr16q\nV6+eZs6cadzyNcfu3bvl5OSkVq1aGdPGjx+vMWPGyMHBQZMnT76rXAAAAAAAoPwqUnGja9euio+P\nl5ubm5555hn17NlTLVq0MC1To0YNPf7441q0aNFdh6lSpYomTZqkSZMm5ZlXt25dLV68uNDXBwQE\nKCAgwDQtKChIW7duvetMAAAAAACgfCtSccPb21sjR45Ux44dVbFixQKX6969u7p161Zi4QAAAAAA\n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\n7t0baWlpWs9NRERERERERIZV4TM3Xrx4gRo1aqhMU1w9kZ+fr/Ugq1atQsOGDeHv7y9OU1y9Ub16\ndeTl5anMX1hYCDMzM5Vp1tbWACDeruLu7g5/f3+EhoaipKQEISEhSE5O1np2IiIiIiIiIjKcKn1a\nioLiSgpdfGpKUlISsrOzxdtIioqKUFpaCg8PDwQFBeHy5csq8+fk5MDOzq7cZUVGRmLixInIzc1F\nZmYmfH19xU9cycvLg4WFRYU5rKzMYWKiuwem6pOtraXatFID5Hgd5WWWurKZpT7GAMdZH8obY6Px\nPxggSdUJKz/Wy+95G7Y/OZBbZrnlBZhZX5hZP+SWWW55AWbWF2bWDylm/kvNDV2Ijo4Wn+UhCAI2\nbtyICxcuYNGiRbh79y7WrFmDgoIC8WqNU6dOlfs8jdTUVJiYmMDNzQ1Pnz4Vl1dcXFylHE+eaP+q\nFEPJzn6mNs3GADleR3mZpa5sZqmPMcBx1oe3YYx1wdbWUnZjw8y6J7e8ADPrCzPrh9wyyy0vwMz6\nwsz6YcjMmpoqGpsbCxcuFJ9/Afx5xcb8+fPVrn5Ys2bNm2QUP+FEwdLSEqampnBwcEC9evVgb2+P\nkJAQjB8/HgcPHkRaWhrmz5+vtpzIyEhMmTIFAFCrVi04ODggPj4eANC4cWONV20QERERERERkfxU\n2Nxo06YNAOD58+dVmq5tRkZG4pUixsbGWL16NcLCwtCvXz80bNgQq1atUmuInDx5EmZmZnB1dRWn\nzZ49G6GhoTAxMcHChQt1mpmIiIiIiIiI9K/C5kZ0dLQ+c6iZNGmSyvcNGjSoNJO3tze8vb1Vpvn6\n+uLgwYNaz0dERERERERE0lDhR8ESEREREREREcnBaz1QlIiI/rfYnGmj1eWVQrsPg33kkaLFpRER\nERGRXPHKDSIiIiIiIiKSNTY3iIiIiIiIiEjW2NwgIiIiIiIiIlljc4OIiIiIiIiIZI3NDSIiIiIi\nIiKSNTY3iIiIiIiIiEjW2NwgIiIiIiIiIlljc4OIiIiIiIiIZI3NDSIiIiIiIiKSNTY3iIiIiIiI\niEjW2NwgIiIiIiIiIlljc4OIiIiIiIiIZI3NDSIiIiIiIiKSNTY3iIiIiIiIiEjW2NwgIiIiIiIi\nIlljc4OIiIiIiIiIZI3NDSIiIiIiIiKSNTY3iIiIiIiIiEjW2NwgIiIiIiIiIlljc4OIiIiIiIiI\nZE1SzY3r169j+PDh8PDwQJcuXbB+/Xrxtbt372LEiBHw8PBAQEAAjhw5Ir6Wn5+PoKAgeHl5YcKE\nCXj58qX4Wnp6OoYPH67P1SAiIiIiIiIiPZJMc6OoqAijR4+Gvb099uzZg4iICKxevRqJiYkQBAHj\nxo2DlZUV4uPj0adPHwQHB+POnTsAgLi4OOTm5iIhIQFZWVnYvn27uNyVK1diwoQJhlotIiIiIiIi\nItIxE0MHUMjKykKrVq0wY8YMmJqawsHBAe3atUNKSgrq1KmDmzdvIjY2Fubm5mjatCmOHz+O+Ph4\nTJo0CRkZGfDx8UGjRo3Qtm1bZGRkAAAuXryI/Px8eHl5GXjtiIiIiIiIiEhXJHPlRv369bFkyRKY\nmppCEAScOnUKKSkp8PX1xblz5+Dk5ARzc3Nxfi8vL5w9exYAYG9vj/T0dBQVFeHixYuoV68eAGDF\nihW8aoOIiIiIiIjoLSeZ5oayDh06YMiQIfDw8IC/vz+ys7Nha2urMo+1tTUePHgAAOjfvz/u3bsH\nd3d3PHr0CJ999hnS0tJQVFQEDw8PQ6wCEREREREREemJZG5LUbZmzRpkZWVh5syZ+Prrr/HixQuY\nmpqqzGNqaorCwkIAgJWVFRITE/H48WNYW1sDACIjIxEcHIzU1FRERETAxMQEc+fOhZubm97Xh4iI\niIiIiIh0R5LNDWdnZzg7O+PFixeYNm0a+vXrh2fPnqnMU1hYCDMzM5VpisaG4nYVd3d3+Pv7IzQ0\nFCUlJQgJCUFycrLG321lZQ4TE2Mtro3h2Npaqk0rNUCO11FeZqkrm1nqYwxwnPXhbRhjgOOs79+j\nTXLLLLe8ADPrCzPrh9wyyy0vwMz6wsz6IcXMkmluZGVl4ffff4efn584rUmTJigqKoKtrS2uXLmi\nMn9OTg7s7OzKXVZkZCQmTpyI3NxcZGZmwtfXV/zElby8PFhYWFSY48mTfO2skARkZz9Tm2ZjgByv\no7zMUlc2s9THGOA468PbMMYAxxl4Vbzl9v8pt8xyywsws74ws37ILbPc8gLMrC/MrB+GzKypqSKZ\nZ25cv34dwcHBePz4sTjtwoULsLGxgZeXFy5duoSCggLxtVOnTsHd3V1tOampqTAxMYGbmxuMjIwA\nAIIgoLi4WPcrQURERERERER6J5nmhre3N5o2bYqQkBBcv34dBw8exJIlSxAUFARvb2/Y29sjJCQE\nV69eRVRUFNLS0jBgwAC15URGRmL8+PEAgFq1asHBwQHx8fHYtWsXGjdurPGqDSIiIiIiIiKSH8nc\nlmJiYoKoqCjMmjULAwYMQI0aNfD5558jMDAQALB69WqEhYWhX79+aNiwIVatWiV+5KvCyZMnYWZm\nBldXV3Ha7NmzERoaChMTEyxcuFCv60REREREREREuieZ5gYAvPfee/j222/Lfa1BgwaIjo7W+PPe\n3t7w9vZWmebr64uDBw9qLSMREUmb3axjho6g0cMZ7Q0dgYiIiOitI5nbUoiIiIiIiIiI/go2N4iI\niIiIiIhI1tjcICIiIiIiIiJZY3ODiIiIiIiIiGSNzQ0iIiIiIiIikjU2N4iIiIiIiIhI1tjcICIi\nIiIiIiJZY3ODiIiIiIiIiGSNzQ0iIiIiIiIikjU2N4iIiIiIiIhI1tjcICIiIiIiIiJZY3ODiIiI\niIiIiGSNzQ0iIiIiIiIikjU2N4iIiIiIiIhI1tjcICIiIiIiIiJZY3ODiIiIiIiIiGSNzQ0iIiIi\nIiIikjU2N4iIiIiIiIhI1tjcICIiIiIiIiJZY3ODiIiIiIiIiGSNzQ0iIiIiIiIikjVJNTdu3bqF\noKAgeHt7o2PHjli4cCEKCwsBAHfv3sWIESPg4eGBgIAAHDlyRPy5/Px8BAUFwcvLCxMmTMDLly/F\n19LT0zF8+HB9rwoRERERERER6YlkmhuFhYUICgpC9erVsW3bNixatAi//PILli5dCgAYN24crKys\nEB8fjz59+iA4OBh37twBAMTFxSE3NxcJCQnIysrC9u3bxeWuXLkSEyZMMMg6EREREREREZHumRg6\ngEJaWhpu376NhIQEmJmZoUmTJpg4cSIWLFiAjh074ubNm4iNjYW5uTmaNm2K48ePIz4+HpMmTUJG\nRgZ8fHzQqFEjtG3bFhkZGQCAixcvIj8/H15eXgZeOyIiovLZnGmj9WWWArDR4vIeeaRocWlERERE\n2ieZKzeaNGmCqKgomJmZqUz/448/cO7cObRs2RLm5ubidC8vL5w9exYAYG9vj/T0dBQVFeHixYuo\nV68eAGDFihW8aoOIiIiIiIjoLSeZ5oa1tTV8fX3F70tLS7Flyxa0a9cO2dnZsLOzU5v/wYMHAID+\n/fvj3r17cHd3x6NHj/DZZ58hLS0NRUVF8PDw0Ot6EBEREREREZF+Sea2lLLmz5+Py5cvIz4+HuvX\nr4epqanK66ampuLDRq2srJCYmIjHjx/D2toaABAZGYng4GCkpqYiIiICJiYmmDt3Ltzc3PS+LkRE\nRG8Tu1nHDB2hUg9ntDd0BCIiItIjyTU3BEHAvHnzsG3bNqxYsQJNmzZF9erVkZeXpzJfYWGh2i0s\nisaG4nYVd3d3+Pv7IzQ0FCUlJQgJCUFycrJ+VoSIiIiIiIiI9EJSzY3S0lKEhYUhMTERy5YtQ5cu\nXQAA7733Hi5fvqwyb05OjtqtKgqRkZGYOHEicnNzkZmZCV9fXwiCgHHjxiEvLw8WFhYVZrCyMoeJ\nibH2VsqAbG0t1aaVGiDH6ygvs9SVzSz1MQY4zvrwNowxwHHWBblty8DbMc5y/R3axsz6wcy6J7e8\nADPrCzPrhxQzS6q5sWDBAuzduxerVq1Cx44dxenu7u5Ys2YNCgoKxKs1Tp06Ve7zNFJTU2FiYgI3\nNzc8ffoUwKurQYqLi6uU4cmTfC2siTRkZz9Tm6bNp+frQnmZpa5sZqmPMcBx1oe3YYwBjrMuyG1b\nBt6OcdY2W1tL2Y0LM+sHM+ue3PICzKwvzKwfhsysqakimebG2bNnsXnzZnz55ZdwcnJCdna2+Jq3\ntzfs7e0REhKC8ePH4+DBg0hLS8P8+fPVlhMZGYkpU6YAAGrVqgUHBwfEx8cDABo3bqzxqg0iIiIi\nIiIikh/JNDf27dsHAFi8eDEWL14sTjcyMsKFCxewevVqhIWFoV+/fmjYsCFWrVolfuSrwsmTJ2Fm\nZgZXV1dx2uzZsxEaGgoTExMsXLhQPytDREREkmJzpo1Wl1cK7V5188gjRYtLIyIi+t8jmebGtGnT\nMG3atApfb9CgAaKjozUuw9vbG97e3irTfH19cfDgQa1kJCIiIiIiIiLpecfQAYiIiIiIiIiI3gSb\nG0REREREREQka2xuEBEREREREZGssblBRERERERERLImmQeKEhEREdGf7GYdM3QEjR7OaG/oCERE\nRCJeuUFEREREREREssbmBhERERERERHJGpsbRERERERERCRrbG4QERERERERkayxuUFERERERERE\nssbmBhERERERERHJGpsbRERERERERCRrbG4QERERERERkayxuUFEREREREREssbmBhERERERERHJ\nmomhAxARERHR28HmTButLq8UgI0Wl/fII0WLSyMiIinhlRtEREREREREJGtsbhARERERERGRrLG5\nQURERERERESyxuYGEREREREREckamxtEREREREREJGtsbhARERERERGRrEmyuVFYWIiePXvi+PHj\n4rS7d+9ixIgR8PDwQEBAAI4cOSK+lp+fj6CgIHh5eWHChAl4+fKl+Fp6ejqGDx+uz/hERERERERE\npEeSa268fPkSkydPxrVr18RpgiBg3LhxsLKyQnx8PPr06YPg4GDcuXMHABAXF4fc3FwkJCQgKysL\n27dvF3925cqVmDBhgt7Xg4iIiIiIiIj0w8TQAZRdu3YNX375pdr0EydO4ObNm4iNjYW5uTmaNm2K\n48ePIz4+HpMmTUJGRgZ8fHzQqFEjtG3bFhkZGQCAixcvIj8/H15eXvpeFSIiIiKSAbtZxwwdQaOH\nM9obOgIRkSxI6sqNlJQU+Pr64vvvv1eZfu7cOTg5OcHc3Fyc5uXlhbNnzwIA7O3tkZ6ejqKiIly8\neBH16tUDAKxYsYJXbRARERERERG95SR15cagQYPKnZ6dnQ1bW1uVadbW1njw4AEAoH///khMTIS7\nuztatGiBzz77DGlpaSgqKoKHh4fOcxMRERERERGR4UiquVGRgoICmJqaqkwzNTVFYWEhAMDKygqJ\niYl4/PgxrK2tAQCRkZEIDg5GamoqIiIiYGJigrlz58LNzU3v+YmIiIiItMHmTButL7MUgI0Wl/fI\nI0WLSyMiqhpZNDfeffdd5OXlqUwrLCyEmZmZyjRFY0Nxu4q7uzv8/f0RGhqKkpIShISEIDk5WePv\nsrIyh4mJsRbTG46traXatFID5Hgd5WWWurKZpT7GAMdZH96GMQY4zrogt20Z4Djrw9swxgDHWRfk\nti0D+hnnt+H/Ug6YWT+YWTtk0dyoW7cu0tPTVabl5OTAzs6u3PkjIyMxceJE5ObmIjMzE76+vuIn\nruTl5cHCwqLC3/XkSb5WsxtSdvYztWna7MrrQnmZpa5sZqmPMcBx1oe3YYwBjrMuyG1bBjjO+vA2\njDHAcdYFuW3LgO7H2dbWUnb/l8ysH8ysH4bMrKmpIqkHilbEzc0Nly5dQkFBgTjt1KlTcHd3V5s3\nNTUVJiYmcHNzg5GREYBXHyVbXFyst7xEREREREREpD+yuHLDx8cH9vb2CAkJwfjx43Hw4EGkpaVh\n/vz5avNGRkZiypQpAIBatWrBwcEB8fHxAIDGjRtrvGqDiIiIiIiIiORHFs2Nd955B6tXr0ZYWBj6\n9euHhg0bYtWqVeJHviqcPHkSZmZmcHV1FafNnj0boaGhMDExwcKFC/UdnYiIiIjof5rdrGOGjlCp\nhzPaGzoCEb0hyTY3yj5jo0GDBoiOjtb4M97e3vD29laZ5uvri4MHD2o9HxERERERvZ20/ak0/EQa\nIt2TxTM3iIiIiIiIiIgqwuYGEREREREREckamxtEREREREREJGtsbhARERERERGRrLG5QURERERE\nRESyJtlPSyEiIiIiIqKqkfpH7vLjdknXeOUGEREREREREckamxtEREREREREJGtsbhARERERERGR\nrLG5QURERERERESyxuYGEREREREREckamxtEREREREREJGtsbhARERERERGRrLG5QURERERERESy\nZmLoAERERERERPS/x+ZMG60urxSAjRaX98gjRYtLI13jlRtEREREREREJGtsbhARERERERGRrLG5\nQURERERERESyxmduEBEREREREVWB3axjho6g0cMZ7Q0dwWDY3CAiIiIiIiJ6C2n7oa2AdB/cyttS\niIiIiIiIiEjWZNXcKCwsRHh4OLy9vdG+fXusW7dOfG3JkiVo06YNPv30U9y8eVOc/vLlS/Tq1Qt5\neXkGSExEREREREREuiar5sZ//vMfnDt3Dhs3bsSsWbPw7bffIjk5Genp6di6dSuio6PRqlUrLF68\nWPyZbdu2ISAgABYWFgZMTkRERERERES6IpvmRn5+PuLi4vDvf/8bTk5O8PPzw6hRo7BlyxZkZGSg\nWbNmcHR0ROfOnZGRkQEAePHiBeLi4jBs2DADpyciIiIiIiIiXZFNcyM9PR2FhYXw8vISp3l6euL8\n+fN47733cOfOHeTl5eHChQuoV68eAGDr1q3o1asXatSoYajYRERERERERKRjsvm0lOzsbNSqVQum\npqbitDp16qCoqAgODg7w9vaGt7c3ateujbVr1yI/Px8JCQmIi4szYGoiIiIiIiIi0jXZXLlRUFCg\n0tgAIH5fVFSEJUuW4LfffsPRo0fh6uqKmJgYfPLJJ3j+/DkCAwPRtWtXNjqIiIiIiIiI3kKyaW5U\nr14dhYWFKtMU37/77rsAgNq1a8PY2BjPnz/Hzp07MXToUERGRsLNzQ2xsbH45ptvkJWVpffsRERE\nRERERKQ7RoIgCIYOURWnT5/G0KFDkZaWBhOTV3fTnDhxAmPGjMHZs2fxzjt/9mnWrFkDExMTjBo1\n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\nt+fo0aO89957WFtbA9ldadq2bYuDgwOtW7dmy5YtOstTq1YtrKysMDIywsrKimrVqnH79m0OHz6s\nswVGu3btWLlypRKsAYiNjaV48eK0bduW9957L8+8ctPX18fAwEAJOqhUKgwNDfHw8GDv3r0aaePj\n4/noo49eq/Kbn/yun5o1a2rtm9y2bNlC9+7diYyMpEGDBri7u7Nz50527dpFs2bNaNCggca5/abX\n6/Hjx/nkk09wdHTEy8uL7du3v/a2JyYm0qhRI53ztm7dio+PD2XLltWYbmlpyerVq/Hw8NAos65r\nC+DUqVP06NEDJycnnJ2d6d+/vxIY27JlC127dmX48OG4uLiwadMmFi5cyMmTJ5UuZeHh4VrXQ0GM\njY01vufulpHzmld358j9WbBgAQsWLNA5b9u2bYUuS373nr/++osJEybg4uKCu7s7kyZN0uhOc+LE\nCTp16oSjoyPDhw/n+fPn+eZVsmRJhg8fzrJlyzTyyS2v+8vKlSs1WjvGxcVha2urBCszMzOpX78+\np06dyvfeIIQQfycJbggh/tVyVnbS09OJjY0lISGBli1bArBmzRq2b9/OnDlz2LRpE9WrV6d37968\nfPlSWe6nn35i/fr1OrszAOzYsYNvvvmG4OBgoqOjuXXrFsePH1cq02FhYVy9epUVK1awa9cu6tev\nT2hoKOnp6co6wsPD+eKLL1i0aBExMTH06NGDXr16sW7dOm7dusWKFSsAuHDhAuPHjycgIIDvv/+e\nrl27MnToUGW8gNw+//xz9uzZw+zZs4mOjiYzM5PAwECysrJIS0tjwIABmJubs2XLFjp06MCGDRuU\ncl++fJmRI0fSrVs3tm7dioGBAUePHlXWPXXqVIyMjNiyZQsrVqzg9OnTLF68GPhf94oqVaoU6tjk\nx8vLSyM48PjxYw4fPoyXlxcvXrygf//+ODs78/333zNx4kRWrVrFmjVrCrVutU2bNuHv78+OHTso\nV64coaGheaZVnw8TJ05UxhPYuHEj3t7efPTRRxrBjRMnTvD8+XON8UMKu90ZGRkEBARQunRpNm/e\nTEBAAAsXLtQK0sTExLB8+XIiIiKIjY1l06ZNmJubEx4eDsC+fftwdnZm9uzZuLi48ODBA8aOHUvf\nvn3ZvXs3AQEBTJw4katXr2qVoXLlyqxbt07JR19fn4sXL6JSqahTp45WekNDQ1xcXDA0NFSmff/9\n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\nQghRpP0f1viVJQqAMsUAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1159c4eb8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"next_20 = gs.ix[SEASON_WINS:SEASON_WINS+21]\n",
"# Color codes via http://teamcolorcodes.com/golden-state-warriors-color-codes/\n",
"ax = next_20[\"cumulative_prob\"].plot(kind=\"bar\", figsize=(18, 6), width=0.9,\n",
" color=[ \"#006BB6\", \"#FDB927\" ],\n",
" lw=0)\n",
"ax.figure.set_facecolor(\"#FFFFFF\")\n",
"ax.set_title(\"How Long Will The Warriors' Streak Last?\\n\", \n",
" linespacing=0.5, fontsize=24, fontweight=\"bold\")\n",
"\n",
"ax.set_xlabel(\"\\nStreak Length and Opponent\", fontsize=16)\n",
"ax.set_xticklabels([ \"{0}\\n{1}\".format(wins, opp)\n",
" for wins, opp in zip(next_20.index + PREV_WINS, next_20[\"opponent\"]) ],\n",
" rotation=0, fontsize=14)\n",
"ax.set_ylabel(\"Probability\", fontsize=16)\n",
"ax.set_yticks(pd.np.arange(0, 1.1, 0.1))\n",
"ax.set_yticklabels([ \"{0:.0f}%\".format(y * 100) for y in ax.get_yticks() ], fontsize=14)\n",
"ax.figure.text(0.5, -0.1,\n",
" s=\"Per-game odds: FiveThirtyEight's \\\"CARM-Elo\\\" model. / Chart: BuzzFeed News\",\n",
" fontsize=14,\n",
" ha=\"center\")\n",
"pass"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n",
"\n",
"---\n",
"\n",
"---"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.4.3"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment