13-GLM.ipynb 349 KB
Newer Older
vincentvigon's avatar
vincentvigon committed
1
2
3
4
5
6
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
vincentvigon's avatar
vincentvigon committed
7
    "#  Modèle linéaire généralisé  (GLM)  \n",
vincentvigon's avatar
vincentvigon committed
8
9
10
11
    "\n",
    "\n",
    "\n",
    "## Principe du maximum de vraisemblance\n",
vincentvigon's avatar
vincentvigon committed
12
13
14
15
16
    "\n",
    "\n",
    "***Introduction:*** Nous nous intéressons à la modélisation probabiste de données: Elles sont constituées d'input $x_i$ et d'ouput $y_i$. \n",
    "\n",
    "* exemple 1: $y_i$ est le prix du $i$-ième appartement et $x_i$=(surface, ensoleillement, quatier)\n",
vincentvigon's avatar
vincentvigon committed
17
    "* exemple 2: $y_i$ est le nombre d'accidents du $i$-ième client d'une assurance, et $x_i$ contient toutes ses données personnelles.\n",
vincentvigon's avatar
vincentvigon committed
18
19
20
21
    "\n",
    "On va chercher une loi de probabilité qui décrive au mieux la distribution (=la loi) d'un output lorsqu'on observe un input donné. Cette loi pourra dépendre d'un certain paramètre $w$ qu'il faudra ensuite ajuster au mieux. \n",
    "\n",
    "***Vocabulaire:***\n",
vincentvigon's avatar
vincentvigon committed
22
    "\n",
vincentvigon's avatar
makov    
vincentvigon committed
23
24
    "* input = variable explicative = descripteur = variable exogène \n",
    "* output = variable réponse = variable cible = variable endogène \n",
vincentvigon's avatar
vincentvigon committed
25
26
27
28
    "\n",
    "\n",
    "***Mathématiquement 1:*** On imagine une fonction $L(x,y,w)$ et l'on décrète que la proba d'observer $y_i$ en présence de $x_i$ est:  \n",
    "$$\n",
vincentvigon's avatar
vincentvigon committed
29
    "    L( x_i , y_i , w )     \\qquad   \\qquad  \\text{ pour un certain } w\n",
vincentvigon's avatar
vincentvigon committed
30
    "$$\n",
vincentvigon's avatar
vincentvigon committed
31
    "En supposant les observations indépendantes, la proba d'observer simultanément $y_0,y_1,y_2...$ est donc de\n",
vincentvigon's avatar
vincentvigon committed
32
    "$$\n",
vincentvigon's avatar
vincentvigon committed
33
    "    L(x_0,y_0,w) * L(x_1,y_1,w) * L(x_2,y_2,w) * ... = \\prod_i  L( x_i , y_i , w ) \n",
vincentvigon's avatar
vincentvigon committed
34
    "$$\n",
vincentvigon's avatar
vincentvigon committed
35
    " Le meilleur $w$ possible, est naturellement celui qui rend le plus probable (=vraissemblable) nos données, à savoir:\n",
vincentvigon's avatar
vincentvigon committed
36
    "$$\n",
vincentvigon's avatar
vincentvigon committed
37
    "       \\hat w = \\mathrm{argmax}_w \\prod_i  L( x_i , y_i , w ) \n",
vincentvigon's avatar
vincentvigon committed
38
39
40
    "$$\n",
    "ce qu'on reformule souvent comme ceci:\n",
    "$$\n",
vincentvigon's avatar
vincentvigon committed
41
    "        \\hat w = \\mathrm{argmin}_w - \\sum_i  \\log L( x_i , y_i , w ) \n",
vincentvigon's avatar
vincentvigon committed
42
43
44
45
46
    "$$\n",
    "Cette manière de choisir $w$  s'appelle: \"la technique du maximum de vraissemblance\". \n",
    "\n",
    "\n",
    "\n",
vincentvigon's avatar
vincentvigon committed
47
    "***Mathématiquement 2:*** L'explication précédente est simple, mais elle n'est rigoureuse que lorsque les données sont \"discrètes\" \\[ex: $y_i$ est un nombre d'accidents\\].  Pour des variables continues \\[ex: $y_i$ est le prix d'un appartement\\], la probabilité d'observer exactement une donnée en particulier est nulle (en théorie).  \n",
vincentvigon's avatar
vincentvigon committed
48
49
50
51
52
53
54
55
56
57
58
    "\n",
    "Reformulons notre méthodologie pour la rendre rigoureuse dans tous les cas: On imagine une fonction $L(x,y,w)$, et l'on décrète  que les $y_i$ (petit y) sont des observations de v.a $Y_i$ (grand Y) dont la densité est:\n",
    "$$\n",
    "\t\t y \\to  L(x_i,y,w)\n",
    "$$\n",
    "Ainsi la densité jointe de $Y_0,Y_1,Y_2...$ c'est\n",
    "$$\n",
    "\\prod_i  L( x_i , y_i , w ) \n",
    "$$\n",
    "et le paramètre qui rend le plus vraissemblable l'ensemble de nos données est toujours: \n",
    "$$\n",
vincentvigon's avatar
grec    
vincentvigon committed
59
    "\t\t\\hat w =\\mathrm{argmax}_w \\prod_i  L( x_i , y_i , w ) \n",
vincentvigon's avatar
vincentvigon committed
60
61
62
63
64
65
66
67
68
69
70
71
72
    "$$\n",
    "La seule différence c'est que la fonction $L$ peut dépasser 1. \n",
    "\n",
    "\n",
    "***A quoi ça sert?*** A deux choses:\n",
    "\n",
    "1/ À comprendre l'influence de l'input $x$  sur l'output $y$. Ex: on pourra en déduire que le prix d'un appartement est une fonction affine de la surface, qu'il dépend exponentiellement de la 'chicosité' du quartier, mais aussi que, plus le quartier est chic, et plus la variance des prix augmente, etc.\n",
    "\n",
    "2/ À prédire: supposons que l'on dispose d'un input $x'$ qui n'est pas dans nos données initiales; quel est l'output $y'$ qui lui correspondrait le mieux? ex: considérons un appartement $x'$=(surface: 33$m^2$, ensoleillement: sombre, quartier: très chic). Quelle est l'estimation de son prix?. Pour cela on peut prendre:\n",
    "\n",
    "* le $y'$ qui maximise la vraissemblance $y\\to L(x',y,\\hat w)$  \n",
    "* l'espérance de la v.a $Y$ dont la densité est  $y\\to L(x',y,\\hat w)$ \n",
    "\n",
vincentvigon's avatar
grec    
vincentvigon committed
73
    "On choisi en général la seconde estimation (qui coincide parfois avec la première). \n"
vincentvigon's avatar
vincentvigon committed
74
75
76
77
   ]
  },
  {
   "cell_type": "code",
vincentvigon's avatar
vincentvigon committed
78
   "execution_count": 1,
vincentvigon's avatar
vincentvigon committed
79
80
81
   "metadata": {},
   "outputs": [],
   "source": [
vincentvigon's avatar
vincentvigon committed
82
    "\"\"\"Assez parler, codons! On importe les libraires utiles.\"\"\"\n",
vincentvigon's avatar
vincentvigon committed
83
84
85
86
87
88
89
90
91
92
93
94
95
    "import numpy as np\n",
    "import pandas as pd\n",
    "import statsmodels.api as sm\n",
    "from scipy import stats\n",
    "from matplotlib import pyplot as plt\n",
    "np.set_printoptions(linewidth=50000,suppress=True,precision=2)\n",
    "% matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
vincentvigon's avatar
vincentvigon committed
96
    "## Comparaison de deux jeux de données\n",
vincentvigon's avatar
vincentvigon committed
97
98
99
100
101
102
103
104
105
106
107
108
    "\n",
    "Observez les points ci-dessous. \n",
    "\n",
    "* ressemblance: ils ont la même tendance : plus `x[i]` est grand, et plus `y[i]` est grand, et cette dépendance semble être linéaire. \n",
    "\n",
    "* dissemblance: sur le second,  plus `x[i]` est grand, le plus la variabilité des `x[i]` est grande. De plus les `y[i]` sont tous positifs.\n",
    "\n",
    "On imagine bien qu'il ne faudra pas modéliser ces deux jeux de la même manière. "
   ]
  },
  {
   "cell_type": "code",
vincentvigon's avatar
vincentvigon committed
109
   "execution_count": 2,
vincentvigon's avatar
vincentvigon committed
110
111
112
113
114
115
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
vincentvigon's avatar
vincentvigon committed
116
      "image/png": "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\n",
vincentvigon's avatar
vincentvigon committed
117
      "text/plain": [
vincentvigon's avatar
vincentvigon committed
118
       "<Figure size 864x432 with 2 Axes>"
vincentvigon's avatar
vincentvigon committed
119
120
121
122
123
124
125
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
vincentvigon's avatar
grec    
vincentvigon committed
126
127
    "x0=np.loadtxt(\"data/dataGLM/data0_x.csv\")\n",
    "y0=np.loadtxt(\"data/dataGLM/data0_y.csv\")\n",
vincentvigon's avatar
vincentvigon committed
128
    "\n",
vincentvigon's avatar
grec    
vincentvigon committed
129
130
    "x1=np.loadtxt(\"data/dataGLM/data1_x.csv\")\n",
    "y1=np.loadtxt(\"data/dataGLM/data1_y.csv\")\n",
vincentvigon's avatar
vincentvigon committed
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
    "\n",
    "plt.figure(figsize=(12,6))\n",
    "plt.subplot(1,2,1)\n",
    "plt.plot(x0,y0,'.')\n",
    "plt.ylim([-20,100])\n",
    "plt.subplot(1,2,2)\n",
    "plt.plot(x1,y1,'.')\n",
    "plt.ylim([-20,100]);\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "***Exo:*** En utilisant la technique des moindres carrés, calculer avec python la meilleur droite de régression pour ces deux jeux de données. Superposer cette droite avec les données. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
vincentvigon's avatar
vincentvigon committed
152
    "## Le modèle linéaire Gaussien"
vincentvigon's avatar
vincentvigon committed
153
154
155
156
157
158
159
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Considérons le premier jeu de données. Il est bien modélisé par une formule du type\n",
vincentvigon's avatar
vincentvigon committed
160
161
162
163
164
165
166
    "$$\n",
    "    y_i = w_0 + w_1 \\, x_i + \\text{Bruit}_i\n",
    "$$\n",
    "Si on suppose en plus que $\\text{Bruit}_i$ c'est des v.a gaussiennes centrées de variance $\\sigma^2$ (qui ne dépend pas de $i$), alors notre modèle est :\n",
    "$$\n",
    "  y_i \\sim \\text{Normale} (esp = \\mu_i , var = \\sigma^2 ),  \\qquad \\text{avec: } \\mu_i = w_0 + w_1 \\, x_i\n",
    "$$\n",
vincentvigon's avatar
vincentvigon committed
167
168
169
    "Remarque: Le second jeu de données serait mieux modélisé par des v.a de loi Gamma : elles sont positives, et leur variance augmente quand l'espérance augmente (quant le paramètre de forme est fixé). On verra cela plus tard. \n",
    "\n",
    "\n",
vincentvigon's avatar
vincentvigon committed
170
171
172
    "Maintenant estimons les paramètres $w_0$ (=le biais) et $w_1$ (=la pente de la tendance) en utilisant la librairie `statsmodel` qui utilise la technique du maximum de vraissemblance. \n",
    "\n",
    "***A vous:*** Dans le programme suivant, à quelle ligne exactement est effectuée la maximisation?\n"
vincentvigon's avatar
vincentvigon committed
173
174
175
176
   ]
  },
  {
   "cell_type": "code",
vincentvigon's avatar
vincentvigon committed
177
   "execution_count": 3,
vincentvigon's avatar
vincentvigon committed
178
179
180
181
182
183
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
vincentvigon's avatar
vincentvigon committed
184
      "estimation de w0 w1: [4.63 9.75]\n"
vincentvigon's avatar
vincentvigon committed
185
186
187
188
189
     ]
    }
   ],
   "source": [
    "def estimate_linear_drift(x, y,verbose=False):\n",
vincentvigon's avatar
vincentvigon committed
190
191
192
    "    \"\"\" on étend les descripteurs `x` en ajoutant une colonne de 1 . \n",
    "    Car dans le modèle  : mu[i]= w0*1 + w1*x[i] \"\"\"\n",
    "    x_ext=np.stack([ np.ones(len(x)) , x],axis=1) # on colle 2 vecteurs comme des colonnes\n",
vincentvigon's avatar
vincentvigon committed
193
194
195
196
197
198
199
200
201
202
203
204
205
206
    "    \n",
    "    model = sm.GLM(endog=y, exog=x_ext, family=sm.families.Gaussian())\n",
    "    model_results = model.fit()\n",
    "    w=model_results.params\n",
    "    \n",
    "    if verbose: print(model_results.summary())\n",
    "    return w\n",
    "\n",
    "print(\"estimation de w0 w1:\",estimate_linear_drift(x0, y0));\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
vincentvigon's avatar
vincentvigon committed
207
   "execution_count": 4,
vincentvigon's avatar
vincentvigon committed
208
209
210
211
   "metadata": {},
   "outputs": [
    {
     "data": {
vincentvigon's avatar
vincentvigon committed
212
      "image/png": "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\n",
vincentvigon's avatar
vincentvigon committed
213
      "text/plain": [
vincentvigon's avatar
vincentvigon committed
214
       "<Figure size 432x288 with 1 Axes>"
vincentvigon's avatar
vincentvigon committed
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\"\"\" traçons cette tendance \"\"\"\n",
    "w=estimate_linear_drift(x0, y0)\n",
    "plt.plot(x0,y0,'.')\n",
    "xx=np.linspace(np.min(x0),np.max(x0),100)\n",
    "plt.plot(xx,w[0]+w[1]*xx);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
vincentvigon's avatar
vincentvigon committed
233
    "***Exo:***  Calculez la vraissemblance $\\prod_i L(x_i,y_i,w)$ dans le modèle gaussien. Ecrivez et simplifiez le problème de maximisation qui permet d'obtenir $\\hat w$. Montrez qu'on retrouve la technique des moindres carrés.   "
vincentvigon's avatar
vincentvigon committed
234
235
236
237
238
239
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
vincentvigon's avatar
vincentvigon committed
240
    "*Conclusion de l'exo:* on a beaucoup parlé pour finalement retrouver une technique très simple? Mais non! Le fait d'avoir ajusté un modèle probabiliste sur les données nous permet en plus de juger de la qualité de nos estimations. Observons le \"summary\" fourni par `statsmodel`: "
vincentvigon's avatar
vincentvigon committed
241
242
243
244
   ]
  },
  {
   "cell_type": "code",
vincentvigon's avatar
vincentvigon committed
245
   "execution_count": 26,
vincentvigon's avatar
vincentvigon committed
246
247
248
249
250
251
252
253
254
255
256
257
258
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                 Generalized Linear Model Regression Results                  \n",
      "==============================================================================\n",
      "Dep. Variable:                      y   No. Observations:                 1000\n",
      "Model:                            GLM   Df Residuals:                      998\n",
      "Model Family:                Gaussian   Df Model:                            1\n",
vincentvigon's avatar
vincentvigon committed
259
      "Link Function:               identity   Scale:                          90.926\n",
vincentvigon's avatar
vincentvigon committed
260
      "Method:                          IRLS   Log-Likelihood:                -3673.0\n",
vincentvigon's avatar
vincentvigon committed
261
262
      "Date:                Fri, 20 Jul 2018   Deviance:                       90745.\n",
      "Time:                        22:32:57   Pearson chi2:                 9.07e+04\n",
vincentvigon's avatar
vincentvigon committed
263
      "No. Iterations:                     3   Covariance Type:             nonrobust\n",
vincentvigon's avatar
vincentvigon committed
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
      "==============================================================================\n",
      "                 coef    std err          z      P>|z|      [0.025      0.975]\n",
      "------------------------------------------------------------------------------\n",
      "const          4.6305      0.613      7.557      0.000       3.430       5.832\n",
      "x1             9.7461      0.519     18.770      0.000       8.728      10.764\n",
      "==============================================================================\n"
     ]
    }
   ],
   "source": [
    "estimate_linear_drift(x0, y0,verbose=True);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
vincentvigon's avatar
vincentvigon committed
281
282
283
284
285
286
287
    "Observons les deux lignes ci-dessus: \n",
    "\n",
    "* `const` est le premier input $x_0$\n",
    "* `x1` est le second input $x_1$\n",
    "\n",
    "\n",
    "Notons $j=0$ ou $1$ le numéro de l'input. Observons les colonnes:\n",
vincentvigon's avatar
vincentvigon committed
288
    "\n",
vincentvigon's avatar
vincentvigon committed
289
290
291
292
    "* `coef`  ces sont les $\\hat w_j$ qui approximent les \"vrai\" $w_j$. En particulier $\\hat w_0$ (ici 4.6305) est appelé \"biais\" ou \"intercept\". \n",
    "* `std err` c'est l'écartype estimé de l'estimateur $\\hat w_j$.\n",
    "* `[0.025  0.975]` c'est l'intervalle de confiance à 95%. Le vrai paramètre $w_j$ appartient à cet intervalle avec une probabilité de 95%. \n",
    "* `P>|z|`   c'est la p-value associé au test de nullité de $w_j$. Rappelons simplement la recette. \n",
vincentvigon's avatar
vincentvigon committed
293
294
    "\n",
    "    * On choisit un niveau de test, disons $\\alpha=5\\%$.\n",
vincentvigon's avatar
vincentvigon committed
295
296
    "    * Quand `p-value[j]`$<\\alpha$, on choisi l'hypothèse H1 c.à.d qu'on décrète que $w_j$ est non-nul.\n",
    "    * Quand `p-value[j]`$>\\alpha$, on choisi l'hypothèse H0 c.à.d qu'on décrète que $w_j$ est nul, donc l'input $x_j$ n'a pas d'influence sur l'output. On a toujours intérêt à enlever des inputs inutiles car ils parasitent l'interprétation des résultats. "
vincentvigon's avatar
vincentvigon committed
297
298
299
300
301
302
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
vincentvigon's avatar
vincentvigon committed
303
    "## Résidus\n",
vincentvigon's avatar
vincentvigon committed
304
305
306
    "\n",
    "Reprenons nos deux jeux de données.\n",
    "\n",
vincentvigon's avatar
vincentvigon committed
307
    "Les résidus sont les données $y_i$ moins l'estimation $\\mu_i= w_0 + w_1 x_i$. Graphiquement :on soustrait aux points la droite de tendance. Quand le modèle linéaire gaussien est (approximativement) le bon, les résidus ont (approximativement) une distribution gaussienne. "
vincentvigon's avatar
vincentvigon committed
308
309
310
311
   ]
  },
  {
   "cell_type": "code",
vincentvigon's avatar
vincentvigon committed
312
   "execution_count": 6,
vincentvigon's avatar
vincentvigon committed
313
314
315
316
   "metadata": {},
   "outputs": [
    {
     "data": {
vincentvigon's avatar
vincentvigon committed
317
      "image/png": "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\n",
vincentvigon's avatar
vincentvigon committed
318
      "text/plain": [
vincentvigon's avatar
vincentvigon committed
319
       "<Figure size 864x432 with 2 Axes>"
vincentvigon's avatar
vincentvigon committed
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "w0=estimate_linear_drift(x0, y0)\n",
    "w1=estimate_linear_drift(x1, y1)\n",
    "\n",
    "xx=np.linspace(np.min(x0),np.max(x0),100)\n",
    "\n",
    "plt.figure(figsize=(12,6))\n",
    "\n",
    "plt.subplot(1,2,1)\n",
    "plt.plot(x0,y0,'.')\n",
    "plt.plot(xx,w0[0]+w0[1]*xx);\n",
    "plt.ylim([-20,100])\n",
    "\n",
    "plt.subplot(1,2,2)\n",
    "plt.plot(x1,y1,'.')\n",
    "plt.plot(xx,w1[0]+w1[1]*xx);\n",
    "plt.ylim([-20,100]);\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
vincentvigon's avatar
vincentvigon committed
348
   "execution_count": 7,
vincentvigon's avatar
vincentvigon committed
349
350
351
352
   "metadata": {},
   "outputs": [
    {
     "data": {
vincentvigon's avatar
vincentvigon committed
353
      "image/png": "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\n",
vincentvigon's avatar
vincentvigon committed
354
      "text/plain": [
vincentvigon's avatar
vincentvigon committed
355
       "<Figure size 864x432 with 2 Axes>"
vincentvigon's avatar
vincentvigon committed
356
357
358
359
360
361
362
363
364
365
366
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def plot_residus(x,y):\n",
    "    b,w=estimate_linear_drift(x, y)\n",
    "    residus=  (y   -  b - w* x)\n",
    "    \"\"\" histogramme des résidus \"\"\"\n",
vincentvigon's avatar
vincentvigon committed
367
    "    plt.hist(residus,bins=15,edgecolor=\"k\",density=True)\n",
vincentvigon's avatar
vincentvigon committed
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
    "    \"\"\" on ajuste par dessus une courbe gaussienne. \"\"\"\n",
    "    xx=np.linspace(np.min(residus),np.max(residus),100)\n",
    "    yy=stats.norm.pdf(xx,scale=np.std(residus))\n",
    "    plt.plot(xx,yy)\n",
    "    plt.xlim(-50,50)\n",
    "    plt.ylim(0,0.1)\n",
    "    \n",
    "    \n",
    "plt.figure(figsize=(12,6))\n",
    "plt.subplot(1,2,1)\n",
    "plot_residus(x0,y0)\n",
    "plt.subplot(1,2,2)\n",
    "plot_residus(x1,y1)    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Pour le second jeu de donnée, l'hypothèse de résidu gaussien semble fausse. Pour aller au delà d'un test visuel, il existe des tests de gaussianité."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
vincentvigon's avatar
vincentvigon committed
394
    "## Modèle log-Gamma \n",
vincentvigon's avatar
vincentvigon committed
395
396
397
398
399
400
401
    "\n",
    "\n",
    "Observons un nouveau jeu de données :"
   ]
  },
  {
   "cell_type": "code",
vincentvigon's avatar
vincentvigon committed
402
   "execution_count": 8,
vincentvigon's avatar
vincentvigon committed
403
404
405
406
   "metadata": {},
   "outputs": [
    {
     "data": {
vincentvigon's avatar
vincentvigon committed
407
      "image/png": "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\n",
vincentvigon's avatar
vincentvigon committed
408
      "text/plain": [
vincentvigon's avatar
vincentvigon committed
409
       "<Figure size 432x288 with 1 Axes>"
vincentvigon's avatar
vincentvigon committed
410
411
412
413
414
415
416
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
vincentvigon's avatar
grec    
vincentvigon committed
417
418
    "x2=np.loadtxt(\"data/dataGLM/data2_x.csv\")\n",
    "y2=np.loadtxt(\"data/dataGLM/data2_y.csv\")\n",
vincentvigon's avatar
vincentvigon committed
419
420
421
422
423
424
425
    "plt.plot(x2,y2,'.');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
vincentvigon's avatar
vincentvigon committed
426
427
428
429
    "Il semble que les input $x_i$ ont un effet sur-linéaire sur les output $y_i$. On pourrait alors imaginer que \n",
    "$$\n",
    "\tY_i \\sim \\text{Normale} (esp = \\mu_i , var = \\sigma^2 ), \\qquad \\text{avec: }   μ_i= \\exp(w_0+ w_1*x_i)\n",
    "$$\n",
vincentvigon's avatar
vincentvigon committed
430
    "Mais ce n'est encore une bonne modélisation: car sur les observations, plus `x[i]` est grand et plus la variance de `y[i]` est grande. De plus les données sont positives. Le choix naturel est alors:  \n",
vincentvigon's avatar
vincentvigon committed
431
432
433
    "$$\n",
    "    Y_i \\sim Gamma(shape = \\alpha,  scale = \\mu_i/ \\alpha)  \\qquad  \\text{avec: }  \\mu_i = \\exp(w_0+ w_1*x_i )\n",
    "$$\n",
vincentvigon's avatar
vincentvigon committed
434
435
436
437
438
    "En effet, la loi gamma a deux paramètres `shape` et `scale`, et son espérance c'est le produit de ces deux paramètres. \n",
    "\n",
    "\n",
    "***Vocabulaire et remarques:*** la fonction 'lien' est l'inverse de la fonction qui relie l'input à l'espérance des données modélisées. Donc ici la fonction 'lien' est le log. \n",
    "\n",
vincentvigon's avatar
vincentvigon committed
439
    "Cherchez dans le code ci-dessous l'endroit où l'on précise cette fonction 'lien'. Remarquez aussi que l'on ne précise pas le paramètre de forme $\\alpha$ car il n'intervient pas dans la maximisation (tout comme la variance $\\sigma^2$ dans le modèle linéaire).  \n"
vincentvigon's avatar
vincentvigon committed
440
441
442
443
   ]
  },
  {
   "cell_type": "code",
vincentvigon's avatar
vincentvigon committed
444
   "execution_count": 9,
vincentvigon's avatar
vincentvigon committed
445
446
447
448
449
450
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
vincentvigon's avatar
vincentvigon committed
451
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD8CAYAAAB5Pm/hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJztvXt0XNV9+PvZM3rYsmVJlt+W5Qc2Jtg8YgkwCeERIA2pExMIcULaQhripKVdzU3XvU1/SV0uq+0vvffXlvxWSQIhuYEuMCS8TFih4Q0hQQbLMWBjbGzZkmXLli1LsizJeszZ94/z0J4zZ17SvDT+ftbS0syZc+bss8+Z7/7u72srrTWCIAhC8RLKdwMEQRCE7CKCXhAEocgRQS8IglDkiKAXBEEockTQC4IgFDki6AVBEIocEfSCIAhFjgh6QRCEIkcEvSAIQpFTku8GAMyaNUsvWbIk380QBEGYVDQ3N5/QWs9Otl9BCPolS5awbdu2fDdDEARhUqGUak1lPzHdCIIgFDki6AVBEIocEfSCIAhFjgh6QRCEIiepoFdKrVRK7TD+TimlvqWUmqmUekEp9aHzv8bZXyml/rdSap9S6l2l1JrsX4YgCIIQj6SCXmu9R2t9sdb6YqABGACeAr4DvKS1XgG85LwHuAFY4fxtBH6UjYYLgiAIqZGu6eZaYL/WuhVYDzzobH8QuNF5vR54SNs0AdVKqfkZaa0gCEKOaG7t5t5X9tHc2p3vpkyYdOPovwRsdl7P1Vp3OK+PAnOd1wuBQ8Yx7c62DmMbSqmN2Bo/9fX1aTZDEAQhezS3dvOVB5oYHrUoKwnx8B1raVhck+9mjZuUNXqlVBnwOeCX/s+0vfBsWovPaq3v11o3aq0bZ89OmtglCIKQM5pauhgetbA0jIxaNLV05btJEyId080NwHat9THn/THXJOP873S2HwYWGcfVOdsEQRAmBWuX1VJWEiKsoLQkxNpltflu0oRIx3TzZcbMNgDPALcB33f+bzG2/5VS6lHgMqDXMPEIgiAUPA2La3j4jrU0tXSxdlntpDbbQIqCXik1Dbge+Iax+fvAL5RSXwNagS86238NfAbYhx2h89WMtVYQBCFHNCyumfQC3iUlQa+17gdqfdu6sKNw/Ptq4M6MtE4QBEGYMJIZKwiCUOSIoBcEQShyRNALgiAUOSLoBUEQihwR9IIgCEWOCHpBEIQiRwS9IAhCkSOCXhAEocgRQS8IglDkiKAXBEEockTQC4IgFDki6AVBEIocEfSCIAhFjgh6QRCEIkcEvSAIQpEjgl4QBKHIEUEvCIJQ5IigFwRBKHJE0AuCIGSZ5tZu7n1lH82t3Xk5f6qLg1cDDwCrAQ38ObAHeAxYAhwEvqi17lZKKeAH2AuEDwC3a623Z7zlgiAIk4Dm1m6+8kATw6MWZSUhHr5jbc4XHU9Vo/8B8N9a6/OAi4DdwHeAl7TWK4CXnPcANwArnL+NwI8y2mJBEIRJRFNLF8OjFpaGkVGLppaunLchqaBXSlUBVwI/BdBaD2ute4D1wIPObg8CNzqv1wMPaZsmoFopNT/jLRcEQZgErF1WS1lJiLCC0pIQa5fV5rwNqZhulgLHgf9PKXUR0Az8DTBXa93h7HMUmOu8XggcMo5vd7Z1IAiCcJbRsLiGh+9YS1NLF2uX1ebcbAOpCfoSYA3w11rrrUqpHzBmpgFAa62VUjqdEyulNmKbdqivr0/nUEEQhElFw+KavAh4l1Rs9O1Au9Z6q/P+cWzBf8w1yTj/O53PDwOLjOPrnG1RaK3v11o3aq0bZ8+ePd72C4IgCElIKui11keBQ0qplc6ma4H3gWeA25xttwFbnNfPAH+mbNYCvYaJRxAEQcgxKYVXAn8NPKyUKgNagK9iDxK/UEp9DWgFvujs+2vs0Mp92OGVX81oiwVBEIS0SEnQa613AI0BH10bsK8G7pxguwRBEIQMIZmxgiAIRY4IekEQhCJHBL0gCEKRI4JeEAShyBFBLwiCUOSIoBcEQShyRNALgiAUOSLoBUE4a8n3giC5ItXMWEEQhKKiEBYEyRWi0QuCcFZSCAuC5AoR9IIgnJUUwoIguUJMN4IgnJUUwoIguUIEvSAIZy35XhAkV4jpRhAEocgRQS8IglDkiKAXhLOQsyV+XLARG70gnGWcTfHjgo1o9IJwlnE2xY8LNiLoBeEs42yKHxdsxHQjCGcZZ1P8uGCTkqBXSh0E+oAIMKq1blRKzQQeA5YAB4Evaq27lVIK+AHwGWAAuF1rvT3zTRcEYbycLfHjgk06pptrtNYXa60bnfffAV7SWq8AXnLeA9wArHD+NgI/ylRjBUEQhPSZiI1+PfCg8/pB4EZj+0PapgmoVkrNn8B5BEEQhAmQqqDXwPNKqWal1EZn21ytdYfz+igw13m9EDhkHNvubItCKbVRKbVNKbXt+PHj42i6IAiCkAqpOmOv0FofVkrNAV5QSn1gfqi11kopnc6Jtdb3A/cDNDY2pnWsIAiCkDopafRa68PO/07gKeBS4JhrknH+dzq7HwYWGYfXOdsEQRCEPJBU0CulpimlKt3XwKeAncAzwG3ObrcBW5zXzwB/pmzWAr2GiUcQBKEoKeSyEqmYbuYCT9lRk5QAj2it/1sp9TbwC6XU14BW4IvO/r/GDq3chx1e+dWMt1oQBKGAKPSyEkkFvda6BbgoYHsXcG3Adg3cmZHWCYIgTAKCykoUkqCXEgiCIAgTpNDLSkgJBEEQhAlS6GUlRNALgjDpaW7tzruQLeSyEiLoBUGY1BS6I7QQEBu9IAiTGqmvnxwR9IIgTGoK3RFaCIjpRhCESU2hO0ILARH0giBMegrZEVoIiOlGEAShyBFBLwiCUOSIoBcEQShyRNALgiAUOSLoBUEQihwR9IIgCEWOCHpBEIQUKeTFRRIhcfSCIAgpMJlr6ohGLwhC3phMGvJkrqkjGr0gCHlhsmnIbk2dkVFr0tXUEUEvCEJeSLT8XiHUl/czmWvqpCzolVJhYBtwWGu9Tim1FHgUqAWagT/VWg8rpcqBh4AGoAvYoLU+mPGWC4IwqYmnIReypj9Za+qkY6P/G2C38f5fgf/QWi8HuoGvOdu/BnQ72//D2U8QBCEKV0P+9qdWRgnzyWwLL1RSEvRKqTrgj4EHnPcK+CTwuLPLg8CNzuv1znucz6919hcE4SwiFUdrw+Ia7rxmeZSWLPXlM0+qppt7gP8LqHTe1wI9WutR5307sNB5vRA4BKC1HlVK9Tr7n8hIiwVBKHgmYn6ZzLbwQiWpoFdKrQM6tdbNSqmrM3VipdRGYCNAfX19pr5WEIQCIJGjNRUmqy28UEnFdPNx4HNKqYPYztdPAj8AqpVS7kBRBxx2Xh8GFgE4n1dhO2Wj0Frfr7Vu1Fo3zp49e0IXIQhCYSHml8IiqaDXWv+91rpOa70E+BLwstb6K8ArwBec3W4Dtjivn3He43z+stZaZ7TVgiAUNPEcrUJ+mEgc/d8Bjyql/gn4A/BTZ/tPgf9SSu0DTmIPDoIgnGWI+SU5ucoXSEvQa61fBV51XrcAlwbscwa4JQNtEwRBKFpymS8gtW4EQRB85KIGTy7zBaQEgiAIgkGuNO1c1s4RQS8IgmCQqxo8ucwXEEEvCIJgkO0aPP7BIhcOaxH0giAUFRPVuuNp2hNNAnPblo+CbSLoBUEoGjIlSIM07UzY1DMxWIwHEfSCIBQN2RSkyWzqqcwk8rV4iQh6QRCKhmwL0ng29VRnEvkq2CaCXhCEoiFfgjSdmUQ+MoZF0AuCUFTkQ5AW+nqyIugFQRAmSLyZRKGsfSuCXhAEIQP4ZxKFtPat1LoRBEHIAoW09q0IekEQhCxQSIuviOlGEAQhS9y8pg7t/BcbvSAIQhHht8+vXlCVV6esCHpBEM4KchkBY9rnh0ctNm3ZiaV13pyyIugFQSh6ch0BY8bVK6WIWBpNbuvbmIgzVhCEoifXETDm4uh3r19NeWl+nbJJNXql1BTgdaDc2f9xrfU/KqWWAo8CtUAz8Kda62GlVDnwENAAdAEbtNYHs9R+QRCEpOQiczWozryrua+cV1nwNvoh4JNa69NKqVLgDaXUc8C3gf/QWj+qlPox8DXgR87/bq31cqXUl4B/BTZkqf2CIAhJyXYNnCDTEJDzBUbikVTQa601cNp5W+r8aeCTwK3O9geBu7AF/XrnNcDjwH8qpZTzPYIgCGmRKSdqusI2nfP6TUNPbG/nye3tBZEVCyk6Y5VSYWzzzHLgXmA/0KO1HnV2aQcWOq8XAocAtNajSqlebPPOiQy2WxCEs4B8lRFI9bzuYFBTURZlGlKQlwVG4pGSoNdaR4CLlVLVwFPAeRM9sVJqI7ARoL6+fqJfJwhCEZKvFZlSOa9/MNi0bhXdA8Oe/f+J7e0FU80yrfBKrXWPUuoV4HKgWilV4mj1dcBhZ7fDwCKgXSlVAlRhO2X933U/cD9AY2OjmHUEQYghX+V/UzmvfzDoHhjmzmuWe5/noy5+PFKJupkNjDhCfipwPbaD9RXgC9iRN7cBW5xDnnHev+l8/rLY5wVBGA/5WkgklfMmGwzy7YA1UclksFLqQmxnaxg77v4XWuu7lVLLsIX8TOAPwJ9orYeccMz/Aj4KnAS+pLVuSXSOxsZGvW3btglfjCAIQrYxnbRA2oNQJjN0lVLNWuvGZPulEnXzLrbQ9m9vAS4N2H4GuCXFdgrCpKVQFpUQckeQk9Y01yQ6znXa3v3srpw7l6UEgiCMg0JaVGIyUCyD4nicw+azEspTOQQR9IIwDvIVDTIZyeSgmO8Bo6aijJBSgE7ZOWw+K6AJhxRap358JhBBLwjjoNAXg05Gvio5TmRQzPcsqrm1m7uf3UXEsoX1pnWrUjq//1kxwzBz1X4R9IIwDvIVDZIJsikwgwaQTA2K2ZhFjSf7VQNaa7oHhlM6RyE8KyLoBWGcFFL4XDpky+wUbwBpWFzDpnWreG5nBzesnj/uc2V6FpXugDeR8+f7WRFBLwhnGdkyO8UbQFyTx/CoxdsHT7JyXuW4hF6mNeN0B7xsaOa5MqGJoBeEs4xsmRLiDSCZnEFkUjN22zvsLA7SNzjCva/sS9gnmTx/Ln0OIugF4SwkG6aEeANIohlEPqNoXJPSpi07GbU0P369hZAiZ47eXEZuiaAXBCFjBA0g8QaAfFamdNvSPTCMZVQHyGW4bC4jt0TQC5OKfMdRC+MjaADIRy5CUMXJspIQwyMWFhDK4XJ/uYzGEUEvTBryHUctZIZ4NdxzIVybWroYGrFDJIdH7IqTrrCtqSjLeHx7kGIStORgthFBL0wazuZs1GKZybiD9dCIRTikuOOKpVROLc3ZddVUlOEaaiygb3Bk3P2a7J7EW14wH8qKCHph0jDZslEzJZyLaSZjatSjluaBNw5w9/rVNLXYS1Zk+7q6B4YJKdsWr4AH3jiApXXa/eqvX3P3+tXceln0AkpBignkZ+UpEfTCpKEQMgxTJZPCuZhmMmuX1RIOKUbtwi9ELM2mLTvHJWzHe35XWVATKDBm3hNL29fgzw+Ip5jkQ1kRQS9MKvKdYZgqmRTO2Z7J5NIs1LC4hrvXr/aEe66rOZrKglsyeDz9unZZLSGlvIgdy9IxbY+nmORDWRFBLwhZIJPCOZszmXyYhW69rJ6V8yonLGzHi6ksuO1It1+jBixLU1Ya3PZ44aa5VlZE0AtCFsi0cM6WcMiXWSgTwjZT7QDG5SMwB6xCNyWKoBeELDEZzEyF4ODOdT/5lwKMN6NJxaQ1Ge4xiKAXhLOaQnVwpyJkx+Nb8Juqbl5TF7cQW7FEOoEIekE46zG10kKI109FyCbaJ941NLd2c8+Le73wzhGntnzQjObJ7e1R+03mSCdIQdArpRYBDwFzAQ3cr7X+gVJqJvAYsAQ4CHxRa92tlFLAD4DPAAPA7Vrr7dlpviAImaJQtNhU/AaJSiK711ASUtzSuIib1tQBYyYaDYSwSx2sXlAF2DH1N62p877jl9sOeYlV4XBmTFr5HERT0ehHgb/VWm9XSlUCzUqpF4DbgZe01t9XSn0H+A7wd8ANwArn7zLgR85/QRAKmEKJ10/Fb5BKSeThiOaRrW08sb09ykQTUvDx5bO4YfV8r05+WUnIGxCaWrq8OH8FfKGhbsL9kO9BNKmg11p3AB3O6z6l1G5gIbAeuNrZ7UHgVWxBvx54SGutgSalVLVSar7zPYIgFCiF4JiF1PwGyUoiu2aXeCaab113btyBzd8PNzsDwETI9yCalo1eKbUE+CiwFZhrCO+j2KYdsAeBQ8Zh7c62KEGvlNoIbASor49OHRYEIfckErC5NjukEs2SqCTyE9vbeby5nUhkTFjfvKYu5hqCBrZsOKjzPYgqbdRiTrijUtOB14B/1lo/qZTq0VpXG593a61rlFLPAt/XWr/hbH8J+Dut9bZ4393Y2Ki3bYv7sSAUBBMRdoXg5Bwv+TY7jJdsRe5ksz3popRq1lo3JtsvJY1eKVUKPAE8rLV+0tl8zDXJKKXmA53O9sPAIuPwOmebIExaJiLsJqugdPGbHZ7Y3p61sr6ZJJVoolzGwecz5j6VqBsF/BTYrbX+d+OjZ4DbgO87/7cY2/9KKfUothO2V+zzwmRnIjbWfNtnJ0p0ITB47O1DWE59GgWUlxb24DXegXYyz8L8hFLY5+PAnwKfVErtcP4+gy3gr1dKfQhc57wH+DXQAuwDfgL8ZeabLQi5xRV24XGsQLR2WS0l4RCKzIXq5RLXZr3h0no0Y0XIgKg48/HS3NrNva/so7m1OyPt9ROvXHCi87uDw789v4evPNCUtbblilSibt7AHriDuDZgfw3cOcF2jZtiGoWF3JBqqvuEHHSuLyxFn1i+SGTiaGrpwrKi2+/Go4938Mq0WSuo/ckWJw86/2SfhfkpqszYyW4LFXJPOs/MeG2sbly2u9hGroRGukpPsr5Yu6yW8lJ7fdXQOFaHCmpPJjNQ47U/0SCdaohlsoGs0BXMohL0xTYKC9knF89MTUUZriJsaft9thmP0pOsL1Kd1cRbJzVoWb1MZqBGJUv52h9vkI4n0NOZwY2nHEOuKSpBn+9YVSH7ZPqHk4tnpntgGAVe6n33wHDGz+FnPANYKn2RbFaTjikEyGgG6ngG1EQCPdUZXCrlGPJtYSgqQV+olfjyRaFoE5kiGz+cXDwzrskjlwrIeAawTPRFuqaQTGagjndAnWjYY0rlGPJsYSgqQQ+Tpz50tikkbSKIVAchc79smVnG+8ykeg35UECSnTNbceWJBpib19Shnf/uOcw2Atz7yr5x91E+BlSI39f5MNnFo+gEvWBTyP6KVAch/36b1q0qGNNcugNpPhQQ93z+1ZOyqQQECb2gGvDm/pkyc+RzRh90f3cd6Y37PtezbRH0RUoh+ytSHYT8+3UPDBeMaa6QB1KXfIUO+oXeRMoOu9fx5Pb2mNlAKufOJ/5AWvd9PmbbIuiLlELxV6Qb12wStF8+fsgTuYZ8kqh0QUlIMRLRhEMqpbaPVwNtbu3mcM8gJeGQV2AsnbLDza3dfPkntlAEeHzbITZvvDxlc1+2n5VE57p5TR2PbzvESERTGlbeTCYfSoII+iIm39rNeOKaTcYTzgekbfsfTxRJoQykiTCFZzikeLy5ndGIvSCHp22qeLmQY0ykhIC5CMiXLq33FvfwE68/m1q6GHGEPMBIJHEeQi615WTnalhcw+aNlydREhRrl1RlpX0mIuiFrJFIc0l1EEq0X3Nrt1eOdjRiURIOgdaMWjot238iYZCJa0iVTGuipvA80jPI5rfa7OuI2GJeA5FIco1yvBqoeVzE0iyonpq22WXtslpKS0KeRl8aTjwDyYa23NzazX2v7efYqTNsuKSeWy+rT/lcMdekNQ3TuvjNFfsZ3vcaS05vp/T0vwJfmFAbkyGCXkjKeAVQJswbidb//MoDTV5WJeBpfsmyLNMRBtk20biD1Ym+IV7d05l0kEoXV9A8srXNiwDR2ALTsnRK1zTePshE3zUsrmHz19embKPPdEZrc2s3X7r/TW9wfKf9PV7d08k3rjontXNpDV37ofUNOOj89XWwGGD6PFh+DcxYkEaPjA8R9EJCJjIVnqh5I9G5XWHtCnmFXXPFsiwiFgltz+kIg0xcQ6IQxy/f/ybDkWi3XTbstv4Y81saF7GwemrgAOpv73j7IFPmrXRmTumcM5Vnu6mlyxPyLs+/f4zXPzzOw3esjT2XZUHn+9D2JrT+Dlp/D6eP2QdOnwtLroDFH4elV0Lt8pRMZ5lABP1Zwni18olOhSdi3oiXTek6FE378y2Ni1i1oIq7frWLiGUl/AGlK4DMa0inH11HojugbP56tCAJEiLugJXpmYM/xjxIM07U3vHcx3wl7KXa1lSe7bXLaikNq5j75O5/5ycW0aD2QNuv4HdN0NYEZ3rsnWYshKVXwZKP28I9h4Ldjwj6LFIomakT0crzGV3iP3dNRVlMXL258MW9r+xjNGKlZHser+BKp6bJk9vbPdvy8KjFk9vbo87pChFXoy8N2wOWK4Qz+fykMrgla286FELCXrL+S7Xkw6MbL+e+1/bTcvw0p04e5WL2ckl4L1/e3QFvvAsRJwO3dgV85LO2UF/8Maiuz5tg9yOCPksUwoPuMhGtPFPT7/EILf+5g+Lq77xmubd/0MAwkUxLP/FS2uPd686+oajj/XHVblTGE9vbURAVkZLK85NunwYNbuZ3xIv7Hg+JZmO5CntM1H/udfuVhSisCHS+z6wPXuXb/W+yRL3PlNID9kehUgb0av4wfwOV515B/9xG3jhC3pW6eIigzxKFlFAzHq3cL0Qm0vaJ2vnNfePFWrttdQeGmooy7n52V0YH2ngp7fGE2mt7j3vHloQIrOUSr2+TPT+ZUCQCM48dM4UZ9z0e/M9c3+AIG+57E0tn1tkcj2QJWF7YZzjEFxqc6+w7Boe3Qfs2aH8bDm+HkX4WAyf0DH7HClZesoG6C65mx+gSbv35Dvs7DoZA7w10pI8n9DcbnDWCPtdmlEJKqElVK3f7KBUhmU5/mj+6oRE7cWc89yDoOoIE3p3XLOfeV/ZlfKCNVzQr6F43tXQxGrHNIArYcEl9RiOWUlEkkmWUBs2QguK+x4N5r2oqyti0ZadXqTIXBb7c/jszYl/fh8f6vM+aWrooHe3nIg5ykd7Hxdv3M3/HflDOylOhEvpnns/+2evYXbKSH35YQ6ueQ1gpvj1tJWup5Z5X90bV0YfYaC//gJJK6G+2OCsEfT7MKJkyeWSyPalGIISUwtI6Y9rk2mW1lIRsW7QGHm9uH7cd2n8d8QTe2mX28n0jo1ZMnfOJhIsGFc2Kd69NQX3Tmrq0zpvs+UmUSeoK17t+tSthRmmiwWTP0b6MRcvc+8o+IsbKVCGlMnI/kp3706vm8fSOI5QxTOs7r/H84K/4VPUR/rx1G39Rto+QstvUZs1mu7WClnNv44qrPs32kXo2/OwPXuZwOARhJxTV9BO5A35JnGgv/7MJyUN/s8VZIejzZUZJ1+QxnhWBMvUDMfsIrQmFFIrgOOt0+7NhcQ23NC7ika1tnqP0ie3tPLm9nV9uO5SWluO/5oSab8DyfdkKFw2KzDHtv8DYQBpSrJo/Iyr5Jt75EjmTE81uQkp5GjQEZ5T6v8Nto6uphhRJE89Sef7cAdJdmeru9auT+iLG/WwPD8CxXdCxg0/te45vlH3ICtVOibKgFTgxm6kL1vDurOt5qnMuzx6fywk9g9KwYvOVl0N9DT9+aJsXZROxNA1Larhq5ZwYP1FIwceXz+KG1fPZ9MxONBrLaEpUZrKj0UdSzF3INEkFvVLqZ8A6oFNrvdrZNhN4DFgCHAS+qLXuVkop4AfAZ4AB4Hat9fbsND11CsmMEo90BVCmZyn+PkrkpBpPf960po4ntrdHpeOPjEYnOyUbMB7Z2samLTtj7LzxUufd5fsixvJ92Q4XjXdfTFOSFdG8097LO+3vASQU9ukQNVijCSk8n0K8jFLzetw2uvckmVkoUQSU/xzxBkhzKcHhUYt7XtzLDavnx5gO9xzt47mdHdywev5Yfw12w9H3oONdOPqu/f/EHtC2uL26pJq3dT0vWmvYaS3lokuu4i9vvJrmtp6YZDszOubYqTNR7T/cM+i99j/737ruXJ7Y3s6oMzCMRrRnmgwaSAvZRv9z4D+Bh4xt3wFe0lp/Xyn1Hef93wE3ACucv8uAHzn/80qhmVGCSFcAZXqWkk4fjac/GxbXsGndKp7b2cHU0jAv7j4Wk+yUaMBobu2OsvMOjdhC4VvXnRsofOMNRtke9BOZklybsclzOzvGJeiDBhS/BmlZdjvCCu763Oqk98k9fnjEwsLWWOP1UVNLlycoh0YsbwAucXIa/DVt4kX8mEsJWhre+PAEb+7vijId3v/qh7z/wU7OV20cP9DKoeZuFg3th94277uGK+ZSVvdROP9zMO9CWHAxu7sr+PP733RMKrBxzcWgVEyyHUSH4264pN4bhAEO95zhf/1mD+WlocAkqSe3t0ddlxlQ6b/ufMmepIJea/26UmqJb/N64Grn9YPAq9iCfj3wkNZaA01KqWql1HytdUemGhxEKtO8iUaOZBvTpqxCiiM9gzS3dsdtczYEVjp9NB6zlKullYSUV80w7EQ9JEttb2rpirLzamyh8PbBk4GzmXimjaQhdb42p5Mc5U/kCrLj3/fafp5//5h33A2r5yf83ngEDSh3XrPcu+bDPYM8+taYIPSvtpQsA7amoixhH9VUlHmCUjO2JOBwRPPI1jae2N6edJbpzrpMpjPAefoQ54UPsVK1cZ46xEcOtDGt3NaqLa3oOFnHyUUX89OTH+fdyGLetxbTN1LN5g3RPoim7fvGrHaamEE33oB262X1PP2Hdt462O19l2lbv/Oa5VHnuWlNHb90ZqiuP6bQGK+Nfq4hvI8Cc53XC4FDxn7tzrasCXq/XfLu9aszNhXOOdo2NYxGNJvfSvxjyeYsZSK2/3jHmlP0iKXZcGlwCn48TDsvjkkimWPLbzfPlmksVTNGw+Ia7v+zRh7Z2hZrhkiTeAO9e81uxE2QIpDo2syxClK4AAAgAElEQVTj3TDRoHvaPTDsmYYUthMy4pjKUnI4jpzhmupjHCj9PedYbZwXOsS56hAL1Qlvl1O6gt26nicin+B9q57dVj179CI2faaR7oFhfrh7z9isMMAHkaiPkg1oK+ZWRgn6RLPOhsV2PZ5CthhM2BmrtdZKqbRzK5RSG4GNAPX14xfMpmZjac2mLTtZOa+yIDs7EX7tJpV1JoMcgBN90CZi+0/kWDOn6OFwcAp+Ivw/zruf3ZXWbMYcaBLZneMlZyW6D8kSufzcelliJ2wqJBvoE32eTox+SXgsoqQ0rLjrc6vZdaSXzr6hqBrzm9atYueRXh5vbo+uOz86BF37oHM3HN8Dx3dD5wdwcj/na4v/FYJIuISh6uV0TrmE//fQDN636vlQL6Jd1+IaQi5dUsOM0jCbnMGxubU7aVXLVJ3nQdy0po5fOLXkwyHFJ8+bw5zK8oT3o5BlzngF/THXJKOUmg90OtsPA4uM/eqcbTFore8H7gdobGwcdxLe2mW1XjgggGUlrlddCCRayMJ0EKW6zmQmHbMTsf3HO9YcxBTwhYb0hLyL+WNaOa8yrpDzJ6k8ub2dx95uixpogsIRTQdgOssWpmJGy1YIYbJomKABJ50YfVeQgm2W+d7T73kO3pIQYzXm55VA3XG+PuMwJw++xznqMNXPfA9OtnjOUVQIZi6D2efBqhthzkfYNbqQ17uquHT5PJ7c3s7DB9oIYvncSv7l8xdEXXsqVS3j+QZSuRfK+9O8tvc4o060WCbCsyfLUoLPALcB33f+bzG2/5VS6lFsJ2xvtu3zDYtruHv9atsZZGnKSnMfVZOuLTfeNP/hO9Zyz4t7+e2H9vQ11ZXs/Y4xUzin+0BNxPafqgN0IhmXyYRYUJLKiBO/D9EDjd/s55oe0l22MJl2bZZUDofGZ16c6EIp6bTX9ReZQh5AYTFfd7Es1MEy1cE56gjXtPZS+8FBGLJ1vaXA0lAJzDwH5pwPq26C2Svtv9oVUDoloK1dlL16kAsXVvnOZ2Nm6Qb1g2tiSqWfUlWKoqO2IGKN/b7+9hc72HjlOTH3MJP3KNOkEl65GdvxOksp1Q78I7aA/4VS6mvY0alfdHb/NXZo5T7s8MqvZqHNMdx6WX1CDS9dJiK4U3FAmdqSP1zwW9edy9sHT6YlaPsGR6IcY6/t6YyJ3U71gZqI7T/esZnyJ6RaVjYoSQVswVFeGgpc0g3sKbrWE4tzDko0MgfiUSt982KmFkoxiWtq0JqGWRb/x3k97Ht/B0tDHSxVHSxTR1mijjJVjSkefXoqfSNLeW5gJfuta9ivF/DZa69m3dUfh3Bp0uvyt3XIN7Bcd/5cLl5UHZgn4CpJ/llYoozu5tZu7nlxb5RSFC9LOyqCKaRAKS8c+GDXAP/jqejQ2Gzco0ySStTNl+N8dG3Avhq4c6KNGg+mE2kihawmIrhTuWnmA6R8WqQ/ciLVa9jVcSrq/VsHu9lw35tcc96ccT1QE7E3+o81TSMTJZW+Nvs3FIouL3vd+XP55lXnxJjLgnIHIPVB0r8Iij/RaO2yWkKOsxJsX1ImTGJBpDQj0xoGTsLJ/bZpxf3rct6f6eEvAMpgRIdp03Pon17PqaWfonPGUl7orKSzfDF/dOmF3PPSh/y2a8yBOnBwKutSEPJmW91+WzprGrs7Tnm1dsx75e+HoRGLx95ui+qX53Z2pFTfxlSKEmVp+2Pg//YXOzjYNeC1xwyNTeUeJYvMyiZFlRmbiSnRRAR3Kjdtok7FIG5YPd8z97iMWpqXP+ikxBEw+UgUM++HG53hxiKPZyAxQ1D9ZQ1czP493DPIZicbNwRcvKg65gftxvb7I2CCauVAcMKLPy7bFURmmV9jldaUF+Q2rzvdhVK27j/GJ+YMc0HkHdh2ALoPQvcBOOm8HjKVAwXVi2z7+eqbofYcnj1cwb83R2jTs7Eo4W8vWemZyu4wjvQ/e6mGi7r3wC1ToDU8veMI37xyGZVTS+OblIxSGrs6TkU5hG9YPT/ubNj8Xbv1imAsfh6CB3azDRuvPMfT5P3XmuwepZNglg2KStBnYko0EcGd7k1bOa8yStAETU9TEYqugHrs7TbeO9w7tmSc1txyST0LkoQxZssxFG0aiQ67cz9P+5xGWYN49VjM2Z0/xDDKhu9MyUcjFm8fPBllTqmpKCOkFOjYGif+++Luq7WO0hYf23aIm9bUOTkAY5dg+WLHTZLFt3vbtYb+49DdCj3OX/dB6G6loaeVhp5DoCNjXxwqhZrFULMU6tfa/2cug5nL2N43gzdbT0edc35rN0feaUI7vo7DcfI63GcvnXBR8x742dVxiv/6WnCOZcPi6FIalqVZtXAGqxdWeQla8Uy4UTPpkEJrosx0ftnx5Pb2mO8JutagyqlBz3S6kVmZpqgEfSaSiMYjuP1OoVQdMUGCZryDlRuy5y8TsGpBVUKHbjYdQ34BGIKkQjPRoGM6yEYjOrAcgknQvTQ1dXvBD1vo+qsO3v3sLiyn5o+rfXmp+iOx+0Ys28a/sHoqrSft6f1oRPPk9nZuWlNHODRWe8Yyknfi3YvyEnjs1nO4cPop6GmjofcQDf2H4Ldt8Ks26GmD0cGo40em1FJauwQWrIHVN3PQmsOOvhmcs/IChivm03Swx/tNNLV0sXZKLQzAl3/6pmcucQufuX3n1iN69K02OyomoJ9NH1miJD/zPpratUmyGYFbSsM9/p32XnZ3nPKSlOKZHf3XM+Lcr03rVnn7m1nF8WowmaGx8SqnBpEJ2TQRikrQZ8rpl66NOp1FIg73DI4JckfQmJruRB8I80eXSrnhdAeWdCILTAF4xxVLvSl5vHMm60e/fyNRhU0X/70MiijxZ0ZGCyJN98BwVCaoBWxt6aKppYuppWHPbGNZmrbuMRsuwM7Dvdy0po47rljKj19vAeyhZXbZKBzfC72H4NRh6G2n4oP3+Znaz4LSLuarLsofG436rjMlVUSqFjFtzrmw4nrarFm80jmVxz4M0RapZTRSwcNfXhvTlyXb20HbgstULspKQly5Yra3wtWwUafF7Tt3cE2n7k0q1UzNZ/z2y5ewq+NUSjMC9zd+96928U57b2C7E9F2csBTFrTWnhLkN/k9+labd81PBGj3kN5vJ1OyabwUlaCH7CcuxAvvSicBxbWbu958M8GkYXFNjDknXdw+SKUmezoDS6qVBv3RDRFL03Kin4sWVSc8Z6IBwD89Hq9/o2FxDV9oqIuy3X98+SyvZk5Q+2oqynhuZ3SU8OuGXTqk7HoyrnN9GoPMUyeZp06yoOMkv/3pg3xy1hkuK21jnupigeqi6oUBeMH4QhViXriWfmp4Vy/jeS7j05dfQv2ylewaqOZPftlOz5kplA4qNn/uciC60iSAGrG477X9XLSoOlqhMKKP7FBT+4gzIxYtJ/qjrsuvYbt2cTdxKKif01UW/M94JjLZT/hW8/IT5DD3PzdBJj+3AJ87MPpNdm6sfSp+l2zLpkQUnaDPJs2twYsnp5OAEolYfOnSMbu5+7kpJF0t3G83Tpd47fInFN28pi5h0knQdZi2drNP7vrsWIibaa9+/v1jvLj7mPdjCdJugtqbaHo83pDam9fURdnuTSEPwQ7zoRGLMBFm0cs8dZK5qps5qscR6N0sKTvF4rJepgwcpVINxpzz9KlqWkPVtFtz2M5HuKrxo9QtXgFVC6Gqjv/njV5++MZYstCNFy+g4SNL+FVLFzsO9dAdsePPXe1VQXT1RaOfX3j/GKUlhkJhlMhVCkzTeMvx01HtXLVgLJa9ubWbJ5yEJCDu+qeJnv8gxSjVZ9yMUtl1pBcNzCgv4YE3DsTUyHl1T2eg2cg/k443uJuY9/9IzyCbDe3eVD42PbMTN6hr3BmfOUIEfRLMBzXe4snJtHD3hzDsmBxWLaiK0mISTQfjTRtTIWi6GJRQ5NoikyUyBUW9+PvEDHnzY+kx+7a/MJTLlStmc+zUGW9Fpv/x1HtexcfhkczFHEcNbgsroOcQnD7GvpZ9tB86wLkVA3xxsJP2tgM8ro4xp7yHWfR6i1W4jOoQnVTTOVLDH0ZnsXjJ5RwYrqJ9tJqXO8o4EqmmU83kezesYeW8SvY696LO9En8oYsn3z0W9b2v7z3Or3ce9bRxkx1t3ezrPO0JF7McMeDV/A9SKI70DPLw1rEBxTxOYTsaV86rBOwB3DRxxVtwPZ5ZIp5ilGgGEJSpnMB3Pda2gIz4qIS4kEJhC/my0tjB3Y+p3bsFy8xIryeN0sRg+2NyEQ8/XopC0MezG/s112QCM8gEYWqTn1gxO2r/zr4h7n1lX9RDGaShuAPBpi07iViau5/dFVeL8SdqxJs2pop/uuj/kQFJk0dc9hztY9TRiiIRe6DbayzRBrZDy20/SkVVnATbvm3G1Js/bHNFpN0dOwH45bZDgccmtQtHRqD/BPR3wunjzv9jHOs4RMd7u/ljepijelnyQT8M9XiHLXf+LK3oYgaluoZOXc0uvYTjzOQYNXREqunQM+nUNXQxA4sQYJtvNlTXe4NfSIFWCsu5535nnXkNyqctdw+MxNUST/YPR5WUaFxcw/a2Hi8nQ0FchcIVXEERLxr43T67IuiVK2bHZsYqlVY+RDzFyB/RZM40g1Y5i0dY2eUsomrrGJjPuuUI5RKfA9Ykrv8pYAEbf7OUIucO1nSY9II+kd34y/fb0QThsCIECVcy8keruBq6WQhrTmW5t3hyOGQv/vzS7mMx6fOuFm5Wxtt1pNfbZ3g0upa6eS1NLV2ec8qt256JDLqgZA23ZvmoFZs8EnT8Pzz9nreCTkTDw1vbbD+DwblzK/nODR/xzvWPz+yMSloKKbusg2sWcAcyiNYuRyKa53Z2eFqTwqKKAfSJPdDaTufWnXzB2s3M0Clm6V5GH/0hfVVDVI722EJ9sJsgqtQULmAGnVTzobWQE9MXsvZjq2D6HJ49EOH+7f0ctWo4yQxGCTvnhitW2FN9sAXIJyvKePoP7USO99PTP+z98E/0DXnCRWs8e/jwSOw9NwVRGE1d9RTae+xFLxIpsTdevJCf/e6A92zvONTj+XzWXTifZ9/twNLRCoUpxDZ/3S6X/G57D8dODUWdy33W/ItvKEVcJSXeb9B/DZoxs40Z0RTUH+4qZxAr7F2b+N3rVwea78xn3Y2799pgOGBN4lXBNSO9zFnDzWvq+MXbbZ4ZLI5Vq2CY1ILe7/QbNoThE9vbvRtsTrGGAwRmc2vsohau0DfDAm9aU+fFRZu2OzN+WvlWTwopvAqAXtSGjq2lHuQsKgkpOy0/ouMmCJnX4B9czAc/XrKGWR/dnJr7tZumli4iAdLHHxO+akGVN4t4ZGtb1OduxmhNRRl//sDrTBvpZYXqo0b1MZM+akJjr2vVKZYfP4Mq66JG9VFDn70c3NvA2/YKNzc4CZi9uoIT/VV8MFDF3Hn19NZcSO3KhSxYWM/+wQp2nCzjuDWDH27ro88qjxJAZUdt52bD4hrmz+pm7ztNDGsrxhRimuTc/nn3cK8tmJz9Ihpe/uAYJeEQo5Ho77AY05YfvmMtYK9cVBIOMepo9OsuXMDP3zwYOBtyk3xKQlBfO82RLBqtYcSIIunqH46KRnoyYMnG2y9fwssfdHrPu/usmYEBGy6pZ3eHPUiHlH1ui2Anud/xawrDx50KkG69mqCIpngZo+5zuuNQDy84z6g56Lpt8P8OzPBl814nW0jF0/6NKrjx/A8Ni2v45Hlzx347FlEJcoXGpBX07g01V+xxqz02t3az63Bv4HGWtmvDmGUS7IQW40el8H4s7rqQpibmPmBPGKVvXSKWxkJHCfUgO6sZUum2wV+5cjRiO89cU8meo30xWsvaZbXsOdrnmYXcQcLVrADueXFvTLLG2mW1PLG9nVf2dHptUk7kgDu7iVj2D/SWxkWsWlBFWBEj7MtDEaZbp5mh+pnJaUY/OMSLLWeoUafp3vUh/3e4j2p1mhpOM7e0n/llg5T9podbw0M4CrPv/ih6mcZJXcnJgRmc1PPYZq2gmxmsXb2SmXMW8G53KaUz5vBOdynbjsEfjgzY9woIHbKn/GWHQmyav4p//I07oxgGYsvMRiwd5QfxF5YDW7iYAskfIhr9ffDFS+o4dHKANz48Eagt3/fafl7+oNPRwu1+t7Tm528e9GZzq+bP4Ge/P+iVcnAHTEvD/a/vZzRiecLdtdGHQyoqOzQUUjz6VlvUPRsetbj/ty1R7Xafb4g2b7ra8ofH+tiy4wgwFl0SL5LMjVJyTZq3NC6KcfSb/qoPj/XxHy/sjZpJ+xWV7/96Ny/Zlh7KDfv6I1vbvGqaJWHFYxsvjzZNGheugPqZFWy88pxAYbx2WXAV3EQlSWb5yhb79aBcV6hMxKQV9K5gNAkBO4/0elESYN9gs86IAn7yxgEs56Hc/HV7CbbyUrvmhlLwuYsW8N+7jsZEZQTVwvDXv9DODw6tvdVrSoyoh3BIYQERX7iaGacd1O6Ihn94+j1edQTzy3s6iUQ0JWFFJBK9KLGpzZmDkavRuAlL7vYwESoZYKbVz/E9TfzmtXf4I/qpCvdTRT9Vzf2EtvezuXqYkdPdVKvTVKl+ZoUHmGJFx41zYOzlxSFFD9Pp0dPpppLWkRreHV3MR85Zwq/3D9MVmcZJKulmBl3WdLp0Jb1M92zefi7tqWH7u64tegQYoSSElwbvj613zRt+XA3WvR+mH2TTulXUz6wgHMLLZi0Nq5gkr03rVnlhh+YZwiHYd6yPkwMjOLc9Kow2HA7x0u5jnvC1z6E9P8n9v21Ba3j74Enu+uwqL4bfdEy6z5t7HRrHBq0UK+dVeolBfiGvIGbRcIidrbg0LK5hz9E+nnaEPIwN9PEiycwoJVPpuNlIaHL9VaOWjvru4dHYjNFHtrZ5+QcAn141j6aWLvYc7eN7T42ZEkcjmvte2883rjonphiZO7tq7RqIa3pqaunijiuW8oAjG8wquPHCIoNmLOZ35rpCZSImraAPEoxlpSEUeGFU7jTPXWzYPyV2HUT//PkLvIfP0pr/3nU0KokjyDHr3jh//YtwCO5ev5rugWH6Bkd4s6WLOTOmcM3KOd6P9h+f2elVMnS1dHPFHoBp5WEW1VSw91jfmFDQRC1DBzASsZjKEJUMUqkGmMEAM9QANSVnaOjawTTdTmWJvf2cGRFW18LA77poUF1UlvczgwGmK8Me+3v4tK8m1ZAu4RTT6OmfTq+axlFqmVp3EVPqFnJ4eCoPbOvmZKSCU0znpJ5OD9Po0dM5RQXaJ7TDCr5dv5Krr7a14tVO6NyMviFaHH9EPMwVf1xGLbj+vNlcvKg6JrbedJ6ZXPeRuXzjqnNiTHDDoxb/8PR7UcIxHLIX2+geGI6aFe080uuZT0rDio8uquZk/zAtJ/qj2nm9U0gNiErGcQk5DkVXGLlNHh6JFnor51Vyz4t7vVmCwtbE62dWsPmtNm/W52qhTS1dUX0ZUnbt+NULqqLMlO5sJR7+/AHXTu03abglCIIWGPdHS3UPDHuas0lIxcai+8+/5Z0j3oDlnycfO3UmJgIIiOo3v+nW9OWVhpX323WPTVQgsWFxDZudWURQMpVrbRhy8hsGRyIZyxtIl0kr6P1LmV1YV8WqhVVUlpdE1VYZGomw80hvoL0P4KXdx7wyAa426GpWQMLSBG47brx4AVveOeJob6GA8LReXtvTyeaNl9vx2xFNCIvpepAfbnmNi8rP5drpp2ku2Ul5ZIBpapDpo4NMPz7IjeFBpqtBpuP8qUFbqDNApRpgOoO27TqIdqAEIlrRRwVTQzMpH6kmXDGNnb3z6IlU0EcFvXoavUyjX01l7UfO4dGdfZximrf9DGX4U2kujdRQfiRsO4xHj3lmLrfkgfLH/BE9ozAjbexM1+jdL11i/2iChLufOZXlUQLRXYxiRnkJ+463RO0bDimWzZoWJQjc8DmINU1ZlubVPZ3MriyPMk8o8PwwIxHN2we7Ax2onY7wcW3JqxdUeSGqoZDi61cspeVEP++293D01FjSj1JErRvcsLgmqoCY6zdYOa/SKwlgRsWsXVZLaXjMERkKKVY7z/kdVyzlJ79tIaKDV2ZyaW7tZmpptH3N3T9eSKU7AESZIYk2lwbtA3DHFUtjBKq/aJrt4LZNVk7gjseGS2wB6tfAze9wzbsuP35tf1Rm8M4jvfzL5y8INF/6FzwPOpdL3+DIWJsZU9DcduRa2E9aQR8VhhgOsbvjFO8d7rXDtgzeOtjNWwe7KQkrvti4iGtWzuG1PZ3ezT16aoj/8dR7fPPKZZ7t0NSshkYsmvYf52P1U9lccoqS0UGmh4aY0dnHj14+QLk1yDQ1xJ+FBqlgiOmcoeT5LZRGBvh3dYxppYNMU2eYzhkWbo7w96P9fK+8P6quN0/b/34WJsZufUaX0sdUBphq1//WFRxmFqeYSp9VQT9TOaVtgX1aT+UUUxkITaPXquBMeBp3frqB40Ml1Ewr9zSVPUf7eGy0jUMnBzg5MPZAXlRXxdIF89j23p6k/W8K4HBIEUZHOdBqKspiNMePLx+bXbmCyZ1d+RW8qooyzoxECMKsPgjRST6AJ/hKQopLl9QwNGqxdNY0nnnnCBFL8+PXW7xKmpvWrTLC52LP5f5IHSsAVRVlLJ89jcrykphkpSDmzpgSY8+2LNesqPmpz7zkmuyUImbdYFPzdjXxRKG7UQXAjNpAJeEQKqRQjrknCDMGPhyCpbXTWDZ7Ot8wSgebQs6fveyffTzwxgE70kbZ5TBuXlPH1pYu9h0fy8z1Z+mCLRBf2dMZpZy5/R3GHkQ0to3eVbD8dA8Me8+MuZhPc2s3L3/QGbWvIjY4I50Fz138pcNNzPLGuWLSCnpTo3jtg6O813qM6QwzVQ8xRQ0zlSEqGGKqGmYKQ1ToIdS2IQ6qYR5YUsHBjk4iw7ZwrlBnmPsHi9tnw8mebsKjg86xQ0zjDFNftx+MN0xBvBv+NEAwR7SCzun0M4VyVUI/U+jXUzlMLRU185g2o5qn3++lz5pKP1MYVFNZsmAuTYeHOWVNYYCpnKKC03oK/UxlxLlFIeDLl9V7P5zK8hLPaXf/6y3RgsZR8MMajg+Xsvac2qjEkdEAuzXA5ctqx1U3PmJpppaGWFI7Lcb++Q+uVuT4OvwhdPGYU1nOqgVVMU5R028BYz9cd8HtKU7tGUvbP9C3D3ZTXhqivCQUE0nj1jB3w+fcsD3LySCNiprR9kEn+4d5q3+YbQe7YwYcPwrbYefGk/tzF0Ytor7BNTUumlnh1VoxTQ3mvdGMaabubNS9Jnf/VQuq7OtxBKzpv3C/I14SlBkDH7HgsmW1/LOxlJ9JkFnTXEDHXHfB0vZAG3JKRpi8+P4xNj60jVmV5VHO229edQ6//fA4wyNWjC/K64+AhCkX1wc3PGI//26/NbV0BUaN2Wav6O3+vk1GUOlw87NcM2kFPUDDkc1c9Nu7uNMaginJ9/c4DB+jhP5wGQNMYVCXoXQFh7tKOa2nMqCrGaCcQaucAaYwgP1/9swadndZ9OspDDrb+/QUW2Drck4zlRsuWkzFlFJe3n2Mo8PR9Tc+NXUuF82rpmZZGQeO9HKib4hX9x5nuC3W9DJzWikLyku9SogW9kPoTtV/9vuDXtXLBTVTOdwdnXZvmknMqBvLJ+QXVk+ho/cMloafv3mQm9fUJRVgQQyOWOw+2sctP/49/3TjBZ5WH1bOuOP8cMxpu3siV9Mye6GyvGTMLLbjiC2IlT1ld3EF/9aWrqjaM6b4cH+gbSd9TmPs/lk1fwZv7u8CbTvg3BlJ3+BIlBPQj4XtCLUsHWMrBscBi2bz1jbC4bEw2ZKwbdoKCMSiNKz41nXnsudonyfEzEiy53Z2jGmmakwzjVc6wl9Uzo3iKQnbWaKJ1inw3/+tLV1896n3As0XQWZNM1rFP7tzrytEtPnFYszE8Yu329hwSb13Pv8sAcb8G66TO14p5YbFNdx++RLue72FUUtz1zNjoZNmVVF3luTPZFfKHkji1ZkPiuPvHhjmm1cu8/x8kF4p50wzqQU98y5gS/k62k7BIGWcoYxByhnU5ZyhjAHKOaPtbQOUM6DLOYP92dXnL4yaDl66oMazs7qCIkbYdY5pfH7N0mXLOx1xheRLu6PrvTS1dPHi7mOB+3b3j3BqcNT7YSvseh5mRAPYP6wFVVMCBL3i9suXxOzvZ2H1VI44STrDIxadfUNJtVSAkBGVYmJpOzpIO21wNTnXiXfnNcu5dMlMWzAbJzJt+uZUX6mxWGg3hDCM9kIOI5aOEvJAlCDQ2hYGN168MEpwf+r8uVy9cg53/WoXo9ZYyVr3R3jvK/tiSguYhBR8tL6a4VGLy5fV0nKin2OnznD5sloqp5byzqEeT2iNOrHo7rV9tL7GM32FgAsc/5Krxbr+H3f/V/d0xpjBShzN1A1j9NcrMp2iWmv2n+gnEhmLRHMdzPGcjmZEiQb2He9n3/F+ftnc7pUycPGXxjDbBbbfxF3X2R8CfPvlSwJr14xadkLeY28f8hKj6mdWUBq2BbOb1OT6ZBKVUm5u7eYnbxzwngu3XtC/fP4C7l6/2k4E1PH9D3uO9nlC2uwriF2sJGib25Z8CHiXyS3ol36C38yfyvPdwcIyEQqihKjpTNPGPv7fuTvVCxLy5rFBuMq0q/XUVJTFFSTaOZer8WiICstz2xcOKa9ca9TxWrOr41RUBEQQ+42aKRZwwGcnDaqjAnDBgireP9oXmErvFXoytO+wI5g2PrQtRjC7+5Y4a7aaYZJ+805DfTVXrZwTtXpUPNxDIxGL+tpp/MvnL4jSqr771HuGeUKz68hYP5panevwN++Fpe1nBmx77IbGRVH2azMSC8b6cCSio5J8QmEVtXBGc2s37xwaK8mgwcuONrdp4C4n69gUnKsd00NUBnRI2blfPuoAAA6aSURBVHH7zneMWtqL6IkXTeZGlPhzCkYCsrr3HO0jEnFLNVueg91s18N3rOWxb1weU6Ts+lXzuH7VvKiywyajluYftuwkrOzXoZDigoVVbLikPmoZv0SllP15MjBW7XLlvEo7Q9yJyPOz52if51PaeuBkTG2ooACN8awnkW2CA5YniFLq00qpPUqpfUqp72TjHC7fcELX0sX9sfhf+/dJdFy6lIQUYcOk4g8dM3EFi/l8+k3r582rZOa0spiELHcAuGH1fMpKQoSVnVEZRJfhjAXY1xldzTCeGX1He2+gkAenZC/RfTVqae761a6Y8FC3vWUlIdZdOJ9FMytYd+FYu/0lFlbMreTOa5YzMDSa9D64549ovEzH//raZd7KQDt9SXUavDWHAR6+Yy1furSe0rDdBr9N2WU0onl4axu3/Pj3POIUDLt5TR1hQ4s3z2HeR8vSbH6rja880MQjW9v48k+aYvooSBkYjeioGH43jHHTlp382/N7uPvZXWxat4pvf2oltzQuihJ0Wo9F9MSLJgPb5PGt686lLDx2BRo7q/srDzTR3NrtlcYYG0TGopHcdpkCz42OeuxtWwP/ygNNAGz67Kq4z2jE0gxHtJdE+G67nSvjDpjuoOz+tvzmFddEYzLbSXZqaunyks9GI/Yg9shWu13/9vweNm3ZyZkRy/OXjETGBhQNMec122Kak/JNxjV6pVQYuBe4HjvA722l1DNa6/czfa7m1m7ue23/uI4N/skm5uK6KnY5ixenS1iNxde78d5nRuIISsfmkOw0u4/2BW43hYlbs+dE31Dc/f2YM5nxDGqBpRKcH0oQ158/l56BYS955mDXADdevICu/mFqp5Xxq3c7vAS3m9bU0dzazTPvHAn8rni4mY7+chMuYWWHPprRMV9osP0Vo45AtdyEtzh2eUvD955+j5XzKm0t153ZJGqXMctzK3/68YcRut8ZDoFljc1K3Xo0mujko0eMapXusW4UyaZ1qxKuw+tq9k9sb2fX4V7ebe+Nikc/3DMYc7/DYYUVGUsYNP0G/kQut5ieci5UEd8sarbfHDyCTC33vLjXm7k1LK7h61cs5T4nGa3MeY4gdub22w9P8Pt9J7xZm/Z1vJmFPKO8hJVzK5kzY0rUQuab1q3isbfb2HWkN8qcBONcPjMDZMN0cymwT2vdAqCUehRYD2RU0AeVQEiHngRJIvGYM2MKOwKml0HEaOQKLyLFtZ/Gw7L0uGcNLhFjyuvP3kxEyNGixzOYpYrfJPaSUw7AxE2McTeXhBR3fXaV138JAnZizgV2Mp1rOz5i1CZ3iWjbFu5F7IxatiM1FD3ouStlvbanMzDG39L2j9nUjF1COMLY13aFLQzLA1TaEDC/agqHe87EHGMHaGqvbTg5DG473Nh10xTk4grLnUd6A6szmrhC6UTfEJpe7/trKso40hNbe/+TK+dwkZPAZvoB/AuluO345bZD3mAKtuMzkX8EiBmUzPpKrtnMNTmtnFfJz988CDr6OXKP869YFdFjviAzYsgdjGwlTBs+n16uWTnHUyKC/Ghulnq+MmWzYbpZCBwy3rc72zKKO+UcL0OjVtpavX+RhiAU8IkVs3j8Lz7GdR+Z6213ix7BmBYRr/MzJWIjlg4U8krZGmyZT7C4se63NC4a14wnVRZUR4dIBWlvWvt8A0bVQTdcTmEPTB/xxU+HQ8pzfmrnveuY/rfn9/DLbYfsshQ+jp06Q5mTDOUeazqcQwpvOcQdAcLTpaaiLDCE7uMrZnGt8Uy4XFhXxcN3rKUqILS1rDQUkyfgmub82qYZKug6tP/t+T28FODwdwcXBTHVGf24SpUZvOCGtd60pg6fVYRZTgLbrZfVe+sOuL/XoGfbFPLKueaNn1hGiVNDPpA4g5LfHPrczo6ocwdVr2xYXMPqhdF9fO15c/j2p1Zy9/rVlJeOmRHdAob+QAT3vP7rdPvZnQUFmchyQd6csUqpjcBGgPr69L3R/ilXEGE15jjzs+GSenYd2Rnj7Y9HSMGy2dOjEjxcZk0vo2dgxCvM5Dqq4hU9MqeaNRVlvLqnM8ou60aLpCPwTceyk5lPiVMGwC/sv/GJZZ7AcguimW0HJ47aiVsOqm746VXzouqUXLqkhirnWkbdGjxWcD3xVQuqON435JV7DoWiqz269k13m1s91Kw94k9zN9PY7/rcap7b2eGF4pmOaUvbAm3DpYs43jcUJbw2XFIfFcURb7lH1/nn9rsZ3uqGPd55zXLauvq92jVuMS6wK1y6OkpJWLHJ0TDn+J6Xi+qq2PTZVQC8uve4Fxp5S+MiVi+oiqp/E2LsftsrSY05tEPOwB7RdnvXX7yAFXMrvb57wlhtK1FlR78wdk0Q/3TjBZ6dvsxX88XFDAFVIWU/31pHPVdhx1zmRg5dv2reWOVNp/HuMxK00AjExq+72cPJlsu8aU2dlyFdWhKKcqz712B2r8HMR3EHdn8ip3s9QNSqZrmuXa/8WsGEv1Cpy4G7tNZ/5Lz/ewCt9f+Md0xjY6Petm1b2ucyy5u+sqeTTie8rc9x1Lkd3NTSxQu7jvJ+xynmV03l3zdc7E3z/PG9EBtp4q5K8/Ada9lztI+fvdESJfD/5fMXxK2LbQqgzRsvjztde2RrG4+93cbcGVO4euWcuA+UE55NWWkoqtKhW97WzE41F1zpGxyJuwBzvFhgf9lj97vc/dwkJfM7/Yu93PfaflpO9HPgxGksC68fzO9yXwedK6jscqJnwb9ojNknZh0cd+ocdA1B1zGe707Ut65d2oxLj7ci03jukb/uT1BVyET33/+5e71+YZzqdyTqU3//xjvOf03xzB/JnstU2pfKPmbYZbxnJ90+ShelVLPWujHpflkQ9CXAXuBa4DB2BfFbtda74h0zXkGfCdzONwWhm5SkwKuD47858QREvO9P9+bGe6DirZNaSCVRg8hH+4KEf6bakK3vzmYbC+W7iqEdhULeBL1z8s8A92AXCPiZ1vqfE+2fT0EvCIIwWUlV0GfFRq+1/jXw62x8tyAIgpAeWUmYEgRBEAoHEfSCIAhFjgh6QRCEIkcEvSAIQpEjgl4QBKHIyUp4ZdqNUOo40DrOw2cBwUu55BdpV3pIu9KnUNsm7UqPibRrsdZ6drKdCkLQTwSl1LZU4khzjbQrPaRd6VOobZN2pUcu2iWmG0EQhCJHBL0gCEKRUwyC/v58NyAO0q70kHalT6G2TdqVHllv16S30QuCIAiJKQaNXhAEQUhAQQv6ZIuMK6XKlVKPOZ9vVUotMT77e2f7HqXUH+W4Xd9WSr2vlHpXKfWSUmqx8VlEKbXD+Xsmx+26XSl13Dj/HcZntymlPnT+bstxu/7DaNNepVSP8Vk2++tnSqlOpdTOOJ8rpdT/dtr9rlJqjfFZVvorhTZ9xWnLe0qp3yulLjI+O+hs36GUyng52BTadrVSqte4X5uMzxI+A1lu1/9ptGmn80zNdD7LSp8ppRYppV5x5MAupdTfBOyTu+dLa12Qf9gljvcDy4Ay4B3gfN8+fwn82Hn9JeAx5/X5zv7lwFLne8I5bNc1QIXz+i/cdjnvT+exv24H/jPg2JlAi/O/xnldk6t2+fb/a+zS1lntL+e7rwTWADvjfP4Z4DnsRZXWAltz0F/J2vQx91zADW6bnPcHgVl57K+rgWcn+gxkul2+fT8LvJztPgPmA2uc15XYa3T4f485e74KWaP3FhnXWg8D7iLjJuuBB53XjwPXKqWUs/1RrfWQ1voAsM/5vpy0S2v9itZ6wHnbBMSurZZ5UumvePwR8ILW+qTWuht4Afh0ntr1ZWBzhs6dEK3168DJBLusBx7SNk1AtVJqPlnsr2Rt0lr/3jkn5O7Zcs+drL/iMZFnM9PtysnzpbXu0Fpvd173AbuJXTs7Z89XIQv6VBYZ9/bRWo8CvUBtisdms10mX8MetV2mKKW2KaWalFI3ZqhN6bTrZmea+LhSalGax2azXTgmrqXAy8bmbPVXKsRrezb7Kx38z5YGnldKNSt7TeZ8cLlS6h2l1HNKqVXOtoLoL6VUBbbAfMLYnPU+U7ZJ+aPAVt9HOXu+8rY4+NmAUupPgEbgKmPzYq31YaXUMuBlpdR7Wuv9OWrSr4DNWushpdQ3sGdDn8zRuVPhS8DjWuuIsS2f/VWwKKWuwRb0Vxibr3D6ag7wglLqA0fbzRXbse/XaWWvMvc0sCKH50/GZ4Hfaa1N7T+rfaaUmo49sHxLa30qU9+bLoWs0R8GFhnv65xtgfsoe63aKqArxWOz2S6UUtcB3wU+p7UecrdrrQ87/1uAV7FH+py0S2vdZbTlAaAh1WOz2S6DL+GbVmexv1IhXtuz2V9JUUpdiH3/1mutu9ztRl91Ak+ROXNlSmitT2mtTzuvfw2UKqVmkef+Mkj0fGW8z5RSpdhC/mGt9ZMBu+Tu+cq0EyJTf9izjRbsqbzrwFnl2+dOop2xv3BeryLaGdtC5pyxqbTro9jOpxW+7TVAufN6FvAhGXJKpdiu+cbrzwNNesz5c8BpX43zemau2uXsdx62Y0zlor+McywhvnPxj4l2lr2V7f5KoU312D6nj/m2TwMqjde/Bz6dyb5KoW3z3PuHLTDbnL5L6RnIVrucz6uw7fjTctFnznU/BNyTYJ+cPV8ZfQiy8FB9BttbvR/4rrPtbmwtGWAK8EvnwX8LWGYc+13nuD3ADTlu14vAMWCH8/eMs/1jwHvOg/4e8LUct+t/Aruc878CnGcc++dOP+4DvprLdjnv7wK+7zsu2/21GegARrDtoF8Dvgl80/lcAfc67X4PaMx2f6XQpgeAbuPZ2uZsX+b00zvOPf5uJvsqxbb9lfF8NWEMRkHPQK7a5exzO3aAhnlc1voM26SmgXeNe/WZfD1fkhkrCIJQ5BSyjV4QBEHIACLoBUEQihwR9IIgCEWOCHpBEIQiRwS9IAhCkSOCXhAEocgRQS8IglDkiKAXBEEocv5/75CGAYmHtc0AAAAASUVORK5CYII=\n",
vincentvigon's avatar
vincentvigon committed
452
      "text/plain": [
vincentvigon's avatar
vincentvigon committed
453
       "<Figure size 432x288 with 1 Axes>"
vincentvigon's avatar
vincentvigon committed
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def estimate_exponential_drift(x, y):\n",
    "    x_ext=np.stack([ np.ones(len(x)) , x],axis=1)\n",
    "    model = sm.GLM(endog=y, exog=x_ext, family=sm.families.Gamma(link=sm.families.links.log))\n",
    "    model_results = model.fit()\n",
    "    w=model_results.params\n",
    "    return w\n",
    "\n",
    "w=estimate_exponential_drift(x2,y2)\n",
    "plt.plot(x2,y2,'.')\n",
    "xx=np.linspace(0,2,100)\n",
    "plt.plot(xx,np.exp(w[0]+w[1]*xx));\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "***Exo:*** La bibliothèque statsmodel a encore une fois utilisé la technique du maximum de vraissemblance. Ecrivez la vraissemblance $\\prod_i L(x_i,y_i,w)$ en utilisant le fait que la densité de Gamma(shape = α, scale = 1) est :\n",
    "$$\n",
    " y \\to     \\frac 1 {\\Gamma(\\alpha)}     y ^{\\alpha-1} e^{- y} \n",
    "$$\n",
    "(comme d'habitude, pour passer de scale = 1 à scale = θ on change y en y/θ et l'on multiplie la densité par 1/θ pour que l'intégrale reste égale à 1)\n",
    "\n",
    "Ecrivez le problème de maximisation, simplifiez-le, vérifier que le paramètre de forme $\\alpha$ n'intervient pas dans l'expression de $\\hat w$. \n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
vincentvigon's avatar
vincentvigon committed
493
    "## Modèle log-Poisson\n",
vincentvigon's avatar
vincentvigon committed
494
    "\n",
vincentvigon's avatar
vincentvigon committed
495
    "### Sans exposition\n",
vincentvigon's avatar
vincentvigon committed
496
    "\n",
vincentvigon's avatar
vincentvigon committed
497
    "Observons de nouvelles données. L'output $y_i$ sont le nombre d'accident de l'individu $i$, l'input est $x_i$ est \"l'indice fangio\" de ce même individu. \n",
vincentvigon's avatar
vincentvigon committed
498
499
500
501
502
503
    "\n",
    "Remarque: l'output est maintenant à valeur entière, mais cela reste une donnée quantitative. "
   ]
  },
  {
   "cell_type": "code",
vincentvigon's avatar
vincentvigon committed
504
   "execution_count": 10,
vincentvigon's avatar
vincentvigon committed
505
506
507
508
   "metadata": {},
   "outputs": [
    {
     "data": {
vincentvigon's avatar
vincentvigon committed
509
      "image/png": "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\n",
vincentvigon's avatar
vincentvigon committed
510
      "text/plain": [
vincentvigon's avatar
vincentvigon committed
511
       "<Figure size 432x288 with 1 Axes>"
vincentvigon's avatar
vincentvigon committed
512
513
514
515
516
517
518
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
vincentvigon's avatar
grec    
vincentvigon committed
519
520
    "x=np.loadtxt(\"data/dataGLM/accident_x.csv\")\n",
    "y=np.loadtxt(\"data/dataGLM/accident_y.csv\")\n",
vincentvigon's avatar
vincentvigon committed
521
522
523
524
525
526
527
    "plt.plot(x,y,'.');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
vincentvigon's avatar
vincentvigon committed
528
529
530
531
532
    "Les $y_i$ sont discrets. La majorité des individus ont 0 accident, mais ceux avec un grand indice fangio peuvent avoir de nombreux accidents, le reccord étant 7 (balèze). On suppute que \"l'indice fangio\" a un effet multiplicatif sur la fréquence des accidents. Le modèle naturel est :  \n",
    "$$\n",
    "        Y_i \\sim Poisson (\\lambda = \\mu_i),\\qquad  \\text{avec: }   \\mu_i= \\exp(w_0+ w_1*x_i)\n",
    "$$    \n",
    "On rappelle que l'espérance de la loi de Poisson, c'est son paramètre $\\lambda$. \n",
vincentvigon's avatar
vincentvigon committed
533
    "\n",
vincentvigon's avatar
vincentvigon committed
534
    "Nous utilisons `statsmodel` pour estimer les paramètres $w_0$ et $w_1$. Pour le modèle Poissonien,  la fonction de lien \"par défaut\" est la fonction log, donc nous n'avons pas besoin de la préciser dans le code ci-dessous. "
vincentvigon's avatar
vincentvigon committed
535
536
537
538
   ]
  },
  {
   "cell_type": "code",
vincentvigon's avatar
vincentvigon committed
539
   "execution_count": 11,
vincentvigon's avatar
vincentvigon committed
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "estimation de w0 et w1: [-4.02  5.03]\n"
     ]
    }
   ],
   "source": [
    "x_ext=sm.add_constant(x)\n",
    "model = sm.GLM(endog=y, exog=x_ext,  family=sm.families.Poisson())\n",
    "res = model.fit()\n",
    "w=res.params\n",
    "print(\"estimation de w0 et w1:\",w)"
   ]
  },
  {
   "cell_type": "code",
vincentvigon's avatar
vincentvigon committed
560
   "execution_count": 12,
vincentvigon's avatar
vincentvigon committed
561
562
563
564
565
566
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
vincentvigon's avatar
vincentvigon committed
567
      "image/png": "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\n",
vincentvigon's avatar
vincentvigon committed
568
      "text/plain": [
vincentvigon's avatar
vincentvigon committed
569
       "<Figure size 432x288 with 1 Axes>"
vincentvigon's avatar
vincentvigon committed
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x,y,'.')\n",
    "xx=np.linspace(0,1,100)\n",
    "plt.plot(xx,np.exp(w[0] + w[1]*xx ) );"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
vincentvigon's avatar
vincentvigon committed
586
    "### avec exposition\n",
vincentvigon's avatar
vincentvigon committed
587
    "\n",
vincentvigon's avatar
vincentvigon committed
588
    "Dans les données précédentes, le nombre d'accidents était observé sur une période donnée commune à tous les clients (1 an). Dans les données suivantes, on observe les clients sur des durées variables. On a donc deux inputs:  \n",
vincentvigon's avatar
vincentvigon committed
589
    "\n",
vincentvigon's avatar
vincentvigon committed
590
591
    "*  l'indice fangio\n",
    "* l'exposition (=la durée d'observation) qui est donnée en nombre de jour\n",
vincentvigon's avatar
vincentvigon committed
592
593
594
595
596
597
    "\n",
    "On voit naturellement que plus la durée d'observation est longue, et plus le nombre d'accident est important. "
   ]
  },
  {
   "cell_type": "code",
vincentvigon's avatar
vincentvigon committed
598
   "execution_count": 13,
vincentvigon's avatar
vincentvigon committed
599
600
601
602
   "metadata": {},
   "outputs": [
    {
     "data": {
vincentvigon's avatar
vincentvigon committed
603
      "image/png": "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\n",
vincentvigon's avatar
vincentvigon committed
604
      "text/plain": [
vincentvigon's avatar
vincentvigon committed
605
       "<Figure size 432x288 with 1 Axes>"
vincentvigon's avatar
vincentvigon committed
606
607
608
609
610
611
612
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
vincentvigon's avatar
grec    
vincentvigon committed
613
    "xt=np.loadtxt(\"data/dataGLM/accident_exposure_x.csv\")\n",
vincentvigon's avatar
vincentvigon committed
614
615
    "x=xt[:,0] #indice fangio\n",
    "t=xt[:,1] #exposition\n",
vincentvigon's avatar
grec    
vincentvigon committed
616
    "y=np.loadtxt(\"data/dataGLM/accident_exposure_y.csv\")\n",
vincentvigon's avatar
vincentvigon committed
617
618
619
620
621
622
623
    "plt.plot(t,y,'.');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
vincentvigon's avatar
vincentvigon committed
624
    "Il est donc naturelle de diviser le nombre d'accident par l'exposition. On obtient ainsi un nouvel output `y/t`  que l'on peut essayer d'observer en fonction de l'indice fangio. On retombe alors sur un graphique similaire à celui du premier jeu de donnée d'accidents.   "
vincentvigon's avatar
vincentvigon committed
625
626
627
628
   ]
  },
  {
   "cell_type": "code",
vincentvigon's avatar
vincentvigon committed
629
   "execution_count": 14,
vincentvigon's avatar
vincentvigon committed
630
631
632
633
   "metadata": {},
   "outputs": [
    {
     "data": {
vincentvigon's avatar
vincentvigon committed
634
      "image/png": "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\n",
vincentvigon's avatar
vincentvigon committed
635
      "text/plain": [
vincentvigon's avatar
vincentvigon committed
636
       "<Figure size 432x288 with 1 Axes>"
vincentvigon's avatar
vincentvigon committed
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x,y/t,'.');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "On pourrait alors imaginer comme modèle: \n",
vincentvigon's avatar
vincentvigon committed
652
653
654
655
656
657
658
659
660
    "$$\n",
    "        Y_i/t_i \\sim Poisson (\\lambda = \\mu_i),\\qquad  \\text{avec: }   \\mu_i= \\exp(w_0+ w_1*x_i)\n",
    "$$\n",
    "Mais ce n'est pas terrible (notamment car les $Y_i/t_i$ ne sont pas entier). Le bon modèle dans ce cas est:\n",
    "$$\n",
    "        Y_i \\sim Poisson (\\lambda = \\mu_i),\\qquad  \\text{avec: }   \n",
    "        \\mu_i= t_i\\exp(w_0+ w_1*x_i) = \\exp(w_0+ w_1*x_i + \\log(t_i))\n",
    "$$\n",
    "On voit apparaire l'input $\\log(t_i)$ dans l'exponentielle. C'est une variable dite \"offset\" car on ne cherche pas à lui associé un coefficient $w$. Observez comment on rajoute une variable offset dans `statsmodel`\n"
vincentvigon's avatar
vincentvigon committed
661
662
663
664
   ]
  },
  {
   "cell_type": "code",
vincentvigon's avatar
vincentvigon committed
665
   "execution_count": 15,
vincentvigon's avatar
vincentvigon committed
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "estimation de w0 et w1: [-10.04   5.17]\n"
     ]
    }
   ],
   "source": [
    "x_ext=sm.add_constant(x)\n",
    "model = sm.GLM(endog=y, exog=x_ext,  family=sm.families.Poisson(),offset=np.log(t))\n",
    "res = model.fit()\n",
    "w=res.params\n",
    "print(\"estimation de w0 et w1:\",w)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
vincentvigon's avatar
vincentvigon committed
688
    "***Exo:*** Les clients entre les deux jeux de données sont les mêmes. Dans le premier jeu, on avait simplement considéré des clients sur une période de 1 an.  Par un petit calcul, justifiez que l'intercep `w0` soit environ -4 dans le premier jeu  et -10 dans le second jeu.  "
vincentvigon's avatar
vincentvigon committed
689
690
691
692
693
694
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
vincentvigon's avatar
vincentvigon committed
695
    "## Modèle logistique pour la classification binaire \n",
vincentvigon's avatar
vincentvigon committed
696
697
    "\n",
    "\n",
vincentvigon's avatar
vincentvigon committed
698
    "Les jeux de données vont maintenant changer de nature: la variable output sera une variable qualitative et non plus quantitative. On aura donc affaire à des problèmes de classification et non plus de régression. Comme auparavant, on va essayer de trouver une bonne loi pour nos observations. "
vincentvigon's avatar
vincentvigon committed
699
700
701
702
703
704
705
706
707
708
709
710
711
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### données individuelles"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
vincentvigon's avatar
vincentvigon committed
712
    "Dans le jeu de données suivant, chaque ligne représente une bactérie. Il y a 2 input (car $x$ a 2 colonnes). Leur signification est:\n",
vincentvigon's avatar
vincentvigon committed
713
    "\n",
vincentvigon's avatar
vincentvigon committed
714
715
    "*  $x_{i,1}$ : quantité de nouriture donnée à la bactérie `i` (en calories)\n",
    "*  $x_{i,2}$ : quantité de d'oxigène donnée à la bactérie `i` (en litres)    \n",
vincentvigon's avatar
vincentvigon committed
716
717
718
    "\n",
    "L'output est binaire:\n",
    "\n",
vincentvigon's avatar
vincentvigon committed
719
720
    "* $y_i=0$ signifie que la bactérie $i$ est morte\n",
    "* $y_i=1$ signifie que la bactérie $i$ est morte\n",
vincentvigon's avatar
vincentvigon committed
721
    "\n",
vincentvigon's avatar
vincentvigon committed
722
    "Observons les données:"
vincentvigon's avatar
vincentvigon committed
723
724
725
726
   ]
  },
  {
   "cell_type": "code",
vincentvigon's avatar
vincentvigon committed
727
   "execution_count": 16,
vincentvigon's avatar
vincentvigon committed
728
729
730
731
732
733
734
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "matrice des inputs (transposée)\n",
vincentvigon's avatar
vincentvigon committed
735
736
      "[[2.7  0.69 2.09 2.03 0.67 3.74 2.61 4.08 2.85 3.18]\n",
      " [2.54 4.54 4.1  1.86 3.21 1.76 1.87 3.36 0.62 0.82]]\n",
vincentvigon's avatar
vincentvigon committed
737
      "vecteur des outputs\n",
vincentvigon's avatar
vincentvigon committed
738
      "[1. 0. 1. 0. 0. 1. 0. 1. 0. 1.]\n"
vincentvigon's avatar
vincentvigon committed
739
740
741
742
     ]
    },
    {
     "data": {
vincentvigon's avatar
vincentvigon committed
743
      "image/png": "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\n",
vincentvigon's avatar
vincentvigon committed
744
      "text/plain": [
vincentvigon's avatar
vincentvigon committed
745
       "<Figure size 432x288 with 1 Axes>"
vincentvigon's avatar
vincentvigon committed
746
747
748
749
750
751
752
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
vincentvigon's avatar
grec    
vincentvigon committed
753
754
    "x=np.loadtxt(\"data/dataGLM/bacteria_alone_x.csv\")\n",
    "y=np.loadtxt(\"data/dataGLM/bacteria_alone_y.csv\")\n",
vincentvigon's avatar
vincentvigon committed
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
    "\n",
    "print(\"matrice des inputs (transposée)\")\n",
    "print(x[:10].T)\n",
    "print(\"vecteur des outputs\")\n",
    "print(y[:10])\n",
    "\n",
    "x_dead=x[y==0]\n",
    "x_alife=x[y==1]\n",
    "plt.plot(x_dead[:,0],x_dead[:,1],\".\",label=\"dead\")\n",
    "plt.plot(x_alife[:,0],x_alife[:,1],\".\",label=\"alife\")\n",
    "plt.legend();\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Nous aimerions connaître l'effet des inputs sur la probabilité de survie des bactéries. Nous supposons alors que l'output a la loi suivante :\n",
vincentvigon's avatar
vincentvigon committed
773
774
775
    "$$\n",
    "     Y_i \\sim  \\text{Bernoulli}(p = \\mu_i ), \\qquad \\text{avec: }  \\mu_i =  \\text{sigmoid}(w . x_i)\n",
    "$$\n",
vincentvigon's avatar
vincentvigon committed
776
    "avec \n",
vincentvigon's avatar
vincentvigon committed
777
778
779
780
    "\n",
    "* $\\text{sigmoid}(t) = e^t / (1 + e^t)$ est une fonction croissante qui a le bon goût d'être à valeurs dans $[0,1]$, ce qui fournit donc une probabilité. \n",
    "*  $w =(w_{0},w_1,w_2)$ est un vecteur de 3 paramètres. Le premier paramètre $w_0$ est le biais (='intercept')\n",
    "*  $w . x_i$ est le produit scalaire entre $w$ et la i-ième ligne de l'input $x$. Attention, il s'agit de l'input étendu $x_i=(1,x_{i,1},x_{i,2})$\n",
vincentvigon's avatar
vincentvigon committed
781
782
783
784
785
786
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
vincentvigon's avatar
vincentvigon committed
787
   "execution_count": 17,
vincentvigon's avatar
vincentvigon committed
788
789
790
791
792
793
794
795
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<caption>Generalized Linear Model Regression Results</caption>\n",
       "<tr>\n",
vincentvigon's avatar
vincentvigon committed
796
       "  <th>Dep. Variable:</th>          <td>y</td>        <th>  No. Observations:  </th>  <td>  1000</td>  \n",
vincentvigon's avatar
vincentvigon committed
797
798
       "</tr>\n",
       "<tr>\n",
vincentvigon's avatar
vincentvigon committed
799
       "  <th>Model:</th>                 <td>GLM</td>       <th>  Df Residuals:      </th>  <td>   997</td>  \n",
vincentvigon's avatar
vincentvigon committed
800
801
       "</tr>\n",
       "<tr>\n",
vincentvigon's avatar
vincentvigon committed
802
       "  <th>Model Family:</th>       <td>Binomial</td>     <th>  Df Model:          </th>  <td>     2</td>  \n",
vincentvigon's avatar
vincentvigon committed
803
804
       "</tr>\n",
       "<tr>\n",
vincentvigon's avatar
vincentvigon committed
805
       "  <th>Link Function:</th>        <td>logit</td>      <th>  Scale:             </th> <td>  1.0000</td> \n",
vincentvigon's avatar
vincentvigon committed
806
807
       "</tr>\n",
       "<tr>\n",
vincentvigon's avatar
vincentvigon committed
808
       "  <th>Method:</th>               <td>IRLS</td>       <th>  Log-Likelihood:    </th> <td> -170.81</td> \n",
vincentvigon's avatar
vincentvigon committed
809
810
       "</tr>\n",
       "<tr>\n",
vincentvigon's avatar
vincentvigon committed
811
       "  <th>Date:</th>           <td>Fri, 20 Jul 2018</td> <th>  Deviance:          </th> <td>  341.63</td> \n",
vincentvigon's avatar
vincentvigon committed
812
813
       "</tr>\n",
       "<tr>\n",
vincentvigon's avatar
vincentvigon committed
814
       "  <th>Time:</th>               <td>22:26:57</td>     <th>  Pearson chi2:      </th>  <td>  889.</td>  \n",
vincentvigon's avatar
vincentvigon committed
815
816
       "</tr>\n",
       "<tr>\n",
vincentvigon's avatar
vincentvigon committed
817
       "  <th>No. Iterations:</th>         <td>8</td>        <th>  Covariance Type:   </th> <td>nonrobust</td>\n",
vincentvigon's avatar
vincentvigon committed
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "    <td></td>       <th>coef</th>     <th>std err</th>      <th>z</th>      <th>P>|z|</th>  <th>[0.025</th>    <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>const</th> <td>  -14.2051</td> <td>    1.106</td> <td>  -12.845</td> <td> 0.000</td> <td>  -16.373</td> <td>  -12.038</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x1</th>    <td>    3.6980</td> <td>    0.285</td> <td>   12.981</td> <td> 0.000</td> <td>    3.140</td> <td>    4.256</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x2</th>    <td>    2.0054</td> <td>    0.177</td> <td>   11.314</td> <td> 0.000</td> <td>    1.658</td> <td>    2.353</td>\n",
       "</tr>\n",
       "</table>"
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.summary.Summary'>\n",
       "\"\"\"\n",
       "                 Generalized Linear Model Regression Results                  \n",
       "==============================================================================\n",
       "Dep. Variable:                      y   No. Observations:                 1000\n",
       "Model:                            GLM   Df Residuals:                      997\n",
       "Model Family:                Binomial   Df Model:                            2\n",
vincentvigon's avatar
vincentvigon committed
843
       "Link Function:                  logit   Scale:                          1.0000\n",
vincentvigon's avatar
vincentvigon committed
844
       "Method:                          IRLS   Log-Likelihood:                -170.81\n",
vincentvigon's avatar
vincentvigon committed
845
846
       "Date:                Fri, 20 Jul 2018   Deviance:                       341.63\n",
       "Time:                        22:26:57   Pearson chi2:                     889.\n",
vincentvigon's avatar
vincentvigon committed
847
       "No. Iterations:                     8   Covariance Type:             nonrobust\n",
vincentvigon's avatar
vincentvigon committed
848
849
850
851
852
853
854
855
856
857
       "==============================================================================\n",
       "                 coef    std err          z      P>|z|      [0.025      0.975]\n",
       "------------------------------------------------------------------------------\n",
       "const        -14.2051      1.106    -12.845      0.000     -16.373     -12.038\n",
       "x1             3.6980      0.285     12.981      0.000       3.140       4.256\n",
       "x2             2.0054      0.177     11.314      0.000       1.658       2.353\n",
       "==============================================================================\n",
       "\"\"\""
      ]
     },
vincentvigon's avatar
vincentvigon committed
858
     "execution_count": 17,
vincentvigon's avatar
vincentvigon committed
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\"\"\" on ajoute une colonne de 1 (on pourrait aussi utiliser np.concatenate)\"\"\"\n",
    "x=sm.add_constant(x)\n",
    "\n",
    "glm = sm.GLM(endog=y, exog=x,  family=sm.families.Binomial())\n",
    "res = glm.fit()\n",
    "res.summary()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`statmodel` nous indique que les  paramètres qui maximisent la vraisemblance des données sont approximativement:\n",
    "\n",
    "\tw = [-14.2,3.6,2.0]\n",
    "\n",
    "***Exo:*** supposons que l'on ait une bactérie que l'on a nourrit avec 3 callories et 0.5 littre d'oxigène. Quelle est sa probabilité de survie?  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "*** A vous:***  \n",
    "\n",
    "Découpez le jeu de données en 2 parties. Une partie `train` (800 lignes) et une partie `test` (200 lignes). Vous obtiendrez ainsi 2 matrices `x_test` et `x_train` et 2 vecteurs `y_test` et `y_train` \n",
    "\n",
    "Estimez `w` à partir du jeu train. Puis pour chaque élément du jeu `test` estimez une probabilité de survie `hat_y_test_proba`.  Calculez:  \n",
    "\n",
    "\that_y_test = (hat_y_test_proba>0.5)\n",
    "\n",
    "comparez `hat_y_test` et `y_test`\n",
    "\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Données groupées\n",
    "\n",
vincentvigon's avatar
vincentvigon committed
908
    "Dans le jeu de données suivant, chaque ligne représente un lot de bactéries. Les inputs ont la même signification: quantité de nourriture, quantité d'oxygène (par bactérie). Mais maintenant la sortie comporte deux colonnes:  \n",
vincentvigon's avatar
vincentvigon committed
909
    "\n",
vincentvigon's avatar
vincentvigon committed
910
911
    "* $y_{i,0}$ est nombre de bactérie vivante dans le lot $i$\n",
    "* $y_{i,1}$ nombre de bactérie morte dans le lot $i$\n",
vincentvigon's avatar
vincentvigon committed
912
    "\n",
vincentvigon's avatar
vincentvigon committed
913
    "Observons les 10 premiers lots de bactéries..."
vincentvigon's avatar
vincentvigon committed
914
915
916
917
   ]
  },
  {
   "cell_type": "code",
vincentvigon's avatar
vincentvigon committed
918
   "execution_count": 18,
vincentvigon's avatar
vincentvigon committed
919
920
921
922
923
924
925
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "matrice des inputs (transposée)\n",
vincentvigon's avatar
vincentvigon committed
926
927
      "[[1.82 3.84 2.39 3.62 0.32 4.14 1.66 0.56 1.91 1.9 ]\n",
      " [2.95 2.3  2.86 3.86 4.02 0.07 3.09 1.65 3.38 3.59]]\n",
vincentvigon's avatar
vincentvigon committed
928
      "matrice des outputs (transposée)\n",
vincentvigon's avatar
vincentvigon committed
929
930
      "[[ 2. 10.  4.  8.  0.  4.  1.  0.  1.  4.]\n",
      " [ 4.  0.  3.  0.  5.  1.  8. 10.  6.  2.]]\n"
vincentvigon's avatar
vincentvigon committed
931
932
933
934
     ]
    }
   ],
   "source": [
vincentvigon's avatar
grec    
vincentvigon committed
935
936
    "x=np.loadtxt(\"data/dataGLM/bacteria_grouped_x.csv\")\n",
    "y=np.loadtxt(\"data/dataGLM/bacteria_grouped_y.csv\")\n",
vincentvigon's avatar
vincentvigon committed
937
938
939
940
941
942
943
944
945
946
947
948
    "\n",
    "print(\"matrice des inputs (transposée)\")\n",
    "print(x[:10].T)\n",
    "print(\"matrice des outputs (transposée)\")\n",
    "print(y[:10].T)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Il est naturel de reprendre le modèle précédent, mais en remplaçant la bernoulli par une binomiale:\t\n",
vincentvigon's avatar
vincentvigon committed
949
950
951
    "$$\n",
    "  Y_{i,0} \\sim \\text{Binomiale}(n_i , p = \\mu_i ), \\qquad \\text{avec: }    \\mu_i =  \\text{sigmoid}(w . x_i), \\  n_i= Y_{i,0}+Y_{i,1}\n",
    "$$\n",
vincentvigon's avatar
vincentvigon committed
952
953
954
955
956
    "Voici ce que donne l'estimateur de maximum de vraissemblance..."
   ]
  },
  {
   "cell_type": "code",
vincentvigon's avatar
vincentvigon committed
957
   "execution_count": 19,
vincentvigon's avatar
vincentvigon committed
958
959
960
961
962
963
964
965
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<caption>Generalized Linear Model Regression Results</caption>\n",
       "<tr>\n",
vincentvigon's avatar
vincentvigon committed
966
       "  <th>Dep. Variable:</th>    <td>['y1', 'y2']</td>   <th>  No. Observations:  </th>  <td>  1000</td>  \n",
vincentvigon's avatar
vincentvigon committed
967
968
       "</tr>\n",
       "<tr>\n",
vincentvigon's avatar
vincentvigon committed
969
       "  <th>Model:</th>                 <td>GLM</td>       <th>  Df Residuals:      </th>  <td>   997</td>  \n",
vincentvigon's avatar
vincentvigon committed
970
971
       "</tr>\n",
       "<tr>\n",
vincentvigon's avatar
vincentvigon committed
972
       "  <th>Model Family:</th>       <td>Binomial</td>     <th>  Df Model:          </th>  <td>     2</td>  \n",
vincentvigon's avatar
vincentvigon committed
973
974
       "</tr>\n",
       "<tr>\n",
vincentvigon's avatar
vincentvigon committed
975
       "  <th>Link Function:</th>        <td>logit</td>      <th>  Scale:             </th> <td>  1.0000</td> \n",
vincentvigon's avatar
vincentvigon committed
976
977
       "</tr>\n",
       "<tr>\n",
vincentvigon's avatar
vincentvigon committed
978
       "  <th>Method:</th>               <td>IRLS</td>       <th>  Log-Likelihood:    </th> <td> -557.92</td> \n",
vincentvigon's avatar
vincentvigon committed
979
980
       "</tr>\n",
       "<tr>\n",
vincentvigon's avatar
vincentvigon committed
981
       "  <th>Date:</th>           <td>Fri, 20 Jul 2018</td> <th>  Deviance:          </th> <td>  528.92</td> \n",
vincentvigon's avatar
vincentvigon committed
982
983
       "</tr>\n",
       "<tr>\n",
vincentvigon's avatar
vincentvigon committed
984
       "  <th>Time:</th>               <td>22:27:01</td>     <th>  Pearson chi2:      </th>  <td>  652.</td>  \n",
vincentvigon's avatar
vincentvigon committed
985
986
       "</tr>\n",
       "<tr>\n",
vincentvigon's avatar
vincentvigon committed
987
       "  <th>No. Iterations:</th>         <td>8</td>        <th>  Covariance Type:   </th> <td>nonrobust</td>\n",
vincentvigon's avatar
vincentvigon committed
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "    <td></td>       <th>coef</th>     <th>std err</th>      <th>z</th>      <th>P>|z|</th>  <th>[0.025</th>    <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>const</th> <td>  -15.3275</td> <td>    0.456</td> <td>  -33.639</td> <td> 0.000</td> <td>  -16.221</td> <td>  -14.434</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x1</th>    <td>    4.0739</td> <td>    0.119</td> <td>   34.322</td> <td> 0.000</td> <td>    3.841</td> <td>    4.307</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x2</th>    <td>    2.0445</td> <td>    0.068</td> <td>   29.909</td> <td> 0.000</td> <td>    1.910</td> <td>    2.178</td>\n",
       "</tr>\n",
       "</table>"
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.summary.Summary'>\n",
       "\"\"\"\n",
       "                 Generalized Linear Model Regression Results                  \n",
       "==============================================================================\n",
       "Dep. Variable:           ['y1', 'y2']   No. Observations:                 1000\n",
       "Model:                            GLM   Df Residuals:                      997\n",
       "Model Family:                Binomial   Df Model:                            2\n",
vincentvigon's avatar
vincentvigon committed
1013
       "Link Function:                  logit   Scale:                          1.0000\n",
vincentvigon's avatar
vincentvigon committed
1014
       "Method:                          IRLS   Log-Likelihood:                -557.92\n",
vincentvigon's avatar
vincentvigon committed
1015
1016
       "Date:                Fri, 20 Jul 2018   Deviance:                       528.92\n",
       "Time:                        22:27:01   Pearson chi2:                     652.\n",
vincentvigon's avatar
vincentvigon committed
1017
       "No. Iterations:                     8   Covariance Type:             nonrobust\n",
vincentvigon's avatar
vincentvigon committed
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
       "==============================================================================\n",
       "                 coef    std err          z      P>|z|      [0.025      0.975]\n",
       "------------------------------------------------------------------------------\n",
       "const        -15.3275      0.456    -33.639      0.000     -16.221     -14.434\n",
       "x1             4.0739      0.119     34.322      0.000       3.841       4.307\n",
       "x2             2.0445      0.068     29.909      0.000       1.910       2.178\n",
       "==============================================================================\n",
       "\"\"\""
      ]
     },
vincentvigon's avatar
vincentvigon committed
1028
     "execution_count": 19,
vincentvigon's avatar
vincentvigon committed
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x=sm.add_constant(x)\n",
    "glm = sm.GLM(endog=y, exog=x,  family=sm.families.Binomial())\n",
    "res = glm.fit()\n",
    "res.summary()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Analyse d'un vrai jeu de donnée\n",
    "\n",
    "Nous allons étudier un jeu de données inclus dans `statsmodel`. Toutes les informations sur ces données sont disponibles en effectuant:\n",
vincentvigon's avatar
vincentvigon committed
1047
    "```\n",
vincentvigon's avatar
vincentvigon committed
1048
1049
1050
1051
    "\tprint(sm.datasets.star98.NOTE)\n",
    "```\n",
    "\n",
    "On y découvre qu'il y a:\n",
vincentvigon's avatar
vincentvigon committed
1052
    "\n",
vincentvigon's avatar
vincentvigon committed
1053
1054
1055
1056
    "* 303 lignes, chaque ligne correspondant à un \"county\" (=zone géographique) de californie. \n",
    "* 13 variables auquelles s'ajoutent 8 variables  d'interaction (= des combinaisons des 13 premières). \n",
    "\n",
    "Parmis ces 13 variables, les 2 premières sont l'output qui nous intéresse:\n",
vincentvigon's avatar
vincentvigon committed
1057
1058
1059
    "\n",
    "* nb étudiant ayant une note > à la médiane nationale  (pour chaque county)\n",
    "* nb étudiant ayant une note < à la médiane nationale (pour chaque county)\n",
vincentvigon's avatar
vincentvigon committed
1060
1061
    "\n",
    "Les autres variables seront nos inputs, on y trouve notamment:\n",
vincentvigon's avatar
vincentvigon committed
1062
    "\n",
vincentvigon's avatar
vincentvigon committed
1063
1064
    "* pourcentage d'étudiant par minorité ethnique (Asian,black,hispanic)\n",
    "* ratio étudiant/prof\n",
vincentvigon's avatar
vincentvigon committed
1065
    "* pourcentage d'étudiant de faible revenu (=low income)\n",
vincentvigon's avatar
vincentvigon committed
1066
1067
1068
1069
1070
1071
    "\n",
    "Nous allons voir l'influence des revenus sur la réussite des études. \n"
   ]
  },
  {
   "cell_type": "code",
vincentvigon's avatar
vincentvigon committed
1072
   "execution_count": 20,
vincentvigon's avatar
vincentvigon committed
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "data.exog.shape (303, 20)\n",
      "data.endog.shape (303, 2)\n",
      "data.endog_name ['NABOVE', 'NBELOW']\n",
      "data.exog_name ['LOWINC', 'PERASIAN', 'PERBLACK', 'PERHISP', 'PERMINTE', 'AVYRSEXP', 'AVSALK', 'PERSPENK', 'PTRATIO', 'PCTAF', 'PCTCHRT', 'PCTYRRND', 'PERMINTE_AVYRSEXP', 'PERMINTE_AVSAL', 'AVYRSEXP_AVSAL', 'PERSPEN_PTRATIO', 'PERSPEN_PCTAF', 'PTRATIO_PCTAF', 'PERMINTE_AVYRSEXP_AVSAL', 'PERSPEN_PTRATIO_PCTAF']\n"
     ]
    }
   ],
   "source": [
    "\n",
    "data = sm.datasets.star98.load()\n",
    "print(\"data.exog.shape\",data.exog.shape)\n",
    "print(\"data.endog.shape\",data.endog.shape)\n",
    "print(\"data.endog_name\",data.endog_name)\n",
    "print(\"data.exog_name\",data.exog_name)\n",
    "\n",
    "    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "On s'apperçoit qu'il y a en fait 20+2 variables (alors que  la description en annonçait 13+8 ?!). \n",
    "\n",
vincentvigon's avatar
vincentvigon committed
1103
    "Nous prenons comme descripteur tout le tableau `data.exog`. Une meilleure stratégie serait de sélectionner nos inputs: par exemple, ne pas prendre les intéractions proposées, mais de recréer nous même des interactions qui nous semble significatives.  \n",
vincentvigon's avatar
vincentvigon committed
1104
1105
1106
1107
1108
1109
1110
    "\n",
    "***A vous:*** analyser le programme suivant. \n",
    " "
   ]
  },
  {
   "cell_type": "code",
vincentvigon's avatar
vincentvigon committed
1111
   "execution_count": 21,
vincentvigon's avatar
vincentvigon committed
1112
1113
1114
1115
1116
1117
1118
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "means\n",
vincentvigon's avatar
vincentvigon committed
1119
      " [   41.41     5.9      5.64    34.4     14.69    14.25    58.64     4.32    22.46    33.63     1.18    11.61   209.02   879.98   839.72    96.3    147.24   747.45 12585.27  3243.61     1.  ]\n",
vincentvigon's avatar
vincentvigon committed
1120
      "means of exog\n",
vincentvigon's avatar
vincentvigon committed
1121
      " [   26.68     5.9      5.64    34.4     14.69    14.25    58.64     4.32    22.46    33.63     1.18    11.61   209.02   879.98   839.72    96.3    147.24   747.45 12585.27  3243.61     1.  ]\n",
vincentvigon's avatar
vincentvigon committed
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
      "diff: [-0.12]\n"
     ]
    }
   ],
   "source": [
    "data = sm.datasets.star98.load()\n",
    "x = data.exog\n",
    "\"\"\" on rajoute la constante à la fin, ainsi la variable zéro sera 'LOWINC' =pourcentage d'étudiant ayant un faible revenu \"\"\"\n",
    "x = sm.add_constant(x,prepend=False)\n",
    "y = data.endog\n",
    "\n",
    "\n",
    "\"\"\" le descripteur d'un étudiant 'moyen'  \"\"\"\n",
    "means = x.mean(axis=0)\n",
    "print(\"means\\n\",means)\n",
    "\n",
    "\n",
    "\"\"\" et voici l'étudiant 'moyen'  mais qui gagne peu d'argent \"\"\"\n",
    "means25 = means.copy()\n",
    "means25[0] = stats.scoreatpercentile(x[:, 0], 25)\n",
    "print(\"means of exog\\n\",means25)\n",
    "\n",
    "\"\"\" et voici l'étudiant moyen mais qui gagne pas mal d'argent \"\"\"\n",
    "means75 = means.copy()\n",
    "means75[0]  = stats.scoreatpercentile(x[:, 0], 75)\n",
    "\n",
    "\n",
    "model = sm.GLM(endog=y, exog=x, family=sm.families.Binomial())\n",
    "res = model.fit()\n",
    "\n",
    "resp_25 = res.predict(means25)\n",
    "resp_75 = res.predict(means75)\n",
    "diff = resp_75 - resp_25\n",
    "\"\"\" que signifie cette différence ? Le signe 'moins' ne vous semble-t-il pas contre intuitif ?\n",
    "\"\"\"\n",
    "print(\"diff:\",diff) "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "***Exo:*** critiquez cette étude. Mathématiquement: n'y a-t-il pas un problème avec les variables d'interaction ?  Sociologiquement: est-ce que la variable revenus (\"incomes\") est un bon indicateur pour savoir si l'étudiant finance facilement ses études?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
vincentvigon's avatar
vincentvigon committed
1171
    "***Exo:*** Les données qui suivent représentent: \n",
vincentvigon's avatar
vincentvigon committed
1172
    "\n",
vincentvigon's avatar
vincentvigon committed
1173
1174
    "* `x`: nombre d'heure de travail\n",
    "* `y`: réussite de l'intéro. \n",
vincentvigon's avatar
vincentvigon committed
1175
    "\n",
vincentvigon's avatar
vincentvigon committed
1176
    "Questions:\n",
vincentvigon's avatar
vincentvigon committed
1177
    "\n",
vincentvigon's avatar
vincentvigon committed
1178
1179
    "* Quelle est la probabilité de réussite si je travaille 5 minutes ? 1 heure ?\n",
    "* Quelle est le minimum de travail à fournir si je veux avoir 50% de chance de réussir ?"
vincentvigon's avatar
vincentvigon committed
1180
1181
1182
1183
   ]
  },
  {
   "cell_type": "code",
vincentvigon's avatar
vincentvigon committed
1184
   "execution_count": 22,
vincentvigon's avatar
vincentvigon committed
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
   "metadata": {},
   "outputs": [],
   "source": [
    "x=[2.427, 1.474, 0.396, 1.009, 3.424, 0.068, 4.682, 2.892, 3.351, 2.229, 1.78, 4.742, 2.184, 1.326, 3.446, 0.176,\n",
    "     0.549, 1.919, 0.096, 1.378, 3.483, 0.309, 0.857, 1.079, 0.386, 1.02, 2.882, 1.538, 3.628, 3.812, 0.602, 2.423,\n",
    "     3.109, 0.996, 0.202, 0.975, 1.645, 2.082, 1.114, 2.442, 0.486,\n",
    "     1.5, 3.827, 3.235, 4.192, 1.716, 1.969, 0.385, 1.371, 2.044, 4.498, 0.361, 2.053, 4.866, 4.136, 3.646, 1.475, 4.907, 0.532, 4.984, 1.834, 2.19, 1.758, 0.713, 1.45, 3.342, 2.125, 4.293, 3.691, 3.189, 1.416, 0.531, 3.111, 3.505, 2.498, 0.888, 2.861, 3.741, 1.956, 1.879, 0.942, 4.699, 4.932, 1.875, 2.023, 2.473, 4.438, 2.781, 2.348, 4.696, 2.708, 1.392, 2.221, 4.882, 1.679, 4.936, 0.104, 0.224, 2.685, 1.662]\n",
    "y=[1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1,\n",
    "     1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
    "     0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1];\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Modèle multinomial pour la classification multi-classes\n",
    "\n",
vincentvigon's avatar
vincentvigon committed
1203
    "Dans le jeu suivant \n",
vincentvigon's avatar
vincentvigon committed
1204
    "\n",
vincentvigon's avatar
vincentvigon committed
1205
1206
    "* L'output $Y$ peut avoir 7 valeurs différentes, chaque valeur correspondant à un type de verre propre au fabriquant\n",
    "* Les inputs sont les composants chimiques présents dans le verre, ainsi que l'indice de réfraction `RI`.  \n",
vincentvigon's avatar
vincentvigon committed
1207
    "\n",
vincentvigon's avatar
vincentvigon committed
1208
1209
1210
1211
    "On est donc en présence d'un problème de classification à 7 classes. Considérons un vecteur $p=[p_0,...,p_6]$. Nous dirons que $Y$ suit une loi  MultiBernoulli($p$) quand \n",
    "$$\n",
    "        \\forall k: \\  \\mathbf P[Y=k]= p_k\n",
<