## 3 Methods
### Factor Combination Search Algorithm  
The objective of the factor combination search algorithm is to minimize the number of input factors in each sub-model while still enabling the output results of the sub-models to approach optimal solutions. In this way, we can ensemble the results of these sub-models to achieve the goal of robust prediction. The target algorithm was designed based on the concept of greedy algorithms. In each round, the algorithm selects an optimal factor combination for modeling. The target algorithm uses two data structures and consists of two major stages. The data structures are min heap and List. The former is used to store the factor combination as it is being processed as well as the combinations that have not been processed, and the latter is used to store the final factor combination. The two major stages are the initialization of min heap and the process of the algorithm searching for factor combinations. The initialization of min heap involves placing all of the possible factor combinations in their initial state in min heap. If we suppose the importance ranking derived in the previous section is A, B, C, D, and E, then we generate the initial states of these five factors as (A), (B), (C), (D), and  
Figure 9: Discussion of RBF layer outputs: (**a**) influencing final model outputs; (**b**) Scenario 1 when not influencing final model outputs; (**c**) Scenario 2 when not influencing final model outputs;  
(E), where (A) indicates that the most important factor in this combination is A. No other factors added to this combination are greater than A in importance. After determining the initial states of all of the combinations, we calculate and use these combinations for modeling and obtain the error between the modeling results and the target issue. All of the combinations are placed in min heap according to their errors. Next, as the algorithm searches for combinations, we take the first combination from min heap to process one at a time. The combination is taken because it is currently the combination with the smallest prediction error out of all of the tested combinations. Note that during each processing, we encounter one of the three following cases. Case 1: The errors of this combination are lower than the threshold set by the user in advance. In this case, we place the combination in List, meaning that the user believes it to be a feasible solution. After this action is completed, we take the next first combination in min heap and repeat the search combination action. Case 2: The number of factors in the combination has reached the factor number threshold set by the user, but the prediction error is still higher than the user's threshold value. In this case, the combination solution is not deemed to be a feasible solution by the user, but we still insert it in List based on the error in ascending order so as to prevent the user from obtaining a small model because the prediction error threshold was too low. Case 3: The number of factors in this combination has not reached the threshold given by the user, and the prediction error is also higher than the threshold given by the user. In this case, we add additional factors to the combination for expansion. For instance, if we suppose the current combination is (A, B), and factors C, D, and E have not been considered yet, we then expand the current combination to (A, B, C), (A, B, D), and (A, B, E). Next, we use the new expanded combinations for modeling and calculate the prediction errors. Finally, we insert the combinations in min heap based on their prediction errors in ascending order. The process above is repeated until the number of feasible solutions approved by the user in List exceed the number of sub-models to be established. If there are no more combinations in min heap, but the number of feasible solutions has not reached that of the sub-models to be established, we take several combinations with the smallest errors from List to establish the final sub-models.