X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=pkg%2FR%2FF_Average.R;h=d0b40b4ba69bd50b8c3f6c65ce49b7e5a432390b;hb=4e821712ee4349b08a0ab3f6bcb35a00342ddef4;hp=5058825c7d9fa7916f1aa4ead566f0b5c5a06e2e;hpb=af3b84f4cacade7d83221ca0249b546c50ddf340;p=talweg.git diff --git a/pkg/R/F_Average.R b/pkg/R/F_Average.R index 5058825..d0b40b4 100644 --- a/pkg/R/F_Average.R +++ b/pkg/R/F_Average.R @@ -1,14 +1,23 @@ -#' @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 # 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) @@ -17,7 +26,7 @@ AverageForecaster = R6::R6Class("AverageForecaster", 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)))