X-Git-Url: https://git.auder.net/?p=talweg.git;a=blobdiff_plain;f=pkg%2FR%2FF_Average.R;h=ba0f0036441fd8c9c402d263169d3e36053cc1fc;hp=dab156a7ba2d437fe99cdb77165f2cf3cb6562cd;hb=44a9990b6d608ffcd2e99d5193fa8b9e6cbdb436;hpb=16209589215b8300e07e3525ae5bcb236d6f7008 diff --git a/pkg/R/F_Average.R b/pkg/R/F_Average.R index dab156a..ba0f003 100644 --- a/pkg/R/F_Average.R +++ b/pkg/R/F_Average.R @@ -13,6 +13,22 @@ AverageForecaster = setRefClass( { 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, ...) { avg = rep(0., horizon)