first tests for Neighbors2 after debug; TODO: some missing forecasts
[talweg.git] / reports / report.ipynb
CommitLineData
ff5df8e3
BA
1{
2 "cells": [
3 {
4 "cell_type": "markdown",
5e838b3e
BA
5 "metadata": {
6 "deletable": true,
7 "editable": true
8 },
ff5df8e3
BA
9 "source": [
10 "\n",
11 "\n",
12 "<h2>Introduction</h2>\n",
13 "\n",
14 "J'ai fait quelques essais dans différentes configurations pour la méthode \"Neighbors\"\n",
15 "(la seule dont on a parlé).<br>Il semble que le mieux soit\n",
16 "\n",
17 " * simtype=\"exo\" ou \"mix\" : similarités exogènes avec/sans endogènes (fenêtre optimisée par VC)\n",
18 " * same_season=FALSE : les indices pour la validation croisée ne tiennent pas compte des saisons\n",
19 " * mix_strategy=\"mult\" : on multiplie les poids (au lieu d'en éteindre)\n",
20 "\n",
21 "J'ai systématiquement comparé à une approche naïve : la moyennes des lendemains des jours\n",
22 "\"similaires\" dans tout le passé ; à chaque fois sans prédiction du saut (sauf pour Neighbors :\n",
23 "prédiction basée sur les poids calculés).\n",
24 "\n",
25 "Ensuite j'affiche les erreurs, quelques courbes prévues/mesurées, quelques filaments puis les\n",
26 "histogrammes de quelques poids. Concernant les graphes de filaments, la moitié gauche du graphe\n",
27 "correspond aux jours similaires au jour courant, tandis que la moitié droite affiche les\n",
28 "lendemains : ce sont donc les voisinages tels qu'utilisés dans l'algorithme.\n",
29 "\n"
30 ]
31 },
32 {
33 "cell_type": "code",
34 "execution_count": null,
5e838b3e
BA
35 "metadata": {
36 "collapsed": false,
37 "deletable": true,
38 "editable": true
39 },
ff5df8e3
BA
40 "outputs": [],
41 "source": [
42 "library(talweg)\n",
43 "\n",
44 "ts_data = read.csv(system.file(\"extdata\",\"pm10_mesures_H_loc_report.csv\",package=\"talweg\"))\n",
45 "exo_data = read.csv(system.file(\"extdata\",\"meteo_extra_noNAs.csv\",package=\"talweg\"))\n",
5e838b3e
BA
46 "# Predict from P+1 to P+H included\n",
47 "H = 17\n",
48 "data = getData(ts_data, exo_data, input_tz = \"GMT\", working_tz=\"GMT\", predict_at=7)\n",
ff5df8e3
BA
49 "\n",
50 "indices_ch = seq(as.Date(\"2015-01-18\"),as.Date(\"2015-01-24\"),\"days\")\n",
51 "indices_ep = seq(as.Date(\"2015-03-15\"),as.Date(\"2015-03-21\"),\"days\")\n",
5e838b3e 52 "indices_np = seq(as.Date(\"2015-04-26\"),as.Date(\"2015-05-02\"),\"days\")"
ff5df8e3
BA
53 ]
54 },
55 {
56 "cell_type": "markdown",
5e838b3e
BA
57 "metadata": {
58 "deletable": true,
59 "editable": true
60 },
ff5df8e3
BA
61 "source": [
62 "\n",
63 "\n",
64 "<h2 style=\"color:blue;font-size:2em\">Pollution par chauffage</h2>"
65 ]
66 },
67 {
68 "cell_type": "code",
69 "execution_count": null,
5e838b3e
BA
70 "metadata": {
71 "collapsed": false,
72 "deletable": true,
73 "editable": true
74 },
ff5df8e3
BA
75 "outputs": [],
76 "source": [
5e838b3e
BA
77 "reload(\"../pkg\")\n",
78 "p1 = computeForecast(data, indices_ch, \"Neighbors\", \"Zero\", horizon=H, simtype=\"exo\")\n",
79 "p2 = computeForecast(data, indices_ch, \"Neighbors\", \"Zero\", horizon=H, simtype=\"endo\")\n",
80 "p3 = computeForecast(data, indices_ch, \"Neighbors\", \"Zero\", horizon=H, simtype=\"mix\")\n",
81 "p4 = computeForecast(data, indices_ch, \"Neighbors2\", \"Zero\", horizon=H, simtype=\"exo\")\n",
82 "p5 = computeForecast(data, indices_ch, \"Neighbors2\", \"Zero\", horizon=H, simtype=\"endo\")\n",
83 "p6 = computeForecast(data, indices_ch, \"Neighbors2\", \"Zero\", horizon=H, simtype=\"mix\")\n"
84 ]
85 },
86 {
87 "cell_type": "code",
88 "execution_count": null,
89 "metadata": {
90 "collapsed": false
91 },
92 "outputs": [],
93 "source": [
94 "e1 = computeError(data, p1, H)\n",
95 "e2 = computeError(data, p2, H)\n",
96 "e3 = computeError(data, p3, H)\n",
97 "e4 = computeError(data, p4, H)\n",
98 "e5 = computeError(data, p5, H)\n",
99 "e6 = computeError(data, p6, H)\n",
100 "plotError(list(e1,e2,e3,e4,e5,e6), cols=c(1,2,colors()[258], 4,5,6))"
ff5df8e3
BA
101 ]
102 },
103 {
104 "cell_type": "code",
105 "execution_count": null,
5e838b3e
BA
106 "metadata": {
107 "collapsed": false,
108 "deletable": true,
109 "editable": true
110 },
ff5df8e3
BA
111 "outputs": [],
112 "source": [
55639673
BA
113 "e_nn_exo = computeError(data, p_nn_exo, 3)\n",
114 "e_nn_mix = computeError(data, p_nn_mix, 3)\n",
115 "e_az = computeError(data, p_az, 3)\n",
116 "e_pz = computeError(data, p_pz, 3)\n",
ff5df8e3
BA
117 "options(repr.plot.width=9, repr.plot.height=7)\n",
118 "plotError(list(e_nn_mix, e_pz, e_az, e_nn_exo), cols=c(1,2,colors()[258], 4))\n",
119 "\n",
120 "# Noir: neighbors_mix, bleu: neighbors_exo, vert: moyenne, rouge: persistence\n",
121 "\n",
122 "i_np = which.min(e_nn_exo$abs$indices)\n",
123 "i_p = which.max(e_nn_exo$abs$indices)"
124 ]
125 },
126 {
127 "cell_type": "code",
128 "execution_count": null,
5e838b3e
BA
129 "metadata": {
130 "collapsed": false,
131 "deletable": true,
132 "editable": true
133 },
ff5df8e3
BA
134 "outputs": [],
135 "source": [
136 "options(repr.plot.width=9, repr.plot.height=4)\n",
137 "par(mfrow=c(1,2))\n",
138 "\n",
139 "plotPredReal(data, p_nn_exo, i_np); title(paste(\"PredReal nn exo day\",i_np))\n",
140 "plotPredReal(data, p_nn_exo, i_p); title(paste(\"PredReal nn exo day\",i_p))\n",
141 "\n",
142 "plotPredReal(data, p_nn_mix, i_np); title(paste(\"PredReal nn mix day\",i_np))\n",
143 "plotPredReal(data, p_nn_mix, i_p); title(paste(\"PredReal nn mix day\",i_p))\n",
144 "\n",
145 "plotPredReal(data, p_az, i_np); title(paste(\"PredReal az day\",i_np))\n",
146 "plotPredReal(data, p_az, i_p); title(paste(\"PredReal az day\",i_p))\n",
147 "\n",
148 "# Bleu: prévue, noir: réalisée"
149 ]
150 },
151 {
152 "cell_type": "code",
153 "execution_count": null,
5e838b3e
BA
154 "metadata": {
155 "collapsed": false,
156 "deletable": true,
157 "editable": true
158 },
ff5df8e3
BA
159 "outputs": [],
160 "source": [
161 "par(mfrow=c(1,2))\n",
162 "f_np_exo = computeFilaments(data, p_nn_exo, i_np, plot=TRUE); title(paste(\"Filaments nn exo day\",i_np))\n",
163 "f_p_exo = computeFilaments(data, p_nn_exo, i_p, plot=TRUE); title(paste(\"Filaments nn exo day\",i_p))\n",
164 "\n",
165 "f_np_mix = computeFilaments(data, p_nn_mix, i_np, plot=TRUE); title(paste(\"Filaments nn mix day\",i_np))\n",
166 "f_p_mix = computeFilaments(data, p_nn_mix, i_p, plot=TRUE); title(paste(\"Filaments nn mix day\",i_p))"
167 ]
168 },
169 {
170 "cell_type": "code",
171 "execution_count": null,
5e838b3e
BA
172 "metadata": {
173 "collapsed": false,
174 "deletable": true,
175 "editable": true
176 },
ff5df8e3
BA
177 "outputs": [],
178 "source": [
179 "par(mfrow=c(1,2))\n",
180 "plotFilamentsBox(data, f_np_exo); title(paste(\"FilBox nn exo day\",i_np))\n",
181 "plotFilamentsBox(data, f_p_exo); title(paste(\"FilBox nn exo day\",i_p))\n",
182 "\n",
183 "plotFilamentsBox(data, f_np_mix); title(paste(\"FilBox nn mix day\",i_np))\n",
184 "plotFilamentsBox(data, f_p_mix); title(paste(\"FilBox nn mix day\",i_p))"
185 ]
186 },
187 {
188 "cell_type": "code",
189 "execution_count": null,
5e838b3e
BA
190 "metadata": {
191 "collapsed": false,
192 "deletable": true,
193 "editable": true
194 },
ff5df8e3
BA
195 "outputs": [],
196 "source": [
197 "par(mfrow=c(1,2))\n",
198 "plotRelVar(data, f_np_exo); title(paste(\"StdDev nn exo day\",i_np))\n",
199 "plotRelVar(data, f_p_exo); title(paste(\"StdDev nn exo day\",i_p))\n",
200 "\n",
201 "plotRelVar(data, f_np_mix); title(paste(\"StdDev nn mix day\",i_np))\n",
202 "plotRelVar(data, f_p_mix); title(paste(\"StdDev nn mix day\",i_p))\n",
203 "\n",
204 "# Variabilité globale en rouge ; sur les 60 voisins (+ lendemains) en noir"
205 ]
206 },
207 {
208 "cell_type": "code",
209 "execution_count": null,
5e838b3e
BA
210 "metadata": {
211 "collapsed": false,
212 "deletable": true,
213 "editable": true
214 },
ff5df8e3
BA
215 "outputs": [],
216 "source": [
217 "par(mfrow=c(1,2))\n",
218 "plotSimils(p_nn_exo, i_np); title(paste(\"Weights nn exo day\",i_np))\n",
219 "plotSimils(p_nn_exo, i_p); title(paste(\"Weights nn exo day\",i_p))\n",
220 "\n",
221 "plotSimils(p_nn_mix, i_np); title(paste(\"Weights nn mix day\",i_np))\n",
d4841a3f 222 "plotSimils(p_nn_mix, i_p); title(paste(\"Weights nn mix day\",i_p))\n",
ff5df8e3
BA
223 "\n",
224 "# - pollué à gauche, + pollué à droite"
225 ]
226 },
227 {
228 "cell_type": "code",
229 "execution_count": null,
5e838b3e
BA
230 "metadata": {
231 "collapsed": false,
232 "deletable": true,
233 "editable": true
234 },
ff5df8e3
BA
235 "outputs": [],
236 "source": [
237 "# Fenêtres sélectionnées dans ]0,10] / endo à gauche, exo à droite\n",
238 "p_nn_exo$getParams(i_np)$window\n",
239 "p_nn_exo$getParams(i_p)$window\n",
240 "\n",
241 "p_nn_mix$getParams(i_np)$window\n",
242 "p_nn_mix$getParams(i_p)$window"
243 ]
244 },
245 {
246 "cell_type": "markdown",
5e838b3e
BA
247 "metadata": {
248 "deletable": true,
249 "editable": true
250 },
ff5df8e3
BA
251 "source": [
252 "\n",
253 "\n",
254 "<h2 style=\"color:blue;font-size:2em\">Pollution par épandage</h2>"
255 ]
256 },
257 {
258 "cell_type": "code",
259 "execution_count": null,
5e838b3e
BA
260 "metadata": {
261 "collapsed": false,
262 "deletable": true,
263 "editable": true
264 },
ff5df8e3
BA
265 "outputs": [],
266 "source": [
55639673
BA
267 "p_nn_exo = computeForecast(data, indices_ep, \"Neighbors\", \"Neighbors\",\n",
268 "\thorizon=3, simtype=\"exo\")\n",
269 "p_nn_mix = computeForecast(data, indices_ep, \"Neighbors\", \"Neighbors\",\n",
270 "\thorizon=3, simtype=\"mix\")\n",
271 "p_az = computeForecast(data, indices_ep, \"Average\", \"Zero\",\n",
272 "\thorizon=3)\n",
273 "p_pz = computeForecast(data, indices_ep, \"Persistence\", \"Zero\",\n",
274 "\thorizon=3, same_day=TRUE)"
ff5df8e3
BA
275 ]
276 },
277 {
278 "cell_type": "code",
279 "execution_count": null,
5e838b3e
BA
280 "metadata": {
281 "collapsed": false,
282 "deletable": true,
283 "editable": true
284 },
ff5df8e3
BA
285 "outputs": [],
286 "source": [
55639673
BA
287 "e_nn_exo = computeError(data, p_nn_exo, 3)\n",
288 "e_nn_mix = computeError(data, p_nn_mix, 3)\n",
289 "e_az = computeError(data, p_az, 3)\n",
290 "e_pz = computeError(data, p_pz, 3)\n",
ff5df8e3
BA
291 "options(repr.plot.width=9, repr.plot.height=7)\n",
292 "plotError(list(e_nn_mix, e_pz, e_az, e_nn_exo), cols=c(1,2,colors()[258], 4))\n",
293 "\n",
294 "# Noir: neighbors_mix, bleu: neighbors_exo, vert: moyenne, rouge: persistence\n",
295 "\n",
296 "i_np = which.min(e_nn_exo$abs$indices)\n",
297 "i_p = which.max(e_nn_exo$abs$indices)"
298 ]
299 },
300 {
301 "cell_type": "code",
302 "execution_count": null,
5e838b3e
BA
303 "metadata": {
304 "collapsed": false,
305 "deletable": true,
306 "editable": true
307 },
ff5df8e3
BA
308 "outputs": [],
309 "source": [
310 "options(repr.plot.width=9, repr.plot.height=4)\n",
311 "par(mfrow=c(1,2))\n",
312 "\n",
313 "plotPredReal(data, p_nn_exo, i_np); title(paste(\"PredReal nn exo day\",i_np))\n",
314 "plotPredReal(data, p_nn_exo, i_p); title(paste(\"PredReal nn exo day\",i_p))\n",
315 "\n",
316 "plotPredReal(data, p_nn_mix, i_np); title(paste(\"PredReal nn mix day\",i_np))\n",
317 "plotPredReal(data, p_nn_mix, i_p); title(paste(\"PredReal nn mix day\",i_p))\n",
318 "\n",
319 "plotPredReal(data, p_az, i_np); title(paste(\"PredReal az day\",i_np))\n",
320 "plotPredReal(data, p_az, i_p); title(paste(\"PredReal az day\",i_p))\n",
321 "\n",
322 "# Bleu: prévue, noir: réalisée"
323 ]
324 },
325 {
326 "cell_type": "code",
327 "execution_count": null,
5e838b3e
BA
328 "metadata": {
329 "collapsed": false,
330 "deletable": true,
331 "editable": true
332 },
ff5df8e3
BA
333 "outputs": [],
334 "source": [
335 "par(mfrow=c(1,2))\n",
336 "f_np_exo = computeFilaments(data, p_nn_exo, i_np, plot=TRUE); title(paste(\"Filaments nn exo day\",i_np))\n",
337 "f_p_exo = computeFilaments(data, p_nn_exo, i_p, plot=TRUE); title(paste(\"Filaments nn exo day\",i_p))\n",
338 "\n",
339 "f_np_mix = computeFilaments(data, p_nn_mix, i_np, plot=TRUE); title(paste(\"Filaments nn mix day\",i_np))\n",
340 "f_p_mix = computeFilaments(data, p_nn_mix, i_p, plot=TRUE); title(paste(\"Filaments nn mix day\",i_p))"
341 ]
342 },
343 {
344 "cell_type": "code",
345 "execution_count": null,
5e838b3e
BA
346 "metadata": {
347 "collapsed": false,
348 "deletable": true,
349 "editable": true
350 },
ff5df8e3
BA
351 "outputs": [],
352 "source": [
353 "par(mfrow=c(1,2))\n",
354 "plotFilamentsBox(data, f_np_exo); title(paste(\"FilBox nn exo day\",i_np))\n",
355 "plotFilamentsBox(data, f_p_exo); title(paste(\"FilBox nn exo day\",i_p))\n",
356 "\n",
357 "plotFilamentsBox(data, f_np_mix); title(paste(\"FilBox nn mix day\",i_np))\n",
358 "plotFilamentsBox(data, f_p_mix); title(paste(\"FilBox nn mix day\",i_p))"
359 ]
360 },
361 {
362 "cell_type": "code",
363 "execution_count": null,
5e838b3e
BA
364 "metadata": {
365 "collapsed": false,
366 "deletable": true,
367 "editable": true
368 },
ff5df8e3
BA
369 "outputs": [],
370 "source": [
371 "par(mfrow=c(1,2))\n",
372 "plotRelVar(data, f_np_exo); title(paste(\"StdDev nn exo day\",i_np))\n",
373 "plotRelVar(data, f_p_exo); title(paste(\"StdDev nn exo day\",i_p))\n",
374 "\n",
375 "plotRelVar(data, f_np_mix); title(paste(\"StdDev nn mix day\",i_np))\n",
376 "plotRelVar(data, f_p_mix); title(paste(\"StdDev nn mix day\",i_p))\n",
377 "\n",
378 "# Variabilité globale en rouge ; sur les 60 voisins (+ lendemains) en noir"
379 ]
380 },
381 {
382 "cell_type": "code",
383 "execution_count": null,
5e838b3e
BA
384 "metadata": {
385 "collapsed": false,
386 "deletable": true,
387 "editable": true
388 },
ff5df8e3
BA
389 "outputs": [],
390 "source": [
391 "par(mfrow=c(1,2))\n",
392 "plotSimils(p_nn_exo, i_np); title(paste(\"Weights nn exo day\",i_np))\n",
393 "plotSimils(p_nn_exo, i_p); title(paste(\"Weights nn exo day\",i_p))\n",
394 "\n",
395 "plotSimils(p_nn_mix, i_np); title(paste(\"Weights nn mix day\",i_np))\n",
d4841a3f 396 "plotSimils(p_nn_mix, i_p); title(paste(\"Weights nn mix day\",i_p))\n",
ff5df8e3
BA
397 "\n",
398 "# - pollué à gauche, + pollué à droite"
399 ]
400 },
401 {
402 "cell_type": "code",
403 "execution_count": null,
5e838b3e
BA
404 "metadata": {
405 "collapsed": false,
406 "deletable": true,
407 "editable": true
408 },
ff5df8e3
BA
409 "outputs": [],
410 "source": [
411 "# Fenêtres sélectionnées dans ]0,10] / endo à gauche, exo à droite\n",
412 "p_nn_exo$getParams(i_np)$window\n",
413 "p_nn_exo$getParams(i_p)$window\n",
414 "\n",
415 "p_nn_mix$getParams(i_np)$window\n",
416 "p_nn_mix$getParams(i_p)$window"
417 ]
418 },
419 {
420 "cell_type": "markdown",
5e838b3e
BA
421 "metadata": {
422 "deletable": true,
423 "editable": true
424 },
ff5df8e3
BA
425 "source": [
426 "\n",
427 "\n",
428 "<h2 style=\"color:blue;font-size:2em\">Semaine non polluée</h2>"
429 ]
430 },
431 {
432 "cell_type": "code",
433 "execution_count": null,
5e838b3e
BA
434 "metadata": {
435 "collapsed": false,
436 "deletable": true,
437 "editable": true
438 },
ff5df8e3
BA
439 "outputs": [],
440 "source": [
55639673
BA
441 "p_nn_exo = computeForecast(data, indices_np, \"Neighbors\", \"Neighbors\",\n",
442 "\thorizon=3, simtype=\"exo\")\n",
443 "p_nn_mix = computeForecast(data, indices_np, \"Neighbors\", \"Neighbors\",\n",
444 "\thorizon=3, simtype=\"mix\")\n",
445 "p_az = computeForecast(data, indices_np, \"Average\", \"Zero\",\n",
446 "\thorizon=3)\n",
447 "p_pz = computeForecast(data, indices_np, \"Persistence\", \"Zero\",\n",
448 "\thorizon=3, same_day=FALSE)"
ff5df8e3
BA
449 ]
450 },
451 {
452 "cell_type": "code",
453 "execution_count": null,
5e838b3e
BA
454 "metadata": {
455 "collapsed": false,
456 "deletable": true,
457 "editable": true
458 },
ff5df8e3
BA
459 "outputs": [],
460 "source": [
55639673
BA
461 "e_nn_exo = computeError(data, p_nn_exo, 3)\n",
462 "e_nn_mix = computeError(data, p_nn_mix, 3)\n",
463 "e_az = computeError(data, p_az, 3)\n",
464 "e_pz = computeError(data, p_pz, 3)\n",
ff5df8e3
BA
465 "options(repr.plot.width=9, repr.plot.height=7)\n",
466 "plotError(list(e_nn_mix, e_pz, e_az, e_nn_exo), cols=c(1,2,colors()[258], 4))\n",
467 "\n",
468 "# Noir: neighbors_mix, bleu: neighbors_exo, vert: moyenne, rouge: persistence\n",
469 "\n",
470 "i_np = which.min(e_nn_exo$abs$indices)\n",
471 "i_p = which.max(e_nn_exo$abs$indices)"
472 ]
473 },
474 {
475 "cell_type": "code",
476 "execution_count": null,
5e838b3e
BA
477 "metadata": {
478 "collapsed": false,
479 "deletable": true,
480 "editable": true
481 },
ff5df8e3
BA
482 "outputs": [],
483 "source": [
484 "options(repr.plot.width=9, repr.plot.height=4)\n",
485 "par(mfrow=c(1,2))\n",
486 "\n",
487 "plotPredReal(data, p_nn_exo, i_np); title(paste(\"PredReal nn exo day\",i_np))\n",
488 "plotPredReal(data, p_nn_exo, i_p); title(paste(\"PredReal nn exo day\",i_p))\n",
489 "\n",
490 "plotPredReal(data, p_nn_mix, i_np); title(paste(\"PredReal nn mix day\",i_np))\n",
491 "plotPredReal(data, p_nn_mix, i_p); title(paste(\"PredReal nn mix day\",i_p))\n",
492 "\n",
493 "plotPredReal(data, p_az, i_np); title(paste(\"PredReal az day\",i_np))\n",
494 "plotPredReal(data, p_az, i_p); title(paste(\"PredReal az day\",i_p))\n",
495 "\n",
496 "# Bleu: prévue, noir: réalisée"
497 ]
498 },
499 {
500 "cell_type": "code",
501 "execution_count": null,
5e838b3e
BA
502 "metadata": {
503 "collapsed": false,
504 "deletable": true,
505 "editable": true
506 },
ff5df8e3
BA
507 "outputs": [],
508 "source": [
509 "par(mfrow=c(1,2))\n",
510 "f_np_exo = computeFilaments(data, p_nn_exo, i_np, plot=TRUE); title(paste(\"Filaments nn exo day\",i_np))\n",
511 "f_p_exo = computeFilaments(data, p_nn_exo, i_p, plot=TRUE); title(paste(\"Filaments nn exo day\",i_p))\n",
512 "\n",
513 "f_np_mix = computeFilaments(data, p_nn_mix, i_np, plot=TRUE); title(paste(\"Filaments nn mix day\",i_np))\n",
514 "f_p_mix = computeFilaments(data, p_nn_mix, i_p, plot=TRUE); title(paste(\"Filaments nn mix day\",i_p))"
515 ]
516 },
517 {
518 "cell_type": "code",
519 "execution_count": null,
5e838b3e
BA
520 "metadata": {
521 "collapsed": false,
522 "deletable": true,
523 "editable": true
524 },
ff5df8e3
BA
525 "outputs": [],
526 "source": [
527 "par(mfrow=c(1,2))\n",
528 "plotFilamentsBox(data, f_np_exo); title(paste(\"FilBox nn exo day\",i_np))\n",
529 "plotFilamentsBox(data, f_p_exo); title(paste(\"FilBox nn exo day\",i_p))\n",
530 "\n",
531 "plotFilamentsBox(data, f_np_mix); title(paste(\"FilBox nn mix day\",i_np))\n",
532 "plotFilamentsBox(data, f_p_mix); title(paste(\"FilBox nn mix day\",i_p))"
533 ]
534 },
535 {
536 "cell_type": "code",
537 "execution_count": null,
5e838b3e
BA
538 "metadata": {
539 "collapsed": false,
540 "deletable": true,
541 "editable": true
542 },
ff5df8e3
BA
543 "outputs": [],
544 "source": [
545 "par(mfrow=c(1,2))\n",
546 "plotRelVar(data, f_np_exo); title(paste(\"StdDev nn exo day\",i_np))\n",
547 "plotRelVar(data, f_p_exo); title(paste(\"StdDev nn exo day\",i_p))\n",
548 "\n",
549 "plotRelVar(data, f_np_mix); title(paste(\"StdDev nn mix day\",i_np))\n",
550 "plotRelVar(data, f_p_mix); title(paste(\"StdDev nn mix day\",i_p))\n",
551 "\n",
552 "# Variabilité globale en rouge ; sur les 60 voisins (+ lendemains) en noir"
553 ]
554 },
555 {
556 "cell_type": "code",
557 "execution_count": null,
5e838b3e
BA
558 "metadata": {
559 "collapsed": false,
560 "deletable": true,
561 "editable": true
562 },
ff5df8e3
BA
563 "outputs": [],
564 "source": [
565 "par(mfrow=c(1,2))\n",
566 "plotSimils(p_nn_exo, i_np); title(paste(\"Weights nn exo day\",i_np))\n",
567 "plotSimils(p_nn_exo, i_p); title(paste(\"Weights nn exo day\",i_p))\n",
568 "\n",
569 "plotSimils(p_nn_mix, i_np); title(paste(\"Weights nn mix day\",i_np))\n",
d4841a3f 570 "plotSimils(p_nn_mix, i_p); title(paste(\"Weights nn mix day\",i_p))\n",
ff5df8e3
BA
571 "\n",
572 "# - pollué à gauche, + pollué à droite"
573 ]
574 },
575 {
576 "cell_type": "code",
577 "execution_count": null,
5e838b3e
BA
578 "metadata": {
579 "collapsed": false,
580 "deletable": true,
581 "editable": true
582 },
ff5df8e3
BA
583 "outputs": [],
584 "source": [
585 "# Fenêtres sélectionnées dans ]0,10] / endo à gauche, exo à droite\n",
586 "p_nn_exo$getParams(i_np)$window\n",
587 "p_nn_exo$getParams(i_p)$window\n",
588 "\n",
589 "p_nn_mix$getParams(i_np)$window\n",
590 "p_nn_mix$getParams(i_p)$window"
591 ]
592 },
593 {
594 "cell_type": "markdown",
5e838b3e
BA
595 "metadata": {
596 "deletable": true,
597 "editable": true
598 },
ff5df8e3
BA
599 "source": [
600 "\n",
601 "\n",
602 "<h2>Bilan</h2>\n",
603 "\n",
604 "Problème difficile : on ne fait guère mieux qu'une naïve moyenne des lendemains des jours\n",
605 "similaires dans le passé, ce qui n'est pas loin de prédire une série constante égale à la\n",
606 "dernière valeur observée (méthode \"zéro\"). La persistence donne parfois de bons résultats\n",
607 "mais est trop instable (sensibilité à l'argument <code>same_day</code>).\n",
608 "\n",
609 "Comment améliorer la méthode ?"
610 ]
611 }
612 ],
613 "metadata": {
614 "kernelspec": {
615 "display_name": "R",
616 "language": "R",
617 "name": "ir"
618 },
619 "language_info": {
620 "codemirror_mode": "r",
621 "file_extension": ".r",
622 "mimetype": "text/x-r-source",
623 "name": "R",
624 "pygments_lexer": "r",
625 "version": "3.3.3"
626 }
627 },
628 "nbformat": 4,
629 "nbformat_minor": 2
630}