| Literature DB >> 35408096 |
Abstract
Hydraulic systems are advanced in function and level as they are used in various industrial fields. Furthermore, condition monitoring using internet of things (IoT) sensors is applied for system maintenance and management. In this study, meaningful features were identified through extraction and selection of various features, and classification evaluation metrics were presented through machine learning and deep learning to expand the diagnosis of abnormalities and defects in each component of the hydraulic system. Data collected from IoT sensor data in the time domain were divided into clusters in predefined sections. The shape and density characteristics were extracted by cluster. Among 2335 newly extracted features, related features were selected using correlation coefficients and the Boruta algorithm for each hydraulic component and used for model learning. Linear discriminant analysis (LDA), logistic regression, support vector classifier (SVC), decision tree, random forest, XGBoost, LightGBM, and multi-layer perceptron were used to calculate the true positive rate (TPR) and true negative rate (TNR) for each hydraulic component to detect normal and abnormal conditions. Valve condition, internal pump leakage, and hydraulic accumulator data showed TPR performance of 0.94 or more and a TNR performance of 0.84 or more. This study's findings can help to determine the stable and unstable states of each component of the hydraulic system and form the basis for engineers' judgment.Entities:
Keywords: Boruta algorithm; IoT sensor; anomaly detection; condition monitoring; hydraulic components; true negative rate; true positive rate
Mesh:
Year: 2022 PMID: 35408096 PMCID: PMC9003148 DOI: 10.3390/s22072479
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1Concise hydraulic system circuit and installed sensors.
Condition hydraulic components and stable flag expression in the hydraulic system.
| Hydraulic Components | Annotations | Condition Values | Examples | Stable Flag |
|---|---|---|---|---|
| Cooler Condition | Close to Total Failure | 3% | 732 | 0: Conditions were stable (7449). |
| Reduced Efficiency | 20% | 732 | ||
| Full Efficiency | 100% | 741 | ||
| Valve Condition | Optimal Switching Behavior | 100% | 1125 | |
| Small Lag | 90% | 360 | ||
| Severe Lag | 80% | 360 | ||
| Close to Total Failure | 73% | 360 | ||
| Internal Pump Leakage | No Leakage | 0 | 1221 | |
| Weak Leakage | 1 | 492 | ||
| Severe Leakage | 2 | 492 | ||
| Hydraulic Accumulator | Optimal Pressure | 130 bar | 599 | |
| Slightly Reduced Pressure | 115 bar | 399 | ||
| Severely Reduced Pressure | 100 bar | 399 | ||
| Close to Total Failure | 90 bar | 808 |
Sensor data measured each minute in the hydraulic system.
| Category | Sensor | Unit | Sampling Rate (Hz) |
|---|---|---|---|
| Pressure | PS1 | Bar | 100 Hz |
| PS2 | |||
| PS3 | |||
| PS4 | |||
| PS5 | |||
| PS6 | |||
| Motor Power | EPS1 | W | |
| Volume Flow | FS1 | L/min | 10 Hz |
| FS2 | |||
| Temperature | TS1 | °C | 1 Hz |
| TS2 | |||
| TS3 | |||
| TS4 | |||
| Vibration | VS1 | mm/s | |
| Cooling Efficiency | CE | % | |
| Cooling Power | CP | kW |
Figure 2Data pre-processing, feature extraction, and feature selection for machine learning.
Figure 3Pre-defined Clusters 1 to 13 for feature extraction.
Feature selection through Spearman’s rank correlation coefficient.
| Cooler Condition | Valve Condition | Internal Pump Leakage | Hydraulic Accumulator | ||||
|---|---|---|---|---|---|---|---|
| Sensor | |r| | Sensor | |r| | Sensor | |r| | Sensor | |r| |
| CP_min_1 | 0.942 | FS1_maxloc_4 | 0.946 | SE_min_5 | 0.893 | EPS1_var_2 | 0.788 |
| CP_min_10 | 0.942 | PS2_ma_loc_4 | 0.944 | SE_Q1_5 | 0.893 | EPS1_slope_2 | 0.774 |
| CP_min_11 | 0.942 | PS3_maxloc_4 | 0.930 | SE_mean_5 | 0.893 | FS1_slope_8 | 0.759 |
| CP_Q1_10 | 0.942 | PS3_maxloc_1 | 0.930 | SE_median_5 | 0.892 | PS3_Q3_4 | 0.755 |
| CP_median_10 | 0.942 | PS2_slope_4 | 0.926 | SE_min_13 | 0.892 | FS1_var_10 | 0.724 |
| CP_mean_10 | 0.942 | PS2_skew_4 | 0.926 | SE_Q1_13 | 0.892 | PS1_var_2 | 0.697 |
| CP_Q1_1 | 0.942 | PS2_kurt_4 | 0.926 | SE_Q3_1 | 0.892 | PS3_var_4 | 0.678 |
| CP_Q3_10 | 0.942 | PS1_kurt_4 | 0.926 | SE_mean_13 | 0.892 | EPS1_var_3 | 0.661 |
| CP_max_11 | 0.942 | PS2_var_4 | 0.926 | SE_median_13 | 0.891 | PS1_var_5 | 0.656 |
| CP_max_10 | 0.942 | PS1_skew_4 | 0.926 | SE_Q3_5 | 0.891 | FS1_skew_6 | 0.649 |
| CP_mean_11 | 0.942 | EPS1_skew_4 | 0.926 | SE_Q3_13 | 0.891 | FS1_kurt_6 | 0.640 |
| CP_Q1_11 | 0.942 | PS2_mean_4 | 0.906 | FS1_Q1_13 | 0.888 | PS1_Q3_2 | 0.630 |
| CP_min_13 | 0.942 | FS1_kurt_4 | 0.896 | SE_max_13 | 0.888 | PS3_maxloc_2 | 0.615 |
| CP_median_11 | 0.942 | PS1_Q3_4 | 0.882 | SE_max_5 | 0.887 | EPS1_slope_8 | 0.607 |
| CP_max_12 | 0.942 | PS2_maxloc_1 | 0.870 | FS1_min_13 | 0.880 | FS1_slope_10 | 0.605 |
| CP_Q3_11 | 0.942 | PS3_slope_4 | 0.865 | FS1_mean_13 | 0.876 | PS2_var_5 | 0.602 |
| CP_Q3_12 | 0.942 | FS1_var_4 | 0.860 | FS1_median_13 | 0.875 | FS1_var_8 | 0.601 |
| CP_min_9 | 0.942 | PS3_Q1_4 | 0.849 | SE_var_2 | 0.873 | EPS1_var_8 | 0.600 |
| CP_median_12 | 0.942 | FS1_maxloc_1 | 0.839 | SE_mean_2 | 0.873 | PS1_skew_2 | 0.586 |
| CP_mean_12 | 0.942 | PS1_slope_4 | 0.828 | SE_Q3_2 | 0.873 | EPS1_skew_3 | 0.580 |
Feature selection through Pearson correlation coefficient.
| Cooler Condition | Valve Condition | Internal Pump Leakage | Hydraulic Accumulator | ||||
|---|---|---|---|---|---|---|---|
| Sensor | |ρ| | Sensor | |ρ| | Sensor | |ρ| | Sensor | |ρ| |
| CE_Q1_13 | 0.993 | PS2_kurt_4 | 0.999 | SE_min_5 | 0.951 | EPS1_var_2 | 0.689 |
| CE_min_13 | 0.993 | PS2_skew_4 | 0.993 | SE_Q1_5 | 0.950 | PS3_var_4 | 0.655 |
| CE_mean_13 | 0.993 | PS2_slope_4 | 0.991 | SE_median_5 | 0.947 | PS3_maxloc_2 | 0.626 |
| CE_median_13 | 0.993 | PS2_maxloc_4 | 0.982 | SE_mean_5 | 0.946 | PS3_max_3 | 0.583 |
| CE_Q3_13 | 0.993 | PS3_maxloc_4 | 0.977 | SE_Q3_5 | 0.940 | PS3_Q3_4 | 0.582 |
| CE_min_12 | 0.993 | PS1_skew_4 | 0.976 | SE_max_5 | 0.920 | EPS1_skew_3 | 0.568 |
| CE_Q1_12 | 0.993 | PS1_kurt_4 | 0.976 | FS1_Q1_5 | 0.910 | PS1_Q3_2 | 0.556 |
| CE_mean_12 | 0.993 | EPS1_skew_4 | 0.975 | FS1_min_5 | 0.896 | EPS1_slope_2 | 0.536 |
| CE_median_12 | 0.993 | PS2_var_4 | 0.974 | FS1_Q3_6 | 0.895 | PS1_median_2 | 0.517 |
| CE_Q3_12 | 0.993 | FS1_maxloc_4 | 0.957 | FS1_mean_5 | 0.863 | FS1_min_6 | 0.515 |
| CE_max_12 | 0.993 | PS2_mean_4 | 0.948 | FS1_median_5 | 0.863 | PS3_slope_3 | 0.513 |
| CE_max_13 | 0.993 | PS3_Q1_4 | 0.940 | FS1_Q3_5 | 0.799 | SE_maxloc_4 | 0.505 |
| CE_min_11 | 0.993 | PS2_Q1_4 | 0.929 | FS1_max_6 | 0.763 | FS1_slope_2 | 0.503 |
| CE_Q1_11 | 0.993 | PS3_slope_4 | 0.916 | SE_max_4 | 0.678 | FS1_max_2 | 0.502 |
| CE_mean_11 | 0.993 | PS1_Q3_4 | 0.915 | FS1_max_5 | 0.665 | FS1_kurt_12 | 0.499 |
| CE_median_11 | 0.993 | FS1_slope_4 | 0.903 | SE_var_2 | 0.570 | FS1_mean_2 | 0.493 |
| CE_Q3_11 | 0.993 | FS1_kurt_4 | 0.899 | SE_Q3_4 | 0.520 | FS1_min_8 | 0.491 |
| CE_max_11 | 0.993 | FS1_var_4 | 0.869 | SE_mean_1 | 0.465 | FS1_var_2 | 0.482 |
| CE_Q1_10 | 0.992 | FS1_Q1_4 | 0.863 | FS1_mean_6 | 0.438 | PS3_var_3 | 0.472 |
| CE_median_10 | 0.992 | SE_Q1_4 | 0.848 | SE_Q3_1 | 0.436 | FS1_max_4 | 0.470 |
Figure 4Feature selection through the Boruta algorithm.
Hyper-parameter configuration space and optimal parameter under cooler condition.
| Hydraulic Component | ML Model (with Feature Selection) | Hyper-Parameter | Type | Search Space | Optimal Parameter |
|---|---|---|---|---|---|
| Cooler Condition | LDA (Boruta) | - | - | - | - |
| Logistic Reg. | C | Discrete | 0.001, 0.01, 0.1, 1, 10, 100 | 100 | |
| penalty | Categorical | ‘L1’, ‘L2’, ‘elasticnet’ | L2 | ||
| SVC (Boruta) | C | Discrete | 0.01, 0.1, 1, 10, 50 | 50 | |
| kernel | Categorical | ‘poly’, ‘rbf’, ‘sigmoid’ | rbf | ||
| Decision Tree | max_features | Categorical | ‘auto’, ‘sqrt’, ’log2’ | auto | |
| ccp_alpha | Discrete | 0.1, 0.01, 0.001 | 0.001 | ||
| max_depth | Discrete | 5, 7, 9 | 5 | ||
| criterion | Categorical | ‘gini’, ‘entropy’ | entropy | ||
| Random Forest | n_estimators | Discrete | 10, 100, 1000 | 100 | |
| max_features | Categorical | ‘sqrt’, ‘log2’ | sqrt | ||
| XGBoost | gamma | Discrete | 0.5, 1, 2 | 1 | |
| learning_rate | Discrete | 0.01, 0.1 | 0.01 | ||
| max_depth | Discrete | 3, 4, 5, 6 | 6 | ||
| n_estimators | Discrete | 12, 24, 36 | 12 | ||
| LightGBM | num_iterations | Discrete | 100, 500, 1000 | 500 | |
| max_depth | Discrete | 15, 20, 25 | 15 | ||
| learning_rate | Discrete | 0.01, 0.1, 0.3 | 0.1 | ||
| Multilayer Perceptron | hidden_layer_sizes | Tuple | (50,50,50), (50,100,50), (100,) | (50,100,50) | |
| activation | Categorical | ‘tanh’, ‘relu’ | relu | ||
| solver | Categorical | ‘sgd’, ‘adam’ | adam | ||
| alpha | Discrete | 0.0001, 0.05 | 0.0001 | ||
| learning_rate | Categorical | ‘constant’, ‘adaptive’ | constant |
Classification evaluation metrics for cooler condition.
| Cooler Condition | Spearman | Pearson | Boruta | |||||
|---|---|---|---|---|---|---|---|---|
| Predicted | Predicted | Predicted | ||||||
| Stable | Unstable | Stable | Unstable | Stable | Unstable | |||
| LDA | True | Stable | 289 | 1 | 279 | 11 | 274 | 16 |
| Unstable | 150 | 1 | 149 | 2 | 136 | 15 | ||
| Train Accuracy | 0.652 | 0.655 | 0.642 | |||||
| Test Accuracy | 0.658 | 0.637 | 0.655 | |||||
| Precision | 0.658 | 0.652 | 0.668 | |||||
| Recall (TPR) | 0.997 | 0.962 | 0.945 | |||||
| True Negative Rate | 0.007 | 0.013 | 0.099 | |||||
| Logistic Regression | True | Stable | 290 | 0 | 290 | 0 | 290 | 0 |
| Unstable | 151 | 0 | 151 | 0 | 144 | 7 | ||
| Train Accuracy | 0.567 | 0.657 | 0.664 | |||||
| Test Accuracy | 0.658 | 0.658 | 0.673 | |||||
| Precision | 0.658 | 0.658 | 0.668 | |||||
| Recall (TPR) | 1.000 | 1.000 | 1.000 | |||||
| True Negative Rate | 0.000 | 0.000 | 0.046 | |||||
| SVC | True | Stable | 290 | 0 | 287 | 3 | 253 | 37 |
| Unstable | 137 | 14 | 110 | 41 | 38 | 113 | ||
| Train Accuracy | 0.684 | 0.741 | 0.862 | |||||
| Test Accuracy | 0.689 | 0.744 | 0.830 | |||||
| Precision | 0.679 | 0.723 | 0.869 | |||||
| Recall (TPR) | 1.000 | 0.990 | 0.872 | |||||
| True Negative Rate | 0.093 | 0.272 | 0.748 | |||||
| Decision Tree | True | Stable | 260 | 30 | 277 | 13 | 271 | 19 |
| Unstable | 79 | 72 | 82 | 69 | 34 | 117 | ||
| Train Accuracy | 0.722 | 0.766 | 0.889 | |||||
| Test Accuracy | 0.753 | 0.785 | 0.880 | |||||
| Precision | 0.767 | 0.772 | 0.889 | |||||
| Recall (TPR) | 0.897 | 0.955 | 0.934 | |||||
| True Negative Rate | 0.477 | 0.457 | 0.775 | |||||
| Random Forest | True | Stable | 263 | 27 | 264 | 26 | 275 | 15 |
| Unstable | 75 | 76 | 65 | 86 | 36 | 115 | ||
| Train Accuracy | 0.754 | 0.773 | 0.909 | |||||
| Test Accuracy | 0.769 | 0.794 | 0.884 | |||||
| Precision | 0.778 | 0.802 | 0.884 | |||||
| Recall (TPR) | 0.907 | 0.910 | 0.948 | |||||
| True Negative Rate | 0.503 | 0.570 | 0.762 | |||||
| XGBoost | True | Stable | 264 | 26 | 274 | 16 | 272 | 18 |
| Unstable | 84 | 67 | 72 | 79 | 35 | 116 | ||
| Train Accuracy | 0.748 | 0.782 | 0.899 | |||||
| Test Accuracy | 0.751 | 0.800 | 0.880 | |||||
| Precision | 0.759 | 0.792 | 0.886 | |||||
| Recall (TPR) | 0.910 | 0.945 | 0.938 | |||||
| True Negative Rate | 0.444 | 0.523 | 0.768 | |||||
| LightGBM | True | Stable | 252 | 38 | 254 | 36 | 272 | 19 |
| Unstable | 72 | 79 | 67 | 84 | 32 | 119 | ||
| Train Accuracy | 0.762 | 0.774 | 0.896 | |||||
| Test Accuracy | 0.751 | 0.766 | 0.885 | |||||
| Precision | 0.778 | 0.791 | 0.895 | |||||
| Recall (TPR) | 0.869 | 0.876 | 0.935 | |||||
| True Negative Rate | 0.523 | 0.556 | 0.788 | |||||
| Multi-layer | True | Stable | 290 | 0 | 265 | 25 | 272 | 18 |
| Unstable | 137 | 14 | 74 | 77 | 42 | 109 | ||
| Train Accuracy | 0.685 | 0.76 | 0.853 | |||||
| Test Accuracy | 0.689 | 0.776 | 0.864 | |||||
| Precision | 0.679 | 0.782 | 0.866 | |||||
| Recall (TPR) | 1.000 | 0.914 | 0.938 | |||||
| True Negative Rate | 0.093 | 0.510 | 0.722 | |||||
Hyper-parameter configuration space and optimal parameter under valve condition.
| Hydraulic Component | ML Model (with Feature Selection) | Hyper-Parameter | Type | Search Space | Optimal Parameter |
|---|---|---|---|---|---|
| Valve Condition | LDA (Spearman) | - | - | - | - |
| Logistic Reg. | C | Discrete | 0.001, 0.01, 0.1, 1, 10, 100 | 100 | |
| penalty | Categorical | ‘L1’, ‘L2’, ‘elasticnet’ | L2 | ||
| SVC (Pearson) | C | Discrete | 0.01, 0.1, 1, 10, 50 | 50 | |
| kernel | Categorical | ‘poly’, ‘rbf’, ‘sigmoid’ | rbf | ||
| Decision Tree | max_features | Categorical | ‘auto’, ‘sqrt’, ’log2’ | auto | |
| ccp_alpha | Discrete | 0.1, 0.01, 0.001 | 0.001 | ||
| max_depth | Discrete | 5, 7, 9 | 7 | ||
| criterion | Categorical | ‘gini’, ‘entropy’ | entropy | ||
| Random Forest | n_estimators | Discrete | 10, 100, 1000 | 100 | |
| max_features | Categorical | ‘sqrt’, ‘log2’ | sqrt | ||
| XGBoost | gamma | Discrete | 0.5, 1, 2 | 0.5 | |
| learning_rate | Discrete | 0.01, 0.1 | 0.1 | ||
| max_depth | Discrete | 3, 4, 5, 6 | 6 | ||
| n_estimators | Discrete | 12, 24, 36 | 36 | ||
| LightGBM | num_iterations | Discrete | 100, 500, 1000 | 1000 | |
| max_depth | Discrete | 15, 20, 25 | 15 | ||
| learning_rate | Discrete | 0.01, 0.1, 0.3 | 0.01 | ||
| Multilayer Perceptron | hidden_layer_sizes | Tuple | (50,50,50), (50,100,50), (100,) | (50,100,50) | |
| activation | Categorical | ‘tanh’, ‘relu’ | tanh | ||
| solver | Categorical | ‘sgd’, ‘adam’ | adam | ||
| alpha | Discrete | 0.0001, 0.05 | 0.0001 | ||
| learning_rate | Categorical | ‘constant’, ‘adaptive’ | constant |
Classification evaluation metrics for valve condition.
| Valve Condition | Spearman | Pearson | Boruta | |||||
|---|---|---|---|---|---|---|---|---|
| Predicted | Predicted | Predicted | ||||||
| Stable | Unstable | Stable | Unstable | Stable | Unstable | |||
| LDA | True | Stable | 247 | 43 | 250 | 40 | 231 | 59 |
| Unstable | 6 | 145 | 11 | 140 | 3 | 148 | ||
| Train Accuracy | 0.899 | 0.913 | 0.858 | |||||
| Test Accuracy | 0.889 | 0.884 | 0.859 | |||||
| Precision | 0.976 | 0.958 | 0.987 | |||||
| Recall (TPR) | 0.852 | 0.862 | 0.797 | |||||
| True Negative Rate | 0.960 | 0.927 | 0.980 | |||||
| Logistic Regression | True | Stable | 260 | 30 | 260 | 30 | 252 | 38 |
| Unstable | 10 | 141 | 10 | 141 | 6 | 145 | ||
| Train Accuracy | 0.916 | 0.926 | 0.899 | |||||
| Test Accuracy | 0.909 | 0.909 | 0.900 | |||||
| Precision | 0.963 | 0.963 | 0.977 | |||||
| Recall (TPR) | 0.897 | 0.897 | 0.869 | |||||
| True Negative Rate | 0.934 | 0.934 | 0.960 | |||||
| SVC | True | Stable | 267 | 23 | 272 | 18 | 267 | 23 |
| Unstable | 13 | 138 | 8 | 143 | 9 | 142 | ||
| Train Accuracy | 0.935 | 0.949 | 0.935 | |||||
| Test Accuracy | 0.918 | 0.941 | 0.927 | |||||
| Precision | 0.954 | 0.971 | 0.967 | |||||
| Recall (TPR) | 0.921 | 0.938 | 0.921 | |||||
| True Negative Rate | 0.914 | 0.947 | 0.940 | |||||
| Decision Tree | True | Stable | 274 | 16 | 279 | 11 | 271 | 19 |
| Unstable | 18 | 133 | 13 | 138 | 34 | 117 | ||
| Train Accuracy | 0.946 | 0.955 | 0.951 | |||||
| Test Accuracy | 0.923 | 0.946 | 0.880 | |||||
| Precision | 0.938 | 0.955 | 0.889 | |||||
| Recall (TPR) | 0.945 | 0.962 | 0.934 | |||||
| True Negative Rate | 0.881 | 0.914 | 0.775 | |||||
| Random Forest | True | Stable | 282 | 8 | 284 | 9 | 283 | 7 |
| Unstable | 11 | 140 | 12 | 139 | 11 | 140 | ||
| Train Accuracy | 0.960 | 0.966 | 0.966 | |||||
| Test Accuracy | 0.957 | 0.959 | 0.959 | |||||
| Precision | 0.962 | 0.959 | 0.963 | |||||
| Recall (TPR) | 0.972 | 0.979 | 0.976 | |||||
| True Negative Rate | 0.927 | 0.921 | 0.927 | |||||
| XGBoost | True | Stable | 278 | 12 | 282 | 8 | 281 | 9 |
| Unstable | 14 | 137 | 8 | 143 | 12 | 139 | ||
| Train Accuracy | 0.963 | 0.961 | 0.967 | |||||
| Test Accuracy | 0.941 | 0.964 | 0.952 | |||||
| Precision | 0.952 | 0.972 | 0.959 | |||||
| Recall (TPR) | 0.959 | 0.972 | 0.969 | |||||
| True Negative Rate | 0.907 | 0.947 | 0.921 | |||||
| LightGBM | True | Stable | 280 | 10 | 282 | 8 | 282 | 8 |
| Unstable | 11 | 140 | 11 | 140 | 11 | 140 | ||
| Train Accuracy | 0.963 | 0.967 | 0.968 | |||||
| Test Accuracy | 0.952 | 0.957 | 0.957 | |||||
| Precision | 0.962 | 0.962 | 0.962 | |||||
| Recall (TPR) | 0.966 | 0.972 | 0.972 | |||||
| True Negative Rate | 0.927 | 0.927 | 0.927 | |||||
| Multi-layer Perceptron | True | Stable | 263 | 27 | 279 | 11 | 252 | 38 |
| Unstable | 11 | 140 | 13 | 138 | 8 | 143 | ||
| Train Accuracy | 0.929 | 0.948 | 0.931 | |||||
| Test Accuracy | 0.914 | 0.946 | 0.896 | |||||
| Precision | 0.960 | 0.955 | 0.969 | |||||
| Recall (TPR) | 0.907 | 0.962 | 0.869 | |||||
| True Negative Rate | 0.927 | 0.914 | 0.947 | |||||
Hyper-parameter configuration space and optimal parameter under internal pump leakage.
| Hydraulic Component | ML Model (with Feature Selection) | Hyper-Parameter | Type | Search Space | Optimal Parameter |
|---|---|---|---|---|---|
| Internal Pump Leakage | LDA (Pearson) | - | - | - | - |
| Logistic Reg. | C | Discrete | 0.001, 0.01, 0.1, 1, 10, 100 | 100 | |
| penalty | Categorical | ‘L1’, ‘L2’, ‘elasticnet’ | L2 | ||
| SVC (Pearson) | C | Discrete | 0.01, 0.1, 1, 10, 50 | 50 | |
| kernel | Categorical | ‘poly’, ‘rbf’, ‘sigmoid’ | rbf | ||
| Decision Tree | max_features | Categorical | ‘auto’, ‘sqrt’, ’log2’ | auto | |
| ccp_alpha | Discrete | 0.1, 0.01, 0.001 | 0.001 | ||
| max_depth | Discrete | 5, 7, 9 | 9 | ||
| criterion | Categorical | ‘gini’, ‘entropy’ | gini | ||
| Random Forest | n_estimators | Discrete | 10, 100, 1000 | 100 | |
| max_features | Categorical | ‘sqrt’, ‘log2’ | sqrt | ||
| XGBoost | gamma | Discrete | 0.5, 1, 2 | 2 | |
| learning_rate | Discrete | 0.01, 0.1 | 0.1 | ||
| max_depth | Discrete | 3, 4, 5, 6 | 6 | ||
| n_estimators | Discrete | 12, 24, 36 | 36 | ||
| LightGBM | num_iterations | Discrete | 100, 500, 1000 | 500 | |
| max_depth | Discrete | 15, 20, 25 | 2520 | ||
| learning_rate | Discrete | 0.01, 0.1, 0.3 | 0.3 | ||
| Multilayer Perceptron | hidden_layer_sizes | Tuple | (50,50,50), (50,100,50), (100,) | (50,100,50) | |
| activation | Categorical | ‘tanh’, ‘relu’ | relu | ||
| solver | Categorical | ‘sgd’, ‘adam’ | adam | ||
| alpha | Discrete | 0.0001, 0.05 | 0.0001 | ||
| learning_rate | Categorical | ‘constant’, ‘adaptive’ | constant |
Classification evaluation metrics for internal pump leakage.
| Internal Pump Leakage | Spearman | Pearson | Boruta | |||||
|---|---|---|---|---|---|---|---|---|
| Predicted | Predicted | Predicted | ||||||
| Stable | Unstable | Stable | Unstable | Stable | Unstable | |||
| LDA | True | Stable | 238 | 52 | 250 | 40 | 237 | 53 |
| Unstable | 22 | 129 | 15 | 136 | 40 | 111 | ||
| Train Accuracy | 0.808 | 0.852 | 0.785 | |||||
| Test Accuracy | 0.832 | 0.875 | 0.789 | |||||
| Precision | 0.915 | 0.943 | 0.856 | |||||
| Recall (TPR) | 0.821 | 0.862 | 0.817 | |||||
| True Negative Rate | 0.854 | 0.901 | 0.735 | |||||
| Logistic Regression | True | Stable | 241 | 49 | 250 | 40 | 252 | 38 |
| Unstable | 31 | 120 | 24 | 127 | 6 | 145 | ||
| Train Accuracy | 0.813 | 0.855 | 0.825 | |||||
| Test Accuracy | 0.819 | 0.855 | 0.900 | |||||
| Precision | 0.886 | 0.912 | 0.977 | |||||
| Recall (TPR) | 0.831 | 0.862 | 0.869 | |||||
| True Negative Rate | 0.795 | 0.841 | 0.960 | |||||
| SVC | True | Stable | 246 | 44 | 275 | 15 | 262 | 28 |
| Unstable | 11 | 140 | 15 | 136 | 25 | 126 | ||
| Train Accuracy | 0.849 | 0.922 | 0.870 | |||||
| Test Accuracy | 0.875 | 0.932 | 0.880 | |||||
| Precision | 0.957 | 0.948 | 0.913 | |||||
| Recall (TPR) | 0.848 | 0.948 | 0.903 | |||||
| True Negative Rate | 0.927 | 0.901 | 0.834 | |||||
| Decision Tree | True | Stable | 283 | 7 | 282 | 8 | 283 | 7 |
| Unstable | 25 | 126 | 24 | 127 | 36 | 115 | ||
| Train Accuracy | 0.919 | 0.931 | 0.91 | |||||
| Test Accuracy | 0.927 | 0.927 | 0.902 | |||||
| Precision | 0.919 | 0.922 | 0.887 | |||||
| Recall (TPR) | 0.976 | 0.972 | 0.976 | |||||
| True Negative Rate | 0.834 | 0.841 | 0.762 | |||||
| Random Forest | True | Stable | 282 | 8 | 282 | 4 | 275 | 15 |
| Unstable | 19 | 132 | 13 | 138 | 20 | 131 | ||
| Train Accuracy | 0.944 | 0.955 | 0.914 | |||||
| Test Accuracy | 0.939 | 0.961 | 0.921 | |||||
| Precision | 0.937 | 0.957 | 0.932 | |||||
| Recall (TPR) | 0.972 | 0.986 | 0.948 | |||||
| True Negative Rate | 0.874 | 0.901 | 0.868 | |||||
| XGBoost | True | Stable | 280 | 10 | 285 | 5 | 274 | 16 |
| Unstable | 20 | 131 | 16 | 135 | 23 | 128 | ||
| Train Accuracy | 0.938 | 0.952 | 0.914 | |||||
| Test Accuracy | 0.932 | 0.952 | 0.912 | |||||
| Precision | 0.933 | 0.947 | 0.923 | |||||
| Recall (TPR) | 0.966 | 0.983 | 0.945 | |||||
| True Negative Rate | 0.868 | 0.894 | 0.848 | |||||
| LightGBM | True | Stable | 281 | 9 | 283 | 7 | 282 | 8 |
| Unstable | 12 | 139 | 13 | 138 | 19 | 132 | ||
| Train Accuracy | 0.947 | 0.964 | 0.943 | |||||
| Test Accuracy | 0.952 | 0.955 | 0.939 | |||||
| Precision | 0.959 | 0.956 | 0.937 | |||||
| Recall (TPR) | 0.969 | 0.976 | 0.972 | |||||
| True Negative Rate | 0.921 | 0.914 | 0.874 | |||||
| Multi-layer Perceptron | True | Stable | 265 | 25 | 265 | 25 | 272 | 18 |
| Unstable | 26 | 125 | 13 | 138 | 25 | 126 | ||
| Train Accuracy | 0.825 | 0.907 | 0.9 | |||||
| Test Accuracy | 0.884 | 0.914 | 0.902 | |||||
| Precision | 0.911 | 0.953 | 0.916 | |||||
| Recall (TPR) | 0.914 | 0.914 | 0.938 | |||||
| True Negative Rate | 0.828 | 0.914 | 0.834 | |||||
Hyper-parameter configuration space and optimal parameter under hydraulic accumulator.
| Hydraulic Component | ML Model (with Feature Selection) | Hyper-Parameter | Type | Search Space | Optimal Parameter |
|---|---|---|---|---|---|
| Hydraulic Accumulator | LDA (Pearson) | - | - | - | - |
| Logistic Reg. | C | Discrete | 0.001, 0.01, 0.1, 1, 10, 100 | 100 | |
| penalty | Categorical | ‘L1’, ‘L2’, ‘elasticnet’ | L2 | ||
| SVC (Pearson) | C | Discrete | 0.01, 0.1, 1, 10, 50 | 50 | |
| kernel | Categorical | ‘poly’, ‘rbf’, ‘sigmoid’ | poly | ||
| Decision Tree | max_features | Categorical | ‘auto’, ‘sqrt’, ’log2’ | auto | |
| ccp_alpha | Discrete | 0.1, 0.01, 0.001 | 0.001 | ||
| max_depth | Discrete | 5, 7, 9 | 9 | ||
| criterion | Categorical | ‘gini’, ‘entropy’ | gini | ||
| Random Forest | n_estimators | Discrete | 10, 100, 1000 | 1000 | |
| max_features | Categorical | ‘sqrt’, ‘log2’ | sqrt | ||
| XGBoost | gamma | Discrete | 0.5, 1, 2 | 2 | |
| learning_rate | Discrete | 0.01, 0.1 | 0.1 | ||
| max_depth | Discrete | 3, 4, 5, 6 | 6 | ||
| n_estimators | Discrete | 12, 24, 36 | 36 | ||
| LightGBM(Spearman) | num_iterations | Discrete | 100, 500, 1000 | 500 | |
| max_depth | Discrete | 15, 20, 25 | 20 | ||
| learning_rate | Discrete | 0.01, 0.1, 0.3 | 0.3 | ||
| Multilayer Perceptron | hidden_layer_sizes | Tuple | (50,50,50), (50,100,50), (100,) | (50,100,50) | |
| activation | Categorical | ‘tanh’, ‘relu’ | relu | ||
| solver | Categorical | ‘sgd’, ‘adam’ | adam | ||
| alpha | Discrete | 0.0001, 0.05 | 0.05 | ||
| learning_rate | Categorical | ‘constant’, ‘adaptive’ | constant |
Classification evaluation metrics for hydraulic accumulator.
| Hydraulic Accumulator | Spearman | Pearson | Boruta | |||||
|---|---|---|---|---|---|---|---|---|
| Predicted | Predicted | Predicted | ||||||
| Stable | Unstable | Stable | Unstable | Stable | Unstable | |||
| LDA | True | Stable | 264 | 26 | 263 | 27 | 249 | 41 |
| Unstable | 29 | 122 | 27 | 124 | 39 | 112 | ||
| Train Accuracy | 0.879 | 0.870 | 0.816 | |||||
| Test Accuracy | 0.875 | 0.878 | 0.819 | |||||
| Precision | 0.901 | 0.907 | 0.865 | |||||
| Recall (TPR) | 0.910 | 0.907 | 0.859 | |||||
| True Negative Rate | 0.808 | 0.821 | 0.742 | |||||
| Logistic Regression | True | Stable | 266 | 24 | 266 | 24 | 256 | 34 |
| Unstable | 29 | 122 | 31 | 120 | 34 | 117 | ||
| Train Accuracy | 0.897 | 0.88 | 0.826 | |||||
| Test Accuracy | 0.880 | 0.875 | 0.846 | |||||
| Precision | 0.902 | 0.896 | 0.883 | |||||
| Recall (TPR) | 0.917 | 0.917 | 0.883 | |||||
| True Negative Rate | 0.808 | 0.795 | 0.775 | |||||
| SVC | True | Stable | 280 | 10 | 270 | 20 | 280 | 10 |
| Unstable | 21 | 130 | 16 | 135 | 26 | 125 | ||
| Train Accuracy | 0.929 | 0.930 | 0.933 | |||||
| Test Accuracy | 0.930 | 0.918 | 0.918 | |||||
| Precision | 0.930 | 0.944 | 0.915 | |||||
| Recall (TPR) | 0.966 | 0.931 | 0.966 | |||||
| True Negative Rate | 0.861 | 0.894 | 0.828 | |||||
| Decision Tree | True | Stable | 278 | 12 | 275 | 15 | 283 | 7 |
| Unstable | 32 | 119 | 25 | 126 | 36 | 115 | ||
| Train Accuracy | 0.908 | 0.909 | 0.94 | |||||
| Test Accuracy | 0.900 | 0.909 | 0.902 | |||||
| Precision | 0.897 | 0.917 | 0.887 | |||||
| Recall (TPR) | 0.959 | 0.948 | 0.976 | |||||
| True Negative Rate | 0.788 | 0.834 | 0.762 | |||||
| Random Forest | True | Stable | 289 | 1 | 287 | 3 | 289 | 1 |
| Unstable | 25 | 126 | 19 | 132 | 17 | 134 | ||
| Train Accuracy | 0.956 | 0.951 | 0.956 | |||||
| Test Accuracy | 0.941 | 0.950 | 0.959 | |||||
| Precision | 0.920 | 0.938 | 0.944 | |||||
| Recall (TPR) | 0.997 | 0.990 | 0.997 | |||||
| True Negative Rate | 0.834 | 0.874 | 0.887 | |||||
| XGBoost | True | Stable | 289 | 1 | 285 | 5 | 287 | 3 |
| Unstable | 26 | 125 | 24 | 127 | 20 | 131 | ||
| Train Accuracy | 0.952 | 0.937 | 0.956 | |||||
| Test Accuracy | 0.939 | 0.934 | 0.948 | |||||
| Precision | 0.917 | 0.922 | 0.935 | |||||
| Recall (TPR) | 0.997 | 0.983 | 0.990 | |||||
| True Negative Rate | 0.828 | 0.841 | 0.868 | |||||
| LightGBM | True | Stable | 290 | 0 | 286 | 4 | 290 | 0 |
| Unstable | 9 | 142 | 12 | 139 | 14 | 137 | ||
| Train Accuracy | 0.969 | 0.968 | 0.972 | |||||
| Test Accuracy | 0.980 | 0.964 | 0.968 | |||||
| Precision | 0.970 | 0.960 | 0.954 | |||||
| Recall (TPR) | 1.000 | 0.986 | 1.000 | |||||
| True Negative Rate | 0.940 | 0.921 | 0.907 | |||||
| Multi-layer Perceptron | True | Stable | 282 | 8 | 279 | 11 | 265 | 25 |
| Unstable | 31 | 120 | 23 | 128 | 23 | 128 | ||
| Train Accuracy | 0.912 | 0.921 | 0.922 | |||||
| Test Accuracy | 0.912 | 0.923 | 0.891 | |||||
| Precision | 0.901 | 0.924 | 0.920 | |||||
| Recall (TPR) | 0.972 | 0.962 | 0.914 | |||||
| True Negative Rate | 0.795 | 0.848 | 0.848 | |||||
Figure 5Learning curve of hydraulic component in machine learning.