TODO: unit tests for simil days
[talweg.git] / pkg / R / F_Average.R
index dab156a..8f81747 100644 (file)
@@ -1,19 +1,21 @@
-#' @include Forecaster.R
+#' Average Forecaster
 #'
-#' @title Average Forecaster
+#' Pointwise average of all the series of the same day of week in the past.
 #'
-#' @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",
+#' 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.
+#'
+#' @docType class
+#' @format R6 class, inherits Forecaster
+#' @aliases F_Average
+#'
+AverageForecaster = R6::R6Class("AverageForecaster",
+       inherit = Forecaster,
 
-       methods = list(
-               initialize = function(...)
-               {
-                       callSuper(...)
-               },
-               predictShape = function(today, memory, horizon, ...)
+       public = list(
+               predictShape = function(data, today, memory, horizon, ...)
                {
                        avg = rep(0., horizon)
                        first_day = max(1, today-memory)