python - 如何从 LSTM 进行预测并使用 python 绘制它?
问题描述
我仍然是使用LSTM制作预测时间序列数据的初学者。我已经成功地使用来自时间序列的LSTM制作了该模型,以使用本教程进行预测:
https://towardsdatascience.com/time-series-analysis-visualization-forecasting-with-lstm-77a905180eba
现在我想要的是使用该模型:
- 预测新值
matplotlib
并使用例如绘制这些值:
如果我想要接下来 4 天的值,请获取它并绘制在曲线上。我已经搜索了很多但没有找到下面的结果是模型代码和我绘制的曲线谢谢
model = Sequential()
model.add(LSTM(100, input_shape=(X_train.shape[1], X_train.shape[2])))
model.add(Dropout(0.2))
model.add(Dense(1))
model.compile(loss='mean_squared_error', optimizer='adam')
history = model.fit(X_train, Y_train, epochs=20, batch_size=70, validation_data=(X_test, Y_test),
callbacks=[EarlyStopping(monitor='val_loss', patience=10)], verbose=1, shuffle=False)
model.summary()
train_predict = model.predict(X_train)
test_predict = model.predict(X_test)
# invert predictions
train_predict = scaler.inverse_transform(train_predict)
Y_train = scaler.inverse_transform([Y_train])
test_predict = scaler.inverse_transform(test_predict)
Y_test = scaler.inverse_transform([Y_test])
print('Train Mean Absolute Error:', mean_absolute_error(Y_train[0], train_predict[:,0]))
print('Train Root Mean Squared Error:',np.sqrt(mean_squared_error(Y_train[0], train_predict[:,0])))
print('Test Mean Absolute Error:', mean_absolute_error(Y_test[0], test_predict[:,0]))
print('Test Root Mean Squared Error:',np.sqrt(mean_squared_error(Y_test[0], test_predict[:,0])))
然后用于绘制结果(当我想继续曲线以预测下一个时间段时)
aa=[x for x in range(200)]
plt.figure(figsize=(8,4))
plt.plot(aa, Y_test[0][:200], marker='.', label="actual")
plt.plot(aa, test_predict[:,0][:200], 'r', label="prediction")
# plt.tick_params(left=False, labelleft=True) #remove ticks
plt.tight_layout()
sns.despine(top=True)
plt.subplots_adjust(left=0.07)
plt.ylabel('Global_active_power', size=15)
plt.xlabel('Time step', size=30)
plt.legend(fontsize=15)
plt.show();
解决方案
推荐阅读
- r - 绘制概率 P(Xn=s) 如何随时间变化?
- docker - 发布几个端口
- android - 华为 Map Kit 崩溃:MapsCore 未初始化
- css - 随机图像幻灯片,图像过渡淡入/淡出?
- swiftui - LocationManager 坐标在 Watch 应用上出现时不可用
- function - Flutter - 使用动态函数来控制 UI
- heroku - 将 Flask 应用程序部署到 Heroku 时出现奇怪的“is_xhr”错误
- google-sheets - 在日期数组中搜索最低/最高值
- python - 类型对象“SGP30”没有属性“关闭”
- android - Android Studio - 从 EditText 视图获取输入