## 2 Materials and Methods
### Machine Learning Models  
Within the approaches categorised as machine learning (ML) techniques, two groups of models were used. The first was models of boosted regression trees, obtained by using the XGBoost method. In the second group, neural networks (NN) of simple design, containing one or two hidden layers, were used. The rationale for this choice is as follows. We wanted to make a clear reference to previous works by [PERSON] et al. [21; 27] that we build upon, hence the neural networks. We were also looking for methods that may compete with neural networks for small to medium-sized regression tasks, which is where the regression trees ensembles come in handy, and we chose XGBoost as the representative of this group over Random Forests, which was also considered. The XGBoost (eXtreme Gradient Boosting) method was proposed by [PERSON] and [PERSON] [47]. It is a variant of a multi-model approach, using regression trees, in which a certain model loss function is minimised, with a regularisation condition imposed on the tree structure, taking into account the number and weights of the leaves. Technically, the application of this method involves minimising the expression  
\[\sum_{i}l(\hat{y}_{i},y_{i})+\sum_{k}\Omega(f_{k}) \tag{6}\]  
where \(\Omega(f)=\gamma T+\frac{1}{2}\lambda\|w\|^{2}\) is a regularisation formula, \(l\)--convex loss function (usually the mean square error, MSE), \(k\)--number of the model (tree) in an ensemble, \(T\)--number of leaves, \(w\)--weights of leaves, \(g\), and \(l\)--regularisation parameters. Such a task is solved with an iterative algorithm, described in detail in [47]. Next, we used neural networks as predictive models. We have made several assumptions about the NN architecture. Since the task was a relatively uncomplicated one--non-linear regression on 6-8 variables--we excluded from our considerations all NNs other than simple multilayer perceptrons, with either one or two hidden layers, as these are proven to be sufficient for regression tasks. Then, not to over complicate the architecture, we chose the ranges for the number of nodes in each hidden layer. All this resulted in a relatively short list of NN architectures under consideration. Then, the best-performing architecture was found in each task in the process of multiple network training (over a grid of said architectures). The neural networks used in the modelling procedure had one or two hidden layers, a ReLU activation function, and were trained with the Adam algorithm. The hidden layers in the different model variants for the design data contained between 3 and 20 fully connected neurons, and the training procedure covered between 800 and 2000 epochs, with 10-20% of the test data and a training batch size of 12-24 observations (4.9-9.8% of the total number of observations). In the case of models for existing building data, the models had between 3 and 12 neurons in the hidden layers, the training procedure consisted of 1000 epochs, the test data consisted of 10% of the training set, and a batch consisting of 4-8 observations was presented to the network at one time. After obtaining the results from ML models, we decided to build hybrids combining baseline models with ML models or one ML model with another, in order to further improve our predictions. To compare the indications of the individual models, the MAE (mean absolute error) and RMSE (root mean squared error) measures were used, as in [1], given by the formulae  
\[MAE=\frac{1}{N}\sum_{i=1}^{N}|y_{i}-\hat{y}_{i}| \tag{7}\]and  
\[RMSE=\sqrt{MSE}=\sqrt{\frac{1}{N}{\sum_{i=1}^{N}}(y_{i}-\hat{y}_{i})^{2}} \tag{8}\]  
where \(N\) is the number of observations in the validation set, \(y_{i}\) is the value of the dependent variable in the \(i\)-th object, and \(\hat{y}_{i}\)--the estimated value of \(A_{U}\). Shapley values [48; 49] were used to assess the impact of individual input variables on the estimated value of the dependent variable in ML models.