## 3 Materials and Methods
### M5P Model Tree Techniques  
The M5P algorithm, an advanced and efficient technique, is well-suited for analyzing complex systems characterized by a high dimensionality, encompassing a vast number of attributes. Initially introduced by [PERSON] [22] as the M5 algorithm, it was designed to address classification and regression problems. Subsequently, [PERSON] and [PERSON] [24] refined the M5 algorithm, resulting in what is commonly referred to as the M5P algorithm. This improved algorithm excels at breaking down complex problems into simpler sub-problems and generating a response that combines the solutions of these sub-problems. The M5P method involves three key steps: constructing the initial tree, pruning it, and applying smoothing techniques. This process relies on the divide-and-conquer strategy, which is employed to partition the data space into smaller, more manageable subspaces. To further illustrate this, the structure of a decision tree, built using the approach for dividing the sample space with two input parameters, is depicted in Figure 2 to offer further context. The resulting model tree resembles an inverted tree, with the leaves at the bottom and the root positioned at the top. The divide-and-conquer strategy is employed to identify the leaves, or subspaces (refer to Figure 2a). Subsequently, a multivariate linear regression (MLR) model is established at each leaf (as shown in Figure 2b). The decision tree structure in Figure 2a segregates the full dataset into distinct groups using some splitting values. These values are determined to ensure accurate and efficient data partitioning, utilizing input variables that optimize error reduction for each node. The standard deviation reduction (SDR) is employed to calculate inaccuracies at individual nodes as follows:  
\[\text{SDR}=sd(T)-\sum_{i=1}^{n}\frac{|T_{i}|}{|T|}sd(T_{i}) \tag{1}\]  
where \(sd\) refers to the standard deviation, \(T_{i}\) is the outcome of splitting the node based on the specified split value and attribute, while the set \(T\) consists of instances that reach a particular node. The splitting process terminates automatically if the output values of all instances reaching the node differ by less than 5% of the original instance set's standard deviation, or when only a few instances remain. Upon constructing the tree, a multiple linear regression (MLR) model is built in the lowest subspace. Overfitting is often an unavoidable issue when generating the model tree and MLR model at each split. Usually, a pruning method is used to address this issue. In order to identify and address the issue of overfitting in the model, the algorithm thoroughly examines and derives a well-informed projection of the expected errors contained within the testing dataset. For the training instances that reach each node, the average absolute errors between the actual values and the expected response ones predicted with the unpruned tree are determined. This process is conducted for every training instance that reaches each individual node. Nonetheless, relying solely on this average value can lead to underestimating the anticipated error for the validation dataset. This issue arises due to the fact that the tree construction process is heavily dependent on the training dataset, which can inadvertently cause a bias in the performance evaluation of the model. To account for this, the response values are multiplied by the ratio \((n+v)/(n\times v)\), where \(v\) is the number of model attributes that correspond to the output value at that node and \(n\) represents the number of training data vectors that reach the node. Consequently, the algorithm can effectively remove generated leaves with estimated errors exceeding those of their preceding nodes (parents). The M5P method incorporates a unique smoothing phase that operates on several leaves within the pruned tree, aiming to reduce the sudden discontinuity observed between neighboring leaves, also referred to as classes.