我正在将RNN与LSTM结合使用以预测某台设备的效率。给定数据集,我的工作很敏感,因此不能放在这里。但是,这里有一个类似的数据集:https://www.kaggle.com/nafisur/dataset-for-predictive-maintenance。
PM_train.txt
显示了生命中不同时间的各种传感器的数据:
1 1 0.0023 0.0003 100.0 518.67 643.02 1585.29 1398.21 14.62 21.61 553.90 2388.04 9050.17 1.30 47.20 521.72 2388.03 8125.55 8.4052 0.03 392 2388 100.00 38.86 23.3735
1 2 -0.0027 -0.0003 100.0 518.67 641.71 1588.45 1395.42 14.62 21.61 554.85 2388.01 9054.42 1.30 47.50 522.16 2388.06 8139.62 8.3803 0.03 393 2388 100.00 39.02 23.3916
1 3 0.0003 0.0001 100.0 518.67 642.46 1586.94 1401.34 14.62 21.61 554.11 2388.05 9056.96 1.30 47.50 521.97 2388.03 8130.10 8.4441 0.03 393 2388 100.00 39.08 23.4166
1 4 0.0042 0.0000 100.0 518.67 642.44 1584.12 1406.42 14.62 21.61 554.07 2388.03 9045.29 1.30 47.28 521.38 2388.05 8132.90 8.3917 0.03 391 2388 100.00 39.00 23.3737
1 5 0.0014 0.0000 100.0 518.67 642.51 1587.19 1401.92 14.62 21.61 554.16 2388.01 9044.55 1.30 47.31 522.15 2388.03 8129.54 8.4031 0.03 390 2388 100.00 38.99 23.4130
1 6 0.0012 0.0003 100.0 518.67 642.11 1579.12 1395.13 14.62 21.61 554.22 2388.00 9050.96 1.30 47.26 521.92 2388.08 8127.46 8.4238 0.03 392 2388 100.00 38.91 23.3467
构建模型后,我将使用不同设备的功能并预测效率(将来t = 1个月,2、3、6、12…)。
理想地,当我预测某台设备的效率时,它(=效率)应该随时间降低。但是,当我使用模型时,对于大约15%的人口,效率首先增加(在t = 1个月时),然后开始下降。
我的参数数量不断变化,尝试了不同的损失函数,学习率,激活函数等。但是,似乎没有任何工作。 该怎么办?怎么了?
Vanilla RNN/LSTM: (I have tried a lot of parameters on this)
model = Sequential()
model.add(LSTM(units = 12, return_sequences = True, input_shape=(X_train.shape[1], X_train.shape[2])))
model.add(Dropout(0.15))
model.add(LSTM(units = 6))
model.add(Dropout(0.15))
model.add(Dense(units = 1))
model.compile(optimizer = 'adam', loss = 'mean_squared_error')
model.fit(X_train, Y_train, batch_size = 128, epochs = 100)