## 5 Discussion
### Analysis of the Optimal Performing Model  
Figure 6 presents an analysis of the performance exhibited by the GradientBoosting[0] model, designated as GB_99, which was trained on a subset comprising 59,680 records. This subset accounts for 10.34% of the training dataset and is statistically significant, offering a 99% confidence level, as delineated in Equation (4). In contrast, the model labeled GB_full refers to the GradientBoosting[0] variant trained on the entirety of the training dataset, encompassing 519,327 records. Additionally, the graph includes MEAN and MEDIAN, which indicate the MAE values when predictions are based on these respective statistical measures. This comparison offers insight into the efficacy and scalability of the GradientBoosting[0] model under varying training data volumes and their performance against the MEAN and MEDIAN prediction approaches. Table 7 compares the hourly MAE performance for the GradientBoosting[0] model. Here are some observations and opinions on these data:  
* **Data Size Impact:** The GB_full model, trained on a significantly larger dataset (519,327 records) compared to GB_99 (57,704 records), consistently shows lower MAE across all timeframes. This indicates the potential benefits of training on more extensive data, likely capturing more nuances and patterns, leading to better predictive performance. * **Performance Consistency:** Both models exhibit a similar pattern in MAE fluctuations over the 24 h, suggesting that the underlying data characteristics influencing error rates are similar for both datasets. However, the magnitude of the error is consistently lower in the GB_full model, reinforcing the value of a more extensive training set. * **Timeframe Sensitivity:** There are periods (like early morning hours) where the MAE is relatively lower for both models and periods (like afternoon to early evening) where MAE peaks. This pattern could indicate varying model performance based on time-specific factors, suggesting that certain hours have characteristics that are either more predictable or more challenging for the model. \begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**Timeframe** & **GB\_99** & **GB\_full** & **Timeframe** & **GB\_99** & **GB\_full** \\ \hline
00:00 & 6.772 & 5.754 & 12:00 & 9.444 & 6.893 \\
01:00 & 6.172 & 5.223 & 13:00 & 10.905 & 7.919 \\
02:00 & 5.709 & 4.718 & 14:00 & 11.932 & 8.639 \\
03:00 & 5.595 & 4.645 & 15:00 & 12.345 & 8.546 \\
04:00 & 4.9 & 3.941 & 16:00 & 11.413 & 8.22 \\
05:00 & 3.76 & 2.958 & 17:00 & 9.582 & 7.125 \\
06:00 & 3.054 & 2.39 & 18:00 & 7.443 & 5.932 \\
07:00 & 3.088 & 2.369 & 19:00 & 6.824 & 5.493 \\
08:00 & 4.239 & 3.441 & 20:00 & 6.6 & 5.428 \\
09:00 & 5.44 & 4.377 & 21:00 & 6.521 & 5.217 \\
10:00 & 6.628 & 5.218 & 22:00 & 5.924 & 4.885 \\
11:00 & 7.789 & 6.05 & 23:00 & 5.565 & 4.567 \\ \hline \hline \end{tabular}  
* In total, 57,704 records were used to calculate the MAE for the GB_99 model, while in the case of GB_full, 519,327 records were used.  
\end{table} 
Table 7: Optimal Model’s Hourly MAE Performance. Figure 6: Optimal performing model hourly MAE profile. The GB_99 represents the GradientBoosting model trained on a sample size corresponding to 10.34%; GB_full denotes the GradientBoosting model trained with the entire training dataset. MEAN and MEDIAN indicate the MAE values when predictions are based on these respective statistical measures. The comparison between the \"Optimal Model's Hourly MAE Performance\" (Table 7) and the \"Baseline Mean Absolute Error\" (Table 4) is quite revealing in terms of understanding the effectiveness of the Gradient Boosting (GB) models relative to basic baseline methods. Here are some observations and opinions on these data:  
* Significant Improvement Over Baseline: Both Gradient Boosting models (GB_99 and GB_full) consistently outperform the baseline models across almost all timeframes. The MAEs for the baseline methods are significantly higher than those for the Gradient Boosting models, indicating the superior predictive capability of the latter.