Commit | Line | Data |
---|---|---|
fa8078f9 BA |
1 | { |
2 | "cells": [ | |
3 | { | |
4 | "cell_type": "code", | |
1e20780e | 5 | "execution_count": null, |
fa8078f9 BA |
6 | "metadata": { |
7 | "collapsed": false | |
8 | }, | |
9 | "outputs": [], | |
10 | "source": [ | |
11 | "library(talweg)" | |
12 | ] | |
13 | }, | |
14 | { | |
15 | "cell_type": "code", | |
1e20780e | 16 | "execution_count": null, |
fa8078f9 BA |
17 | "metadata": { |
18 | "collapsed": false | |
19 | }, | |
20 | "outputs": [], | |
21 | "source": [ | |
99f83c9a BA |
22 | "ts_data = read.csv(system.file(\"extdata\",\"pm10_mesures_H_loc.csv\",package=\"talweg\"))\n", |
23 | "exo_data = read.csv(system.file(\"extdata\",\"meteo_extra_noNAs.csv\",package=\"talweg\"))\n", | |
24 | "data = getData(ts_data, exo_data, input_tz = \"Europe/Paris\", working_tz=\"Europe/Paris\", predict_at=7)" | |
fa8078f9 BA |
25 | ] |
26 | }, | |
27 | { | |
28 | "cell_type": "markdown", | |
29 | "metadata": {}, | |
30 | "source": [ | |
31 | "## Introduction\n", | |
32 | "\n", | |
33 | "J'ai fait quelques essais dans différentes configurations pour la méthode \"Neighbors\" (la seule dont on a parlé).<br>Il semble que le mieux soit\n", | |
34 | "\n", | |
35 | " * simtype=\"mix\" : on utilise les similarités endogènes et exogènes (fenêtre optimisée par VC)\n", | |
36 | " * same_season=FALSE : les indices pour la validation croisée ne tiennent pas compte des saisons\n", | |
37 | " * mix_strategy=\"mult\" : on multiplie les poids (au lieu d'en éteindre)\n", | |
38 | "\n", | |
99f83c9a BA |
39 | "(valeurs par défaut).\n", |
40 | "\n", | |
fa8078f9 BA |
41 | "J'ai systématiquement comparé à deux autres approches : la persistence et la moyennes des lendemains des jours \"similaires\" dans tout le passé ; à chaque fois sans prédiction du saut (sauf pour Neighbors : prédiction basée sur les poids calculés).\n", |
42 | "\n", | |
43 | "Ensuite j'affiche les erreurs, quelques courbes prévues/mesurées, quelques filaments puis les histogrammes de quelques poids. Concernant les graphes de filaments, la moitié gauche du graphe correspond aux jours similaires au jour courant, tandis que la moitié droite affiche les lendemains : ce sont donc les voisinages tels qu'utilisés dans l'algorithme.\n", | |
44 | "\n", | |
45 | "<h2 style=\"color:blue;font-size:2em\">Pollution par chauffage</h2>" | |
46 | ] | |
47 | }, | |
48 | { | |
49 | "cell_type": "code", | |
1e20780e | 50 | "execution_count": null, |
fa8078f9 BA |
51 | "metadata": { |
52 | "collapsed": false | |
53 | }, | |
54 | "outputs": [], | |
55 | "source": [ | |
69bcd8bc | 56 | "indices_ch = seq(as.Date(\"2015-01-18\"),as.Date(\"2015-01-24\"),\"days\")\n", |
99f83c9a BA |
57 | "p_ch_nn = computeForecast(data,indices_ch, \"Neighbors\", \"Neighbors\", simtype=\"mix\")\n", |
58 | "p_ch_pz = computeForecast(data, indices_ch, \"Persistence\", \"Zero\", same_day=TRUE)\n", | |
59 | "p_ch_az = computeForecast(data, indices_ch, \"Average\", \"Zero\") #, memory=183)\n", | |
60 | "#p_ch_zz = computeForecast(data, indices_ch, \"Zero\", \"Zero\")" | |
fa8078f9 BA |
61 | ] |
62 | }, | |
63 | { | |
64 | "cell_type": "code", | |
1e20780e | 65 | "execution_count": null, |
fa8078f9 BA |
66 | "metadata": { |
67 | "collapsed": false | |
68 | }, | |
1e20780e | 69 | "outputs": [], |
fa8078f9 | 70 | "source": [ |
99f83c9a BA |
71 | "e_ch_nn = computeError(data, p_ch_nn)\n", |
72 | "e_ch_pz = computeError(data, p_ch_pz)\n", | |
73 | "e_ch_az = computeError(data, p_ch_az)\n", | |
74 | "#e_ch_zz = computeError(data, p_ch_zz)\n", | |
841b7f5a | 75 | "options(repr.plot.width=9, repr.plot.height=7)\n", |
fa8078f9 BA |
76 | "plotError(list(e_ch_nn, e_ch_pz, e_ch_az), cols=c(1,2,colors()[258]))\n", |
77 | "\n", | |
78 | "#Noir: neighbors, rouge: persistence, vert: moyenne" | |
79 | ] | |
80 | }, | |
fa8078f9 BA |
81 | { |
82 | "cell_type": "code", | |
1e20780e | 83 | "execution_count": null, |
fa8078f9 BA |
84 | "metadata": { |
85 | "collapsed": false | |
86 | }, | |
1e20780e | 87 | "outputs": [], |
fa8078f9 BA |
88 | "source": [ |
89 | "par(mfrow=c(1,2))\n", | |
90 | "options(repr.plot.width=9, repr.plot.height=4)\n", | |
91 | "plotPredReal(data, p_ch_nn, 3)\n", | |
92 | "plotPredReal(data, p_ch_nn, 4)\n", | |
93 | "\n", | |
94 | "#Bleu: prévue, noir: réalisée" | |
95 | ] | |
96 | }, | |
97 | { | |
98 | "cell_type": "markdown", | |
99 | "metadata": {}, | |
100 | "source": [ | |
101 | "Prédictions d'autant plus lisses que le jour à prévoir est atypique (pollué)." | |
102 | ] | |
103 | }, | |
104 | { | |
105 | "cell_type": "code", | |
1e20780e | 106 | "execution_count": null, |
fa8078f9 BA |
107 | "metadata": { |
108 | "collapsed": false | |
109 | }, | |
1e20780e | 110 | "outputs": [], |
fa8078f9 BA |
111 | "source": [ |
112 | "par(mfrow=c(1,2))\n", | |
113 | "plotPredReal(data, p_ch_az, 3)\n", | |
114 | "plotPredReal(data, p_ch_az, 4)" | |
115 | ] | |
116 | }, | |
fa8078f9 BA |
117 | { |
118 | "cell_type": "code", | |
1e20780e | 119 | "execution_count": null, |
fa8078f9 BA |
120 | "metadata": { |
121 | "collapsed": false | |
122 | }, | |
1e20780e | 123 | "outputs": [], |
fa8078f9 BA |
124 | "source": [ |
125 | "par(mfrow=c(1,2))\n", | |
69bcd8bc BA |
126 | "f3_ch = computeFilaments(data, p_ch_nn$getIndexInData(3), plot=TRUE)\n", |
127 | "f4_ch = computeFilaments(data, p_ch_nn$getIndexInData(4), plot=TRUE)" | |
fa8078f9 BA |
128 | ] |
129 | }, | |
130 | { | |
131 | "cell_type": "code", | |
1e20780e | 132 | "execution_count": null, |
fa8078f9 BA |
133 | "metadata": { |
134 | "collapsed": false | |
135 | }, | |
1e20780e | 136 | "outputs": [], |
fa8078f9 BA |
137 | "source": [ |
138 | "par(mfrow=c(2,2))\n", | |
841b7f5a | 139 | "options(repr.plot.width=9, repr.plot.height=7)\n", |
69bcd8bc BA |
140 | "plotFilamentsBox(data, f3_ch$indices)\n", |
141 | "plotFilamentsBox(data, f3_ch$indices+1)\n", | |
142 | "plotFilamentsBox(data, f4_ch$indices)\n", | |
143 | "plotFilamentsBox(data, f4_ch$indices+1)\n", | |
841b7f5a BA |
144 | "\n", |
145 | "#En haut : jour 3 + lendemain (4) ; en bas : jour 4 + lendemain (5)\n", | |
146 | "#À gauche : premières 24h ; à droite : 24h suivantes" | |
fa8078f9 BA |
147 | ] |
148 | }, | |
149 | { | |
150 | "cell_type": "markdown", | |
151 | "metadata": {}, | |
152 | "source": [ | |
841b7f5a | 153 | "Dans les deux cas, un voisinage \"raisonnable\" est trouvé ; mais grande variabilité le lendemain \"pollué\"." |
fa8078f9 BA |
154 | ] |
155 | }, | |
156 | { | |
157 | "cell_type": "code", | |
158 | "execution_count": null, | |
159 | "metadata": { | |
160 | "collapsed": false | |
161 | }, | |
162 | "outputs": [], | |
163 | "source": [ | |
164 | "par(mfrow=c(1,2))\n", | |
165 | "options(repr.plot.width=9, repr.plot.height=4)\n", | |
69bcd8bc BA |
166 | "plotRelativeVariability(data, f3_ch$indices)\n", |
167 | "plotRelativeVariability(data, f4_ch$indices)\n", | |
841b7f5a BA |
168 | "\n", |
169 | "#Variabilité sur 60 courbes au hasard en rouge ; sur nos 60 voisins (+ lendemains) en noir" | |
170 | ] | |
171 | }, | |
172 | { | |
173 | "cell_type": "markdown", | |
174 | "metadata": {}, | |
175 | "source": [ | |
99f83c9a | 176 | "Il faudrait que la courbe noire soit nettement plus basse que la courbe rouge." |
841b7f5a BA |
177 | ] |
178 | }, | |
179 | { | |
180 | "cell_type": "code", | |
181 | "execution_count": null, | |
182 | "metadata": { | |
183 | "collapsed": false | |
184 | }, | |
185 | "outputs": [], | |
186 | "source": [ | |
187 | "par(mfrow=c(1,3))\n", | |
fa8078f9 BA |
188 | "plotSimils(p_ch_nn, 3)\n", |
189 | "plotSimils(p_ch_nn, 4)\n", | |
841b7f5a | 190 | "plotSimils(p_ch_nn, 5)\n", |
fa8078f9 BA |
191 | "\n", |
192 | "#Non pollué à gauche, pollué au milieu, autre pollué à droite" | |
193 | ] | |
194 | }, | |
195 | { | |
196 | "cell_type": "markdown", | |
197 | "metadata": {}, | |
198 | "source": [ | |
199 | "La plupart des poids très proches de zéro ; pas pour le jour 5 : autre type de jour, cf. ci-dessous." | |
200 | ] | |
201 | }, | |
202 | { | |
203 | "cell_type": "code", | |
204 | "execution_count": null, | |
205 | "metadata": { | |
206 | "collapsed": false | |
207 | }, | |
208 | "outputs": [], | |
209 | "source": [ | |
210 | "par(mfrow=c(1,2))\n", | |
211 | "plotPredReal(data, p_ch_nn, 5)\n", | |
841b7f5a | 212 | "ignored <- computeFilaments(data, p_ch_nn$getIndexInData(5), plot=TRUE)" |
fa8078f9 BA |
213 | ] |
214 | }, | |
99f83c9a BA |
215 | { |
216 | "cell_type": "code", | |
217 | "execution_count": null, | |
218 | "metadata": { | |
219 | "collapsed": false | |
220 | }, | |
221 | "outputs": [], | |
222 | "source": [ | |
223 | "#Fenêtres sélectionnées dans ]0,10] / endo à gauche, exo à droite\n", | |
224 | "p_ch_nn$getParams(3)$window\n", | |
225 | "p_ch_nn$getParams(4)$window" | |
226 | ] | |
227 | }, | |
fa8078f9 BA |
228 | { |
229 | "cell_type": "markdown", | |
230 | "metadata": {}, | |
231 | "source": [ | |
232 | "<h2 style=\"color:blue;font-size:2em\">Pollution par épandage</h2>" | |
233 | ] | |
234 | }, | |
235 | { | |
236 | "cell_type": "code", | |
237 | "execution_count": null, | |
238 | "metadata": { | |
239 | "collapsed": false | |
240 | }, | |
241 | "outputs": [], | |
242 | "source": [ | |
69bcd8bc | 243 | "indices_ep = seq(as.Date(\"2015-03-15\"),as.Date(\"2015-03-21\"),\"days\")\n", |
99f83c9a BA |
244 | "p_ep_nn = computeForecast(data,indices_ep, \"Neighbors\", \"Neighbors\", simtype=\"mix\")\n", |
245 | "p_ep_pz = computeForecast(data, indices_ep, \"Persistence\", \"Zero\", same_day=TRUE)\n", | |
246 | "p_ep_az = computeForecast(data, indices_ep, \"Average\", \"Zero\") #, memory=183)\n", | |
247 | "#p_ep_zz = computeForecast(data, indices_ep, \"Zero\", \"Zero\")" | |
fa8078f9 BA |
248 | ] |
249 | }, | |
250 | { | |
251 | "cell_type": "code", | |
252 | "execution_count": null, | |
253 | "metadata": { | |
254 | "collapsed": false | |
255 | }, | |
256 | "outputs": [], | |
257 | "source": [ | |
99f83c9a BA |
258 | "e_ep_nn = computeError(data, p_ep_nn)\n", |
259 | "e_ep_pz = computeError(data, p_ep_pz)\n", | |
260 | "e_ep_az = computeError(data, p_ep_az)\n", | |
261 | "#e_ep_zz = computeError(data, p_ep_zz)\n", | |
841b7f5a | 262 | "options(repr.plot.width=9, repr.plot.height=7)\n", |
fa8078f9 BA |
263 | "plotError(list(e_ep_nn, e_ep_pz, e_ep_az), cols=c(1,2,colors()[258]))\n", |
264 | "\n", | |
265 | "#Noir: neighbors, rouge: persistence, vert: moyenne" | |
266 | ] | |
267 | }, | |
fa8078f9 BA |
268 | { |
269 | "cell_type": "code", | |
270 | "execution_count": null, | |
271 | "metadata": { | |
272 | "collapsed": false | |
273 | }, | |
274 | "outputs": [], | |
275 | "source": [ | |
276 | "par(mfrow=c(1,2))\n", | |
277 | "options(repr.plot.width=9, repr.plot.height=4)\n", | |
69bcd8bc BA |
278 | "plotPredReal(data, p_ep_nn, 4)\n", |
279 | "plotPredReal(data, p_ep_nn, 6)\n", | |
fa8078f9 BA |
280 | "\n", |
281 | "#Bleu: prévue, noir: réalisée" | |
282 | ] | |
283 | }, | |
284 | { | |
285 | "cell_type": "markdown", | |
286 | "metadata": {}, | |
287 | "source": [ | |
288 | "À gauche un jour \"bien\" prévu, à droite le pic d'erreur (jour 6)." | |
289 | ] | |
290 | }, | |
291 | { | |
292 | "cell_type": "code", | |
293 | "execution_count": null, | |
294 | "metadata": { | |
295 | "collapsed": false | |
296 | }, | |
297 | "outputs": [], | |
298 | "source": [ | |
299 | "par(mfrow=c(1,2))\n", | |
99f83c9a BA |
300 | "plotPredReal(data, p_ep_az, 4)\n", |
301 | "plotPredReal(data, p_ep_az, 6)" | |
fa8078f9 BA |
302 | ] |
303 | }, | |
304 | { | |
305 | "cell_type": "code", | |
306 | "execution_count": null, | |
307 | "metadata": { | |
308 | "collapsed": false | |
309 | }, | |
310 | "outputs": [], | |
311 | "source": [ | |
312 | "par(mfrow=c(1,2))\n", | |
69bcd8bc BA |
313 | "f4_ep = computeFilaments(data, p_ep_nn$getIndexInData(4), plot=TRUE)\n", |
314 | "f6_ep = computeFilaments(data, p_ep_nn$getIndexInData(6), plot=TRUE)" | |
315 | ] | |
316 | }, | |
317 | { | |
318 | "cell_type": "code", | |
319 | "execution_count": null, | |
320 | "metadata": { | |
321 | "collapsed": false | |
322 | }, | |
323 | "outputs": [], | |
324 | "source": [ | |
325 | "par(mfrow=c(2,2))\n", | |
326 | "options(repr.plot.width=9, repr.plot.height=7)\n", | |
327 | "plotFilamentsBox(data, f4_ep$indices)\n", | |
328 | "plotFilamentsBox(data, f4_ep$indices+1)\n", | |
329 | "plotFilamentsBox(data, f6_ep$indices)\n", | |
330 | "plotFilamentsBox(data, f6_ep$indices+1)\n", | |
331 | "\n", | |
332 | "#En haut : jour 4 + lendemain (5) ; en bas : jour 6 + lendemain (7)\n", | |
333 | "#À gauche : premières 24h ; à droite : 24h suivantes" | |
334 | ] | |
335 | }, | |
336 | { | |
337 | "cell_type": "markdown", | |
338 | "metadata": {}, | |
339 | "source": [ | |
99f83c9a | 340 | "\"Voisinages\" catastrophiques : les jours 4 et 6 sont trop atypiques." |
fa8078f9 BA |
341 | ] |
342 | }, | |
343 | { | |
344 | "cell_type": "code", | |
345 | "execution_count": null, | |
346 | "metadata": { | |
347 | "collapsed": false | |
348 | }, | |
349 | "outputs": [], | |
350 | "source": [ | |
351 | "par(mfrow=c(1,2))\n", | |
69bcd8bc BA |
352 | "options(repr.plot.width=9, repr.plot.height=4)\n", |
353 | "plotRelativeVariability(data, f4_ep$indices)\n", | |
354 | "plotRelativeVariability(data, f6_ep$indices)\n", | |
355 | "\n", | |
356 | "#Variabilité sur 60 courbes au hasard en rouge ; sur nos 60 voisins (+ lendemains) en noir" | |
fa8078f9 BA |
357 | ] |
358 | }, | |
359 | { | |
360 | "cell_type": "markdown", | |
361 | "metadata": {}, | |
362 | "source": [ | |
99f83c9a | 363 | "Il faudrait que la courbe noire soit nettement plus basse que la courbe rouge." |
69bcd8bc BA |
364 | ] |
365 | }, | |
366 | { | |
367 | "cell_type": "code", | |
368 | "execution_count": null, | |
369 | "metadata": { | |
370 | "collapsed": false | |
371 | }, | |
372 | "outputs": [], | |
373 | "source": [ | |
374 | "par(mfrow=c(1,2))\n", | |
375 | "plotSimils(p_ep_nn, 4)\n", | |
376 | "plotSimils(p_ep_nn, 6)" | |
fa8078f9 BA |
377 | ] |
378 | }, | |
379 | { | |
380 | "cell_type": "markdown", | |
381 | "metadata": {}, | |
382 | "source": [ | |
69bcd8bc BA |
383 | "Poids très concentrés près de zéro pour les prédictions avec peu de voisins." |
384 | ] | |
385 | }, | |
99f83c9a BA |
386 | { |
387 | "cell_type": "code", | |
388 | "execution_count": null, | |
389 | "metadata": { | |
390 | "collapsed": false | |
391 | }, | |
392 | "outputs": [], | |
393 | "source": [ | |
394 | "#Fenêtres sélectionnées dans ]0,10] / endo à gauche, exo à droite\n", | |
395 | "p_ep_nn$getParams(4)$window\n", | |
396 | "p_ep_nn$getParams(6)$window" | |
397 | ] | |
398 | }, | |
69bcd8bc BA |
399 | { |
400 | "cell_type": "markdown", | |
401 | "metadata": {}, | |
402 | "source": [ | |
403 | "<h2 style=\"color:blue;font-size:2em\">Semaine non polluée</h2>" | |
fa8078f9 BA |
404 | ] |
405 | }, | |
406 | { | |
407 | "cell_type": "code", | |
408 | "execution_count": null, | |
409 | "metadata": { | |
410 | "collapsed": false | |
411 | }, | |
412 | "outputs": [], | |
413 | "source": [ | |
69bcd8bc | 414 | "indices_np = seq(as.Date(\"2015-04-26\"),as.Date(\"2015-05-02\"),\"days\")\n", |
99f83c9a BA |
415 | "p_np_nn = computeForecast(data,indices_np, \"Neighbors\", \"Neighbors\", simtype=\"mix\")\n", |
416 | "p_np_pz = computeForecast(data, indices_np, \"Persistence\", \"Zero\", same_day=FALSE)\n", | |
417 | "p_np_az = computeForecast(data, indices_np, \"Average\", \"Zero\") #, memory=183)\n", | |
418 | "#p_np_zz = computeForecast(data, indices_np, \"Zero\", \"Zero\")" | |
fa8078f9 BA |
419 | ] |
420 | }, | |
421 | { | |
422 | "cell_type": "code", | |
423 | "execution_count": null, | |
424 | "metadata": { | |
425 | "collapsed": false | |
426 | }, | |
427 | "outputs": [], | |
428 | "source": [ | |
99f83c9a BA |
429 | "e_np_nn = computeError(data, p_np_nn)\n", |
430 | "e_np_pz = computeError(data, p_np_pz)\n", | |
431 | "e_np_az = computeError(data, p_np_az)\n", | |
432 | "#e_np_zz = computeError(data, p_np_zz)\n", | |
69bcd8bc | 433 | "options(repr.plot.width=9, repr.plot.height=7)\n", |
fa8078f9 BA |
434 | "plotError(list(e_np_nn, e_np_pz, e_np_az), cols=c(1,2,colors()[258]))\n", |
435 | "\n", | |
436 | "#Noir: neighbors, rouge: persistence, vert: moyenne" | |
437 | ] | |
438 | }, | |
439 | { | |
440 | "cell_type": "markdown", | |
441 | "metadata": {}, | |
442 | "source": [ | |
443 | "Performances des méthodes \"Average\" et \"Neighbors\" comparables ; mauvais résultats pour la persistence." | |
444 | ] | |
445 | }, | |
446 | { | |
447 | "cell_type": "code", | |
448 | "execution_count": null, | |
449 | "metadata": { | |
450 | "collapsed": false | |
451 | }, | |
452 | "outputs": [], | |
453 | "source": [ | |
454 | "par(mfrow=c(1,2))\n", | |
455 | "options(repr.plot.width=9, repr.plot.height=4)\n", | |
99f83c9a | 456 | "plotPredReal(data, p_np_nn, 5)\n", |
fa8078f9 BA |
457 | "plotPredReal(data, p_np_nn, 6)\n", |
458 | "\n", | |
459 | "#Bleu: prévue, noir: réalisée" | |
460 | ] | |
461 | }, | |
fa8078f9 BA |
462 | { |
463 | "cell_type": "code", | |
464 | "execution_count": null, | |
465 | "metadata": { | |
466 | "collapsed": false | |
467 | }, | |
468 | "outputs": [], | |
469 | "source": [ | |
470 | "par(mfrow=c(1,2))\n", | |
99f83c9a | 471 | "plotPredReal(data, p_np_az, 5)\n", |
fa8078f9 BA |
472 | "plotPredReal(data, p_np_az, 6)" |
473 | ] | |
474 | }, | |
fa8078f9 BA |
475 | { |
476 | "cell_type": "code", | |
477 | "execution_count": null, | |
478 | "metadata": { | |
479 | "collapsed": false | |
480 | }, | |
481 | "outputs": [], | |
482 | "source": [ | |
483 | "par(mfrow=c(1,2))\n", | |
99f83c9a | 484 | "f5_np = computeFilaments(data, p_np_nn$getIndexInData(5), plot=TRUE)\n", |
69bcd8bc BA |
485 | "f6_np = computeFilaments(data, p_np_nn$getIndexInData(6), plot=TRUE)" |
486 | ] | |
487 | }, | |
488 | { | |
489 | "cell_type": "code", | |
490 | "execution_count": null, | |
491 | "metadata": { | |
492 | "collapsed": false | |
493 | }, | |
494 | "outputs": [], | |
495 | "source": [ | |
496 | "par(mfrow=c(2,2))\n", | |
497 | "options(repr.plot.width=9, repr.plot.height=7)\n", | |
99f83c9a BA |
498 | "plotFilamentsBox(data, f5_np$indices)\n", |
499 | "plotFilamentsBox(data, f5_np$indices+1)\n", | |
69bcd8bc BA |
500 | "plotFilamentsBox(data, f6_np$indices)\n", |
501 | "plotFilamentsBox(data, f6_np$indices+1)\n", | |
502 | "\n", | |
503 | "#En haut : jour 3 + lendemain (4) ; en bas : jour 6 + lendemain (7)\n", | |
504 | "#À gauche : premières 24h ; à droite : 24h suivantes" | |
505 | ] | |
506 | }, | |
507 | { | |
508 | "cell_type": "markdown", | |
509 | "metadata": {}, | |
510 | "source": [ | |
511 | "Jours \"typiques\", donc beaucoup de voisins. En revanche les lendemains des jours similaires sont très variables." | |
512 | ] | |
513 | }, | |
514 | { | |
515 | "cell_type": "code", | |
516 | "execution_count": null, | |
517 | "metadata": { | |
518 | "collapsed": false | |
519 | }, | |
520 | "outputs": [], | |
521 | "source": [ | |
522 | "par(mfrow=c(1,2))\n", | |
523 | "options(repr.plot.width=9, repr.plot.height=4)\n", | |
99f83c9a | 524 | "plotRelativeVariability(data, f5_np$indices)\n", |
69bcd8bc BA |
525 | "plotRelativeVariability(data, f6_np$indices)\n", |
526 | "\n", | |
527 | "#Variabilité sur 60 courbes au hasard en rouge ; sur nos 60 voisins (+ lendemains) en noir" | |
fa8078f9 BA |
528 | ] |
529 | }, | |
530 | { | |
531 | "cell_type": "markdown", | |
532 | "metadata": {}, | |
533 | "source": [ | |
99f83c9a | 534 | "Bonne situation : la courbe noire est toujours assez nettement en dessous." |
fa8078f9 BA |
535 | ] |
536 | }, | |
537 | { | |
538 | "cell_type": "code", | |
539 | "execution_count": null, | |
540 | "metadata": { | |
541 | "collapsed": false | |
542 | }, | |
543 | "outputs": [], | |
544 | "source": [ | |
99f83c9a BA |
545 | "par(mfrow=c(1,2))\n", |
546 | "plotSimils(p_np_nn, 5)\n", | |
fa8078f9 BA |
547 | "plotSimils(p_np_nn, 6)" |
548 | ] | |
549 | }, | |
550 | { | |
551 | "cell_type": "markdown", | |
552 | "metadata": {}, | |
553 | "source": [ | |
554 | "Répartition idéale des poids : quelques uns au-delà de 0.3-0.4, le reste très proche de zéro." | |
555 | ] | |
556 | }, | |
99f83c9a BA |
557 | { |
558 | "cell_type": "code", | |
559 | "execution_count": null, | |
560 | "metadata": { | |
561 | "collapsed": false | |
562 | }, | |
563 | "outputs": [], | |
564 | "source": [ | |
565 | "#Fenêtres sélectionnées dans ]0,10] / endo à gauche, exo à droite\n", | |
566 | "p_np_nn$getParams(5)$window\n", | |
567 | "p_np_nn$getParams(6)$window" | |
568 | ] | |
569 | }, | |
fa8078f9 BA |
570 | { |
571 | "cell_type": "markdown", | |
572 | "metadata": {}, | |
573 | "source": [ | |
574 | "## Bilan\n", | |
575 | "\n", | |
576 | "Problème difficile : on ne fait guère mieux qu'une naïve moyenne des lendemains des jours similaires dans le passé, ce qui n'est pas loin de prédire une série constante égale à la dernière valeur observée (méthode \"zéro\"). La persistence donne parfois de bons résultats mais est trop instable (sensibilité à l'argument <code>same_day</code>).\n", | |
577 | "\n", | |
578 | "Comment améliorer la méthode ?" | |
579 | ] | |
580 | } | |
581 | ], | |
582 | "metadata": { | |
583 | "kernelspec": { | |
584 | "display_name": "R", | |
585 | "language": "R", | |
586 | "name": "ir" | |
587 | }, | |
588 | "language_info": { | |
589 | "codemirror_mode": "r", | |
590 | "file_extension": ".r", | |
591 | "mimetype": "text/x-r-source", | |
592 | "name": "R", | |
593 | "pygments_lexer": "r", | |
f17665c7 | 594 | "version": "3.2.3" |
fa8078f9 BA |
595 | } |
596 | }, | |
597 | "nbformat": 4, | |
598 | "nbformat_minor": 2 | |
599 | } |