## Methods and Materials  
### Methods  
#### 2.1.1 Microforest Interpolation  
Miceforest applies the chain equation to perform imputations iteratively and utilizes the Random Forest algorithm to produce imputations with the highest possible accuracy. The interpolation of chain equations \"fills in\" (interpolates) missing data in the data set through a series of iterative prediction models. In each iteration, each specified variable in the dataset was estimated using other variables in the dataset, running iterations repeatedly until the interpolation data converged with the original data and the interpolation ended [23; 35]. We assume A = (A\({}_{1}\), A\({}_{2}\),..., A\({}_{\text{P}}\)) to be a matrix with n rows and p columns, where each row represents an observation or instance, and each column represents a variable or feature. If a variable \"As\" has missing values at certain entries \(i^{(s)}_{mis}\subseteq\{1,\ldots,\text{n}\}\). The dataset can be partitioned into four subsets:  
1. The observed values of variable As, represented as \(y^{(s)}_{obs}\);
2. The missing values of variable As, denoted by \(y^{(s)}_{mis}\);
3. The variables other than As with observations \(i^{(s)}_{obs}=\{1,\ldots,\text{n}\}\setminus i^{(s)}_{mis}\) denoted by \(a^{(s)}_{obs}\);
4. The variables other than As with observations \(i^{(s)}_{mis}\) denoted by \(a^{(s)}_{mis}\).  
The pseudo algorithm gives a representation of the Miceforest method. To start, estimate the missing values in A using mean imputation or other imputation techniques. Then, this means ordering the variables A\({}_{s}\), s = 1,..., p based on the number of missing values they have, with the variable having the least amount of missing values listed first and the one with the most missing values listed last. For each variable A\({}_{s}\), the missing values are imputed by first fitting an RF with response \(y^{(s)}_{obs}\) and predictors \(a^{(s)}_{obs}\); then, predicting the missing values \(y^{(s)}_{mis}\) by applying the trained RF to \(a^{(s)}_{mis}\). This suggests that the process of imputing missing values using RF is iterative and repeated until a certain stopping criterion is met.  
The condition \(\gamma\) for stopping the process is achieved when the new imputed data matrix differs from the previous one for both continuous and categorical variables, and this difference is observed to increase for the first time. As soon as this happens, the imputation process is terminated. This ensures the accuracy and reliability of the imputed values and avoids overfitting or underfitting the data. Here, the definition of the difference for the continuous variable set \(M\) is as follows  
\[\Delta M=\frac{\sum_{j\in M}\left(A_{new}^{imp}-A_{old}^{imp}\right)^{2}}{\sum_{j \in M}\left(A_{old}^{imp}\right)^{2}} \tag{1}\]  
and for the set of categorical variables \(P\), its definition is as follows  
\[\Delta P=\frac{\sum_{j\in P}\sum_{i=1}^{n}I_{A_{new}^{imp}\
eq A_{old}^{imp}}}{ \#NA}. \tag{2}\]  
the number of missing values in the categorical variables is denoted as #_NA_.  
The process of imputing Miceforest missing values is as follows (Figure 1):  
For the miceforest process, this article used the Python package miceforest (version 5.6.2).