文章目录
- 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, Dense
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
# 生成示例时间序列数据(模拟数据)
np.random.seed(