TODO: unit tests for simil days
[talweg.git] / pkg / R / J_Neighbors.R
index 3c9bc30..7f66830 100644 (file)
@@ -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)] )