#' Pointwise average of all the series of the same day of week in the past.
#'
#' For example, if the current day (argument "today") is a tuesday, then all series
-#' corresponding to wednesdays in the past (until the beginning or memory limit) are
-#' averaged to provide a smooth prediction. This forecast will most of the time be wrong,
-#' but will also look plausible enough.
+#' corresponding to tuesday in the past (until the beginning or memory limit) -- and in
+#' the future if 'opera' is FALSE -- are averaged to provide a smooth prediction. This
+#' forecast will most of the time be wrong, but will also look plausible enough.
#'
#' @usage # AverageForecaster$new(pjump)
#'
first_day = max(1, today-memory)
index <- today
nb_no_na_series = 0
+ opera = ifelse(hasArg("opera"), list(...)$opera, FALSE)
repeat
{
index = index - 7
nb_no_na_series = nb_no_na_series + 1
}
}
+ if (!opera)
+ {
+ # The same, in the future
+ index <- today
+ repeat
+ {
+ index = index + 7
+ if (index > data$getSize())
+ break
+ serie_on_horizon = data$getCenteredSerie(index)[predict_from:horizon]
+ if (!any(is.na(serie_on_horizon)))
+ {
+ avg = avg + serie_on_horizon
+ nb_no_na_series = nb_no_na_series + 1
+ }
+ }
+ }
avg / nb_no_na_series
}
)