From 26e3ba2332fe26f3e7e52067646e22f39fbef2fd Mon Sep 17 00:00:00 2001 From: Nicholas Clark Date: Thu, 14 Nov 2024 14:58:51 +1000 Subject: [PATCH] ensure lfo_cv returns only elpds for the evaluated timepoints --- R/lfo_cv.mvgam.R | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/R/lfo_cv.mvgam.R b/R/lfo_cv.mvgam.R index 4f60e2e0..bb3ee157 100644 --- a/R/lfo_cv.mvgam.R +++ b/R/lfo_cv.mvgam.R @@ -186,11 +186,11 @@ lfo_cv.mvgam = function(object, } fit_past <- update(object, - data = data_splits$data_train, - newdata = data_splits$data_test, - lfo = TRUE, - noncentred = noncentred, - silent = silent) + data = data_splits$data_train, + newdata = data_splits$data_test, + lfo = TRUE, + noncentred = noncentred, + silent = silent) # Calculate log likelihoods of forecast observations for the next # fc_horizon ahead observations @@ -265,10 +265,10 @@ lfo_cv.mvgam = function(object, approx_elpds[i + 1] <- log_sum_exp(lw + sum_rows(loglik_past[,fc_indices])) } } - return(structure(list(elpds = approx_elpds[(min_t + 1):N], + return(structure(list(elpds = approx_elpds[(min_t + 1):(N - fc_horizon)], sum_ELPD = sum(approx_elpds, na.rm = TRUE), - pareto_ks = ks, - eval_timepoints = (min_t + 1):N, + pareto_ks = ks[-1], + eval_timepoints = (min_t + 1):(N - fc_horizon), pareto_k_threshold = pareto_k_threshold), class = 'mvgam_lfo')) }