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

如何基于TensorFlow.call()实现时间序列多步平均基线模型

自定义多步平均基线模型实现

直接给出可运行的MyAverageBaseline类代码,核心逻辑是沿时间轴计算均值并保留维度,再重复指定步数得到预测结果:

import tensorflow as tf

OUT_STEPS = 10  # 替换为你的目标预测步数

class MyAverageBaseline(tf.keras.Model):
    def call(self, inputs):
        # inputs 输入格式: (batch_size, 输入时间步长, 特征数)
        # 沿时间轴(axis=1)计算均值,keepdims=True保留时间维度,得到格式(batch_size, 1, 特征数)
        time_axis_mean = tf.mean(inputs, axis=1, keepdims=True)
        # 将均值重复OUT_STEPS次,沿时间轴扩展,输出格式(batch_size, OUT_STEPS, 特征数)
        return tf.repeat(time_axis_mean, repeats=OUT_STEPS, axis=1)

关键细节说明

  • 必须设置keepdims=True:如果直接用tf.mean(inputs, axis=1)会丢失时间维度,得到(batch_size, 特征数)的张量,后续无法沿时间轴完成重复操作。
  • tf.repeat指定axis=1:确保沿时间轴扩展,输出的时间步数严格匹配OUT_STEPS,和教程中MultiStepLastBaseline、RepeatBaseline的输出格式完全一致。

格式验证示例

若输入张量格式为(32, 24, 3)(32个样本、24个输入时间步、3个特征),模型输出格式为(32, 10, 3),完全符合多步预测的输出要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 21:42:47