Skip to content

Instantly share code, notes, and snippets.

@phobson
Last active June 5, 2018 00:13
Show Gist options
  • Save phobson/8d853ddf23d1d692fe4d to your computer and use it in GitHub Desktop.
Save phobson/8d853ddf23d1d692fe4d to your computer and use it in GitHub Desktop.
The split-apply-combine strategy applied to linear regression
# This file may be used to create an environment using:
# $ conda create --name <env> --file <this file>
# platform: win-64
cycler=0.10.0=py35_0
decorator=4.0.9=py35_0
ipykernel=4.3.1=py35_0
ipython=4.1.2=py35_0
ipython_genutils=0.1.0=py35_0
ipywidgets=4.1.1=py35_0
jinja2=2.8=py35_0
jpeg=8d=vc14_0
jsonschema=2.4.0=py35_0
jupyter=1.0.0=py35_1
jupyter_client=4.1.1=py35_0
jupyter_console=4.1.0=py35_0
jupyter_core=4.0.6=py35_0
libpng=1.6.17=vc14_1
libtiff=4.0.6=vc14_1
markupsafe=0.23=py35_0
matplotlib=1.5.1=np110py35_0
mistune=0.7.1=py35_0
mkl=11.3.1=0
msvc_runtime=1.0.1=vc14_0
nbconvert=4.1.0=py35_0
nbformat=4.0.1=py35_0
nose=1.3.7=py35_0
notebook=4.1.0=py35_0
numpy=1.10.4=py35_0
pandas=0.17.1=np110py35_0
path.py=8.1.2=py35_1
patsy=0.4.0=np110py35_0
pickleshare=0.5=py35_0
pip=8.0.3=py35_0
pygments=2.1.1=py35_0
pyparsing=2.0.3=py35_0
pyqt=4.11.4=py35_5
pyreadline=2.1=py35_0
python=3.5.1=2
python-dateutil=2.4.2=py35_0
pytz=2015.7=py35_0
pyzmq=15.2.0=py35_0
qt=4.8.7=vc14_6
qtconsole=4.1.1=py35_0
scipy=0.17.0=np110py35_0
seaborn=0.7.0=py35_0
setuptools=20.1.1=py35_0
simplegeneric=0.8.1=py35_0
sip=4.16.9=py35_2
six=1.10.0=py35_0
statsmodels=0.6.1=np110py35_0
tk=8.5.18=vc14_0
tornado=4.3=py35_0
traitlets=4.1.0=py35_0
wheel=0.29.0=py35_0
zlib=1.2.8=vc14_2
conc date era location parameter days
123.52914203946618 2013-01-06 pre MW-1 TCE 0
119.73210230460235 2013-01-27 pre MW-1 TCE 21
126.0641465456202 2013-02-17 pre MW-1 TCE 42
121.76220112945919 2013-03-10 pre MW-1 TCE 63
125.53509980828159 2013-03-31 pre MW-1 TCE 84
117.18050337977171 2013-04-21 pre MW-1 TCE 105
116.61796215874692 2013-05-12 pre MW-1 TCE 126
144.36771295593925 2013-06-02 pre MW-1 TCE 147
114.72394061067713 2013-06-23 pre MW-1 TCE 168
114.96248415858344 2013-07-14 pre MW-1 TCE 189
119.68570549605978 2013-08-04 pre MW-1 TCE 210
114.00579774768289 2013-08-25 pre MW-1 TCE 231
114.84532926260337 2013-09-15 pre MW-1 TCE 252
111.71497466492465 2013-10-06 pre MW-1 TCE 273
112.61841679867288 2013-10-27 pre MW-1 TCE 294
110.32201454467196 2013-11-01 during MW-1 TCE 0
117.38638396586569 2013-11-04 during MW-1 TCE 3
99.99375653980398 2013-11-07 during MW-1 TCE 6
93.56167399155086 2013-11-10 during MW-1 TCE 9
90.93518049345657 2013-11-13 during MW-1 TCE 12
82.35548056772504 2013-11-16 during MW-1 TCE 15
76.02532903262016 2013-11-19 during MW-1 TCE 18
70.30623671971881 2013-11-22 during MW-1 TCE 21
68.21012593160663 2013-11-25 during MW-1 TCE 24
59.92200731876834 2013-11-28 during MW-1 TCE 27
54.25211305348309 2013-12-01 during MW-1 TCE 30
53.48476570046454 2013-12-04 during MW-1 TCE 33
41.83168688691159 2013-12-07 during MW-1 TCE 36
36.37571831374462 2013-12-10 during MW-1 TCE 39
31.01907997862268 2013-12-13 during MW-1 TCE 42
31.855101639323195 2014-01-01 post MW-1 TCE 0
31.206918208495612 2014-01-09 post MW-1 TCE 8
30.437589239720683 2014-01-17 post MW-1 TCE 16
30.45505534573859 2014-01-25 post MW-1 TCE 24
30.013194071942973 2014-02-02 post MW-1 TCE 32
28.884937325151594 2014-02-10 post MW-1 TCE 40
28.45390227278077 2014-02-18 post MW-1 TCE 48
29.82366445760144 2014-02-26 post MW-1 TCE 56
27.68423172367223 2014-03-06 post MW-1 TCE 64
27.173735962083434 2014-03-14 post MW-1 TCE 72
27.544441781603908 2014-03-22 post MW-1 TCE 80
27.425229622929308 2014-03-30 post MW-1 TCE 88
53.39966282386878 2014-04-07 post MW-1 TCE 96
26.0404059137335 2014-04-15 post MW-1 TCE 104
30.360599984430127 2014-04-23 post MW-1 TCE 112
254.19538628430846 2013-01-06 pre MW-1 DCE 0
246.80156981174437 2013-01-27 pre MW-1 DCE 21
247.19146930041813 2013-02-17 pre MW-1 DCE 42
239.66108138506846 2013-03-10 pre MW-1 DCE 63
235.77365576969004 2013-03-31 pre MW-1 DCE 84
235.66088092157042 2013-04-21 pre MW-1 DCE 105
228.75505291316918 2013-05-12 pre MW-1 DCE 126
227.8969778625727 2013-06-02 pre MW-1 DCE 147
222.12973532034013 2013-06-23 pre MW-1 DCE 168
230.98108878819173 2013-07-14 pre MW-1 DCE 189
220.55483902032776 2013-08-04 pre MW-1 DCE 210
211.6497313431593 2013-08-25 pre MW-1 DCE 231
207.8406751019786 2013-09-15 pre MW-1 DCE 252
203.93289115215626 2013-10-06 pre MW-1 DCE 273
200.95013301313168 2013-10-27 pre MW-1 DCE 294
201.16131807432328 2013-11-01 during MW-1 DCE 0
193.90226427657407 2013-11-04 during MW-1 DCE 3
187.71975846546655 2013-11-07 during MW-1 DCE 6
181.9693091301286 2013-11-10 during MW-1 DCE 9
173.98105815607758 2013-11-13 during MW-1 DCE 12
164.9200481236416 2013-11-16 during MW-1 DCE 15
157.4161423423674 2013-11-19 during MW-1 DCE 18
159.07628356780822 2013-11-22 during MW-1 DCE 21
143.55355650003153 2013-11-25 during MW-1 DCE 24
136.44380680523844 2013-11-28 during MW-1 DCE 27
129.4308579352776 2013-12-01 during MW-1 DCE 30
121.59323729047561 2013-12-04 during MW-1 DCE 33
115.19284610399369 2013-12-07 during MW-1 DCE 36
108.04808393510328 2013-12-10 during MW-1 DCE 39
103.58030457256527 2013-12-13 during MW-1 DCE 42
103.94745645630128 2014-01-01 post MW-1 DCE 0
100.94222533228707 2014-01-09 post MW-1 DCE 8
103.85610011001067 2014-01-17 post MW-1 DCE 16
100.37890073711647 2014-01-25 post MW-1 DCE 24
98.7595738367796 2014-02-02 post MW-1 DCE 32
98.44466186868992 2014-02-10 post MW-1 DCE 40
97.01340054490078 2014-02-18 post MW-1 DCE 48
96.00645887661945 2014-02-26 post MW-1 DCE 56
95.46550030079685 2014-03-06 post MW-1 DCE 64
93.97394709401362 2014-03-14 post MW-1 DCE 72
95.19808185882034 2014-03-22 post MW-1 DCE 80
92.6193014157367 2014-03-30 post MW-1 DCE 88
96.14965847766415 2014-04-07 post MW-1 DCE 96
91.92133258624467 2014-04-15 post MW-1 DCE 104
91.75394708807764 2014-04-23 post MW-1 DCE 112
33.05657794132975 2013-01-06 pre MW-1 PCE 0
34.04167325477549 2013-01-27 pre MW-1 PCE 21
30.945761673023867 2013-02-17 pre MW-1 PCE 42
32.344421041935604 2013-03-10 pre MW-1 PCE 63
36.38271167351001 2013-03-31 pre MW-1 PCE 84
31.983092746146017 2013-04-21 pre MW-1 PCE 105
34.818261670612905 2013-05-12 pre MW-1 PCE 126
32.598327131110445 2013-06-02 pre MW-1 PCE 147
33.316405257217504 2013-06-23 pre MW-1 PCE 168
34.94457426998054 2013-07-14 pre MW-1 PCE 189
33.7792878698855 2013-08-04 pre MW-1 PCE 210
34.409571229808414 2013-08-25 pre MW-1 PCE 231
34.547613963090086 2013-09-15 pre MW-1 PCE 252
47.580856465393154 2013-10-06 pre MW-1 PCE 273
37.02442294468243 2013-10-27 pre MW-1 PCE 294
38.35051091891114 2013-11-01 during MW-1 PCE 0
34.462427812677035 2013-11-04 during MW-1 PCE 3
32.48850932067632 2013-11-07 during MW-1 PCE 6
29.86143942985412 2013-11-10 during MW-1 PCE 9
29.00191234554431 2013-11-13 during MW-1 PCE 12
26.70786848625887 2013-11-16 during MW-1 PCE 15
29.10393592446233 2013-11-19 during MW-1 PCE 18
29.36459699583993 2013-11-22 during MW-1 PCE 21
31.025410559927504 2013-11-25 during MW-1 PCE 24
23.714547186778777 2013-11-28 during MW-1 PCE 27
17.922969422690542 2013-12-01 during MW-1 PCE 30
15.765803074570616 2013-12-04 during MW-1 PCE 33
17.870198751063747 2013-12-07 during MW-1 PCE 36
14.359469542553837 2013-12-10 during MW-1 PCE 39
10.180744099439718 2013-12-13 during MW-1 PCE 42
12.571147355035373 2014-01-01 post MW-1 PCE 0
15.635201956700826 2014-01-09 post MW-1 PCE 8
13.917602561416352 2014-01-17 post MW-1 PCE 16
14.522525961276642 2014-01-25 post MW-1 PCE 24
14.886473774542424 2014-02-02 post MW-1 PCE 32
15.627457575715235 2014-02-10 post MW-1 PCE 40
20.911929955149457 2014-02-18 post MW-1 PCE 48
18.62031169313942 2014-02-26 post MW-1 PCE 56
19.80284696815915 2014-03-06 post MW-1 PCE 64
34.02376500041348 2014-03-14 post MW-1 PCE 72
24.59347577099718 2014-03-22 post MW-1 PCE 80
24.406649619260783 2014-03-30 post MW-1 PCE 88
24.82624417824214 2014-04-07 post MW-1 PCE 96
34.951676996083805 2014-04-15 post MW-1 PCE 104
39.146774311787105 2014-04-23 post MW-1 PCE 112
105.26921496969135 2013-01-06 pre MW-2 TCE 0
101.27078821174815 2013-01-27 pre MW-2 TCE 21
95.83452712044419 2013-02-17 pre MW-2 TCE 42
95.495902011684 2013-03-10 pre MW-2 TCE 63
92.82982368718316 2013-03-31 pre MW-2 TCE 84
91.1398924072869 2013-04-21 pre MW-2 TCE 105
92.50201908699808 2013-05-12 pre MW-2 TCE 126
85.05368635218699 2013-06-02 pre MW-2 TCE 147
83.66639878033885 2013-06-23 pre MW-2 TCE 168
83.02459277791118 2013-07-14 pre MW-2 TCE 189
79.49126728783065 2013-08-04 pre MW-2 TCE 210
76.70908514889452 2013-08-25 pre MW-2 TCE 231
79.17088562094061 2013-09-15 pre MW-2 TCE 252
74.47337356239913 2013-10-06 pre MW-2 TCE 273
70.48973996468547 2013-10-27 pre MW-2 TCE 294
72.4437200908659 2013-11-01 during MW-2 TCE 0
71.74711796317351 2013-11-04 during MW-2 TCE 3
65.94537934065 2013-11-07 during MW-2 TCE 6
65.91342570780803 2013-11-10 during MW-2 TCE 9
60.38958896827559 2013-11-13 during MW-2 TCE 12
56.7202673046587 2013-11-16 during MW-2 TCE 15
53.24416411968205 2013-11-19 during MW-2 TCE 18
51.48080601059174 2013-11-22 during MW-2 TCE 21
49.24480858743331 2013-11-25 during MW-2 TCE 24
49.21301320809862 2013-11-28 during MW-2 TCE 27
42.8563441097427 2013-12-01 during MW-2 TCE 30
41.4919714250514 2013-12-04 during MW-2 TCE 33
36.20801643155208 2013-12-07 during MW-2 TCE 36
33.47698747743448 2013-12-10 during MW-2 TCE 39
31.436218152996663 2013-12-13 during MW-2 TCE 42
30.44118738698771 2014-01-01 post MW-2 TCE 0
34.525138778518894 2014-01-09 post MW-2 TCE 8
32.79862302069233 2014-01-17 post MW-2 TCE 16
32.122718141612864 2014-01-25 post MW-2 TCE 24
32.23270177487632 2014-02-02 post MW-2 TCE 32
50.263743270666225 2014-02-10 post MW-2 TCE 40
30.488949182467163 2014-02-18 post MW-2 TCE 48
29.605209507543258 2014-02-26 post MW-2 TCE 56
31.543720400928947 2014-03-06 post MW-2 TCE 64
30.90480511827157 2014-03-14 post MW-2 TCE 72
30.14909563019266 2014-03-22 post MW-2 TCE 80
29.699319211407825 2014-03-30 post MW-2 TCE 88
30.095050744065155 2014-04-07 post MW-2 TCE 96
31.139616933190187 2014-04-15 post MW-2 TCE 104
29.879395204145602 2014-04-23 post MW-2 TCE 112
333.6349969039696 2013-01-06 pre MW-2 DCE 0
298.353415173977 2013-01-27 pre MW-2 DCE 21
296.3260570483836 2013-02-17 pre MW-2 DCE 42
293.6657756425811 2013-03-10 pre MW-2 DCE 63
293.68629157370106 2013-03-31 pre MW-2 DCE 84
289.41830234117765 2013-04-21 pre MW-2 DCE 105
287.98288662353286 2013-05-12 pre MW-2 DCE 126
286.1681389388184 2013-06-02 pre MW-2 DCE 147
283.53612533517287 2013-06-23 pre MW-2 DCE 168
295.2061998318369 2013-07-14 pre MW-2 DCE 189
284.28584962494983 2013-08-04 pre MW-2 DCE 210
285.00417257707875 2013-08-25 pre MW-2 DCE 231
274.8328690831084 2013-09-15 pre MW-2 DCE 252
278.9009625167875 2013-10-06 pre MW-2 DCE 273
273.064857828803 2013-10-27 pre MW-2 DCE 294
274.3243309546276 2013-11-01 during MW-2 DCE 0
260.2560223968513 2013-11-04 during MW-2 DCE 3
239.10085871194988 2013-11-07 during MW-2 DCE 6
223.82720317484262 2013-11-10 during MW-2 DCE 9
211.9893000475949 2013-11-13 during MW-2 DCE 12
191.48820575844078 2013-11-16 during MW-2 DCE 15
186.64591223053304 2013-11-19 during MW-2 DCE 18
163.29173598377534 2013-11-22 during MW-2 DCE 21
145.8428842513852 2013-11-25 during MW-2 DCE 24
130.74339852771737 2013-11-28 during MW-2 DCE 27
113.31216049141679 2013-12-01 during MW-2 DCE 30
98.20742696454394 2013-12-04 during MW-2 DCE 33
87.9517086084528 2013-12-07 during MW-2 DCE 36
74.06650649620592 2013-12-10 during MW-2 DCE 39
97.95581497935035 2013-12-13 during MW-2 DCE 42
51.50319699064526 2014-01-01 post MW-2 DCE 0
51.009549723356585 2014-01-09 post MW-2 DCE 8
51.43836254736396 2014-01-17 post MW-2 DCE 16
51.318975663634575 2014-01-25 post MW-2 DCE 24
52.63868761904332 2014-02-02 post MW-2 DCE 32
54.088809282364885 2014-02-10 post MW-2 DCE 40
53.293925992869106 2014-02-18 post MW-2 DCE 48
58.49111005603868 2014-02-26 post MW-2 DCE 56
53.515980091520824 2014-03-06 post MW-2 DCE 64
53.63932064890161 2014-03-14 post MW-2 DCE 72
53.65439395497007 2014-03-22 post MW-2 DCE 80
53.357068273658506 2014-03-30 post MW-2 DCE 88
53.66087514164254 2014-04-07 post MW-2 DCE 96
54.091875304531015 2014-04-15 post MW-2 DCE 104
62.38785720844364 2014-04-23 post MW-2 DCE 112
65.04842009120831 2013-01-06 pre MW-2 PCE 0
68.83827299553742 2013-01-27 pre MW-2 PCE 21
59.59755443383201 2013-02-17 pre MW-2 PCE 42
59.069319901404185 2013-03-10 pre MW-2 PCE 63
59.293905060814296 2013-03-31 pre MW-2 PCE 84
60.268254042083385 2013-04-21 pre MW-2 PCE 105
60.93232103511965 2013-05-12 pre MW-2 PCE 126
63.61023476156474 2013-06-02 pre MW-2 PCE 147
59.49505368059587 2013-06-23 pre MW-2 PCE 168
71.34655781537072 2013-07-14 pre MW-2 PCE 189
57.676821838516794 2013-08-04 pre MW-2 PCE 210
56.59801014568396 2013-08-25 pre MW-2 PCE 231
55.915875024409985 2013-09-15 pre MW-2 PCE 252
55.89983439124815 2013-10-06 pre MW-2 PCE 273
57.23144074585753 2013-10-27 pre MW-2 PCE 294
55.54286189864905 2013-11-01 during MW-2 PCE 0
57.81710019926078 2013-11-04 during MW-2 PCE 3
59.63507063136525 2013-11-07 during MW-2 PCE 6
47.585265647477925 2013-11-10 during MW-2 PCE 9
49.85527321736887 2013-11-13 during MW-2 PCE 12
42.6003084767801 2013-11-16 during MW-2 PCE 15
42.72338017141761 2013-11-19 during MW-2 PCE 18
45.12237655736989 2013-11-22 during MW-2 PCE 21
36.78795075232477 2013-11-25 during MW-2 PCE 24
32.833000440391594 2013-11-28 during MW-2 PCE 27
30.793113448350372 2013-12-01 during MW-2 PCE 30
28.68879857092062 2013-12-04 during MW-2 PCE 33
26.31284169449277 2013-12-07 during MW-2 PCE 36
23.77938430314763 2013-12-10 during MW-2 PCE 39
21.43712778194844 2013-12-13 during MW-2 PCE 42
22.152973825611664 2014-01-01 post MW-2 PCE 0
20.721100760858352 2014-01-09 post MW-2 PCE 8
21.932608579900688 2014-01-17 post MW-2 PCE 16
32.070671689078225 2014-01-25 post MW-2 PCE 24
22.44795002358588 2014-02-02 post MW-2 PCE 32
22.732393372777373 2014-02-10 post MW-2 PCE 40
28.488361771106085 2014-02-18 post MW-2 PCE 48
22.567274041300344 2014-02-26 post MW-2 PCE 56
30.076192036410987 2014-03-06 post MW-2 PCE 64
23.962639305252196 2014-03-14 post MW-2 PCE 72
25.595094566411134 2014-03-22 post MW-2 PCE 80
25.788246342331707 2014-03-30 post MW-2 PCE 88
29.64100584729982 2014-04-07 post MW-2 PCE 96
25.82284785479302 2014-04-15 post MW-2 PCE 104
25.70642924749875 2014-04-23 post MW-2 PCE 112
import numpy
import pandas
import statsmodels.api as sm
import seaborn
from matplotlib import pyplot
from statsmodels.sandbox.regression.predstd import wls_prediction_std
def generate_fake_data(dates, startconc, stopconc, **othercols):
N = len(dates)
noise = numpy.random.lognormal(0.5, 1.25, size=N)
conc = noise + numpy.linspace(startconc, stopconc, num=N)
data = pandas.DataFrame(dict(date=dates, conc=conc, **othercols))
data['days'] = (data['date'] - data['date'].min()).dt.days
return data
def plot_raw_data(data, **fgopts):
fg = (
seaborn.FacetGrid(aspect=2, data=data, **fgopts)
.map(pyplot.scatter, 'date', 'conc')
.set_xticklabels(rotation=30, rotation_mode='anchor', ha='right')
.add_legend()
)
return fg
def plot_modeled_data(modeled, **fgopts):
fg = (
seaborn.FacetGrid(aspect=2, data=modeled, **fgopts)
.map(pyplot.fill_between, 'date', 'ci_upper', 'ci_lower', zorder=0, alpha=0.2, label='95% CI')
.map(pyplot.plot, 'date', 'fit', label='best-fit')
.map(pyplot.scatter, 'date', 'conc', label='raw data')
.set_xticklabels(rotation=30, rotation_mode='anchor', ha='right')
)
return fg
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Linear regression with 95% confidence intervals\n",
"## Setup environment\n",
"The cell below imports all of the libraries we need to run the analysis."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import numpy\n",
"import pandas\n",
"import statsmodels.api as sm\n",
"import seaborn\n",
"from matplotlib import pyplot\n",
"from statsmodels.sandbox.regression.predstd import wls_prediction_std\n",
"\n",
"# small functions I hid to make the notebook more concise\n",
"import reg_helpers\n",
"\n",
"seaborn.set_style('ticks')\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"## Generate some fake data"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" conc date era days\n",
"0 114.955295 2013-01-06 MNA 0\n",
"1 98.433102 2013-01-27 MNA 21\n",
"2 97.032246 2013-02-17 MNA 42\n",
"3 114.285784 2013-03-10 MNA 63\n",
"4 99.878136 2013-03-31 MNA 84\n"
]
},
{
"data": {
"image/png": "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\naIn/DzGTsuBtO98nAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x72fa0238d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"## generate fake data\n",
"numpy.random.seed(0)\n",
"N = 15\n",
"dates = pandas.date_range(start='2013-01-01', freq='3w', periods=N)\n",
"data = reg_helpers.generate_fake_data(dates, 100, 40, era='MNA')\n",
"\n",
"## show the first five rows\n",
"print(data.head())\n",
"\n",
"## plot the data as a timeseries\n",
"fg = reg_helpers.plot_raw_data(data, hue='era').add_legend()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Is the concentration decreasing with time?\n",
"### And if so, at what rate and what are the confidence levels around that trend?\n",
"\n",
"We can answer these questions will something as simple as Ordinary Least Squares (OLS).\n",
"\n",
"In our case, the hypothesis is that concentration is decreasing linearly with time. Mathematically:\n",
"\n",
"$ \\mathbb{C} = m \\: t + b $\n",
"\n",
"and \n",
"\n",
"$ \\frac{d\\mathbb{c}}{dt} = m < 0 $\n",
"\n",
"## Create and execute an ordinary least-square (OLS) linear model\n",
"\n",
" - X-variable = elapsed time in days\n",
" - Y-variable = concentration\n",
" \n",
"The `statsmodels` package allows to write out the formula in a pretty general fashion using the names of the colums in our data table. In this case, we thing that the *concentation varies with time*, i.e., `conc ~ days`. We don't need to specify that we want a constant in our linear model. The default behavior includes that for us.\n",
"\n",
"The cell below executes the regression and prints it's results."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" OLS Regression Results \n",
"==============================================================================\n",
"Dep. Variable: conc R-squared: 0.917\n",
"Model: OLS Adj. R-squared: 0.910\n",
"Method: Least Squares F-statistic: 143.1\n",
"Date: Thu, 03 Mar 2016 Prob (F-statistic): 2.17e-08\n",
"Time: 09:19:51 Log-Likelihood: -49.480\n",
"No. Observations: 15 AIC: 103.0\n",
"Df Residuals: 13 BIC: 104.4\n",
"Df Model: 1 \n",
"Covariance Type: nonrobust \n",
"==============================================================================\n",
" coef std err t P>|t| [95.0% Conf. Int.]\n",
"------------------------------------------------------------------------------\n",
"Intercept 111.8870 3.460 32.341 0.000 104.413 119.361\n",
"days -0.2396 0.020 -11.962 0.000 -0.283 -0.196\n",
"==============================================================================\n",
"Omnibus: 6.943 Durbin-Watson: 1.768\n",
"Prob(Omnibus): 0.031 Jarque-Bera (JB): 3.777\n",
"Skew: 1.126 Prob(JB): 0.151\n",
"Kurtosis: 3.983 Cond. No. 329.\n",
"==============================================================================\n",
"\n",
"Warnings:\n",
"[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Miniconda3\\envs\\scratch\\lib\\site-packages\\scipy\\stats\\stats.py:1557: UserWarning: kurtosistest only valid for n>=20 ... continuing anyway, n=15\n",
" \"anyway, n=%i\" % int(n))\n"
]
}
],
"source": [
"# create and fit the model\n",
"model = sm.formula.ols(formula='conc ~ days', data=data)\n",
"res = model.fit()\n",
"\n",
"print(res.summary())"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"## Estimate 95% confidence intervals around the predicted values\n",
"\n",
"We can then use another statsmodels function to compute the 95% confidence intervals around the model's predictions.\n",
"\n",
"The next cell does that and assigns the model results to the dataframe alongside the original data."
]
},
{
"cell_type": "code",
"execution_count": 4,
"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>conc</th>\n",
" <th>date</th>\n",
" <th>era</th>\n",
" <th>days</th>\n",
" <th>ci_lower</th>\n",
" <th>ci_upper</th>\n",
" <th>fit</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>114.955295</td>\n",
" <td>2013-01-06</td>\n",
" <td>MNA</td>\n",
" <td>0</td>\n",
" <td>94.945784</td>\n",
" <td>128.828300</td>\n",
" <td>111.887042</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>98.433102</td>\n",
" <td>2013-01-27</td>\n",
" <td>MNA</td>\n",
" <td>21</td>\n",
" <td>90.234910</td>\n",
" <td>123.477921</td>\n",
" <td>106.856415</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>97.032246</td>\n",
" <td>2013-02-17</td>\n",
" <td>MNA</td>\n",
" <td>42</td>\n",
" <td>85.479728</td>\n",
" <td>118.171850</td>\n",
" <td>101.825789</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>114.285784</td>\n",
" <td>2013-03-10</td>\n",
" <td>MNA</td>\n",
" <td>63</td>\n",
" <td>80.677966</td>\n",
" <td>112.912359</td>\n",
" <td>96.795162</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>99.878136</td>\n",
" <td>2013-03-31</td>\n",
" <td>MNA</td>\n",
" <td>84</td>\n",
" <td>75.827617</td>\n",
" <td>107.701454</td>\n",
" <td>91.764536</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" conc date era days ci_lower ci_upper fit\n",
"0 114.955295 2013-01-06 MNA 0 94.945784 128.828300 111.887042\n",
"1 98.433102 2013-01-27 MNA 21 90.234910 123.477921 106.856415\n",
"2 97.032246 2013-02-17 MNA 42 85.479728 118.171850 101.825789\n",
"3 114.285784 2013-03-10 MNA 63 80.677966 112.912359 96.795162\n",
"4 99.878136 2013-03-31 MNA 84 75.827617 107.701454 91.764536"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## estimate the confidence intervals around the fit\n",
"prstd, ci_lower, ci_upper = wls_prediction_std(res, alpha=0.05)\n",
"\n",
"## add the CIs to the dataframe\n",
"modeled = data.assign(\n",
" fit=res.fittedvalues,\n",
" ci_lower=ci_lower,\n",
" ci_upper=ci_upper\n",
")\n",
"\n",
"## just show the first 5 rows\n",
"modeled.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Plot the results and data\n",
"\n",
"With the model results in the dataframe, we can easily visualize the data."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x72f54dcdd8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fg = reg_helpers.plot_modeled_data(modeled).add_legend()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## That was really easy, but what if ...\n",
"\n",
" - We had lots of locations we wanted to investigate\n",
" - and a lot of parameters\n",
" - and distinct eras\n",
" \n",
" each requiring their own analysis?\n",
" \n",
"It's actually not much harder to generalize this work flow to account for an arbitrary number of variables distinquishing each analytical unit.\n",
" \n",
"Let's build up a dataset with 3 distinct eras (pre-, during-, and post-remediation), 3 different parameters, and 2 different monitoring locations. \n",
"\n",
"(I've picked those numbers because they'll be easy to keep in our head, but keep in mind that you can crank those numbers up much higher and this same approach works.)\n",
"\n",
"This dataset is much larger, so I'll read it in from a file and then show a random selection of 10 rows."
]
},
{
"cell_type": "code",
"execution_count": 6,
"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>conc</th>\n",
" <th>date</th>\n",
" <th>era</th>\n",
" <th>location</th>\n",
" <th>parameter</th>\n",
" <th>days</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>190</th>\n",
" <td>284.285850</td>\n",
" <td>2013-08-04</td>\n",
" <td>pre</td>\n",
" <td>MW-2</td>\n",
" <td>DCE</td>\n",
" <td>210</td>\n",
" </tr>\n",
" <tr>\n",
" <th>154</th>\n",
" <td>60.389589</td>\n",
" <td>2013-11-13</td>\n",
" <td>during</td>\n",
" <td>MW-2</td>\n",
" <td>TCE</td>\n",
" <td>12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>54.252113</td>\n",
" <td>2013-12-01</td>\n",
" <td>during</td>\n",
" <td>MW-1</td>\n",
" <td>TCE</td>\n",
" <td>30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>157</th>\n",
" <td>51.480806</td>\n",
" <td>2013-11-22</td>\n",
" <td>during</td>\n",
" <td>MW-2</td>\n",
" <td>TCE</td>\n",
" <td>21</td>\n",
" </tr>\n",
" <tr>\n",
" <th>139</th>\n",
" <td>92.829824</td>\n",
" <td>2013-03-31</td>\n",
" <td>pre</td>\n",
" <td>MW-2</td>\n",
" <td>TCE</td>\n",
" <td>84</td>\n",
" </tr>\n",
" <tr>\n",
" <th>74</th>\n",
" <td>103.580305</td>\n",
" <td>2013-12-13</td>\n",
" <td>during</td>\n",
" <td>MW-1</td>\n",
" <td>DCE</td>\n",
" <td>42</td>\n",
" </tr>\n",
" <tr>\n",
" <th>62</th>\n",
" <td>187.719758</td>\n",
" <td>2013-11-07</td>\n",
" <td>during</td>\n",
" <td>MW-1</td>\n",
" <td>DCE</td>\n",
" <td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>109</th>\n",
" <td>29.001912</td>\n",
" <td>2013-11-13</td>\n",
" <td>during</td>\n",
" <td>MW-1</td>\n",
" <td>PCE</td>\n",
" <td>12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>205</th>\n",
" <td>113.312160</td>\n",
" <td>2013-12-01</td>\n",
" <td>during</td>\n",
" <td>MW-2</td>\n",
" <td>DCE</td>\n",
" <td>30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>160</th>\n",
" <td>42.856344</td>\n",
" <td>2013-12-01</td>\n",
" <td>during</td>\n",
" <td>MW-2</td>\n",
" <td>TCE</td>\n",
" <td>30</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" conc date era location parameter days\n",
"190 284.285850 2013-08-04 pre MW-2 DCE 210\n",
"154 60.389589 2013-11-13 during MW-2 TCE 12\n",
"25 54.252113 2013-12-01 during MW-1 TCE 30\n",
"157 51.480806 2013-11-22 during MW-2 TCE 21\n",
"139 92.829824 2013-03-31 pre MW-2 TCE 84\n",
"74 103.580305 2013-12-13 during MW-1 DCE 42\n",
"62 187.719758 2013-11-07 during MW-1 DCE 6\n",
"109 29.001912 2013-11-13 during MW-1 PCE 12\n",
"205 113.312160 2013-12-01 during MW-2 DCE 30\n",
"160 42.856344 2013-12-01 during MW-2 TCE 30"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"bigdata = pandas.read_csv(\"fakedata.csv\", parse_dates=['date'])\n",
"bigdata.sample(10)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Generalizing the modeling \n",
"\n",
"Recall that when we fit the original OLS model, we used code that looked something like this:\n",
"```python\n",
"model = sm.formula.ols(formula='conc ~ days', data=data)\n",
"res = model.fit()\n",
"```\n",
"\n",
"When we then added it to our dataframe with the following statements:\n",
"```python\n",
"modeled = data.assign(\n",
" fit=res.fittedvalues,\n",
" ci_lower=ci_lower,\n",
" ci_upper=ci_upper\n",
")\n",
"```\n",
"\n",
"Since we have a fairly [tidy dataset](http://vita.had.co.nz/papers/tidy-data.pdf), we can easily generalize this into a function that accepts a dataframe as input, fits an OLS model, and assigns to the values we need to the columns of the model"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def fit_model(dataframe, formula):\n",
" # fit the model\n",
" model = sm.formula.ols(formula=formula, data=dataframe)\n",
" res = model.fit()\n",
" \n",
" ## estimate the confidence intervals around the fit\n",
" prstd, ci_lower, ci_upper = wls_prediction_std(res, alpha=0.05)\n",
" \n",
" # add the results to the dataframe\n",
" modeled = dataframe.assign(\n",
" fit=res.fittedvalues,\n",
" ci_lower=ci_lower,\n",
" ci_upper=ci_upper\n",
" )\n",
" \n",
" return modeled"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The function above accepts a dataframe and a formula. This is very simple to use, yet very flexible and allows to use it even if the dataframe has different columns names or to we need try different variables in our model."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Using the generalized approach on all of the scenarios\n",
"Now we need to write code that does the following:\n",
" - splits our 1 dataframe up into each scenerio defined by the unique combinations of \n",
" - parameter\n",
" - era\n",
" - location\n",
" - runs each subset of the data through our `fit_model` function\n",
" - recombines all of the data back into a single dataframe.\n",
" \n",
"This approach in generally referred to as [\"Split-Apply-Combine\"](http://vita.had.co.nz/papers/plyr.pdf). We do it all the time with Excel Pivot Tables, groupby-queries in databases, etc. The `dply` library in R and `pandas` in python were created with this generalized workflow in mind, and make it incredibly simple to accomplish our goals.\n",
"\n",
"Literally, all we have to tell pandas to do is: group the data on the columns that define each subset, run each group through our function. That sounds like it's only two statements. To put it into code isn't much longer, though we will do a couple of other things like sorting to make the results easier to work with."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"scenario_columns = ['era', 'location', 'parameter']\n",
"\n",
"modeled = (\n",
" bigdata.groupby(scenario_columns, as_index=False) # (1) divide the eras into groups\n",
" .apply(fit_model, formula='conc ~ days') # (2) run regression on each groups\n",
" .sort_values(by='days') # (3) resort the df by the days column\n",
" .reset_index(drop=True) # (4) remove the index created in (2)\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Simple as that. Let's just look at a random sample of the results:"
]
},
{
"cell_type": "code",
"execution_count": 9,
"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>conc</th>\n",
" <th>date</th>\n",
" <th>era</th>\n",
" <th>location</th>\n",
" <th>parameter</th>\n",
" <th>days</th>\n",
" <th>ci_lower</th>\n",
" <th>ci_upper</th>\n",
" <th>fit</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>117</th>\n",
" <td>41.831687</td>\n",
" <td>2013-12-07</td>\n",
" <td>during</td>\n",
" <td>MW-1</td>\n",
" <td>TCE</td>\n",
" <td>36</td>\n",
" <td>34.861013</td>\n",
" <td>50.828175</td>\n",
" <td>42.844594</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>59.635071</td>\n",
" <td>2013-11-07</td>\n",
" <td>during</td>\n",
" <td>MW-2</td>\n",
" <td>PCE</td>\n",
" <td>6</td>\n",
" <td>47.261760</td>\n",
" <td>60.362229</td>\n",
" <td>53.811995</td>\n",
" </tr>\n",
" <tr>\n",
" <th>167</th>\n",
" <td>53.515980</td>\n",
" <td>2014-03-06</td>\n",
" <td>post</td>\n",
" <td>MW-2</td>\n",
" <td>DCE</td>\n",
" <td>64</td>\n",
" <td>48.946259</td>\n",
" <td>59.629942</td>\n",
" <td>54.288101</td>\n",
" </tr>\n",
" <tr>\n",
" <th>149</th>\n",
" <td>20.911930</td>\n",
" <td>2014-02-18</td>\n",
" <td>post</td>\n",
" <td>MW-1</td>\n",
" <td>PCE</td>\n",
" <td>48</td>\n",
" <td>10.899320</td>\n",
" <td>29.601707</td>\n",
" <td>20.250513</td>\n",
" </tr>\n",
" <tr>\n",
" <th>130</th>\n",
" <td>22.732393</td>\n",
" <td>2014-02-10</td>\n",
" <td>post</td>\n",
" <td>MW-2</td>\n",
" <td>PCE</td>\n",
" <td>40</td>\n",
" <td>17.344390</td>\n",
" <td>32.106095</td>\n",
" <td>24.725243</td>\n",
" </tr>\n",
" <tr>\n",
" <th>105</th>\n",
" <td>30.013194</td>\n",
" <td>2014-02-02</td>\n",
" <td>post</td>\n",
" <td>MW-1</td>\n",
" <td>TCE</td>\n",
" <td>32</td>\n",
" <td>15.035636</td>\n",
" <td>45.335307</td>\n",
" <td>30.185472</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>103.947456</td>\n",
" <td>2014-01-01</td>\n",
" <td>post</td>\n",
" <td>MW-1</td>\n",
" <td>DCE</td>\n",
" <td>0</td>\n",
" <td>99.384631</td>\n",
" <td>106.317326</td>\n",
" <td>102.850978</td>\n",
" </tr>\n",
" <tr>\n",
" <th>42</th>\n",
" <td>49.855273</td>\n",
" <td>2013-11-13</td>\n",
" <td>during</td>\n",
" <td>MW-2</td>\n",
" <td>PCE</td>\n",
" <td>12</td>\n",
" <td>41.941285</td>\n",
" <td>54.713848</td>\n",
" <td>48.327566</td>\n",
" </tr>\n",
" <tr>\n",
" <th>178</th>\n",
" <td>25.595095</td>\n",
" <td>2014-03-22</td>\n",
" <td>post</td>\n",
" <td>MW-2</td>\n",
" <td>PCE</td>\n",
" <td>80</td>\n",
" <td>18.754866</td>\n",
" <td>33.638002</td>\n",
" <td>26.196434</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>110.322015</td>\n",
" <td>2013-11-01</td>\n",
" <td>during</td>\n",
" <td>MW-1</td>\n",
" <td>TCE</td>\n",
" <td>0</td>\n",
" <td>105.500336</td>\n",
" <td>122.048898</td>\n",
" <td>113.774617</td>\n",
" </tr>\n",
" <tr>\n",
" <th>176</th>\n",
" <td>95.198082</td>\n",
" <td>2014-03-22</td>\n",
" <td>post</td>\n",
" <td>MW-1</td>\n",
" <td>DCE</td>\n",
" <td>80</td>\n",
" <td>91.367831</td>\n",
" <td>97.889530</td>\n",
" <td>94.628680</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47</th>\n",
" <td>90.935180</td>\n",
" <td>2013-11-13</td>\n",
" <td>during</td>\n",
" <td>MW-1</td>\n",
" <td>TCE</td>\n",
" <td>12</td>\n",
" <td>82.347524</td>\n",
" <td>97.915028</td>\n",
" <td>90.131276</td>\n",
" </tr>\n",
" <tr>\n",
" <th>79</th>\n",
" <td>32.070672</td>\n",
" <td>2014-01-25</td>\n",
" <td>post</td>\n",
" <td>MW-2</td>\n",
" <td>PCE</td>\n",
" <td>24</td>\n",
" <td>16.611020</td>\n",
" <td>31.662513</td>\n",
" <td>24.136766</td>\n",
" </tr>\n",
" <tr>\n",
" <th>108</th>\n",
" <td>53.484766</td>\n",
" <td>2013-12-04</td>\n",
" <td>during</td>\n",
" <td>MW-1</td>\n",
" <td>TCE</td>\n",
" <td>33</td>\n",
" <td>40.883628</td>\n",
" <td>56.627231</td>\n",
" <td>48.755429</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>34.525139</td>\n",
" <td>2014-01-09</td>\n",
" <td>post</td>\n",
" <td>MW-2</td>\n",
" <td>TCE</td>\n",
" <td>8</td>\n",
" <td>22.308093</td>\n",
" <td>46.393046</td>\n",
" <td>34.350570</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" conc date era location parameter days ci_lower \\\n",
"117 41.831687 2013-12-07 during MW-1 TCE 36 34.861013 \n",
"24 59.635071 2013-11-07 during MW-2 PCE 6 47.261760 \n",
"167 53.515980 2014-03-06 post MW-2 DCE 64 48.946259 \n",
"149 20.911930 2014-02-18 post MW-1 PCE 48 10.899320 \n",
"130 22.732393 2014-02-10 post MW-2 PCE 40 17.344390 \n",
"105 30.013194 2014-02-02 post MW-1 TCE 32 15.035636 \n",
"11 103.947456 2014-01-01 post MW-1 DCE 0 99.384631 \n",
"42 49.855273 2013-11-13 during MW-2 PCE 12 41.941285 \n",
"178 25.595095 2014-03-22 post MW-2 PCE 80 18.754866 \n",
"15 110.322015 2013-11-01 during MW-1 TCE 0 105.500336 \n",
"176 95.198082 2014-03-22 post MW-1 DCE 80 91.367831 \n",
"47 90.935180 2013-11-13 during MW-1 TCE 12 82.347524 \n",
"79 32.070672 2014-01-25 post MW-2 PCE 24 16.611020 \n",
"108 53.484766 2013-12-04 during MW-1 TCE 33 40.883628 \n",
"31 34.525139 2014-01-09 post MW-2 TCE 8 22.308093 \n",
"\n",
" ci_upper fit \n",
"117 50.828175 42.844594 \n",
"24 60.362229 53.811995 \n",
"167 59.629942 54.288101 \n",
"149 29.601707 20.250513 \n",
"130 32.106095 24.725243 \n",
"105 45.335307 30.185472 \n",
"11 106.317326 102.850978 \n",
"42 54.713848 48.327566 \n",
"178 33.638002 26.196434 \n",
"15 122.048898 113.774617 \n",
"176 97.889530 94.628680 \n",
"47 97.915028 90.131276 \n",
"79 31.662513 24.136766 \n",
"108 56.627231 48.755429 \n",
"31 46.393046 34.350570 "
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"modeled.sample(15)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Visualizing the results\n",
"\n",
"In the same way that pandas let's us write one function and then apply it to each subset us of the data, the `seaborn` package facilitates the same strategy for visualizing data. In the top of the notebook, I defined a function that plots concentration vs time, the best-fit line, and the CIs around that line. \n",
"\n",
"We can now tell searborn that the function should be used, but the data should be subsetting by parameter, location, and era. In this case, each unique parameter/location combination gets its own set of axes in a grid of charts (parameters in rows, locations in columns). Each era will be distinquished by the colors used to plot them."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\ngJPQbMCN0Kiw+UfAc4FrjDHHAm3ArcaYc6y1twMXAduOdAFr7RZgS/U+Y8xGwsmGRERE5kT3GRGZ\nq6ZEmpjrhuMqZyDVvbayTAdA66ZTOP6Kt00Kfc0nbqT7vHMZ3bWbwaqwmV6/nlazifS6dTVhM9Xd\nTay5iQ2XX8Zu16XQ10+8q4NjL3k9frHAsZe8niAIKPT3k+jqYsObLgPX5bi3XI7juOT6+0h2dbHh\nrW/GTaWifokujgs4LjhwwnvexTPf/Bb5g70ku9dw/LveSaKllROvupJnvvp1cgcPkuzuZuP730uy\nvZ1Nf/4hnrj+38kd6CG1di3P+uBVJNraMB/7CI9f+8VJs91u+uiHp97/kT+bcr80ljPTX/56MMbE\ngf8ATiDsmv0xoA/4EhAHHgGutNbOqHHlNwG33XYbGzZsqGubRURkyZi3vlK6z4jITPUMH2Qkn+Gk\nro3TfkxheJjHr/0i2T17iLe1hRP4tLRQyo6y+6bvk+/vI9m5mg1veTOxtmaKmVF2f/u/yPX2kVyz\nmuPe8TYSrW0URjPs+vq3yB3sJdm9mhPe/S4S7W3hsiyeh+t5AOG241SWa5GjUp/caWpI2JwvehMg\nIiIobIrIIpLNj/HM0B7M6pMa3RSpH4XNadLHFyIiIiIi8ySdSOE5esstK5N+80VERERE5tGqlBZZ\nkJVJYVNEREREZB6tbu5sdBNEGkJhU0REREREROpOYVNERERERETqTmFTRERERERE6k5hU0RERERE\nROpOYVNERERERETqTmFTRERERERE6k5hU0REREREROpOYVNERERERETqTmFTRERERERE6k5hU0RE\nREREROpOYVNERERERETqLtboBpQZYxzgX4EzgDHg/dbaJxrbKhEREREREZmNxVTZvBRIWmtfCvwl\n8M8Nbo+IiIiIiIjM0mIKmy8HfgJgrb0beEFjmyMiIiIiIiKztWi60QJtwGDVdtEY41pr/RlcwwPY\nv39/XRsmIiJLx/nnn78R2G2tLc7D5XWfERFZ4eb5PrOsLKawOQS0Vm0fMWgaY7YAn5rq2Dve8Y76\ntkxERJaSJ4ETgafmchHdZ0RE5DDqcp9ZCRZT2LwTeB1wozHmbODBI51srd0CbKneZ4xJAi8E9gGl\nWbaj/MuzVKi9828pthmWZruXWpvV3vk32zbvnusT6z4DLK22lqnNC2eptXuptReWXptXUnvnfJ9Z\n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\nY8xG4JlFaJ+IrBDpRIqmdCODY9Ham5PX3Oyob5vTeVzfZ9XxxzG8ddtiNXVaYRDg+D6Z9nYSTY1V\nf/39ha4zIiIiC7NUwuYngSuMMQlgC3BVjdsjIivYmvo2hrLR2ptv3XQGYRgynBuho2E1Hzzhghq3\nbnoq/iMiIiLLSc3CprV2G/FEVWvtE8DratUWEdm/uI7Lmvo2dg7uoT6Z4Y+PejMbV72IpLd05zsG\nhQLJlmZSa9ao+I+IiIgsC0ulZ1NEpKoaUw30jQ6QLWRr3ZQZBYU8fl0dmfZ2vFSq1s0RERERmTPd\nHheR/VZHwxoKYTD7gTUQBgF4LpkDD6TuoIMUNEVERGTZUc+miOy3Ep7PqnQLXcNzq0BbDaV5mWtW\nk1q1qtbNEREREdlnCpsisl9rq2uhZ2TW1ZaqQvMyRUREZCVR2BSR/ZrjOKxr6sCldpVdg6CAn86Q\n6dC8TBEREVk5FDZFZL/XkKyryeuGQYDjeWTWrSPRqPUyRUREZGVR2BQRqYGwEJBoXUVqdZvWyxQR\nEZEVSWFTRKSKgnwBv6Ge9NoOXF+/gkVERGTl0icdEZEqCIMAJ+FTt349fl2m1s0RERERWXQKmyIi\niywMA5JaykRERET2MwqbIiKLJCwU8JsaSbe343herZsjIiIiUlUKmyIiFRYWCrjJFJkD1uNlNGRW\nRERE9k9LJmwaYxzgy8AxwCjwQWvt07VtlYjI/IRhQLJ9jYbMioiIyH7PrXUDyrwVSFlrTwL+Dri0\nxu0REZmzsBDg1WVoOOQQBU0RERERllbYfA3wcwBr7T3Ay2rbHBGROQgCHM8jc9CBZNav19xMERER\nkdhSCptNQF/Zdt4Ys5TaJyIygeO6pNrbqT94o5YzEREREZlkyczZBPqBxrJt11obTHewMWYz8OnF\nbpSIyHS8ZBJvdVutmyGLRNcZERGRhVlKYfNu4E3AVcaYVwIPz3SwtXYzsLl8nzFmI/DM4jRPRET2\nJ7rOiIiILMxSCpvXAG8wxtwdb/9pLRsjIiIiIiIi+27JhE1rbQhcVOt2iIiIiIiIyMKpAI+IiIiI\niIhUnMKmiIiIiIiIVJzCpoiIiIiIiFScwqaIiIiIiIhUnMKmiIiIiIiIVJzCpoiIiIiIiFScwqaI\niIiIiIhUnMKmiIiIiIiIVJzCpoiIiIiIiFScwqaIiIiIiIhUnMKmiIiIiIiIVJxfqxc2xpwH/JG1\n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\nH+HLF0vAHf3ecVz/mGsTQtfFDQZxQyF7vMrKxY9LWvPHKxCLUkoppSpHk02llNpLNqmyI4a4fuIY\ncHECQT9pDOCGQ7jhsF1XopXylFJKKbWIaLKplFJ7KRCJUHdoa6XDUEoppZSal6pnXpZSSimllFJK\nqaqhyaZSSimllFJKqTmnyaZSSimllFJKqTmnyaZSSimllFJKqTmnyaZSSimllFJKqTmnyaZSSiml\nlFJKqTmnyaZSSimllFJKqTmnyaZSSimllFJKqTmnyaZSSimllFJKqTkXrHQAeSLiAF8HjgaSwLuM\nMU9XNiqllFJKKaWUUntjPo1sngVEjDEnAp8ArqpwPEoppZRSSiml9tJ8SjZfCvwKwBjzAHBcZcNR\nSimllFJKKbW35s00WqAO6Cm4nRER1xiTm8VzBAB27do1p4EppZSqHqeeeuoaYIcxJlOCp9d+Riml\nFrkS9zMLynxKNnuBRMHtKRNNEbkC+MxE9731rW+d28iUUkpVk63AgcC2fXkS7WeUUkpNYk76mcVg\nPiWb9wKvB24SkRcDj011sjHmCuCKwmMiEgGOB54HsnsZR/7NUy003tKrxpihOuOutpg13tLb25h3\n7OsP1n4GqK5Y8zTm8qm2uKstXqi+mBdTvPvczywGjud5lY4BKKpGe5R/6GJjzMYKxOEZY5xy/9y9\npfGWXjXGDNUZd7XFrPGWXjXGPJ1q+p2qKdY8jbl8qi3uaosXqi9mjVeNNW9GNo0xHnBZpeNQSiml\nlFJKKbXv5lM1WqWUUkoppZRSC4Qmm0oppZRSSiml5pwmm+N9ttIBzJLGW3rVGDNUZ9zVFrPGW3rV\nGPN0qul3qqZY8zTm8qm2uKstXqi+mDVeVWTeFAhSSimllFJKKbVw6MimUkoppZRSSqk5p8mmUkop\npZRSSqk5p8mmUkoppZRSSqk5p8mmUkoppZRSSqk5p8mmUkoppZRSSqk5p8nmGCLiVDoGNT+ISKzS\nMaj5TUS0DS0REQn6Xxdcm7wQfye1d7SfUdPRfqZ0FnI/M5/oGxgQkVNE5LMishYIVjqe6YjIOhEJ\n+d/P+z8QETlCRL4mIpeLyIGVjmc6IhIUkauAa0Tk8krHMxsi0igiNf73VfH3LSJnicirKh3HTInI\nShH5OYAxJlfpeKYjIqdUOobZEBFXRD4F/L9KxzKXtJ8pnWrrY0D7mXLTfqa0tJ9RU6mKRqKURORz\n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\nSQZXdQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x72faf67400>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fg = reg_helpers.plot_modeled_data(\n",
" modeled, \n",
" row='parameter', row_order=['DCE', 'PCE', 'TCE'],\n",
" col='location', col_order=['MW-1', 'MW-2'],\n",
" hue='era', hue_order=['pre', 'during', 'post'],\n",
" sharey='row'\n",
").add_legend()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Conclusion\n",
"Using modern analytical tools with the split-apply-combine strategy facilitates taking a one-off analysis and scaling it up to much larger datasets. Additionally, the libaries that facilitate this generalized workflow are typically quite performant. On my machine, esimated the best-fit and the confidence intervals for all of the groups takes a total of ~100 milliseconds (see final cell below). This entire notebook takes only a couple of seconds to execute."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1 loop, best of 3: 99.1 ms per loop\n"
]
}
],
"source": [
"%%timeit\n",
"modeled = (\n",
" bigdata.groupby(scenario_columns, as_index=False) # (1) divide the eras into groups\n",
" .apply(fit_model, formula='conc ~ days') # (2) run regression on each groups\n",
" .sort_values(by='days') # (3) resort the df by the days column\n",
" .reset_index(drop=True) # (4) remove the index created in (2)\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Further reading\n",
"\n",
"|Topic | Source |\n",
"|------|--------|\n",
"|Tidy data | http://vita.had.co.nz/papers/tidy-data.pdf |\n",
"| Split-apply-combine | http://vita.had.co.nz/papers/plyr.pdf |\n",
"| Pandas | http://pandas.pydata.org/ |\n",
"| Seaborn | http://stanford.edu/~mwaskom/software/seaborn/ |"
]
}
],
"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.5.1"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment