Skip to main content
. 2026 Sep 9;26(18):5740. doi: 10.3390/s26185740
Algorithm 3 Residual-Boosting Training and Evaluation: VS-DCFF

Require: Real residual-stage data (Xb,r); fused augmented data (X˜aug,r˜aug); grid Θ: D∈{4,5,6,7}, η∈{0.05,0.03,0.02}; k=5 TimeSeriesSplit folds

Ensure: Best model M*; metrics {RMSE,MAE,R2}

 Hyperparameter Selection (real rows only, nested per fold):

 best_val_rmse←∞;   θ*←∅

 for each θ∈Θ do

     fold_rmses←[]

     for each of k=5 TimeSeriesSplit folds on (Xb,r) do

         Refit glin, residual target, MI-selected feature set, and BRR/GPR estimators on that fold’s training subset only; apply fitted transformations to that fold’s validation subset (no cross-fold information sharing)

         Train XGBRegressor(θ, M=300) on fold-train; evaluate RMSE on fold-validation

         Append to fold_rmses

     end for

     mean_val_rmse←mean(fold_rmses)

     if mean_val_rmsebest_val_rmse then

         best_val_rmse←mean_val_rmse; θ*←θ

     end if

 end for

 Final Fit: Train M*← XGBRegressor(θ*, M=300) on (X˜aug,r˜aug)

 Evaluate: On held-out chronological test set, compute y^t=glin(xt)+M*(xtb) using Equation (21); compute RMSE, MAE, R2 using Equations (22) –(24)

 Output: Return M*, metrics