## 3 The Proposed Feature Selection Framework
### Feature Ranking with MIC  
The goal of the feature ranking stage is to select the feature in each group that is most relevant to the class label and discard the redundant ones. The key to this step is to precisely measure the correlation between the crash data features and the corresponding instance labels. To achieve this, we employ MIC [6], a robust statistical measure capable of capturing both linear and non-linear dependencies. By ranking features within each cluster based on MIC values and retaining the top-ranked feature, we ensure the final subset preserves high relevance to fault residence while eliminating redundant features. MIC was chosen for its ability to detect both linear and non-linear dependencies, making it particularly suitable for crash data with potentially complex relationships. While Pearson's correlation coefficient effectively captures linear relationships, it may fail to identify non-linear patterns. In comparison, MIC normalizes its values within the range [0, 1], enhancing interpretability and facilitating feature ranking. These qualities make MIC a strong choice for identifying relevant features in diverse and high-dimensional datasets. To better understand its suitability, MIC was originally designed to measure the dependence between two variables. For a given dataset \(S\) with \(m\) samples, let the feature set and the corresponding label set be represented as two variables, \(P\) and \(Q\), individually. If a relevance between \(P\) and \(Q\) exists, then we can draw a grid on their scatter plot. Given that the value of two variables is divided into p bins and q bins individually, we construct a p-by-q grid, \(G\). We denote \(S_{G}\) as the probability distribution of the number of points falling into the grid \(G\) in \(S\). The probability of each cell of \(G\) is determined by the proportion of points falling inside it in all points. The maximum mutual information of \(S_{G}\) is denoted as shown in Equation (3). \[I_{S}^{*}(p,q)=\max I_{S_{G}}(p,q) \tag{3}\]  
where \(I_{S_{G}}(p,q)\) denotes the mutual information of \(S_{G}\), and \(I_{S}^{*}(p,q)\) is the maximum value of \(I_{S_{G}}(p,q)\) among all cells in a specific grid. Equation (4) provides the definition of mutual information. \[I(P;Q)=H(P)+H(Q)-H(P,Q) \tag{4}\]  
where \(H(P)\) and \(H(Q)\) represent the entropy of random variables \(P\) and \(Q\) individually, and \(H(P,Q)\) denotes the joint entropy between \(P\) and \(Q\). For different options of \(p\) and \(q\), we obtain multiple values for \(I_{S}^{*}(p,q)\). In this case, a characteristic matrix \(M(S)\) is constructed, as defined in Equation (5). \[\mathrm{M}(\mathrm{S})=\frac{I_{S}^{*}(p,q)}{\log min\{p,q\}} \tag{5}\]  
The goal of Equation (5) is to restrict the matrix values between 0 and 1 to reduce the differences of the dimensions. Then, the MIC value can be calculated as shown in Equation (6). \[\mathrm{MIC}(\mathrm{S})=\underset{pq<B(m)}{max}M(S) \tag{6}\]  
where \(B(m)\) represents the upper bound of the grid size. We set \(B(m)\) as \(m^{0.6}\), following the same setting in previous work [6]. The choice of \(m^{0.6}\) balances computational efficiency and granularity, ensuring that the dependencies are adequately represented without excessive computational overhead. In each feature group clustered in the first step, we computed the MIC value for the corresponding features and reserved the one with the highest MIC value by adding it into the final feature subset. Thus, we obtained an optimal feature set with \(k\) features, in which these remaining features have low redundancy with each other but are highly correlated with the class labels. While MIC is robust for capturing feature-label dependencies, its theoretical complexity is \(O\big{(}B(m)\cdot m^{2}\big{)}\) per feature. For large datasets, this complexity can become prohibitive. To address this, we reduce the feature space through clustering, significantly limiting the number of feature pairs requiring MIC computation.