+++ /dev/null
-#' @include Forecaster.R
-#'
-#' Average Forecaster
-#'
-#' Return the (pointwise) average of the all the (similar) centered day curves
-#' in the past. Inherits \code{\link{Forecaster}}
-AverageForecaster = R6::R6Class("AverageForecaster",
- inherit = Forecaster,
-
- public = list(
- 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 = private$.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
- }
- )
-)