-#' @include Forecaster.R
+#' Average Forecaster
#'
-#' @title Average Forecaster
+#' Return the (pointwise) average of the all the (similar) centered day curves
+#' in the past. Inherits \code{\link{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",
+#' @export
+AverageForecaster = R6::R6Class("AverageForecaster",
+ inherit = Forecaster,
- methods = list(
- initialize = function(...)
- {
- callSuper(...)
- },
- predict = function(today, memory, horizon, ...)
- {
- predicted_shape = predictShape(today, memory, horizon, ...)
- #Take care of never passing same_day==FALSE (when pjump == Persistence)
- predicted_delta =
- if (#as.character(substitute(pjump))=="Persistence" && #TODO: doesn't work
- hasArg("same_day") && list(...)$same_day==FALSE)
- {
- args = list(...)
- args$same_day = TRUE
- do.call(pjump, append(list("today"=today,"memory"=memory,"horizon"=horizon), args))
- }
- else
- pjump(data, today, memory, horizon, params, ...)
- predicted_shape + tail(data$getSerie(today),1) - predicted_shape[1] + predicted_delta
- },
- predictShape = function(today, memory, horizon, ...)
+ public = list(
+ predictShape = function(data, today, memory, horizon, ...)
{
avg = rep(0., horizon)
first_day = max(1, today-memory)