You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/examples/py_double_ml_gate.ipynb
+90-98Lines changed: 90 additions & 98 deletions
Original file line number
Diff line number
Diff line change
@@ -8,10 +8,7 @@
8
8
"In this simple example, we illustrate how the [DoubleML](https://docs.doubleml.org/stable/index.html) package can be used to estimate group average treatment effects."
9
9
],
10
10
"metadata": {
11
-
"collapsed": false,
12
-
"pycharm": {
13
-
"name": "#%% md\n"
14
-
}
11
+
"collapsed": false
15
12
}
16
13
},
17
14
{
@@ -22,20 +19,14 @@
22
19
"The data will be generated with a simple data generating process to enable us to know the true group effects."
23
20
],
24
21
"metadata": {
25
-
"collapsed": false,
26
-
"pycharm": {
27
-
"name": "#%% md\n"
28
-
}
22
+
"collapsed": false
29
23
}
30
24
},
31
25
{
32
26
"cell_type": "code",
33
27
"execution_count": 1,
34
28
"metadata": {
35
-
"collapsed": true,
36
-
"pycharm": {
37
-
"name": "#%%\n"
38
-
}
29
+
"collapsed": true
39
30
},
40
31
"outputs": [],
41
32
"source": [
@@ -51,10 +42,7 @@
51
42
"For simplicity, the treatment effect within each group is generated to be constant, such that it corresponds to the group average treatment effect."
52
43
],
53
44
"metadata": {
54
-
"collapsed": false,
55
-
"pycharm": {
56
-
"name": "#%% md\n"
57
-
}
45
+
"collapsed": false
58
46
}
59
47
},
60
48
{
@@ -72,10 +60,7 @@
72
60
" return te"
73
61
],
74
62
"metadata": {
75
-
"collapsed": false,
76
-
"pycharm": {
77
-
"name": "#%%\n"
78
-
}
63
+
"collapsed": false
79
64
}
80
65
},
81
66
{
@@ -100,10 +85,7 @@
100
85
"\\end{cases}.$$"
101
86
],
102
87
"metadata": {
103
-
"collapsed": false,
104
-
"pycharm": {
105
-
"name": "#%% md\n"
106
-
}
88
+
"collapsed": false
107
89
}
108
90
},
109
91
{
@@ -169,10 +151,7 @@
169
151
" return data, covariates"
170
152
],
171
153
"metadata": {
172
-
"collapsed": false,
173
-
"pycharm": {
174
-
"name": "#%%\n"
175
-
}
154
+
"collapsed": false
176
155
}
177
156
},
178
157
{
@@ -181,10 +160,7 @@
181
160
"We will consider a quite small number of covariates to ensure fast calcualtion."
182
161
],
183
162
"metadata": {
184
-
"collapsed": false,
185
-
"pycharm": {
186
-
"name": "#%% md\n"
187
-
}
163
+
"collapsed": false
188
164
}
189
165
},
190
166
{
@@ -206,10 +182,7 @@
206
182
" x_cols=covariates)"
207
183
],
208
184
"metadata": {
209
-
"collapsed": false,
210
-
"pycharm": {
211
-
"name": "#%%\n"
212
-
}
185
+
"collapsed": false
213
186
}
214
187
},
215
188
{
@@ -219,10 +192,7 @@
219
192
"The first step is to fit a [DoubleML IRM Model](https://docs.doubleml.org/stable/guide/models.html#interactive-regression-model-irm) to the data."
220
193
],
221
194
"metadata": {
222
-
"collapsed": false,
223
-
"pycharm": {
224
-
"name": "#%% md\n"
225
-
}
195
+
"collapsed": false
226
196
}
227
197
},
228
198
{
@@ -238,7 +208,7 @@
238
208
},
239
209
{
240
210
"data": {
241
-
"text/plain": "<doubleml.double_ml_irm.DoubleMLIRM at 0x25f62a87430>"
211
+
"text/plain": "<doubleml.double_ml_irm.DoubleMLIRM at 0x2ca8ff66a40>"
242
212
},
243
213
"execution_count": 5,
244
214
"metadata": {},
@@ -262,10 +232,7 @@
262
232
"dml_irm.fit(store_predictions=True)"
263
233
],
264
234
"metadata": {
265
-
"collapsed": false,
266
-
"pycharm": {
267
-
"name": "#%%\n"
268
-
}
235
+
"collapsed": false
269
236
}
270
237
},
271
238
{
@@ -275,10 +242,7 @@
275
242
"Next, we can specify the groups as [DataFrame](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html) with boolean columns."
276
243
],
277
244
"metadata": {
278
-
"collapsed": false,
279
-
"pycharm": {
280
-
"name": "#%% md\n"
281
-
}
245
+
"collapsed": false
282
246
}
283
247
},
284
248
{
@@ -292,10 +256,7 @@
292
256
" columns=['Group 1', 'Group 2', 'Group 3'])"
293
257
],
294
258
"metadata": {
295
-
"collapsed": false,
296
-
"pycharm": {
297
-
"name": "#%%\n"
298
-
}
259
+
"collapsed": false
299
260
}
300
261
},
301
262
{
@@ -316,10 +277,7 @@
316
277
"groups.head()"
317
278
],
318
279
"metadata": {
319
-
"collapsed": false,
320
-
"pycharm": {
321
-
"name": "#%%\n"
322
-
}
280
+
"collapsed": false
323
281
}
324
282
},
325
283
{
@@ -328,10 +286,7 @@
328
286
"To calculate GATEs just call the ``gate()`` method and supply the DataFrame with the group definitions and the ``level`` (with default of ``0.95``)."
329
287
],
330
288
"metadata": {
331
-
"collapsed": false,
332
-
"pycharm": {
333
-
"name": "#%% md\n"
334
-
}
289
+
"collapsed": false
335
290
}
336
291
},
337
292
{
@@ -354,10 +309,7 @@
354
309
"print(gate.confint(level=0.95))"
355
310
],
356
311
"metadata": {
357
-
"collapsed": false,
358
-
"pycharm": {
359
-
"name": "#%%\n"
360
-
}
312
+
"collapsed": false
361
313
}
362
314
},
363
315
{
@@ -366,10 +318,7 @@
366
318
"The confidence intervals above are point-wise, but by setting the option ``joint`` and providing a number of bootstrap repetitions ``n_rep_boot``."
367
319
],
368
320
"metadata": {
369
-
"collapsed": false,
370
-
"pycharm": {
371
-
"name": "#%% md\n"
372
-
}
321
+
"collapsed": false
373
322
}
374
323
},
375
324
{
@@ -392,10 +341,7 @@
392
341
"print(ci)"
393
342
],
394
343
"metadata": {
395
-
"collapsed": false,
396
-
"pycharm": {
397
-
"name": "#%%\n"
398
-
}
344
+
"collapsed": false
399
345
}
400
346
},
401
347
{
@@ -404,10 +350,7 @@
404
350
"Finally, let us plot the estimates together with the true effect within each group."
405
351
],
406
352
"metadata": {
407
-
"collapsed": false,
408
-
"pycharm": {
409
-
"name": "#%% md\n"
410
-
}
353
+
"collapsed": false
411
354
}
412
355
},
413
356
{
@@ -444,12 +387,9 @@
444
387
],
445
388
"metadata": {
446
389
"collapsed": false,
447
-
"pycharm": {
448
-
"name": "#%%\n"
449
-
},
450
390
"tags": [
451
-
"nbsphinx-thumbnail"
452
-
]
391
+
"nbsphinx-thumbnail"
392
+
]
453
393
}
454
394
},
455
395
{
@@ -458,10 +398,7 @@
458
398
"It is also possible to supply disjoint groups as a single vector (still as a data frame). Remark the slightly different name."
459
399
],
460
400
"metadata": {
461
-
"collapsed": false,
462
-
"pycharm": {
463
-
"name": "#%% md\n"
464
-
}
401
+
"collapsed": false
465
402
}
466
403
},
467
404
{
@@ -491,10 +428,7 @@
491
428
"groups.head()"
492
429
],
493
430
"metadata": {
494
-
"collapsed": false,
495
-
"pycharm": {
496
-
"name": "#%%\n"
497
-
}
431
+
"collapsed": false
498
432
}
499
433
},
500
434
{
@@ -518,10 +452,71 @@
518
452
"print(ci)"
519
453
],
520
454
"metadata": {
521
-
"collapsed": false,
522
-
"pycharm": {
523
-
"name": "#%%\n"
455
+
"collapsed": false
456
+
}
457
+
},
458
+
{
459
+
"cell_type": "markdown",
460
+
"source": [
461
+
"The coefficients of the best linear predictor can be seen via the summary (the values can be accessed through the underlying model ``.blp_model``)."
0 commit comments