## 4 Methods
### Feature Selection  
If all 55 derived variables (Table 1) were used as inputs in the model, there would be a risk of overfitting. Therefore, feature selection was performed to remove unnecessary variables. This study selected features using the Boruta SHapley Additive exPlanations (BorutaSHAP) method, which combines the Boruta feature selection algorithm with SHAP values [35]. The execution procedure of the Boruta algorithm can be summarized as follows [36], and Figure 1 shows the procedure of Boruta feature selection.  
1. Create a replicated random variable called \"shadow features\" for all features.
2. Randomly mix and combine the original and replicated data to remove possible correlations between dependent variables and features.
3. Create a random forest on the combined data and calculate the variable's importance.
4. Calculate the Z-score.
5. Search for the maximum Z-score among shadow attributes (MZSA).
6. For raw data, if the Z-score is greater than the MZSA, it is an important variable.
7. Repeat the above process as often as the random forest is performed, or until each variable is marked as either important or non-significant.  
In previous studies, algorithm experiments on multiple datasets have shown that the Boruta method is better at feature selection than the Chi-Square method [37]. Boruta is a method of selecting variables based on a random forest. In addition, the BorutaSHAP process uses the Light Gradient Boosting Machine (LGBM), Category Boosting (CatBoost) (which robustly addresses categorical variables, as well as random forests), or other  
Figure 1: Flow chart of procedure of the Boruta feature selection.  
boosting-type models, such as eXtreme Gradient Boosting (XGBoost), to calculate feature importance. BorutaSHAP provides flexibility in model selection and allows visualization of the selected features by applying the SHAP [35].  
Therefore, the BorutaSHAP algorithm was used in this study for flexible model selection and convenient visualization of the key selected variables. This method extracts important features using thresholds and t-tests on data with random shadow variables added.  
As there are few categorical variables in this study, and the feature importance computed using random forest can be biased in some cases [38], to calculate the feature importance, the XGBoost model was selected instead [39]. The strengths of the BorutaSHAP algorithm are the consistency of feature importance [40] and the use of intuitive colors to visualize the feature importance.  
As shown in Figure 2, most of the sleep variables in the variable list extracted using BorutaSHAP, except for the total number of hours of sleep per day, are in red and do not significantly influence the generation of rules related to BMI prediction. These steps can directly affect BMI. Most of the variables are green and can be identified as primary variables. In addition, height, which is very closely related to BMI, was also identified as a significant variable. The four blue boxes represent the minimum, median, mean, and maximum attributes. The yellow box means tentative, the importance of which is difficult to determine. The reason is that this corresponding provisional attribute appears near the maximum attribute, which is challenging to identify in the basic random forest execution of the Boruta algorithm.  
Figure 2: Importance of variables calculated using the BorutaSHAP algorithm.  
Figure 2 shows the feature importance obtained by the BorutaSHAP method for all data. The following features were selected: AVG_SPD, DIST_STD, DISTANCE, LNC_AVG_SPD, TOTAL_SLEEP_TIME_HOUR, STEP_COUNT, CALORIE, NT_AVG_SPD, LNC_WALK_DIST, NT_WALK_TIME, TOTAL_SLEEP_TIME_VARIABILITY, HEIGHT, and STEP_STD.