#' @include Forecaster.R #' #' @title Average Forecaster #' #' @description Return the (pointwise) average of the all the (similar) centered day curves #' in the past. Inherits \code{\link{Forecaster}} AverageForecaster = setRefClass( Class = "AverageForecaster", contains = "Forecaster", methods = list( initialize = function(...) { callSuper(...) }, predictShape = function(today, memory, horizon, ...) { avg = rep(0., horizon) first_day = max(1, today-memory) index = today-7 + 1 nb_no_na_series = 0 repeat { { serie_on_horizon = data$getCenteredSerie(index)[1:horizon] index = index - 7 }; if (!any(is.na(serie_on_horizon))) { avg = avg + serie_on_horizon nb_no_na_series = nb_no_na_series + 1 }; if (index < first_day) break } avg / nb_no_na_series } ) )