Alarm_EDA.ipynb 115 KB
Newer Older
thecml's avatar
thecml committed
1
2
3
4
{
 "cells": [
  {
   "cell_type": "code",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
5
   "execution_count": 1,
thecml's avatar
thecml committed
6
7
8
9
10
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import paths as pt\n",
thecml's avatar
thecml committed
11
    "from tools import data_loader\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
12
    "from utility.config import load_config\n",
thecml's avatar
thecml committed
13
14
    "\n",
    "# Load data\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
15
    "target_settings = load_config(pt.CONFIGS_DIR, \"alarm.yaml\")\n",
thecml's avatar
thecml committed
16
17
18
19
20
21
22
23
    "dl = data_loader.AlarmDataLoader(pt.PROCESSED_DATA_DIR,\n",
    "                                 \"alarm_emb.csv\",\n",
    "                                 target_settings).load_data()\n",
    "X, y = dl.get_data()"
   ]
  },
  {
   "cell_type": "code",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
24
   "execution_count": 2,
thecml's avatar
thecml committed
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>BirthYear</th>\n",
       "      <th>Gender</th>\n",
       "      <th>LoanPeriod</th>\n",
       "      <th>NumberAts</th>\n",
       "      <th>1Ats</th>\n",
       "      <th>2Ats</th>\n",
       "      <th>3Ats</th>\n",
       "      <th>4Ats</th>\n",
       "      <th>5Ats</th>\n",
       "      <th>6Ats</th>\n",
       "      <th>7Ats</th>\n",
       "      <th>8Ats</th>\n",
       "      <th>9Ats</th>\n",
       "      <th>10Ats</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1356</td>\n",
       "      <td>1</td>\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
71
72
73
74
75
76
77
78
79
80
       "      <td>0.166656</td>\n",
       "      <td>0.105815</td>\n",
       "      <td>0.059605</td>\n",
       "      <td>-0.103876</td>\n",
       "      <td>-0.089250</td>\n",
       "      <td>0.119591</td>\n",
       "      <td>-0.159822</td>\n",
       "      <td>-0.025583</td>\n",
       "      <td>-0.146478</td>\n",
       "      <td>-0.130080</td>\n",
thecml's avatar
thecml committed
81
82
83
84
85
86
87
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>26</td>\n",
       "      <td>0</td>\n",
       "      <td>941</td>\n",
       "      <td>2</td>\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
88
89
90
91
92
93
94
95
96
97
       "      <td>-0.570200</td>\n",
       "      <td>-0.435632</td>\n",
       "      <td>0.059605</td>\n",
       "      <td>-0.103876</td>\n",
       "      <td>-0.089250</td>\n",
       "      <td>0.119591</td>\n",
       "      <td>-0.159822</td>\n",
       "      <td>-0.025583</td>\n",
       "      <td>-0.146478</td>\n",
       "      <td>-0.130080</td>\n",
thecml's avatar
thecml committed
98
99
100
101
102
103
104
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>30</td>\n",
       "      <td>0</td>\n",
       "      <td>756</td>\n",
       "      <td>19</td>\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
105
106
107
108
109
110
111
112
113
114
       "      <td>-0.193359</td>\n",
       "      <td>-0.006311</td>\n",
       "      <td>0.055417</td>\n",
       "      <td>-0.119053</td>\n",
       "      <td>-0.361302</td>\n",
       "      <td>-0.066996</td>\n",
       "      <td>-0.100513</td>\n",
       "      <td>0.303188</td>\n",
       "      <td>0.060278</td>\n",
       "      <td>-0.205257</td>\n",
thecml's avatar
thecml committed
115
116
117
118
119
120
121
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>32</td>\n",
       "      <td>0</td>\n",
       "      <td>1374</td>\n",
       "      <td>2</td>\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
122
123
124
125
126
127
128
129
130
131
       "      <td>-0.166832</td>\n",
       "      <td>-0.225226</td>\n",
       "      <td>0.059605</td>\n",
       "      <td>-0.103876</td>\n",
       "      <td>-0.089250</td>\n",
       "      <td>0.119591</td>\n",
       "      <td>-0.159822</td>\n",
       "      <td>-0.025583</td>\n",
       "      <td>-0.146478</td>\n",
       "      <td>-0.130080</td>\n",
thecml's avatar
thecml committed
132
133
134
135
136
137
138
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>33</td>\n",
       "      <td>1</td>\n",
       "      <td>1129</td>\n",
       "      <td>2</td>\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
139
140
141
142
143
144
145
146
147
148
       "      <td>-0.166832</td>\n",
       "      <td>-0.225226</td>\n",
       "      <td>0.059605</td>\n",
       "      <td>-0.103876</td>\n",
       "      <td>-0.089250</td>\n",
       "      <td>0.119591</td>\n",
       "      <td>-0.159822</td>\n",
       "      <td>-0.025583</td>\n",
       "      <td>-0.146478</td>\n",
       "      <td>-0.130080</td>\n",
thecml's avatar
thecml committed
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12390</th>\n",
       "      <td>59</td>\n",
       "      <td>0</td>\n",
       "      <td>792</td>\n",
       "      <td>3</td>\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
173
174
175
176
177
178
179
180
181
182
       "      <td>-0.257455</td>\n",
       "      <td>-0.168293</td>\n",
       "      <td>0.776252</td>\n",
       "      <td>-0.103876</td>\n",
       "      <td>-0.089250</td>\n",
       "      <td>0.119591</td>\n",
       "      <td>-0.159822</td>\n",
       "      <td>-0.025583</td>\n",
       "      <td>-0.146478</td>\n",
       "      <td>-0.130080</td>\n",
thecml's avatar
thecml committed
183
184
185
186
187
188
189
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12391</th>\n",
       "      <td>64</td>\n",
       "      <td>0</td>\n",
       "      <td>1412</td>\n",
       "      <td>17</td>\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
190
191
192
193
194
195
196
197
198
199
       "      <td>0.083509</td>\n",
       "      <td>0.078646</td>\n",
       "      <td>0.055417</td>\n",
       "      <td>0.530685</td>\n",
       "      <td>0.307721</td>\n",
       "      <td>0.261204</td>\n",
       "      <td>0.042398</td>\n",
       "      <td>-0.126977</td>\n",
       "      <td>-0.273135</td>\n",
       "      <td>-0.205257</td>\n",
thecml's avatar
thecml committed
200
201
202
203
204
205
206
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12392</th>\n",
       "      <td>65</td>\n",
       "      <td>0</td>\n",
       "      <td>1406</td>\n",
       "      <td>7</td>\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
207
208
209
210
211
212
213
214
215
216
       "      <td>-0.308412</td>\n",
       "      <td>-0.255356</td>\n",
       "      <td>-0.012714</td>\n",
       "      <td>-0.144388</td>\n",
       "      <td>0.205516</td>\n",
       "      <td>0.346183</td>\n",
       "      <td>0.043181</td>\n",
       "      <td>-0.025583</td>\n",
       "      <td>-0.146478</td>\n",
       "      <td>-0.130080</td>\n",
thecml's avatar
thecml committed
217
218
219
220
221
222
223
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12393</th>\n",
       "      <td>75</td>\n",
       "      <td>0</td>\n",
       "      <td>1423</td>\n",
       "      <td>1</td>\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
224
225
226
227
228
229
230
231
232
233
       "      <td>1.059167</td>\n",
       "      <td>0.105815</td>\n",
       "      <td>0.059605</td>\n",
       "      <td>-0.103876</td>\n",
       "      <td>-0.089250</td>\n",
       "      <td>0.119591</td>\n",
       "      <td>-0.159822</td>\n",
       "      <td>-0.025583</td>\n",
       "      <td>-0.146478</td>\n",
       "      <td>-0.130080</td>\n",
thecml's avatar
thecml committed
234
235
236
237
238
239
240
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12394</th>\n",
       "      <td>98</td>\n",
       "      <td>1</td>\n",
       "      <td>437</td>\n",
       "      <td>5</td>\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
241
242
243
244
245
246
247
248
249
250
       "      <td>0.166656</td>\n",
       "      <td>0.081168</td>\n",
       "      <td>0.055417</td>\n",
       "      <td>0.337234</td>\n",
       "      <td>0.006832</td>\n",
       "      <td>0.119591</td>\n",
       "      <td>-0.159822</td>\n",
       "      <td>-0.025583</td>\n",
       "      <td>-0.146478</td>\n",
       "      <td>-0.130080</td>\n",
thecml's avatar
thecml committed
251
252
253
254
255
256
257
258
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>12395 rows × 14 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       BirthYear  Gender  LoanPeriod  NumberAts      1Ats      2Ats      3Ats  \\\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
259
260
261
262
263
       "0              3       1        1356          1  0.166656  0.105815  0.059605   \n",
       "1             26       0         941          2 -0.570200 -0.435632  0.059605   \n",
       "2             30       0         756         19 -0.193359 -0.006311  0.055417   \n",
       "3             32       0        1374          2 -0.166832 -0.225226  0.059605   \n",
       "4             33       1        1129          2 -0.166832 -0.225226  0.059605   \n",
thecml's avatar
thecml committed
264
       "...          ...     ...         ...        ...       ...       ...       ...   \n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
265
266
267
268
269
       "12390         59       0         792          3 -0.257455 -0.168293  0.776252   \n",
       "12391         64       0        1412         17  0.083509  0.078646  0.055417   \n",
       "12392         65       0        1406          7 -0.308412 -0.255356 -0.012714   \n",
       "12393         75       0        1423          1  1.059167  0.105815  0.059605   \n",
       "12394         98       1         437          5  0.166656  0.081168  0.055417   \n",
thecml's avatar
thecml committed
270
271
       "\n",
       "           4Ats      5Ats      6Ats      7Ats      8Ats      9Ats     10Ats  \n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
272
273
274
275
276
       "0     -0.103876 -0.089250  0.119591 -0.159822 -0.025583 -0.146478 -0.130080  \n",
       "1     -0.103876 -0.089250  0.119591 -0.159822 -0.025583 -0.146478 -0.130080  \n",
       "2     -0.119053 -0.361302 -0.066996 -0.100513  0.303188  0.060278 -0.205257  \n",
       "3     -0.103876 -0.089250  0.119591 -0.159822 -0.025583 -0.146478 -0.130080  \n",
       "4     -0.103876 -0.089250  0.119591 -0.159822 -0.025583 -0.146478 -0.130080  \n",
thecml's avatar
thecml committed
277
       "...         ...       ...       ...       ...       ...       ...       ...  \n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
278
279
280
281
282
       "12390 -0.103876 -0.089250  0.119591 -0.159822 -0.025583 -0.146478 -0.130080  \n",
       "12391  0.530685  0.307721  0.261204  0.042398 -0.126977 -0.273135 -0.205257  \n",
       "12392 -0.144388  0.205516  0.346183  0.043181 -0.025583 -0.146478 -0.130080  \n",
       "12393 -0.103876 -0.089250  0.119591 -0.159822 -0.025583 -0.146478 -0.130080  \n",
       "12394  0.337234  0.006832  0.119591 -0.159822 -0.025583 -0.146478 -0.130080  \n",
thecml's avatar
thecml committed
283
284
285
286
       "\n",
       "[12395 rows x 14 columns]"
      ]
     },
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
287
     "execution_count": 2,
thecml's avatar
thecml committed
288
289
290
291
292
293
294
295
296
297
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X"
   ]
  },
  {
   "cell_type": "code",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
298
   "execution_count": 3,
thecml's avatar
thecml committed
299
300
301
302
303
304
305
306
307
308
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([(False, 1356), (False,  460), (False,  240), ..., (False,  422),\n",
       "       (False, 1423), (False,  371)],\n",
       "      dtype=[('Status', '?'), ('Days_to_alarm', '>i4')])"
      ]
     },
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
309
     "execution_count": 3,
thecml's avatar
thecml committed
310
311
312
313
314
315
316
317
318
319
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y"
   ]
  },
  {
   "cell_type": "code",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
320
   "execution_count": 4,
thecml's avatar
thecml committed
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of samples: 12395\n"
     ]
    }
   ],
   "source": [
    "print(f\"Number of samples: {X.shape[0]}\")"
   ]
  },
  {
   "cell_type": "code",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
337
   "execution_count": 5,
thecml's avatar
thecml committed
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Status</th>\n",
       "      <th>Days_to_alarm</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>False</td>\n",
       "      <td>155</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>False</td>\n",
       "      <td>1981</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>False</td>\n",
       "      <td>1263</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>True</td>\n",
       "      <td>1165</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>False</td>\n",
       "      <td>2420</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Status  Days_to_alarm\n",
       "1   False            155\n",
       "2   False           1981\n",
       "3   False           1263\n",
       "4    True           1165\n",
       "5   False           2420"
      ]
     },
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
404
     "execution_count": 5,
thecml's avatar
thecml committed
405
406
407
408
409
410
411
412
413
414
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.DataFrame.from_records(y[[11, 6, 32, 23, 31]], index=range(1, 6))"
   ]
  },
  {
   "cell_type": "code",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
415
   "execution_count": 6,
thecml's avatar
thecml committed
416
417
418
419
420
421
422
423
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 0, 'time $t$')"
      ]
     },
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
424
     "execution_count": 6,
thecml's avatar
thecml committed
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "from sksurv.nonparametric import kaplan_meier_estimator\n",
    "time, survival_prob = kaplan_meier_estimator(y[\"Status\"], y[\"Days_to_alarm\"])\n",
    "plt.step(time, survival_prob, where=\"post\")\n",
    "plt.ylabel(\"est. probability of survival $\\hat{S}(t)$\")\n",
    "plt.xlabel(\"time $t$\")"
   ]
  },
  {
   "cell_type": "code",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
453
   "execution_count": 7,
thecml's avatar
thecml committed
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "83.4% of records are censored\n"
     ]
    }
   ],
   "source": [
    "n_censored = y.shape[0] - y[\"Status\"].sum()\n",
    "print(\"%.1f%% of records are censored\" % (n_censored / y.shape[0] * 100))"
   ]
  },
  {
   "cell_type": "code",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
471
   "execution_count": 8,
thecml's avatar
thecml committed
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiQAAAFlCAYAAADbH/MkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAdgUlEQVR4nO3deZAX5b3v8fdXGBYzbkEKvWAEK5QKDgxLWCRcFWIcIhXXuBz0cKO3NNGDHqMiXpPo8ZhbScokLpWlcIuxPIBy8EpFLYMajDG4MDoqoMhoJjoEdURDopE4w3nuH9PMGWGQgVkehnm/qn413U8/3f30r6vx49P99C9SSkiSJOW0R+4GSJIkGUgkSVJ2BhJJkpSdgUSSJGVnIJEkSdkZSCRJUnY9czfg0+y///5p8ODBuZshSZLaSWVl5bsppf5blu/SgWTw4MEsX748dzMkSVI7iYg/tVTuLRtJkpSdgUSSJGVnIJEkSdnt0s+QSJK6vvr6empra9m4cWPupqgT9enTh0GDBlFSUtKq+gYSSVKHqq2tZa+99mLw4MFERO7mqBOklFi/fj21tbUMGTKkVet4y0aS1KE2btxIv379DCPdSETQr1+/HeoVM5BIkjqcYaT72dFzbiCRJO3W1q9fT3l5OeXl5RxwwAEMHDiQ8vJySktLueCCCzqtHXV1dYwfP55Ro0bxxBNPbLX83XffpaSkhF/84hefKB88eDDvvvtuZzUzG58hkSR1qsFzHmjX7dV8//hPXd6vXz+qqqoAuOaaaygtLeWyyy5r1za0xqOPPkpZWRm33npri8vvvfdeJkyYwLx58/jGN76x0/vZtGkTPXr02On1c7GHRJLULS1dupTp06cDjUFl5syZTJ48mYMPPphFixYxe/ZsysrKqKiooL6+HoDKykqOOuooxowZw3HHHce6deu22m5NTQ1TpkxhxIgRTJ06lTfeeIOqqipmz57N/fffT3l5OR999NFW682bN48f/ehHrF27ltra2hbbfOKJJzJmzBiGDx/O3Llzm8pLS0u59NJLGTlyJMuWLaO0tJTLL7+c4cOH86UvfYlnnnmGo48+mkMOOYTFixe3x9fX7gwkkiQBr732Go899hiLFy/mrLPO4phjjuGll16ib9++PPDAA9TX1zNr1iwWLlxIZWUl55xzDlddddVW25k1axYzZ87kxRdfZMaMGVx00UWUl5dz7bXXcvrpp1NVVUXfvn0/sc6bb77JunXrGDduHKeddhoLFixosY233347lZWVLF++nJtuuon169cD8OGHHzJ+/HheeOEFvvjFL/Lhhx8yZcoUVq5cyV577cW3v/1tlixZwn333cd3v/vd9v/y2oG3bCRJAqZNm0ZJSQllZWVs2rSJiooKAMrKyqipqWH16tWsWLGCY489Fmi8NXLggQdutZ1ly5axaNEiAM4++2xmz5693X0vWLCA0047DYAzzjiDc845h0svvXSrejfddBP33Xcf0Bhi1qxZQ79+/ejRowennHJKU71evXp9ov29e/duOraampod+FY6j4FEkiSgd+/eAOyxxx6UlJQ0jRLZY489aGhoIKXE8OHDWbZsWbvve968ebz11lvcfffdAPz5z39mzZo1DB06tKnO0qVLeeSRR1i2bBl77rknRx99dNOw2j59+nziuZEt29/82BoaGtq9/e2h+waSa/Zpw7ob2q8dkqQu4dBDD6Wuro5ly5YxceJE6uvrefXVVxk+fPgn6h155JHMnz+fs88+m7vvvpvJkyd/6nZfffVVPvjgA9auXdtUdvXVVzNv3rxP3F7ZsGED++23H3vuuSevvPIKTz31VPseYGY+QyJJUiv06tWLhQsXcsUVVzBy5EjKy8v5wx/+sFW9m2++mTvuuIMRI0Zw1113ceONN37qdufNm8dJJ530ibJTTjmFefPmfaKsoqKChoYGDj/8cObMmcOECRPaflC7kEgp5W7DNo0dOzYtX768YzZuD4kkdYqXX36Zww8/PHczlEFL5z4iKlNKY7esaw+JJEnKzkAiSZKyM5BIkqTsDCSSJCk7A4kkScrOQCJJkrIzkEiSdmvr16+nvLyc8vJyDjjgAAYOHEh5eTmlpaVccMEFndaOuro6xo8fz6hRo3jiiSc+say+vp45c+YwdOhQRo8ezcSJE3nooYc6rW3NHXnkkVn2233f1CpJyqMt74FqcXuf/m6ofv36UVVV1Vj1mmsoLS3lsssua982tMKjjz5KWVkZt95661bLvvOd77Bu3TpWrFhB7969efvtt3n88cc7tX0NDQ307NmzxZe9dQZ7SCRJ3dLSpUuZPn060BhUZs6cyeTJkzn44INZtGgRs2fPpqysjIqKCurr6wGorKzkqKOOYsyYMRx33HGsW7duq+3W1NQwZcoURowYwdSpU3njjTeoqqpi9uzZ3H///ZSXl/PRRx811f/73//OLbfcws0339z0mzMDBgxo+rG93/zmN0ycOJHRo0fzta99jQ8++ACAwYMHc/XVVzN69GjKysp45ZVXAHj88cebeoRGjRrF3/72N1JKXH755RxxxBGUlZU1/Zrw0qVLmTx5Ml/96lcZNmwYAKWlpU3Ljj76aE499VQOO+wwZsyYweaXqT744IMcdthhjBkzhosuuqjpe2wLA4kkScBrr73GY489xuLFiznrrLM45phjeOmll+jbty8PPPAA9fX1zJo1i4ULF1JZWck555zDVVddtdV2Zs2axcyZM3nxxReZMWMGF110EeXl5Vx77bWcfvrpVFVV0bdv36b61dXVfO5zn2Pvvffealvvvvsu1113HY888gjPPfccY8eO5cc//nHT8v3335/nnnuOb37zm1x//fUAXH/99fz0pz+lqqqKJ554gr59+7Jo0SKqqqp44YUXeOSRR7j88subwtRzzz3HjTfeyKuvvrrV/p9//nluuOEGVq1axeuvv86TTz7Jxo0bOf/883nooYeorKykrq6uzd89eMtGkiQApk2bRklJCWVlZWzatImKigoAysrKqKmpYfXq1axYsYJjjz0WgE2bNnHggQdutZ1ly5axaNEiAM4++2xmz56902166qmnWLVqFZMmTQLg448/ZuLEiU3LTz75ZADGjBnTtM9JkybxrW99ixkzZnDyySczaNAgfv/733PmmWfSo0cPBgwYwFFHHcWzzz7L3nvvzbhx4xgyZEiL+x83bhyDBg0CoLy8nJqaGkpLSznkkEOa1jnzzDOZO3fuTh/jZgYSSZKg6XbJHnvsQUlJCRHRNN/Q0EBKieHDh7Ns2bJ23e/nP/953njjDf76179u1UuSUuLYY4/d6of2tmxzjx49aGhoAGDOnDkcf/zxPPjgg0yaNImHH374U/f/mc98ZpvLNm9/y310BG/ZSJLUCoceeih1dXVNgaS+vp6VK1duVe/II49k/vz5ANx9991Mnjz5U7e75557cu6553LxxRfz8ccfA40jcu69914mTJjAk08+SXV1NQAffvhhi7dWmnvttdcoKyvjiiuu4Atf+AKvvPIKkydPZsGCBWzatIm6ujp+97vfMW7cuB3+DqDxe3j99depqakBaHoepa0MJJIktUKvXr1Y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",
      "text/plain": [
       "<Figure size 648x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(9, 6))\n",
    "val, bins, patches = plt.hist((y[\"Days_to_alarm\"][y[\"Status\"]],\n",
    "                               y[\"Days_to_alarm\"][~y[\"Status\"]]),\n",
    "                              bins=30, stacked=True)\n",
    "_ = plt.legend(patches, [\"Time of Alarm\", \"Time of Censoring\"])"
   ]
  },
  {
   "cell_type": "code",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
497
   "execution_count": 9,
thecml's avatar
thecml committed
498
499
500
501
502
503
504
505
506
507
508
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, stratify=y[\"Status\"],\n",
    "                                                    test_size=0.3, random_state=0)"
   ]
  },
  {
   "cell_type": "code",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
509
   "execution_count": 10,
thecml's avatar
thecml committed
510
511
512
513
514
515
516
517
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RandomSurvivalForest(max_depth=3, n_estimators=200, n_jobs=-1, random_state=0)"
      ]
     },
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
518
     "execution_count": 10,
thecml's avatar
thecml committed
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sksurv.ensemble import RandomSurvivalForest\n",
    "\n",
    "rsf = RandomSurvivalForest(n_estimators=200,\n",
    "                           max_depth=3,\n",
    "                           n_jobs=-1,\n",
    "                           random_state=0)\n",
    "rsf.fit(X_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
535
   "execution_count": 11,
thecml's avatar
thecml committed
536
537
538
539
540
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
541
       "0.704631146739095"
thecml's avatar
thecml committed
542
543
      ]
     },
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
544
     "execution_count": 11,
thecml's avatar
thecml committed
545
546
547
548
549
550
551
552
553
554
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rsf.score(X_test, y_test)"
   ]
  },
  {
   "cell_type": "code",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
555
   "execution_count": 12,
thecml's avatar
thecml committed
556
557
558
559
560
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
561
562
563
564
565
566
567
568
569
570
       "0     47.075996\n",
       "1    103.167818\n",
       "2    122.470135\n",
       "3    128.431295\n",
       "4    104.533085\n",
       "5    211.591133\n",
       "6     91.882114\n",
       "7    117.041465\n",
       "8    104.533085\n",
       "9    202.621235\n",
thecml's avatar
thecml committed
571
572
573
       "dtype: float64"
      ]
     },
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
574
     "execution_count": 12,
thecml's avatar
thecml committed
575
576
577
578
579
580
581
582
583
584
585
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_test_sel = X_test.iloc[50:60]\n",
    "pd.Series(rsf.predict(X_test_sel))"
   ]
  },
  {
   "cell_type": "code",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
586
   "execution_count": 13,
thecml's avatar
thecml committed
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>BirthYear</th>\n",
       "      <th>Gender</th>\n",
       "      <th>LoanPeriod</th>\n",
       "      <th>NumberAts</th>\n",
       "      <th>1Ats</th>\n",
       "      <th>2Ats</th>\n",
       "      <th>3Ats</th>\n",
       "      <th>4Ats</th>\n",
       "      <th>5Ats</th>\n",
       "      <th>6Ats</th>\n",
       "      <th>7Ats</th>\n",
       "      <th>8Ats</th>\n",
       "      <th>9Ats</th>\n",
       "      <th>10Ats</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>7234</th>\n",
       "      <td>84</td>\n",
       "      <td>1</td>\n",
       "      <td>1045</td>\n",
       "      <td>1</td>\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
633
634
635
636
637
638
639
640
641
642
       "      <td>0.166656</td>\n",
       "      <td>0.105815</td>\n",
       "      <td>0.059605</td>\n",
       "      <td>-0.103876</td>\n",
       "      <td>-0.08925</td>\n",
       "      <td>0.119591</td>\n",
       "      <td>-0.159822</td>\n",
       "      <td>-0.025583</td>\n",
       "      <td>-0.146478</td>\n",
       "      <td>-0.13008</td>\n",
thecml's avatar
thecml committed
643
644
645
646
647
648
649
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5131</th>\n",
       "      <td>51</td>\n",
       "      <td>1</td>\n",
       "      <td>163</td>\n",
       "      <td>1</td>\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
650
651
652
653
654
655
656
657
658
659
       "      <td>-0.257455</td>\n",
       "      <td>0.105815</td>\n",
       "      <td>0.059605</td>\n",
       "      <td>-0.103876</td>\n",
       "      <td>-0.08925</td>\n",
       "      <td>0.119591</td>\n",
       "      <td>-0.159822</td>\n",
       "      <td>-0.025583</td>\n",
       "      <td>-0.146478</td>\n",
       "      <td>-0.13008</td>\n",
thecml's avatar
thecml committed
660
661
662
663
664
665
666
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11062</th>\n",
       "      <td>39</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
667
668
669
670
671
672
673
674
675
676
       "      <td>-0.225707</td>\n",
       "      <td>0.105815</td>\n",
       "      <td>0.059605</td>\n",
       "      <td>-0.103876</td>\n",
       "      <td>-0.08925</td>\n",
       "      <td>0.119591</td>\n",
       "      <td>-0.159822</td>\n",
       "      <td>-0.025583</td>\n",
       "      <td>-0.146478</td>\n",
       "      <td>-0.13008</td>\n",
thecml's avatar
thecml committed
677
678
679
680
681
682
683
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11890</th>\n",
       "      <td>45</td>\n",
       "      <td>0</td>\n",
       "      <td>1144</td>\n",
       "      <td>2</td>\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
684
685
686
687
688
689
690
691
692
693
       "      <td>-0.267148</td>\n",
       "      <td>0.138215</td>\n",
       "      <td>0.059605</td>\n",
       "      <td>-0.103876</td>\n",
       "      <td>-0.08925</td>\n",
       "      <td>0.119591</td>\n",
       "      <td>-0.159822</td>\n",
       "      <td>-0.025583</td>\n",
       "      <td>-0.146478</td>\n",
       "      <td>-0.13008</td>\n",
thecml's avatar
thecml committed
694
695
696
697
698
699
700
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2610</th>\n",
       "      <td>41</td>\n",
       "      <td>0</td>\n",
       "      <td>331</td>\n",
       "      <td>1</td>\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
701
702
703
704
705
706
707
708
709
710
       "      <td>-0.257455</td>\n",
       "      <td>0.105815</td>\n",
       "      <td>0.059605</td>\n",
       "      <td>-0.103876</td>\n",
       "      <td>-0.08925</td>\n",
       "      <td>0.119591</td>\n",
       "      <td>-0.159822</td>\n",
       "      <td>-0.025583</td>\n",
       "      <td>-0.146478</td>\n",
       "      <td>-0.13008</td>\n",
thecml's avatar
thecml committed
711
712
713
714
715
716
717
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5489</th>\n",
       "      <td>29</td>\n",
       "      <td>0</td>\n",
       "      <td>735</td>\n",
       "      <td>4</td>\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
718
719
720
721
722
723
724
725
726
727
       "      <td>-0.166832</td>\n",
       "      <td>-0.225226</td>\n",
       "      <td>0.211563</td>\n",
       "      <td>-0.143402</td>\n",
       "      <td>-0.08925</td>\n",
       "      <td>0.119591</td>\n",
       "      <td>-0.159822</td>\n",
       "      <td>-0.025583</td>\n",
       "      <td>-0.146478</td>\n",
       "      <td>-0.13008</td>\n",
thecml's avatar
thecml committed
728
729
730
731
732
733
734
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3129</th>\n",
       "      <td>71</td>\n",
       "      <td>0</td>\n",
       "      <td>4565</td>\n",
       "      <td>2</td>\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
735
736
737
738
739
740
741
742
743
744
       "      <td>0.596867</td>\n",
       "      <td>-0.225226</td>\n",
       "      <td>0.059605</td>\n",
       "      <td>-0.103876</td>\n",
       "      <td>-0.08925</td>\n",
       "      <td>0.119591</td>\n",
       "      <td>-0.159822</td>\n",
       "      <td>-0.025583</td>\n",
       "      <td>-0.146478</td>\n",
       "      <td>-0.13008</td>\n",
thecml's avatar
thecml committed
745
746
747
748
749
750
751
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12308</th>\n",
       "      <td>38</td>\n",
       "      <td>1</td>\n",
       "      <td>1902</td>\n",
       "      <td>1</td>\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
752
753
754
755
756
757
758
759
760
761
       "      <td>-0.257455</td>\n",
       "      <td>0.105815</td>\n",
       "      <td>0.059605</td>\n",
       "      <td>-0.103876</td>\n",
       "      <td>-0.08925</td>\n",
       "      <td>0.119591</td>\n",
       "      <td>-0.159822</td>\n",
       "      <td>-0.025583</td>\n",
       "      <td>-0.146478</td>\n",
       "      <td>-0.13008</td>\n",
thecml's avatar
thecml committed
762
763
764
765
766
767
768
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4451</th>\n",
       "      <td>43</td>\n",
       "      <td>0</td>\n",
       "      <td>44</td>\n",
       "      <td>1</td>\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
769
770
771
772
773
774
775
776
777
778
       "      <td>-0.257455</td>\n",
       "      <td>0.105815</td>\n",
       "      <td>0.059605</td>\n",
       "      <td>-0.103876</td>\n",
       "      <td>-0.08925</td>\n",
       "      <td>0.119591</td>\n",
       "      <td>-0.159822</td>\n",
       "      <td>-0.025583</td>\n",
       "      <td>-0.146478</td>\n",
       "      <td>-0.13008</td>\n",
thecml's avatar
thecml committed
779
780
781
782
783
784
785
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4757</th>\n",
       "      <td>34</td>\n",
       "      <td>1</td>\n",
       "      <td>889</td>\n",
       "      <td>4</td>\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
786
787
788
789
790
791
792
793
794
795
       "      <td>-0.257455</td>\n",
       "      <td>-0.212341</td>\n",
       "      <td>-0.012714</td>\n",
       "      <td>0.092974</td>\n",
       "      <td>-0.08925</td>\n",
       "      <td>0.119591</td>\n",
       "      <td>-0.159822</td>\n",
       "      <td>-0.025583</td>\n",
       "      <td>-0.146478</td>\n",
       "      <td>-0.13008</td>\n",
thecml's avatar
thecml committed
796
797
798
799
800
801
802
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       BirthYear  Gender  LoanPeriod  NumberAts      1Ats      2Ats      3Ats  \\\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
803
804
805
806
807
808
809
810
811
812
       "7234          84       1        1045          1  0.166656  0.105815  0.059605   \n",
       "5131          51       1         163          1 -0.257455  0.105815  0.059605   \n",
       "11062         39       0          12          1 -0.225707  0.105815  0.059605   \n",
       "11890         45       0        1144          2 -0.267148  0.138215  0.059605   \n",
       "2610          41       0         331          1 -0.257455  0.105815  0.059605   \n",
       "5489          29       0         735          4 -0.166832 -0.225226  0.211563   \n",
       "3129          71       0        4565          2  0.596867 -0.225226  0.059605   \n",
       "12308         38       1        1902          1 -0.257455  0.105815  0.059605   \n",
       "4451          43       0          44          1 -0.257455  0.105815  0.059605   \n",
       "4757          34       1         889          4 -0.257455 -0.212341 -0.012714   \n",
thecml's avatar
thecml committed
813
       "\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
814
815
816
817
818
819
820
821
822
823
824
       "           4Ats     5Ats      6Ats      7Ats      8Ats      9Ats    10Ats  \n",
       "7234  -0.103876 -0.08925  0.119591 -0.159822 -0.025583 -0.146478 -0.13008  \n",
       "5131  -0.103876 -0.08925  0.119591 -0.159822 -0.025583 -0.146478 -0.13008  \n",
       "11062 -0.103876 -0.08925  0.119591 -0.159822 -0.025583 -0.146478 -0.13008  \n",
       "11890 -0.103876 -0.08925  0.119591 -0.159822 -0.025583 -0.146478 -0.13008  \n",
       "2610  -0.103876 -0.08925  0.119591 -0.159822 -0.025583 -0.146478 -0.13008  \n",
       "5489  -0.143402 -0.08925  0.119591 -0.159822 -0.025583 -0.146478 -0.13008  \n",
       "3129  -0.103876 -0.08925  0.119591 -0.159822 -0.025583 -0.146478 -0.13008  \n",
       "12308 -0.103876 -0.08925  0.119591 -0.159822 -0.025583 -0.146478 -0.13008  \n",
       "4451  -0.103876 -0.08925  0.119591 -0.159822 -0.025583 -0.146478 -0.13008  \n",
       "4757   0.092974 -0.08925  0.119591 -0.159822 -0.025583 -0.146478 -0.13008  "
thecml's avatar
thecml committed
825
826
      ]
     },
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
827
     "execution_count": 13,
thecml's avatar
thecml committed
828
829
830
831
832
833
834
835
836
837
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_test_sel"
   ]
  },
  {
   "cell_type": "code",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
838
   "execution_count": 14,
thecml's avatar
thecml committed
839
840
841
842
   "metadata": {},
   "outputs": [
    {
     "data": {
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
843
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY4AAAEGCAYAAABy53LJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABXPUlEQVR4nO3dd5xcZ33o/8/3nDNtp21fbVHv1ZKbbIxtGWNjDIFrY4jp9Tq5P0gghBAIFxLIzaUkEEwJiTGdgMM1JjbGBWNbuFuW3NR7W2m1vUyfOec8vz/ObJG02iLtaHel5/16zUt7znnmzDOPZue7TxelFJqmaZo2VsZkZ0DTNE2bXnTg0DRN08ZFBw5N0zRtXHTg0DRN08ZFBw5N0zRtXKzJzsB4lZeXqwULFkx2NqaEVCpFOBye7GxMCbosBumyGKTLYtCmTZs6lFI1E3GvaRc46urq2Lhx42RnY0pYv34969atm+xsTAm6LAbpshiky2KQiBycqHvppipN0zRtXHTg0DRN08ZFBw5N0zRtXHTg0DRN08ZFBw5N0zRtXEoWOETkhyLSJiJbTnFdRORbIrJHRF4VkQtLlRdN0zRt4pSyxvFj4IYRrr8RWFh83AZ8r4R50TRN0yZIyQKHUuoJoGuEJG8Ffqo8zwHlIlI/2n1z6QSHOtMTlU1N0zRtnCZzAmAjcHjIcXPxXMuJCUXkNrxaCdFFs9n6ykX8+8Yb2CnXoEw/SypNynwwO2ZSERAifjkrb2CyJZNJ1q9fP9nZmBJ0WQzSZTFIl0VpTIuZ40qpO4A7AHyLl6nP8VX++eJPcC33kc1E6WudxdN7LubOzEXHPa8uFmB+TQTLNGgsDxEP+VgyI0pVxE91JEDQZ1JZ5iccMLHM6TdOQM+KHaTLYpAui0G6LEpjMgPHEWDmkOOm4rlRHZWZ/KX9A77u/n8EQwmCc7Zy05ytvMX5T5Qy6Nn/Go66S1ifW8O2lj6yBYdswR31vpfOqaS8zEdTRRnLGmIELAMF1MeDVJT5qI0FCfstTOP8qNFomqYNZzIDx33Ax0TkLmAt0KuUOqmZ6kT1mSR5oNMq5wP8gl/910Pklx8h0/AqZRXNAFQvXE8161lVfE6qbT7iBig3F+Ff9THSRphUzuZYb5ac7fLCgS6auzNsa+kjmbPHlPlrFtdQFQkQsAzqYkEqwn6WzIhSHvJRXuYnHvLht6ZfLUbTNG00JQscIvJLYB1QLSLNwN8DPgCl1L8DDwA3AnuANPDBsdw3FArxSL2fq1vyALzjT29g/r77+d4XOgmUzaZv/jKOrg6SrzuEv2ofrmsSq90LQJ5t5Fv+G6cQQHU30WDHCZk1XFXTwKx1NxCfezVKKdqTOXIFl75sgb6MTWtflt5MgSM9GR7b0YYAz+ztJGePXIuJBCwyBYel9VHSOYelDTECpleLCflNVjTEWTuvksbyEEGfOe4y1jRNmwwlCxxKqXeOcl0BHz2dey9esozDc7Jcfde97Ju9mL3z3sz133kzsbbv89pXHue9D/up6C4QyLoY0Rnk6lbTsqyR9PJXCNbtwDQLlBWDiQu0AW37f4S7x6KQrCSaXkS0rIFofCZR02LJjGVEFq/AVzaHv7tx6XF5KTgunck8BzpTtPZlyeQdjvZkyNkuzd0ZENjc3EuZ32R7Sx+ZvENLb/ak9+Q3DZY1xAaOmypC+C2DvozNsoYYtuNSHw+ytD5GyG9SUeYnmVe4rsLQTWeapp1F06JzfDi+YJCn3ncLd37zX/he/VJaZsyir/Z/8uC1H+LpVV/Dn9uG4RosPdzK2h3HWPegIngfICaqfD59sxfhzp1HRzxBsnIXwZrdxONtBOJt5ONtdAKdAA5ez8sRcFoXErTj1FRfyIIrP4IvUoXPNJgRDzIjHhxX/nvTBZ7c086BjhSbDnZjmQaZvMOu1gSVYT/bjvZxuDuN7Sr+sL311Dd67AEA4iEf8ZCPtXMr8VsGfsugN1NgZkUZAZ9BtuAyq7KMxvIQ5WU+LEMwDcFnGjSUh3S/jaZpYzZtAweAYZjc9sm/5SOuw6f+5ev84pLrUYZJb91nAXhjqIurL21h47Fn+enRpwknCvyPZ1zW7jpA2bYDlL0MFf33iswgt+i9HJw3AzvWTd5IYpg2vcEWIhXN1NQexKzbTQE4ykaObrgDJxvFTZcjZp5oagkV1cuYsfT1hCubsELlGNapizde5uPNqxrG9D5tx6UrledQV5rudIHuVB5XKda/uB2nrIpswWHjgW4Uiqf2dFBwXDqSeQwBV42xLItpZ1WW4bcMLEPY05bkw6+dy9zq8MB5v2VQHvLjswS/aVDmtwj6DER04NG084V4LUbTx+LFi9XOnTuHvZbu7eFr//Hv/PslJ09Yf+ySxcwJKO7bex/7evexs2snMX+MbZsfZ/U+xfsfdfE5xz9H/BHMqgVkaxs5MLueTCRCd2g//uodRGMduK5BeXkrpjl8h7qdD6G6ZyFmjrA7l6C/kmCoklC4hhmL1xGum39GZTGWoYauq8g7Xn/N7tYk6byD47rYrsJxFTuPJfBbBnvbUwQtg4LjkndcHth8bNz5qYsFqI+H6MsUmFcTxm8Z9KQLLKqL4ipFXSxITTRAmd+ksTxEVTiAaQq+Yu0n5DcJWCaGMO5ApIddDtJlMUiXxSAR2aSUunhC7nUuBY5++WyGl594nM/sb2PbotXHXbtr1TzWVcWOO6eUYsOxDTyw/wF6nnuGyNEeZnS5RLpzzDrm0NB98mt0LVmOufYK0r4wxyRLq9pHJNSLWdaD358hHO5GxCUaHWnyPBTa52MoodZcTt3sy6heeAW+isYxlUWpfylytkNrb472ZK5Yi8nhuIqCoyg4Li29WQKWQVcqz562JAHLYHdbknjIR952OdiZIuQ36cvY5J3Rh0MPZRmCYQiWIfSHEFdBQ3mQxooyfIZgmYJlGvSmCwTzPcyZNRPLNEjlbOZUhxG8QQjVxdFvhgjxkM97XjFYNZyDAxP0l+UgXRaDJjJwTOumqlPxB0Ncev2NPAY079jKV37yE+6+/l0A3PrqPgDuXNLEm+urAe+v27X1a1lbvxZec/y9XOWyq2sXv3zwa0S3HabhlaMsPuxSuWMr7NhKHOhfJyXvN+hY1YQsWo3lX4CyKkl2pzlmdWBaWTKBLkzDwY0eY/bsV8jnQ0RqvE76TvbQmbwXXoJCrgxl+/H3zEVJjrm1V1NZt4iKZdeBL3QWStATsExmVZUxq6rsjO+Vsx2SWZuW3ixHezIksl4tzS7Wftr6coiAIVKsDRVrRY7CdhW72xK0J3LEgj56MwVsx8V2FDtbE1SU+cjlbZ45doh03hklJycT8ZroHFcxryZCJm9z2bwqzGLgskyDZNZmVmUZQb+JZQjVkQCW6QUiv+k14YUDFn7TwGeKbrrTzmnnZI1jOLl0ms9/6e/56Rvefdz5mkKWWxtruHVOI/PDY+vgThVSPHPgj9jdXbRt2UTgsQ3M2NtDecIlMEyrlROM0HXBZaQaqon5moiaNfiyQY5JDwnJ0BHbhT+YwCnfT7y8Fb8/g9+fQeTk/5tCdz2+bDk+FaWQT3PZ5X9BeMm13rffeaz/L0ulFDnbJWe79GUKZAsOOdulPZkDxXFBaV97ioOdaQyBlw73UFHm44UDXvVyPP1Dp7KoLsLKxnKqo36vFlQVxmcaWKZQsF1mVpYNHPtMA79pUFHmL9akhMoy/2mtaKD/yh6ky2KQbqo6jcDRL5/N8Nvf3c+/t/VxpG4WXRU1x13/RFWIT69chHEaX8RKKRKZHhJHDnDg+T/Asy/C3kNUHhimuUpM8pX1vLSmnlhgJqmacpYbSwkm/ORtm3ajl7TkOVK5CX+4g/KqQwRDCQKBFACGMfj/plwTFFQcey2uKtA05yqsQBifaRGqmomvcjZGdAYY5+6ExFJ8QbiuGugLSuVtMnmHnnSBvOPS1pfFVV6NqX/odSRgUnAUG/Z3seVIL9mCg2HIQO3qdPgtg3WLaljRGCce8rGwLkIs6GNudbjY5Gac1CekvywH6bIYpAPHGQSOoZTr8swfH+Pe3fv56cJLjru2KN3DFeUR3r1wDitqq8/sdZTCTaWw29rIHzhI7/33k3jggZPSFUzwOfD7NUJHhZ9dc0KEgg1cFriUptwM7CQ4BYUqOOz3HSFev5WKyqNUVh4dNQ92ohqsPIHO2ZT56jANH4bhQ1ybZZe8E//sS8Cwpm3NZap/QWTyDnnHxXa8QNOVyuO4Ctt1yduKrlSenO14wchxOdiV5sHNLfRlbbpS+VHvbxmCAhxXURMSIuEyTEMwxevLMQ2h4Hg1rbpYAMswis1wQmcyP9A0Z4hgCBjFn1M5mxWNMXymMVA7MkSojvgxivfu/9cyhYoy/8A9pkJz3VT/XJxNOnBMUOAYSrkuL216gb96ZRc756886fqMjqNc1lDHVy69gHLfxHQNKaVwEwl6//u/sdva6PrPX6AymZPSJYOwbZaws0l4fKWQC/tpoI5IIsjrWEcwEyKlesirNqxwOwCWlce08oRCCQRF3Yx9o+cnF8bfNR/HzCAFP0GpozxUzvzL3oOvfgUYU7cT+Vz+gkjnbZI5m33tKXK2y0uHugn5zIHaUH/zW3N3BqWgvb2V6pq6Yo3JxXG9iaqHu9PURALYxefYjsuetuSoKyCcCaPYb2WIDPRh9TcDZgoO86rDdKXzLKqLHhfkTENIZm1es8CbK5XO28yuChOwvABWcFziId9AWoCm8uJQclOIBCyCPvOc/lyMlw4cJQgcQynXpaXlKHdtfJGHcsIhfxk98aqB69FCDp9l8a8r5nFxeZQq/8SNMfBqJ2nSG18g/dzz9D38MHZbGzjHd/rmfcLhKsXmOcLGhQa7GqEpOpPeXC/Xzb6OMqOMTCpDoz2DcLufbEeerJ1D3CyG6aAokKSDioqjRKMdhMr6cF2z2L9y8sx2AOmrB7OA2VdP0K7DMAzApq5uGQ2r3ohVu2jSmsP0F8Sg0y0LpRRKgasUjlK4LhztzZAruMXaiks679CeyOEzDZxi4PLSKva2eyPq3OI9XFX8PBd/dvvv7yoOdaWJBC32tiUJByzvNQfuB68c7pmQslhUYVBVUYFlCh3JPMsbYgMj6oaO3OvNFFjeEPf6mwwv+NTHQ8XA5NWeTPFqdRVlPurjoWm3Fp0OHCUOHMM5uG8vn/rDHzkUinGwacFJ1xeke6muKOeD82fx1rqKYe5wZpxEgsTvHyG7cwd2ezvZVzdTOHL8YsItlQY+BzYt9+PmchytEvpCcKRaOFQDiBA0g4gIjZFGfIaPzkQnVxhX8KZ5b6KjrQPyLoebD+EXRcJ9hVCoj1i8DaUMb2Z9YIRNtJRgpGqRbIRgqgklLpYEMfxCRWQGc177QYxoHViBCS8fHTgGnUtl4Q3/dunNFMjb3hyj/j4jx/WCku0o9nUk8ZsGtqto6cmwqzVJX7ZAd3c3kVic/R2pgf4gRw2pqTmKxBgXNj1RXSwwMFdpcV2UzlSey+ZV4jeNgaa+oc1+5pAmPIXXJFkXCw4ZHu41H14yt/K4lR3iId+ElKUOHJMQOIbKpdPcu/5xHu9Ost0xaIlX0xs7PlhcYLq8Z04DtzTWEirRXh/rH32UtbW19P72t9ht7SQefhjx+1G53Cmfs+XyGUggQE9NiI5kK7tCvexsEn5w690sqVxyUvp8Pk9rayvJZJK9e/fS3dGFm8/hFLL0pNuxAkcJhvqoqGghEEgTCvUe13F/EjuAkY0T6FpIXfRKzIgPf7yMYLSS2Ow1WJGqUz93pLI4h74sz5Qui0FjLYtkziZvuwNrzyWyhYFa12ANTHGkJ8O+9hSOq8jbLrvaEpSHfOxpT9KdKgwEhv7aVX9wO7HWNV7lZT560gXmVocxhCH9UV6AaU/kWNEYGzhO5mxqIgFiId9AAPv8nyzX8zgmU6CsjHfc+CbeUTxWSnFkx1bu+PnPeHzeKg40LeAVf4BX9h7jb/Z6M7CfuXQJ88Y43HfMTJPQypWEVp7cJ+P09WG3tpI7cIDMyy/Te89vUI7DimeHnxGuvnUT2wH/nDmUXX4ZYlr4Z83CP3cOTa99LSLC0qVLT36eUnR3d7N7927a29tpPdqNa7sU7Bxd3UexpID4O5hRvwvXtair24cbaSMTaeMAT3s3SRcfrWDkYohrgWviugbKl8FMzkApUI5F3DefsnAtlbWLMQNlmFaA2MxVnNZvo6YVRQIWFCvCdbEJ/j09gVLeag7ZvFvsg/JqP5mCw6bi0kH9/Ve7WhOU+b0mvUjQ8oJP8Vp/QNrTlqQq4udoTxZXKXozBVp6s0QDFiIMND9OJF3jKIHOI4f549NP8f2eHC8tXD1wfoadY47h8v4l87mpsfaMX+d0/rJUSqEKBdxkEqenl5cfu4sXHvkZ9b0G9e0Opj9ArPvkGouUhTDLyzEjUWJvfjPBxYuwamvxzZyJGYmM+Jqu67Jv3z4SiQTPPvssHR1HiMU6EHExDIdAMIXfl8Gy8oDCNBSGKMrC3eRtPwHTIRTtGPE1zEwlyjURBDNRhy9XiV/iBIxy/P44gViIGRddjb9iJlghPTT5PKHLYpBuqprigWOofDbDu27/LptWXk4mFD7u2iony1uaallSXcU1VTHMSVifKV1I84sdv+C5ludQStGWbiOVS5Do62BJs+KiPYq6bihPKea0nfo+5oWrKL/kcqLXrMO/YCFmJHzqxEAqlaJQKJDJZLBtm87OTrq7u1FK4TgOjuPQ1tZGMBAkk0yz//AB/P60t5xLpAuUgCii0U5QYBousVgbwbLEiK9r5MO4VhZfuhbbymBlKvCl6lEOVKiVVDddSHTOPAJNNeAPItbEtC+fTfrLcpAui0E6cEyjwDFUNpXi337xn/yoZj7t8ZPb8mfi8P/NmcEH5jSMaQx8qX8p2tJtbOnYwuaOzSileKX9Ffa37qC226Wmy8ZKZLl6s0t9F5QP02eeD/spBC3yMypxls1nyVveS+XyNZhlp7eESSaTIZ1O09LS4o3WcV3a29sREfbv309PTw/JZALDcPD5MwT8GURc/IE04bIeRBTRQA7EIeDLEywfYf6La2A4IcQ1ca0MVrIeF5fyjksxfFECoRDBmhoqZq4mMmsF4jORKbI0vf6yHKTLYtC0CRwicgNwO2ACdyqlvnLC9dnAD4EaoAt4j1KqeaR7TufAMVR3yxH279jG5n37+ZEbZMeCVSelua2qjA8tnM2c0PCjkKbCL0VzopmtnVvZeOhZCtt34N9xkOrOAkbBofFIlvouTlqGJRWA3hkRfG+9ARrq8AVCSGUljUsuoiZci2VYmGKOawLZ0LJwHIdEIkFbWxuFQoGuri6OHDmCUore3l4cxyGVSpFOe9FOxCUWa6cs3I1l5QlZNhYWlih8oR4c20+0ds8pX9sohLCyVdj+XiQfIZBoROwgi2r+muCseqzKEEaZhVkeOCuT4qbC52Kq0GUxaFoscigiJvBd4DqgGXhBRO5TSm0bkuxfgJ8qpX4iIq8Dvgy8t1R5mkoq6hupqG/kwmvg/UBfexuP/vY3fEdi7GhagGP5uKMzzR2d2/G7DhcZDl9ds4RF5bFR7302NUWbaIo28YY5b4CrTr7uuA5tfUd56u5vETraRfqZZ1l5QBE+mIRv3X1c2iSwpxzyFpTl4UCttzJu34woxxqCqHAZdZdeSWVVIzMr5xH2hTENk8ZII44anOdimibl5eWUl5ePmv98Pk8ymWT79u0cPHiQfD5PKlfAMAxs26bjUAfBYJDEjsuwrDx+f4aygGCafVi+LFXxDgLKjy/UhbL9mOE2nGgLAC/xFOFtFxDuXIFr5LDycQLJWRj4sFIVBKoqMCJ+zFgApcAM+/A1hBGfiRnzIwETX20ZMs3mC2jnvpLVOETkcuAflFJvKB5/FkAp9eUhabYCNyilDov3p1ivUmrEb8ZzpcYxEqUUuza9wE9f2cq95Q10VNYdd/2qTDed/hC3kOG9664iYk3dGd3DUUrR0ryDXMsR8p0dJHs7KDyzgVwhgxQcwvuOUQj7ie8+9c6HfSHI+SCYh/0zhJwPsj7YVy80v2YedY2LmBOfQ0WggqpQFX7Dz8qalVQGK7GM8f+91Nrayquvvopt2ySTSQ4ePIjjOGSGmekv4rB8xeNUVLSMel8zXYUoE0NZOP4EvlQdvmw1hh3En66j4uANCEJgXhyrJoSYBlZtGWUX1GCEhn8f+q/sQbosBk2LpioRuQUvKHykePxeYK1S6mND0vwCeF4pdbuI3Az8GqhWSnWecK/bgNsAampqLvrVr35VkjxPVfl0it82t3Dv7JWEsumT5owAXOBkWWu6LMKmAZcp0tw+ISSZxOzpwdy9E9XdRS7Vhes6hDq6cfIZom19BDKFk57XHYZC8bu1LAcvzRd2NAmdMSFnKZIzKuktU9T66whIgIXBhcz2zyZmxggaQSyxsMTCZORmM9d1cV0X27bJZDL09vZy4MABQGEYDsGggSJFLJwgaJkE/Ul8/i4sZWIKIA5mqBtDXHyxdpSSk1ZGtpIzsJwQ1btvwZepwZcpLs5pKMQ1yIdtlCEow8BWDj5lkot593BNsIsjTO0gOH6FMsDxgx0CZQDn0OdlqGQySWSUUX/ni2uuueacCRwNwHeAucATwNuAFUqpnlPd93yocYwm3dfLXQ8/zBNH23hm7nL6osPPVLdQXB6P8PqaOO9vqCZYoomIU8H69eu58uJLSDz0IJnt23HzOQp2nnw2jfPgoyM+t6fYV3+kGnrDQnscDtUIbXHBNeBoJRixGBk7w9sWvY3lVctxlENDpIF58XnMCM846Z6O4/DAAw8gInR0dOA4DseOHcPv95NKpUZ9P7FojuqaV6kOuRiBTnyRzpMTuaY3usy0kWwcFezFTNYSa70EwUAcH6YTwp9qRFwLf7oOMx9DRogSZtwPpoGYgpu2sWrLEJ+BytiYlUFwXKy6MGIIRtTnDQgQQUwBBeI3kKDlnTcEBAy/6dWOjGK6/n9No+QDCnSNY9B0qXGM2lR1QvoIsEMp1TTSfXXgGLR+/XquvuoqNv3uv9nf3MzvWjrIBYIcq26g4POzZ+6y49LPDwVYEytjaSREwBCurIgyK+gv2cz2s2ksXxB2VxdOZydOIkF2xw7yBw7gplLk9uyh0NuDc+DQiM9vqYDDNcLeeiFnweEa6IgJbeUQD1bQVeihIlDB4srFmIbJV6/8KvFAfNh79fX10dfXNzD0OJFIkM1maW5uRkR49dVXT3pOJNLJ8nn1iLOHgFEGyqZAC6YKY5ttGNFmDPPkmtdwlGMhdgAjVY3yZak6ehVimCAu5fmFkI1j+AXTjUK+HJTCGWZ+zxkz8AKMrbCqQ9jdWcIX16HyLmZFAJV1sKpDXj+P4D0UBObFMaJ+ZJT97nXgGDRdAocF7AKuBY4ALwDvUkptHZKmGuhSSrki8k+Ao5T6wkj31YFj0HC/FK7jkO7tIZtKsnvDMzzzh4d5ZNllvLziMkzHxjFPbhcPCywMB1lbHuX1VTFeUxEZ95ySyTZRXxDKccjt2YPT3QOuQ27ffvIHD5J64gnyhw6NOkO9rdLkcIWLa8C/32iwYM6FXNl4JalCiqpQFcurlhO0gsT8MRojjSN+6bW0tNDa2srBgwfZvXs3yWTylGlN08RxHCorKwkGA8ya1YRyUii3i/JwmExiF5bKYjvtoBxs3z7EjiGxfRjmyGs12V0zwHSw+ipwDZtoNsrM2ouxrDCm6cdnFzDC1Rh5A6tqMQoTxALDwnHioBRKKXAUylHgKpzeHBK0wFHY7WnEb5J+uQ0zHsDpyQ0EiLGyqkNgCtgu4jMwIn7crE272ceshXNQBZfIFY1ejcgy4DzcpXFaBA4AEbkR+CbecNwfKqX+SUS+BGxUSt1XbM76Mt5H5Ango0qpEf+s0YFj0JjX4enq5I8//yGm5ePY/j0kTR8bgnFy/gC75q3gWE0j6oSZ1AsNhemzeENdFX8ztx5rineanK2/LJVSqEyGzJYt2O3t5HbvBscl9fzzIGAfa8VuHezU7wvBzibhQB04htcM1hWFrojQUgnlwQp8hg/TMOnJ9jA7NpvGSCMRf4SZ0Zn82ao/G/iC6+vrG+iYFxEcx6Gzs5NgMEhbWxuHDx8GvGYyEaFQOHXtw+fzEQwGqa6uJpdtZ+mihbhumnTfFuLBCIJLOnsIm53g78Pwp8dUm3FtP24+CMrACKRwc2GM3gqvSQ2Q4r+uVSCQClAZaqIpWEbF2veA6YNADKwgmH4IxnHzgltwi0FEgQv55gR2VxZchd2eKQYmUFkbuzuLUeYjf6BvTP+f4jdAgSq4hFZVe5NJo36MsA+rKkhgYQVGyJoyc3TOxLQJHKWgA8egM/myVEqR6ummp7WFI9u3svflTbycyPDCkovoi5TTG6sgGR4c4Fbm2lQZwueXzOaNdVX4ptgv0lRqklCuS+f376T9299GDAMMA5Udfql6O2CRKQ+icnn8WZuX5gmd5SatEZsX5wvt5V45z47NJuqL8qlLPsXM6Exqy069ZE1/WeRyOTo7Owf6V7LZLD09PTiOw8GDB4lGozQ3N+O6I+/HsWjRIhzHYf78+WQyXYQ4Qshn4TpZ8rle7EIvripQKLRgKD8KB0cSmBVbsJP9+VQgClAYwb6TgpCTD4FrIFYeN1nh9dj7s1jdMxAEV/JE3RoUCsuFWLQR07QQt0CsoolApJLo6lvAFxrYjEwpxR/X/5Grr7qa1Ast4IKyXZTtYnd5AQZXkX613auFuMqr7YxCfAZG2Id/VtQLKP19QqkCvvqwV/MRAUcNjIQz436MMh9m1O81z4mc9WCkA4cOHEBpviztfJ7O5kP0th3j2Vdf5f9lhYw/yK65yyj4j5+IODub5IKgxecuWcnsUZYYKbWpFDiGowoF8s3NuH195JubKRw6RG7PXsTvx+nrI/3ss0gohNM5TCc48NQyoSMGv77CIOf3vnCiviiGYdCb62V2bDZt6TbmxOYwx5nDovmL8Bk+wr4w88vn4zN8zI3PJew7+f8plUph2zbZbJZ9+/Z5y34rxbFjxzhw4AC9vb3D5qm+vh4RGXik02kWLlxIMBjENL2RaLFYjFgsdlw6EQFVwMm0cnjvgzi5dpRbIC+HMdwIChvKDhZfRTCDY6s9OPkQKh3FSsYwHYu5RjVd/nksX7kG0xfELG+EmiUjbkimlALbxenLk365vf8kyvVqO9nd3Ti9uYGgo1wFjovTO/oujcMaEkSUAmwXsyoIjiIwvxyUQnwGvhnh4lDsEIB37DPGFYB04NCBAzi7zTOJjnbuf+wPPJbMsytcya66WSelu9kq8KmLVjGvbOL32xjNVA8c4+H09ZF6/nlSTz5F4tFHhw0myYZyUtVh+owcEgqxr6JAb28rR6qFI1VCV9TbOVKd8KXiM3wU3AIxf4ywL8zc+FyS+SS3LrkVn+FDobhkxiVe85mYBMwAPtNHPp/Htm0OHTrEo48+SkVFRXHjJ+/R1dVFd3f3uN9rbW0thmFwzTXXYJrmQBOaaZpEo1ECAe+zlOhtB1eR7GsjlWjHdW2cQo7eji2gHHozjwIuVvzwiK9nJyvx9dSCEmRgfJlgOFBZNgvTsDCUYt4FN+JbsM5rMhtjX4hSymtScxXKdnGSBdxUAZVzcNMFCu2ZgZrNQDDqT68UbjF9/mjSCwgiOL1jHJAgDIxi8/YQ9gYbmPFi/gVqP7JKBw5tcr8s7XyentYWbn/iGX5cM5+Cz3/c9aZckkZRXDiriU8unEW0xJMUz6XAMRyVz9N9991kXn6Z3Pbt4PORP3AQlR5hY60ie9Fs8tkUubCffcsrSEf9vOA/QjhezUupnaSCDNRihrN2xlpyTo4L6y4kVUixtn4tl9Vfht/04zN8GHJ8/1j/QpXd3d2kUin6v2P6g0yhUGDDhg1YlsWuXbtGzLvf732u8vk88+bNGzg/c+bMgdn9VVVVhMNh5s2bh2mauI7DzpcfpOvY8/T29BKPlZHO70GFi98bysBrOnMRURi+UzQjdtWDL4+RjBX7aARRgiivX2ReeDl1i64iWNmE0XThKP8Lp0e5CpV3cFMFr18HyDcn6e/v6e/foRiElFKotE3uUJ83BLr/610p6j66RgcObWp9WbYdOcy/PPQIf/TF6CqvRhnGcX0k1abBa6ti3FxXwbWnsRLwaKZSWZxN/cvkUyiQP3iQ/OFmdvzxj8yfP4/0Sy8hlo/s9m0UDo481FjmzsKJhsh1tJNcNZfsjHJaC10cyDTzwow0bf4sqdDo/2dz43OJ+WMDNRbTMFlQvgBDDO8vfBEMMUjkE1w842IWxBYQzodxHZe+vr6BTv/29nZyuZy3182RI7iui4jQ3DziUnZEo9HiyLIgF1xwAUeOHGHdunWYplnc6vhk2XSC9pbdOHYO1ymwZ8ftiOvgBo8UZ056QcZ7OFjhrpPuYWdikAtipeKIMvGCjIEAjpEn4MYYrOMIrptlSd2FWOUN+A2DsrmXQrQegvERm9LOhG6q0oEDmNpflq7j8OR99/Cv+46wceVrsE+okcwK+nhvQzW31ldS4z/zpcunclmcbacqCyeZxOnooNDSgtPdjdOXoHD0qDcyTCnSL7yAO4bJia5l0H3pIhJzqkm7WfLiksOm0NfDsSU1JIOQE5uXureQKg9gFL8IXeV6mxi5J/cHXFBzAT7DR7KQZHZstvdzPsnq2tWYYuLisrhiMa5yqQ/XEw/EMTHJp/IoW/Hcc8+RzWbZv38/+fyp+xsikQgrV670AphhDPwbiURoaGjANE38fj8VFRWnHK7rOg67X/odncc2kMnuww7sBXEQs3BcbQZxMf0nL0kzEjtZidlTiaUCXu0GA4c8fsfHwroLCNUuwPIFsCw/Pn8AQpVgWlA+B8Ij7545LRY51M5vhmly9U1v52pg+1PrefpX32d3weXVZZewY/5KDhHmn/a18E/7vPWclgR9zI+W8aczKmkI+FgaCU27uSRTnRmJYEYi+OfMOWUa5bqoQgGVz+OmUmReegm7swu79RhOTy+ZzZvJ7dhB1TM7qHpmmBv87sSaTRpME7EsxDTBMHCTNiycg93Xx55Gg2BesX1NgoOFVsyZVRxMbmNH3uurWN+8fkzvzRKLi2ZcROPsRi6ouQCr16K6UM3ePXuZM2cOra2t7Nu3j3Q6zcaNGweW5e9vPhvO0qVLyeVy1NTUYBjGcY9AoJoLrvks4fDog0Icx8Z1bJRycR0Hx7HZ8vwPEadAoZAkmz2AbbSClcQIdeP6MxREgWEPzLHJApvZ7K0EOoRr+0EJhi+He2Su11xl2fhzYSz6dzIcaa2A06NrHNPYdPwru7etlS3r/8DzzzzFK/Fa9s5eTMHyc3DmgpPSVvpMoqbJrfWVLI+EWBwOMnsKLzE/VZS6LJRS4Loo2wbbRjkOyrbJvPwyqmCj7AKqUCC3cxdGWRnK9s5hO+QPHsQoKyPz6qtgGqM2ofnmzkX5LAq93bgrF5EkB9kcdshP77wa2pLH6JoV55Hu52ip9Go1Q4WNMPWxenyGj65sF5fOuJQ1dWswxcQQA0MM7IxNKBui0l+JKOGZ9c8QLgvT0tIy0MfiOM7AmmRDvzNramrIZrNcfPHFVFRUDBtk/H7/wCizobWcUzWdDeU6DulkN9s2/QJVSKPcAq6TI5M/iiVlKGWTM7eBkQME8aUx/cPXGl9/7T7dVKVN/y9LpRTp3h52Pvskf/jpnXSV19Adr6J5xmzy/gCbl578GfeJUOu3uKIiQspxWRMtw28I+T27+F/rrtC1FKbX50Iphd3aitPdTW7XLtxcjvzevdjt7WCYKMcmt207WBbKLuD09OKeYnhwP+fiFbTQx9aLKtleKcRqKnm1ZxtHC+3jytvNC28mXUgzNz53oL/GEgtxhNTuFPFCnH179uE4zug3G0Z1dTVz5swhk8mwePFiYrEYdXV1hEKh07pfPy+4FR+u63WgowgEwzpwaNPrC2IsHNsm1dPNnheeo+toM8f27KT54AF6YpUcnTGLnfNWkAxHKfgC9EXLT3mfN1THWFcZY1bQj18EyxAqfRaLys7ORkqT7Vz7XJxI5fM4fX3e8jA7duDmcqSefJLMlq3kduwYcVkYo64Wa80qlGWCZaBMk1T7Ufrm1pBcMIOCuHz/0H+hZjdyKDny0F6AWdFZdCe7ubL6SuJOnIZIA4YyMDAQJeRTecQUyqziSpoKssks+7bsIxQKDbssP3BcLSWdTuPz+bjooouoq6sb6OgXEcLhMKZpEo/HB5rN+ms0J9Kd4zpwAOf+F0Q/13Vo3beHQ5tfoWXPLvrajpHs6SafzZJViu5YJftmLeZA03wON84b8V5zQ36WFZu93l5XyYyAj6Bxbq1bdL58LkaSP3iQxKOPsefAfhbMnk3i9494tRjL69ZVdgEKtnfuFHwzZ+JrbCS4bBnKMlGWgbJtcrEgTwYOsWWW4pX2VzmaGmEL4lEsKF9AqjfFkuASrLRFFVXURmoxMMCFdG+aZHeSXHp8C0z2b2Q2dNLl+973Ph04NP0F0S+T6OPhu/+LqHLYueEZ2rN5EpE4SgTHtEiHwhxoWsD2hRdguA65wMlNAUEUOWB20M/F8QjLIyGur44Rtyyq/dNrDIn+XAwaS1k4yRT5/ftR2QyFtjZ6f/Pf2K2t5HbvRoJBr6nHtmGYJqnAkiW46TShCy4gm03CkvlQVY5rGrimQSafxq6rwK2K4wR9uJZJMp/ghzt+Sn28idZUK+2ZdlrTp960DMBwDYIqyIqKFd4eMY5JNp+lLlSHlbVQecWs2CzsnE1fSx/RcHRgDkf/xMS/+F9/oUdVaVq/UDRG+dyFrFu3jms/9OeAV0txbBvXtnEKBbpbjrJl/R8IhMNsf+YJNkeq6ayoJh2KkPMHyQZCHGqcxwGEA9lu7m7t5ot7B/+SnBcK8K5iJ/2SSJAZft85VUs5n5mRMKGVKwaO429607DplOvidHWReeUVun/xS4yyENmt2zAiEfp++1sv0SOPH/ecQPExVCXwD4BZ3YpVUY7TZxOYfwlOOo1dV4mzcDZOOEihKkbCSdHm9nK//SL+ymps1ybrZtnbu5fKUCWtbiuHcsUBBv1dP8NvzzOhdODQzkmGYWL4TSiur1UWL6dxibc/ybr3fhiAfCZNPpMhl06RS6fY/tR6WvftYe/hw+ydtxxcl20LVtFdXs0+4vyffcdvBfuGeIgyn4+LKqL4RVhXGaUp6MfQAeWcJIaBVV1N9NpriV577UnXnWQKt7enOIrMxk0kKLS2oXJZ7K4u3L4EEgridPdQaDmKWD4KR47g5vOknnl28EYPe0tY9QedaqB/Zx3//PlIwA+FSszqKkIrVnhLAiU6MZYvxhVo6z2KM2sGrt9CmQaO38L1W1zP2yesLHTg0M5b/lAZ/lAZkUpv4lTDoqXHXVdKsWX9I+x+7jE279xJqryKtlgVO+avoK26nt+7Dsow+U3H8IvwfW1RE+9pqNKB5DxhRsKYJyz2Od7xUW4uh93W5nX+5/PYrW0Ujh4l/fzzmOVx3GyOzMsve0v3795NZtOLqBMmPJ6FCocOHJp2KiLCymuuZ+U113Nz8ZxjF+g5dozm7VvIp9tpPnqE7mSKJ3uSJMMxOirr2L7wAgA+vauZT+9qZr4qsNAnLItHCcfiNIQCXBAtY05I10604xmBAP6ZM086X/WhD57yOcp1KTQ3oxwHXJd8cW6MKhSw29qKW/sa8K53TVg+deDQtHEwLR9VTTOpavJ+uS8pnv8QFJu80rQd2MdjTz3BT+JNdFbUsjdexV4bHurMQOfxwy8r8hmuCfuZ4TOoqa7hDfU1NAR85/T+8NrEEsPAP2twterA/PnDJ5wugUNEbgBux9sB8E6l1FdOuD4L+AlQXkzzGaXUA6XMk6aVSqAsTKAsTKy6hgUXr+U2IJ/N0HOshURXFzt3bKNHwcaMTbthsaGyie54JfcUgAJwqIMvHuoAoM7JcUVljMtqq3lXQ/WU34FRO7+ULHCIiAl8F7gOaAZeEJH7lFLbhiT738CvlFLfE5FlwAPAnFLlSdPONn8wRO2cedTOmcf8C72RkP1/9ymlaD+4n0wqya6tm3mkK8FeG3bUz6O1spZ7enPc03uET+8+wgWJTirjUT5/0UqWRc5sZrGmnalS1jguBfYopfYBiMhdwFuBoYFDAf1rb8eB059Jo2nTjIhQO8ebsDh7+SquK57PJBMc2vIq2w4c4LtJl95gmFca54ELj7/gzWF6nR9unl3Pqoo488sCeqkV7awq2QRAEbkFuEEp9ZHi8XuBtUqpjw1JUw/8Hm8gQBh4vVJq0zD3ug24DaCmpuaiX/3qVydeH5h6P1U5jnPcpjYTIZlMEolEJux+09m5Xhb5VJLfb93Gf11w9Ulb+AJYyiXoOhhAg1vgQh9chk0VLuZ5HFPO9c/FeFxzzTVTf+b4GAPHJ4t5+LqIXA78AFih1AlLXA4x3Mzx/fv3E41GqaqqmpKTspRSdHZ2kkgkmDt37oTdV88QHnQ+lcXRXdvZvv8A9z75BPuqGylYfo7VNpL3+ekurzkp/dyQn/qAnz+bWcPrS7CJ1lR2Pn0uRnNW9+MQkZVKqc2nce8jwNBxZU3Fc0N9GLgBQCn1rIgE8ea7tI3nhbLZLHPmzJmSQQO8GlFVVRXtI6yLo2lj1bBoKQ2LlnLtG96IXSiQ7OrEsQtk+nrpbD7E/b+5m2318+ioqGHbwtXsB/Zn8jzT423m4BO4MBam13Z4XWUMWylilskHG6up9JlT9vdImzrG0sfxbyISAH4M/KdSauQ1jQe9ACwUkbl4AeNWBvsF+x0CrgV+LCJLgSBwWt+uU/3DPtXzp01Pls9Hed0M76BxJk1LV9DtK+Nvr7iCdG83G3/7G9oO7GVLWyebll5MT7yKvC/AlmQleX+AHanB/bb/5cAxwKuhzAsFOZzN8/HZtRgiLI+EqPCZVPss/VnWRg8cSqkrRWQh3lD1TSKyAfiRUuqRUZ5ni8jHgIfxhtr+UCm1VUS+BGxUSt0H/DXwfRH5K7yO8g+o6bbqoqZNQZbPR6y6ltd98M8Gzh189WWO7dtNpq+d7q0vs+/FF1BAzh9k08rLOVbbxLGaRpxkgUcj3vzjj24/eaMlvwgfn13H/LIAAUMwRZgTCuA3hNlBvw4s54ExjapSSu0Wkf8NbAS+BawR79Pxd0qpe0Z43gN4Q2yHnvvCkJ+3AVecTsanooceeoiPf/zjOI7DRz7yET7zmc9MdpY0bcDsVauZvWr1ceeU65Lo7GDL+kc4+OpGZP+L2Pk8rft2kwhHyfmDdMerSYfCHGyaz875K8krxT8XayfDCRkGBeViK6/2UuWz2JvO8dFZtQMTG5eEg5giBESYHQoQt0w9V2UaGUsfxyrgg8CbgEeAP1FKvSgiDcCzwCkDx/nEcRw++tGP8sgjj9DU1MQll1zCW97yFpYtWzb6kzVtkohhEKup5TVvfzevefu7j7vm2AUSHR207NnJ4W2b6Tz4Kkcf+S9yvgDpUBjHtHDDUdpDESpqajlY3UgAl1AkSsK06FQmYbeM5w1v7+sTF4kcziWxMHGfyT8vbqLMMPAbBiE9i37KGUuN49vAnXi1i4H1EpRSR4u1kCnli7/dyrajwy86d7qWNcT4+z9ZPmKaDRs2sGDBAubN88bl33rrrdx77706cGjTlmn5KJ9RT/mMepa+dh0AdqHA3o3PcXTXDlzHIdXdRaKrA6u7hYZnHsHy+TEsk/yQne2uAvKWH8c0sS0fvdEKguUVuD4/R0Ix7KbZHAmXc7Aszgt93n7Za57Zdlxe6vwWdX4fhghJx2FhWZDrqmMsj4RYFQnp5rGzbCyB4zdKqZ8NPSEiH1dK3X7i+fPZkSNHmDlkcbKmpiaef/75ScyRpk08y+dj8eVXsvjyK0dNm8+kyWXSdB89SnfLEZxCnvZDBwBBuQ597W3M3LqV3IY/DKz55YqwcdVrmL10BaGaOnYqi14xqA0HcBB6HZc96Rx70jke7Bgcp1Pjt6j1WwQMg1tnVBIyDW6siZekDLSxBY73Ad884dwH8NagmnJGqxlomnZ29C9bH62sZtaKVSOmzST6ePXRh3nqlz/h0leehleeBgYXkRzqCstHqqKG6GVXsSlUgRWLc8wXZWvSBuDFvjQAf7Ed5hNh5dYDFJRiZtDPa8ojhE2Dcp/Fcr10y2k7ZeAQkXfiDZ+dKyL3DbkUBbpKnbHpprGxkcOHBze3b25uprGxcRJzpGnTRygaY+3/eDtr/8fbyWfSJDo7cR2bQi5H8/YtGIaBY9vkM2k23Hs3M1WBzEP3cGlhcC+KG4FUKEz9pa/lvlnLOBirJucIz/Ykac17QeXfDw8/2v/CWBmXxMIsjQSp9Fm8pjxCxJq6K1FMtpFqHM8ALXgT8r4+5HwCeLWUmZqOLrnkEnbv3s3+/ftpbGzkrrvu4he/+MVkZ0vTph1/qIyqprKB44ZFS467fuW7PjDwc6Kzg45DB9j/yib2bdoAba30/fFh1vHwQJryGfXkxaCwZBVGJIZdXsVGs4xZleXsd4THc4oX+9IDNZV+cctkZSTEJfHBzZn6bIfbZtbQGPCf16PAThk4lFIHgYPA5WcvO9OXZVl85zvf4Q1veAOO4/ChD32I5ct1s5mmlVK0qppoVTVz11zM6z4wOGdl9/PPsP2p9XT19hIPl7HvxRegZXDhijXFf6uAi/H6VsoWLCVwwcU8FSxnS7SaZhue6knydHHGff8Esx8c8Za+v62phqAhVPkt6gN+oqbBpfEwFONJyDDO2Y26Rmqqekop9VoRSTBYZuAVi1JKxU7x1PPWjTfeyI033jjZ2dC0897Cta9h4drXnLRWlV0o4Do2nYcP4RQKJHu62PnMkxza8gr2ob1kd29jJbCymD5cUcnsFd6Ojgp41Iqwadml7HSEO5pHX+Tiptpy3lRTzpJIkIaAn7JzZGjxSDWO1xb/jZ697GiappWO5fOBz0f9wsUD55a85qqBn13X4die3Wy6/zcc3bMTwzA4stMbGtzb1koD0PD4b/kTwDAt4ouXUYhXwsy57I5VUx6NYvr83JNyOOwoftPWw2/aeo7Lw+ygn5BpYAqYIlgimAit+QLzywJ05G1ura/kjdVxDBHq/FNvmZeRahyVIz1RKaU7yDVNO6cYhknDoiU0fPKzw15v2bOT7U+tZ9+mDYQrqji6rdjd++x66oekuxWvhlLzPz9B2dIL2J+3OZYr0Gs7GAguClspHAWOUuxJ56jyWTzRncBRsHn3ET63+/g1Yd9UE+ftdZX4DcEnwppY2aR14I/UOb4J770PF+oUMK8kOdI0TZui6hcspn7B4uP6UxzbJp/N0Hn4IIVcDoDnfn0XR3dtp+P73wS8xfoagRX1jdQvXIwvGMIwDQzTIpdKUtnQhOX3Y1o+9uRsOuYtpSwWZ1sqy5Zkhg29KX7X3svv2o9fY7Y+4KO/8SvhOMzw+6nymyRtl6WRIFU+i4JSvKZ8YvckGampauI2jtA0TTtHmZZFKBKlaemKgXNzV19EqqebLY8/gl3Ic3TndlI93aR6ujnwyoso18V1HHLp1CnvmwBqTItrUFzpKnwXXsbctVfgWj4ecv1IqAyfzweGQZ/jciTvEPdZtOdtdqWzbE9lsIu903c2d0zoex6pqWqJUmqHiFw43HWl1IsTmhNN07RzSLi8grU3vWPUdI5dwM4XcOwChWyWvRufI5tKoZQXXI7t3c2hzS/jbHqGPZueAWDRMPdZBQTDEaJV1RRyOermLSBUXsEBGypmz+FtE/jeRmqq+iTedq1fH+aaAl43gfnQNE07L5mWD9PyeQexOBfe+NaT0iilSHZ1YhfyOIUC7Qf2UcjncW0b17HJppIc27MLXzBEoquD9kMHSPZ0YRebznomOM8jNVXdVvz3mgl+zXPShz70Ie6//35qa2vZsmXLZGdH07RziIgQraoeOK6eOXvMz80k+nBsm0/9qmrC8jPqoGIRCYrIJ0XkHhH5tYh8orjFqzbEBz7wAR566KHJzoamadpxQtEYkYoRB8mO21gWOfwpXj/Nt4vH7wJ+Brx9tCeKyA14iyGawJ1Kqa+ccP1fgf4aTRlQq5QqH1POT+XBz8Cx09kifQQzVsIbvzJikquuuooDBw5M7OtqmqZNQWMJHCuUUkM3lXhcRLadMnWRiJjAd4HrgGbgBRG5r7jrHwBKqb8akv4vGFwJQNM0TZuixhI4XhSRy5RSzwGIyFq8LWRHcymwRym1r/i8u4C3AqcKOu8E/n4M9x3ZKDUDTdM07cyMNBx3M97oKR/wjIgcKh7PBnaM4d6NwOEhx83A2lO81mxgLvDYKa7fhjfCi5qaGtavX3/c9Xg8TiKRGEOWSiuZTOK67inzks1mT8r7mb7eRN5vOtNlMUiXxSBdFqUxUo3jzWctF94M/buVUs5wF5VSdwB3ACxevFgNXbQMYPv27USjk7+kViQSwTCMU+YlGAyyZs3EtcaduIDb+UyXxSBdFoN0WZTGKUdVKaUODn0AGbwaR/9jNEeAmUOOm4rnhnMr8MuxZXlqeuc738nll1/Ozp07aWpq4gc/+MFkZ0nTNK0kRu3jEJG34E0CbADa8JqqtgOjbTbxArBQRObiBYxb8UZknXj/JUAF8Oy4cj7F/PKX0zruaZqmjdlYFof/R+AyYFdx/aprgedGe5JSygY+BjyMF2h+pZTaKiJfKgajfrcCdymlxlKL0TRN0ybZWEZVFZRSnSJiiIihlHpcRL45lpsrpR4AHjjh3BdOOP6HsWZW0zRNm3xjCRw9IhIBngT+U0TagFMv6ahpmqad08bSVPVWvI7xTwAPAXuBPylhnjRN07QpbNQah1IqJSIz8Cb0dQEPK6U6S54zTdM0bUoayyKHHwE2ADcDtwDPiciHSp0xTdM0bWoaS1PV3wBrlFIfUEq9H7gI+NvSZmv6OXz4MNdccw3Lli1j+fLl3H777ZOdJU3TtJIYS+d4J97quP0SxXPaEJZl8fWvf50LL7yQRCLBRRddxHXXXceyZctGf7Kmado0MtJaVZ8s/rgHeF5E7sWbMf5W4NWzkLfT8tUNX2VH11iW0hq7JZVL+NtLR65k1dfXU19fD0A0GmXp0qUcOXJEBw5N0845I9U4+hdc2lt89Lu3dNk5Nxw4cICXXnqJtWuHXdNR0zRtWhtp69gvDj0uzuVAKZUsdabOxGg1g1JLJpO87W1v45vf/CaxWGxS86JpmlYKYxlVtUJEXgK2AltFZJOIjLZO1XmpUCjwtre9jXe/+93cfPPNk50dTdO0khjLqKo7gE8qpWYrpWYDfw18v7TZmn6UUnz4wx9m6dKlfPKTnxz9CZqmadPUWAJHWCn1eP+BUmo9EC5Zjqapp59+mp/97Gc89thjrF69mtWrV/PAAw+M/kRN07RpZizDcfeJyOeBnxWP3wPsK12WpqfXvva16AV+NU07H4ylxvEhoAa4B/g1UF08p2mapp2HRqxxiIgJ3KOUuuYs5UfTNE2b4kascRT3AHdFJH6W8qNpmqZNcWPp40gCm0XkEYbsw6GU+svRnigiNwC3AyZwp1LqK8OkeQfwD3iz0l9RSp20vaymaZo2dYwlcNxTfIxLsZnru8B1QDPwgojcp5TaNiTNQuCzwBVKqW4RqR3v62iapmln11j24/iJiPiBJXi1gp1KqfwY7n0psEcptQ9ARO7CW+dq25A0/xP4rlKqu/habePMv6ZpmnaWjRo4RORG4D/w1qsSYK6I/JlS6sFRntoIHB5y3AycuHjTouJrPI3XnPUPSqmHhsnDbcBtADU1Naxfv/646/F4nEQiceLTzqpsNssNN9xAPp/Htm3e+ta38rnPfe6kNCfm/Uwkk8kJvd90pstikC6LQbosSkQpNeID2AEsGHI8H9gxhufdgtev0X/8XuA7J6S5H/gN4APm4gWa8pHuu2jRInWibdu2nXTubHNdVyUSCaWUUvl8Xl166aXq2WefPS7NROfz8ccfn9D7TWe6LAbpshiky2IQsFGN8r091sdY+jgSSqk9Q473cfz+HKdyBJg55LipeG6oZuB5pVQB2C8iu4CFwAtjuP+wjv3f/0tu+8Quqx5YuoQZf/d3I6YRESKRCOCtWVUoFBCRCc2HpmnaVDCWCYAbReQBEfmAiLwf+C1eR/fNIjLSSn4vAAtFZG6xj+RW4L4T0vw3sA5ARKrxmq6m7ax0x3FYvXo1tbW1XHfddXpZdU3TzkljqXEEgVbg6uJxOxAC/gSvs3zYEVdKKVtEPgY8jNd/8UOl1FYR+RJelem+4rXrRWQb4AB/o5Q6o90FR6sZlJJpmrz88sv09PRw0003sWXLFlasWDFp+dE0TSuFsYyq+uDp3lwp9QDwwAnnvjDkZwV8svg4Z5SXl3PNNdfw0EMP6cChado5ZyxNVdoYtLe309PTA0Amk+GRRx5hyZIlk5spTdO0EhhLU5U2Bi0tLbz//e/HcRxc1+Ud73gHb37zmyc7W5qmaRNOB44JsmrVKl566aXJzoamaVrJnTJwiMiI/Q5KqW9MfHY0TdO0qW6kGkf0rOVC0zRNmzZOGTiUUl88mxnRNE3TpoexrFUVBD4MLMeb0wGAUkrvAqhpmnYeGstw3J8BM4A3AH/EWzpkclcU1DRN0ybNWALHAqXU54GUUuonwJs4eZVbTdM07TwxlsBRKP7bIyIrgDigN1w6BcdxWLNmjZ7DoWnaOWssgeMOEakAPo+3SOE24KslzdU0dvvtt7N06dLJzoamaVrJjGUC4I+UUg5e/8a8EufnjD35q110HE5O6D2rZ0a48h2LRk3X3NzM7373Oz73uc/xjW/oaS6app2bxlLj2C8id4jItaI3mBjRJz7xCb72ta9hGHoJME3Tzl1jqXEsAd4MfBT4oYj8FrhLKfVUSXN2msZSMyiF+++/n9raWi666CK9VaWmaee0Uf80VkqllVK/UkrdDKwGYnjNVtoQTz/9NPfddx9z5szh1ltv5bHHHuM973nPZGdL0zRtwo2pTUVErhaRfwM24U0CfEdJczUNffnLX6a5uZkDBw5w11138brXvY6f//znk50tTdO0CTdq4BCRA8AngCeBlUqpdyilfj2Wm4vIDSKyU0T2iMhnhrn+ARFpF5GXi4+PjDP/mqZp2lk2lj6OVUqpvvHeWERM4LvAdUAz3j7l9ymltp2Q9L+UUh8b7/2nsnXr1rFu3brJzoamaVpJjLSs+qeVUl8D/klE1InXlVJ/Ocq9LwX2KKX2Fe93F/BWvHkgmqZp2jQ1Uo1je/Hfjad570bg8JDjZoZfquRtInIVsAv4K6XU4RMTiMhtwG0ANTU1J41aisfjJBJTf/msbDY7oSOuksmkHsFVpMtikC6LQbosSmOkZdV/W/xxs1LqxRK9/m+BXyqlciLyZ8BPgNcNk5c7gDsAFi9erE5sBtq+fTvR6NTfPiQYDLJmzZoJu9/69et1k1iRLotBuiwG6bIojbGMqvq6iGwXkX8srlU1VkeAmUOOm4rnBiilOpVSueLhncBF47i/pmmaNgnGMo/jGuAaoB34DxHZLCL/ewz3fgFYKCJzRcQP3Iq31tUAEakfcvgWBpvHNE3TtClqTPM4lFLHlFLfAv4ceBn4whieYwMfAx7GCwi/UkptFZEvichbisn+UkS2isgrwF8CHxj/W9A0TdPOprHsALgU+FPgbUAn8F/AX4/l5kqpB4AHTjj3hSE/fxb47DjyO6XNmTOHaDSKaZpYlsXGjac7rkDTNG3qGss8jh8CdwFvUEodLXF+pr3HH3+c6urqyc6GpmlayYwYOIqT+PYrpW4/S/k5Y4//+A7aDu6b0HvWzp7HNR+4bULvqWmaNl2N2MdR3IdjZrFzWxuFiHD99ddz0UUXcccdd0x2djRN00piLE1V+4GnReQ+INV/Uik1JXcqmsyawVNPPUVjYyNtbW1cd911LFmyhKuuumrS8qNpmlYKYxlVtRe4v5g2OuShnaCxsRGA2tpabrrpJjZs2DDJOdI0TZt4o9Y4lFJfPBsZme5SqRSu6xKNRkmlUvz+97/nC18YddSypmnatDOW4biPA8MtcnjS0iDns9bWVm666SYAbNvmXe96FzfccMMk50rTNG3ijaWP41NDfg7izeewS5Od6WvevHm88sork50NTdO0khtLU9WmE049LSK68V7TNO08NZamqsohhwbeQoTxkuVI0zRNm9LG0lS1Ca+PQ/CaqPYDHy5lpjRN07SpayxNVXPPRkY0TdO06eGU8zhE5BIRmTHk+H0icq+IfOuE5itN0zTtPDLSBMD/APIAxa1dvwL8FOiluBufpmmadv4ZKXCYSqmu4s9/CtyhlPq1UurzwILSZ2366enp4ZZbbmHJkiUsXbqUZ599drKzpGmaNuFG6uMwRcQqbsh0LTB0EaixdKqfdz7+8Y9zww03cPfdd5PP50mn05OdJU3TtAk3UgD4JfBHEekAMsCTACKyAK+5alQicgNwO2ACdyqlvnKKdG8D7gYuUUqd0e5HPb/dS/5oavSE4+BvCFP+J/NHTNPb28sTTzzBj3/8Y+85fj9+v15UWNO0c88pm6qUUv+Et9Pfj4HXKqXUkOf8xWg3Lu7l8V3gjcAy4J0ismyYdFHg48Dz4838VLJ//35qamr44Ac/yJo1a/jIRz5CKjWxAUzTNG0qGLHJSSn13DDndo3x3pcCe5RS+wBE5C7grcC2E9L9I/BV4G/GeN8RjVYzKBXbtnnxxRf59re/zdq1a/n4xz/OV77yFf7xH/9xUvKjaZpWKqXsq2gEDg85bgbWDk0gIhcCM5VSvxORUwYOEbmNYh9LTU0N69evP+56PB4nkUhMULZPT3l5OY2NjSxbtoxEIsGNN97IN77xjePylc1mT8r7mUgmkxN6v+lMl8UgXRaDdFmUxqR1couIAXwD+MBoaZVSd1AcArx48WK1bt26465v376daHRytwiJRqPMmjWLo0ePsnjxYp599llWrVp1XL6CwSBr1qyZsNdcv349J5bF+UqXxSBdFoN0WZRGKQPHEWDmkOOm4rl+UWAFsF5EAGYA94nIW860g3yyfPvb3+bd7343+XyeefPm8aMf/Wiys6RpmjbhShk4XgAWishcvIBxK/Cu/otKqV6guv9YRNYDn5quQQNg9erVbNw4bbOvaZo2JmPZOva0FOd/fAx4GNgO/EoptVVEviQibynV62qapmmlVdI+DqXUA8ADJ5wbdj9VpdS6UuZF0zRNmxglq3FomqZp5yYdODRN07Rx0YFD0zRNGxcdODRN07Rx0YFjguzcuZPVq1cPPGKxGN/85jcnO1uapmkTTi+PPkEWL17Myy+/DIDjODQ2NnLTTTdNbqY0TdNK4JwLHA8++CDHjh2b0HvOmDGDN77xjWNO/+ijjzJ//nxmz549ofnQNE2bCnRTVQncddddvPOd75zsbGiappXEOVfjGE/NoBTy+Tz33XcfX/7ylyc1H5qmaaWiaxwT7MEHH+TCCy+krq5usrOiaZpWEjpwTLBf/vKXuplK07Rzmg4cEyiVSvHII49w8803T3ZWNE3TSuac6+OYTOFwmM7OzsnOhqZpWknpGoemaZo2LjpwaJqmaeOiA4emaZo2LiUNHCJyg4jsFJE9IvKZYa7/uYhsFpGXReQpEVlWyvxomqZpZ65kgUNETOC7wBuBZcA7hwkMv1BKrVRKrQa+BnyjVPnRNE3TJkYpaxyXAnuUUvuUUnngLuCtQxMopfqGHIYBVcL8aJqmaROglMNxG4HDQ46bgbUnJhKRjwKfBPzA64a7kYjcBtwGUFNTw/r164+7Ho/HSSQSE5LpM/Gd73yHn/70p4gIy5Yt43vf+x7BYHDgejabPSnvZyKZTE7o/aYzXRaDdFkM0mVRIkqpkjyAW4A7hxy/F/jOCOnfBfxktPsuWrRInWjbtm0nnTvbmpub1Zw5c1Q6nVZKKfX2t79d/ehHPzouzUTn8/HHH5/Q+01nuiwG6bIYpMtiELBRTdD3eylrHEeAmUOOm4rnTuUu4Htn+qK7dv0jieT2M73NcaKRpSxa9PlR09m2TSaTwefzkU6naWhomNB8aJqmTQWl7ON4AVgoInNFxA/cCtw3NIGILBxy+CZgdwnzU1KNjY186lOfYtasWdTX1xOPx7n++usnO1uapmkTrmQ1DqWULSIfAx4GTOCHSqmtIvIlvCrTfcDHROT1QAHoBt5/pq87lppBKXR3d3Pvvfeyf/9+ysvLefvb387Pf/5z3vOe90xKfjRN00qlpGtVKaUeAB444dwXhvz88VK+/tn0hz/8gblz51JTUwPAzTffzDPPPKMDh6Zp5xw9c3yCzJo1i+eee450Oo1SikcffZSlS5dOdrY0TdMmnA4cE2Tt2rXccsstXHjhhaxcuRLXdbntttsmO1uapmkTTi+rPoG++MUv8sUvfnGys6FpmlZSusahaZqmjYsOHJqmadq46MChaZqmjYsOHJqmadq46MChaZqmjYsOHJqmadq46MAxgW6//XZWrFjB8uXL+eY3vznZ2dE0TSsJHTgmyJYtW/j+97/Phg0beOWVV7j//vvZs2fPZGdL0zRtwp1zEwA/v7uZLcnMhN5zRSTEPy5sGjHN9u3bWbt2LWVlZQBcffXV3HPPPXz605+e0LxomqZNNl3jmCArVqzgySefpLOzk3Q6zQMPPMDhw4dHf6Kmado0c87VOEarGZTK0qVL+du//Vuuv/56wuEwq1evxjTNScmLpmlaKekaxwT68Ic/zKZNm3jiiSeoqKhg0aJFk50lTdO0CXfO1TgmU1tbG7W1tRw6dIh77rmH5557brKzpGmaNuFKGjhE5AbgdrwdAO9USn3lhOufBD4C2EA78CGl1MFS5qmU3va2t9HZ2YnP5+O73/0u5eXlk50lTdO0CVeywCEiJvBd4DqgGXhBRO5TSm0bkuwl4GKlVFpE/hfwNeBPS5WnUnvyyScnOwuapmklV8o+jkuBPUqpfUqpPHAX8NahCZRSjyul0sXD54DJ6dnWNE3TxqyUTVWNwNDxqM3A2hHSfxh4cLgLInIbcBtATU0N69evP+56PB4nkUicSV7Pimw2e1Lez0QymZzQ+01nuiwG6bIYpMuiNKZE57iIvAe4GLh6uOtKqTuAOwAWL16s1q1bd9z17du3E4lEEJES5/T0KaUIBoOsWbNmwu65fv16TiyL85Uui0G6LAbpsiiNUjZVHQFmDjluKp47joi8Hvgc8BalVO50XigYDNLZ2YlS6rQyWmpKKTo7OwkGg5OdFU3TtDNWyhrHC8BCEZmLFzBuBd41NIGIrAH+A7hBKdV2ui/U1NREc3Mz7e3tZ5LfkgoGgzQ16S4cTdOmv5IFDqWULSIfAx7GG477Q6XUVhH5ErBRKXUf8M9ABPh/xWamQ0qpt4z3tXw+H3Pnzp3A3GuapmmnUtI+DqXUA8ADJ5z7wpCfX1/K19c0TdMmnl5yRNM0TRsXHTg0TdO0cZGpOhLpVEQkAeyc7HxMEdVAx2RnYorQZTFIl8UgXRaDFiulohNxoykxj2OcdiqlLp7sTEwFIrJRl4VHl8UgXRaDdFkMEpGNE3Uv3VSlaZqmjYsOHJqmadq4TMfAccdkZ2AK0WUxSJfFIF0Wg3RZDJqwsph2neOapmna5JqONQ5N0zRtEunAoWmapo3LtAocInKDiOwUkT0i8pnJzk8pichMEXlcRLaJyFYR+XjxfKWIPCIiu4v/VhTPi4h8q1g2r4rIhZP7DiaeiJgi8pKI3F88nisizxff83+JiL94PlA83lO8PmdSMz7BRKRcRO4WkR0isl1ELj9fPxci8lfF348tIvJLEQmeL58LEfmhiLSJyJYh58b9ORCR9xfT7xaR94/ltadN4BiyFe0bgWXAO0Vk2eTmqqRs4K+VUsuAy4CPFt/vZ4BHlVILgUeLx+CVy8Li4zbge2c/yyX3cWD7kOOvAv+qlFoAdONtBkbx3+7i+X8tpjuX3A48pJRaAlyAVybn3edCRBqBv8TbfnoF3mKqt3L+fC5+DNxwwrlxfQ5EpBL4e7xN9i4F/r4/2IxIKTUtHsDlwMNDjj8LfHay83UW3/+9ePu37wTqi+fq8SZEgrc8/TuHpB9Idy488PZzeRR4HXA/IHgzgq0TPx94KzJfXvzZKqaTyX4PE1QOcWD/ie/nfPxcMLjLaGXx//l+4A3n0+cCmANsOd3PAfBO4D+GnD8u3ake06bGwfBb0TZOUl7OqmKVeg3wPFCnlGopXjoG1BV/PtfL55vApwG3eFwF9Cil7OLx0Pc7UBbF673F9OeCuUA78KNis92dIhLmPPxcKKWOAP8CHAJa8P6fN3F+fi76jfdzcFqfj+kUOM5LIhIBfg18QinVN/Sa8v5EOOfHU4vIm4E2pdSmyc7LFGABFwLfU0qtAVIMNkcA59XnogJ4K14wbQDCnNx0c94q5edgOgWOMW1Fey4RER9e0PhPpdQ9xdOtIlJfvF4P9O+ceC6XzxXAW0TkAHAXXnPV7UC5iPSvtzb0/Q6URfF6HOg8mxkuoWagWSn1fPH4brxAcj5+Ll4P7FdKtSulCsA9eJ+V8/Fz0W+8n4PT+nxMp8AxsBVtcZTErcB9k5ynkhFvS8QfANuVUt8Ycuk+oH/kw/vx+j76z7+vOHriMqB3SJV1WlNKfVYp1aSUmoP3//6YUurdwOPALcVkJ5ZFfxndUkx/TvwFrpQ6BhwWkcXFU9cC2zgPPxd4TVSXiUhZ8felvyzOu8/FEOP9HDwMXC8iFcUa3PXFcyOb7M6dcXYE3QjsAvYCn5vs/JT4vb4Wr5r5KvBy8XEjXpvso8Bu4A9AZTG94I062wtsxhtpMunvowTlsg64v/jzPGADsAf4f0CgeD5YPN5TvD5vsvM9wWWwGthY/Gz8N1Bxvn4ugC8CO4AtwM+AwPnyuQB+ide3U8CriX74dD4HwIeKZbIH+OBYXlsvOaJpmqaNy3RqqtI0TdOmAB04NE3TtHHRgUPTNE0bFx04NE3TtHHRgUPTNE0bFx04tHOKiFSJyMvFxzEROVL8OSki/1aC1/tzEXnfGTz/xyJyy+gpNW3qsEZPomnTh1KqE2+eAyLyD0BSKfUvJXy9fy/VvTVtqtI1Du28ICLrZHAfj38QkZ+IyJMiclBEbhaRr4nIZhF5qLjUCyJykYj8UUQ2icjD/Us5nHDffxCRTxV/Xi8iXxWRDSKyS0SuHCa9iMh3xNtX5g9A7ZBrXxCRF8TbW+KOYtr5IvLikDQL+49F5Cvi7dfyqoiULDhq2ol04NDOV/Px1rx6C/Bz4HGl1EogA7ypGDy+DdyilLoI+CHwT2O4r6WUuhT4BN4+Bye6CViMt6fM+4DXDLn2HaXUJcrbWyIEvFkptRfoFZHVxTQfxFsZt6p4r+VKqVXA/xnzO9e0M6QDh3a+elB5C+NtxtsA6KHi+c14exwsBlYAj4jIy8D/xlsAbjT9i1FuKt7nRFcBv1RKOUqpo8BjQ65dI97OdJvxgtry4vk7gQ8WNzP7U+AXeEuCZ4EfiMjNQHoMedO0CaH7OLTzVQ5AKeWKSEENrr3j4v1eCLBVKXX56dwXcBjH75eIBIF/w1tD6HCxfyZYvPxrvNrLY8CmYj8OInIp3sJ+twAfwws2mlZyusahacPbCdSIyOXgLXEvIstHec5YPAH8qXj7p9cD1xTP9weJjuIeLAMjrZRSWbwVS78H/KiYnwgQV0o9APwV3haymnZW6BqHpg1DKZUvDpP9lojE8X5XvglsPcNb/wavZrANb1nwZ4uv1yMi38db5fUY3jYCQ/0nXp/G74vHUeDeYk1FgE+eYb40bcz06riaNg0UR27FlVKfn+y8aJqucWjaFCciv2FwFJimTTpd49A0TdPGRXeOa5qmaeOiA4emaZo2LjpwaJqmaeOiA4emaZo2LjpwaJqmaePy/wNHR9zLMehoPAAAAABJRU5ErkJggg==",
thecml's avatar
thecml committed
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "surv = rsf.predict_survival_function(X_test_sel, return_array=True)\n",
    "\n",
    "for i, s in enumerate(surv):\n",
    "    plt.step(rsf.event_times_, s, where=\"post\", label=str(i))\n",
    "plt.ylabel(\"Survival probability\")\n",
    "plt.xlabel(\"Time in days\")\n",
    "plt.xlim([0, 1000])\n",
    "plt.legend()\n",
    "plt.grid(True)"
   ]
  },
  {
   "cell_type": "code",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
868
   "execution_count": 15,
thecml's avatar
thecml committed
869
870
871
872
   "metadata": {},
   "outputs": [
    {
     "data": {
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
873
      "image/png": "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",
thecml's avatar
thecml committed
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "surv = rsf.predict_cumulative_hazard_function(X_test_sel, return_array=True)\n",
    "\n",
    "for i, s in enumerate(surv):\n",
    "    plt.step(rsf.event_times_, s, where=\"post\", label=str(i))\n",
    "plt.ylabel(\"Cumulative hazard\")\n",
    "plt.xlabel(\"Time in days\")\n",
    "plt.xlim([0, 1000])\n",
    "plt.legend()\n",
    "plt.grid(True)"
   ]
  },
  {
   "cell_type": "code",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
898
   "execution_count": 16,
thecml's avatar
thecml committed
899
900
901
902
903
904
905
906
907
908
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "GradientBoostingSurvivalAnalysis(dropout_rate=0.7, max_depth=14,\n",
       "                                 max_features='log2', min_samples_split=4,\n",
       "                                 random_state=0, subsample=0.4)"
      ]
     },
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
909
     "execution_count": 16,
thecml's avatar
thecml committed
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sksurv.ensemble import GradientBoostingSurvivalAnalysis\n",
    "\n",
    "model = GradientBoostingSurvivalAnalysis(n_estimators=100,\n",
    "                                         learning_rate=0.1,\n",
    "                                         max_depth=14,\n",
    "                                         loss='coxph',\n",
    "                                         min_samples_split=4,\n",
    "                                         max_features='log2',\n",
    "                                         subsample=0.4,\n",
    "                                         dropout_rate=0.7,\n",
    "                                         random_state=0)\n",
    "model.fit(X, y)"
   ]
  },
  {
   "cell_type": "code",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
931
   "execution_count": 17,
thecml's avatar
thecml committed
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "    <style>\n",
       "    table.eli5-weights tr:hover {\n",
       "        filter: brightness(85%);\n",
       "    }\n",
       "</style>\n",
       "\n",
       "\n",
       "\n",
       "    \n",
       "\n",
       "    \n",
       "\n",
       "    \n",
       "\n",
       "    \n",
       "\n",
       "    \n",
       "\n",
       "    \n",
       "\n",
       "\n",
       "    \n",
       "\n",
       "    \n",
       "\n",
       "    \n",
       "\n",
       "    \n",
       "\n",
       "    \n",
       "\n",
       "    \n",
       "\n",
       "\n",
       "    \n",
       "\n",
       "    \n",
       "\n",
       "    \n",
       "\n",
       "    \n",
       "\n",
       "    \n",
       "        <table class=\"eli5-weights eli5-feature-importances\" style=\"border-collapse: collapse; border: none; margin-top: 0em; table-layout: auto;\">\n",
       "    <thead>\n",
       "    <tr style=\"border: none;\">\n",
       "        <th style=\"padding: 0 1em 0 0.5em; text-align: right; border: none;\">Weight</th>\n",
       "        <th style=\"padding: 0 0.5em 0 0.5em; text-align: left; border: none;\">Feature</th>\n",
       "    </tr>\n",
       "    </thead>\n",
       "    <tbody>\n",
       "    \n",
       "        <tr style=\"background-color: hsl(120, 100.00%, 80.00%); border: none;\">\n",
       "            <td style=\"padding: 0 1em 0 0.5em; text-align: right; border: none;\">\n",
Christian Marius Lillelund's avatar
Christian Marius Lillelund committed
992
       "                0.1088\n",
thecml's avatar
thecml committed
993
994
995
996
997
998
999
1000
       "                \n",
       "                    &plusmn; 0.0000\n",
       "                \n",
       "            </td>\n",
       "            <td style=\"padding: 0 0.5em 0 0.5em; text-align: left; border: none;\">\n",
       "                BirthYear\n",
       "            </td>\n",
       "        </tr>\n",