'update'
authorBenjamin Auder <benjamin.auder@somewhere>
Thu, 4 May 2017 22:47:25 +0000 (00:47 +0200)
committerBenjamin Auder <benjamin.auder@somewhere>
Thu, 4 May 2017 22:47:25 +0000 (00:47 +0200)
pkg/R/plot.R
reports/Experiments.gj

index b5a8e4b..d501d9e 100644 (file)
@@ -64,7 +64,8 @@ plotPredReal <- function(data, pred, index)
        measure = data$getSerie( pred$getIndexInData(index) )[1:length(pred$getForecast(1))]
 
        # Remove the common part, where prediction == measure
        measure = data$getSerie( pred$getIndexInData(index) )[1:length(pred$getForecast(1))]
 
        # Remove the common part, where prediction == measure
-       dot_mark <- ifelse(prediction[1]==measure[1], which.max(prediction==measure), 0)
+       dot_mark <- ifelse(prediction[1]==measure[1],
+               which.max(seq_along(prediction)[prediction==measure]), 0)
        prediction = prediction[(dot_mark+1):length(prediction)]
        measure = measure[(dot_mark+1):length(measure)]
 
        prediction = prediction[(dot_mark+1):length(prediction)]
        measure = measure[(dot_mark+1):length(measure)]
 
index 55147e9..aef72e6 100644 (file)
@@ -54,7 +54,7 @@ indices_np = seq(as.Date("2015-04-27"),as.Date("2015-05-03"),"days")
 ##<h2 style="color:blue;font-size:2em">${list_titles[i]}</h2>
 ${"##"} ${list_titles[i]}
 -----r
 ##<h2 style="color:blue;font-size:2em">${list_titles[i]}</h2>
 ${"##"} ${list_titles[i]}
 -----r
-p1 = computeForecast(data, ${list_indices[i]}, "Neighbors", "Neighbors", predict_from=P,
+p1_7 = computeForecast(data, ${list_indices[i]}, "Neighbors", "Neighbors", predict_from=P,
        horizon=H, simtype="mix", local=FALSE)
 p2 = computeForecast(data, ${list_indices[i]}, "Neighbors", NULL, predict_from=P,
        horizon=H, simtype="none", local=TRUE)
        horizon=H, simtype="mix", local=FALSE)
 p2 = computeForecast(data, ${list_indices[i]}, "Neighbors", NULL, predict_from=P,
        horizon=H, simtype="none", local=TRUE)
@@ -78,10 +78,10 @@ i_np = which.min(sum_p23) #indice de jour "facile"
 i_p = which.max(sum_p23) #indice de jour "difficile"
 -----
 % if i == 0:
 i_p = which.max(sum_p23) #indice de jour "difficile"
 -----
 % if i == 0:
-L'erreur absolue -- en haut à gauche -- reste modérée pour les meilleurs modèles
+L'erreur absolue $-$ en haut à droite $-$ reste modérée pour les meilleurs modèles
 (variantes à voisins), ne dépassant 10 que deux jours. Les deux modèles naïfs ont des
 erreurs similaires sauf sur la période "difficile" (jours 4 à 6), sur laquelle on gagne
 (variantes à voisins), ne dépassant 10 que deux jours. Les deux modèles naïfs ont des
 erreurs similaires sauf sur la période "difficile" (jours 4 à 6), sur laquelle on gagne
-donc à chercher des jours similaires pour effectuer la prévision.
+donc à chercher des jours semblables pour effectuer la prévision.
 Le MAPE reste en général inférieur à 35% pour les meilleurs méthodes.
 % elif i == 1:
 Le modèle à voisins avec contrainte de localité obtient ici les meilleurs résultats, son
 Le MAPE reste en général inférieur à 35% pour les meilleurs méthodes.
 % elif i == 1:
 Le modèle à voisins avec contrainte de localité obtient ici les meilleurs résultats, son
@@ -92,9 +92,9 @@ droite). Le MAPE jour après jour est du même ordre que précédemment pour cet
 Dans ce cas plus favorable les intensité des erreurs absolues ont clairement diminué :
 elles sont souvent en dessous de 5. En revanche le MAPE moyen reste en général au-delà de
 20%. Comme dans le cas de l'épandage on constate une croissance globale de la courbe
 Dans ce cas plus favorable les intensité des erreurs absolues ont clairement diminué :
 elles sont souvent en dessous de 5. En revanche le MAPE moyen reste en général au-delà de
 20%. Comme dans le cas de l'épandage on constate une croissance globale de la courbe
-journalière d'erreur absolue moyenne (en haut à gauche) -- sauf pour la méthode à voisins
-"locale" ; ceci peut être dû au fait que l'on ajuste le niveau du jour à prédire en le
-recollant sur la dernière valeur observée (sauf pour "Neighbors local").
+journalière d'erreur absolue moyenne (en haut à gauche) $-$ sauf pour la méthode à
+voisins "locale" ; ceci peut être dû au fait que l'on ajuste le niveau du jour à prédire
+en le recollant sur la dernière valeur observée (sauf pour "Neighbors local").
 % endif
 -----r
 options(repr.plot.width=9, repr.plot.height=4)
 % endif
 -----r
 options(repr.plot.width=9, repr.plot.height=4)
@@ -120,7 +120,7 @@ Dans le cas d'un jour "facile" à prédire $-$ à gauche $-$ la forme est plu
 retrouvée, ainsi que le niveau moyen pour la méthode sans contrainte de localité
 (dans l'autre, l'algorithme a probablement écarté trop de voisins potentiels).
 Concernant le jour "difficile" à droite, non seulement la forme n'est pas anticipée mais
 retrouvée, ainsi que le niveau moyen pour la méthode sans contrainte de localité
 (dans l'autre, l'algorithme a probablement écarté trop de voisins potentiels).
 Concernant le jour "difficile" à droite, non seulement la forme n'est pas anticipée mais
-surtout le niveau prédit est largement supérieur au niveau de pollution observé -- dans
+surtout le niveau prédit est largement supérieur au niveau de pollution observé $-$ dans
 une moindre mesure toutefois pour la variante "locale".
 % else:
 L'impression visuelle est plutôt mauvaise dans ce cas, mais les écart étant minimes les
 une moindre mesure toutefois pour la variante "locale".
 % else:
 L'impression visuelle est plutôt mauvaise dans ce cas, mais les écart étant minimes les
@@ -230,10 +230,11 @@ title(paste("Weights p1 day",i_p))
 Les poids se concentrent près de 0 : c'est ce que l'on souhaite observer pour éviter
 d'effectuer une simple moyenne.
 % elif i == 1:
 Les poids se concentrent près de 0 : c'est ce que l'on souhaite observer pour éviter
 d'effectuer une simple moyenne.
 % elif i == 1:
-En comparaison avec le paragraphe précédent on retrouve le même (bon) comportement des
-poids pour la version "non locale".
+On retrouve le même (bon) comportement des poids : concentration vers 0, quelques poids
+non négligeables (presque trop peu pour le jour "difficile").
 % else:
 % else:
-Concernant les poids en revanche, deux cas a priori mauvais se cumulent : ...
+Les poids sont répartis comme souhaité : concentrés vers 0 avec quelques valeurs non
+négligeables.
 % endif
 -----r
 options(digits=2)
 % endif
 -----r
 options(digits=2)