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

Keras LSTM时间序列回溯预测:输入形状不匹配问题求助

LSTM输入格式适配与回溯预测解决方案

一、输入形状问题排查与修正

LSTM要求输入为**(batch_size, timesteps, features)**的3D张量,你当前的2D输入(batch size, inputs)完全不符合要求,必须严格对齐训练阶段的维度逻辑:

  1. 核心错误点
    不要直接将单条2D数据强行reshape为(1,24,10)——这会把10个特征错误拆分为24个时间步,完全违背时序数据的逻辑。正确的输入应该是包含24个连续时间步、每个时间步10个特征的序列。

  2. 正确维度转换代码

    • 单样本预测:若你的原始输入是24个时间步的特征序列(形状(24,10)),转换为模型要求的格式:
      # 原始输入:24步,每步10个特征
      input_data = raw_input.reshape(1, 24, 10)  # 补batch维度,最终形状(1,24,10)
      
    • 批量预测:若有N个回溯样本,每个样本是24步10特征的序列:
      input_data = raw_input.reshape(N, 24, 10)
      

二、回溯预测实现(处理NaN目标变量)

仅用3年数据预测40年属于多步时序预测,针对目标变量Return、Supply为NaN的情况,采用递归预测逻辑:

  1. 递归预测核心流程

    • 用训练数据的最后24步作为起始输入序列
    • 每次预测出下一个时间步的Return、Supply
    • 将预测结果补充到输入序列末尾,同时丢弃最前面的时间步,循环执行直到完成40年的预测
  2. 代码示例(含NaN处理)

    import numpy as np
    import tensorflow as tf
    
    # 假设model是训练完成的LSTM模型,输入形状(None,24,10),输出为(Return, Supply)两个值
    # 初始化起始输入:取训练数据最后24步,转换为模型要求的格式
    current_input = train_data[-24:].reshape(1, 24, 10)
    predictions = []
    
    # 按时间粒度计算总预测步数:假设每年12个时间步,40年共480步
    total_steps = 40 * 12
    
    for _ in range(total_steps):
        # 预测当前输入对应的下一个时间步结果
        pred = model.predict(current_input, verbose=0)
        predictions.append(pred[0])
        
        # 构造新的时间步特征:填充预测的Return、Supply,其他特征用前一步值补全
        new_step = np.zeros((1, 1, 10))
        new_step[0, 0, -2:] = pred  # 假设输入特征最后两位是Return、Supply
        new_step[0, 0, :-2] = current_input[0, -1, :-2]  # 其他特征沿用前一步数据
        
        # 更新输入序列:去掉最旧的1步,加入新预测的步
        current_input = np.concatenate([current_input[:, 1:, :], new_step], axis=1)
    
    # 将预测结果转为数组
    predictions = np.array(predictions)
    

    注:若输入特征存在NaN,需先做填充处理(前向填充、均值填充均可),LSTM无法处理含NaN的输入数据。

三、形状不匹配报错快速排查

若仍报维度错误,按以下步骤验证:

  • 执行model.summary(),确认输入层定义(比如Input(shape=(24,10)))
  • 打印输入数据形状:print(input_data.shape),确保与输入层要求的(batch_size,24,10)完全一致
  • 若输入无batch维度,用np.expand_dims(input_data, axis=0)补充,避免遗漏维度

内容的提问来源于stack exchange,提问作者ronaldhoward33

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 15:06:22