X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=pkg%2FR%2FJ_Neighbors.R;h=12fc9d4266780c143fc2b250f161d7f7d271dce6;hb=2057c793ad9929ed5bef8663ea28b896c84df0fc;hp=03d334064a43f40d2d307e86e3f8b5c7e95cfafa;hpb=469529710f56c790ae932b45d13fed2e34bcabf2;p=talweg.git diff --git a/pkg/R/J_Neighbors.R b/pkg/R/J_Neighbors.R index 03d3340..12fc9d4 100644 --- a/pkg/R/J_Neighbors.R +++ b/pkg/R/J_Neighbors.R @@ -1,18 +1,20 @@ #' Obtain jump forecast by the Neighbors method #' -#' @inheritParams getForecast +#' @inheritParams computeForecast #' @inheritParams getZeroJumpPredict +#' getNeighborsJumpPredict = function(data, today, memory, horizon, params, ...) { first_day = max(1, today-memory) - filter = params$indices >= first_day + 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) + head( data$getSerie(i+1), 1) - tail( data$getSerie(i), 1) }) scal_product = weights * gaps norm_fact = sum( weights[!is.na(scal_product)] )