X-Git-Url: https://git.auder.net/?p=talweg.git;a=blobdiff_plain;f=pkg%2FR%2FJ_Neighbors.R;h=7f6683013bcd8fb9eea66a1ab3855e1703f693ee;hp=3c9bc30df25f21bd7b714f77c08d7f6ce4fea184;hb=3ddf1c12af0c167fe7d3bb59e63258550270cfc5;hpb=546b0cb65870355a2a2c3705c91418570499d3a6 diff --git a/pkg/R/J_Neighbors.R b/pkg/R/J_Neighbors.R index 3c9bc30..7f66830 100644 --- a/pkg/R/J_Neighbors.R +++ b/pkg/R/J_Neighbors.R @@ -1,12 +1,19 @@ -#' Obtain jump forecast by the Neighbors method +#' getNeighborsJumpPredict +#' +#' Apply optimized weights on gaps observed on selected neighbors. +#' This jump prediction method can only be used in conjunction with the Neighbors +#' Forecaster, because it makes use of the optimized parameters to re-apply the weights +#' on the jumps observed at days interfaces of the past neighbors. #' #' @inheritParams computeForecast #' @inheritParams getZeroJumpPredict #' +#' @aliases J_Neighbors +#' 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] @@ -14,7 +21,7 @@ getNeighborsJumpPredict = function(data, today, memory, horizon, params, ...) 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)] )