## 3 Materials and Methods
### Informative Variable Identifier
3: Calculate the weight vector \(\mathbf{w}_{(b)}^{*}\) using \(\mathbf{X}_{(b)}\) and \(\mathbf{y}_{(b)}\) as training dataset. 4: Save vector with the weights \(\mathbf{w}_{(b)}^{*}\) in the \(b\)th column of matrix \(\mathbf{W}^{*}\). 5:endfor
```  
**Algorithm 1** IVI-Algorithm Step 1. In the second step, the statistical properties of the marginal distributions of the weights were used to identify the informative features and group together those found to be mutually redundant. This is summarized in Algorithm 2. Furthermore, IVI identified the informative and the redundant features by discovering the statistical properties of the weights. The former was carried out through the analysis of the confidence intervals of the resampled weights associated with every input feature. The correlations of weights were then used to locate and group mutually redundant features. Now, with these disjoint groups, informative features could be discerned from the noisy one. We selected only the informative disjoint groups. To do this, the informative groups were considered to be disjoint groups with at least one feature identified. Thus, groups of features that shared information but did not contain any relevant one were discarded, and all those features could be considered noisy. The algorithm to calculate the threshold and the groups of redundant features is summarized in Algorithm 3. ```
0: Weight matrix \(\mathbf{W}^{*}\) and level of confidence for significance tests, \(\alpha\). 0: Features labeled as relevant
1: Use \(\mathbf{W}^{*}\) to construct confidence intervals at \(\alpha\) level. 2: Store the list of features with confidence intervals that do not overlap zero and label them as relevant. ```  
**Algorithm 2** The IVI algorithm, step 2.2. Confidence intervals to identify relevant features. ```
0: Resampled the weights matrix, \(\mathbf{W}^{*}\in R^{B\times L}\); number of folds, \(k\), to calculate the threshold. 0: Threshold to identify redundant features, \(p_{th}\), and disjoint groups. 1: Split the set \(\mathbf{W}^{*}\) into \(k\) subsets, \(\mathbf{W}_{i}^{*}\), with \(i=1,\ldots,k\). 2:for\(l\), \(m\)\(l\
eq m\gets 1\) to \(N\)do
3: Calculate the absolute value of the Pearson correlation coefficient of the \(B\) resampled weights of features \(l\) and \(m\) in \(\mathbf{W}^{*}\) and save consecutively in vector \(p_{\mathbf{W}}\). 4: For each fold, calculate the absolute value of the Pearson correlation coefficient of the features \(l\) and \(m\) in \(\mathbf{W}_{i}^{*}\), yielding \(p_{\mathbf{W}}^{i}\). 5:endfor
6: Save the average of the \(p_{\mathbf{W}}^{i}\) in vector \(\bar{p}_{\mathbf{W}}^{k}\)
7: Sort \(p_{\mathbf{W}}\) and \(\bar{p}_{\mathbf{W}}^{k}\) in descending order by \(p_{\mathbf{W}}\). 8: Compute the cumulative difference between \(\bar{p}_{\mathbf{W}}^{k}\) and \(p_{\mathbf{W}}\), and look up the row containing the minimum cumulative difference. Define the threshold, \(p_{th}\), as the correlation store in row \(r_{th}\) of vector \(p_{th}\) fulfilling \[r_{th}=\text{arg min}_{r}\sum_{i=1}^{r}\left(\bar{p}_{\mathbf{W},i}^{k}-p_{ \mathbf{W},i}\right)\]
9: Redundant features are defined as features pairs with correlations weights higher than the threshold. The last step is a ranking of features created in descending order of importance. For this, we needed first to order in descending importance the features in each of the disjoint groups obtained with IVI. Some groups contained more than one relevant feature. We separated such groups into subgroups that included only one relevant feature each and its most direct redundant relation. Finally, the resulting groups and subgroups were ordered to produce the final ranking. Finding the relevant features in the disjoint groups identified by IVI was the first task.