From 12119d214a88100dda180043cbe1e2afd10f79af Mon Sep 17 00:00:00 2001 From: Benjamin Auder <benjamin.auder@somewhere> Date: Sat, 15 Apr 2017 00:07:35 +0200 Subject: [PATCH] final changes --- reports/report.gj | 27 ++++++++++++++------------- reports/report_P7_H17.zip | 1 + 2 files changed, 15 insertions(+), 13 deletions(-) create mode 100644 reports/report_P7_H17.zip diff --git a/reports/report.gj b/reports/report.gj index 8c8d6dc..e499ece 100644 --- a/reports/report.gj +++ b/reports/report.gj @@ -26,7 +26,8 @@ ts_data <- read.csv(system.file("extdata","pm10_mesures_H_loc.csv", exo_data <- read.csv(system.file("extdata","meteo_extra_noNAs.csv", package="talweg")) data <- getData(ts_data, exo_data, input_tz="GMT", - date_format="%d/%m/%Y %H:%M", working_tz="GMT", predict_at=7, limit=120) + date_format="%d/%m/%Y %H:%M", working_tz="GMT", + predict_at=7, limit=120) # Plus de détails à la section 1 ci-après. # Prédiction de 10 courbes (jours 102 à 111) @@ -191,14 +192,14 @@ sum_p123 = e1$abs$indices + e2$abs$indices + e3$abs$indices i_np = which.min(sum_p123) #indice de (veille de) jour "facile" i_p = which.max(sum_p123) #indice de (veille de) jour "difficile" ----- -% if i == 1: +% if i == 0: L'erreur absolue deÌpasse 20 sur 1 aÌ 2 jours suivant les modeÌles (graphe en haut aÌ droite). C'est au-delaÌ de ce que l'on aimerait voir (disons +/- 5 environ). Sur cet exemple le modeÌle aÌ voisins "contraint" (local=TRUE) utilisant des pondeÌrations baseÌes sur les similariteÌs de forme (simtype="endo") obtient en moyenne les meilleurs reÌsultats, avec un MAPE restant en geÌneÌral infeÌrieur aÌ 30% de 8h aÌ 19h (7+1 aÌ 7+12 : graphe en bas aÌ gauche). -% elif i == 2: +% elif i == 1: Il est difficile dans ce cas de deÌterminer une meÌthode meilleure que les autres : elles donnent toutes de plutoÌt mauvais reÌsultats, avec une erreur absolue moyenneÌe sur la journeÌe deÌpassant presque toujours 15 (graphe en haut aÌ droite). @@ -225,14 +226,14 @@ plotPredReal(data, p3, i_p); title(paste("PredReal p3 day",i_p)) # Bleu : prévue ; noir : réalisée ----- -% if i == 1: +% if i == 0: Le jour "facile aÌ preÌvoir", aÌ gauche, se deÌcompose en deux modes : un leÌger vers 10h (7+3), puis un beaucoup plus marqueÌ vers 19h (7+12). Ces deux modes sont retrouveÌs par les trois variantes de l'algorithme aÌ voisins, bien que l'amplitude soit mal preÌdite. Concernant le jour "difficile aÌ preÌvoir" il y a deux pics en tout deÌbut et toute fin de journeÌe (aÌ 9h et 23h), qui ne sont pas du tout anticipeÌs par le programme ; la grande amplitude de ces pics explique alors l'intensiteÌ de l'erreur observeÌe. -% elif i == 2: +% elif i == 1: Dans le cas d'un jour "facile" aÌ preÌdire $-$ aÌ gauche $-$ la forme est plus ou moins retrouveÌe, mais le niveau moyen est trop bas (courbe en bleu). Concernant le jour "difficile" aÌ droite, non seulement la forme n'est pas anticipeÌe mais surtout le niveau @@ -255,14 +256,14 @@ f_np2 = computeFilaments(data, p2, i_np, plot=TRUE) f_p2 = computeFilaments(data, p2, i_p, plot=TRUE) title(paste("Filaments p2 day",i_p)) ----- -% if i == 1: +% if i == 0: Les voisins du jour courant (peÌriode de 24h allant de 8h aÌ 7h le lendemain) sont afficheÌs avec un trait d'autant plus sombre qu'ils sont proches. On constate dans le cas non contraint (en haut) une grande variabiliteÌ des lendemains, treÌs nette sur le graphe en haut aÌ droite. Ceci indique une faible correÌlation entre la forme d'une courbe sur une peÌriode de 24h et la forme sur les 24h suivantes ; **cette observation est la source des difficulteÌs rencontreÌes par l'algorithme sur ce jeu de donneÌes.** -% elif i == 2: +% elif i == 1: Les observations sont les meÌmes qu'au paragraphe preÌceÌdent : trop de variabiliteÌ des lendemains (et meÌme des voisins du jour courant). % else: @@ -277,14 +278,14 @@ plotFilamentsBox(data, f_p1); title(paste("FilBox p1 day",i_p)) # En pointilleÌs la courbe du jour courant + lendemain (aÌ preÌdire) ----- -% if i == 1: +% if i == 0: Sur cette boxplot fonctionnelle (voir la fonction fboxplot() du package R "rainbow") l'on constate essentiellement deux choses : le lendemain d'un voisin "normal" peut se reÌveÌler eÌtre une courbe atypique, fort eÌloigneÌe de ce que l'on souhaite preÌdire (courbes bleue et rouge aÌ gauche) ; et, dans le cas d'une courbe aÌ preÌdire atypique (aÌ droite) la plupart des voisins sont trop eÌloigneÌs de la forme aÌ preÌdire et forcent ainsi un aplatissement de la preÌdiction. -% elif i == 2: +% elif i == 1: On constate la preÌsence d'un voisin au lendemain compleÌtement atypique avec un pic en deÌbut de journeÌe (courbe en vert aÌ gauche), et d'un autre pheÌnomeÌne semblable avec la courbe rouge sur le graphe de droite. AjouteÌ au fait que le lendemain aÌ preÌvoir est @@ -304,7 +305,7 @@ plotRelVar(data, f_p2); title(paste("StdDev p2 day",i_p)) # Variabilité globale en rouge ; sur les voisins (+ lendemains) en noir ----- -% if i == 1: +% if i == 0: Ces graphes viennent confirmer l'impression visuelle apreÌs observation des filaments. En effet, la variabiliteÌ globale en rouge (eÌcart-type heure par heure sur l'ensemble des couples "aujourd'hui/lendemain"du passeÌ) devrait rester nettement au-dessus de la @@ -312,7 +313,7 @@ variabiliteÌ locale, calculeÌe respectivement sur un voisinage d'une soixantai (pour p1) et d'une dizaine de jours (pour p2). Or on constate que ce n'est pas du tout le cas sur la peÌriode "lendemain", sauf en partie pour p2 le jour 4 $-$ mais ce n'est pas suffisant. -% elif i == 2: +% elif i == 1: Comme preÌceÌdemment les variabiliteÌs locales et globales sont confondues dans les parties droites des graphes $-$ sauf pour la version "locale" sur le jour "facile"; mais cette bonne proprieÌteÌ n'est pas suffisante si l'on ne trouve pas les bons poids aÌ appliquer. @@ -329,11 +330,11 @@ plotSimils(p1, i_p); title(paste("Weights p1 day",i_p)) plotSimils(p2, i_np); title(paste("Weights p2 day",i_np)) plotSimils(p2, i_p); title(paste("Weights p2 day",i_p)) ----- -% if i == 1: +% if i == 0: Les poids se concentrent preÌs de 0 dans le cas "non local" (p1), et se reÌpartissent assez uniformeÌment dans [ 0, 0.2 ] dans le cas "local" (p2). C'est ce que l'on souhaite observer pour eÌviter d'effectuer une simple moyenne. -% elif i == 2: +% elif i == 1: En comparaison avec le pragraphe preÌceÌdent on retrouve le meÌme (bon) comportement des poids pour la version "non locale". En revanche la feneÌtre optimiseÌe est trop grande sur le jour "facile" pour la meÌthode "locale" (voir affichage ci-dessous) : il en reÌsulte des diff --git a/reports/report_P7_H17.zip b/reports/report_P7_H17.zip new file mode 100644 index 0000000..65253b5 --- /dev/null +++ b/reports/report_P7_H17.zip @@ -0,0 +1 @@ +#$# git-fat 4a0e88af47c14a7cdb4d00b268517eefec453d90 2747183 -- 2.44.0