#' Obtain delta forecast by the Neighbors method #' #' @inheritParams getForecast #' @inheritParams getZeroDeltaForecast getNeighborsDeltaForecast = function(data, today, memory, horizon, shape_params, ...) { first_day = max(1, today-memory) filter = shape_params$indices >= first_day indices = shape_params$indices[filter] weights = shape_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 }