'update'
[talweg.git] / pkg / R / J_Persistence.R
1 #' Obtain jump forecast by the Persistence method
2 #'
3 #' @inheritParams getForecast
4 #' @inheritParams getZeroJumpPredict
5 getPersistenceJumpPredict = function(data, today, memory, horizon, params, ...)
6 {
7 #return gap between end of similar day curve and first day of tomorrow (in the past)
8 first_day = max(1, today-memory)
9 same_day = ifelse(hasArg("same_day"), list(...)$same_day, TRUE)
10 index = today - ifelse(same_day,7,1)
11 repeat
12 {
13 {
14 last_serie_end = tail( data$getSerie(index), 1)
15 last_tomorrow_begin = data$getSerie(index+1)[1]
16 index = index - ifelse(same_day,7,1)
17 };
18 if (!is.na(last_serie_end) && !is.na(last_tomorrow_begin))
19 return (last_tomorrow_begin - last_serie_end);
20 if (index < first_day)
21 return (NA)
22 }
23 }