文章目录
- 1 问题分析
- 1.1 加载数据
- 1.2 时间序列预测场景
- 2 LSTM应用流程(窗口方法)
- 2.1 创建滞后特征
- 2.1.1 生成二维数据
- 2.1.2 生成三维数据
- 2.2 切分训练集和测试集
- 2.3 创建模型并训练
- 2.4 模型预测
- 2.5 解决方式
- 3 LSTM应用流程(多步方法)
- 3.1 创建滞后特征
- 3.2 切分数据集
- 3.3 训练模型
- 3.4 模型预测
- 3.5 可视化
- 3.5.1 平均值
- 3.5.2 第一个
- 3.5.3 最后一个
- 3.6 问题分析
- 3.7 解决方式
- 3.7.1 切分数据
- 3.7.2 模型训练
- 3.7.3 模型预测
- 4 参考附录
一般使用窗口和多步的方法构建数据集,但存在预测时会将未来值作为输入的问题。
1 问题分析
1.1 加载数据
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import LSTM, Denseimport matplotlib.pyplot as pltimport numpy as np
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
# 生成示例时间序列数据(模拟数据)
np.random.seed(