projects
/
talweg.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add realtime option, slightly refactor data acquisition
[talweg.git]
/
pkg
/
R
/
computeForecast.R
diff --git
a/pkg/R/computeForecast.R
b/pkg/R/computeForecast.R
index
24f114e
..
198f6ec
100644
(file)
--- a/
pkg/R/computeForecast.R
+++ b/
pkg/R/computeForecast.R
@@
-20,7
+20,8
@@
#' @param memory Data depth (in days) to be used for prediction
#' @param horizon Number of time steps to predict
#' @param ncores Number of cores for parallel execution (1 to disable)
#' @param memory Data depth (in days) to be used for prediction
#' @param horizon Number of time steps to predict
#' @param ncores Number of cores for parallel execution (1 to disable)
-#' @param ... Additional parameters for the forecasting models
+#' @param ... Additional parameters for the forecasting models;
+#' In particular, realtime=TRUE to use predictions instead of measurements
#'
#' @return An object of class Forecast
#'
#'
#' @return An object of class Forecast
#'
@@
-43,7
+44,7
@@
computeForecast = function(data, indices, forecaster, pjump,
{
# (basic) Arguments sanity checks
horizon = as.integer(horizon)[1]
{
# (basic) Arguments sanity checks
horizon = as.integer(horizon)[1]
- if (horizon<=0 || horizon>length(data$getCenteredSerie(
2
)))
+ if (horizon<=0 || horizon>length(data$getCenteredSerie(
1
)))
stop("Horizon too short or too long")
integer_indices = sapply(indices, function(i) dateIndexToInteger(i,data))
if (any(integer_indices<=0 | integer_indices>data$getSize()))
stop("Horizon too short or too long")
integer_indices = sapply(indices, function(i) dateIndexToInteger(i,data))
if (any(integer_indices<=0 | integer_indices>data$getSize()))
@@
-52,7
+53,8
@@
computeForecast = function(data, indices, forecaster, pjump,
stop("forecaster (name) and pjump (function) should be of class character")
pred = Forecast$new( sapply(indices, function(i) integerIndexToDate(i,data)) )
stop("forecaster (name) and pjump (function) should be of class character")
pred = Forecast$new( sapply(indices, function(i) integerIndexToDate(i,data)) )
- forecaster_class_name = getFromNamespace(paste(forecaster,"Forecaster",sep=""), "talweg")
+ forecaster_class_name = getFromNamespace(
+ paste(forecaster,"Forecaster",sep=""), "talweg")
forecaster = forecaster_class_name$new( #.pjump =
getFromNamespace(paste("get",pjump,"JumpPredict",sep=""), "talweg"))
forecaster = forecaster_class_name$new( #.pjump =
getFromNamespace(paste("get",pjump,"JumpPredict",sep=""), "talweg"))
@@
-60,7
+62,8
@@
computeForecast = function(data, indices, forecaster, pjump,
{
p <- parallel::mclapply(seq_along(integer_indices), function(i) {
list(
{
p <- parallel::mclapply(seq_along(integer_indices), function(i) {
list(
- "forecast" = forecaster$predictSerie(data, integer_indices[i], memory, horizon, ...),
+ "forecast" = forecaster$predictSerie(
+ data, integer_indices[i], memory, horizon, ...),
"params"= forecaster$getParameters(),
"index" = integer_indices[i] )
}, mc.cores=ncores)
"params"= forecaster$getParameters(),
"index" = integer_indices[i] )
}, mc.cores=ncores)
@@
-69,7
+72,8
@@
computeForecast = function(data, indices, forecaster, pjump,
{
p <- lapply(seq_along(integer_indices), function(i) {
list(
{
p <- lapply(seq_along(integer_indices), function(i) {
list(
- "forecast" = forecaster$predictSerie(data, integer_indices[i], memory, horizon, ...),
+ "forecast" = forecaster$predictSerie(
+ data, integer_indices[i], memory, horizon, ...),
"params"= forecaster$getParameters(),
"index" = integer_indices[i] )
})
"params"= forecaster$getParameters(),
"index" = integer_indices[i] )
})
@@
-79,9
+83,9
@@
computeForecast = function(data, indices, forecaster, pjump,
for (i in seq_along(integer_indices))
{
pred$append(
for (i in seq_along(integer_indices))
{
pred$append(
-
new_serie
= p[[i]]$forecast,
-
new_
params = p[[i]]$params,
-
new_
index_in_data = p[[i]]$index
+
forecast
= p[[i]]$forecast,
+ params = p[[i]]$params,
+ index_in_data = p[[i]]$index
)
}
pred
)
}
pred