
Fig. 1.

Fig. 2.

Fig. 3.

Fig. 4.

Fig. 5.

Fig. 6.

Fig. 7.

Fig. 8.

Performance comparison of different models trained on the same dataset_
| Model | Accuracy (%) | Precision | Recall | F1-Score | Notes |
|---|---|---|---|---|---|
| Logistic Regression | 95.21 | 0.94 | 0.88 | 0.91 | Linear model; struggles with nonlinear drift signatures |
| SVM (RBF) | 97.11 | 0.96 | 0.91 | 0.93 | Strong nonlinear learner; sensitive to feature scaling |
| kNN (k=5) | 94.00 | 0.92 | 0.85 | 0.88 | Local decisions unstable under noisy windows |
| Gradient Boosting | 98.42 | 0.97 | 0.92 | 0.94 | Good performance; higher training cost |
| XGBoost | 98.89 | 0.98 | 0.92 | 0.95 | Excellent for tabular data; slightly higher complexity |
| Random Forest (Proposed) | 99.33 | 1.00 | 0.93 | 0.96 | Best balance of accuracy, robustness, interpretability |
j_tar-2026-0007_tab_202
| Stage | Complexity |
|---|---|
| Telemetry simulation | O (N) |
| Window generation | O (N/5) |
| Feature extraction | O (FW·N/5) |
| Model training (RF) | O (T·M log M) |
| SHAP explanation | O (S·F) |
Classification report summarizing precision, recall, and F1-score for normal and faulty windows_
| Class | Precision | Recall | F1-Score | Support |
|---|---|---|---|---|
| Normal (0) | 0.99 | 1.00 | 1.00 | 272 |
| Fault (1) | 1.00 | 0.93 | 0.96 | 27 |
| Overall Accuracy | – | – | 0.9933 | 299 |
| Macro Avg | 1.00 | 0.96 | 0.98 | 299 |
| Weighted Avg | 0.99 | 0.99 | 0.99 | 299 |
Representative comparison with existing UAV fault-detection approaches_
| Study / Approach | Dataset Type | Model Type | Explainability | Reported Accuracy |
|---|---|---|---|---|
| Threshold-based methods [1–5] | Real flight data | Rule-based | None | 70–85% |
| SVM-based detection [14,16] | Laboratory IMU datasets | SVM | None | 85–92% |
| Deep CNN (single-sensor) [18] | Vibration data | CNN | Limited | 92–96% |
| LSTM-based anomaly detection [19–21] | Time-series telemetry | LSTM | None | 95–98% |
| Proposed framework (RF + SHAP) | Simulated multimodal telemetry | Random Forest | SHAP-based | 99.3% |
j_tar-2026-0007_tab_201
| Symbol | Description |
|---|---|
| N | Total number of telemetry samples |
| W | Sliding window length |
| s | Sliding window step size |
| X | Window-level feature matrix |
| y | Binary window-level labels (fault / normal) |
| F | Number of features extracted per window |
| T | Number of trees in the Random Forest |
|
| Predicted class labels |
| p | Predicted fault probability |
| SHAP (·) | SHAP value computation operator |
| M | Number of training samples |
| S | Number of test samples |
Extracted statistical features generated for each of the ten sensor channels (60 features in total)_
| Sensor Channel | Extracted Features (6 per channel) |
|---|---|
| accel_x | accel_x _mean, accel_x_std, accel_x_min, accel_x_max, accel_x_median, accel_x_skew |
| accel_y | accel_y _mean, accel_y_std, accel_y_min, accel_y_max, accel_y_median, accel_y_skew |
| accel_z | accel_z_mean, accel_z_std, accel_z_min, accel_z_max, accel_z_median, accel_z_skew |
| gyro_x | gyro_x_mean, gyro_x_std, gyro_x_min, gyro_x_max, gyro_x_median, gyro_x_skew |
| gyro_y | gyro_y_mean, gyro _y_std, gyro _y_min, gyro_y_max, gyro _y _median, gyro_y_skew |
| gyro_z | gyro_z_mean, gyro_z_std, gyro_z_min, gyro_z_max, gyro_z_median, gyro_z_skew |
| motor_rpm | motor_rpm_mean, motor_rpm _std, motor_rpm _min, motor_rpm_max, motor_rpm_median, motor_rpm_skew |
| battery | battery _mean, battery_std, battery_min, battery_max, battery_median, battery_skew |
| gps_lat | gps_lat_mean, gps_lat_std, gps_lat_min, gps_lat_max, gps_lat_median, gps_lat_skew |
| gps_lon | gps_lon_mean, gps_lon_std, gps_lon_min, gps_lon_max, gps_lon_median, gps_lon_skew |