Imported all the notebooks
[tm351-notebooks.git] / notebooks / 16 replication and sharding / accident-analysis-over-time.ipynb
1 {
2 "metadata": {
3 "name": "",
4 "signature": "sha256:e0cb0b122e498ca69e9cdd372736e6a2d6e7c1df4f5e12778654e8702122cf15"
5 },
6 "nbformat": 3,
7 "nbformat_minor": 0,
8 "worksheets": [
9 {
10 "cells": [
11 {
12 "cell_type": "code",
13 "collapsed": false,
14 "input": [
15 "# Import the required libraries and open the connection to Mongo\n",
16 "\n",
17 "import collections\n",
18 "import datetime\n",
19 "from itertools import chain, repeat\n",
20 "import matplotlib as mpl\n",
21 "import matplotlib.pyplot as plt\n",
22 "from mpl_toolkits.basemap import Basemap\n",
23 "%matplotlib inline\n",
24 "\n",
25 "import numpy as np\n",
26 "import pandas as pd\n",
27 "import scipy.stats\n",
28 "\n",
29 "import pymongo\n",
30 "from bson.objectid import ObjectId\n",
31 "from bson.code import Code\n",
32 "# client = pymongo.MongoClient('mongodb://localhost:27117/')\n",
33 "# client = pymongo.MongoClient('mongodb://ogedei:27017')\n",
34 "client = pymongo.MongoClient('mongodb://localhost:27017')"
35 ],
36 "language": "python",
37 "metadata": {},
38 "outputs": [],
39 "prompt_number": 12
40 },
41 {
42 "cell_type": "code",
43 "collapsed": false,
44 "input": [
45 "db = client.accidents\n",
46 "accidents = db.accidents\n",
47 "labels = db.labels\n",
48 "roads = db.roads"
49 ],
50 "language": "python",
51 "metadata": {},
52 "outputs": [],
53 "prompt_number": 2
54 },
55 {
56 "cell_type": "code",
57 "collapsed": false,
58 "input": [
59 "# Load the expanded names of keys and human-readable codes into memory\n",
60 "\n",
61 "expanded_name = collections.defaultdict(str)\n",
62 "for e in labels.find({'expanded': {\"$exists\": True}}):\n",
63 " expanded_name[e['label']] = e['expanded']\n",
64 " \n",
65 "label_of = collections.defaultdict(str)\n",
66 "for l in labels.find({'codes': {\"$exists\": True}}):\n",
67 " for c in l['codes']:\n",
68 " try:\n",
69 " label_of[(l['label'], int(c))] = l['codes'][c]\n",
70 " except ValueError: \n",
71 " label_of[(l['label'], c)] = l['codes'][c]"
72 ],
73 "language": "python",
74 "metadata": {},
75 "outputs": [],
76 "prompt_number": 390
77 },
78 {
79 "cell_type": "markdown",
80 "metadata": {},
81 "source": [
82 "The small_accidents database only included data for 2012. The full database includes data from 2005-2012. How much data?"
83 ]
84 },
85 {
86 "cell_type": "code",
87 "collapsed": false,
88 "input": [
89 "accidents.find().count()"
90 ],
91 "language": "python",
92 "metadata": {},
93 "outputs": [
94 {
95 "metadata": {},
96 "output_type": "pyout",
97 "prompt_number": 440,
98 "text": [
99 "1355615"
100 ]
101 }
102 ],
103 "prompt_number": 440
104 },
105 {
106 "cell_type": "code",
107 "collapsed": false,
108 "input": [
109 "roads.find().count()"
110 ],
111 "language": "python",
112 "metadata": {},
113 "outputs": [
114 {
115 "metadata": {},
116 "output_type": "pyout",
117 "prompt_number": 441,
118 "text": [
119 "231675"
120 ]
121 }
122 ],
123 "prompt_number": 441
124 },
125 {
126 "cell_type": "markdown",
127 "metadata": {},
128 "source": [
129 "We can summarise the data with an aggregation pipeline that will show the number of accidents each month over the seven years."
130 ]
131 },
132 {
133 "cell_type": "code",
134 "collapsed": false,
135 "input": [
136 "results = accidents.aggregate([\n",
137 " {'$project': {'month': {'$month': '$Datetime'},\n",
138 " 'year': {'$year': '$Datetime'}}},\n",
139 " {'$group': {'_id': {'month': '$month', 'year': '$year'},\n",
140 " 'count': {'$sum': 1}}},\n",
141 " {'$sort': {'_id': 1}}\n",
142 "])\n",
143 "results"
144 ],
145 "language": "python",
146 "metadata": {},
147 "outputs": [
148 {
149 "metadata": {},
150 "output_type": "pyout",
151 "prompt_number": 451,
152 "text": [
153 "{'ok': 1.0,\n",
154 " 'result': [{'_id': {'year': 2012, 'month': 11}, 'count': 13305},\n",
155 " {'_id': {'year': 2012, 'month': 9}, 'count': 13066},\n",
156 " {'_id': {'year': 2012, 'month': 7}, 'count': 12818},\n",
157 " {'_id': {'year': 2012, 'month': 4}, 'count': 10820},\n",
158 " {'_id': {'year': 2012, 'month': 2}, 'count': 10863},\n",
159 " {'_id': {'year': 2011, 'month': 12}, 'count': 12685},\n",
160 " {'_id': {'year': 2011, 'month': 11}, 'count': 13197},\n",
161 " {'_id': {'year': 2011, 'month': 3}, 'count': 12432},\n",
162 " {'_id': {'year': 2012, 'month': 5}, 'count': 12439},\n",
163 " {'_id': {'year': 2010, 'month': 2}, 'count': 11724},\n",
164 " {'_id': {'year': 2011, 'month': 2}, 'count': 11150},\n",
165 " {'_id': {'year': 2010, 'month': 12}, 'count': 10345},\n",
166 " {'_id': {'year': 2007, 'month': 4}, 'count': 14125},\n",
167 " {'_id': {'year': 2011, 'month': 5}, 'count': 12623},\n",
168 " {'_id': {'year': 2011, 'month': 9}, 'count': 13339},\n",
169 " {'_id': {'year': 2008, 'month': 7}, 'count': 14630},\n",
170 " {'_id': {'year': 2010, 'month': 9}, 'count': 13904},\n",
171 " {'_id': {'year': 2010, 'month': 1}, 'count': 10637},\n",
172 " {'_id': {'year': 2011, 'month': 1}, 'count': 11761},\n",
173 " {'_id': {'year': 2011, 'month': 7}, 'count': 13118},\n",
174 " {'_id': {'year': 2010, 'month': 7}, 'count': 13527},\n",
175 " {'_id': {'year': 2010, 'month': 6}, 'count': 13644},\n",
176 " {'_id': {'year': 2011, 'month': 4}, 'count': 12342},\n",
177 " {'_id': {'year': 2010, 'month': 4}, 'count': 12248},\n",
178 " {'_id': {'year': 2009, 'month': 12}, 'count': 13709},\n",
179 " {'_id': {'year': 2010, 'month': 5}, 'count': 13220},\n",
180 " {'_id': {'year': 2009, 'month': 11}, 'count': 15473},\n",
181 " {'_id': {'year': 2005, 'month': 8}, 'count': 16408},\n",
182 " {'_id': {'year': 2009, 'month': 8}, 'count': 13415},\n",
183 " {'_id': {'year': 2009, 'month': 6}, 'count': 13936},\n",
184 " {'_id': {'year': 2006, 'month': 6}, 'count': 16035},\n",
185 " {'_id': {'year': 2005, 'month': 2}, 'count': 14521},\n",
186 " {'_id': {'year': 2009, 'month': 2}, 'count': 10950},\n",
187 " {'_id': {'year': 2005, 'month': 4}, 'count': 15661},\n",
188 " {'_id': {'year': 2009, 'month': 4}, 'count': 12715},\n",
189 " {'_id': {'year': 2012, 'month': 1}, 'count': 11836},\n",
190 " {'_id': {'year': 2006, 'month': 10}, 'count': 17124},\n",
191 " {'_id': {'year': 2012, 'month': 3}, 'count': 12171},\n",
192 " {'_id': {'year': 2008, 'month': 9}, 'count': 14432},\n",
193 " {'_id': {'year': 2008, 'month': 12}, 'count': 13794},\n",
194 " {'_id': {'year': 2012, 'month': 10}, 'count': 13120},\n",
195 " {'_id': {'year': 2005, 'month': 6}, 'count': 16874},\n",
196 " {'_id': {'year': 2006, 'month': 11}, 'count': 17397},\n",
197 " {'_id': {'year': 2008, 'month': 8}, 'count': 13366},\n",
198 " {'_id': {'year': 2012, 'month': 8}, 'count': 11878},\n",
199 " {'_id': {'year': 2006, 'month': 5}, 'count': 16103},\n",
200 " {'_id': {'year': 2007, 'month': 3}, 'count': 15049},\n",
201 " {'_id': {'year': 2008, 'month': 6}, 'count': 14205},\n",
202 " {'_id': {'year': 2005, 'month': 1}, 'count': 16278},\n",
203 " {'_id': {'year': 2007, 'month': 7}, 'count': 15862},\n",
204 " {'_id': {'year': 2009, 'month': 1}, 'count': 13417},\n",
205 " {'_id': {'year': 2008, 'month': 3}, 'count': 13494},\n",
206 " {'_id': {'year': 2008, 'month': 1}, 'count': 14133},\n",
207 " {'_id': {'year': 2007, 'month': 12}, 'count': 14708},\n",
208 " {'_id': {'year': 2006, 'month': 12}, 'count': 16188},\n",
209 " {'_id': {'year': 2011, 'month': 6}, 'count': 13048},\n",
210 " {'_id': {'year': 2010, 'month': 11}, 'count': 14544},\n",
211 " {'_id': {'year': 2007, 'month': 5}, 'count': 15833},\n",
212 " {'_id': {'year': 2008, 'month': 4}, 'count': 13394},\n",
213 " {'_id': {'year': 2007, 'month': 2}, 'count': 13253},\n",
214 " {'_id': {'year': 2007, 'month': 11}, 'count': 16559},\n",
215 " {'_id': {'year': 2007, 'month': 1}, 'count': 15355},\n",
216 " {'_id': {'year': 2007, 'month': 10}, 'count': 15528},\n",
217 " {'_id': {'year': 2005, 'month': 12}, 'count': 17095},\n",
218 " {'_id': {'year': 2006, 'month': 3}, 'count': 14855},\n",
219 " {'_id': {'year': 2011, 'month': 10}, 'count': 13748},\n",
220 " {'_id': {'year': 2007, 'month': 8}, 'count': 15044},\n",
221 " {'_id': {'year': 2006, 'month': 9}, 'count': 16785},\n",
222 " {'_id': {'year': 2008, 'month': 10}, 'count': 15684},\n",
223 " {'_id': {'year': 2005, 'month': 10}, 'count': 17533},\n",
224 " {'_id': {'year': 2010, 'month': 3}, 'count': 13165},\n",
225 " {'_id': {'year': 2006, 'month': 8}, 'count': 15293},\n",
226 " {'_id': {'year': 2012, 'month': 6}, 'count': 11470},\n",
227 " {'_id': {'year': 2009, 'month': 10}, 'count': 14834},\n",
228 " {'_id': {'year': 2006, 'month': 7}, 'count': 16671},\n",
229 " {'_id': {'year': 2010, 'month': 10}, 'count': 14429},\n",
230 " {'_id': {'year': 2012, 'month': 12}, 'count': 11785},\n",
231 " {'_id': {'year': 2007, 'month': 6}, 'count': 15528},\n",
232 " {'_id': {'year': 2008, 'month': 2}, 'count': 14353},\n",
233 " {'_id': {'year': 2005, 'month': 11}, 'count': 18747},\n",
234 " {'_id': {'year': 2009, 'month': 9}, 'count': 13792},\n",
235 " {'_id': {'year': 2006, 'month': 1}, 'count': 14839},\n",
236 " {'_id': {'year': 2007, 'month': 9}, 'count': 15271},\n",
237 " {'_id': {'year': 2008, 'month': 11}, 'count': 14770},\n",
238 " {'_id': {'year': 2008, 'month': 5}, 'count': 14336},\n",
239 " {'_id': {'year': 2005, 'month': 5}, 'count': 17032},\n",
240 " {'_id': {'year': 2006, 'month': 4}, 'count': 13804},\n",
241 " {'_id': {'year': 2005, 'month': 9}, 'count': 16720},\n",
242 " {'_id': {'year': 2006, 'month': 2}, 'count': 14067},\n",
243 " {'_id': {'year': 2009, 'month': 7}, 'count': 14300},\n",
244 " {'_id': {'year': 2005, 'month': 7}, 'count': 16889},\n",
245 " {'_id': {'year': 2009, 'month': 3}, 'count': 13202},\n",
246 " {'_id': {'year': 2011, 'month': 8}, 'count': 12031},\n",
247 " {'_id': {'year': 2010, 'month': 8}, 'count': 13027},\n",
248 " {'_id': {'year': 2005, 'month': 3}, 'count': 14977},\n",
249 " {'_id': {'year': 2009, 'month': 5}, 'count': 13811}]}"
250 ]
251 }
252 ],
253 "prompt_number": 451
254 },
255 {
256 "cell_type": "markdown",
257 "metadata": {},
258 "source": [
259 "We can put that in a Pandas Series and plot the number of accidents over time. Note that we're building the series from a dict so that Pandas will keep the data items in date order."
260 ]
261 },
262 {
263 "cell_type": "code",
264 "collapsed": false,
265 "input": [
266 "accidents_by_month = pd.Series({datetime.datetime(m['_id']['year'], m['_id']['month'], 1): \n",
267 " m['count'] for m in results['result']})\n",
268 "# A hack to change the dates to the end of the month\n",
269 "accidents_by_month.index = accidents_by_month.index.to_period('M').to_timestamp('M')\n",
270 "accidents_by_month.plot()\n",
271 "accidents_by_month"
272 ],
273 "language": "python",
274 "metadata": {},
275 "outputs": [
276 {
277 "metadata": {},
278 "output_type": "pyout",
279 "prompt_number": 452,
280 "text": [
281 "2005-01-31 16278\n",
282 "2005-02-28 14521\n",
283 "2005-03-31 14977\n",
284 "2005-04-30 15661\n",
285 "2005-05-31 17032\n",
286 "2005-06-30 16874\n",
287 "2005-07-31 16889\n",
288 "2005-08-31 16408\n",
289 "2005-09-30 16720\n",
290 "2005-10-31 17533\n",
291 "2005-11-30 18747\n",
292 "2005-12-31 17095\n",
293 "2006-01-31 14839\n",
294 "2006-02-28 14067\n",
295 "2006-03-31 14855\n",
296 "...\n",
297 "2011-10-31 13748\n",
298 "2011-11-30 13197\n",
299 "2011-12-31 12685\n",
300 "2012-01-31 11836\n",
301 "2012-02-29 10863\n",
302 "2012-03-31 12171\n",
303 "2012-04-30 10820\n",
304 "2012-05-31 12439\n",
305 "2012-06-30 11470\n",
306 "2012-07-31 12818\n",
307 "2012-08-31 11878\n",
308 "2012-09-30 13066\n",
309 "2012-10-31 13120\n",
310 "2012-11-30 13305\n",
311 "2012-12-31 11785\n",
312 "Freq: M, Length: 96"
313 ]
314 },
315 {
316 "metadata": {},
317 "output_type": "display_data",
318 "png": "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\nAElFTkSuQmCC\n",
319 "text": [
320 "<matplotlib.figure.Figure at 0x7f720831b208>"
321 ]
322 }
323 ],
324 "prompt_number": 452
325 },
326 {
327 "cell_type": "markdown",
328 "metadata": {},
329 "source": [
330 "That looks like a significant drop in the number of accidents, though the plot could be deceptive as the y-axis doesn't got to zero. Let's plot that again showing zero on the y axis."
331 ]
332 },
333 {
334 "cell_type": "code",
335 "collapsed": false,
336 "input": [
337 "accidents_by_month.plot(ylim=(0, accidents_by_month.max() * 1.1))"
338 ],
339 "language": "python",
340 "metadata": {},
341 "outputs": [
342 {
343 "metadata": {},
344 "output_type": "pyout",
345 "prompt_number": 6,
346 "text": [
347 "<matplotlib.axes.AxesSubplot at 0x7f720db27d30>"
348 ]
349 },
350 {
351 "metadata": {},
352 "output_type": "display_data",
353 "png": "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\n",
354 "text": [
355 "<matplotlib.figure.Figure at 0x7f720dc05cf8>"
356 ]
357 }
358 ],
359 "prompt_number": 6
360 },
361 {
362 "cell_type": "markdown",
363 "metadata": {},
364 "source": [
365 "Still as significant decrease in the number of accidents. Is this because people were driving less?\n",
366 "\n",
367 "Let's summarise the road data, but that's only data for each year."
368 ]
369 },
370 {
371 "cell_type": "markdown",
372 "metadata": {},
373 "source": [
374 "# Exercise\n",
375 "Use an aggregation pipeline to find the total volume of traffic, grouped by year."
376 ]
377 },
378 {
379 "cell_type": "markdown",
380 "metadata": {},
381 "source": [
382 "## Start solution"
383 ]
384 },
385 {
386 "cell_type": "code",
387 "collapsed": false,
388 "input": [
389 "# Solution\n",
390 "results = roads.aggregate([\n",
391 " {'$group': {'_id': '$AADFYear',\n",
392 " 'count': {'$sum': '$FdAll_MV'}}},\n",
393 " {'$sort': {'_id': 1}}\n",
394 "])\n",
395 "results"
396 ],
397 "language": "python",
398 "metadata": {},
399 "outputs": [
400 {
401 "metadata": {},
402 "output_type": "pyout",
403 "prompt_number": 177,
404 "text": [
405 "{'ok': 1.0,\n",
406 " 'result': [{'_id': 2000, 'count': 358120533.0},\n",
407 " {'_id': 2001, 'count': 363206858.0},\n",
408 " {'_id': 2002, 'count': 367379472.0},\n",
409 " {'_id': 2003, 'count': 368733437.0},\n",
410 " {'_id': 2004, 'count': 374851097.0},\n",
411 " {'_id': 2005, 'count': 374325230.0},\n",
412 " {'_id': 2006, 'count': 380392831.0},\n",
413 " {'_id': 2007, 'count': 378701988.0},\n",
414 " {'_id': 2008, 'count': 372677467.0},\n",
415 " {'_id': 2009, 'count': 373687229.0},\n",
416 " {'_id': 2010, 'count': 369435097.0},\n",
417 " {'_id': 2011, 'count': 370117649.0},\n",
418 " {'_id': 2012, 'count': 369517403.0}]}"
419 ]
420 }
421 ],
422 "prompt_number": 177
423 },
424 {
425 "cell_type": "code",
426 "collapsed": false,
427 "input": [
428 "traffic_volume_by_year = pd.Series([y['count'] for y in results['result']], \n",
429 " index=pd.to_datetime([datetime.datetime(y['_id'], 12, 31) for y in results['result']]))\n",
430 "traffic_volume_by_year.plot()"
431 ],
432 "language": "python",
433 "metadata": {},
434 "outputs": [
435 {
436 "metadata": {},
437 "output_type": "pyout",
438 "prompt_number": 178,
439 "text": [
440 "<matplotlib.axes.AxesSubplot at 0x7f7209cea5c0>"
441 ]
442 },
443 {
444 "metadata": {},
445 "output_type": "display_data",
446 "png": "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\nRU5ErkJggg==\n",
447 "text": [
448 "<matplotlib.figure.Figure at 0x7f7209c850f0>"
449 ]
450 }
451 ],
452 "prompt_number": 178
453 },
454 {
455 "cell_type": "markdown",
456 "metadata": {},
457 "source": [
458 "Let's take the traffic for just 2005\u201312, and plot it with zero on the y-axis."
459 ]
460 },
461 {
462 "cell_type": "code",
463 "collapsed": false,
464 "input": [
465 "results = roads.aggregate([\n",
466 " {'$match': {'AADFYear': {'$gte': 2005}}},\n",
467 " {'$group': {'_id': '$AADFYear',\n",
468 " 'count': {'$sum': '$FdAll_MV'}}},\n",
469 " {'$sort': {'_id': 1}}\n",
470 "])\n",
471 "traffic_volume_by_year = pd.Series([y['count'] for y in results['result']], \n",
472 " index=pd.to_datetime([datetime.datetime(y['_id'], 12, 31) for y in results['result']]))\n",
473 "traffic_volume_by_year.plot(ylim=(0, traffic_volume_by_year.max() * 1.1))"
474 ],
475 "language": "python",
476 "metadata": {},
477 "outputs": [
478 {
479 "metadata": {},
480 "output_type": "pyout",
481 "prompt_number": 179,
482 "text": [
483 "<matplotlib.axes.AxesSubplot at 0x7f7209c6dbe0>"
484 ]
485 },
486 {
487 "metadata": {},
488 "output_type": "display_data",
489 "png": "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\n",
490 "text": [
491 "<matplotlib.figure.Figure at 0x7f7209c0ef28>"
492 ]
493 }
494 ],
495 "prompt_number": 179
496 },
497 {
498 "cell_type": "markdown",
499 "metadata": {},
500 "source": [
501 "Traffic rates barely changed over the same period. It looks like some accident prevention methods have worked. "
502 ]
503 },
504 {
505 "cell_type": "markdown",
506 "metadata": {},
507 "source": [
508 "## End solution"
509 ]
510 },
511 {
512 "cell_type": "markdown",
513 "metadata": {},
514 "source": [
515 "Were the low traffic volumes reported before 2005 to do with fewer reports?"
516 ]
517 },
518 {
519 "cell_type": "code",
520 "collapsed": false,
521 "input": [
522 "results = roads.aggregate([\n",
523 " {'$group': {'_id': '$AADFYear',\n",
524 " 'count': {'$sum': 1}}},\n",
525 " {'$sort': {'_id': 1}}\n",
526 "])\n",
527 "pd.Series({y['_id']: y['count'] for y in results['result']}).plot(ylim=(0, 18000))\n",
528 "results"
529 ],
530 "language": "python",
531 "metadata": {},
532 "outputs": [
533 {
534 "metadata": {},
535 "output_type": "pyout",
536 "prompt_number": 450,
537 "text": [
538 "{'ok': 1.0,\n",
539 " 'result': [{'_id': 2000, 'count': 17672},\n",
540 " {'_id': 2001, 'count': 17683},\n",
541 " {'_id': 2002, 'count': 17702},\n",
542 " {'_id': 2003, 'count': 17685},\n",
543 " {'_id': 2004, 'count': 17739},\n",
544 " {'_id': 2005, 'count': 17836},\n",
545 " {'_id': 2006, 'count': 17897},\n",
546 " {'_id': 2007, 'count': 17897},\n",
547 " {'_id': 2008, 'count': 17877},\n",
548 " {'_id': 2009, 'count': 17921},\n",
549 " {'_id': 2010, 'count': 17900},\n",
550 " {'_id': 2011, 'count': 17879},\n",
551 " {'_id': 2012, 'count': 17987}]}"
552 ]
553 },
554 {
555 "metadata": {},
556 "output_type": "display_data",
557 "png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEACAYAAABCl1qQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGz9JREFUeJzt3X+QZWV5J/DPyDAIAW1RFxgE28SxANdkdBTMrlnaX2Sy\nuwHWtQRSMbRg7SqbQFLZikCqZPZHGXCTCCYLKVexwVICiUaxwBHE6ei6EZIYIhFZIMkQZhA0KmKy\nRkFm/3jfO31perjT3ed23/vO91N1657z3nNvn+/0zHn6vM/pOURERERERERERERERERERERERERE\nRASuxEO4o2/seNyGv8Cf4hV9r12Ae3AXTuob31Q/4x5c1jd+AK6t41/E87vd/YiIWAk/hZd6YrGY\nxU/X5Z/Btrp8HG7H/pjEvVhTX7tNKTJwIzbX5XNweV0+Db/f5c5HREQ3njbg9c/j2/PGvoZn1uUJ\n7KzLp+AaPIrtSrE4AUfgEKVgwNU4tS6fjKvq8kfx2sUGiIiI4Vu7hPecj/+N31SKzU/W8fXKVFLP\nDhypFI8dfeM767j6fH9dfgzfwaH41hL2KyIihmTQmcVCPoBzcTR+RelrREREw5ZyZnE8XleX/xDv\nr8s7cVTfds9Tzih21uX54733HI0H6r480wJnFevXr9/1wAMPLGFXIyL2aX+NF3bxQUspFvfiRPwx\nXoO76/j1+Ah+W5le2qD0KXbhEaV/cRvejPf2vedMZfrqjbhloS/4wAMP2LVr1xJ2dTxs2bLFli1b\nVns3huap8j3+ON/7Hv/4j3t+/MM/PPXr8x//9E98//v84Adzz/vvzwEH7Pmxbt1Tv76n7det4/rr\ntzj11IXzdW3XrvJ4/PHy+OEP55YHrS9m2976l760xfHHb7H//lbksd9+C+/TQjm6GLv22i3e8IYt\nQ/0a/ctPexqHHFIeBx9cHntaPvhgfuRHyp/JUq1Zs+bHuvq7N6hYXKMUhucovYV34j/gfyqXvX6v\nrsOduK4+P6Zc6dQ7wp+DGRyoXA21tY5/AB9SLp39Jk5fZp7Ozf/HudA/qkHjg177sz/b7ktfKn+R\nFvtYs2bx2z/++BMPpPMfXY9/4Qvbfe5zCx/Yv/c9nv708o9ibx/PfvaTx3r/sA46qHze/AP705Yy\n4bqXPv/57d7yluF9/mqant7ufe9b7b0Ynhtu2O7nfm6192I8DCoWZ+xh/IQ9jL+rPub7c7xkgfHv\n400D9gEcc8zcgbt38B7meu/gvmvXwgfk/fZb+GC8p/Gnem37dt761j0Xk0GP+cXsqR6UPOvWPfGn\n4/mPpYw/4xkLv/aNb/Drv77wgf+gg4Z7II+IbixlGmpV/NEflYNc78DdWx7G+po15cC+335z68M0\nOzttamq4X6Pn8cdXJlO/ww9fuXyrYXp6erV3YWhazkb7+bq0goeMZdnVcs8iImIY1pSfCjs5zmcC\nYATMzs6u9i4MVfKNr5az0X6+LqVYRETEQJmGiohoVKahIiJiRaVYjIDW502Tb3y1nI3283UpxSIi\nIgZKzyIiolHpWURExIpKsRgBrc+bJt/4ajkb7efrUopFREQMlJ5FRESj0rOIiIgVlWIxAlqfN02+\n8dVyNtrP16UUi4iIGGjQXNaV+Df4uifevOiXlLvf/RA34B11/AKcVcfPxU11fJNyp7ynK3fKO6+O\nH4Cr8TLlTnmn4b4F9iM9i4iIRVrJnsUHsXne2KtxMn4c/xy/WcePUw72x9X3XN63k1fgbOW+3Bv6\nPvNspUhswHtwyRJzRETEEA0qFp/Ht+eNvR2/gUfr+jfq8ynKPbsfxXbcq9x+9Qgcgtvqdlfj1Lp8\nMq6qyx/FaxcboAWtz5sm3/hqORvt5+vSUnoWG/Cv8EXM4uV1fD129G23A0cuML6zjqvP99flx/Ad\nHLqEfYqIiCFayj241+JZeCVegevwo13u1EKmp6dNTk6CiYkJGzduNFVv7Nz76WBc13tjo7I/yZd8\nvfWpqamR2p/ke+r12dlZMzMzsPt42ZW9aXxM4pPmGtyfwsX447p+r1I43lrXL67PW3GR0rDehmPr\n+BnKmcnb6zZblLOUtfganrvAPqTBHRGxSKv9S3kfx2vq8ouwDn+P63F6XX+BMl11Gx7EI0r/Yg3e\njE/U91+PM+vyG3HLEvZn7PV+MmhV8o2vlrPRfr4uDZqGugYn4tlKb+GdyuW0V+IO/AC/ULe9U5mS\nulPpP5yD3unAOcqlswcql85ureMfwIdwj3JV1OnLzBMREUOQ/xsqIqJRqz0NFRER+5gUixHQ+rxp\n8o2vlrPRfr4upVhERMRA6VlERDQqPYuIiFhRKRYjoPV50+QbXy1no/18XUqxiIiIgdKziIhoVHoW\nERGxolIsRkDr86bJN75azkb7+bqUYhEREQOlZxER0aj0LCIiYkWlWIyA1udNk298tZyN9vN1KcUi\nIiIGSs8iIqJRK9mzuBIPKXfFm+9X8TgO7Ru7QLnr3V04qW98U/2Me3BZ3/gBuLaOfxHPX8S+R0TE\nChlULD6IzQuMH4XX476+seNwWn3ejMvNVbQrcLZyX+4NfZ95tnI71Q14Dy5ZdIIGtD5vmnzjq+Vs\ntJ+vS4OKxefx7QXGfxu/Nm/sFOWe3Y9iO+7FCTgCh+C2ut3VOLUun4yr6vJH8dq93/WIiFgpS2lw\nn4Id+PK88fV1vGcHjlxgfGcdV5/vr8uP4TueOK21T5iamlrtXRiq5BtfLWej/XxdWrvI7Q/ChcoU\nVM+KNMmnp6dNTk6CiYkJGzdu3P2N7p1KZj3rWc/6vrw+OztrZmYGdh8vV9KkuQb3S5SG99/WR2/K\n6TCcXx89W5VpqMPx1b7xM5QeRm+bV9bltfjGHvZhV8u2bdu22rswVMk3vlrOtmtX+/nQ2WWki52G\nukMpDC+ojx14mVJArsfpWFdf26D0KR7EI0rhWIM34xP1867HmXX5jbhliTkiImKIBk0hXYMT8Wx8\nHe9UrpDq+Ru8HN+q6xfiLKX/cB4+Xcc3YQYH4kacW8cPwIfwUuWqqNOVM5X5apGMiIi91eXvWeSX\n8iIiGpX/SLAxvQZVq5JvfLWcjfbzdSnFIiIiBso0VEREozINFRERKyrFYgS0Pm+afOOr5Wy0n69L\nKRYRETFQehYREY1KzyIiIlZUisUIaH3eNPnGV8vZaD9fl1IsIiJioPQsIiIalZ5FRESsqBSLEdD6\nvGnyja+Ws9F+vi6lWERExEDpWURENCo9i4iIWFGDisWVyi1T7+gb+x/KPbX/Eh/DM/teuwD34C6c\n1De+qX7GPbisb/wAXFvHv4jnLzpBA1qfN02+8dVyNtrP16VBxeKD2Dxv7Ca8GD+Bu5UCAcfhtPq8\nGZebO/25Amcr9+Xe0PeZZyu3U92A9+CSJeaIiIgh2pu5rEl8Ei9Z4LV/h3+Pn1eKxuPmDvhbsQX3\n4bM4to6fjim8rW5zEW7FWnwNz13g66RnERGxSKPUszgLN9bl9djR99oOHLnA+M46rj7fX5cfw3dw\n6DL3KSIiOrZ2Ge/9dfwAH+loX57S9PS0yclJMDExYePGjaampjA37ziu65deemlTeZJvtPZvOev9\nc/qjsD/JNzjPzMwM7D5erqRJT2xwwzS+gKf3jZ1fHz1bcQIOVxriPWcoPYzeNq+sy2vxjT3sw66W\nbdu2bbV3YaiSb3y1nG3XrvbzobP5+6X0LDbjt3Ai/r5vu+OUs4zjlemlz+CFys7einNxG27Ae5VC\ncU793LcrvYxT6/N8NXdEROytLnsWg6ahrlGKwnOU3sJFSiN7HW6u2/yJctC/E9fV58fqWO8Ifw5m\ncKDS49haxz+ADymXzn7TwoUiIiJWWX6DewTMzs7unn9sUfKNr5az0X6+UboaKiIi9gE5s4iIaFTO\nLCIiYkWlWIyA/mu9W5R846vlbLSfr0spFhERMVB6FhERjUrPIiIiVlSKxQhofd40+cZXy9loP1+X\nUiwiImKg9CwiIhqVnkVERKyoFIsR0Pq8afKNr5az0X6+LqVYRETEQOlZREQ0Kj2LiIhYUYOKxZV4\nyBNvq3qocuOju3ETJvpeu0C5kdFdOKlvfFP9jHtwWd/4Abi2jn8Rz190gga0Pm+afOOr5Wy0n69L\ng4rFB5XbqPY7XykWL8It5u67fRxOq8+bcbm5058rcDY21EfvM89W7pC3Ae/BJUvMERERQ7SUe3Df\npdxq9SEcjlkco5xVPG7ugL8VW3AfPotj6/jpmMLb6jYXKffoXouv4bkL7EN6FhERi7TaPYvDlEKh\nPh9Wl9djR992O3DkAuM767j6fH9dfgzfUaa5IiJihCy3wb2rPmIZWp83Tb7x1XI22s/XpbVLeE9v\n+ulBHIGv1/GdOKpvu+cpZxQ76/L88d57jsYDdV+eiW8t9EWnp6dNTk6CiYkJGzdu3H2j9d43fFzX\nb7/99pHan+RLvqyP5/rs7KyZmRnYfbzsylJ6Fu9WmtKXKM3tifp8HD6C45Xppc/ghcqZx604F7fh\nBrxX6VecUz/37Uov49T6PF96FhERi9Rlz2LQh1yjNLOfo5xRvBOfwHXKGcF2vAkP1+0vxFlK/+E8\nfLqOb8IMDsSNSuGgXDr7IbxUKUCn18+cL8UiImKRVrJYjIqmi8Xs7OzuU8oWJd/4ajkb7edb7auh\nIiJiH5Mzi4iIRuXMIiIiVlSKxQjoXfrWquQbXy1no/18XUqxiIiIgdKziIhoVHoWERGxolIsRkDr\n86bJN75azkb7+bqUYhEREQOlZxER0aj0LCIiYkWlWIyA1udNk298tZyN9vN1KcUiIiIGSs8iIqJR\n6VlERMSKSrEYAa3Pmybf+Go5G+3n69JyisUF+AruUG6negAOxc24Gzcpt1zt3/4e3IWT+sY31c+4\nB5ctY38iImJIljqXNYnP4lh8H9cqt0t9Mf5euU/3O/AsT7w/9yvM3Z97g3J/7tvwi/X5RnP35+6X\nnkVExCKNQs/iETyKg7C2Pj+Ak3FV3eYqnFqXT1Hu5/2oco/te3ECjsAhSqGAq/veExERI2KpxeJb\n+C38nVIkHlamnw7DQ3Wbh+o6rMeOvvfvUM4w5o/vrOP7lNbnTZNvfLWcjfbzdWmpxeLH8MvKdNR6\nHIyfn7fNrvqIiIgxt3aJ73s5/g++Wdc/hp/Egzi8Ph+Br9fXd+Kovvc/Tzmj2FmX+8d3LvQFp6en\nTU5OgomJCRs3bjQ1NYW5nw7Gdb03Nir7k3zJ11ufmpoaqf1Jvqden52dNTMzA7uPl11ZauPjJ/Bh\npWH9T5hR+g7PVwrIJUpje8ITG9zHm2twv1A587gV59b33yAN7oiIToxCg/svlWb0n+HLdex9uBiv\nVy6dfU1dhztxXX3+FM4xN0V1Dt6vXDp7rycXiub1fjJoVfKNr5az0X6+Li11Gopyeey75419C6/b\nw/bvqo/5/hwvWcZ+RETEkOX/hoqIaNQoTENFRMQ+JMViBLQ+b5p846vlbLSfr0spFhERMVB6FhER\njUrPIiIiVlSKxQhofd40+cZXy9loP1+XUiwiImKg9CwiIhqVnkVERKyoFIsR0Pq8afKNr5az0X6+\nLqVYRETEQOlZREQ0Kj2LiIhYUSkWI6D1edPkG18tZ6P9fF1KsYiIiIGWM5c1odzh7sXKXe/eotzt\n7lrl9qrb8SY8XLe/AGfhh8ptVG+q45uU27I+HTfivAW+VnoWERGLNCo9i8uUg/ux+HHcpdxv+2a8\nCLfUdco9uE+rz5txubkAV+BsbKiPzcvYp4iIGIKlFotn4qdwZV1/DN/Bybiqjl2FU+vyKbgGjypn\nHPfiBByBQ3Bb3e7qvvfsM1qfN02+8dVyNtrP16WlFosX4Bv4IL6E/4UfwWF4qG7zUF2H9djR9/4d\nOHKB8Z11PCIiRsjaZbzvZfhF/CkuNTfl1LOrPjoxPT1tcnISTExM2Lhxo6mpKcz9dDCu672xUdmf\n5Eu+3vrU1NRI7U/yPfX67OysmZkZ2H287MpSGx+H40+UMwx4ldLA/lG8Gg8qU0zbcIy5QnJxfd6K\ni3Bf3ebYOn4GTsTb5n29NLgjIhZpFBrcD+J+pZENr8NX8EmcWcfOxMfr8vU4HeuUArNB6VM8iEeU\n/sUavLnvPfuM3k8GrUq+8dVyNtrP16WlTkPBL+HDSgH4a+XS2f1wnXJ103bl0lm4s47fqTTDzzE3\nRXWOcunsgcrVVVuXsU8RETEE+b+hIiIaNQrTUBERsQ9JsRgBrc+bJt/4ajkb7efrUopFREQMlJ5F\nRESj0rOIiIgVlWIxAlqfN02+8dVyNtrP16UUi4iIGCg9i4iIRqVnERERKyrFYgS0Pm+afOOr5Wy0\nn69LKRYRETFQehYREY1KzyIiIlZUisUIaH3eNPnGV8vZaD9fl1IsIiJioPQsIiIaNUo9i/3wF8rt\nVOFQ3Iy7cRMm+ra9APfgLpzUN74Jd9TXLlvm/kRExBAst1icp9wqtfdj//lKsXgRbqnrcBxOq8+b\ncbm5aneFchvWDfWxeZn7NHZanzdNvvHVcjbaz9el5RSL5+Ff4/3mDvwn46q6fBVOrcun4Bo8qtyb\n+16cgCNwCG6r213d956IiBgRy5nL+gO8C8/Af8bP4tt4Vt9nf6uu/w6+iA/X196PTymF42K8vo7/\nFH6tfla/9CwiIhapy57F2iW+79/i60q/YmoP2+wyNz21bNPT0yYnJ8HExISNGzeamipfuncqmfWs\nZz3r+/L67OysmZkZ2H287MpSK8678GY8hqcrZxcfwyuU4vGgMsW0DceY611cXJ+34iLcV7c5to6f\ngRPxtnlfr+kzi9nZ2d3f+BYl3/hqORvt5xuFq6EuxFF4AU7HZ5XicT3OrNuciY/X5evrduvqezYo\nfYoH8YjSv1hTP6P3noiIGBFdVJwT8atKc/tQXIejlX7Em/Bw3e5CnKWcjZyHT9fxTZjBgbgR5y7w\nNZo+s4iIGIYuzyzyS3kREY0ahWmo6FCvQdWq5BtfLWej/XxdSrGIiIiBMg0VEdGoTENFRMSKSrEY\nAa3Pmybf+Go5G+3n61KKRUREDJSeRUREo9KziIiIFZViMQJanzdNvvHVcjbaz9elFIuIiBgoPYuI\niEalZxERESsqxWIEtD5vmnzjq+VstJ+vSykWERExUHoWERGNSs8iIiJW1FKLxVHKvbO/gr8yd3e7\nQ3Ez7sZNmOh7zwW4B3fhpL7xTbijvnbZEvdnrLU+b5p846vlbLSfr0tLLRaP4lfwYrwS/wnH4nyl\nWLwIt9R1OA6n1efNuNzcqdEVOFu5L/eG+npERIyQrnoWH8fv1seJeAiHYxbHKGcVj+OSuv1WbMF9\n+KxSaOB0TOFt8z4/PYuIiEUatZ7FJF6KW3GYUijU58Pq8nrs6HvPDhy5wPjOOh4RESNk7TLffzA+\nivPw3Xmv7aqPTkxPT5ucnAQTExM2btxoamoKc/OO47p+6aWXNpUn+UZr/5az3j+nPwr7k3yD88zM\nzMDu4+Uo2B+fxi/3jd2lTD/BEXWd0rs4v2+7rTihbvvVvvEz8HsLfK1dLdu2bdtq78JQJd/4ajnb\nrl3t59PhD+xLnctag6vwTaXR3fPuOnaJUhwm6vNx+AiOV6aZPoMXKkFuVa6mug034L1KMelXc0dE\nxN7qsmex1A95FT6HL5urXBcoB/zrcDS24014uL5+Ic7CY8q01afr+CbM4EDcaO4y3H4pFhERizQK\nxWKlNV0sZmdnd88/tij5xlfL2Wg/36hdDRUREY3LmUVERKNyZhERESsqxWIE9F/r3aLkG18tZ6P9\nfF1KsYiIiIHSs4iIaFR6FhERsaJSLEZA6/OmyTe+Ws5G+/m6lGIREREDpWcREdGo9CwiImJFpViM\ngNbnTZNvfLWcjfbzdSnFIiIiBkrPIiKiUelZRETEihqVYrFZuQXrPXjHKu/Limt93jT5xlfL2Wg/\nX5dGoVjsh99VCsZxyn24j13VPVpht99++2rvwlAl3/hqORvt5+vSKBSL43GvchvWR/H7OGU1d2il\nPfzww4M3GmPJN75azkb7+bo0CsXiSNzft76jjkVExIgYhWKxz1/mtH379tXehaFKvvHVcjbaz9el\nUbh09pXYovQs4AI8jkv6trkXP7ayuxURMfb+Gi9c7Z3oylol0CTW4Xb7WIM7IiL2zs/g/ypnEBes\n8r5ERERERMS4OArb8BX8Fc6t44fiZtyNmzDR954LlF/auwsn9Y1vwh31tcuGutd7r6t8B+IGfLV+\nzm8Me8f3Upffv57rle/jKOgy3zq8Tzlz/ireMMwd3wtdZnuL8j37S3wKzx7mju+lxeY7tG7/XfzO\nvM9q4diyp3yjemx5ksOxsS4frPxDOhbvxq/V8Xfg4rp8nNLL2F/pbdxrrjl/m/K7GnCjuUb5auoq\n34E4sW6zPz6nnXz9V+K9AR/Gl4e504vQ5d/P/4L/2vfZq31A7SrbOnxTORhRLki5aLi7vlcWm+8g\n/Ev8R08uFi0cW/aUb1SPLQN9HK9TfnI5rI4dXtcpP9n0/zcgW5WrqI5QKmPP6fi9oe7p0iw133yX\n4uwh7eNyLCffwfi88hd+VM4s5ltKvhPq8t8p/zBH1VKzPU0pHEcrxeMKvHUF9nexBuXrmfbEg2kr\nx5aeaU8uhv0GHltG4fcsJvFS3KqEfaiOP2Qu/Hrll/V6er+4N398p9H7hb5JS8/XbwI/i1uGtaNL\nNGlp+dbX5f+G38T/G/aOLtGkpX//elMB/x1/juvwz4a7u4syaWnZnqdc3n6eMoWxUyn2Vw59jxdn\n0uB8PfN/3+tIbRxbep7q99n26tiy2sXiYHxU+Uv33Xmv7TL+v7C3nHz9r63FNcq86fYO92+5lpNv\njXI6/aP4hNH4nZ/5lvv3c61yYP2CMv/9J0phHAXL/bv5DLwXP6EUlDuM1pWMObbsnb0+tqxmsdhf\nCfsh5VSKUhEPr8tH4Ot1eafS2Ol5nlL1d9bl/vGdQ9rfxVpuvv4cvQbpe4e1s0vQxffvlXg5/laZ\ninoRPjvUvd57XXz/vqmcMX2sjv8hXja8Xd5rXWQ7Vvm+/W0d/wP8i+Ht8qIsJt+etHJsGWSvjy2r\nVSzW4AO4U5kr67keZ9blM839QVyvzBmuwwuwQWk+PYhHlDnUNXhz33tWU1f5KFMYz8CvDHeXF6Wr\nfL+nnNq/AK9SruR4zZD3fW90lW8XPolX1+1eq1zFspq6yvY3OAbPqdu9vn7maltsvv739fuaNo4t\n/e+bbxSPLU/yKmXO83b8RX1sVq6s+IyFL9+7UGmo3YWf7hvvXd52r9H5yburfL254a/0fc5Zw9/9\ngbr8/vVMGp2robrMdzT+WLm89GZP/Gl1NXSZ7RfMXTr7CTxryPu+N5aSb7tyFvhd5T81PaaOt3Js\n2e7J+Ub12BIRERERERERERERERERERERERERERERERERETH+/j8S72I4Dzam+QAAAABJRU5ErkJg\ngg==\n",
558 "text": [
559 "<matplotlib.figure.Figure at 0x7f7208371208>"
560 ]
561 }
562 ],
563 "prompt_number": 450
564 },
565 {
566 "cell_type": "markdown",
567 "metadata": {},
568 "source": [
569 "No."
570 ]
571 },
572 {
573 "cell_type": "markdown",
574 "metadata": {},
575 "source": [
576 "## Todo: \n",
577 "\n",
578 "Regression analysis on the accident data to separate the trend from the seasonal variation. It would be here, but NumPy doesn't seem to like playing with date-indexed data."
579 ]
580 },
581 {
582 "cell_type": "code",
583 "collapsed": false,
584 "input": [
585 "np.polyfit(np.asarray(accidents_by_month.index).astype('float'),\n",
586 " accidents_by_month, 1) \n",
587 "# np.polyfit(accidents_by_month.index, accidents_by_month, 1)"
588 ],
589 "language": "python",
590 "metadata": {},
591 "outputs": [
592 {
593 "metadata": {},
594 "output_type": "pyout",
595 "prompt_number": 10,
596 "text": [
597 "array([ -1.91851838e-14, 3.77552905e+04])"
598 ]
599 }
600 ],
601 "prompt_number": 10
602 },
603 {
604 "cell_type": "code",
605 "collapsed": false,
606 "input": [],
607 "language": "python",
608 "metadata": {},
609 "outputs": []
610 }
611 ],
612 "metadata": {}
613 }
614 ]
615 }