赞
踩
以美国航空航天局提供的航空涡扇发动机退化数据集为研究对象,该数据集包含多台发动机从启动到失效期间多个运行周期的多源传感器时序状态监测数据,它们共同表征了发动机的性能退化情况。为减小计算成本,需要对原始多源传感器监测数据进行数据筛选,剔除与发动机性能退化情况无关的传感器数据项,保留有用数据,为对多源传感器数据进行有效甄别,考虑综合多种数据筛选方式,以保证筛选结果的准确性。
主要内容如下:
Maximum life chart and engine life distribution chart for each unit.
Correlation coefficient chart between sensors and RUL.
Line chart showing the relationship between sensors and RUL for each engine.
Value distribution chart for each sensor.
Based on the line chart showing the relationship between sensors and engine RUL, sensors 1, 5, 10, 16, 18, and 19 are found to be constant. Hence, these features are removed. Finally, the data is normalized.
"Rolling mean feature" is added to the data, representing the average value of features over 10 time periods.
Seven models are built: Linear regression, Light GBM, Random Forest, KNN, XGBoost, SVR, and Extra Tree.
MAE, RMSE, and R2 are used as evaluation metrics. SVR performs the best with an R2 of 0.61 and RMSE = 25.7.
The time window length is set to 30, and the shift length is set to 1. The training and test data are processed to be in a three-dimensional format for input to the models.
Six deep learning models are built: CNN, LSTM, Stacked LSTM, Bi-LSTM, GRU, and a hybrid model combining CNN and LSTM.
Convergence charts and evaluation of test data predictions are plotted. Each model has an R2 higher than 0.85, with Bi-LSTM achieving an R2 of 0.89 and RMSE of 13.5.
机器学习模型所用模块:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import random
import warnings
warnings.filterwarnings('ignore')
from sklearn.metrics import mean_squared_error, r2_score,mean_absolute_error
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler,MinMaxScaler
from sklearn.linear_model import LinearRegression
from sklearn.svm import SVR
from sklearn.ensemble import RandomForestRegressor,ExtraTreesRegressor
from sklearn.neighbors import KNeighborsRegressor
from xgboost import XGBRegressor
from lightgbm import LGBMRegressor
结果如下:
深度学习所用模块:
- import pandas as pd
- import numpy as np
- import matplotlib.pyplot as plt
- import seaborn as sns
- import random
- import time
- import warnings
- warnings.filterwarnings('ignore')
-
- from sklearn.metrics import mean_squared_error, r2_score, mean_absolute_error
- from sklearn.model_selection import train_test_split
- from sklearn.preprocessing import StandardScaler,MinMaxScaler
- #from google.colab import drive
- #drive.mount('/content/drive')
-
- # model
- import tensorflow as tf
- from tensorflow import keras
- from tensorflow.keras import layers
- from tensorflow.keras.models import Sequential
- from tensorflow.keras.layers import Dense, LSTM, Conv1D
- from tensorflow.keras.layers import BatchNormalization, Dropout
- from tensorflow.keras.layers import TimeDistributed, Flatten
- from tensorflow.keras.layers.experimental import preprocessing
- from tensorflow.keras.optimizers import Adam
- 完整代码可通过知乎学术咨询获得:https://www.zhihu.com/consult/people/792359672131756032?isMe=1
- from tensorflow.keras.callbacks import ReduceLROnPlateau,EarlyStopping
完整代码可通过知乎学术咨询获得.
工学博士,担任《Mechanical System and Signal Processing》《中国电机工程学报》《控制与决策》等期刊审稿专家,擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。