# Heat Loss Coefficient Estimation Applied to Existing Buildings through Machine Learning Models
## 3 Results and Discussion
### Thermal Demand Analysis  
The results of the heating demand predictions for the analysed building in the three validation samples are presented in this section in Figure 3 and Table 2. These predictions are important as they will be used to obtain the subsequent HLC estimations (see Section 3.2). Furthermore, in Figure 3, each of the algorithms is represented by the prediction that obtains the lowest CV(RMSE) among the 10 trials (best scenario). In the case of Sample 1 (Figure 3a) and taking into account the CV(RMSE) results, the XGBoost model presents the lowest average error (18.57%). The MLP neural network and SVR model show a worse performance with an average error of 19.84% and 21.31%, respectively (see Table 2). Moreover, Table 2 shows that in all models, the variability of errors in the 10 trials was relatively low (below \(\pm\) 4), but MLP is the one that shows the lowest dispersion (\(\pm\)2.41). On the other hand, regarding the NMBE results, the lowest average error was obtained by the MLP model (\(-\)5.49%), while the other algorithms only managed to obtain negative average errors higher than 10% (\(-\)12.52% for XGBoost and \(-\)11.63% for SVR). In addition, in this case, while the variability of the NMBE results of XGBoost and MLP are similar and around \(\pm\) 5 (see Table 2), the SVR results show a greater dispersion (above \(\pm\) 8). In general, all the models, in the best scenario, efficiently reproduced the real behaviour of the thermal demand of the building analysed (see Figure 3a). Although the XGBoost model obtained better results in relation to the CV(RMSE), the MLP predictions showed a better overall adjustment to reality by obtaining a similar average CV(RMSE) and an average NMBE much lower than XGBoost. In Sample 2 (Figure 3b), considering the CV(RMSE) results, the XGBoost algorithm and MLP neural network show a similar average performance. MLP obtained an average error of 17.38% and XGBoost 17.43%. In this situation, the SVR model shows better results than the other models with an average error of 16.61% (see Table 2). Additionally, while SVR and MLP present a similar error dispersion around \(\pm\) 2, the XGBoost model is the one that presents the highest variability (above \(\pm\) 4). With respect to the NMBE results, the SVR model again obtained the lowest average error (2.99%). The MLP neural network and XGBoost algorithm, on the other hand, present higher and negative average error (\(-\)4.01% and \(-\)8.40%, respectively). However, as shown in Table 2, the SVR model is the one that showed the greatest dispersion in the NMBE results (almost \(\pm\) 7), even though the other models also showed an important variability. In Figure 3b, it is demonstrated that each of the algorithms, taking into account the best scenario, is capable of replicating the reality except for certain peaks. However, more specifically, the model that yielded the best average performance was SVR. Regarding Sample 3 (see Figure 3c), the three models studied obtained average CV(RMSE) values above 20%. While the SVR algorithm and MLP neural network showed an average CV(RMSE) of 21.60% and 21.54%, respectively, XGBoost model obtained an average error around 29% (see Table 2). Furthermore, taking into account that the variabilities presented were not high, the MLP neural network obtained the least variable results (\(\pm\)2.33) and XGBoost the most variable (\(\pm\)3.81). In the case of the NMBE results, the MLP model stands out from the rest (see Table 2). It shows the lowest average of NMBE by far (0.25%). The average results of the other algorithms were higher than 10% and negative (\(-\)13.60% for SVR and \(-\)23.05% for XGBoost). On the other hand, the dispersion of the NMBE values among the 10 trials of this sample is high (above 4.5) in all the models, and the MLP neural network was the model with the greatest  
Figure 3: Results of thermal demand predictions in all samples studied: (**a**) Sample 1; (**b**) Sample 2; (**c**) Sample 3.