You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多变量LSTM模型预测结果缺乏波动性问题排查求助

多变量LSTM时间序列预测问题:结果平滑无起伏及模型架构疑问

我正在基于多变量LSTM模型开展时间序列预测任务,但遇到预测结果缺乏起伏、过于平滑的问题,尤其在第一个预测点之后表现明显。

模型架构

model.add(tf.keras.layers.InputLayer(input_shape=(60,25)))
model.add(LSTM(256, return_sequences=True))
model.add(tf.keras.layers.LayerNormalization())
model.add(Dropout(0.2))
model.add(LSTM(256, return_sequences=True))
model.add(tf.keras.layers.LayerNormalization())
model.add(Dropout(0.2))
model.add(LSTM(256, return_sequences=False))
model.add(tf.keras.layers.LayerNormalization())
model.add(Dropout(0.2))
model.add(Dense(30 * 3, activation=tf.keras.layers.LeakyReLU(alpha=0.1)))
model.add(Reshape([30, 3]))

数据集情况

  • 共670000行数据,包含25个特征
  • 任务逻辑:基于过去60个时间步的数据,预测未来30个时间步的3个目标特征
  • 数据划分:采用步长为1的滑动窗口,按70:20:10比例划分为训练集、验证集和测试集
  • 数据预处理:使用StandardScaler进行数据缩放,便于后续异常值检测
  • 预测效果对比:某一特征的预测值与真实值对比图如下:
    预测值与真实值对比图

核心疑问

我的目标是一次性预测3个特征各自的30个时间步值,请问LSTM最后几层的处理是否正确?

已尝试的解决方案

  • 超参数调优,涵盖:
    • 网络层数
    • 优化器(RMSprop、Adam、SGD)
    • LSTM/GRU单元数量
    • Dropout比率
    • 学习率(0.01、0.001、0.005)
    • 滑动窗口批量大小(64、128、256)
  • 前4层预热训练
  • 更换数据缩放方法(QuantileScaler、MinMaxScaler、PowerTransformer)

参考文档

TensorFlow官方LSTM层API文档

内容的提问来源于stack exchange,提问作者Pavol Krajkovič

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 19:43:20