-#' @include Forecaster.R
-#'
#' Average Forecaster
#'
-#' Return the (pointwise) average of the all the (similar) centered day curves
-#' in the past. Inherits \code{\link{Forecaster}}
+#' 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.
+#'
+#' @usage f <- AverageForecaster$new(pjump)
+#'
+#' @docType class
+#' @format R6 class, inherits Forecaster
+#' @aliases F_Average
+#'
AverageForecaster = R6::R6Class("AverageForecaster",
inherit = Forecaster,
public = list(
- predictShape = function(today, memory, horizon, ...)
+ predictShape = function(data, today, memory, horizon, ...)
{
avg = rep(0., horizon)
first_day = max(1, today-memory)
repeat
{
{
- serie_on_horizon = private$.data$getCenteredSerie(index)[1:horizon]
+ serie_on_horizon = data$getCenteredSerie(index)[1:horizon]
index = index - 7
};
if (!any(is.na(serie_on_horizon)))