X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=pkg%2FR%2FF_Average.R;h=d7febd44dcafb0435a788970bea5dd93f721d49a;hb=c4c329f65e6e842917cdfbabff36fbca6a617d02;hp=ba0f0036441fd8c9c402d263169d3e36053cc1fc;hpb=44a9990b6d608ffcd2e99d5193fa8b9e6cbdb436;p=talweg.git diff --git a/pkg/R/F_Average.R b/pkg/R/F_Average.R index ba0f003..d7febd4 100644 --- a/pkg/R/F_Average.R +++ b/pkg/R/F_Average.R @@ -1,35 +1,15 @@ -#' @include Forecaster.R +#' Average Forecaster #' -#' @title Average Forecaster +#' Pointwise average of all series of the same (day of week) days 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", +#' @format R6 class, inherits Forecaster +#' @alias F_Average +#' +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)