各位佬,想请教一个问题,是关于深度学习rul线性打标签的问题
就是假设某一个发动机单元的周期为200,滑动窗口为30,静态固定值在125,那我根据滑动窗口生成的标签为171个rul标签,再用这个标签进行预测,生成171个数据,但实际数据是对不齐的,这样前三十个周期是没有数据的,但我看很多论文上面,前三十个周期是有数据的,我一直理解不了这里面是怎么进行的,请教各位佬,感激不尽

各位佬,想请教一个问题,是关于深度学习rul线性打标签的问题
就是假设某一个发动机单元的周期为200,滑动窗口为30,静态固定值在125,那我根据滑动窗口生成的标签为171个rul标签,再用这个标签进行预测,生成171个数据,但实际数据是对不齐的,这样前三十个周期是没有数据的,但我看很多论文上面,前三十个周期是有数据的,我一直理解不了这里面是怎么进行的,请教各位佬,感激不尽

阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
你遇到的问题是关于使用 CMAPSS 数据集进行寿命预测时,打标签出现的问题。具体来说,你的问题是关于如何生成 RUL(Remaining Useful Life)标签。
根据你的描述,你使用滑动窗口法生成了 171 个 RUL 标签,但是你遇到了问题。下面是一些可能的解决方案:
以下是一个使用 LSTM 模型进行 RUL 预测的示例代码:
import pandas as pd
import numpy as np
from sklearn.preprocessing import MinMaxScaler
from keras.models import Sequential
from keras.layers import LSTM, Dense
# 加载数据
data = pd.read_csv('cmapss_data.csv')
# 将数据转换为 NumPy 数组
data = data.values
# 将数据标准化
scaler = MinMaxScaler()
data = scaler.fit_transform(data)
# 将数据分割为训练集和测试集
train_size = int(0.8 * len(data))
train_data, test_data = data[0:train_size], data[train_size:]
# 定义 LSTM 模型
model = Sequential()
model.add(LSTM(units=50, return_sequences=True, input_shape=(30, 1)))
model.add(Dense(1))
model.compile(loss='mean_squared_error', optimizer='adam')
# 训练模型
model.fit(train_data, epochs=100, batch_size=32, verbose=2)
# 生成 RUL 标签
rul_labels = []
for i in range(len(test_data)):
x = test_data[i]
y = model.predict(x)
rul_labels.append(y[0])
# 评估模型性能
mse = np.mean((rul_labels - np.arange(171)) ** 2)
print('MSE:', mse)
这个示例代码使用 LSTM 模型对 CMAPSS 数据集进行 RUL 预测,并使用滑动窗口法生成 RUL 标签。你可以根据你的需求进行修改和调整。