我是深度学习模型的新手。这是我的第一篇文章,因此,如果您需要其他详细信息,请告诉我。
这是我的方法的一般摘要:
但是,预测结果与实际数据甚至还不接近。
通过批量大小和其他参数的一些更改,我仍然能够获得TREND(在这种情况下为向下),但无法获得数据的SHAPE(边缘,中间变化,绝对没有)。
是因为仅使用两个时间序列进行训练吗?我无法确切地找出问题所在。
模型(Bi-LSTM模型使用类似的代码):
model_lstm = Sequential()
model_lstm.add(LSTM(128, input_shape=(timesteps, 1), return_sequences= True))
model_lstm.add(Dropout(0.1))
model_lstm.add(LSTM(128, return_sequences= True))
model_lstm.add(Dropout(0.1))
model_lstm.add(LSTM(128, return_sequences= False))
model_lstm.add(Dropout(0.1))
model_lstm.add(Dense(1))
model_lstm.compile(loss = 'mean_squared_error', optimizer = optimizers.Adam(0.001))
timesteps = 5
start = cell_to_test[0:timesteps].reshape(1, timesteps, 1) # Has the initial data points
yhat = 1.0
y_curve_lstm = list(start.flatten()) # The list for storing the curve points
y_window = start # Window
用于预测单个点直到达到极限的循环:(我正在预测其曲线的像元数据的极限):
while len(y_curve_lstm) <= len(cell_to_test):
yhat = model_lstm.predict(y_window)
yhat = float(yhat)
y_curve_lstm.append(yhat)
y_window = list(y_window.flatten())
y_window.append(yhat)
y_window.remove(y_window[0])
y_window = np.array(y_window).reshape(1, timesteps, 1)
#print(yhat)