report
authorBenjamin Auder <benjamin.auder@somewhere>
Thu, 4 May 2017 12:51:56 +0000 (14:51 +0200)
committerBenjamin Auder <benjamin.auder@somewhere>
Thu, 4 May 2017 12:51:56 +0000 (14:51 +0200)
reports/Experiments.gj

index 9fd7af7..36ed5c5 100644 (file)
@@ -1,9 +1,9 @@
 -----
 # Résultats numériques
 
-Cette partie montre les résultats obtenus avec des variantes de l'algorithme décrit au
-à la section 4, en utilisant le package présenté au chapitre précédent. Cet
-algorithme est systématiquement comparé à deux approches naïves :
+Cette partie montre les résultats obtenus avec des variantes de l'algorithme décrit à la
+section 4, en utilisant le package présenté au chapitre précédent. Cet algorithme est
+systématiquement comparé à deux approches naïves :
 
  * la moyenne des lendemains des jours "similaires" dans tout le passé, c'est-à-dire
 prédiction = moyenne de tous les mardis passés si le jour courant est un lundi.
@@ -16,18 +16,18 @@ partie :
  * avec simtype="mix" et raccordement "Neighbors" dans le cas "non local", i.e. on va
 chercher des voisins n'importe où du moment qu'ils correspondent au premier élément d'un
 couple de deux jours consécutifs sans valeurs manquantes.
- * avec simtype="endo" + raccordement "Neighbors" puis simtype="none" + raccordement
-"Zero" (sans ajustement) dans le cas "local" : voisins de même niveau de pollution et
-même saison.
+ * avec simtype="endo" puis simtype="none", choisissant dans les deux cas
+raccordement==NULL (aucun ajustement après moyenne des courbes) dans le cas "local" :
+voisins de même niveau de pollution et même saison.
 
 Pour chaque période retenue $-$ chauffage, épandage, semaine non polluée $-$ les erreurs
 de prédiction sont d'abord affichées, puis quelques graphes de courbes réalisées/prévues
 (sur le jour "en moyenne le plus facile" à gauche, et "en moyenne le plus difficile" à
 droite). Ensuite plusieurs types de graphes apportant des précisions sur la nature et la
 difficulté du problème viennent compléter ces premières courbes. 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.
+de filaments, la moitié droite du graphe correspond aux jours similaires au jour courant,
+tandis que la moitié gauche affiche les jours précédents : ce sont donc les voisinages
+tels qu'utilisés dans l'algorithme.
 <%
 list_titles = ['Pollution par chauffage','Pollution par épandage','Semaine non polluée']
 list_indices = ['indices_ch', 'indices_ep', 'indices_np']
@@ -46,9 +46,9 @@ exo_data = read.csv(system.file("extdata","meteo_extra_noNAs.csv",
 # above dataset. Prediction from P+1 to P+H included.
 data = getData(ts_data, exo_data)
 
-indices_ch = seq(as.Date("2015-01-18"),as.Date("2015-01-24"),"days")
-indices_ep = seq(as.Date("2015-03-15"),as.Date("2015-03-21"),"days")
-indices_np = seq(as.Date("2015-04-26"),as.Date("2015-05-02"),"days")
+indices_ch = seq(as.Date("2015-01-19"),as.Date("2015-01-25"),"days")
+indices_ep = seq(as.Date("2015-03-16"),as.Date("2015-03-22"),"days")
+indices_np = seq(as.Date("2015-04-27"),as.Date("2015-05-03"),"days")
 % for i in range(3):
 -----
 ##<h2 style="color:blue;font-size:2em">${list_titles[i]}</h2>
@@ -56,9 +56,9 @@ ${"##"} ${list_titles[i]}
 -----r
 p1 = computeForecast(data, ${list_indices[i]}, "Neighbors", "Neighbors", predict_from=P,
        horizon=H, simtype="mix", local=FALSE)
-p2 = computeForecast(data, ${list_indices[i]}, "Neighbors", "Neighbors", predict_from=P,
+p2 = computeForecast(data, ${list_indices[i]}, "Neighbors", NULL, predict_from=P,
        horizon=H, simtype="endo", local=TRUE)
-p3 = computeForecast(data, ${list_indices[i]}, "Neighbors", "Zero", predict_from=P,
+p3 = computeForecast(data, ${list_indices[i]}, "Neighbors", NULL, predict_from=P,
        horizon=H, simtype="none", local=TRUE)
 p4 = computeForecast(data, ${list_indices[i]}, "Average", "Zero", predict_from=P,
        horizon=H)
@@ -77,9 +77,9 @@ plotError(list(e1, e5, e4, e2, e3), cols=c(1,2,colors()[258],4,6))
 # mauve: Neighbors local none (p3), vert: moyenne (p4),
 # rouge: persistence (p5)
 
-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"
+sum_p23 = e2$abs$indices + e3$abs$indices
+i_np = which.min(sum_p23) #indice de (veille de) jour "facile"
+i_p = which.max(sum_p23) #indice de (veille de) jour "difficile"
 -----
 % if i == 0:
 L'erreur absolue dépasse 20 sur 1 à 2 jours suivant les modèles (graphe en haut à