new version, persistence -7 days
[talweg.git] / R / J_Neighbors.R
CommitLineData
e030a6e3 1#' Obtain jump forecast by the Neighbors method
3d69ff21
BA
2#'
3#' @inheritParams getForecast
e030a6e3
BA
4#' @inheritParams getZeroJumpPredict
5getNeighborsJumpPredict = function(data, today, memory, horizon, params, ...)
3d69ff21 6{
09cf9c19 7 first_day = max(1, today-memory)
e030a6e3
BA
8 filter = params$indices >= first_day
9 indices = params$indices[filter]
10 weights = params$weights[filter]
09cf9c19 11 if (any(is.na(weights) | is.na(indices)))
3d69ff21
BA
12 return (NA)
13
09cf9c19 14 gaps = sapply(indices, function(i) {
3d69ff21
BA
15 data$getSerie(i+1)[1] - tail(data$getSerie(i), 1)
16 })
09cf9c19
BA
17 scal_product = weights * gaps
18 norm_fact = sum( weights[!is.na(scal_product)] )
3d69ff21
BA
19 sum(scal_product, na.rm=TRUE) / norm_fact
20}