#' Obtain jump forecast by the Neighbors method #' #' @inheritParams getForecast #' @inheritParams getZeroJumpPredict getNeighborsJumpPredict = function(data, today, memory, horizon, params, ...) { first_day = max(1, today-memory) filter = params$indices >= first_day indices = params$indices[filter] weights = params$weights[filter] if (any(is.na(weights) | is.na(indices))) return (NA) gaps = sapply(indices, function(i) { data$getSerie(i+1)[1] - tail(data$getSerie(i), 1) }) scal_product = weights * gaps norm_fact = sum( weights[!is.na(scal_product)] ) sum(scal_product, na.rm=TRUE) / norm_fact }